/* === GLOBAL STYLES === */
body{margin:0;font-family:Arial,sans-serif;background-color:#e6f9e4;color:#222;}
.header{text-align:center;padding:20px 0;background:none;}
.header h1{font-size:2.25rem;letter-spacing:.5px;color:rgba(218,165,32,.9);text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;margin:0;}
.title-underline{height:6px;background-color:#000;width:fit-content;margin:.5rem auto 1.5rem;}
.language-selector{text-align:center;margin:1rem 0;}
.language-selector a{color:rgba(218,165,32,.9);font-weight:bold;text-decoration:none;margin:0 1rem;font-size:1rem;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;}
.language-selector a:hover{ text-decoration:underline; }
.banner-image{width:100%;max-width:60%;height:260px;margin:1rem auto 2rem;border:1px solid #000;border-radius:6px;overflow:hidden;display:flex;justify-content:center;align-items:center;background-color:#fff;}
.banner-image img{width:100%;height:100%;object-fit:fill;border-radius:4px;display:block;}
.content{max-width:1000px;margin:1.5rem auto;padding:2rem;}
.article{background:#fff;border-radius:10px;padding:2rem;box-shadow:0 0 10px rgba(0,0,0,.1);line-height:1.8;font-size:1.15rem;text-align:justify;}
.article h2{margin-top:.2rem;font-size:1.4rem;}
.article p{margin-bottom:1.4rem;}
.highlight{color:#004aad;font-weight:bold;}
.quote{font-style:italic;color:#444;margin:1.8rem 0;line-height:1.9;}
.enter-button-container{text-align:center;margin-top:2.5rem;}
.enter-button{display:inline-block;background-color:#007bff;color:#fff;padding:.75rem 1.5rem;font-size:1.1rem;border-radius:8px;text-decoration:none;box-shadow:0 4px 8px rgba(0,0,0,.1);transition:background-color .3s ease,transform .2s ease;}
.enter-button:hover{background-color:#0056b3;transform:translateY(-2px);}
.animated-banner{background-color:#1d3b5d;height:300px;overflow:hidden;position:relative;margin:2rem auto;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.2);max-width:750px;}
.animation-container{background:url('../images/cityroad.jpg') repeat-x;background-size:contain;background-position:bottom;height:100%;width:200%;animation:scrollCity 10s linear infinite;position:absolute;}
@keyframes scrollCity{0%{background-position-x:0}100%{background-position-x:-100vw}}
.cyclists{position:absolute;display:flex;justify-content:center;align-items:center;gap:3px;width:100%;}
.breakaway{bottom:30px;left:-10%;}
.grupetto{bottom:30px;left:-40%;}
.cyclist{width:80px;height:auto;display:block;transform-origin:50% 85%;transition:transform .18s ease,filter .18s ease;will-change:transform;}
.cyclist.pedal-step{transform:translateY(-2px) rotate(-.35deg);}
.cyclist.is-paused{transform:translateY(0) rotate(0);filter:saturate(.9);}
.site-footer{margin-top:40px;padding:20px 10px;text-align:center;border-top:1px solid rgba(255,255,255,.12);}
.footer-links{display:flex;justify-content:center;gap:30px;margin-bottom:14px;flex-wrap:wrap;}
.footer-links a{color:#ffd400;font-weight:700;text-decoration:none;font-size:15px;transition:.2s;}
.footer-links a:hover{transform:translateY(-1px);text-shadow:0 0 6px rgba(255,212,0,.5);}
.footer-copy{max-width:1000px;margin:auto;font-size:13px;line-height:1.5;color:#f4f4f4;opacity:.9;font-weight:600;text-shadow:1px 1px 0 #000,-1px -1px 0 #000;}
.device-note{margin-top:20px;text-align:center;font-size:13px;line-height:1.6;color:#d1d5db;opacity:.9;}
.subtitle{margin:8px 0 12px;font-size:1.4rem;font-weight:600;text-align:center;letter-spacing:1px;color:#f5f5f5;text-transform:uppercase;}
@media(max-width:500px){.banner-image{max-width:95%;height:200px}.content{padding:1rem}.article{padding:1.25rem}.language-selector a{display:inline-block;margin:.3rem .55rem}.cyclist{width:64px}}
@media(prefers-reduced-motion:reduce){.animation-container{animation:none}.cyclist{transition:none}}
