/* Senegal Week in Qatar 2026 — charte SWQ Brand */
:root {
  --maroon: #8A1538; --green: #00853F; --gold: #FDEF42; --red: #E31B23;
  --night: #0E0E10; --sand: #F4EDE4; --white: #FFFFFF; --stone: #6B6460;
  --display: 'Archivo Black', 'Archivo', system-ui, sans-serif;
  --head: 'Archivo', system-ui, sans-serif;
  --body: 'Inter', system-ui, sans-serif;
  --wrap: 1200px; --gutter: 24px; --radius: 24px;
  --weave-white: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cg fill='%23FFFFFF'%3E%3Cpath fill-rule='evenodd' d='M40 8L72 40L40 72L8 40Z M40 17L17 40L40 63L63 40Z'/%3E%3Cpath d='M40 32L48 40L40 48L32 40Z'/%3E%3Cpath d='M0 0h6L0 6Z M80 0v6L74 0Z M0 80v-6L6 80Z M80 80h-6L80 74Z'/%3E%3C/g%3E%3C/svg%3E");
  --weave-gold: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cg fill='%23FDEF42'%3E%3Cpath fill-rule='evenodd' d='M40 8L72 40L40 72L8 40Z M40 17L17 40L40 63L63 40Z'/%3E%3Cpath d='M40 32L48 40L40 48L32 40Z'/%3E%3Cpath d='M0 0h6L0 6Z M80 0v6L74 0Z M0 80v-6L6 80Z M80 80h-6L80 74Z'/%3E%3C/g%3E%3C/svg%3E");
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--body); color: var(--night); background: var(--white); line-height: 1.55; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
html[dir=rtl] body, html[dir=rtl] .h2, html[dir=rtl] .hero__title, html[dir=rtl] .btn, html[dir=rtl] h3, html[dir=rtl] .eyebrow { font-family: 'Cairo', var(--body); letter-spacing: 0 !important; }
html[dir=rtl] .h2, html[dir=rtl] .hero__title { font-weight: 800; line-height: 1.3; }
html[dir=rtl] .stat b, html[dir=rtl] .bento__num { font-family: 'Cairo', var(--body); font-weight: 800; letter-spacing: 0; }
html[dir=rtl] .bento__num { line-height: 1.15; }
img { max-width: 100%; display: block; }
a { color: inherit; }
button { font: inherit; cursor: pointer; }
.wrap { width: min(var(--wrap), 100% - 2 * var(--gutter)); margin-inline: auto; }
.section { padding-block: 112px; }
.section--tight { padding-block: 72px; }
.center { text-align: center; }
.skip { position: absolute; inset-inline-start: -999px; top: 8px; z-index: 100; background: var(--gold); padding: 8px 14px; border-radius: 8px; }
.skip:focus { inset-inline-start: 8px; }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }

/* ---------- typography ---------- */
.eyebrow { font: 700 13px/1.3 var(--head); letter-spacing: .2em; text-transform: uppercase; margin: 0 0 14px; }
.eyebrow--gold { color: var(--gold); } .eyebrow--maroon { color: var(--maroon); }
.h2 { font: 400 clamp(34px, 4.6vw, 56px)/1.04 var(--display); letter-spacing: -.02em; margin: 0 0 18px; }
.h2--light { color: var(--white); } .h2--sm { font-size: clamp(30px, 3.4vw, 40px); }
.h3 { font: 800 24px/1.2 var(--head); margin: 0 0 6px; }
.lead { font-size: 19px; color: var(--stone); max-width: 62ch; margin: 0 0 28px; }
.lead--light { color: rgba(255,255,255,.82); }

