:root{--event:#175ff2;--event-dark:#08185b;--event-soft:#eaf3ff;--event-accent:#ffb800;--event-glow:#70c8ff}
.competition-page{margin:0;min-width:320px;overflow-x:hidden;color:#08185b;background:linear-gradient(160deg,#fafdff 0,#eef6ff 45%,#f3f7ff 100%);font-family:Poppins,sans-serif}.theme-sports{--event:#07985b;--event-dark:#063f35;--event-soft:#e7fff2;--event-accent:#f4b91b;--event-glow:#88e6bc}.theme-fun{--event:#ed7600;--event-dark:#532500;--event-soft:#fff4df;--event-accent:#ffc53d;--event-glow:#ffcd75}.theme-technical{--event:#6137ed;--event-dark:#171064;--event-soft:#f0eaff;--event-accent:#2eb6ff;--event-glow:#9b7dff}.theme-creative{--event:#e92f75;--event-dark:#64143d;--event-soft:#fff0f6;--event-accent:#ffb21a;--event-glow:#ff8abc}.theme-cultural{--event:#a51fd7;--event-dark:#3f0c68;--event-soft:#f9eaff;--event-accent:#ffb914;--event-glow:#d77dff}
.competition-page::before{content:"";position:fixed;inset:0;z-index:-3;pointer-events:none;background:radial-gradient(circle at 8% 35%,color-mix(in srgb,var(--event-glow) 18%,transparent),transparent 24%),radial-gradient(circle at 94% 65%,color-mix(in srgb,var(--event-accent) 14%,transparent),transparent 22%)}.event-atmosphere{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none}.event-atmosphere i{position:absolute;border-radius:50%;filter:blur(70px);opacity:.12}.event-atmosphere i:first-child{width:420px;height:420px;top:12%;right:-170px;background:var(--event-glow)}.event-atmosphere i:nth-child(2){width:450px;height:220px;left:-140px;bottom:12%;background:var(--event)}.event-atmosphere i:last-child{width:260px;height:260px;left:40%;top:45%;background:var(--event-accent);opacity:.07}
.event-nav{width:min(1440px,92%);min-height:82px;margin:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;position:relative;z-index:10}.event-nav .logo{justify-self:start}.event-nav-links{display:flex;gap:35px;padding:10px 22px;border:1px solid #fff;border-radius:999px;background:#ffffffb8;box-shadow:0 10px 32px #14346e0c;backdrop-filter:blur(14px)}.event-nav-links a{font-size:13px;font-weight:500;color:#17306d;position:relative}.event-nav-links .active{color:var(--event);font-weight:700}.event-nav-links .active::after{content:"";position:absolute;left:0;right:0;bottom:-11px;height:2px;border-radius:2px;background:var(--event)}.back-link{justify-self:end;padding:10px 17px;border:1px solid #cadcff;border-radius:999px;background:#fffffff0;color:#113079;font-size:12px;font-weight:600;box-shadow:0 9px 24px #14346e12}
.event-main{width:100%;padding:0 0 65px}.breadcrumb,.event-overview,.participation-panel,.event-highlights,.registration-section,.related-events,.back-to-games{width:min(1440px,92%);margin-left:auto;margin-right:auto}.breadcrumb{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:8px;margin-bottom:22px;font-size:11px;color:#64779d}.breadcrumb a{color:var(--event);font-weight:500}
.event-hero{position:relative;isolation:isolate;min-height:505px;background-image:linear-gradient(90deg,#f7fbff 0%,rgba(247,251,255,.97) 24%,rgba(247,251,255,.82) 39%,rgba(247,251,255,.18) 62%,transparent 100%),var(--hero-image);background-repeat:no-repeat;background-size:cover;background-position:center;box-shadow:inset 0 1px #fff,inset 0 -1px #d8e7fa;overflow:hidden}.event-hero::after{content:"";position:absolute;inset:auto 0 0;height:115px;background:linear-gradient(transparent,#eef6ff);z-index:-1}.event-hero-inner{width:min(1440px,92%);min-height:505px;margin:auto;display:flex;align-items:center}.event-copy{width:42%;max-width:610px;padding:35px 0 70px;position:relative;z-index:2}.eyebrow{margin:0 0 14px;font-size:10px!important;letter-spacing:.27em;font-weight:800;color:var(--event)}.event-copy>.event-badge{margin-bottom:18px}.event-copy h1{margin:0;font-size:clamp(54px,5.1vw,78px);line-height:.95;letter-spacing:-.06em;text-wrap:balance}.event-copy h1 span,.event-copy h1 em{display:block;font-style:normal}.event-copy h1 span{background:linear-gradient(180deg,#06155d 15%,var(--event) 68%,#0834a6);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px #fff)}.event-copy h1 em{margin-top:9px;background:linear-gradient(180deg,#ffe99c,var(--event-accent) 45%,#b66a00);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px #fff)}.hero-kicker{margin:19px 0 7px;color:var(--event);font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.event-description{max-width:560px;margin:0 0 23px;color:#263e70;font-size:14px;line-height:1.72}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-actions .button{min-width:185px;min-height:50px;font-size:12px}.button.outline{border:2px solid var(--event);background:#ffffffd9;color:var(--event-dark);box-shadow:none}.button.outline:hover{background:var(--event);color:#fff}.button span{margin-left:11px}#event-share-status{min-height:16px;margin:9px 0 0;color:var(--event);font-size:10px;font-weight:600}
.event-overview{position:relative;z-index:4;margin-top:-38px;display:grid;grid-template-columns:repeat(3,1fr);padding:18px 24px;border:1px solid #fff;border-radius:20px;background:#fffffff2;box-shadow:0 20px 50px #0b2b6b1c;backdrop-filter:blur(18px)}.event-overview>div{display:flex;align-items:center;gap:17px;padding:7px 27px;border-right:1px solid #dbe6fa}.event-overview>div:last-child{border:0}.overview-icon{width:47px;height:47px;display:grid;place-items:center;flex:0 0 auto;border-radius:13px;background:linear-gradient(145deg,var(--event),var(--event-dark));color:#fff;font-size:21px;box-shadow:0 10px 20px color-mix(in srgb,var(--event) 25%,transparent)}.event-overview p{margin:0}.event-overview small{display:block;margin-bottom:4px;color:#7180a2;font-size:9px;font-weight:700;letter-spacing:.18em}.event-overview strong{font-size:15px;color:#08185b}
.participation-panel{min-height:290px;margin-top:28px;display:grid;grid-template-columns:minmax(0,38fr) minmax(190px,22fr) minmax(0,40fr);position:relative;overflow:hidden;border:1px solid #fff;border-radius:25px;background:linear-gradient(120deg,#fff,#f6faff);box-shadow:0 20px 55px #0b2b6b16}.participation-intro{padding:40px 42px}.participation-intro h2{margin:0;font-size:34px;line-height:1.15;letter-spacing:-.04em}.participation-intro h2 span{color:var(--event)}.participation-intro>i{display:block;width:48px;height:4px;margin:18px 0;border-radius:3px;background:var(--event-accent)}.participation-intro>p:last-of-type{margin:0;color:#42557e;font-size:13px;line-height:1.7}.participation-art{position:relative;overflow:hidden;min-width:0}.participation-art::before,.participation-art::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none}.participation-art::before{background:linear-gradient(90deg,#fff 0,transparent 25%,transparent 75%,#f7faff 100%)}.participation-art::after{background:linear-gradient(0deg,#f7faff 0,transparent 25%)}.participation-art img{width:100%;height:100%;object-fit:cover;object-position:center top}.participation-copy{padding:40px;display:flex;align-items:flex-start;gap:19px}.document-icon{width:52px;height:52px;display:grid;place-items:center;flex:0 0 auto;border-radius:15px;background:linear-gradient(145deg,var(--event),var(--event-dark));color:#fff;font-size:24px;box-shadow:0 12px 25px color-mix(in srgb,var(--event) 28%,transparent)}.participation-copy h3{margin:2px 0 11px;font-size:21px}.participation-copy p{margin:0 0 18px;color:#4d5d7c;font-size:13px;line-height:1.7}.text-link{display:inline-flex;gap:6px;padding:0 0 4px;border:0;border-bottom:1px solid color-mix(in srgb,var(--event) 35%,transparent);background:transparent;color:var(--event);font:700 12px Poppins,sans-serif;cursor:pointer}
.event-highlights{margin-top:22px;padding:27px 30px;display:grid;grid-template-columns:280px 1fr;align-items:center;gap:28px;border:1px solid #fff;border-radius:22px;background:#ffffffed;box-shadow:0 18px 45px #0b2b6b12}.highlights-heading{display:flex;align-items:center;gap:15px}.highlights-heading>span{font-size:42px}.highlights-heading h2{margin:0 0 4px;font-size:22px}.highlights-heading p{margin:0;color:#66779b;font-size:11px}.highlights-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.highlights-grid article{min-height:88px;padding:15px;display:flex;align-items:center;gap:12px;border:1px solid #dbe6f8;border-radius:14px;background:linear-gradient(145deg,#fff,var(--event-soft));transition:.25s}.highlights-grid article:hover{transform:translateY(-3px);border-color:var(--event)}.highlight-number{width:35px;height:35px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#fff;color:var(--event);font-size:12px;font-weight:800;box-shadow:0 5px 15px #19366915}.highlights-grid h3{margin:0 0 4px;font-size:12px}.highlights-grid p{margin:0;color:#607091;font-size:10px;line-height:1.4}
.registration-section{scroll-margin-top:25px;margin-top:36px;padding:42px;display:grid;grid-template-columns:minmax(0,40fr) minmax(0,60fr);gap:40px;position:relative;overflow:hidden;border-radius:30px;background:linear-gradient(135deg,var(--event-dark),color-mix(in srgb,var(--event) 75%,#07104c));box-shadow:0 28px 70px color-mix(in srgb,var(--event-dark) 28%,transparent)}.registration-section::before,.registration-section::after{content:"";position:absolute;border-radius:50%;pointer-events:none}.registration-section::before{width:350px;height:350px;left:-150px;bottom:-190px;border:55px solid #ffffff0b}.registration-section::after{width:250px;height:250px;right:-80px;top:-130px;background:radial-gradient(circle,var(--event-accent),transparent 68%);opacity:.16}.registration-heading{padding:18px 8px;color:#fff;position:relative;z-index:1}.registration-heading .eyebrow{color:#9fc5ff}.registration-heading h2{margin:0 0 17px;font-size:clamp(31px,3.2vw,47px);line-height:1.12;letter-spacing:-.045em}.registration-heading h2 span{display:block;color:var(--event-accent)}.registration-heading>p:not(.eyebrow){font-size:13px;line-height:1.75;color:#dbe8ff}.registration-points{display:flex;flex-direction:column;gap:10px;margin-top:27px}.registration-points span{padding:10px 12px;border:1px solid #ffffff1f;border-radius:10px;background:#ffffff0c;color:#fff;font-size:11px}.registration-form{width:100%;position:relative;z-index:1;padding:30px;border-radius:23px;background:#fffffff7;box-shadow:0 20px 50px #02082b45}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>span{color:#233968;font-size:10px;font-weight:700}.field input,.field select,.field textarea{width:100%;min-height:47px;padding:11px 13px;border:1px solid #d8e2f2;border-radius:10px;outline:none;background:#f9fbff;color:#0b1f5c;font:500 12px Poppins,sans-serif;transition:.2s}.field textarea{min-height:82px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--event);background:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--event) 12%,transparent)}.field-wide{grid-column:1/-1}.consent{display:flex;align-items:flex-start;gap:10px;margin:17px 0;color:#536383;font-size:10px;line-height:1.5}.consent input{margin-top:2px;accent-color:var(--event)}.submit-registration{width:100%;min-height:51px;font-size:12px}.submit-registration:disabled{cursor:wait;filter:saturate(.65);opacity:.78}.form-note{margin:11px 0 0;color:#73809a;font-size:9px;line-height:1.5;text-align:center}.registration-status{display:none;margin-top:15px;padding:14px 16px;border:1px solid #9bddbb;border-radius:12px;background:#e9fff3;color:#075f36}.registration-status:not(:empty){display:block}.registration-status strong,.registration-status span{display:block}.registration-status strong{font-size:12px}.registration-status span{margin-top:3px;font-size:10px}
.related-events{margin-top:42px}.related-events>.eyebrow{margin-bottom:8px}.related-events>h2{margin:0 0 5px;font-size:29px}.related-events>p:not(.eyebrow){margin:0 0 17px;color:#647597;font-size:12px}.related-events>div{max-width:690px}.related-events a{display:flex;align-items:center;gap:15px;padding:10px;border:1px solid #fff;border-radius:16px;background:#ffffffed;box-shadow:0 14px 35px #0d2a6412;transition:.25s}.related-events a:hover{transform:translateY(-3px)}.related-events img{width:105px;height:68px;object-fit:cover;border-radius:10px}.related-events a>span{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.related-events strong{font-size:13px}.related-events .event-badge{padding:4px 8px;font-size:9px}.related-events .badge-icon{width:16px;height:16px}.related-events b{margin-left:auto;padding-right:10px;color:var(--event);font-size:21px}.back-to-games{display:block;margin-top:25px;color:var(--event);font-size:12px;font-weight:600}.event-footer{width:min(1440px,92%);margin:auto;padding:25px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #cad9ef;color:#667592;font-size:10px}.event-footer .logo{font-size:22px}.event-footer .logo small{font-size:6px}.event-footer>a:last-child{color:var(--event);font-weight:600}
@media(max-width:1100px){.event-nav-links{gap:18px}.event-hero{min-height:470px;background-position:57% center}.event-hero-inner{min-height:470px}.event-copy{width:48%}.event-copy h1{font-size:57px}.event-overview>div{padding-inline:16px}.participation-panel{grid-template-columns:minmax(0,36fr) minmax(170px,23fr) minmax(0,41fr)}.participation-intro,.participation-copy{padding:32px}.event-highlights{grid-template-columns:1fr}.highlights-heading{justify-content:center;text-align:center}.registration-section{grid-template-columns:minmax(0,38fr) minmax(0,62fr);padding:32px;gap:28px}}
@media(max-width:820px){.event-nav{grid-template-columns:1fr auto}.event-nav-links{display:none}.event-hero{min-height:570px;background-position:66% center;background-image:linear-gradient(90deg,#f7fbff 0%,rgba(247,251,255,.95) 42%,rgba(247,251,255,.42) 70%,transparent 100%),var(--hero-image)}.event-hero-inner{min-height:570px}.event-copy{width:58%;padding-bottom:80px}.event-copy h1{font-size:clamp(45px,8vw,62px)}.event-description{font-size:13px}.event-overview{margin-top:-30px}.event-overview>div{padding-inline:9px;gap:9px}.overview-icon{width:40px;height:40px}.participation-panel{grid-template-columns:1fr 220px}.participation-intro{padding:30px;border-bottom:1px solid #dce7f8}.participation-art{min-height:270px}.participation-copy{grid-column:1/-1;padding:30px}.highlights-grid{grid-template-columns:repeat(2,1fr)}.registration-section{grid-template-columns:1fr}.registration-heading{padding:0}.registration-points{flex-direction:row;flex-wrap:wrap}.registration-points span{flex:1;min-width:150px}.event-footer{flex-wrap:wrap}}
@media(max-width:560px){.event-nav{width:92%;min-height:74px;gap:8px}.event-nav .logo{font-size:22px}.event-nav .logo small{font-size:6px}.back-link{padding:9px 11px;font-size:10px}.breadcrumb{margin-top:5px;margin-bottom:15px;font-size:9px}.event-hero{min-height:700px;background-position:68% bottom;background-size:auto 100%;background-image:linear-gradient(180deg,#f7fbff 0%,rgba(247,251,255,.98) 43%,rgba(247,251,255,.45) 67%,transparent 100%),var(--hero-image)}.event-hero-inner{min-height:700px;align-items:flex-start}.event-copy{width:100%;padding:25px 0 285px}.event-copy h1{font-size:44px}.event-description{font-size:12px;line-height:1.6}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.hero-actions .button{min-width:0;min-height:46px;padding-inline:10px;font-size:10px}.event-overview{grid-template-columns:1fr;margin-top:-20px;padding:10px 18px}.event-overview>div{padding:11px 0;border:0;border-bottom:1px solid #dbe6fa}.event-overview>div:last-child{border:0}.participation-panel{grid-template-columns:1fr;margin-top:18px}.participation-intro{padding:27px 22px}.participation-intro h2{font-size:29px}.participation-art{min-height:230px}.participation-copy{padding:26px 21px;display:block}.document-icon{margin-bottom:14px}.event-highlights{padding:22px 17px}.highlights-grid{grid-template-columns:1fr}.registration-section{margin-top:25px;padding:25px 16px;border-radius:23px}.registration-heading h2{font-size:33px}.registration-form{padding:21px 16px}.form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.related-events>h2{font-size:25px}.related-events img{width:90px;height:62px}.event-footer{justify-content:center;text-align:center;font-size:9px}.event-footer .logo{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.highlights-grid article:hover,.related-events a:hover{transform:none}}
.competition-page .registration-form{max-width:none;margin-top:0;justify-self:stretch}
/* Keep each generated 2560 × 1100 banner fully visible instead of cover-cropping it. */
.event-hero{background-color:#f7fbff;background-size:100% 100%,contain;background-position:center,right center}
@media(max-width:820px){.event-hero{background-size:100% 100%,contain;background-position:center,right bottom}}
/* Blend the left edge of contained banner artwork into the page canvas. */
.event-hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,#f7fbff 0%,#f7fbff 18%,rgba(247,251,255,.94) 29%,rgba(247,251,255,.57) 43%,rgba(247,251,255,.16) 57%,transparent 72%)}
.event-hero-inner{position:relative;z-index:1}
@media(max-width:820px){.event-hero::before{background:linear-gradient(180deg,#f7fbff 0%,rgba(247,251,255,.96) 35%,rgba(247,251,255,.56) 58%,transparent 82%)}}
/* Shared registration component: 38% event information and 62% full-width form. */
.competition-page .registration-section{grid-template-columns:minmax(0,38fr) minmax(0,62fr);gap:42px;padding:40px 44px;border-radius:34px;align-items:stretch}
.competition-page .registration-heading{padding:20px 14px 18px 8px;display:flex;flex-direction:column;justify-content:center}.competition-page .registration-heading h2{max-width:440px;margin-bottom:18px}.competition-page .registration-heading>p:not(.eyebrow){max-width:430px;margin:0;font-size:14px;line-height:1.72}
.competition-page .registration-points{margin-top:30px;gap:12px}.competition-page .registration-points span{min-height:66px;padding:10px 16px;display:flex;align-items:center;gap:14px;border-color:#ffffff35;border-radius:14px;background:#ffffff0d;font-size:13px;font-weight:600}.competition-page .registration-points span::before{content:"✦";width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:50%;background:linear-gradient(145deg,#2d8cff,#0754dc);box-shadow:0 8px 17px #031c704d;color:#fff;font-size:19px}.competition-page .registration-points span:nth-child(2)::before{content:"●";font-size:16px}.competition-page .registration-points span:nth-child(3)::before{content:"★";font-size:17px}
.competition-page .registration-form{align-self:stretch;display:flex;flex-direction:column;gap:0;padding:30px 36px 22px;border-radius:26px;background:linear-gradient(150deg,#fff,#fbfcff);box-shadow:0 19px 46px #02082b36}.competition-page .form-grid{gap:18px 20px}.competition-page .field{gap:8px}.competition-page .field>span{font-size:11px;color:#07175b}.competition-page .field input,.competition-page .field select,.competition-page .field textarea{box-sizing:border-box;border-color:#bdd0ff;background:#fbfdff;font-size:13px}.competition-page .field input,.competition-page .field select{height:54px;min-height:54px}.competition-page .field textarea{min-height:86px;padding-top:13px}.competition-page .field input::placeholder,.competition-page .field textarea::placeholder{color:#8093c1}.competition-page .consent{display:grid;grid-template-columns:19px minmax(0,1fr);align-items:start;gap:11px;margin:18px 0 18px;color:#42568d;font-size:11px;line-height:1.5}.competition-page .consent input{width:19px;height:19px;min-height:19px;margin:0;accent-color:var(--event)}.competition-page .submit-registration{box-sizing:border-box;min-height:58px;margin:0;border-radius:999px;font-size:13px;font-weight:800;box-shadow:0 12px 24px #c8871d4a}.competition-page .form-note{margin-top:10px}
@media(max-width:1100px){.competition-page .registration-section{gap:30px;padding:34px}.competition-page .registration-form{padding:27px 28px}.competition-page .registration-points span{font-size:12px}}
@media(max-width:820px){.competition-page .registration-section{grid-template-columns:1fr;gap:22px;padding:29px 24px}.competition-page .registration-heading{padding:0}.competition-page .registration-heading>p:not(.eyebrow){max-width:none}.competition-page .registration-points{margin-top:22px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.competition-page .registration-points span{min-height:0;padding:10px;font-size:10px;line-height:1.35}.competition-page .registration-points span::before{width:31px;height:31px;flex-basis:31px;font-size:14px}.competition-page .registration-form{padding:26px}}
@media(max-width:560px){.competition-page .registration-section{padding:25px 16px;border-radius:24px}.competition-page .registration-heading h2{font-size:34px}.competition-page .registration-points{grid-template-columns:1fr}.competition-page .registration-points span{min-height:51px;font-size:11px}.competition-page .registration-points span::before{width:34px;height:34px;flex-basis:34px}.competition-page .registration-form{padding:22px 16px;border-radius:18px}.competition-page .form-grid{grid-template-columns:1fr;gap:15px}.competition-page .field-wide{grid-column:auto}.competition-page .field input,.competition-page .field select{height:50px;min-height:50px}.competition-page .consent{margin:16px 0;grid-template-columns:18px minmax(0,1fr);font-size:10px}.competition-page .consent input{width:18px;height:18px;min-height:18px}.competition-page .submit-registration{min-height:53px;font-size:10px}}
/* Compact, description-free hero shared by every competition page. */
.breadcrumb{display:none}.event-hero,.event-hero-inner{min-height:400px}.event-copy{padding:28px 0 42px}.event-copy h1{margin-bottom:25px}.event-copy>.event-badge{margin-bottom:14px}
/* Keep the registration CTA fully inside the white form at all sizes. */
.competition-page .registration-form .submit-registration{position:static;display:flex;align-items:center;justify-content:center;width:100%;max-width:100%;min-height:52px;margin:0;transform:none;box-sizing:border-box;font-size:12px;line-height:1.2}.competition-page .registration-form{overflow:hidden}
@media(max-width:1100px){.event-hero,.event-hero-inner{min-height:385px}.event-copy{padding-block:25px 38px}}
@media(max-width:820px){.event-hero,.event-hero-inner{min-height:470px}.event-copy{padding-bottom:58px}}
@media(max-width:560px){.event-hero,.event-hero-inner{min-height:490px}.event-copy{padding:23px 0 215px}.event-copy h1{margin-bottom:20px}.competition-page .registration-form .submit-registration{min-height:50px;font-size:10px}}
/* Desktop banner artwork is isolated and feathered so its contained-image edge cannot form a seam. */
@media(min-width:821px){.event-hero{background-image:linear-gradient(90deg,#f7fbff 0%,#f7fbff 54%,#eff6ff 100%);background-size:100% 100%;background-position:center}.event-hero::before{inset:0 0 0 auto;width:auto;height:100%;aspect-ratio:2560 / 1100;background:var(--hero-image) right center/100% 100% no-repeat;mask-image:linear-gradient(90deg,transparent 0%,#000 20%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 20%,#000 100%)}.event-hero::after{z-index:0}.event-hero-inner{z-index:1}}

/* Shared site header (same as the home page) with its mobile menu. */
@media (max-width:1200px){.nav{gap:16px;padding-inline:3.5%}.nav nav{gap:16px}}
@media (max-width:1024px){.nav{gap:10px;padding-inline:5%}.menu-toggle{display:grid;place-items:center;margin-left:auto;width:44px;height:44px;padding:0;border:1px solid #dce4f5;border-radius:11px;background:#f5f8ff;color:var(--navy);font-size:22px;cursor:pointer}.nav nav{display:none;position:absolute;inset:72px 0 auto;padding:18px 5%;background:#fffffff7;backdrop-filter:blur(16px);box-shadow:0 12px 30px #0b1f5c1f;border-bottom:2px solid #f5c35d}.nav nav.open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px}.nav nav a{padding:12px;font-size:13px;border-radius:8px}.nav nav a.active{background:#edf3ff}.nav nav a.active:after{display:none}}

/* Submit button: keep long competition names inside the pill on small screens. */
.competition-page .registration-form .submit-registration{white-space:normal;text-align:center;gap:12px;padding:12px 24px;height:auto}
.competition-page .registration-form .submit-registration span{flex-shrink:0}
@media(max-width:560px){.competition-page .registration-form .submit-registration{padding:12px 20px;font-size:12px;line-height:1.3;min-height:54px}}

/* Mobile/tablet hero: copy on top, artwork below at full opacity with soft faded edges. */
@media(max-width:820px){
.event-hero{--art-h:clamp(210px,56vw,420px);min-height:0;background:#f7fbff;padding-bottom:calc(var(--art-h) - 30px)}
.event-hero-inner{min-height:0;align-items:flex-start}
.event-copy{width:100%;padding:26px 0 0}
.event-copy h1{margin-bottom:22px}
.event-hero::before{inset:auto 0 0 0;width:auto;height:var(--art-h);aspect-ratio:auto;opacity:1;background:var(--hero-image) 65% center/cover no-repeat;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 28%,#000 78%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 28%,#000 78%,transparent 100%)}
.event-hero::after{display:none}
}
@media(max-width:560px){
.event-hero{--art-h:clamp(200px,62vw,300px)}
.event-copy{padding-top:22px}
.event-copy h1{margin-bottom:18px}
}
