.elementor-55 .elementor-element.elementor-element-219038f1{--display:flex;--min-height:100px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0%;--padding-bottom:0%;--padding-left:8%;--padding-right:8%;--z-index:95;}.elementor-55 .elementor-element.elementor-element-219038f1:not(.elementor-motion-effects-element-type-background), .elementor-55 .elementor-element.elementor-element-219038f1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-55 .elementor-element.elementor-element-6118ced7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-theme-site-logo .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-55 .elementor-element.elementor-element-ddbc3cb{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-55 .elementor-element.elementor-element-ddbc3cb.elementor-element{--align-self:flex-start;}.elementor-55 .elementor-element.elementor-element-ddbc3cb img{max-width:37%;}.elementor-55 .elementor-element.elementor-element-57cf32a7{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );font-style:var( --e-global-typography-primary-font-style );text-decoration:var( --e-global-typography-primary-text-decoration );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );font-style:var( --e-global-typography-accent-font-style );text-decoration:var( --e-global-typography-accent-text-decoration );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-menu-toggle{margin-left:auto;background-color:#02010100;}.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu .elementor-item{font-family:"Poppins", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:0px;word-spacing:0em;}.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );padding-left:0px;padding-right:0px;padding-top:5px;padding-bottom:5px;}.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu--main .elementor-item:hover,
					.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu--main .elementor-item:focus{color:#205CB4;fill:#205CB4;}.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:#324A6D;}.elementor-55 .elementor-element.elementor-element-4358dc20 .e--pointer-framed .elementor-item:before,
					.elementor-55 .elementor-element.elementor-element-4358dc20 .e--pointer-framed .elementor-item:after{border-color:#324A6D;}.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#035AD6;}.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item.elementor-item-active:before,
					.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item.elementor-item-active:after{background-color:#324A6D;}.elementor-55 .elementor-element.elementor-element-4358dc20 .e--pointer-framed .elementor-item.elementor-item-active:before,
					.elementor-55 .elementor-element.elementor-element-4358dc20 .e--pointer-framed .elementor-item.elementor-item-active:after{border-color:#324A6D;}.elementor-55 .elementor-element.elementor-element-4358dc20 .e--pointer-framed .elementor-item:before{border-width:1px;}.elementor-55 .elementor-element.elementor-element-4358dc20 .e--pointer-framed.e--animation-draw .elementor-item:before{border-width:0 0 1px 1px;}.elementor-55 .elementor-element.elementor-element-4358dc20 .e--pointer-framed.e--animation-draw .elementor-item:after{border-width:1px 1px 0 0;}.elementor-55 .elementor-element.elementor-element-4358dc20 .e--pointer-framed.e--animation-corners .elementor-item:before{border-width:1px 0 0 1px;}.elementor-55 .elementor-element.elementor-element-4358dc20 .e--pointer-framed.e--animation-corners .elementor-item:after{border-width:0 1px 1px 0;}.elementor-55 .elementor-element.elementor-element-4358dc20 .e--pointer-underline .elementor-item:after,
					 .elementor-55 .elementor-element.elementor-element-4358dc20 .e--pointer-overline .elementor-item:before,
					 .elementor-55 .elementor-element.elementor-element-4358dc20 .e--pointer-double-line .elementor-item:before,
					 .elementor-55 .elementor-element.elementor-element-4358dc20 .e--pointer-double-line .elementor-item:after{height:1px;}.elementor-55 .elementor-element.elementor-element-4358dc20{--e-nav-menu-horizontal-menu-item-margin:calc( 30px / 2 );}.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:30px;}.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu--dropdown a, .elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-menu-toggle{color:#1C244B;fill:#1C244B;}.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu--dropdown{background-color:#F3F5F8;}.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu--dropdown a:hover,
					.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu--dropdown a:focus,
					.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu--dropdown a.highlighted{background-color:#F9FAFD;}.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu--dropdown a.elementor-item-active{background-color:#F9FAFD;}.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu--dropdown .elementor-item, .elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:"Poppins", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;font-style:normal;text-decoration:none;letter-spacing:0px;word-spacing:0em;}.elementor-55 .elementor-element.elementor-element-4358dc20 div.elementor-menu-toggle{color:#467FF7;}.elementor-55 .elementor-element.elementor-element-4358dc20 div.elementor-menu-toggle svg{fill:#467FF7;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-55 .elementor-element.elementor-element-219038f1{--min-height:85px;--padding-top:0%;--padding-bottom:0%;--padding-left:5%;--padding-right:5%;}.elementor-widget-theme-site-logo .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu .elementor-item{font-size:14px;}.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu--dropdown .elementor-item, .elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:14px;}}@media(max-width:767px){.elementor-55 .elementor-element.elementor-element-219038f1{--min-height:65px;}.elementor-55 .elementor-element.elementor-element-6118ced7{--width:20%;}.elementor-widget-theme-site-logo .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-55 .elementor-element.elementor-element-57cf32a7{--width:80%;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu--dropdown a{padding-top:14px;padding-bottom:14px;}.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:15px !important;}.elementor-55 .elementor-element.elementor-element-4358dc20{--nav-menu-icon-size:20px;}}@media(min-width:768px){.elementor-55 .elementor-element.elementor-element-6118ced7{--width:40%;}.elementor-55 .elementor-element.elementor-element-57cf32a7{--width:60%;}}@media(max-width:1024px) and (min-width:768px){.elementor-55 .elementor-element.elementor-element-6118ced7{--width:15%;}.elementor-55 .elementor-element.elementor-element-57cf32a7{--width:85%;}}/* Start custom CSS for nav-menu, class: .elementor-element-4358dc20 *//* --- 1. 設定 Menu Item 定位 --- */
.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-item {
    position: relative;
    text-decoration: none !important; /* 確保原本無底線 */
}

/* --- 2. 建立個條「隱形」底線 --- */
.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-item::after {
    content: '';
    position: absolute;
    bottom: 0px; /* 控制條線同字嘅距離，負數就再低啲 */
    left: 0;
    width: 100%;
    height: 3px; /* 條線幾粗 */
    
    /* 🌟 用返你個 Grand Gradient */
    background: linear-gradient(90deg, #6366F1 0%, #3B82F6 100%);
    
    /* 動畫核心：原本縮到 0 (睇唔到) */
    transform: scaleX(0);
    transform-origin: center; /* 由中間爆開 */
    transition: transform 0.3s ease-out; /* 0.3秒順滑彈出 */
}

/* --- 3. Hover 時展開條線 --- */
.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-item:hover::after {
    transform: scaleX(1); /* 變返 100% 闊 */
}

/* --- 4. (Optional) 保持 Active 頁面條線長著 --- */
.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-item.elementor-item-active::after {
    transform: scaleX(1);
}

/* =========================================
   1. 定義 Grand 動畫 (Physics-based)
   ========================================= */

/* 動畫 A: 向上浮現 (給第一層用 - 似 Apple Menu) */
@keyframes grandFadeUp {
    0% {
        opacity: 0;
        transform: translateY(15px) scale(0.96); /* 起始：低少少 + 縮細 */
        visibility: visible;
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1); /* 終點：歸位 */
        visibility: visible;
    }
}

/* 動畫 B: 向右滑出 (給第二層用 - 似櫃桶) */
@keyframes grandSlideOut {
    0% {
        opacity: 0;
        transform: translateX(-15px); /* 起始：縮入左邊 */
        visibility: visible;
    }
    100% {
        opacity: 1;
        transform: translateX(0); /* 終點：滑出 */
        visibility: visible;
    }
}

/* =========================================
   2. Menu 核心樣式 (Grand Card Design)
   ========================================= */
.elementor-55 .elementor-element.elementor-element-4358dc20 .sub-menu {
    background: rgba(255, 255, 255, 0.98) !important;
    border-radius: 6px !important; /* 微圓角 */
    box-shadow: 0 25px 60px -10px rgba(0, 0, 0, 0.15) !important; /* 擴散陰影 */
    
    /* 左側紫色線 */
    border-left: 3px solid #6366f1 !important;
    border-top: none !important;
    border-bottom: none !important;
    border-right: none !important;
    
    padding: 8px 0 !important;
    min-width: 240px !important;
}

/* =========================================
   3. 第一層 Dropdown (修復 Spawn 問題 -> 變 Fade Up)
   ========================================= */
/* 強制設定初始狀態，防止 Elementor JS 干擾 */
.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu--main > .elementor-item-has-children > .sub-menu {
    display: block !important; /* 永遠 Display Block，但用 Visibility 控制 */
    visibility: hidden;
    opacity: 0;
    transform: translateY(15px);
    transition: none; /* 移除預設 Transition，改用 Animation */
    
    /* 定位 */
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    margin-top: 15px !important;
}

/* Hover 觸發動畫 */
.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu--main > .elementor-item-has-children:hover > .sub-menu {
    animation: grandFadeUp 0.3s cubic-bezier(0.2, 0.8, 0.2, 1) forwards !important;
}

/* 隱形橋樑 (防止滑鼠移開即消失) */
.elementor-55 .elementor-element.elementor-element-4358dc20 .elementor-nav-menu--main > .elementor-item-has-children::after {
    content: '';
    position: absolute;
    bottom: -20px; left: 0; width: 100%; height: 20px;
}

/* =========================================
   4. 第二層 Dropdown (Slide Out)
   ========================================= */
/* 初始狀態 */
.elementor-55 .elementor-element.elementor-element-4358dc20 .sub-menu .menu-item-has-children > .sub-menu {
    display: block !important;
    visibility: hidden;
    opacity: 0;
    
    /* 定位 */
    left: 100% !important;
    top: 0 !important;
    margin-left: 15px !important;
    margin-top: -5px !important;
    z-index: 99999 !important;
}

/* Hover 觸發動畫 */
.elementor-55 .elementor-element.elementor-element-4358dc20 .sub-menu .menu-item-has-children:hover > .sub-menu {
    animation: grandSlideOut 0.3s cubic-bezier(0.2, 0.8, 0.2, 1) forwards !important;
}

/* 隱形橋樑 (第二層) */
.elementor-55 .elementor-element.elementor-element-4358dc20 .sub-menu .menu-item-has-children::after {
    content: '';
    position: absolute;
    top: 0; right: -20px; width: 20px; height: 100%;
}

/* =========================================
   5. Menu Item 交互 (Hover)
   ========================================= */
.elementor-55 .elementor-element.elementor-element-4358dc20 .sub-menu .elementor-item {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #475569 !important;
    padding: 12px 25px !important;
    background: transparent !important;
    transition: all 0.2s ease !important;
    display: flex !important;
    justify-content: space-between !important;
}

.elementor-55 .elementor-element.elementor-element-4358dc20 .sub-menu .elementor-item:hover {
    color: #6366f1 !important;
    background: #f8fafc !important;
    padding-left: 30px !important; /* 字向右滑動 */
}

/* 箭咀微調 */
.elementor-55 .elementor-element.elementor-element-4358dc20 .sub-menu .sub-arrow {
    right: 15px !important;
    color: #cbd5e1 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-219038f1 */#smart-header {
    transition: transform 0.4s ease-in-out !important;
}
/* 向下掃時隱藏 */
.header-hide {
    transform: translateY(-100%) !important;
}

.elementor-55 .elementor-element.elementor-element-219038f1 {
    background-color: rgba(255, 255, 255, 0.95); /* 95% 白，有種透氣感 */
    backdrop-filter: blur(10px); /* 🌟 加少少毛玻璃效果，配合 Future City 主題 */
    border-bottom: 1px solid rgba(0, 0, 0, 0.05); /* 極淺嘅底線，似有還無 */
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.03); /* 超級柔和嘅擴散陰影 */
    z-index: 999;
}

/* --- 將 Register 變做 Grand Gradient Button --- */
.highlight-register-btn a {
    background: linear-gradient(135deg, #6366f1 0%, #3b82f6 100%) !important;
    color: #ffffff !important;
    padding: 10px 24px !important;
    border-radius: 50px !important; /* 膠囊形 */
    box-shadow: 0 4px 15px -3px rgba(99, 102, 241, 0.4) !important;
    margin-left: 15px !important; 
    transition: all 0.3s ease !important;
}

/* Hover 浮起效果 */
.highlight-register-btn a:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px -5px rgba(99, 102, 241, 0.6) !important;
    color: #ffffff !important;
}

/* 熄咗 Theme 預設嘅底線/邊框 */
.highlight-register-btn a::after, 
.highlight-register-btn a::before {
    display: none !important;
}/* End custom CSS */