/* ---------- buttons ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 15px 28px; border-radius: 999px; font: 700 16px/1 var(--head); text-decoration: none; border: 1.5px solid transparent; transition: transform .15s, background .15s, box-shadow .15s; white-space: nowrap; }
.btn:hover { transform: translateY(-1px); }
.btn--gold { background: var(--gold); color: var(--night); } .btn--gold:hover { box-shadow: 0 8px 24px rgba(253,239,66,.35); }
.btn--maroon { background: var(--maroon); color: var(--white); } .btn--maroon:hover { background: #a0193f; }
.btn--outline { border-color: var(--white); color: var(--white); background: transparent; } .btn--outline:hover { background: rgba(255,255,255,.1); }
.btn--sm { padding: 11px 20px; font-size: 15px; }
.btn--block { width: 100%; }
.btn:disabled { opacity: .6; cursor: wait; }

/* ---------- patterns ---------- */
.weave-host { position: relative; isolation: isolate; overflow: hidden; }
.weave { position: absolute; inset: 0; z-index: -1; pointer-events: none; background-size: 80px 80px; opacity: .08; }
.weave--white { background-image: var(--weave-white); }
.weave--gold { background-image: var(--weave-gold); opacity: .12; }
.weave--faint { opacity: .035; }
.sep { height: 22px; background-repeat: repeat-x; background-size: 24px 22px; }
.sep--night-on-white { background-color: var(--white); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='22'%3E%3Cpath d='M0 0H24L12 22Z' fill='%230E0E10'/%3E%3C/svg%3E"); }
.sep--white-on-night { background-color: var(--night); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='22'%3E%3Cpath d='M0 0H24L12 22Z' fill='%23FFFFFF'/%3E%3C/svg%3E"); }
.sep--sand-on-night { background-color: var(--night); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='22'%3E%3Cpath d='M0 0H24L12 22Z' fill='%23F4EDE4'/%3E%3C/svg%3E"); }
.tri { display: block; width: 96px; height: 4px; margin-top: 6px; background: linear-gradient(90deg, var(--green) 33.3%, var(--gold) 33.3% 66.6%, var(--red) 66.6%); text-decoration: none; }

/* ---------- nav ---------- */
.nav { position: sticky; top: 0; z-index: 50; background: var(--night); color: var(--white); transition: box-shadow .2s; }
.nav.is-scrolled { box-shadow: 0 6px 24px rgba(0,0,0,.35); }
.nav__inner { display: flex; align-items: center; gap: 24px; min-height: 76px; }
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; flex-shrink: 0; }
.brand img { border-radius: 9px; }
.brand__txt { display: flex; flex-direction: column; line-height: 1; }
.brand__txt b { font: 400 21px/1 var(--display); letter-spacing: -.02em; }
.brand__txt i { font: 700 10.5px/1 var(--head); font-style: normal; letter-spacing: .14em; color: var(--gold); margin-top: 4px; }
.brand--lg .brand__txt b { font-size: 30px; } .brand--lg .brand__txt i { font-size: 14px; } .brand--lg img { border-radius: 13px; }
.nav__links { display: flex; gap: 26px; margin-inline-start: auto; }
.nav__links a { text-decoration: none; font-size: 15.5px; font-weight: 500; opacity: .85; }
.nav__links a:hover { opacity: 1; color: var(--gold); }
.nav__right { display: flex; align-items: center; gap: 16px; }
.lang { display: flex; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; padding: 3px; }
.lang button { background: none; border: 0; color: var(--white); font: 600 13px/1 var(--body); padding: 7px 10px; border-radius: 999px; }
.lang button.ar { font-family: 'Cairo', var(--body); }
.lang button[aria-pressed=true] { background: var(--gold); color: var(--night); }
.burger { display: none; background: none; border: 0; width: 44px; height: 44px; padding: 10px; flex-direction: column; justify-content: space-between; }
.burger span { display: block; height: 2px; background: var(--white); border-radius: 2px; }

/* ---------- hero ---------- */
.hero { position: relative; min-height: min(820px, 92vh); color: var(--white); background: var(--night); overflow: hidden; display: flex; }
.hero__slides, .hero__slide, .hero__shade, .hero__weave { position: absolute; inset: 0; }
.hero__slide { background-size: cover; background-position: center; opacity: 0; transform: scale(1.04); transition: opacity 1s ease, transform 7s ease; }
.hero__slide.is-active { opacity: 1; transform: scale(1); }
.hero__shade { background: linear-gradient(90deg, rgba(14,14,16,.94) 0%, rgba(14,14,16,.72) 48%, rgba(14,14,16,.14) 100%), linear-gradient(180deg, transparent 55%, rgba(14,14,16,.75) 100%); }
html[dir=rtl] .hero__shade { background: linear-gradient(270deg, rgba(14,14,16,.94) 0%, rgba(14,14,16,.72) 48%, rgba(14,14,16,.14) 100%), linear-gradient(180deg, transparent 55%, rgba(14,14,16,.75) 100%); }
.hero__weave { z-index: 0; opacity: .06; -webkit-mask-image: linear-gradient(90deg, #000 30%, transparent 60%); mask-image: linear-gradient(90deg, #000 30%, transparent 60%); }
html[dir=rtl] .hero__weave { -webkit-mask-image: linear-gradient(270deg, #000 30%, transparent 60%); mask-image: linear-gradient(270deg, #000 30%, transparent 60%); }
.hero__content { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; padding-block: 88px 120px; }
.hero__text { max-width: 760px; animation: fade .7s ease both; }
@keyframes fade { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.hero__title { font: 400 clamp(44px, 7vw, 84px)/.98 var(--display); letter-spacing: -.035em; margin: 0 0 24px; }
.hero__lead { font-size: 20px; max-width: 600px; color: rgba(255,255,255,.86); margin: 0 0 32px; }
.hero__ctas { display: flex; flex-wrap: wrap; gap: 14px; }
.countdown { display: flex; gap: 10px; margin-top: 36px; }
.countdown div { min-width: 76px; text-align: center; padding: 12px 10px; border-radius: 14px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); backdrop-filter: blur(6px); }
.countdown b { display: block; font: 400 32px/1 var(--display); }
.countdown span { font: 700 10.5px/1 var(--head); color: var(--gold); letter-spacing: .14em; text-transform: uppercase; }
.countdown__live { font: 800 20px var(--head); color: var(--gold); margin: 0; }
.hero__controls { position: absolute; inset-inline: 0; bottom: 48px; display: flex; align-items: center; gap: 16px; }
.dots { display: flex; gap: 8px; }
.dots button { width: 26px; height: 6px; border: 0; border-radius: 3px; background: rgba(255,255,255,.35); padding: 0; transition: width .3s, background .3s; }
.dots button[aria-selected=true] { width: 56px; background: var(--gold); }
.hero__count { font: 700 13px var(--head); letter-spacing: .12em; }
.arrows { display: flex; gap: 10px; margin-inline-start: auto; }
.arrow { width: 54px; height: 54px; border-radius: 50%; border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.08); display: grid; place-items: center; color: var(--white); }
.arrow--strong { background: rgba(255,255,255,.18); }
.arrow:hover { background: var(--gold); color: var(--night); border-color: var(--gold); }
.arrow svg { fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
html[dir=rtl] .arrow svg { transform: scaleX(-1); }
.hero__cap { position: absolute; inset-inline-end: 0; bottom: 14px; margin: 0; font-size: 12px; color: rgba(255,255,255,.6); }

/* ---------- about ---------- */
.about { display: grid; grid-template-columns: 1fr 1.15fr; gap: 72px; align-items: center; }
.objectives { list-style: none; padding: 0; margin: 0; display: grid; gap: 18px; }
.objectives li { display: flex; gap: 18px; align-items: center; }
.objectives b { font: 800 19px/1.2 var(--head); } .objectives p { margin: 2px 0 0; color: var(--stone); font-size: 15.5px; }
.num { flex: 0 0 52px; height: 52px; border-radius: 14px; display: grid; place-items: center; font: 400 18px var(--display); color: var(--white); }
.num--maroon { background: var(--maroon); } .num--green { background: var(--green); } .num--gold { background: var(--gold); color: var(--night); }
.bento { display: grid; gap: 20px; }
.bento__big { background: var(--maroon); color: var(--white); border-radius: 28px; padding: 40px; min-height: 300px; display: flex; flex-direction: column; justify-content: flex-end; }
.bento__big p:last-child { margin: 0; max-width: 460px; opacity: .88; font-weight: 500; }
.bento__num { font: 400 clamp(64px, 8vw, 104px)/.95 var(--display); letter-spacing: -.04em; margin: 0 0 8px; }
.bento__row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.stat { border-radius: 24px; padding: 26px; min-height: 220px; display: flex; flex-direction: column; justify-content: space-between; }
.stat s { width: 36px; height: 6px; border-radius: 3px; display: block; }
.stat b { display: block; font: 400 clamp(26px, 2.6vw, 36px)/1 var(--display); letter-spacing: -.02em; margin-top: auto; white-space: nowrap; }
.stat span { font-size: 14.5px; font-weight: 500; opacity: .85; margin-top: 6px; }
.stat--green { background: var(--green); color: var(--white); } .stat--green s { background: var(--gold); }
.stat--sand { background: var(--sand); } .stat--sand s { background: var(--maroon); }
.stat--night { background: var(--night); color: var(--white); } .stat--night s { background: var(--gold); }

/* ---------- programme ---------- */
.section--dark { background: var(--night); color: var(--white); }
.programme__grid { display: grid; grid-template-columns: 380px 1fr; gap: 64px; align-items: start; }
.daycard { position: sticky; top: 104px; background: var(--maroon); border-radius: 28px; padding: 40px; display: grid; gap: 14px; }
.daycard__num { font: 400 170px/.85 var(--display); letter-spacing: -.06em; margin: 0; }
.daycard__month { font: 400 28px/1 var(--display); margin: 0; }
html[dir=rtl] .daycard__month { font-family: 'Cairo'; font-weight: 800; }
.daycard hr { border: 0; border-top: 1px solid rgba(255,255,255,.25); width: 100%; margin: 8px 0; }
.daycard dl { margin: 0 0 8px; display: grid; gap: 4px; }
.daycard dt { font: 700 11.5px var(--head); color: var(--gold); letter-spacing: .14em; text-transform: uppercase; margin-top: 8px; }
.daycard dd { margin: 0; font-weight: 600; }
.filters { display: flex; flex-wrap: wrap; gap: 10px; margin: 6px 0 36px; }
.chip { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px; border: 1px solid rgba(255,255,255,.22); background: transparent; color: var(--white); font-size: 14px; font-weight: 500; }
.chip i { width: 9px; height: 9px; border-radius: 50%; background: var(--white); }
.chip--forum i { background: var(--maroon); } .chip--b2b i { background: var(--green); } .chip--expo i { background: var(--gold); } .chip--culture i { background: var(--red); }
.chip[aria-pressed=true] { background: var(--white); color: var(--night); }
.tl-group { margin-bottom: 28px; }
.tl-group__label { font: 700 12px var(--head); letter-spacing: .24em; text-transform: uppercase; opacity: .55; margin: 0 0 12px; }
.tl { display: grid; grid-template-columns: 64px 20px 1fr; gap: 18px; }
.tl time { font: 800 18px/1 var(--head); color: var(--gold); padding-top: 22px; }
.tl__rail { position: relative; display: flex; justify-content: center; }
.tl__rail::before { content: ''; position: absolute; top: 0; bottom: 0; width: 2px; background: rgba(255,255,255,.14); }
.tl__rail i { position: relative; margin-top: 24px; width: 14px; height: 14px; border-radius: 50%; background: var(--c); box-shadow: 0 0 0 4px var(--night); }
.tl__card { background: rgba(255,255,255,.06); border-radius: 16px; padding: 18px 22px; margin-bottom: 12px; border-inline-start: 5px solid var(--c); }
.tl__top { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.tl__top b { font: 800 20px/1.25 var(--head); }
.tl__top em { font: 700 11px var(--head); font-style: normal; letter-spacing: .12em; text-transform: uppercase; padding: 6px 12px; border-radius: 999px; background: var(--c); color: var(--fg, var(--white)); white-space: nowrap; }
.tl__card p { margin: 6px 0 0; color: rgba(255,255,255,.7); font-size: 15.5px; }
.tl--accueil { --c: var(--white); --fg: var(--night); } .tl--forum { --c: var(--maroon); } .tl--b2b { --c: var(--green); } .tl--expo { --c: var(--gold); --fg: var(--night); } .tl--culture { --c: var(--red); }

/* ---------- sectors ---------- */
.sectors { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 16px; }
.sector { background: var(--sand); border-radius: 20px; padding: 28px; min-height: 240px; display: flex; flex-direction: column; transition: transform .2s, box-shadow .2s; }
.sector:hover { transform: translateY(-4px); box-shadow: 0 16px 32px rgba(138,21,56,.12); }
.sector__n { font: 400 44px/1 var(--display); color: var(--maroon); }
.bar { width: 48px; height: 6px; border-radius: 3px; margin: 16px 0 auto; display: block; }
.bar--green { background: var(--green); } .bar--maroon { background: var(--maroon); }
.sector h3 { font: 800 22px/1.2 var(--head); margin: 24px 0 6px; }
.sector p { margin: 0; color: var(--stone); font-size: 15px; }

/* ---------- speakers ---------- */
.speakers { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.speaker__photo { aspect-ratio: 282/320; border-radius: 20px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.15); display: grid; place-items: center; margin-bottom: 16px; }
.speaker__photo img { width: 64px; opacity: .25; filter: grayscale(1); border-radius: 12px; }
.speaker h3 { font: 800 21px var(--head); margin: 0 0 4px; }
.speaker p { margin: 0; color: rgba(255,255,255,.7); font-size: 15px; }

/* ---------- b2b ---------- */
.b2b { background: var(--maroon); color: var(--white); }
.b2b .weave { opacity: .06; }
.b2b__grid { display: grid; grid-template-columns: 1fr 520px; gap: 80px; align-items: center; }
.bullets { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.bullets li { display: flex; gap: 12px; align-items: center; font-weight: 500; font-size: 17px; }
.bullets li::before { content: ''; flex: 0 0 10px; height: 10px; border-radius: 50%; background: var(--gold); }
.card { background: var(--white); color: var(--night); border-radius: 24px; padding: 40px; box-shadow: 0 30px 60px rgba(0,0,0,.18); }

/* ---------- forms ---------- */
.form { display: grid; gap: 14px; }
.form label { display: grid; gap: 6px; font-size: 14px; font-weight: 600; }
.form input:not([type=checkbox]), .form select, .form textarea { width: 100%; font: 400 16px var(--body); color: var(--night); background: var(--sand); border: 1.5px solid transparent; border-radius: 12px; padding: 13px 16px; }
.form textarea { resize: vertical; }
.form input:focus, .form select:focus, .form textarea:focus { outline: none; border-color: var(--maroon); background: var(--white); }
.form label.is-invalid input, .form label.is-invalid select { border-color: var(--red); }
.form label.is-invalid.consent { color: var(--red); }
.form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form fieldset { border: 0; padding: 0; margin: 4px 0 0; }
.form legend { font-size: 14px; font-weight: 600; margin-bottom: 8px; }
.checks { display: flex; flex-wrap: wrap; gap: 8px; }
.check { display: inline-flex !important; grid-auto-flow: column; align-items: center; gap: 8px !important; padding: 8px 14px; background: var(--sand); border-radius: 999px; font-weight: 500 !important; cursor: pointer; }
.check input, .consent input { accent-color: var(--maroon); width: 18px; height: 18px; }
.consent { display: flex !important; align-items: flex-start; gap: 10px !important; font-weight: 400 !important; color: var(--stone); }
.hp { position: absolute; inset-inline-start: -9999px; width: 1px; height: 1px; opacity: 0; }
.form__msg { margin: 0; font-size: 14.5px; min-height: 1.2em; }
.form__msg.is-ok { color: var(--green); font-weight: 600; } .form__msg.is-error { color: var(--red); font-weight: 600; }

/* ---------- duo ---------- */
.sandbg { background: var(--sand); }
.duo { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.duo__card { background: var(--white); border-radius: 28px; padding: 48px; min-height: 440px; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; gap: 24px; }
.duo__card--dark { background: var(--night); color: var(--white); }

/* ---------- register ---------- */
.register { display: grid; grid-template-columns: 1fr 620px; gap: 72px; align-items: start; }
.register__badge { border-radius: 26px; margin-top: 12px; box-shadow: 0 20px 40px rgba(138,21,56,.18); }
.form--light { box-shadow: 0 24px 60px rgba(14,14,16,.08); border: 1px solid #eee5da; }

/* ---------- infos ---------- */
.infos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 16px 0 24px; }
.info { background: var(--sand); border-radius: 20px; padding: 32px; }
.info h3 { font: 800 21px var(--head); color: var(--maroon); margin: 0 0 10px; }
.info p { margin: 0; font-weight: 500; }
.map { border-radius: 24px; overflow: hidden; background: var(--sand); aspect-ratio: 1200/380; }
.map iframe { width: 100%; height: 100%; border: 0; display: block; filter: saturate(.85); }

/* ---------- partners ---------- */
.partners { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin-top: 12px; }
.partners span { width: 180px; height: 84px; display: grid; place-items: center; padding: 10px; background: var(--white); border-radius: 14px; font: 700 14px/1.3 var(--head); color: var(--stone); text-align: center; }

/* ---------- footer ---------- */
.footer { background: var(--night); color: var(--white); padding-block: 72px 32px; }
.footer__top { display: flex; justify-content: space-between; gap: 48px; flex-wrap: wrap; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,.15); }
.footer__cols { display: flex; gap: 56px; flex-wrap: wrap; }
.footer__cols div { max-width: 260px; }
.footer h4 { font: 700 12px var(--head); color: var(--gold); letter-spacing: .16em; text-transform: uppercase; margin: 0 0 10px; }
.footer p { margin: 0; color: rgba(255,255,255,.78); font-size: 15px; }
.footer__bottom { display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding-top: 24px; }
.footer__bottom p { font-size: 13px; color: rgba(255,255,255,.55); }
.footer__credits { max-width: 640px; }

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
  .nav__links { gap: 18px; } .nav__links a { font-size: 14.5px; }
  .about, .b2b__grid, .register { grid-template-columns: 1fr; gap: 48px; }
  .programme__grid { grid-template-columns: 1fr; gap: 40px; }
  .daycard { position: relative; top: 0; grid-template-columns: auto 1fr; align-items: end; column-gap: 28px; }
  .daycard > :not(.daycard__num):not(.daycard__month):not(.eyebrow):not(.weave) { grid-column: 1 / -1; }
  .daycard .eyebrow { grid-column: 1 / -1; }
  .sectors, .speakers { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 960px) {
  .burger { display: flex; }
  .nav__links { position: absolute; top: 100%; inset-inline: 0; flex-direction: column; gap: 0; background: var(--night); padding: 8px var(--gutter) 20px; border-top: 1px solid rgba(255,255,255,.1); display: none; }
  .nav__links.is-open { display: flex; }
  .nav__links a { padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.08); font-size: 17px; }
  .nav__right .btn { display: none; }
  .nav__right { margin-inline-start: auto; }
}
@media (max-width: 720px) {
  :root { --gutter: 16px; }
  .section { padding-block: 72px; }
  .brand__txt b { font-size: 17px; } .brand img { width: 38px; height: 38px; }
  .tri { width: 78px; }
  .hero { min-height: min(100svh, 780px); }
  .hero__content { padding-block: 64px 150px; justify-content: flex-end; }
  .hero__shade { background: linear-gradient(180deg, rgba(14,14,16,.35) 0%, rgba(14,14,16,.85) 55%, rgba(14,14,16,.96) 100%) !important; }
  .hero__lead { font-size: 17px; }
  .hero__ctas .btn { flex: 1 1 100%; }
  .countdown div { min-width: 0; flex: 1; }
  .hero__controls { bottom: 52px; } .arrow { width: 46px; height: 46px; }
  .hero__cap { inset-inline: 0; text-align: center; font-size: 11px; }
  .bento__row { grid-template-columns: 1fr 1fr; } .bento__row .stat:last-child { grid-column: 1 / -1; min-height: 160px; }
  .bento__big { padding: 28px; min-height: 240px; }
  .stat { min-height: 180px; padding: 22px; }
  .daycard { grid-template-columns: 1fr; padding: 28px; } .daycard__num { font-size: 120px; }
  .tl { grid-template-columns: 50px 14px 1fr; gap: 10px; }
  .tl time { font-size: 15px; } .tl__card { padding: 14px 16px; }
  .tl__top { flex-direction: column; align-items: flex-start; gap: 8px; } .tl__top b { font-size: 17px; }
  .sectors { grid-template-columns: 1fr 1fr; gap: 12px; } .sector { padding: 20px; min-height: 200px; } .sector h3 { font-size: 17px; } .sector__n { font-size: 32px; }
  .speakers { grid-template-columns: 1fr 1fr; gap: 16px; } .speaker h3 { font-size: 17px; }
  .card { padding: 24px; }
  .form__row { grid-template-columns: 1fr; }
  .duo { grid-template-columns: 1fr; } .duo__card { padding: 32px; min-height: 0; }
  .infos { grid-template-columns: 1fr; } .map { aspect-ratio: 4/3; }
  .partners span { width: calc(50% - 8px); height: 72px; font-size: 13px; }
  .brand--lg .brand__txt b { font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
@media print { .nav, .hero__controls, .countdown, form, .map, .sep { display: none !important; } .section--dark, .b2b { background: #fff !important; color: #000 !important; } }
