/* EVER SUN TRAVEL | motion & finish pass | progressive enhancement */
:root{--ease-premium:cubic-bezier(.22,1,.36,1);--motion-soft:0 24px 60px rgba(20,44,57,.12)}
html{scroll-behavior:smooth}
body{overflow-x:clip}
img{image-rendering:auto}
#siteScrollProgress{position:fixed;top:0;left:0;z-index:3000;width:100%;height:3px;background:linear-gradient(90deg,#eb2d38 0%,#ff8b3b 51%,#ffd129 100%);transform:scaleX(0);transform-origin:left;pointer-events:none;will-change:transform}
.site-header{transition:box-shadow .35s ease,background-color .35s ease,border-color .35s ease}
.site-header.is-scrolled{box-shadow:0 9px 32px rgba(23,42,55,.11);border-bottom-color:#e6e8e8;background:rgba(255,255,255,.985)}
/* Graceful section entrances. Enabled only after the script has attached the observer. */
.motion-enabled [data-reveal]{opacity:0;transform:translate3d(0,24px,0);transition:opacity .78s var(--ease-premium),transform .78s var(--ease-premium);transition-delay:var(--reveal-delay,0ms)}
.motion-enabled [data-reveal].is-visible{opacity:1;transform:none}
.motion-enabled [data-reveal="left"]{transform:translate3d(-22px,8px,0)}
.motion-enabled [data-reveal="right"]{transform:translate3d(22px,8px,0)}
.motion-enabled [data-reveal="left"].is-visible,.motion-enabled [data-reveal="right"].is-visible{transform:none}
.section-heading h2,.section-head h2,.page-hero h1{letter-spacing:-.045em;text-wrap:balance}
.section-heading p,.section-head p,.page-hero p{text-wrap:pretty}
.eyebrow,.micro-label{font-weight:900}
.button,.primary-btn,.nav-cta,.filter-btn,.filter,.outline-btn,.ghost-btn{position:relative;transition:transform .24s var(--ease-premium),box-shadow .24s ease,background-color .22s ease,border-color .22s ease,color .22s ease}
.button:active,.primary-btn:active,.nav-cta:active,.filter:active,.filter-btn:active{transform:scale(.98)}
.button-red,.primary-btn,.nav-cta{background-image:linear-gradient(115deg,#e92c32 0%,#e92c32 58%,#ce2330 100%);background-size:200% 100%;box-shadow:0 10px 24px rgba(224,43,48,.17)}
.button-red:hover,.primary-btn:hover,.nav-cta:hover{background-color:#cf232d;background-position:100% 0;box-shadow:0 15px 32px rgba(224,43,48,.25);transform:translateY(-2px)}
.button-yellow:hover{box-shadow:0 14px 28px rgba(255,202,41,.28)}
.button-outline:hover,.outline-btn:hover{box-shadow:0 10px 26px rgba(34,54,66,.08);transform:translateY(-2px)}
.hero-home{isolation:isolate;position:relative}
.hero-home::before{content:'';position:absolute;z-index:0;pointer-events:none;width:660px;height:660px;right:-260px;top:-280px;border:1px solid rgba(255,221,124,.25);border-radius:50%;box-shadow:0 0 0 70px rgba(255,211,75,.035),0 0 0 145px rgba(255,211,75,.025)}
.hero-home .wrap{z-index:2}
.hero-widget{border:1px solid rgba(255,255,255,.6);box-shadow:0 28px 75px rgba(6,29,44,.3);transition:box-shadow .32s ease,transform .35s var(--ease-premium)}
.hero-widget:hover{box-shadow:0 35px 85px rgba(6,29,44,.38);transform:translateY(-3px)}
.hero-widget .widget-step{transition:color .2s,padding-left .25s}
.hero-widget .widget-step:hover{color:var(--red);padding-left:7px}
.page-hero{position:relative;isolation:isolate}
.page-hero::before{content:'';position:absolute;pointer-events:none;z-index:-1;left:-130px;bottom:-180px;width:410px;height:410px;border-radius:50%;background:radial-gradient(circle,rgba(255,203,96,.15),rgba(255,203,96,0) 72%)}
@media(min-width:711px){.page-hero-photo img{clip-path:none;border-radius:38px 0 0 38px;transform:scale(1.025);transition:transform 1s var(--ease-premium)}.page-hero:hover .page-hero-photo img{transform:scale(1.06)}}
.image-card,.vehicle-card,.feature-box,.step-card,.resource-card,.quick-link,.contact-card,.contact-info,.faq-item,.route-card,.summary-card{transition:transform .35s var(--ease-premium),box-shadow .35s var(--ease-premium),border-color .3s ease}
.image-card:hover,.vehicle-card:hover,.feature-box:hover,.step-card:hover,.resource-card:hover,.quick-link:hover{transform:translateY(-6px);box-shadow:var(--motion-soft);border-color:#f0d8c0}
.image-card .cover{isolation:isolate}
.image-card .cover::after,.route-image::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(8,34,48,0) 55%,rgba(8,34,48,.13) 100%);transition:opacity .35s}
.image-card:hover .cover img,.route-card:hover .route-image img{transform:scale(1.075)}
.image-card .cover img,.route-image img{transition:transform .75s var(--ease-premium),filter .7s ease}
.route-card:hover .route-image img,.image-card:hover .cover img{filter:saturate(1.08)}
.vehicle-card .vehicle-art{transition:transform .7s var(--ease-premium);transform-origin:center}
.vehicle-card:hover .vehicle-art{transform:translateX(8px) scale(1.045)}
.vehicle-card .vehicle-watermark{transition:transform .5s var(--ease-premium),color .35s ease}
.vehicle-card:hover .vehicle-watermark{transform:translateX(-10px);color:#f7e8e0}
.text-action{transition:gap .25s ease,color .2s ease}
.text-action:hover{color:#c32631;gap:12px}
.wide-banner{box-shadow:0 16px 40px rgba(23,44,61,.13)}
.wide-banner::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 80% 30%,rgba(255,204,75,.1),transparent 39%)}
.faq-item[open]{border-color:#edcfb2;box-shadow:0 10px 28px rgba(29,53,66,.07)}
.faq-item summary:hover{color:var(--red)}
.filter-btn:hover,.filter:hover{border-color:#e5ae8b}
.choice,.place-chip,.category-button{transition:transform .18s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
.choice:hover,.place-chip:hover,.category-button:hover{transform:translateY(-2px)}
.map-column,.planner-controls,.details-form,.classic-form{box-shadow:0 12px 36px rgba(23,44,61,.06)}
.route-image{overflow:hidden}
.route-card .route-body{position:relative}
#tripMap,.leaflet-container,.leaflet-pane,.leaflet-map-pane,.leaflet-tile-pane,.leaflet-marker-pane{transition:none!important}
.fleet-caption{padding:13px 16px;border-left:3px solid #edca71;color:#667786;background:#fbfaf7;border-radius:0 9px 9px 0;font-size:12px;line-height:1.65}
.contact-tip{color:#536979;background:#f2f7f8;border:1px solid #dce8e9;border-radius:12px;padding:15px 17px;font-size:13px;line-height:1.65}
.service-citation{display:inline-block;font-size:11px;color:#82919b}
@media(max-width:710px){
 .hero-home::before{width:340px;height:340px;right:-200px;top:-80px;box-shadow:0 0 0 45px rgba(255,211,75,.035)}
 .page-hero::before{width:230px;height:230px}
 .hero-widget:hover{transform:none}
 .image-card:hover,.vehicle-card:hover,.feature-box:hover,.step-card:hover,.resource-card:hover,.quick-link:hover{transform:translateY(-2px)}
 .motion-enabled [data-reveal]{transform:translate3d(0,14px,0)}
 .motion-enabled [data-reveal="left"],.motion-enabled [data-reveal="right"]{transform:translate3d(0,14px,0)}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 #siteScrollProgress{display:none!important}
 .motion-enabled [data-reveal],.motion-enabled [data-reveal="left"],.motion-enabled [data-reveal="right"]{opacity:1!important;transform:none!important;transition:none!important}
 .button,.primary-btn,.nav-cta,.filter-btn,.filter,.outline-btn,.ghost-btn,.image-card,.vehicle-card,.feature-box,.step-card,.resource-card,.quick-link,.route-card,.hero-widget,.vehicle-art,.page-hero-photo img,.image-card .cover img,.route-image img,.site-header{transition:none!important;animation:none!important}
}
