/* IAE homepage visual system */
body.home { background:#08090d; color:#f7f4fa; }
body.home .iae-home { overflow:hidden; background:#08090d; color:#f7f4fa; font-family:Inter,Arial,sans-serif; }
body.home .iae-home *, body.home .iae-site-header *, body.home .iae-footer * { box-sizing:border-box; }
.iae-shell { width:min(1240px,calc(100% - 52px)); margin-inline:auto; }
.iae-overline { color:#b48af4; font-size:.7rem; font-weight:700; letter-spacing:.32em; text-transform:uppercase; }
.iae-home h1,.iae-home h2,.iae-home h3 { font-family:"Playfair Display",Georgia,serif; color:#fff; letter-spacing:-.025em; }
.iae-home p { margin:0; }
.iae-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; padding:0 24px; border:0; border-radius:7px; font:700 .83rem Inter,Arial,sans-serif; text-decoration:none; white-space:nowrap; cursor:pointer; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.iae-button:hover { transform:translateY(-2px); }
.iae-button--primary { background:linear-gradient(135deg,#7843da,#5e2bc5); color:#fff!important; box-shadow:0 8px 24px rgba(91,44,177,.25); }
.iae-button--primary:hover { background:linear-gradient(135deg,#8f5bea,#7040d2); box-shadow:0 10px 30px rgba(111,63,208,.38); }
.iae-text-link { color:#c397ff; font-size:.9rem; font-weight:600; text-decoration:underline; text-underline-offset:5px; }
.iae-text-link:hover { color:#e6d1ff; }

body.home .iae-site-header { position:fixed; inset:0 0 auto; z-index:110; height:76px; background:rgba(6,7,11,.96)!important; border-bottom:1px solid rgba(255,255,255,.07); box-shadow:none!important; }
.iae-site-header__inner { height:100%; display:grid; grid-template-columns:210px 1fr auto; align-items:center; gap:28px; }
.iae-brand { display:inline-flex; align-items:baseline; width:max-content; max-width:100%; white-space:nowrap; text-decoration:none; line-height:1; }
.iae-brand .iae-brand__iae { color:#fff; font:800 1.82rem Inter,Arial,sans-serif; letter-spacing:-.065em; }
.iae-brand .iae-brand__executive { color:#9468c5; font:600 1.67rem Inter,Arial,sans-serif; letter-spacing:-.06em; }
.iae-brand:hover .iae-brand__executive { color:#b88ae8; }
.iae-site-nav { display:flex; justify-content:center; align-items:center; gap:38px; }
.iae-site-nav a { color:#eee9f2!important; font-size:.84rem; font-weight:500; text-decoration:none; transition:color .2s; }
.iae-site-nav a:hover { color:#c497ff!important; }
.iae-site-header__actions { display:flex; gap:20px; align-items:center; }
.iae-lang { display:flex; gap:5px; align-items:center; color:#706b78; font-size:.72rem; }
.iae-lang a { color:#948ba1; text-decoration:none; }
.iae-lang a[aria-current=true],.iae-lang a:hover { color:#bb8ef7; }
.iae-header-wa { display:grid; place-items:center; color:#fff!important; width:24px; height:28px; }
.iae-header-wa svg { width:21px; height:21px; }
.iae-header-cta { min-height:42px; padding-inline:21px; font-size:.78rem; }
body.home .iae-site-header .hamburger { display:none; }

.iae-hero { position:relative; min-height:704px; padding-top:76px; isolation:isolate; background:#0a0a0e; }
.iae-hero__image,.iae-hero__video,.iae-hero__shade { position:absolute; inset:0; width:100%; height:100%; }
.iae-hero__image { z-index:-3; object-fit:cover; object-position:center 38%; }
.iae-hero.has-video .iae-hero__image { opacity:0; }
.iae-hero__video { z-index:-2; object-fit:cover; object-position:center center; opacity:0; transition:opacity .7s ease; pointer-events:none; }
.iae-hero__video.is-ready { opacity:1; }
.iae-hero__shade { z-index:-1; background:linear-gradient(180deg,rgba(3,3,7,.22) 0%,rgba(4,4,9,.43) 30%,rgba(3,3,7,.68) 68%,#090a0f 100%),linear-gradient(90deg,rgba(5,5,9,.38),transparent 60%); }
.iae-hero__video-toggle { position:absolute; z-index:2; top:94px; right:24px; display:inline-flex; align-items:center; gap:7px; padding:7px 11px; border:1px solid rgba(255,255,255,.32); border-radius:5px; background:rgba(8,9,13,.68); color:#fff; font:600 .7rem Inter,Arial,sans-serif; cursor:pointer; }
.iae-hero__video-toggle[hidden] { display:none; }
.iae-hero__video-toggle:hover,.iae-hero__video-toggle:focus-visible { border-color:#bc8cf4; background:rgba(28,18,43,.9); }
.iae-hero__inner { padding-top:62px; }
.iae-hero__copy { text-align:center; margin:0 auto 130px; max-width:1010px; }
.iae-hero__copy .iae-overline { margin-bottom:19px; }
.iae-hero__copy h1 { margin:0 auto; font-size:clamp(2.8rem,5.1vw,5.2rem); line-height:1.05; text-wrap:balance; text-shadow:0 3px 14px rgba(0,0,0,.4); }
.iae-hero__copy h1 em { font-style:normal; color:#be8af4; }
.iae-hero__copy>p:last-child { margin-top:22px; color:#f0edf0; font-size:1.05rem; line-height:1.55; text-shadow:0 2px 8px #000; }
.iae-booking { width:100%; max-width:1160px; margin-inline:auto; padding:24px 27px 13px; background:rgba(10,11,16,.91); border:1px solid rgba(255,255,255,.16); border-radius:14px; box-shadow:0 25px 55px rgba(0,0,0,.46); backdrop-filter:blur(16px); }
.iae-booking__top { display:flex; align-items:center; gap:28px; margin-bottom:20px; }
.iae-booking__top h2 { margin:0; font-size:1.48rem; white-space:nowrap; }
.iae-booking__tabs { display:flex; gap:7px; align-items:center; }
.iae-booking__tabs .search-bar__tab { min-height:30px; padding:5px 15px; border:1px solid rgba(255,255,255,.06); border-radius:99px; background:#202127; color:#d0cdd4; font-size:.73rem; font-weight:600; white-space:nowrap; }
.iae-booking__tabs .search-bar__tab.is-active { border-color:#7842d7; background:#6733c6; color:#fff; box-shadow:0 3px 12px rgba(109,51,205,.38); }
.iae-booking__form { display:grid; grid-template-columns:1.35fr 1.35fr .62fr 1.05fr auto; gap:10px; align-items:end; }
.iae-field { display:flex; flex-direction:column; gap:7px; min-width:0; color:#ece8f0; }
.iae-field>span { font-size:.69rem; font-weight:700; }
.iae-field input,.iae-field select { width:100%; height:45px; min-width:0; padding:0 11px; color:#f8f6fb; background:#1d1f27; border:1px solid #363640; border-radius:6px; outline:0; font:500 .75rem Inter,Arial,sans-serif; color-scheme:dark; }
.iae-field input::placeholder { color:#9793a3; }
.iae-field input:focus,.iae-field select:focus { border-color:#a776ef; box-shadow:0 0 0 2px rgba(167,118,239,.18); }
.iae-field--small input { text-align:center; }
.iae-booking__submit { height:45px; min-height:45px; padding-inline:20px; }
.iae-booking__note { text-align:center; color:#a7a1ae; font-size:.68rem; padding-top:13px; }
.iae-booking__estimate:not(.is-ready) { display:none!important; }
.iae-booking__estimate.is-ready { margin:14px 0 0; padding:10px 13px; background:#171821; border:1px solid rgba(174,126,246,.28); border-radius:8px; color:#fff; }
.iae-booking__estimate .quote-head,.iae-booking__estimate .quote-price,.iae-booking__estimate .quote-meta { display:inline-flex; gap:10px; margin-right:20px; vertical-align:middle; }
.iae-booking__estimate .quote-head,.iae-booking__estimate .quote-foot { display:none; }
.iae-booking__estimate .quote-price strong { color:#c28dff; font-size:1.15rem; }
.iae-booking__estimate .quote-price span,.iae-booking__estimate .quote-meta { color:#d1cad7; font-size:.7rem; }
.iae-trust { position:relative; display:grid; grid-template-columns:repeat(3,1fr); max-width:1160px; margin-top:38px; padding:20px 0 32px; }
.iae-trust>div { display:flex; align-items:center; justify-content:center; gap:12px; border-right:1px solid rgba(255,255,255,.16); color:#e7e2ea; }
.iae-trust>div:last-child { border:0; }
.iae-trust strong { color:#b987f5; font:700 1.5rem Inter,Arial,sans-serif; line-height:1; }
.iae-trust span { color:#e7e2ea; font-size:.78rem; line-height:1.2; }

.iae-fleet { padding:110px 0 86px; background:radial-gradient(ellipse at 50% 42%,#1c1b22 0,#0b0c11 45%,#08090d 73%); }
.iae-section-head { text-align:center; }
.iae-section-head .iae-overline { margin:0 0 14px; }
.iae-section-head h2 { margin:0; font-size:clamp(2.1rem,3.4vw,3.4rem); line-height:1.15; }
.iae-section-head>p:last-child { margin-top:11px; color:#aaa6b0; font-size:.96rem; }
.iae-fleet__stage { display:grid; grid-template-columns:50px minmax(0,1fr) 50px; align-items:center; gap:20px; margin:15px auto 0; max-width:1070px; min-height:455px; }
.iae-fleet__image-wrap { display:grid; place-items:center; min-width:0; height:455px; overflow:visible; perspective:1000px; }
.iae-fleet__image-wrap img { display:block; max-width:100%; width:auto; max-height:450px; object-fit:contain; filter:drop-shadow(0 24px 22px rgba(0,0,0,.75)); transform:translate3d(var(--car-x,0px),var(--car-y,0px),0) rotateX(var(--car-rx,0deg)) rotateY(var(--car-ry,0deg)) scale(var(--car-scale,1)); transform-style:preserve-3d; transition:transform .32s cubic-bezier(.2,.8,.2,1),filter .32s ease; will-change:transform; }
.iae-fleet__image-wrap.is-tilting img { transition:transform .08s linear,filter .2s ease; filter:drop-shadow(18px 31px 23px rgba(0,0,0,.85)); }
.iae-fleet__arrow { width:44px; height:44px; border-radius:50%; border:1px solid #35353f; background:#16171d; color:#faf8fc; font:300 2rem Georgia,serif; cursor:pointer; transition:border-color .2s,background .2s; }
.iae-fleet__arrow:hover { background:#292234; border-color:#9c69df; }
.iae-fleet__details { text-align:center; margin-top:20px; min-height:145px; }
.iae-fleet__details .iae-overline { margin:0 0 3px; }
.iae-fleet__details h3 { margin:0; font-size:2.25rem; line-height:1.1; }
.iae-fleet__details>p:nth-of-type(2) { margin:8px 0 15px; color:#bcb6c0; font-size:.86rem; }
.iae-fleet__actions { display:flex; align-items:center; justify-content:center; gap:25px; }
.iae-fleet__actions .iae-button { min-height:39px; padding-inline:20px; font-size:.76rem; }
.iae-fleet__rail { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:9px; margin-top:20px; }
.iae-fleet__thumb { display:flex; flex-direction:column; justify-content:space-between; min-width:0; min-height:116px; padding:7px 7px 10px; background:#111218; border:1px solid #2a2933; border-radius:7px; color:#f4f1f5; cursor:pointer; font:600 .7rem Inter,Arial,sans-serif; }
.iae-fleet__thumb img { display:block; width:100%; height:90px; object-fit:contain; border-radius:0; filter:none; }
.iae-fleet__thumb span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.iae-fleet__thumb:hover,.iae-fleet__thumb.is-active { border-color:#9d64e7; background:#1b1525; box-shadow:0 0 0 1px rgba(145,87,221,.22) inset; }
.iae-fleet__thumb.is-active img { filter:none; }
.iae-fleet__thumb { transform:perspective(650px) rotateX(var(--thumb-rx,0deg)) rotateY(var(--thumb-ry,0deg)) translateY(var(--thumb-y,0px)); transform-style:preserve-3d; transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.iae-fleet__thumb img,.iae-fleet__thumb span { transform:translateZ(10px); }
.iae-fleet__thumb:hover { box-shadow:0 12px 30px rgba(0,0,0,.45),0 0 0 1px rgba(145,87,221,.3) inset; }
.iae-fleet__all { display:block; width:max-content; margin:18px auto 0; font-size:.8rem; }

.iae-services { padding:95px 0 85px; background:#111217; }
.iae-services__head { margin-bottom:19px; }
.iae-services__head h2 { margin:0 0 4px; font-size:clamp(2rem,3.25vw,3.25rem); line-height:1.15; }
.iae-services__head p { color:#c1bcc5; }
.iae-services__grid { display:grid; grid-template-columns:1.04fr 1fr; grid-template-rows:repeat(3,134px); gap:10px; }
.iae-service { position:relative; display:grid; grid-template-columns:43% 1fr; min-width:0; overflow:hidden; border:1px solid #292a32; border-radius:7px; background:#0c0d12; color:#fff!important; text-decoration:none; transition:border-color .2s,transform .2s; }
.iae-service:hover { transform:translateY(-2px); border-color:#9965dc; }
.iae-service img { width:100%; height:100%; object-fit:cover; }
.iae-service>div { padding:16px 17px; align-self:center; }
.iae-service h3 { margin:0 0 4px; font-size:1.05rem; line-height:1.15; }
.iae-service p { color:#b6afbb; font-size:.74rem; line-height:1.4; }
.iae-service span { display:inline-block; margin-top:9px; color:#c393ff; font-size:.75rem; font-weight:700; }
.iae-service--main { grid-row:1 / span 3; grid-template-columns:1fr; }
.iae-service--main img { position:absolute; inset:0; height:100%; }
.iae-service--main::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.88)); }
.iae-service--main>div { position:relative; z-index:1; align-self:end; padding:25px; }
.iae-service--main h3 { font-size:1.55rem; }
.iae-service--main p { color:#eee9ef; font-size:.85rem; }

.iae-process { padding:38px 0 58px; background:#090a0f; }
.iae-process__box { padding:25px 35px 30px; background:#15161d; border:1px solid #2a2935; border-radius:9px; }
.iae-process h2 { margin:0 0 13px; font-size:1.8rem; }
.iae-process__steps { display:grid; grid-template-columns:repeat(3,1fr); }
.iae-process__steps>div { display:flex; gap:17px; align-items:center; border-right:1px solid #37333c; padding:0 26px; }
.iae-process__steps>div:first-child { padding-left:0; }
.iae-process__steps>div:last-child { border:0; }
.iae-process b { color:#b285ed; font:700 2.65rem Georgia,serif; }
.iae-process span { display:flex; flex-direction:column; gap:4px; }
.iae-process strong { font-size:.78rem; }
.iae-process small { color:#aea8b3; font-size:.69rem; line-height:1.35; }
.iae-last-cta { padding:62px 0; background:linear-gradient(90deg,rgba(6,7,12,.7),rgba(6,7,12,.5)),url("../images/hero-poster.jpg") center 39%/cover; }
.iae-last-cta .iae-shell { display:flex; align-items:center; justify-content:space-between; gap:25px; }
.iae-last-cta h2 { margin:0; font-size:clamp(1.8rem,3vw,2.8rem); }
.iae-last-cta .iae-shell>div { display:flex; align-items:center; gap:22px; }
.iae-last-cta__wa { display:inline-flex; align-items:center; gap:8px; color:#d3adff; white-space:nowrap; font-size:.84rem; }
.iae-last-cta__wa svg { width:20px; height:20px; color:#fff; }
.iae-footer { background:#08090d; border-top:1px solid #24242b; }
.iae-footer__inner { display:flex; align-items:center; gap:28px; min-height:84px; }
.iae-footer .iae-brand .iae-brand__iae { font-size:1.52rem; }
.iae-footer .iae-brand .iae-brand__executive { font-size:1.4rem; }
.iae-footer p { padding-left:22px; border-left:1px solid #34303b; color:#96909e; font-size:.68rem; }
.iae-footer nav { display:flex; gap:25px; margin-left:auto; }
.iae-footer nav a { color:#aaa3b0; text-decoration:none; font-size:.68rem; }
.iae-footer nav a:hover { color:#c79af8; }

@media (max-width:1100px) {
  .iae-site-header__inner { grid-template-columns:175px 1fr auto; gap:16px; }
  .iae-site-nav { gap:22px; }
  .iae-site-header__actions { gap:12px; }
  .iae-booking__form { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .iae-booking__submit { width:100%; }
  .iae-hero { min-height:750px; }
}
@media (max-width:760px) {
  .iae-shell { width:min(100% - 32px,640px); }
  body.home .iae-site-header { height:64px; }
  .iae-site-header__inner { display:flex; justify-content:space-between; }
  .iae-brand .iae-brand__iae { font-size:1.48rem; }
  .iae-brand .iae-brand__executive { font-size:1.36rem; }
  .iae-site-nav,.iae-header-wa,.iae-header-cta { display:none!important; }
  body.home .iae-site-header .hamburger { display:flex; }
  body.home .iae-site-header .hamburger__line { background:#fff; }
  .iae-hero { padding-top:64px; min-height:0; }
  .iae-hero__image { object-position:66% center; }
  .iae-hero__video { object-fit:cover; object-position:66% center; }
  .iae-hero__video-toggle { top:74px; right:16px; }
  .iae-hero__inner { padding-top:54px; }
  .iae-hero__copy { margin-bottom:30px; }
  .iae-hero__copy h1 { font-size:clamp(2.55rem,8vw,4rem); }
  .iae-hero__copy>p:last-child { font-size:.9rem; }
  .iae-booking { padding:20px 17px 15px; }
  .iae-booking__top { display:block; }
  .iae-booking__top h2 { margin-bottom:16px; font-size:1.3rem; white-space:normal; }
  .iae-booking__tabs { flex-wrap:wrap; }
  .iae-booking__form { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:18px; }
  .iae-field--date,.iae-booking__submit { grid-column:span 2; }
  .iae-trust { gap:10px; margin-top:20px; }
  .iae-trust>div { flex-direction:column; gap:4px; text-align:center; font-size:.62rem; }
  .iae-trust strong { font-size:1.2rem; }
  .iae-trust span { font-size:.62rem; }
  .iae-fleet { padding:72px 0 64px; }
  .iae-fleet__stage { min-height:300px; grid-template-columns:35px minmax(0,1fr) 35px; gap:0; }
  .iae-fleet__image-wrap { height:300px; }
  .iae-fleet__image-wrap img { max-height:290px; }
  .iae-fleet__arrow { width:32px; height:32px; font-size:1.45rem; }
  .iae-fleet__rail { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:8px; }
  .iae-fleet__thumb { flex:0 0 125px; scroll-snap-align:start; }
  .iae-services { padding:70px 0 72px; }
  .iae-services__grid { grid-template-columns:1fr; grid-template-rows:auto; }
  .iae-service--main { grid-row:auto; min-height:300px; }
  .iae-service--small { height:124px; }
  .iae-process__steps { grid-template-columns:1fr; gap:18px; }
  .iae-process__steps>div { border:0; padding:0; }
  .iae-last-cta .iae-shell { flex-direction:column; align-items:flex-start; }
  .iae-last-cta { padding:54px 0; }
  .iae-footer__inner { flex-wrap:wrap; gap:14px; padding:20px 0; }
  .iae-footer p { border:0; padding:0; width:calc(100% - 120px); }
  .iae-footer nav { width:100%; margin:0; }
}
@media (prefers-reduced-motion:reduce) {
  .iae-hero__video,.iae-hero__video-toggle { display:none!important; }
  .iae-fleet__image-wrap img,.iae-fleet__thumb { transition:none!important; transform:none!important; }
}
@media (max-width:480px) {
  .iae-hero__copy h1 { font-size:2.42rem; }
  .iae-booking__form { gap:10px; }
  .iae-booking__form .iae-field:nth-of-type(1),.iae-booking__form .iae-field:nth-of-type(2) { grid-column:span 2; }
  .iae-field input,.iae-field select { font-size:.8rem; }
  .iae-trust { grid-template-columns:1fr 1fr 1fr; }
  .iae-trust span { font-size:1.3rem; }
  .iae-section-head h2,.iae-services__head h2 { font-size:2rem; }
  .iae-fleet__details h3 { font-size:1.85rem; }
  .iae-fleet__actions { gap:13px; flex-wrap:wrap; }
  .iae-last-cta .iae-shell>div { flex-wrap:wrap; gap:14px; }
}
