@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@1,600&display=swap');

:root { --red:#d30d2f; --dark:#151419; --paper:#f6f4f0; --line:#dcd8d2; --muted:#77747a; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:var(--dark); font-family:"DM Sans", sans-serif; }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
.preview-admin-bar { min-height:42px; padding:9px 4.5vw; background:#17161b; color:#fff; display:flex; align-items:center; justify-content:space-between; gap:20px; font:600 10px "Manrope",sans-serif; letter-spacing:.06em; position:relative; z-index:50; }
.preview-admin-bar strong { color:#ff4966; }
.preview-admin-bar a { padding-bottom:3px; border-bottom:1px solid #fff; white-space:nowrap; }

.brand { display:inline-flex; align-items:center; gap:11px; font:800 12px/1.05 "Manrope",sans-serif; letter-spacing:.08em; }
.brand-mark { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; border:1.5px solid currentColor; position:relative; font-size:10px; }
.brand-mark i { position:absolute; width:44px; height:2px; background:var(--red); transform:rotate(-30deg); }
.official-logo { display:block; width:118px; height:78px; overflow:hidden; flex:none; }
.official-logo img { width:118px; height:118px; object-fit:cover; object-position:center; display:block; transform:translateY(-20px); }
.site-header .official-logo { width:89px; height:59px; }
.site-header .official-logo img { width:89px; height:89px; transform:translateY(-15px); }
.site-header { height:84px; padding:0 4.5vw; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid #eae7e2; position:relative; z-index:20; background:#fff; }
.site-header nav { display:flex; gap:34px; align-items:center; font:600 12px "Manrope",sans-serif; text-transform:uppercase; letter-spacing:.08em; }
.site-header nav a { position:relative; }
.site-header nav a:after { content:""; position:absolute; left:0; right:100%; bottom:-6px; height:2px; background:var(--red); transition:.25s; }
.site-header nav a:hover:after { right:0; }
.header-live { justify-self:end; background:var(--red); color:#fff; padding:13px 18px; font:700 11px "Manrope",sans-serif; letter-spacing:.08em; display:flex; gap:9px; align-items:center; }
.live-dot { width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px #ffffff33; }
.menu-button { display:none; }

.hero { min-height:calc(100vh - 84px); position:relative; overflow:hidden; background:linear-gradient(135deg,#fff 0 62%,#f5f2ee 62%); padding:8vh 4.5vw 4vh; }
.hero:before { content:"";position:absolute;right:12%;top:0;width:1px;height:100%;background:#e4e0da;transform:skew(-16deg); }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(260px,.65fr); gap:5vw; position:relative;z-index:2; }
.eyebrow { margin:0 0 24px; font:700 11px "Manrope",sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.eyebrow.red { color:var(--red); }
.hero h1 { margin:0; font:800 clamp(56px,7.6vw,126px)/.84 "Manrope",sans-serif; letter-spacing:-.075em; text-transform:uppercase; max-width:930px; }
.hero h1 span { display:block; }
.hero h1 span:last-child { color:var(--red); margin-left:5vw; }
.hero-description { width:min(560px,92%);font-size:17px;line-height:1.6;color:#5d5a60;margin:34px 0; }
.hero-actions { display:flex;flex-wrap:wrap;gap:12px; }
.button { min-height:54px;padding:0 22px;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font:700 11px "Manrope",sans-serif;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--dark);transition:.2s; }
.button:hover { transform:translateY(-2px); }
.button.primary { background:var(--red);border-color:var(--red);color:#fff; }
.button.ghost { background:#fff; }
.button.light { background:#fff;color:var(--dark);border-color:#fff; }
.hero-date { align-self:start;border-left:1px solid #cbc7c1;padding:10px 0 10px 25px;display:flex;flex-direction:column;gap:13px;margin-top:4vh; }
.hero-date span { font:700 10px "Manrope",sans-serif;letter-spacing:.13em;color:var(--red); }
.hero-date strong { font:700 clamp(20px,2.2vw,35px)/1 "Manrope",sans-serif;max-width:280px; }
.hero-date small { font:500 11px "Manrope",sans-serif;letter-spacing:.08em;color:#69666b; }
.obstacle-art { height:31vh;min-height:215px;position:absolute;right:2vw;bottom:2vh;width:54vw;z-index:1; }
.horse-word { position:absolute;right:4%;bottom:7%;font:800 clamp(110px,18vw,300px)/.7 "Manrope",sans-serif;color:#ebe7e1;letter-spacing:-.1em; }
.post { position:absolute;width:13px;background:var(--dark);bottom:8%;height:86%; }
.post:before,.post:after { content:"";position:absolute;left:-10px;width:32px;height:8px;background:var(--dark); }
.post:before { top:12%; }.post:after { top:56%; }
.post.left { left:20%; }.post.right { right:10%; }
.rail { position:absolute;left:20%;right:10%;height:12px;background:repeating-linear-gradient(90deg,var(--red) 0 70px,#fff 70px 135px);box-shadow:0 0 0 1px #ddd;transform:rotate(-7deg);transform-origin:left; }
.rail-one { top:31%; }.rail-two { top:66%;transform:rotate(5deg); }
.roundel { position:absolute;left:4%;top:15%;width:100px;height:100px;background:var(--red);color:#fff;border-radius:50%;display:grid;place-content:center;text-align:center;font:800 34px/.7 "Manrope",sans-serif;transform:rotate(-8deg); }
.roundel small { font-size:11px;letter-spacing:.12em; }
.scroll-label { position:absolute;left:4.5vw;bottom:3vh;font:700 10px "Manrope",sans-serif;letter-spacing:.13em;display:flex;gap:18px; }
.marquee { overflow:hidden;background:var(--dark);color:#fff;padding:15px 20px;white-space:nowrap;font:700 12px "Manrope",sans-serif;letter-spacing:.11em;text-align:center; }
.marquee div { width:100%;animation:none; }
.marquee b { color:var(--red);padding:0 30px; }
@keyframes marquee { to { transform:translateX(-35%); } }

.section-pad { padding:110px 6vw; }
.section-heading { display:grid;grid-template-columns:1.4fr .6fr;gap:8vw;align-items:end;margin-bottom:70px; }
.section-heading h2,.info-lead h2 { margin:0;font:700 clamp(44px,5.4vw,86px)/.94 "Manrope",sans-serif;letter-spacing:-.06em;text-transform:uppercase; }
.section-heading h2 em,.info-lead h2 em { font-family:"Playfair Display",serif;font-weight:600;text-transform:none;color:var(--red); }
.section-heading>p { color:#66636a;line-height:1.7;max-width:420px; }
.day-list { border-top:1px solid var(--dark); }
.day-row { display:grid;grid-template-columns:60px 1.1fr 1fr 160px 45px;gap:20px;align-items:center;min-height:112px;border-bottom:1px solid var(--line);transition:.2s;padding:0 12px; }
.day-row:hover { background:var(--paper);padding-left:25px; }
.day-row>span { color:var(--red);font:700 12px "Manrope",sans-serif; }
.day-row h3 { margin:0;font:800 clamp(20px,2.4vw,34px) "Manrope",sans-serif;letter-spacing:-.04em; }
.day-row p,.day-row time { font:600 11px "Manrope",sans-serif;letter-spacing:.1em;color:#68656b; }
.day-row button { width:38px;height:38px;border:1px solid #aaa;background:transparent;border-radius:50%;font-size:22px;cursor:pointer; }
.text-link { display:inline-flex;gap:16px;margin-top:38px;padding-bottom:7px;border-bottom:1px solid;font:700 11px "Manrope",sans-serif;letter-spacing:.09em; }
.download-links { display:flex; flex-direction:column; align-items:flex-start; gap:0; }
.download-links .text-link + .text-link { margin-top:18px; }

.winners { background:var(--red);color:#fff;padding:115px 6vw;display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw; }
.winners-intro { position:sticky;top:110px;align-self:start; }
.winners-intro h2 { margin:0 0 28px;font:800 clamp(42px,5vw,78px)/.93 "Manrope",sans-serif;letter-spacing:-.06em;text-transform:uppercase; }
.winners-intro>p:last-child { max-width:390px;line-height:1.65;color:#ffdce2; }
.winner-list { border-top:1px solid #ffffff66; }
.winner-row { min-height:135px;border-bottom:1px solid #ffffff66;display:grid;grid-template-columns:45px 90px 1fr 100px;gap:18px;align-items:center;position:relative; }
.winner-rank { opacity:.55;font:600 11px "Manrope",sans-serif; }
.winner-year { font:800 24px "Manrope",sans-serif; }
.winner-row h3 { margin:0 0 5px;font:700 23px "Manrope",sans-serif;text-transform:uppercase;letter-spacing:-.03em; }
.winner-row p { margin:0;font-family:"Playfair Display",serif;font-style:italic;font-size:19px; }
.winner-nation { font:700 10px "Manrope",sans-serif;letter-spacing:.1em; }
.winner-row small { position:absolute;left:153px;bottom:15px;opacity:.65;font-size:10px; }
.winner-extra { display:none; }
.winner-list.show-all .winner-extra { display:grid; }
.winners-toggle { width:100%; min-height:68px; border:0; border-bottom:1px solid #ffffff66; background:transparent; color:#fff; display:flex; align-items:center; justify-content:center; gap:14px; cursor:pointer; font:700 10px "Manrope",sans-serif; letter-spacing:.1em; }
.winners-toggle span { width:28px; height:28px; border:1px solid #ffffff88; border-radius:50%; display:grid; place-items:center; font-size:17px; }
.winners-toggle:hover { background:#ffffff0c; }

.infos { background:var(--paper); }
.info-lead { margin-bottom:70px; }
.info-cards { display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--dark); }
.info-cards article { padding:32px;border-right:1px solid #ccc8c2;min-height:300px;display:flex;flex-direction:column; }
.info-cards article:last-child { border-right:0; }
.info-cards span { color:var(--red);font:700 11px "Manrope",sans-serif; }
.info-cards h3 { margin:45px 0 15px;font:800 25px "Manrope",sans-serif; }
.info-cards p { color:#66636a;line-height:1.6; }
.info-cards a { margin-top:auto;font:700 10px "Manrope",sans-serif;letter-spacing:.08em; }
.partner-callout { background:var(--dark);color:#fff;text-align:center;padding:120px 5vw;position:relative;overflow:hidden; }
.partner-callout:before { content:"";position:absolute;width:400px;height:400px;border:80px solid var(--red);border-radius:50%;right:-130px;top:-220px; }
.partner-callout h2 { margin:0 auto 40px;font:800 clamp(50px,7vw,110px)/.86 "Manrope",sans-serif;letter-spacing:-.07em;text-transform:uppercase;position:relative; }
.partner-callout .button { position:relative; }
.partner-actions{position:relative;display:flex;flex-direction:column;align-items:center;gap:24px}.partner-download{margin-top:0;color:#fff}
footer { min-height:260px;padding:55px 5vw;display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:start;background:#fff; }
footer>p { margin:0;font:700 12px/1.8 "Manrope",sans-serif;letter-spacing:.08em; }
footer>div { display:flex;gap:25px;justify-content:flex-end;font:600 11px "Manrope",sans-serif;text-transform:uppercase;letter-spacing:.08em; }
footer small { grid-column:1/3;color:#999;font-size:9px;letter-spacing:.08em;align-self:end; }
.admin-link { justify-self:end;align-self:end;font:700 9px "Manrope",sans-serif;color:#aaa; }

.state-screen { min-height:100vh;padding:40px 5vw;background:var(--paper);position:relative;overflow:hidden;display:flex;flex-direction:column; }
.state-top { display:flex;justify-content:space-between;align-items:center;font:700 11px "Manrope",sans-serif;letter-spacing:.12em;z-index:2; }
.state-copy { margin:auto 0;width:min(850px,80%);position:relative;z-index:2; }
.state-copy .eyebrow { color:var(--red); }
.state-copy h1 { margin:0 0 30px;font:800 clamp(60px,9vw,140px)/.83 "Manrope",sans-serif;letter-spacing:-.075em;text-transform:uppercase; }
.state-copy>p:not(.eyebrow) { max-width:600px;font-size:18px;line-height:1.6;color:#615e64; }
.state-meta { margin-top:45px;display:flex;flex-direction:column;gap:8px;font:700 12px "Manrope",sans-serif;letter-spacing:.1em; }
.state-meta strong { color:var(--red);font-size:20px; }
.countdown{display:grid;grid-template-columns:repeat(4,minmax(72px,105px));gap:8px;margin-top:34px}.countdown>span{border-top:2px solid var(--red);padding-top:10px;display:flex;flex-direction:column;gap:3px}.countdown strong{font:800 clamp(28px,3vw,44px)/1 "Manrope",sans-serif;letter-spacing:-.05em}.countdown small{font:700 7px "Manrope",sans-serif;letter-spacing:.12em;color:#77747a}.countdown-finished{margin-top:34px!important;color:var(--red)!important;font:800 13px "Manrope",sans-serif!important;letter-spacing:.13em}
.state-palmares{position:absolute;z-index:2;right:5vw;bottom:7vh;width:min(570px,42vw)}.state-palmares>.eyebrow{margin-bottom:12px;color:var(--red)}.state-palmares>div{border-top:1px solid currentColor}.state-palmares article{min-height:58px;border-bottom:1px solid #8a878c66;display:grid;grid-template-columns:65px 1fr;align-items:center;gap:15px}.state-palmares article>strong{font:800 19px "Manrope",sans-serif}.state-palmares article>span{display:flex;justify-content:space-between;gap:15px;align-items:baseline}.state-palmares b{font:800 11px "Manrope",sans-serif;text-transform:uppercase}.state-palmares em{font:600 italic 13px "Playfair Display",serif}.state-screen.thanks .state-palmares>.eyebrow{color:#fff}.state-screen.thanks .state-palmares article{border-color:#ffffff66}
.jump-lines { position:absolute;right:-10%;bottom:10%;width:60%;height:45%;transform:rotate(-8deg); }
.jump-lines i { position:absolute;left:0;right:0;height:22px;background:repeating-linear-gradient(90deg,var(--red) 0 100px,#fff 100px 190px);border:1px solid #ddd; }
.jump-lines i:nth-child(2){top:40%;}.jump-lines i:nth-child(3){top:80%;}
.state-screen.thanks { background:var(--red);color:#fff; }
.state-screen.thanks .state-copy .eyebrow,.state-screen.thanks .state-meta strong { color:#fff; }
.state-screen.thanks .state-copy>p:not(.eyebrow) { color:#ffe1e6; }
.state-screen.thanks .jump-lines i { background:repeating-linear-gradient(90deg,#fff 0 100px,var(--dark) 100px 190px);border:0; }
.state-screen.thanks .jump-lines{opacity:.1;z-index:0;pointer-events:none}
.state-screen.waiting .jump-lines{opacity:.1;z-index:0;pointer-events:none}
.admin-shortcut { position:absolute;bottom:30px;right:4vw;z-index:3;font:700 9px "Manrope",sans-serif;text-transform:uppercase;letter-spacing:.1em;opacity:.5; }

/* Administration */
.admin-shell { min-height:100vh;background:#f4f3f1;display:grid;grid-template-columns:250px 1fr;color:#222127; }
.admin-sidebar { position:sticky;top:0;height:100vh;background:#17161b;color:#fff;padding:28px 18px;display:flex;flex-direction:column; }
.admin-brand { display:flex;gap:12px;align-items:center;padding:0 8px 32px;border-bottom:1px solid #333136; }
.admin-brand>span { width:38px;height:38px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;font-weight:800; }
.admin-brand>span.admin-logo { width:42px; height:36px; border:0; border-radius:0; overflow:hidden; background:#fff; }
.admin-logo img { width:52px; height:52px; object-fit:cover; object-position:center; transform:translateY(-9px); }
.admin-brand div { display:flex;flex-direction:column;gap:4px; }.admin-brand strong{font:800 11px "Manrope",sans-serif;letter-spacing:.08em}.admin-brand small{font-size:8px;color:#88858d;letter-spacing:.12em}
.admin-sidebar nav { display:flex;flex-direction:column;gap:6px;padding-top:25px; }
.admin-sidebar nav button { border:0;background:transparent;color:#aaa7ae;padding:13px 12px;text-align:left;border-radius:7px;cursor:pointer;font-size:12px;display:flex;gap:12px;align-items:center; }
.admin-sidebar nav>a{margin-top:12px;border-top:1px solid #333136;color:#fff;padding:20px 12px 13px;font-size:12px;display:flex;gap:12px;align-items:center}.admin-sidebar nav>a span{width:18px;text-align:center;color:var(--red)}
.admin-sidebar nav button span { width:18px;text-align:center; }.admin-sidebar nav button:hover,.admin-sidebar nav button.active{background:#2b292f;color:#fff}.admin-sidebar nav button.active{box-shadow:inset 3px 0 var(--red)}
.admin-user { margin-top:auto;border-top:1px solid #333136;padding:20px 5px 0;display:flex;align-items:center;gap:10px; }
.admin-user>span { width:34px;height:34px;background:var(--red);border-radius:50%;display:grid;place-items:center;font:700 10px "Manrope",sans-serif; }.admin-user div{display:flex;flex-direction:column;flex:1}.admin-user strong{font-size:11px}.admin-user small{font-size:9px;color:#8e8a92}.admin-user button{background:none;border:0;color:#888;}
.admin-main { padding:35px 4vw 70px;min-width:0; }
.admin-header { display:flex;justify-content:space-between;align-items:center;margin-bottom:35px; }
.admin-header p { margin:0 0 7px;color:var(--red);font:700 9px "Manrope",sans-serif;letter-spacing:.13em; }.admin-header h1{margin:0;font:700 29px "Manrope",sans-serif;letter-spacing:-.04em}.admin-header>div:last-child{display:flex;gap:10px;align-items:center}.admin-header a,.save-button,.outline-button{border:1px solid #d0cdc8;background:#fff;padding:11px 17px;border-radius:6px;font:700 10px "Manrope",sans-serif;letter-spacing:.04em;cursor:pointer}.save-button{background:var(--red);border-color:var(--red);color:#fff;min-width:110px}
.admin-card { background:#fff;border:1px solid #e0ded9;border-radius:10px;padding:28px;box-shadow:0 8px 30px #18161b08; }
.admin-card-title { display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:25px; }.admin-label{margin:0 0 8px;color:#969299;font:700 9px "Manrope",sans-serif;letter-spacing:.13em}.admin-card h2{margin:0;font:700 20px "Manrope",sans-serif;letter-spacing:-.025em}.status-pill{font:700 9px "Manrope",sans-serif;letter-spacing:.08em;padding:8px 11px;border-radius:20px;background:#e9f7ed;color:#2c8b48}.status-pill.waiting{background:#fff4db;color:#b17b00}.status-pill.thanks{background:#eeeef1;color:#66636a}
.mode-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:13px; }.mode-grid>button{min-height:150px;border:1px solid #dedbd6;background:#fff;border-radius:8px;text-align:left;padding:18px;cursor:pointer;display:grid;grid-template-columns:20px 1fr 30px;grid-template-rows:auto 1fr;gap:9px}.mode-grid>button.selected{border:2px solid var(--red);background:#fffafa;padding:17px}.mode-radio{width:17px;height:17px;border:1px solid #bbb;border-radius:50%;display:grid;place-items:center;color:var(--red);font-size:9px}.mode-grid button.selected .mode-radio{border-color:var(--red)}.mode-grid strong{font:700 12px "Manrope",sans-serif}.mode-grid small{grid-column:2/4;color:#868289;font-size:10px;line-height:1.5}.mode-grid i{grid-column:3;grid-row:1;font-style:normal;color:var(--red);font-size:20px;text-align:right}
.admin-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.admin-card.compact{min-height:210px}.mini-stat{display:flex;flex-direction:column;gap:8px;margin:28px 0}.mini-stat strong{font:700 22px "Manrope",sans-serif}.mini-stat span{font-size:11px;color:#888}.compact>button{border:0;background:none;padding:0;color:var(--red);font:700 10px "Manrope",sans-serif;cursor:pointer}.shortcut-list{display:flex;flex-direction:column}.shortcut-list button{display:flex;align-items:center;gap:13px;border:0;border-bottom:1px solid #eee;background:none;padding:13px 0;text-align:left;cursor:pointer}.shortcut-list button>span{width:30px;height:30px;background:#f8e9ec;color:var(--red);border-radius:5px;display:grid;place-items:center}.shortcut-list button div{display:flex;flex-direction:column;gap:2px;flex:1}.shortcut-list strong{font-size:11px}.shortcut-list small{font-size:9px;color:#999}
.form-card{max-width:1050px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .full{grid-column:1/-1}.form-card label{display:flex;flex-direction:column;gap:7px;color:#6c6870;font:600 10px "Manrope",sans-serif;letter-spacing:.03em}.form-card input,.form-card textarea{border:1px solid #d9d5d0;border-radius:6px;padding:12px 13px;color:#222;background:#fbfaf9;outline:none;resize:vertical}.form-card input:focus,.form-card textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px #d30d2f12}.subform{border-top:1px solid #eee;margin-top:30px;padding-top:25px;display:grid;gap:15px}.subform h3{margin:0;font:700 15px "Manrope",sans-serif}.winner-editor{display:flex;flex-direction:column;gap:9px}.winner-edit-row{display:grid;grid-template-columns:35px 90px 1fr 1fr 35px;gap:12px;align-items:end;background:#faf9f7;border:1px solid #ebe8e3;border-radius:7px;padding:12px}.winner-edit-row>span{align-self:center;color:var(--red);font:700 10px "Manrope",sans-serif}.winner-edit-row>button{width:34px;height:38px;border:0;background:none;color:#999;font-size:21px;cursor:pointer}

@media (max-width:900px){
  .site-header{grid-template-columns:1fr auto;height:72px}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:25px;flex-direction:column;border-bottom:1px solid #ddd}.site-header nav.open{display:flex}.menu-button{display:block;border:0;background:none;font:700 10px "Manrope",sans-serif;letter-spacing:.1em}.header-live{display:none}.hero{min-height:850px;padding-top:8vh}.hero-grid{grid-template-columns:1fr}.hero-date{display:none}.hero h1{font-size:clamp(50px,13vw,90px)}.hero h1 span:last-child{margin-left:0}.obstacle-art{width:94vw;right:-8vw;height:260px}.section-heading,.winners{grid-template-columns:1fr}.winners-intro{position:static}.day-row{grid-template-columns:40px 1fr 40px}.day-row p,.day-row time{display:none}.info-cards{grid-template-columns:1fr}.info-cards article{border-right:0;border-bottom:1px solid #ccc}.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:static;height:auto;padding:16px}.admin-sidebar nav{flex-direction:row;overflow:auto}.admin-sidebar nav button{white-space:nowrap}.admin-user{display:none}.admin-main{padding:25px 18px}.mode-grid,.admin-two-col{grid-template-columns:1fr}.winner-edit-row{grid-template-columns:28px 90px 1fr 35px}.winner-edit-row label:nth-of-type(3){grid-column:2/4}.admin-header{align-items:flex-end}.admin-header a{display:none}
}
@media (max-width:600px){
  .marquee { white-space:normal; line-height:2; font-size:10px; }
  .marquee b { padding:0 10px; }
  .hero{padding-left:20px;padding-right:20px}.hero-description{font-size:15px}.hero-actions{flex-direction:column;align-items:stretch}.section-pad,.winners{padding:80px 20px}.winner-row{grid-template-columns:35px 70px 1fr}.winner-nation{display:none}.winner-row small{left:123px}.info-cards article{padding:25px 5px}.partner-callout{padding:90px 20px}footer{grid-template-columns:1fr;gap:25px}footer>div{justify-content:flex-start}footer small{grid-column:auto}.admin-link{justify-self:start}.state-copy{width:100%}.jump-lines{opacity:.5;width:90%}.admin-header>div:last-child{position:fixed;bottom:15px;right:15px;z-index:10}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.admin-card{padding:20px}.admin-card-title{flex-direction:column}.winner-edit-row{grid-template-columns:25px 1fr 30px}.winner-edit-row label{grid-column:2}.winner-edit-row label:nth-of-type(3){grid-column:2}.winner-edit-row>button{grid-column:3;grid-row:1}.admin-sidebar nav button span{display:none}
}

/* Éléments spécifiques à la version FTP/PHP */
.day-details { display:none; grid-column:2/5; padding:0 0 28px; color:#68656b; font-size:13px; }
.day-details strong { display:block; color:var(--dark); margin-bottom:5px; }
.day-row.expanded { grid-template-rows:auto auto; padding-top:20px; }
.day-row.expanded .day-details { display:block; }
.event-public-head,.event-public-row { display:grid; grid-template-columns:90px 1fr 110px 130px; gap:15px; align-items:center; }
.event-public-head { padding:10px 0; border-bottom:1px solid #d8d4ce; color:#99959c; font:700 9px "Manrope",sans-serif; letter-spacing:.1em; }
.event-public-row { min-height:62px; border-bottom:1px solid #e8e5e0; }
.event-public-row:last-child { border-bottom:0; }
.event-public-row time { color:var(--red); font-weight:700; }
.event-public-row strong { color:var(--dark); font:700 14px "Manrope",sans-serif; }
.event-public-row b { color:var(--dark); font-weight:700; text-align:right; }
.partners-section { padding:90px 0; overflow:hidden; background:#fff; border-top:1px solid #e5e2dd; }
.partners-heading { padding:0 6vw 42px; display:flex; align-items:end; justify-content:space-between; gap:30px; }
.partners-heading .eyebrow { margin:0; }
.partners-heading h2 { margin:0; font:800 clamp(32px,4vw,58px) "Manrope",sans-serif; letter-spacing:-.05em; text-transform:uppercase; }
.partner-slider { overflow:hidden; border-top:1px solid #e1ddd7; border-bottom:1px solid #e1ddd7; }
.partner-track { width:max-content; display:flex; animation:partners-scroll 26s linear infinite; }
.partner-slider:hover .partner-track { animation-play-state:paused; }
.partner-item { width:250px; height:145px; border-right:1px solid #e1ddd7; display:grid; place-items:center; padding:28px; background:#fff; }
.partner-item img { max-width:100%; max-height:82px; object-fit:contain; filter:grayscale(1); opacity:.72; transition:.25s; }
.partner-item:hover img { filter:none; opacity:1; transform:scale(1.04); }
.partner-item strong { text-align:center; font:700 14px "Manrope",sans-serif; letter-spacing:.05em; text-transform:uppercase; }
@keyframes partners-scroll { to { transform:translateX(-50%); } }
.login-screen { min-height:100vh; display:grid; place-items:center; background:linear-gradient(135deg,#f8f6f2,#ede9e4); padding:24px; }
.login-card { width:min(440px,100%); background:#fff; padding:42px; border-radius:12px; border:1px solid #dfdcd7; box-shadow:0 25px 70px #15141916; }
.login-card .admin-brand { color:#fff; background:var(--dark); margin:-42px -42px 38px; padding:22px 30px; border-radius:12px 12px 0 0; }
@media(max-width:900px){.state-screen{height:auto;min-height:100vh;overflow:auto}.state-copy{margin:90px 0 0}.state-palmares{position:relative;right:auto;bottom:auto;width:100%;margin:60px 0 70px}.state-palmares article>span{flex-direction:column;gap:2px;align-items:flex-start}}
.state-screen.thanks .jump-lines{opacity:.1}
.state-screen.waiting .jump-lines{opacity:.1}
.login-card h1 { margin:0 0 10px; font:800 42px "Manrope",sans-serif; letter-spacing:-.05em; }
.login-card>p:not(.admin-label) { color:#77747a; line-height:1.6; }
.login-card form { display:flex; flex-direction:column; gap:17px; margin:28px 0; }
.login-card label { display:flex; flex-direction:column; gap:8px; color:#6c6870; font:600 10px "Manrope",sans-serif; }
.login-card input { border:1px solid #d9d5d0; border-radius:6px; padding:13px; outline:none; }
.login-card input:focus { border-color:var(--red); box-shadow:0 0 0 3px #d30d2f12; }
.login-card>a { font:700 10px "Manrope",sans-serif; color:#888; }
.admin-alert { padding:13px 16px; border-radius:7px; margin-bottom:18px; font-size:12px; }
.admin-alert.success { color:#277b41; background:#e8f6ec; border:1px solid #b9e0c4; }
.admin-alert.error { color:#a20b25; background:#fff0f2; border:1px solid #f0b6c0; }
.admin-user a { color:#aaa; font-size:16px; }
.winner-edit-row { grid-template-columns:35px 80px 1fr 1fr 120px 1.1fr 35px; }
.admin-help { color:#858188; font-size:11px; line-height:1.6; margin:-10px 0 25px; }
.schedule-editor { display:flex; flex-direction:column; gap:18px; }
.schedule-day-editor { border:1px solid #e2ded9; border-radius:9px; overflow:hidden; }
.schedule-day-head { display:grid; grid-template-columns:35px 1fr .8fr 1.2fr 90px 90px; gap:10px; align-items:end; padding:16px; background:#f6f4f1; }
.schedule-day-head>span { align-self:center; color:var(--red); font:800 13px "Manrope",sans-serif; }
.event-editor { padding:5px 16px 0; }
.event-edit-row { display:grid; grid-template-columns:100px 1.5fr .7fr .8fr 34px; gap:10px; align-items:end; padding:11px 0; border-bottom:1px solid #eeeae5; }
.event-edit-row>button,.partner-edit-row>button { width:34px; height:38px; border:0; background:none; color:#999; font-size:20px; cursor:pointer; }
.add-row-button { margin:12px 16px 16px; border:0; background:none; color:var(--red); font:700 10px "Manrope",sans-serif; cursor:pointer; }
.partner-editor { display:flex; flex-direction:column; gap:10px; }
.partner-edit-row { display:grid; grid-template-columns:90px 1fr 1.2fr 1fr 35px; gap:13px; align-items:end; padding:13px; background:#faf9f7; border:1px solid #e8e4df; border-radius:8px; }
.partner-logo-preview { height:58px; background:#fff; border:1px solid #e1ddd7; border-radius:5px; display:grid; place-items:center; overflow:hidden; }
.partner-logo-preview img { max-width:100%; max-height:52px; object-fit:contain; }
.partner-logo-preview span { color:var(--red); font-weight:800; }
.hash-output { margin-top:25px; padding:15px; background:#f4f2ee; border-radius:7px; display:flex; flex-direction:column; gap:8px; overflow-wrap:anywhere; }
.hash-output code { font-size:11px; user-select:all; }
code { font-family:ui-monospace,Consolas,monospace; }

@media (max-width:900px) {
  .winner-edit-row { grid-template-columns:30px 80px 1fr 35px; }
  .winner-edit-row label:nth-of-type(n+3) { grid-column:2/4; }
  .schedule-day-head { grid-template-columns:30px 1fr 1fr; }
  .schedule-day-head label:nth-of-type(n+3) { grid-column:2/4; }
  .event-edit-row { grid-template-columns:90px 1fr 35px; }
  .event-edit-row label:nth-of-type(n+3) { grid-column:2; }
  .partner-edit-row { grid-template-columns:75px 1fr 35px; }
  .partner-edit-row label { grid-column:2; }
  .event-public-head,.event-public-row { grid-template-columns:75px 1fr 90px 100px; }
}
@media (max-width:600px) {
  .day-details { grid-column:2/4; }
  .login-card { padding:28px; }
  .login-card .admin-brand { margin:-28px -28px 28px; }
  .winner-edit-row { grid-template-columns:25px 1fr 30px; }
  .winner-edit-row label:nth-of-type(n) { grid-column:2; }
  .event-public-head { display:none; }
  .event-public-row { grid-template-columns:65px 1fr; padding:12px 0; }
  .event-public-row span,.event-public-row b { grid-column:2; text-align:left; }
  .partners-heading { flex-direction:column; align-items:flex-start; padding:0 20px 35px; }
  .partner-item { width:190px; height:120px; }
}
