/* Shared refresh: motion, depth and calmer typography. */
:root{--refresh-ease:cubic-bezier(.2,.7,.25,1)}
body{background:#090b0e;color:#fffdf8}
.site-header{background:rgba(8,10,13,.86);border-bottom:1px solid rgba(214,168,75,.18);transition:background .3s,box-shadow .3s}
.site-header.is-scrolled{background:rgba(8,10,13,.97);box-shadow:0 8px 30px #0003}
.main-nav{gap:18px;letter-spacing:.02em}.main-nav a{transition:color .2s}.main-nav a:hover{color:var(--gold-2)}
.btn{font-weight:700;letter-spacing:0;text-transform:none;transition:transform .25s var(--refresh-ease),background .25s,box-shadow .25s}
.btn-primary:hover{box-shadow:0 7px 28px #d6a84b35;transform:translateY(-3px)}
.page-hero h1{font-family:Arial,Helvetica,sans-serif;letter-spacing:-.045em;font-size:clamp(3rem,7vw,6.3rem)}
.page-hero.with-mascot{background:radial-gradient(ellipse at 85% 60%,#d6a84b12,transparent 40%),#0c0e12}
.page-hero .page-mascot{animation:belfor-breathe 5.5s ease-in-out infinite;transform-origin:50% 95%}
.page-hero .pose-planner{animation-duration:6s}.page-hero .pose-player{animation-name:belfor-ready}.page-hero .pose-cheering{animation-name:belfor-cheer;animation-duration:3.8s}
@keyframes belfor-breathe{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-9px) rotate(1deg)}}
@keyframes belfor-ready{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(-2deg)}}
@keyframes belfor-cheer{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-12px) rotate(2deg)}}
.home-page .hero{min-height:780px;padding:140px 0 62px;align-items:center}
.home-page .hero-bg{background-image:url('assets/optimized/graslei-frederic.webp');background-position:center 50%;animation:gent-drift 28s ease-in-out infinite alternate;opacity:.75}
@keyframes gent-drift{from{transform:scale(1.03) translateX(0)}to{transform:scale(1.13) translateX(-1%)}}
.home-page .hero:after{background:linear-gradient(90deg,rgba(8,10,13,.91),rgba(8,10,13,.45)),linear-gradient(0deg,#090b0e,transparent 35%,rgba(8,10,13,.18))}
.home-page .hero-grid{grid-template-columns:minmax(0,1.25fr) minmax(330px,.86fr);gap:64px;align-items:center}
.hero-intro{animation:intro-enter .9s var(--refresh-ease) both}
@keyframes intro-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.hero .kicker{font-weight:700;font-size:.7rem;letter-spacing:.15em;display:flex;align-items:center;gap:12px}
.hero .kicker:before{content:'';width:28px;height:2px;background:var(--gold)}
.home-page .hero h1{font-size:clamp(3rem,5.3vw,5rem);font-weight:750;line-height:1.02;letter-spacing:-.055em;margin:22px 0 0}
.hero h1 .gent-line{display:block;color:var(--gold-2)}
.home-page .hero-copy{font-size:1rem;max-width:510px;line-height:1.75;color:#d7d9de;margin:26px 0 28px}
.hero-event-line{display:flex;align-items:center;gap:14px;font-size:.8rem;color:#e4ddd0;margin-top:32px}
.hero-event-line:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px #d6a84b19}
.home-hero-side{position:relative;display:flex;flex-direction:column;gap:18px;align-items:stretch}
.hero-scene{position:relative;isolation:isolate;aspect-ratio:16/9;border:1.5px solid var(--gold);border-radius:22px;overflow:hidden;box-shadow:0 20px 70px #0005;background:#15191d}
.scene-poster,.hero-scene canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-scene canvas{opacity:0;transition:opacity .8s;z-index:1}.hero-scene.has-frames canvas{opacity:1}
.hero-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#080a0dc4,transparent 62%);pointer-events:none;z-index:2}
.scene-caption{position:absolute;bottom:17px;left:19px;z-index:3;display:flex;gap:10px;align-items:center;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700}
.scene-dot{width:6px;height:6px;border-radius:100%;background:var(--gold-2);box-shadow:0 0 0 4px #d6a84b26}
.scene-mascot{position:absolute;bottom:15px;right:12px;width:105px;height:105px;background-image:url('assets/optimized/belfor-vier-poses.webp');background-size:200% 200%;background-position:0 0;z-index:3;filter:drop-shadow(0 5px 7px #0008);animation:belfor-breathe 5s ease-in-out infinite}
.scene-play{position:absolute;right:13px;top:13px;z-index:4;border:1px solid #f0d28c80;background:#090b0ebd;backdrop-filter:blur(8px);border-radius:50%;color:white;width:34px;height:34px;cursor:pointer;font-size:13px}
.home-page .count-card{padding:22px 24px;background:#0c1015d9;border-radius:20px;backdrop-filter:blur(12px)}
.count-card .prototype{border:0;padding:0;color:var(--gold-2);font-size:.64rem;letter-spacing:.12em}
.count-title{display:inline;margin-left:10px!important;font-size:.95rem!important}.count-card .count-grid{margin-top:18px;gap:8px}.count-card .count-unit{padding:12px 6px;background:#ffffff05;border-color:#d6a84b45!important;border-width:1px!important;border-radius:11px}
.count-num{font-variant-numeric:tabular-nums}.count-card .meta-row{margin-top:16px;padding-top:13px}.count-card .meta-row a{align-self:center;color:var(--gold-2)}
.home-quick{position:relative;overflow:hidden;background:linear-gradient(125deg,#17191c,#0c0f13);padding:24px;border-radius:18px;transition:transform .3s var(--refresh-ease),box-shadow .3s,background .3s}
.home-quick:hover{transform:translateY(-6px);box-shadow:0 14px 35px #0004;background:linear-gradient(125deg,#262116,#101317)}
.home-quick b{transition:transform .3s}.home-quick:hover b{transform:translateX(6px)}
.home-quick strong{font-size:1.08rem}.home-quick span{color:#afb6c0;line-height:1.6}
.content-panel,.info-card,.team-card,.country-card,.ticket-feature,.time-card,.news-card{transition:transform .3s var(--refresh-ease),box-shadow .3s,background .3s}
.info-card:hover,.team-card:hover,.country-card:hover,.news-card:hover{transform:translateY(-4px);box-shadow:0 14px 36px #0004}
.image-panel img,.tourism-card img{transition:transform 1s var(--refresh-ease)}.image-panel:hover img,.tourism-card:hover img{transform:scale(1.045)}
.content-panel{background:linear-gradient(135deg,#18191c,#0c1015)}
.belfor-panel{background:radial-gradient(ellipse at 27% 60%,#d6a84b14,transparent 45%),#101317}.belfor-art img{animation:belfor-breathe 6s ease-in-out infinite}
.badge.live:before{animation:live-pulse 2.4s ease-out infinite}@keyframes live-pulse{0%,100%{box-shadow:0 0 0 4px #f34f4320}50%{box-shadow:0 0 0 9px #f34f4300}}
.reveal-pending{opacity:0;transform:translateY(22px)}.reveal-in{opacity:1;transform:none;transition:opacity .7s var(--refresh-ease),transform .7s var(--refresh-ease);transition-delay:var(--reveal-delay,0ms)}
.motion-toggle{position:fixed;right:20px;bottom:18px;z-index:45;display:flex;gap:8px;align-items:center;border:1px solid #d6a84b70;border-radius:24px;padding:9px 14px;color:#e4d6b8;background:#101317ed;font-size:11px;cursor:pointer;box-shadow:0 5px 25px #0005;backdrop-filter:blur(10px)}
.motion-toggle:hover{background:#282218}.footer{padding-bottom:65px}
body.motion-paused *,body.motion-paused *:before,body.motion-paused *:after{animation-play-state:paused!important}
body.motion-paused .reveal-pending{opacity:1;transform:none}
@media(min-width:1700px){.home-page .hero{min-height:860px}}
@media(max-width:1100px){.home-page .hero-grid{gap:32px;grid-template-columns:minmax(0,1.1fr) minmax(300px,.85fr)}.home-page .hero h1{font-size:3.4rem}.hero .kicker{font-size:.62rem}.count-title{display:block;margin:12px 0 0!important}}
@media(max-width:800px){.home-page .hero{padding:125px 0 40px;min-height:0}.home-page .hero-grid{grid-template-columns:1fr;gap:30px}.home-page .hero h1{font-size:clamp(3rem,8vw,4.3rem)}.home-hero-side{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}.hero-scene{aspect-ratio:auto;min-height:240px}.scene-mascot{width:90px;height:90px}.hero-event-line{margin-top:24px}.home-page .hero-copy{max-width:580px}.scene-caption{font-size:.6rem}}
@media(max-width:560px){.home-page .hero h1{font-size:clamp(2.7rem,11.5vw,3.4rem)}.home-page .hero-grid{gap:28px}.hero .kicker{font-size:.58rem;letter-spacing:.09em;gap:8px}.hero .kicker:before{width:18px}.home-hero-side{display:flex;gap:16px}.hero-scene{min-height:0;aspect-ratio:16/9}.count-title{display:inline;margin-left:9px!important}.home-page .count-card{padding:20px}.motion-toggle{right:12px;bottom:12px;font-size:10px;padding:8px 12px}.page-hero.with-mascot h1{font-size:clamp(3rem,12vw,4.5rem)}}
.hero-intro>.kicker{display:inline-flex;max-width:100%;padding:11px 16px;border-radius:9px;border:1px solid #ffe2a0;background:linear-gradient(105deg,#d6a84b,#f0d28c);box-shadow:0 6px 26px #d6a84b22;color:#19140b;font-size:clamp(.72rem,1.05vw,.91rem);line-height:1.5;font-weight:800;letter-spacing:.075em}
.hero-intro>.kicker:before{width:8px;height:8px;flex:0 0 8px;border:1px solid #433310;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff3c4,#6d511b);box-shadow:0 0 0 3px #6d511b13}
@media(max-width:560px){.hero-intro>.kicker{font-size:.67rem;padding:9px 11px;letter-spacing:.05em;gap:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-pending{opacity:1;transform:none}}

.scene-caption{right:85px;line-height:1.5;letter-spacing:.04em;bottom:21px}.scene-duration{position:absolute;z-index:3;top:15px;left:17px;color:#fff8e6;background:#0c1015b3;border:1px solid #e0bb6555;border-radius:20px;padding:5px 9px;font-size:10px;letter-spacing:.03em}.scene-progress{position:absolute;bottom:0;left:0;width:100%;height:3px;background:#e7be60;z-index:4;transform:scaleX(0);transform-origin:left}.scene-mascot{width:82px;height:82px;right:5px;bottom:10px}
.scene-source{position:absolute;width:1px;height:1px;opacity:.001;pointer-events:none;bottom:0;left:0}.scene-watch{align-self:flex-start;color:#efd08b;font-size:.75rem;text-decoration:underline;text-underline-offset:4px;margin-top:-8px}

/* Event name: keep both lines readable on every page. */
.brand-title{font-size:.75rem;line-height:1.4;letter-spacing:.025em;white-space:normal}.brand>span:last-child{min-width:0}.brand-sub{margin-top:4px}@media(max-width:560px){.brand{gap:9px}.brand-title{font-size:.64rem}.brand-sub{font-size:.5rem}}
