@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&family=Alex+Brush&family=Great+Vibes&display=swap";
@font-face{font-family:Decalotype;src:url(/fonts/Decalotype-Regular.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Decalotype;src:url(/fonts/Decalotype-Italic.otf)format("opentype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Decalotype;src:url(/fonts/Decalotype-Light.otf)format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Decalotype;src:url(/fonts/Decalotype-LightItalic.otf)format("opentype");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Decalotype;src:url(/fonts/Decalotype-Medium.otf)format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Decalotype;src:url(/fonts/Decalotype-MediumItalic.otf)format("opentype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Decalotype;src:url(/fonts/Decalotype-SemiBold.otf)format("opentype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Decalotype;src:url(/fonts/Decalotype-SemiBoldItalic.otf)format("opentype");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:Decalotype;src:url(/fonts/Decalotype-Bold.otf)format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Decalotype;src:url(/fonts/Decalotype-BoldItalic.otf)format("opentype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Decalotype;src:url(/fonts/Decalotype-ExtraBold.otf)format("opentype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Decalotype;src:url(/fonts/Decalotype-ExtraBoldItalic.otf)format("opentype");font-weight:800;font-style:italic;font-display:swap}@font-face{font-family:Decalotype;src:url(/fonts/Decalotype-Black.otf)format("opentype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Decalotype;src:url(/fonts/Decalotype-BlackItalic.otf)format("opentype");font-weight:900;font-style:italic;font-display:swap}:root{--navy:#00265e;--navy-light:#0b0d12;--navy-mid:#1e222b;--white:#fff;--gray-light:#f2f3f7;--gray:#b8bcc6;--gray-dark:#2a2e3a;--gold:#ffd400;--gold-light:#fff2a6;--blue-sea:#00265e;--blue-light:#00dbff;--green:#22c55e;--red:#ef4444;--shadow-sm:0 2px 8px #0a162814;--shadow-md:0 8px 30px #0a16281f;--shadow-lg:0 20px 60px #0a16282e;--radius:16px;--radius-sm:10px;--transition:.3s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--white);color:var(--navy);-webkit-font-smoothing:antialiased;font-family:Decalotype,Montserrat,sans-serif;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button{cursor:pointer;border:none;font-family:inherit}ul{list-style:none}.header{z-index:100;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);height:110px;transition:var(--transition);background:#00265eeb;border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:0 clamp(1rem,4vw,3rem);display:flex;position:fixed;top:0;left:0;right:0}.header.scrolled{box-shadow:var(--shadow-md);background:#00265efa}.header__logo{color:var(--white);letter-spacing:1px;font-size:1.25rem;font-weight:700}.header__logo span{color:var(--gold)}.header__nav{align-items:center;gap:2rem;display:flex}.header__link{color:#ffffffbf;letter-spacing:.5px;transition:var(--transition);font-size:.875rem;font-weight:500;position:relative}.header__link:hover,.header__link.active{color:var(--white)}.header__link:after{content:"";background:var(--gold);width:0;height:2px;transition:var(--transition);position:absolute;bottom:-4px;left:0}.header__link:hover:after,.header__link.active:after{width:100%}.lang-switcher{gap:4px;margin-left:1rem;display:flex}.lang-btn{color:#ffffff80;transition:var(--transition);background:0 0;border:1px solid #ffffff26;border-radius:6px;padding:4px 10px;font-size:.75rem;font-weight:600}.lang-btn:hover{color:var(--white);border-color:#ffffff4d}.lang-btn.active{background:var(--gold);color:var(--navy);border-color:var(--gold)}.mobile-toggle{background:0 0;flex-direction:column;gap:5px;padding:8px;display:none}.mobile-toggle span{background:var(--white);width:24px;height:2px;transition:var(--transition)}.hero{background-color:var(--navy);background-image:url(/images/gallery/gallery_7.webp);background-position:50%;background-size:cover;justify-content:center;align-items:center;height:100vh;min-height:600px;display:flex;position:relative;overflow:hidden}.hero__overlay{z-index:1;background:linear-gradient(#0b0d1266 0%,#0b0d12bf 100%);position:absolute;inset:0}.hero__bg-pattern{z-index:0;opacity:.08;background-image:radial-gradient(circle at 20%,#c9a96e4d 0%,#0000 50%),radial-gradient(circle at 80% 20%,#1e7fa833 0%,#0000 40%);position:absolute;inset:0}.hero__content{z-index:2;text-align:center;max-width:800px;padding:0 1.5rem;animation:1s ease-out fadeUp;position:relative}.hero__tag{color:var(--gold-light);letter-spacing:2px;text-transform:uppercase;background:#c9a96e26;border:1px solid #c9a96e4d;border-radius:50px;margin-bottom:1.5rem;padding:8px 20px;font-size:.8rem;font-weight:600;display:inline-block}.hero h1{color:var(--white);margin-bottom:1rem;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:700;line-height:1.1}.hero__subtitle{color:#ffffffb3;margin-bottom:2.5rem;max-width:600px;margin-inline:auto;font-size:clamp(1rem,2vw,1.25rem);font-weight:300}.hero__cta{background:var(--gold);color:var(--navy);transition:var(--transition);border-radius:50px;align-items:center;gap:10px;padding:16px 40px;font-size:1rem;font-weight:600;display:inline-flex;box-shadow:0 4px 20px #c9a96e4d}.hero__cta:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 8px 30px #c9a96e66}.hero__scroll{z-index:2;color:#fff6;text-align:center;font-size:.75rem;animation:2s infinite bounce;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.section{padding:clamp(4rem,8vw,7rem) clamp(1rem,4vw,3rem)}.section--navy{background:var(--navy);color:var(--white)}.section--gray{background:var(--gray-light)}.section__header{text-align:center;margin-bottom:3.5rem}.section__tag{letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:.75rem;font-size:.75rem;font-weight:600;display:inline-block}.section__title{text-transform:uppercase;font-size:clamp(1.75rem,4vw,2.75rem);font-weight:700;line-height:1.2}.section__subtitle{color:var(--gray-dark);margin-top:.75rem;max-width:600px;margin-inline:auto;font-size:1rem;font-weight:300}.section--navy .section__subtitle{color:#fff9}.container{max-width:1200px;margin:0 auto}.routes-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:2rem;display:grid}.route-card{border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-md);transition:var(--transition);position:relative;overflow:hidden}.route-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px)}.route-card__image{background:linear-gradient(135deg, var(--navy-light), var(--blue-sea));color:#fff3;justify-content:center;align-items:center;height:240px;font-size:3rem;display:flex;position:relative;overflow:hidden}.route-card__image:after{content:"⛵";opacity:.15;font-size:4rem;position:absolute}.route-card__image--custom:after{display:none!important}.route-card__body{padding:1.75rem}.route-card__title{margin-bottom:.75rem;font-size:1.35rem;font-weight:700}.route-card__desc{color:var(--gray-dark);margin-bottom:1rem;font-size:.95rem;line-height:1.7}.route-card__meta{color:var(--blue-sea);align-items:center;gap:8px;font-size:.85rem;font-weight:500;display:flex}.included-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;display:grid}.included-card{border-radius:var(--radius);transition:var(--transition);background:#ffffff0f;border:1px solid #ffffff14;padding:2rem}.included-card:hover{background:#ffffff1a;border-color:#c9a96e33;transform:translateY(-4px)}.included-card__icon{margin-bottom:1rem;font-size:2rem}.included-card__title{margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.included-card__desc{color:#fff9;font-size:.9rem;line-height:1.6}.prices-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;display:grid}.price-card{text-align:center;border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-sm);transition:var(--transition);border:1px solid #0a16280f;padding:2rem}.price-card:hover{box-shadow:var(--shadow-md);border-color:var(--gold)}.price-card__month{color:var(--gray-dark);text-transform:uppercase;letter-spacing:1px;margin-bottom:.75rem;font-size:.85rem;font-weight:600}.price-card__amount{color:var(--navy);font-size:2.5rem;font-weight:700}.price-card__amount span{font-size:1.25rem}.price-card__label{color:var(--gray-dark);margin-top:.25rem;font-size:.8rem}.prices-note{text-align:center;color:var(--gray-dark);margin-top:1.5rem;font-size:.9rem}.booking-layout{grid-template-columns:1fr 380px;align-items:start;gap:2.5rem;display:grid}.booking-form{flex-direction:column;gap:2rem;display:flex}.booking-step{border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-sm);border:1px solid #0a16280f;padding:2rem}.booking-step__title{align-items:center;gap:10px;margin-bottom:1.25rem;font-size:1.1rem;font-weight:600;display:flex}.booking-step__number{background:var(--navy);width:28px;height:28px;color:var(--white);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-header{text-align:center;color:var(--gray-dark);padding:8px 0;font-size:.75rem;font-weight:600}.calendar-day{aspect-ratio:1;border-radius:var(--radius-sm);transition:var(--transition);cursor:pointer;border:2px solid #0000;justify-content:center;align-items:center;font-size:.85rem;font-weight:500;display:flex}.calendar-day:hover:not(.disabled):not(.blocked){background:var(--blue-light)}.calendar-day.selected{background:var(--navy);color:var(--white)}.calendar-day.disabled{opacity:.3;cursor:not-allowed}.calendar-day.blocked{background:var(--gray-light);color:var(--gray);cursor:not-allowed;text-decoration:line-through}.calendar-day.today{border-color:var(--gold)}.calendar-nav{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.calendar-nav button{background:var(--gray-light);transition:var(--transition);border-radius:8px;padding:6px 14px;font-size:.85rem;font-weight:600}.calendar-nav button:hover{background:var(--navy);color:var(--white)}.calendar-nav span{font-weight:600}.route-option{border-radius:var(--radius-sm);border:2px solid var(--gray-light);cursor:pointer;transition:var(--transition);align-items:center;gap:12px;padding:1rem 1.25rem;display:flex}.route-option:hover{border-color:var(--navy)}.route-option.selected{border-color:var(--navy);background:#0a162808}.route-option__radio{border:2px solid var(--gray);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.route-option.selected .route-option__radio{border-color:var(--navy)}.route-option.selected .route-option__radio:after{content:"";background:var(--navy);border-radius:50%;width:10px;height:10px}.route-option__name{font-size:.95rem;font-weight:600}.people-selector{align-items:center;gap:1rem;display:flex}.people-btn{background:var(--gray-light);width:40px;height:40px;transition:var(--transition);border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;font-weight:600;display:flex}.people-btn:hover:not(:disabled){background:var(--navy);color:var(--white)}.people-btn:disabled{opacity:.3;cursor:not-allowed}.people-count{text-align:center;min-width:40px;font-size:1.5rem;font-weight:700}.form-group{margin-bottom:1rem}.form-label{color:var(--gray-dark);margin-bottom:6px;font-size:.85rem;font-weight:500;display:block}.form-input{border-radius:var(--radius-sm);border:2px solid var(--gray-light);width:100%;transition:var(--transition);background:var(--white);padding:12px 16px;font-size:.95rem}.form-input:focus{border-color:var(--navy);outline:none}.booking-summary{border-radius:var(--radius);background:var(--navy);color:var(--white);box-shadow:var(--shadow-lg);padding:2rem;position:sticky;top:90px}.booking-summary__title{border-bottom:1px solid #ffffff1a;margin-bottom:1.5rem;padding-bottom:1rem;font-size:1.1rem;font-weight:600}.booking-summary__row{justify-content:space-between;padding:8px 0;font-size:.9rem;display:flex}.booking-summary__row span:first-child{color:#fff9}.booking-summary__total{border-top:1px solid #ffffff26;justify-content:space-between;margin-top:1rem;padding:1rem 0;font-size:1.2rem;font-weight:700;display:flex}.booking-summary__total span:last-child{color:var(--gold)}.booking-summary__cta{background:var(--gold);width:100%;color:var(--navy);border-radius:var(--radius-sm);transition:var(--transition);margin-top:1.5rem;padding:16px;font-size:1rem;font-weight:700}.booking-summary__cta:hover{background:var(--gold-light);transform:translateY(-1px)}.booking-summary__cta:disabled{opacity:.5;cursor:not-allowed;transform:none}.booking-summary__policy{color:#ffffff80;text-align:center;margin-top:1rem;font-size:.8rem}.exp-hero{text-align:center;background-color:var(--navy);color:var(--white);background-position:50%;background-size:cover;padding:10rem 1.5rem 6rem;position:relative}.exp-hero--rotte{background-image:linear-gradient(#0b0d1273,#0b0d12cc),url(/images/rotte_hero.webp)}.exp-hero--esperienza{background-image:linear-gradient(#0b0d1273,#0b0d12cc),url(/images/esperienza_hero_bg.webp)}.exp-hero--prenota{background-image:linear-gradient(#0b0d1273,#0b0d12cc),url(/images/prenota_hero.webp)}.exp-hero--contatti{background-image:linear-gradient(#0b0d1273,#0b0d12cc),url(/images/contatti_hero.webp)}.timeline{max-width:600px;margin:0 auto}.timeline-item{border-left:2px solid var(--gray-light);gap:1.25rem;padding:1.25rem 0 1.25rem 1.5rem;display:flex;position:relative}.timeline-item:before{content:"";background:var(--gold);border:2px solid var(--white);border-radius:50%;width:10px;height:10px;position:absolute;top:1.5rem;left:-6px}.timeline-item__text{color:var(--navy);font-size:.95rem}.contact-grid{grid-template-columns:1fr 1fr;gap:3rem;display:grid}.contact-info{flex-direction:column;gap:1.5rem;display:flex}.contact-item{border-radius:var(--radius-sm);background:var(--gray-light);transition:var(--transition);align-items:center;gap:1rem;padding:1.25rem;display:flex}.contact-item:hover{box-shadow:var(--shadow-sm)}.contact-item__icon{background:var(--navy);width:48px;height:48px;color:var(--white);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.5rem;display:flex}.contact-item__label{color:var(--gray-dark);font-size:.8rem}.contact-item__value{font-size:.95rem;font-weight:600}.map-container{border-radius:var(--radius);height:400px;box-shadow:var(--shadow-md);overflow:hidden}.map-container iframe{border:0;width:100%;height:100%}.faq-list{max-width:700px;margin:3rem auto 0}.faq-item{border-bottom:1px solid var(--gray-light)}.faq-question{text-align:left;width:100%;transition:var(--transition);background:0 0;justify-content:space-between;align-items:center;padding:1.25rem 0;font-size:1rem;font-weight:600;display:flex}.faq-question:hover{color:var(--blue-sea)}.faq-answer{color:var(--gray-dark);padding:0 0 1.25rem;font-size:.95rem;line-height:1.7;display:none}.faq-item.open .faq-answer{display:block}.faq-icon{transition:var(--transition);font-size:1.25rem}.faq-item.open .faq-icon{transform:rotate(45deg)}.footer{background:var(--navy);color:#fff9;padding:3rem clamp(1rem,4vw,3rem) 1.5rem}.footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:1200px;margin:0 auto;display:flex}.footer__brand{color:var(--white);font-size:1.1rem;font-weight:700}.footer__brand span{color:var(--gold)}.footer__links{gap:1.5rem;font-size:.85rem;display:flex}.footer__links a:hover{color:var(--white)}.footer__copy{text-align:center;border-top:1px solid #ffffff14;width:100%;margin-top:2rem;padding-top:1.5rem;font-size:.8rem}.whatsapp-widget{z-index:90;color:#fff;width:56px;height:56px;transition:var(--transition);background:#25d366;border-radius:50%;justify-content:center;align-items:center;font-size:1.75rem;text-decoration:none;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 20px #25d36666}.whatsapp-widget:hover{transform:scale(1.1);box-shadow:0 6px 25px #25d36680}.cookie-banner{z-index:200;background:var(--navy);color:var(--white);justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem clamp(1rem,4vw,3rem);animation:.5s ease-out slideUp;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0003}.cookie-banner__text{color:#fffc;max-width:700px;font-size:.85rem}.cookie-banner__buttons{flex-shrink:0;gap:8px;display:flex}.cookie-banner__btn{transition:var(--transition);border-radius:8px;padding:8px 20px;font-size:.85rem;font-weight:600}.cookie-banner__btn--accept{background:var(--gold);color:var(--navy)}.cookie-banner__btn--decline{color:var(--white);background:#ffffff1a}.admin-layout{max-width:1000px;margin:0 auto;padding:5rem 1.5rem 3rem}.admin-login{text-align:center;max-width:400px;margin:8rem auto}.admin-login input{width:100%;margin:1rem 0}.admin-tabs{border-bottom:2px solid var(--gray-light);gap:4px;margin-bottom:2rem;display:flex}.admin-tab{color:var(--gray-dark);transition:var(--transition);background:0 0;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 20px;font-size:.9rem;font-weight:600}.admin-tab.active{color:var(--navy);border-bottom-color:var(--navy)}.admin-table{border-collapse:collapse;width:100%}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--gray-light);padding:12px 16px;font-size:.9rem}.admin-table th{color:var(--gray-dark);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:600}.success-page{text-align:center;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.success-icon{margin-bottom:1.5rem;font-size:4rem}.success-page h1{margin-bottom:.75rem;font-size:2rem}.success-page p{color:var(--gray-dark);max-width:500px;margin:0 auto}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes bounce{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-8px)}}.fade-in{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(20px)}.fade-in.visible{opacity:1;transform:translateY(0)}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;display:grid}.homepage-gallery-grid{grid-template-columns:repeat(4,1fr);gap:1.25rem;display:grid}@media (max-width:900px){.homepage-gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.homepage-gallery-grid{grid-template-columns:1fr}}.gallery-item{border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);transition:var(--transition);aspect-ratio:4/3;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:var(--transition)}.gallery-item:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)scale(1.02)}.gallery-item:hover img{transform:scale(1.05)}.slider-container{width:100%;margin-top:2rem;position:relative}.slider-track{scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:1.5rem;padding:1rem 0;display:flex;overflow-x:auto}.slider-track::-webkit-scrollbar{display:none}.slider-slide{scroll-snap-align:center;border-radius:var(--radius);box-shadow:var(--shadow-md);aspect-ratio:16/9;transition:transform .4s var(--ease);flex:0 0 75%;position:relative;overflow:hidden}.slider-slide img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.slider-slide:hover img{transform:scale(1.03)}@media (max-width:768px){.slider-slide{aspect-ratio:4/3;flex:0 0 90%}}.slider-controls{justify-content:space-between;align-items:center;max-width:1200px;margin:1.5rem auto 0;padding:0 1rem;display:flex}.slider-nav{gap:1rem;display:flex}.slider-arrow{background:var(--gray-light);width:48px;height:48px;color:var(--navy);cursor:pointer;transition:var(--transition);border:1px solid #00265e1a;border-radius:50%;justify-content:center;align-items:center;display:flex}.slider-arrow:hover{background:var(--navy);color:var(--white);border-color:var(--navy);transform:scale(1.05)}.slider-indicator{flex-grow:1;align-items:center;gap:2rem;margin-left:3rem;display:flex}.slider-counter{font-family:var(--font-serif);color:var(--navy);letter-spacing:1px;font-size:1.1rem;font-weight:600}.slider-progress-bar{background:var(--gray-light);border-radius:2px;flex-grow:1;max-width:300px;height:2px;position:relative;overflow:hidden}.slider-progress-fill{background:var(--navy);width:0%;height:100%;transition:width .2s;position:absolute;top:0;left:0}@media (max-width:600px){.slider-indicator{gap:1rem;margin-left:1rem}.slider-progress-bar{display:none}}@media (max-width:768px){.header__nav{background:#00265efa;flex-direction:column;gap:1.5rem;padding:2rem;display:none;position:fixed;top:110px;left:0;right:0}.header__nav.open,.mobile-toggle{display:flex}.booking-layout{grid-template-columns:1fr}.booking-summary{position:static}.contact-grid{grid-template-columns:1fr}.cookie-banner{text-align:center;flex-direction:column}.routes-grid{grid-template-columns:1fr}}.hero h1{text-transform:uppercase}.section--timeline{color:var(--white)!important;background:#0a1628!important}.section--timeline .section__title{text-align:center;color:var(--white)!important}.section--timeline .timeline{max-width:700px;margin:3.5rem auto 0;position:relative}.section--timeline .timeline:after{content:"";background:#ffffff1a;width:2px;position:absolute;top:0;bottom:0;left:30px}.section--timeline .timeline-item{border-left:none;align-items:flex-start;margin-bottom:2rem;padding-left:0;display:flex;position:relative}.section--timeline .timeline-item:before{display:none}.timeline-circle{border:2px solid var(--gold);width:60px;height:60px;color:var(--gold);z-index:1;background:#fbd3001a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-right:2rem;font-size:1.15rem;font-weight:700;display:flex}.timeline-content-box{background:#ffffff08;border:1px solid #ffffff0d;border-radius:12px;flex-grow:1;padding:1.25rem 1.75rem}.timeline-time{color:#c9a84c;margin-bottom:4px;font-size:1.1rem;font-weight:700}.timeline-desc{color:#ffffffd9;font-size:.95rem;line-height:1.6}@media (max-width:600px){.section--timeline .timeline:after{left:20px}.timeline-circle{width:40px;height:40px;margin-right:1rem;font-size:.95rem}}.modal-overlay{z-index:999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b0d12a6;justify-content:center;align-items:center;padding:1.5rem;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-container{background:var(--white);width:100%;max-width:800px;max-height:90vh;box-shadow:var(--shadow-lg);border:1px solid #c9a96e26;border-radius:20px;flex-direction:column;animation:.3s cubic-bezier(.34,1.56,.64,1) scaleUp;display:flex;position:relative;overflow-y:auto}.modal-container--dark{color:var(--white);background:#0a1628;border-color:#ffffff1a}.modal-close-btn{cursor:pointer;width:36px;height:36px;color:var(--navy);transition:var(--transition);z-index:10;background:#0a16280d;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:1.25rem;right:1.25rem}.modal-container--dark .modal-close-btn{color:var(--white);background:#ffffff14}.modal-close-btn:hover{background:var(--gold);color:var(--navy);transform:rotate(90deg)}.modal-content{padding:2.5rem}.modal-title{text-transform:uppercase;margin-bottom:1.5rem;font-size:1.85rem;font-weight:700}.modal-body-grid{grid-template-columns:1.2fr 1fr;align-items:start;gap:2rem;display:grid}@media (max-width:768px){.modal-body-grid{grid-template-columns:1fr}}.modal-description{color:var(--gray-dark);margin-bottom:1.5rem;font-size:.95rem;line-height:1.7}.modal-container--dark .modal-description{color:#fffc}.modal-list-title{text-transform:uppercase;letter-spacing:1px;color:var(--navy);margin-bottom:.75rem;font-size:.85rem;font-weight:700}.modal-container--dark .modal-list-title{color:var(--gold)}.modal-list{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.modal-list-item{align-items:center;gap:8px;font-size:.9rem;display:flex}.modal-cta{background:var(--navy);color:var(--white);transition:var(--transition);border-radius:30px;align-items:center;gap:8px;padding:12px 28px;font-weight:600;display:inline-flex}.modal-container--dark .modal-cta{background:var(--gold);color:var(--navy)}.modal-cta:hover{background:var(--gold);color:var(--navy);transform:translateY(-2px)}.modal-container--dark .modal-cta:hover{background:var(--white);color:var(--navy)}.modal-map{background:#0a162808;border:1px solid #0a162814;border-radius:16px;justify-content:center;align-items:center;padding:1rem;display:flex;position:relative;overflow:hidden}.modal-container--dark .modal-map{background:#ffffff05;border-color:#ffffff0d}.animated-route-path{stroke-dasharray:800;stroke-dashoffset:800px;animation:3s ease-in-out forwards drawRouteLine}@keyframes drawRouteLine{to{stroke-dashoffset:0}}.map-island{fill:#e6e8ed;stroke:#b8bcc6;stroke-width:1px}.modal-container--dark .map-island{fill:#14233c;stroke:#ffffff1a}.map-island-label{fill:#00265e80;text-anchor:middle;font-size:8px;font-weight:600}.modal-container--dark .map-island-label{fill:#fff6}.map-stop-dot{animation:2s infinite pulseDot}@keyframes pulseDot{0%{r:3;opacity:1}50%{r:7;opacity:.5}to{r:3;opacity:1}}.custom-form-modal{max-width:550px}.custom-form{flex-direction:column;gap:1.25rem;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (max-width:600px){.form-row{grid-template-columns:1fr}}.custom-form-success{text-align:center;padding:2rem 0;animation:.5s ease-out fadeIn}.custom-form-success__icon{width:64px;height:64px;color:var(--green);background:#22c55e1a;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1.5rem;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
