/* Star Evolution Services: premium motion layer (loads after styles.css) */
@font-face{font-family:"Cormorant";src:url(../fonts/cormorant-garamond-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant";src:url(../fonts/cormorant-garamond-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Cormorant";src:url(../fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant";src:url(../fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Manrope";src:url(../fonts/manrope-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Manrope";src:url(../fonts/manrope-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Manrope";src:url(../fonts/manrope-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}

:root{--serif:"Cormorant",Georgia,"Times New Roman",serif;--sans:"Manrope",Arial,Helvetica,sans-serif;--champagne:#cdb894;--ease:cubic-bezier(.16,1,.3,1)}
html{scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}

/* Cormorant is narrower than Georgia: open the tracking a little */
.hero h1{letter-spacing:-.035em;line-height:.88}
.hero h1 em,.intro h2,.section-head h2,.feature h2,.experience h2,.contact-left h2{letter-spacing:-.03em}
.service-card h3,.fleet-meta h3,.step h3,.quote-form h3{letter-spacing:-.015em}
.hero h1 em,.feature h2 em,.contact-left h2 em{font-style:italic}

/* ---------- Preloader ---------- */
.preloader{position:fixed;inset:0;z-index:200;background:#0c0e0d;color:#efe9df;display:grid;place-items:center;clip-path:inset(0 0 0 0)}
.preloader-inner{display:grid;justify-items:center;gap:22px}
.preloader img{width:64px;height:64px;opacity:0;transform:scale(.8)}
.preloader-word{display:flex;overflow:hidden;font:700 12px/1 var(--sans);letter-spacing:.42em;padding-left:.42em}
.preloader-word span{display:inline-block;transform:translateY(110%)}
.preloader-line{width:min(220px,50vw);height:1px;background:rgba(255,255,255,.14);position:relative;overflow:hidden}
.preloader-line i{position:absolute;inset:0;background:var(--champagne);transform-origin:left;transform:scaleX(0)}
.preloader-count{font:400 13px var(--sans);letter-spacing:.2em;color:#9c9a93;font-variant-numeric:tabular-nums}
html:not(.fx-on) .preloader,.fx-seen .preloader{display:none}


/* ---------- Scroll progress ---------- */
.fx-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:120;pointer-events:none}
.fx-progress i{display:block;height:100%;background:linear-gradient(90deg,#9c845f,var(--champagne));transform-origin:left;transform:scaleX(0)}

/* ---------- Header hide / show ---------- */
.fx-on .site-header{transition:transform .6s var(--ease),background .35s,box-shadow .35s}
.fx-on .site-header.is-hidden{transform:translateY(-102%)}

/* ---------- Hero ---------- */
.fx-on .hero-image{animation:none;transform:none;will-change:transform}
.fx-on .hero{height:100svh;max-height:none}
.hero-bottom{overflow:hidden}
.hero-rule{position:absolute;top:-1px;left:0;right:0;height:1px;background:var(--champagne);transform-origin:left;transform:scaleX(0)}
.fx-on .hero-bottom{border-top-color:transparent}
.fx-on .hero-bottom:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--line)}

/* split text masks */
.fx-line{overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.fx-word-dim{opacity:.18;transition:none}

/* ---------- Image reveals ---------- */
.fx-on .service-photo,.fx-on .fleet-photo,.fx-on .gallery-grid figure,.fx-on .experience-photo{will-change:clip-path}
.fx-on .service-photo img,.fx-on .gallery-grid img,.fx-on .experience-photo img{will-change:transform}

/* ---------- Feature: expanding frame ---------- */
.fx-on .feature{min-height:100svh}
.fx-on .feature>img{will-change:transform,clip-path}

/* ---------- Marquee band ---------- */
.fx-marquee{background:#0f1110;color:#efe9df;overflow:hidden;padding:clamp(26px,4vw,46px) 0;border-top:1px solid #222522;border-bottom:1px solid #222522;position:relative}
.fx-marquee-track{display:flex;width:max-content;will-change:transform}
.fx-marquee-track span{font:italic 400 clamp(46px,8vw,124px)/1 var(--serif);letter-spacing:-.02em;white-space:nowrap;padding-right:.5em;display:flex;align-items:center;gap:.5em}
.fx-marquee-track span b{font:700 clamp(10px,1vw,13px)/1 var(--sans);font-style:normal;letter-spacing:.4em;color:var(--champagne);display:inline-flex;align-items:center;gap:.5em}
.fx-marquee-track span b:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--champagne)}

/* ---------- Fleet: horizontal gallery on desktop ---------- */
.fleet-h{padding-bottom:0!important;overflow:hidden}
.fleet-h .fleet-grid{display:flex;gap:22px;width:max-content;padding-right:clamp(22px,5.6vw,94px);will-change:transform}
.fleet-h .fleet-card,.fleet-h .fleet-card.wide{flex:0 0 auto;width:clamp(340px,34vw,560px)}
.fleet-h .fleet-card.wide{width:clamp(420px,46vw,760px)}
.fleet-h .fleet-photo,.fleet-h .fleet-card.wide .fleet-photo{aspect-ratio:auto;height:min(52vh,520px)}
.fleet-h .fleet-note{padding-bottom:60px}
.fleet-hud{display:none}
.fleet-h .fleet-hud{display:flex;align-items:center;gap:18px;margin:26px 0 0;font:700 10px var(--sans);letter-spacing:.2em;color:#77756d}
.fleet-hud .bar{flex:1;max-width:340px;height:1px;background:#cfc9bd;position:relative}
.fleet-hud .bar i{position:absolute;inset:0;background:#1a1b18;transform-origin:left;transform:scaleX(0)}
.fleet-hud b{color:#1a1b18;font-variant-numeric:tabular-nums}

/* ---------- Experience steps ---------- */
.step-list{position:relative}
.fx-steps-line{position:absolute;left:0;top:-1px;width:1px;height:calc(100% + 1px);background:var(--champagne);transform-origin:top;transform:scaleY(0)}
.fx-on .step{padding-left:18px}

/* ---------- Footer wordmark ---------- */
.fx-wordmark{overflow:hidden;border-top:1px solid #333735;margin-top:10px;padding-top:30px}
.fx-wordmark div{font:500 clamp(48px,14.2vw,250px)/.86 var(--serif);letter-spacing:-.045em;color:#e8e2d6;white-space:nowrap;text-align:center}
.fx-wordmark div span{display:inline-block}

/* ---------- Cursor ---------- */
.fx-cursor,.fx-cursor-dot{position:fixed;top:0;left:0;z-index:300;pointer-events:none;border-radius:50%;transform:translate(-50%,-50%)}
.fx-cursor{width:38px;height:38px;border:1px solid rgba(205,184,148,.7);display:grid;place-items:center;transition:width .35s var(--ease),height .35s var(--ease),background .35s,border-color .35s;mix-blend-mode:difference}
.fx-cursor-dot{width:5px;height:5px;background:var(--champagne)}
.fx-cursor.is-link{width:58px;height:58px;background:rgba(205,184,148,.18)}
@media (hover:none),(pointer:coarse){.fx-cursor,.fx-cursor-dot{display:none}}

/* small polish */
.btn{position:relative;overflow:hidden;isolation:isolate}
.btn:after{content:"";position:absolute;inset:0;z-index:-1;background:var(--champagne);transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ease)}
.btn:hover:after{transform:scaleY(1)}
.btn-primary:hover{background:#f3efe8}
.btn-outline-light:hover{color:#111;background:transparent}
.btn-dark:hover{background:var(--ink);color:#111}
.copy-action{font-size:12px}

@media (max-width:920px){
  .fx-wordmark div{font-size:clamp(44px,13vw,120px)}
}
@media (prefers-reduced-motion:reduce){
  .preloader,.fx-cursor,.fx-cursor-dot{display:none!important}
}

/* ---------- Hero video ---------- */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease;pointer-events:none}
.hero-video.is-playing{opacity:1}
.hero:after{z-index:1}
.hero-content,.hero-bottom,.hero-side{z-index:3}
@media (prefers-reduced-motion:reduce){.hero-video{display:none}}

/* ---------- Fleet arrows ---------- */
.fleet-hint{font:500 11px var(--sans);font-style:normal;letter-spacing:.06em;text-transform:none;color:#8a877e;margin-left:auto}
.fleet-arrows{display:none;gap:10px;flex:none;align-self:end;margin-bottom:6px}
.fleet-h .fleet-arrows{display:flex}
.fleet-h .section-head{align-items:end}
.fleet-arrow{width:56px;height:56px;border-radius:50%;border:1px solid #1a1b18;background:transparent;color:#1a1b18;display:grid;place-items:center;cursor:pointer;transition:background .3s,color .3s,opacity .3s,transform .3s}
.fleet-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.fleet-arrow:hover:not(:disabled){background:#1a1b18;color:#f4f2ec;transform:scale(1.05)}
.fleet-arrow:disabled{opacity:.25;cursor:default}
.fleet-arrow:focus-visible{outline:2px solid var(--champagne);outline-offset:3px}
