/* A lighter YoPas experience: people first, ticket tools second. */
.site-header{top:0;padding:0;background:rgba(255,255,255,.98);border-bottom:1px solid transparent;backdrop-filter:blur(16px)}
.site-header.scrolled{border-bottom:1px solid #e5edf3}
.header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:20px;width:min(1300px,100%);max-width:1300px;height:76px;padding:0 22px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
.mobile-nav{pointer-events:auto}
.mobile-nav a.active{background:#eaf3f8;color:#173b66}
.header-nav-start{justify-self:start;margin:0}
.header-end{display:flex;align-items:center;justify-self:end;gap:14px}
.header-nav-end{margin:0}
.desktop-nav a{height:44px;padding:0 13px;border-radius:9px;color:#273f53;font-size:.86rem;font-weight:600}
.desktop-nav a.active{background:transparent;color:#1d5f9f;text-decoration:underline;text-decoration-color:#e9c900;text-decoration-thickness:3px;text-underline-offset:9px}
.brand{justify-self:center;width:124px}
.brand img{width:100%;height:auto}
.header-actions{gap:15px}
.header-actions .text-link{color:#273f53;font-size:.86rem}
.header-cta{min-height:41px;padding:0 16px;border:1px solid #173b66;border-radius:24px;background:white;color:#173b66;white-space:nowrap}
.header-cta:hover{background:#eaf3f8;border-color:#173b66}

.home-masthead{overflow:hidden;background:#fff;padding:122px 0 86px}
.home-first{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:center;gap:clamp(32px,5vw,72px)}
.masthead-copy{text-align:left}
.masthead-copy h1{max-width:530px;margin:0;color:#17324d;font-size:clamp(3.4rem,5vw,5rem);font-weight:800;line-height:1.02;letter-spacing:-.06em}
.masthead-copy p{max-width:430px;margin:25px 0 30px;color:#4f6576;font-size:1.05rem;line-height:1.62}
.masthead-actions{display:flex;justify-content:flex-start;gap:12px;flex-wrap:wrap}
.masthead-actions .button{min-height:50px;padding-inline:24px;border-radius:25px}
.masthead-secondary{border:1px solid #b7cbd8;background:white;color:#173b66}
.masthead-secondary:hover{border-color:#173b66;background:#f1f7fb}
.arrival-board{position:relative;min-width:0;height:540px}
.arrival-board::before{content:"";position:absolute;top:24px;right:0;width:77%;height:89%;border-radius:49% 49% 24px 24px / 36% 36% 24px 24px;background:#e8f3f8}
.arrival-board::after{content:"";position:absolute;z-index:0;top:30px;right:3%;width:22px;height:105px;border-radius:15px;background:#f1d227;transform:rotate(37deg)}
.arrival-photo,.arrival-film{position:absolute;z-index:1;overflow:hidden;background:#e6eef3}
.arrival-photo img,.arrival-film video{display:block;width:100%;height:100%;object-fit:cover}
.arrival-friends{top:0;right:9%;width:74%;height:92%;border-radius:49% 49% 20px 20px / 36% 36% 20px 20px}
.arrival-friends img{object-position:50% 42%}
.arrival-film{right:0;bottom:2%;width:54%;height:38%;border:7px solid #fff;border-radius:18px;background:#173b66;box-shadow:0 18px 44px rgba(15,49,75,.18)}
.video-toggle{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(255,255,255,.88);color:#173b66;cursor:pointer}
.video-toggle span{display:block;width:10px;height:13px;border-left:3px solid currentColor;border-right:3px solid currentColor}
.video-toggle[aria-label^="Play"] span{width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:11px solid currentColor;border-right:0}

.home-events{position:relative;padding-top:74px;background:#f6f9fb}
.home-events.is-empty{padding-block:52px}
.brand-section-head h2{font-size:clamp(2rem,3.2vw,3rem)}
.event-cover{background:#e5edf2 linear-gradient(100deg,#e5edf2 10%,#f4f8fa 40%,#e5edf2 70%);background-size:200% 100%;animation:event-pulse 1.3s linear infinite}
.event-cover.media-loaded{background:#e5edf2;animation:none}
@keyframes event-pulse{to{background-position-x:-200%}}
.event-cover img{width:100%;height:100%;object-fit:cover}
.brand-empty{background:#f5f9fc}
.home-empty{padding:27px 0;border:0;border-top:1px solid #dce6ee;border-bottom:1px solid #dce6ee;border-radius:0;background:transparent}
.home-empty>a{color:#1d5f9f;font-size:.86rem;font-weight:700;text-underline-offset:5px;white-space:nowrap}
.home-etag-feature{background:#fff}
.home-etag-feature .brand-etag-grid{grid-template-columns:.82fr 1.18fr;min-height:450px;gap:54px}
.home-etag-feature img{align-self:center;width:100%;height:auto;max-height:390px;object-fit:contain;border-radius:0}
.home-how{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:center;gap:clamp(32px,6vw,90px);padding-block:105px;border-top:0}
.home-how-copy h2{max-width:470px}
.home-how-copy ol{display:flex;flex-direction:column;gap:0;margin:32px 0 24px}
.home-how-copy li{display:flex;align-items:center;gap:18px;padding:15px 0;border:0;border-top:1px solid #dce6ee}
.home-how-copy li:last-child{border-bottom:1px solid #dce6ee}
.home-how-copy li b{flex:0 0 31px;display:grid;place-items:center;width:31px;height:31px;margin:0;border-radius:50%;background:#e4f0f7;color:#1d5f9f;line-height:1}
.home-how-copy li span{font-size:.96rem}
.home-how-image{position:relative;min-width:0;aspect-ratio:1.28;margin:0;overflow:hidden;border-radius:18px 155px 18px 18px;background:#e8f3f8}
.home-how-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.home-how-image figcaption{position:absolute;right:18px;bottom:18px;left:18px;width:max-content;max-width:calc(100% - 36px);padding:10px 14px;border-radius:8px;background:rgba(255,255,255,.94);color:#17324d;font-size:.78rem;font-weight:700}

.app-band{padding:34px 0;background:#eaf3f8}
.app-band-inner{display:grid;grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:22px}
.app-band img{width:74px;height:74px;object-fit:contain;border-radius:17px;background:white}
.app-band h2{margin:0;color:#173b66;font-size:1.28rem;letter-spacing:-.025em}
.app-band p{margin:4px 0 0;color:#536b7e;font-size:.86rem}
.app-band .button{white-space:nowrap}

.brand-hero{padding:146px 0 83px;background:white;color:#17324d}
.brand-hero-copy h1{font-weight:800}
.brand-hero-copy>p,.brand-organisers .brand-hero-copy>p{color:#536b7e}
.brand-text-link{color:#1d5f9f}
.brand-media{border:0;border-radius:22px;box-shadow:none}
.brand-media:after{display:none}
.brand-events{background:#f5f9fc}
.brand-organisers{background:white}
.event-catalogue.brand-section{padding-top:90px}
.brand-etag,.organiser-route,.brand-payment{content-visibility:auto;contain-intrinsic-size:auto 500px}

@media(max-width:1120px){.header-inner{grid-template-columns:1fr auto 1fr;gap:10px;padding-inline:14px}.desktop-nav a{padding-inline:8px;font-size:.79rem}.header-end{gap:5px}.header-actions{gap:9px}.header-actions .text-link{font-size:.79rem}.brand{width:108px}}
@media(max-width:900px){.header-inner{display:flex;justify-content:space-between;height:66px}.brand{order:0;justify-self:auto;margin-right:auto}.header-nav-start,.header-nav-end{display:none}.header-end{order:1}.mobile-nav{top:66px}.home-masthead{padding:108px 0 68px}.home-first{grid-template-columns:1fr;gap:42px}.masthead-copy{text-align:center}.masthead-copy h1,.masthead-copy p{margin-left:auto;margin-right:auto}.masthead-actions{justify-content:center}.arrival-board{width:min(100%,650px);height:520px;margin:auto}.home-how{grid-template-columns:1fr;gap:35px}.home-how-image{max-height:470px}.brand-hero{padding-top:132px}.home-etag-feature .brand-etag-grid{grid-template-columns:1fr;gap:15px;padding-block:60px}.home-etag-feature img{max-height:420px}}
@media(max-width:700px){.home-events{padding-top:62px}.app-band-inner{grid-template-columns:56px 1fr;gap:14px}.app-band img{width:56px;height:56px}.app-band .button{grid-column:1/-1;justify-self:start}}
@media(max-width:600px){.site-header{padding:0}.header-inner{height:60px;border-radius:0}.brand{width:102px}.header-cta{display:none}.mobile-nav{top:60px;left:0;right:0;border-radius:0}.home-masthead{padding:96px 0 54px}.home-first{gap:28px}.masthead-copy h1{font-size:clamp(2.85rem,10vw,4.2rem)}.masthead-copy p{max-width:390px;margin-top:18px;margin-bottom:24px;font-size:.96rem}.masthead-actions .button{min-height:46px;padding-inline:18px;font-size:.82rem}.arrival-board{height:370px}.arrival-board::before{top:18px;right:2%;width:82%;height:89%}.arrival-board::after{top:17px;right:4%;width:14px;height:65px}.arrival-friends{right:10%;width:78%;height:92%;border-radius:48% 48% 16px 16px / 30% 30% 16px 16px}.arrival-film{right:0;bottom:1%;width:57%;height:39%;border-width:5px;border-radius:14px}.home-events{padding-top:55px}.home-empty{align-items:flex-start;gap:10px;padding:22px 0}.home-how{padding-block:65px}.home-how-image{aspect-ratio:1.05;border-radius:14px 100px 14px 14px}.home-how-image figcaption{right:12px;bottom:12px;left:12px;max-width:calc(100% - 24px);font-size:.7rem}.brand-hero{padding-top:112px}.app-band{padding:26px 0}.app-band h2{font-size:1.1rem}}

/* Homepage polish: one memorable arrival moment and a calm, useful empty state. */
.arrival-note{position:absolute;z-index:2;left:0;bottom:9%;display:grid;gap:3px;padding:14px 17px;border-left:4px solid #f1d227;background:#173b66;color:white;box-shadow:0 15px 34px rgba(15,49,75,.18)}
.arrival-note span{color:#f1d227;font-size:.66rem;font-weight:700;letter-spacing:.06em}
.arrival-note strong{font-size:1rem;line-height:1.1}
.home-empty{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;padding:28px 30px;border:0;border-radius:18px;background:#173b66;color:white;box-shadow:0 15px 35px rgba(23,59,102,.12)}
.home-empty h3{color:white}
.home-empty p{color:#c9d9e7}
.home-empty-mark{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(241,210,39,.75);border-radius:50%;color:#f1d227;font-size:1.5rem}
.home-empty-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.home-empty-link,.home-empty-retry{font-size:.82rem;font-weight:700;text-underline-offset:5px}
.home-empty-link{padding:11px 15px;border-radius:10px;background:#f1d227;color:#173b66;text-decoration:none}
.home-empty-retry{color:white}
.play-store-link{display:inline-flex;align-items:center;gap:10px}
.play-store-mark{width:20px;height:20px;flex:none}
@media(max-width:700px){.arrival-note{left:4%;bottom:9%;padding:11px 13px}.home-empty{grid-template-columns:auto 1fr;gap:14px;padding:22px}.home-empty-actions{grid-column:1/-1;padding-left:62px}}
@media(prefers-reduced-motion:reduce){.event-cover{animation:none}.video-toggle{display:none}}
