/*
Theme Name: LUS Theme（成達留學設計）
Theme URI: https://levelupstudies.kinsta.cloud/
Description: Level Up Studies 越南留學台灣官網自訂主題 — 由 Cloudflare 靜態站設計移植而來。內容由 WordPress 後台管理（文章/頁面/WooCommerce/TranslatePress 等外掛照常運作）。
Author: Level Up Studies
Version: 0.17.2
Text Domain: lus-theme
*/

:root{
  --navy:#1d2f8f;
  --blue:#00a0e0;
  --blue-d:#0079b8;
  --yellow:#ffd532;
  --ink:#1e293b;
  --muted:#5b6576;
  --bg:#f5f8fc;
  --white:#fff;
  --radius:18px;
  --shadow:0 18px 50px rgba(29,47,143,.12);
  --shadow-sm:0 8px 24px rgba(29,47,143,.10);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
[id]{scroll-margin-top:84px}
body{
  font-family:'Noto Sans TC','Be Vietnam Pro',system-ui,sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.7;overflow-x:hidden;
}
html[lang="vi"] body,html[lang="vi-VN"] body{font-family:'Be Vietnam Pro','Noto Sans TC',system-ui,sans-serif}
/* ⚠️ Elementor／Essential-Addons 全域 kit 會用 inline <style> 把 body 字體蓋成 'Helvetica Neue', Arial；
   在 Apple 裝置上 Helvetica Neue 的越南文變音符不齊→掉字、同句粗細不一（使用者回報「粗粗細細」）。
   故用 !important 強制全站 body 用 Be Vietnam Pro（越南文專用字體、變音符完整），中文 fallback Noto Sans TC。 */
html body{font-family:'Be Vietnam Pro','Noto Sans TC',system-ui,-apple-system,'Segoe UI',sans-serif!important}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.wrap{width:min(1180px,92%);margin:0 auto}

/* 開站動畫改由 WPCode 片段「開場動畫」(#lus-split-preloader) 負責，主題自己的 .lus-loading 已移除（避免兩層重疊） */

/* 區塊間極細分隔線：#fff 與 #f5f8fc 兩色太接近、界線難辨，加 hairline 讓長頁捲動時段落清楚 */
section{padding:88px 0;border-top:1px solid #e9eef6}
.hero,.hero + section{border-top:0}   /* hero 本身與其後第一區：hero 自帶深色邊界，不需線 */
.eyebrow{display:inline-block;font-weight:700;font-size:.8rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--blue);background:rgba(0,160,224,.1);
  padding:7px 16px;border-radius:999px;margin-bottom:18px}
h2.sec-title{font-size:clamp(1.7rem,3.6vw,2.6rem);font-weight:900;line-height:1.25;color:var(--navy)}
.sec-head{text-align:center;max-width:680px;margin:0 auto 56px}
.sec-head p{color:var(--muted);margin-top:14px;font-size:1.05rem}
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;border-radius:999px;
  padding:14px 30px;cursor:pointer;border:none;font-size:1rem;transition:.25s;font-family:inherit;white-space:nowrap}
.btn-primary{background:var(--navy);color:#fff;box-shadow:0 10px 26px rgba(29,47,143,.3)}
.btn-primary:hover{background:#16246e;transform:translateY(-2px)}
.btn-yellow{background:var(--yellow);color:var(--navy)}
.btn-yellow:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(255,213,50,.45)}
.btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7)}
.btn-ghost:hover{background:#fff;color:var(--navy)}

/* ---------- Header ---------- */
/* 只給網站頁首(#header)，不能用裸 header 選擇器：內文(匯入頁)的 <header> 標籤會被誤釘到視窗頂端 */
/* frosted glass 整列頁首（Stripe/Linear 風）：半透明＋模糊，logo 與選項坐同一表面、與彩色 logo 協調 */
/* 頁首用寬版容器：logo 靠左、語言＋免費諮詢靠右，選單置中、不擠在中間 */
#header > .wrap.nav{width:min(1560px,95%)}
#header{position:fixed;top:0;left:0;right:0;z-index:100;transition:.3s;padding:15px 0;
  background:rgba(255,255,255,.9);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);
  border-bottom:1px solid rgba(20,30,80,.07)}
#header.scrolled{background:rgba(255,255,255,.9);box-shadow:0 4px 20px rgba(0,0,0,.06);padding:10px 0}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:12px;flex:none;transition:.3s}
.brand img{height:46px;width:auto}
.brand .bname{font-weight:900;color:var(--navy);font-size:1.05rem;line-height:1.1;white-space:nowrap}
.brand .bname small{display:block;font-size:.62rem;letter-spacing:.05em;color:var(--muted);font-weight:500}
.menu{display:flex;flex:1;justify-content:space-evenly;gap:18px;list-style:none;margin:0 18px}
.menu a{font-weight:600;color:var(--ink);font-size:1.12rem;transition:.2s;position:relative;white-space:nowrap}
.menu a:hover{color:var(--blue)}
.menu li{position:relative}
.has-sub > a::after{content:"";display:inline-block;margin-left:7px;width:7px;height:7px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg) translate(-1px,-3px);transition:.25s}
.has-sub::before{content:"";position:absolute;top:100%;left:0;right:0;height:20px}
.submenu{position:absolute;top:100%;left:-14px;margin-top:16px;min-width:235px;background:#fff;
  border-radius:14px;box-shadow:0 18px 44px rgba(29,47,143,.18);padding:10px;list-style:none;
  opacity:0;visibility:hidden;transform:translateY(10px);transition:.22s;z-index:60}
.menu .submenu a{display:block;color:var(--ink);font-size:.9rem;font-weight:500;
  padding:9px 14px;border-radius:9px;white-space:nowrap}
.menu .submenu a:hover{background:var(--bg);color:var(--blue)}
@media(min-width:1181px){
  .has-sub:hover > .submenu{opacity:1;visibility:visible;transform:translateY(0)}
}
html[lang="vi"] .menu{gap:10px}
html[lang="vi"] .menu a{font-size:1rem}
html[lang="vi"] .nav-cta{padding:9px 14px;font-size:.8rem}
html[lang="vi"] .brand .bname{display:none}
html[lang="vi"] .has-sub > a::after{width:6px;height:6px;margin-left:5px}
.cards.cards-4{grid-template-columns:repeat(4,1fr)}
.nav-right{display:flex;align-items:center;gap:14px}
.nav-cta{padding:10px 22px;font-size:.9rem}
.burger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:none;border:none;cursor:pointer;padding:10px;min-width:44px;min-height:44px}
.burger span{width:26px;height:3px;background:var(--navy);border-radius:2px;transition:.3s}
#header.scrolled .burger span{background:var(--navy)}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;
  --hero-img:url('assets/hero_tw_students.jpg');
  background:
    linear-gradient(180deg,rgba(8,14,48,.32) 0%,rgba(8,14,48,0) 16%),
    radial-gradient(120% 88% at 20% 62%,rgba(8,14,48,.82) 0%,rgba(8,14,48,.46) 40%,rgba(8,14,48,.10) 64%,rgba(8,14,48,0) 82%),
    var(--hero-img);
  background-size:cover;background-position:center;color:#fff;padding-top:90px;overflow-x:hidden}
.hero h1,.hero .lead,.hero .hero-list,.hero .kicker{text-shadow:0 2px 18px rgba(8,14,48,.45)}
.hero .wrap{position:relative;z-index:2}
.hero-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(6px);padding:8px 18px;border-radius:999px;
  font-size:.85rem;font-weight:600;margin-bottom:24px}
.hero h1{font-size:clamp(2rem,5vw,3.8rem);font-weight:900;line-height:1.18;max-width:none}
.hero h1 .t2{white-space:nowrap}
.hero h1 .hl{color:var(--yellow)}
.hero .kicker{font-family:'Poppins',sans-serif;font-weight:800;letter-spacing:.02em;
  font-size:clamp(1rem,2vw,1.4rem);color:var(--yellow);margin-bottom:10px;opacity:.95}
.hero p.lead{font-size:1.15rem;max-width:46ch;margin:22px 0 34px;color:rgba(255,255,255,.92)}
.hero .hero-list{list-style:none;max-width:52ch;margin:24px 0 34px;display:flex;flex-direction:column;gap:14px}
.hero .hero-list li{position:relative;padding-left:26px;font-size:1.1rem;line-height:1.6;color:rgba(255,255,255,.94)}
.hero .hero-list li::before{content:"";position:absolute;left:0;top:.62em;width:9px;height:9px;border-radius:50%;
  background:var(--yellow);box-shadow:0 0 0 4px rgba(255,176,46,.25)}
.hero .hero-list li b{color:#fff;font-weight:800}
.hero-btns{display:flex;gap:16px;flex-wrap:wrap}
.scroll-ind{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:2;
  width:26px;height:42px;border:2px solid rgba(255,255,255,.6);border-radius:14px;display:flex;justify-content:center;padding-top:7px}
.scroll-ind::before{content:"";width:4px;height:8px;background:#fff;border-radius:2px;animation:sd 1.6s infinite}
@keyframes sd{0%{transform:translateY(0);opacity:1}100%{transform:translateY(14px);opacity:0}}

/* ---------- AU Hero：字母拼貼(L/U/S)，移植自成達澳洲官網 decoArea(src-aus) ---------- */
.hero.au-deco-hero{background:linear-gradient(160deg,#fef9ef 0%,#fbf3df 38%,#eef3fb 100%);
  color:var(--ink);padding-top:128px;align-items:flex-start}
.au-deco-hero h1,.au-deco-hero .lead,.au-deco-hero .hero-list,.au-deco-hero .kicker{text-shadow:none}
.au-deco-hero .kicker{color:var(--blue-d)}
.au-deco-hero h1{color:var(--navy)}
.au-deco-hero h1 .hl{color:var(--blue-d)}
.au-deco-hero .hero-list li{color:var(--muted)}
.au-deco-hero .hero-list li b{color:var(--navy)}
.au-deco-hero .scroll-ind{border-color:rgba(29,47,143,.3)}
.au-deco-hero .scroll-ind::before{background:var(--navy)}
.au-deco-list{display:flex;align-items:flex-start;justify-content:space-between;
  gap:clamp(10px,3vw,36px);margin-bottom:30px;pointer-events:none;user-select:none}
.au-deco-item{position:relative}
.au-deco-item.l{flex:0 1 25%}
.au-deco-item.u{flex:0 1 37%}
.au-deco-item.s{flex:0 1 32%}
.au-deco-item .letter{opacity:0;transform:translateY(10px);animation:auSlideUp .7s .25s forwards;
  filter:drop-shadow(0 6px 14px rgba(214,204,163,.55))}
.au-deco-item .letter img,.au-deco-item .deco img{width:100%;height:auto;display:block;backface-visibility:hidden}
.au-deco-item .deco{position:absolute;opacity:0}
.au-deco-item.l .kangaroo{width:45%;top:36.5%;left:-6%;animation:auSlideUp .6s 1s forwards}
.au-deco-item.l .deco-box{position:absolute;right:2%;bottom:2%;width:76%;height:42%;overflow:hidden;border-radius:4px}
.au-deco-item.l .deco-box img{opacity:0;transform:translateY(10px);animation:auSlideUp .6s 1.4s forwards}
.au-deco-item.u .letter{animation-delay:.5s}
.au-deco-item.u .deco{opacity:1;animation:auFloat 6s linear infinite}
.au-deco-item.u .deco img{opacity:0;transform:translateY(10px)}
.au-deco-item.u .balloon-1{width:15%;top:8%;left:-4%;animation-delay:.5s}
.au-deco-item.u .balloon-1 img{animation:auSlideUp .5s 1.2s forwards}
.au-deco-item.u .balloon-2{width:5%;top:14%;left:-22%}
.au-deco-item.u .balloon-2 img{animation:auSlideUp .5s 1.6s forwards}
.au-deco-item.u .balloon-3{width:6.6%;top:22.5%;left:-14.5%;animation-delay:1s}
.au-deco-item.u .balloon-3 img{animation:auSlideUp .5s 2s forwards}
.au-deco-item.s .letter{animation-delay:.75s}
.au-deco-item.s .people{width:50%;top:11%;left:18%;animation:auFadeIn .7s 1.2s forwards}
.au-deco-item.s .turtle{width:30%;top:26%;left:1%;animation:auFadeIn .7s 1.6s forwards}
@keyframes auSlideUp{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}
@keyframes auFadeIn{0%{opacity:0}100%{opacity:1}}
@keyframes auFloat{0%,100%{transform:translateY(0)}25%{transform:translateY(-5px)}75%{transform:translateY(5px)}}
@media (prefers-reduced-motion:reduce){
  .au-deco-item .letter,.au-deco-item .deco,.au-deco-item .deco img,.au-deco-item .deco-box img{
    animation:none!important;opacity:1!important;transform:none!important}
}
/* 中型螢幕（桌機選單剛消失後，601–1180px）：字母縮小，避免 hero 過高 */
@media(max-width:1180px) and (min-width:601px){
  .au-deco-item.l{flex:0 1 18%}
  .au-deco-item.u{flex:0 1 27%}
  .au-deco-item.s{flex:0 1 23%}
  .hero.au-deco-hero{padding-top:100px}
}
/* 短視窗（常見 1366×768 筆電）：進一步縮小字母，hero 不用滾太多就看完 */
@media(max-height:800px) and (min-width:601px){
  .au-deco-item.l{flex:0 1 15%}
  .au-deco-item.u{flex:0 1 23%}
  .au-deco-item.s{flex:0 1 20%}
  .hero.au-deco-hero{padding-top:88px}
  .au-deco-list{margin-bottom:18px}
}

/* ---------- TW Hero：LUS 字母填台灣 4 大地標（v0.18.10；重用上面 .au-deco-* 字母骨架＋動畫；留澳 hero 不受影響）---------- */
/* L=台北101（整支塔順字幹）／U=阿里山雲海（整片雲填雙柱）／S=中正紀念堂(上)＋日月潭(下)。照片燒進字母剪影、無外部裝飾 SVG */

/* ---------- About ---------- */
.about-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center}
.about-visual{position:relative}
.about-visual img{border-radius:var(--radius);box-shadow:var(--shadow)}
.about-badge{position:absolute;bottom:-26px;right:-14px;background:var(--white);border-radius:16px;
  padding:18px 24px;box-shadow:var(--shadow);text-align:center}
.about-badge .n{font-size:1.9rem;font-weight:900;color:var(--navy);font-family:'Poppins',sans-serif;line-height:1}
.about-badge .l{font-size:.78rem;color:var(--muted);margin-top:4px}
.about-text h2{margin-bottom:20px}
.about-text p{color:var(--muted);margin-bottom:18px}
.about-points{list-style:none;display:grid;gap:12px;margin-top:24px}
.about-points li{display:flex;gap:12px;align-items:flex-start;font-weight:500}
.about-points .ck{flex:none;width:22px;height:22px;border-radius:50%;background:var(--blue);position:relative;margin-top:3px}
.about-points .ck::after{content:"";position:absolute;left:7.5px;top:4.5px;width:5px;height:9px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.offices{margin-top:26px;font-size:.92rem;color:var(--muted)}
.offices b{color:var(--navy)}

/* ---------- 服務清單（一站式服務 8 項條列）---------- */
.svc-list{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:14px 32px;max-width:760px;margin:0 auto}
.svc-list li{position:relative;padding:14px 18px 14px 48px;background:#fff;border:1px solid #e6ecf6;border-radius:12px;
  font-size:1.05rem;font-weight:600;color:var(--navy);box-shadow:var(--shadow-sm)}
.svc-list li::before{content:"";position:absolute;left:18px;top:50%;width:18px;height:10px;
  border-left:3px solid var(--blue);border-bottom:3px solid var(--blue);transform:translateY(-70%) rotate(-45deg)}

/* ---------- 獎學金「只列名稱」卡（點進去看完整介紹）---------- */
.sch-names .sch-item{display:block}
.sch-tag{color:var(--muted);font-size:.95rem;margin-top:10px;font-weight:600}

/* ---------- 中文班 海報圖牆（自存圖＋連 FB 貼文）---------- */
.cn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.cn-card{display:block;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);
  background:#fff;border:1px solid #e6ecf6;transition:.3s;position:relative}
.cn-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.cn-card img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
/* 影片卡與「更多」卡：品牌色塊 */
.cn-vid,.cn-more{aspect-ratio:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:12px;text-align:center;color:#fff;padding:20px}
.cn-vid{background:linear-gradient(150deg,var(--navy),var(--blue-d))}
.cn-play{width:62px;height:62px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;
  font-size:1.5rem;border:2px solid rgba(255,255,255,.7)}
.cn-vlabel{font-weight:800;font-size:1.05rem}
.cn-more{background:linear-gradient(150deg,#1877f2,#0e5fc0)}
.cn-more-in{font-weight:800;font-size:1.08rem;line-height:1.4}
.cn-more-in small{display:block;font-weight:600;font-size:.85rem;opacity:.9;margin-top:6px}

/* ---------- Services ---------- */
#services{background:linear-gradient(180deg,#fff,#eef4fb)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
/* 服務／TOCFL 卡：去除色塊圖示，改頂部 accent 色條（編輯式、去 AI 感） */
.card{background:#fff;border-radius:var(--radius);padding:30px 28px;box-shadow:var(--shadow-sm);
  transition:.3s;border:1px solid #eef1f7;border-top:3px solid var(--accent,var(--blue));position:relative;overflow:hidden}
.card:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-top-color:var(--accent,var(--blue))}
.card h3{font-size:1.18rem;color:var(--navy);margin-bottom:10px}
.card p{color:var(--muted);font-size:.96rem}

/* ---------- Programs ---------- */
.prog{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.prog-card{border-radius:var(--radius);overflow:hidden;color:#fff;padding:30px 24px;min-height:240px;
  display:flex;flex-direction:column;justify-content:flex-start;position:relative;transition:.3s}
.prog-card:hover{transform:translateY(-8px)}
/* 「出自LUS FB」標籤壓回卡片底部，讓頂端的圖示與標題跨卡對齊 */
.prog-card > .src{margin-top:auto;align-self:flex-start}
.prog-card h3{font-size:1.25rem;margin-bottom:8px}
.prog-card p{font-size:.9rem;opacity:.92}

/* ---------- Scholarships / Schools ---------- */
.sch{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
/* 地區學校＝該區代表大學實景照當背景（取代 emoji 圖示） */
.sch-card{position:relative;z-index:0;border-radius:var(--radius);overflow:hidden;min-height:300px;
  display:flex;flex-direction:column;justify-content:flex-end;color:#fff;box-shadow:var(--shadow-sm);transition:transform .4s,box-shadow .4s}
.sch-card::after{content:"";position:absolute;inset:0;z-index:-2;background-image:var(--img);background-size:cover;background-position:center;transition:transform .6s ease}
.sch-card::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(13,22,60,0) 0%,rgba(13,22,60,.28) 45%,rgba(13,22,60,.9) 100%);transition:background .4s}
a.sch-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
a.sch-card:hover::after{transform:scale(1.06)}
a.sch-card:hover::before{background:linear-gradient(180deg,rgba(13,22,60,.05) 0%,rgba(13,22,60,.4) 45%,rgba(13,22,60,.94) 100%)}
.sch-cap{padding:24px 26px 22px}
a.sch-card h3::after,a.card h3::after,a.prog-card h3::after{content:"→";display:inline-block;margin-left:8px;color:var(--blue);opacity:0;transition:.25s}
a.sch-card h3::after,a.prog-card h3::after{color:var(--yellow)}
a.sch-card:hover h3::after,a.card:hover h3::after,a.prog-card:hover h3::after{opacity:1;transform:translateX(4px)}
/* 內容出處標籤（審閱期用，部署正式站前移除）：藍=對方Kinsta站、綠=LUS澳洲官網、黃=AI建議 */
.src{display:inline-block;font-size:.68rem;font-weight:700;padding:2px 9px;border-radius:999px;margin-left:8px;vertical-align:middle;letter-spacing:.02em;white-space:nowrap}
.src-kinsta{background:#e8f4ff;color:#0b6bb8;border:1px solid #b9ddf7}
.src-aus{background:#e9f9ef;color:#117a3d;border:1px solid #bfe8cd}
.src-ai{background:#fff7df;color:#9a7b00;border:1px dashed #e0c45c}
.src-gov{background:#eef0fb;color:#3142a3;border:1px solid #c5ccf0}
.src-ref{background:#f3eefb;color:#6a3fb0;border:1px solid #ddccf0}
/* 「待填入」占位標籤：自寫示意內容已清空，等公司提供（見 CLAUDE.md 風險清單） */
.tofill{display:inline-block;color:#9a7b00;background:#fff7df;border:1px dashed #e0c45c;border-radius:8px;padding:4px 12px;font-size:.85rem;font-weight:600}
.prog-card .tofill{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.5);color:#fff}
.sch-card h3{color:#fff;font-size:1.32rem;margin-bottom:7px}
.sch-card .desc{color:rgba(255,255,255,.92);font-size:.92rem;line-height:1.6}
.sch-card .cities{color:#ffe08a;font-weight:700;font-size:.84rem;margin-bottom:6px;letter-spacing:.02em}

/* ---------- Scholarships（獎學金：大寫縮寫錨點卡，取代圖示） ---------- */
.sch-item{display:block;background:#fff;border:1px solid #e6ecf6;
  border-left:4px solid var(--accent,var(--blue));border-radius:var(--radius);padding:28px 30px;transition:.3s}
a.sch-item:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#e6ecf6;border-left-color:var(--accent,var(--blue))}
/* 縮寫與標題同一行（頂部），下方欄位整寬 → 縮寫不再霸佔整條左欄、消除左側空白 */
.sch-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.sch-badge{flex:none;font-family:'Poppins',sans-serif;font-weight:800;font-size:1.5rem;line-height:1;
  color:var(--accent,var(--navy));letter-spacing:.01em}
.sch-item h3{color:var(--navy);font-size:1.14rem;margin:0}

/* ---------- Process ---------- */
#process{background:linear-gradient(180deg,#eef4fb,#fff)}
.steps{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;counter-reset:step}
.step{text-align:center;position:relative}
.step .num{width:64px;height:64px;border-radius:50%;background:#fff;border:3px solid var(--blue);
  color:var(--navy);font-weight:900;font-size:1.4rem;font-family:'Poppins';display:grid;place-items:center;margin:0 auto 16px;
  box-shadow:var(--shadow-sm);position:relative;z-index:2}
.step:not(:last-child)::after{content:"";position:absolute;top:32px;left:60%;width:80%;height:3px;
  background:linear-gradient(90deg,var(--blue),rgba(0,160,224,.2));z-index:1}
.step h4{color:var(--navy);font-size:1rem;margin-bottom:4px}
.step p{font-size:.85rem;color:var(--muted)}

/* ---------- FAQ ---------- */
.faq{max-width:820px;margin:0 auto;display:grid;gap:14px}
.faq-item{background:#fff;border-radius:14px;box-shadow:var(--shadow-sm);overflow:hidden;border:1px solid #eef1f7}
.faq-q{width:100%;text-align:left;background:none;border:none;padding:22px 26px;font-size:1.05rem;font-weight:700;
  color:var(--navy);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:inherit}
.faq-q .pl{flex:none;width:26px;height:26px;position:relative;transition:.3s}
.faq-q .pl::before,.faq-q .pl::after{content:"";position:absolute;background:var(--blue);border-radius:2px}
.faq-q .pl::before{top:50%;left:0;right:0;height:3px;transform:translateY(-50%)}
.faq-q .pl::after{left:50%;top:0;bottom:0;width:3px;transform:translateX(-50%);transition:.3s}
.faq-item.open .pl::after{transform:translateX(-50%) scaleY(0)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-a-inner{padding:0 26px 24px;color:var(--muted)}
.faq-a-inner table{width:100%;border-collapse:collapse;margin-top:6px;font-size:.92rem}
.faq-a-inner th,.faq-a-inner td{border:1px solid #e6ebf3;padding:9px 12px;text-align:left}
.faq-a-inner th{background:var(--bg);color:var(--navy)}
.faq-a-inner ul{margin:8px 0 0 18px}

/* ---------- CTA / Contact ---------- */
.cta{background:linear-gradient(120deg,var(--navy),var(--blue-d));color:#fff;text-align:center;border-radius:26px;
  padding:60px 30px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.cta h2{font-size:clamp(1.6rem,3.4vw,2.4rem);font-weight:900;margin-bottom:14px}
.cta p{max-width:50ch;margin:0 auto 30px;color:rgba(255,255,255,.9)}
/* CTA 費用（留學大學部／華語正規班）：白色玻璃卡，兩欄 */
.cta-fees{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin:0 auto 22px}
.cta-fee{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:16px;
  padding:18px 26px;min-width:240px}
.cta-fee-k{display:block;font-size:.95rem;color:rgba(255,255,255,.85);margin-bottom:6px}
.cta-fee-v{display:block;font-size:1.5rem;font-weight:900;font-family:'Poppins',sans-serif;color:var(--yellow)}
/* 優惠膠囊（去 🎁 emoji，改質感標籤 chip） */
.cta-offer{display:inline-flex;align-items:center;gap:11px;margin:0 auto 26px;max-width:none;
  background:rgba(255,213,50,.14);border:1px solid rgba(255,213,50,.5);color:#fff;
  padding:10px 20px 10px 11px;border-radius:999px;font-weight:600;line-height:1.5;font-size:.95rem;text-align:left}
.cta-offer-tag{flex:none;background:var(--yellow);color:var(--navy);font-weight:800;font-size:.76rem;
  padding:5px 13px;border-radius:999px;letter-spacing:.03em}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.socials{display:flex;gap:14px;justify-content:center;margin-top:30px}
.socials a{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.15);display:grid;place-items:center;
  transition:.25s;border:1px solid rgba(255,255,255,.25)}
.socials a:hover{background:var(--yellow);transform:translateY(-3px)}
.socials svg{width:22px;height:22px;fill:#fff}
.socials a:hover svg{fill:var(--navy)}

/* ---------- Footer ---------- */
footer{background:#0f1a4d;color:rgba(255,255,255,.75);padding:54px 0 28px;font-size:.92rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:36px}
.foot-grid h4{color:#fff;margin-bottom:16px;font-size:1rem}
.foot-grid img{height:44px;display:block}
.foot-logo-card{display:inline-block;background:#fff;border-radius:12px;padding:10px 16px;margin-bottom:14px}
.foot-grid ul{list-style:none;display:grid;gap:9px}
.foot-grid a:hover{color:var(--yellow)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.15);padding-top:22px;text-align:center;font-size:.85rem;color:rgba(255,255,255,.55)}

.reveal{opacity:0;transform:translateY(34px);transition:.7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

/* ---------- Responsive ---------- */
@media(max-width:1180px){
  .menu,.nav-cta{display:none}
  .burger{display:flex}
  /* 頂列防裁切：手機把「國家切換器」移進漢堡選單(見 .m-country)，頂列只剩 logo＋語言＋漢堡，空間充裕、不裁切 */
  #header > .wrap.nav{width:min(1560px,94%)}
  .brand .bname{display:none}            /* 桌機才顯示品牌文字；手機僅留 logo 圖騰省空間 */
  .brand img{height:38px}
  .nav{gap:10px}
  .nav-right{gap:8px}
  #lusCountry{display:none}              /* 頂列國家鈕手機隱藏，改用漢堡內 .m-country(更清楚) */
  .lus-lang-toggle{padding:7px 12px;font-size:.9rem;gap:6px}
  .burger{flex:none}

  /* 漢堡選單最上方的「國家切換」列：清楚標示，一看就懂在切換留學國家
     用 .menu.open .m-country 提高優先級，確保勝過後面全域的 .m-country{display:none} */
  .menu.open .m-country{display:block;border-bottom:1px solid #f0f3f8;padding:6px 2px 14px}
  .m-country-label{display:block;font-size:1.08rem;font-weight:800;color:var(--navy);margin-bottom:11px;letter-spacing:.01em}
  .m-country-opts{display:flex;flex-direction:column;gap:8px}
  .menu.open .m-country-opts .ctry-opt{display:flex;align-items:center;gap:12px;width:100%;
    padding:11px 14px;border-radius:13px;border:1.5px solid #e4ebf5;background:#fff;color:var(--ink);text-align:left;transition:.18s}
  /* 選中卡白字：加 #header 提高到 ID 等級，蓋過 #header.solid .menu a{color:--ink}（否則標籤被深藍底吃掉） */
  #header .m-country-opts .ctry-opt.is-current{background:var(--navy);border-color:var(--navy)}
  #header .m-country-opts .ctry-opt.is-current,
  #header .m-country-opts .ctry-opt.is-current .ctry-label{color:#fff}
  #header .m-country-opts .ctry-opt.is-current .ctry-sub{color:rgba(255,255,255,.78)}
  #header .m-country-opts .ctry-opt.is-current .ctry-arrow{color:rgba(255,255,255,.6)}
  .menu.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;
    background:#fff;padding:6px 24px 12px;gap:0;box-shadow:0 12px 24px rgba(0,0,0,.1);
    max-height:calc(100vh - 80px);overflow-y:auto}
  /* 每個父項一條細分隔線，視覺清楚不擁擠 */
  .menu.open > li{border-bottom:1px solid #f0f3f8}
  .menu.open > li:last-child{border-bottom:0}
  /* 整列可點、最小高度 ≥44px（觸控目標研究：≥44px 誤觸率大降） */
  .menu.open a{color:var(--ink);display:block;padding:13px 2px;font-size:1.08rem}
  .has-sub::before{display:none}
  .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    margin:0 0 8px;padding:0 0 0 16px;min-width:0;display:none;background:transparent;
    border-left:2px solid #e6ebf3}
  .has-sub.open > .submenu{display:block}
  .submenu li{margin-bottom:0}
  /* 子項也要好點：≥44px、字級略小於父項 */
  .menu .submenu a{padding:11px 2px;font-size:1rem}
  .has-sub.open > a::after{transform:rotate(225deg) translate(-2px,-2px)}
}
/* ---------- Trust（信任區 #why-lus） ---------- */
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.t-card{background:var(--bg);border:1px solid #e6ecf6;border-radius:var(--radius);padding:32px 28px;transition:.3s}
.t-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-sm);border-color:var(--blue)}
.t-num{display:inline-block;font-family:'Poppins',sans-serif;font-weight:800;font-size:1.45rem;color:var(--blue);
  letter-spacing:.04em;margin-bottom:16px;padding-bottom:11px;position:relative}
.t-num::after{content:"";position:absolute;left:2px;bottom:0;width:26px;height:3px;background:var(--yellow);border-radius:2px}
.t-card h3{font-size:1.12rem;color:var(--navy);margin-bottom:8px;line-height:1.4}
.t-card p{color:var(--muted);font-size:.94rem}
.t-card a{color:var(--blue-d);font-weight:600}

/* 三欄費用表（透明分項：項目／收費方／金額） */
.fee-table-3 th:nth-child(2),.fee-table-3 td:nth-child(2){width:130px;color:var(--muted);font-weight:600}
.fee-table-3 thead th{background:var(--navy);color:#fff;width:auto}

@media(max-width:860px){
  .trust{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){ .trust{grid-template-columns:1fr} }

@media(max-width:980px){
  .cards,.prog,.cards.cards-4{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(3,1fr);gap:30px 18px}
  .step:nth-child(3)::after{display:none}
  .about-grid{grid-template-columns:1fr;gap:50px}
  .sch{grid-template-columns:1fr}
}
@media(max-width:760px){
  section{padding:64px 0}
  .svc-list{grid-template-columns:1fr;max-width:none}
  .hero{background:
    linear-gradient(180deg,rgba(8,14,48,.28) 0%,rgba(8,14,48,.48) 46%,rgba(8,14,48,.66) 100%),
    var(--hero-img);
    background-size:cover;background-position:center}
}
@media(max-width:520px){
  .cards,.prog,.cards.cards-4{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(2,1fr)}
  .step::after{display:none!important}
}

/* ---------- 最新消息（news 列表 + 單篇）---------- */
.news-wrap{width:min(1180px,92%);margin:0 auto;padding:138px 0 88px;min-height:70vh}
.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:28px}
.news-card{display:flex;flex-direction:column;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid #eef1f7;transition:.3s}
.news-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.news-thumb{aspect-ratio:1/1;background:linear-gradient(135deg,var(--navy),var(--blue));display:grid;place-items:center;overflow:hidden}
.news-thumb img{width:100%;height:100%;object-fit:cover}
.news-thumb .ph{font-family:'Poppins',sans-serif;font-weight:800;font-size:2rem;color:rgba(255,255,255,.92);letter-spacing:2px}
.news-cardbody{padding:18px 20px 22px}
.news-date{font-size:.8rem;color:var(--muted);font-weight:600}
.news-cardtitle{font-size:1.04rem;line-height:1.45;color:var(--ink);margin:.4em 0 0;font-weight:700}
.news-card:hover .news-cardtitle{color:var(--navy)}
/* 地區學校列表（template-region.php）：照片在上 16:9、校名在下；hover 圖片輕微放大 */
.news-grid.is-region .news-thumb{aspect-ratio:16/9}
.news-grid.is-region .news-thumb img{transition:transform .45s ease}
.news-grid.is-region .news-card:hover .news-thumb img{transform:scale(1.05)}
.news-pagination{text-align:center;margin-top:46px}
.news-pagination .page-numbers{display:inline-block;padding:8px 14px;margin:0 4px;border-radius:10px;background:#fff;border:1px solid #e6edf6;color:var(--navy);font-weight:700}
.news-pagination .page-numbers.current{background:var(--navy);color:#fff}
.single-wrap{width:min(820px,92%);margin:0 auto;padding:128px 0 80px}
.single-date{color:var(--blue);font-weight:700;font-size:.85rem;letter-spacing:.04em}
.single-title{font-size:clamp(1.6rem,3.4vw,2.4rem);font-weight:900;color:var(--navy);line-height:1.25;margin:.3em 0 1em}
.single-body{color:var(--ink);font-size:1.05rem}
.single-body p{margin:0 0 1em}
.single-body img{border-radius:var(--radius);margin:1em 0}
.single-back{display:inline-block;margin-top:36px;color:var(--blue-d);font-weight:700}

/* ---- 最新消息：分類篩選按鈕 ---- */
.news-filter{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:38px}
.news-filter-btn{display:inline-block;padding:9px 22px;border-radius:999px;background:#fff;
  border:1.5px solid #dde6f2;color:var(--navy);font-weight:700;font-size:.92rem;transition:.25s}
.news-filter-btn:hover{border-color:var(--blue);color:var(--blue-d);transform:translateY(-2px)}
.news-filter-btn.active{background:var(--navy);border-color:var(--navy);color:#fff;
  box-shadow:0 8px 20px rgba(29,47,143,.25)}

/* ---- 通用內頁（page.php，含 Elementor 匯入頁整理） ---- */
.page-wrap{width:min(980px,92%);margin:0 auto;padding:128px 0 80px;min-height:60vh}
.page-head{margin-bottom:30px}
.page-title{font-size:clamp(1.7rem,3.6vw,2.5rem);font-weight:900;color:var(--navy);line-height:1.25;margin:.25em 0 0}
.page-body{color:var(--ink);font-size:1.03rem;line-height:1.85}
.page-body h1,.page-body h2,.page-body h3,.page-body h4{color:var(--navy);line-height:1.35;margin:1.4em 0 .55em}
.page-body h2{font-size:1.5rem}
.page-body h3{font-size:1.22rem}
.page-body p{margin:0 0 1em}
.page-body ul,.page-body ol{margin:0 0 1.2em 1.4em}
.page-body li{margin:.3em 0}
.page-body img{max-width:100%;height:auto;border-radius:var(--radius);margin:.6em 0}
.page-body iframe{max-width:100%;border-radius:var(--radius)}
.page-body a{color:var(--blue-d);font-weight:600}
.page-body a:hover{text-decoration:underline}
.page-body table{width:100%;border-collapse:collapse;margin:1.2em 0;background:#fff;
  border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm);font-size:.97rem}
.page-body th,.page-body td{padding:12px 14px;border:1px solid #e8eef7;text-align:left;vertical-align:top}
.page-body th{background:var(--navy);color:#fff;font-weight:700}
.page-body tr:nth-child(even) td{background:#f7fafd}
/* Elementor 渲染殘骸的中和 */
.page-body .elementor-section,.page-body .e-con,.page-body .e-con-inner{margin:0 0 .5em}
.page-body .elementor-widget-container>*:last-child{margin-bottom:0}
.page-body .elementor-button{display:inline-block;padding:10px 24px;border-radius:999px;
  background:var(--navy);color:#fff!important;font-weight:700;text-decoration:none}
.page-body .elementor-divider{margin:1em 0;border-top:1px solid #e6edf6}
/* 頁首語言切換：世界級網站風格的「地球＋當前語言＋下拉選單」 */
.lus-lang{position:relative;flex:none}
.lus-lang-toggle{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border:1.5px solid rgba(212,220,236,.9);
  border-radius:999px;background:rgba(255,255,255,.55);color:var(--ink);font-weight:700;font-size:1rem;line-height:1;
  cursor:pointer;white-space:nowrap;transition:.2s}
.lus-lang-toggle:hover{border-color:var(--blue);color:var(--blue);background:#fff}
.lus-lang-globe{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;flex:none}
.lus-lang-caret{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;flex:none;transition:.25s;opacity:.7}
.lus-lang.open .lus-lang-caret{transform:rotate(180deg)}
.lus-lang-menu{position:absolute;top:calc(100% + 10px);right:0;min-width:170px;background:#fff;border-radius:14px;
  box-shadow:0 18px 44px rgba(29,47,143,.18);padding:8px;list-style:none;margin:0;
  opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s;z-index:120}
.lus-lang.open .lus-lang-menu{opacity:1;visibility:visible;transform:none}
.lus-lang-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-radius:9px;
  color:var(--ink);font-weight:600;font-size:1rem;white-space:nowrap}
.lus-lang-opt:hover{background:var(--bg);color:var(--blue)}
.lus-lang-opt.is-current{background:var(--yellow);color:var(--navy)}
.lus-lang-opt.is-current::after{content:"✓";font-size:.95em}
#header.solid .lus-lang-toggle,#header.scrolled .lus-lang-toggle{border-color:rgba(212,220,236,.9);color:var(--ink);background:#fff}
#header.solid .lus-lang-toggle:hover,#header.scrolled .lus-lang-toggle:hover{color:var(--blue)}
/* 國家切換器（情境式導覽）：沿用 .lus-lang 全套樣式；標籤桌機用完整、手機用短版 */
.lc-short{display:none}
.m-country{display:none}   /* 漢堡選單內的國家切換列，僅手機顯示(見 ≤1180 區塊) */
/* 國旗圖示(SVG，跨平台一致) */
.lus-flag{width:22px;height:15px;border-radius:3px;object-fit:cover;flex:none;box-shadow:0 0 0 1px rgba(0,0,0,.1);vertical-align:middle}
/* 窗口切換器（出發國→目的國・呼應航程主題；標籤用各窗口自身語言） */
.ctry-route{display:inline-flex;align-items:center;gap:6px;flex:none}
.ctry-flag{width:28px;height:19px;border-radius:2px;object-fit:cover;display:block;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
/* 雙旗之間的飛機：細線描邊客機（line-art，有質感；CSS mask 取 stroke 形狀，currentColor 上色，選中態自動變白） */
.ctry-arrow{width:24px;height:24px;flex:none;color:var(--muted);background-color:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 10h4a2 2 0 0 1 0 4h-4l-4 7h-3l2 -7h-4l-2 2h-3l2 -4l-2 -4h3l2 2h4l-2 -7h3z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 10h4a2 2 0 0 1 0 4h-4l-4 7h-3l2 -7h-4l-2 2h-3l2 -4l-2 -4h3l2 2h4l-2 -7h3z'/%3E%3C/svg%3E") center/contain no-repeat}
.ctry-text{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.ctry-label{font-weight:700;white-space:nowrap}
.ctry-sub{font-size:.72rem;color:var(--muted);font-weight:600;white-space:nowrap}
.lus-country .lus-lang-toggle{gap:9px}
.lus-country .lus-lang-menu{min-width:0;width:max-content;max-width:min(320px,92vw)}
.lus-country .lus-lang-opt.ctry-opt{justify-content:flex-start;gap:11px;padding:9px 14px;align-items:center}
.lus-country .lus-lang-opt.ctry-opt:hover:not(.is-current){background:var(--bg)}
.lus-country .lus-lang-opt.ctry-opt.is-current{background:var(--navy);color:#fff}
.lus-country .lus-lang-opt.ctry-opt.is-current::after{content:none}
.lus-country .lus-lang-opt.ctry-opt.is-current .ctry-sub{color:rgba(255,255,255,.72)}
.lus-country .lus-lang-opt.ctry-opt.is-current .ctry-arrow{color:rgba(255,255,255,.6)}
/* 隱藏 TranslatePress 內建的浮動語言切換器（多餘；改用頁首自製的 .lus-lang 下拉） */
.trp-floating-switcher{display:none!important}
/* 留澳細節分頁（template-au-detail.php） */
.au-detail .au-back{display:inline-block;color:var(--blue-d);font-weight:700;margin-bottom:14px}
.au-detail .au-back:hover{color:var(--blue)}
.au-detail .au-lead{color:var(--muted);font-size:1.08rem;margin-top:.5em}
.au-detail-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:44px}
.btn-ghost-navy{background:#fff;border:2px solid var(--navy);color:var(--navy)}
.btn-ghost-navy:hover{background:var(--navy);color:#fff}
/* 統一「回上頁」鈕（每頁內文上＝藍字連結、下＝外框按鈕；皆 data-back 走 history.back） */
.lus-back-top{display:inline-block;color:var(--blue-d);font-weight:700;margin-bottom:18px}
.lus-back-top:hover{color:var(--blue)}
.lus-back-bottom{margin-top:44px}

/* 資料就緒模板：key-value 欄位（獎學金/方案等，等公司填數字就直接套） */
.kv{margin:10px 0 0;display:grid;gap:7px}
.kv-row{display:grid;grid-template-columns:92px 1fr;gap:10px;align-items:start;font-size:.92rem;line-height:1.5}
.kv-k{font-weight:700;color:var(--navy);white-space:nowrap}
.kv-k::after{content:"："}
.kv-v{color:var(--ink)}
.prog-card .kv-k{color:rgba(255,255,255,.9)}.prog-card .kv-v{color:#fff}
/* 費用表骨架 */
.fee-table{width:100%;border-collapse:collapse;margin-top:4px;font-size:.95rem}
.fee-table th,.fee-table td{border:1px solid #e6ebf3;padding:10px 12px;text-align:left;vertical-align:top}
.fee-table th{background:var(--bg);color:var(--navy);font-weight:700;white-space:nowrap;width:140px}
.fee-note{font-size:.84rem;color:var(--muted);margin-top:8px}
/* 非首頁（無深色 hero）：頁首預設實心、深色字，避免白字看不見 */
#header.solid{background:rgba(255,255,255,.97);box-shadow:0 4px 20px rgba(0,0,0,.07);padding:10px 0}
#header.solid .menu a{color:var(--ink)}
#header.solid .menu a:hover{color:var(--blue)}
#header.solid .brand .bname{color:var(--navy)}
#header.solid .brand .bname small{color:var(--muted)}
#header.solid .burger span{background:var(--navy)}
/* 頁首社群圖示：品牌色圓角方塊＋官方標誌（Simple Icons 白色遮罩） */
.nav-social{display:flex;align-items:center;gap:10px}
.soc{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;transition:.2s}
.soc::before{content:"";width:60%;height:60%;background:#fff;
  -webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.soc:hover{transform:translateY(-2px);filter:brightness(1.07)}
.soc-zalo{background:#0068ff;--m:url(assets/social/zalo.svg)}
.soc-ig{background:radial-gradient(circle at 30% 110%,#fdf497 0%,#fd5949 45%,#d6249f 70%,#285aeb 100%);--m:url(assets/social/instagram.svg)}
.soc-msgr{background:radial-gradient(circle at 32% 0%,#00b2ff,#006aff 55%,#7a3cff);--m:url(assets/social/messenger.svg)}
.soc-line{background:#06c755;--m:url(assets/social/line.svg)}
.soc-fb{background:#1877f2;--m:url(assets/social/facebook.svg)}
.menu.open .nav-social{padding-top:6px}

/* 頁尾「追蹤我們」社群清單（深底＋品牌圖示） */
.foot-social{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.foot-social li{margin:0}
.foot-social a{display:inline-flex;align-items:center;gap:11px;color:inherit;text-decoration:none;opacity:.9;transition:opacity .2s}
.foot-social a:hover{opacity:1}
.foot-social .soc{width:30px;height:30px;border-radius:9px;flex-shrink:0}

/* ===== 留澳「為什麼選成達」：兩端的橋（非卡片、完整且大；signature 區） ===== */
.au-why-head{text-align:center;max-width:800px;margin:0 auto 30px}
.au-why-lead{font-size:1.18rem;line-height:1.85;color:#3a4255;margin:14px 0 0}
.au-why-lead b{color:#0f1a4d}
.au-bridge{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;margin:0 auto;max-width:1080px}
.au-end{padding:38px 38px;border-radius:22px}
.au-end-vn{background:#fff6ec}
.au-end-au{background:#eef4fc}
.au-end-tag{display:inline-block;font-weight:800;font-size:.82rem;letter-spacing:.06em;padding:5px 13px;border-radius:999px;margin-bottom:16px}
.au-end-vn .au-end-tag{background:#ffe2c2;color:#b45309}
.au-end-au .au-end-tag{background:#d6e6fa;color:#1d4ed8}
.au-end h3{font-size:1.42rem;color:#0f1a4d;margin:0 0 12px;line-height:1.42}
.au-end p{font-size:1.04rem;line-height:1.85;color:#3a4255;margin:0}
.au-bridge-arc{position:relative;display:flex;align-items:center;justify-content:center;padding:0 20px}
.au-bridge-arc span{display:none}
.au-bridge-arc i{position:absolute;top:20%;bottom:20%;width:2px;background:repeating-linear-gradient(#d3ddea 0 5px,transparent 5px 11px)}
.au-bridge-arc::before{content:"\2708";position:relative;z-index:1;width:48px;height:48px;display:grid;place-items:center;background:#ffd23f;color:#0f1a4d;border-radius:50%;font-size:1.2rem;transform:rotate(90deg);box-shadow:0 8px 18px rgba(255,178,46,.45)}
.au-focus{margin:34px auto 0;max-width:1080px;background:#0f1a4d;border-radius:22px;padding:36px 42px}
.au-focus p{margin:0;font-size:1.1rem;line-height:1.9;color:#dbe3ff}
.au-focus-hl{display:inline;color:#ffd23f;font-size:1.26rem;font-weight:800}
@media(max-width:760px){
  .au-bridge{grid-template-columns:1fr;max-width:520px;gap:6px}
  .au-end{padding:28px 24px}
  .au-bridge-arc{padding:4px 0;min-height:54px}
  .au-bridge-arc i{top:auto;bottom:auto;left:30%;right:30%;width:auto;height:2px;background:repeating-linear-gradient(90deg,#d3ddea 0 5px,transparent 5px 11px)}
  .au-bridge-arc::before{transform:rotate(135deg)}
  .au-focus{padding:28px 24px}
  .au-why-lead{font-size:1.06rem}
}

/* ===== 升學路徑：feature 文案 + 箭頭清單（非卡片） ===== */
.au-paths{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center;max-width:1080px;margin:0 auto}
.au-paths-intro .sec-title{text-align:left;margin:0 0 18px}
.au-paths-intro p{font-size:1.08rem;line-height:1.85;color:#3a4255;margin:0 0 24px;max-width:430px}
.au-paths-list{display:flex;flex-direction:column;border-top:1px solid #e4eaf3}
.au-paths-list a{display:flex;flex-direction:column;gap:3px;padding:18px 44px 18px 4px;border-bottom:1px solid #e4eaf3;text-decoration:none;position:relative;transition:padding .18s,background .18s}
.au-paths-list a::after{content:"\2192";position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#1d2f8f;font-size:1.3rem;opacity:.45;transition:.18s}
.au-paths-list a:hover{background:#f5f8fc;padding-left:14px}
.au-paths-list a:hover::after{opacity:1;right:9px}
.au-paths-list .pl-t{font-size:1.18rem;font-weight:700;color:#0f1a4d}
.au-paths-list .pl-d{font-size:.95rem;color:#6b7a93}

/* ===== 費用生活住宿：橫向三欄目錄（直線分隔，非卡片） ===== */
.au-prep{display:grid;grid-template-columns:repeat(3,1fr);max-width:1040px;margin:0 auto;border:1px solid #e4eaf3;border-radius:18px;overflow:hidden;background:#fff}
.au-prep a{display:flex;flex-direction:column;gap:9px;padding:30px 28px;text-decoration:none;border-left:1px solid #e4eaf3;transition:background .18s}
.au-prep a:first-child{border-left:0}
.au-prep a:hover{background:#f5f8fc}
.au-prep .pp-t{font-size:1.2rem;font-weight:800;color:#0f1a4d;position:relative;padding-bottom:11px}
.au-prep .pp-t::after{content:"";position:absolute;left:0;bottom:0;width:30px;height:3px;background:#ffd23f;border-radius:2px}
.au-prep .pp-d{font-size:.97rem;line-height:1.7;color:#5a6577}

/* ===== 澳洲專欄：雜誌式兩欄（深色面板） ===== */
.au-mag{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1040px;margin:0 auto}
.au-mag-item{display:block;padding:34px 34px 30px;border-radius:20px;background:linear-gradient(160deg,#16246e,#0f1a4d);color:#fff;text-decoration:none;transition:transform .2s,box-shadow .2s}
.au-mag-item:nth-child(2){background:linear-gradient(160deg,#0a7fb0,#075e84)}
.au-mag-item:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(15,26,77,.28)}
.au-mag-item .mag-k{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.08em;color:#ffd23f;margin-bottom:12px}
.au-mag-item h3{font-size:1.5rem;margin:0 0 12px;color:#fff}
.au-mag-item p{font-size:1.02rem;line-height:1.8;color:#d7e0f5;margin:0 0 18px}
.au-mag-item .mag-go{font-weight:700;color:#fff}
.au-mag-item .mag-go::after{content:" \2192"}

@media(max-width:860px){
  .au-paths{grid-template-columns:1fr;gap:22px;text-align:center}
  .au-paths-intro .sec-title{text-align:center}
  .au-paths-intro p{max-width:none;margin-left:auto;margin-right:auto}
  .au-paths-list{text-align:left}
  .au-prep{grid-template-columns:1fr}
  .au-prep a{border-left:0;border-top:1px solid #e4eaf3}.au-prep a:first-child{border-top:0}
  .au-mag{grid-template-columns:1fr}
}

/* ===== 飛行航線敘事：越南 → 澳洲校園 ===== */
.au-journey{position:relative;overflow:hidden;padding:62px 0 74px;
  background:linear-gradient(180deg,#fff3e6 0%,#fdeee7 20%,#f2f5fb 66%,#e7f0fb 100%)}
.au-journey-intro{text-align:left;max-width:760px;margin:0 0 40px}
.au-journey-intro p{font-size:1.12rem;line-height:1.85;color:#3a4255;margin:14px 0 0}
.au-stops{position:relative;padding:26px 0 30px}
.au-stops::before{content:"";position:absolute;left:48px;top:0;bottom:0;width:2px;transform:none;
  background:repeating-linear-gradient(#aebfdb 0 7px,transparent 7px 16px);z-index:0}
.au-plane,.au-arrive{position:absolute;left:48px;transform:translateX(-50%);width:52px;height:52px;border-radius:50%;
  display:grid;place-items:center;font-size:1.4rem;z-index:3}
.au-plane{top:-14px;background:#ffd23f;color:#0f1a4d;box-shadow:0 10px 22px rgba(255,178,46,.5)}
.au-plane::before{content:"\2708";transform:rotate(135deg)}
.au-arrive{bottom:-18px;background:#0f1a4d;color:#fff;box-shadow:0 10px 22px rgba(15,26,77,.4)}
.au-arrive::before{content:"\1F393"}
.au-stop{position:relative;z-index:1;background:#fff;border-radius:22px;
  padding:30px 36px;margin:0 0 34px 96px;box-shadow:0 16px 38px rgba(20,40,90,.09)}
.au-stop:nth-of-type(odd){margin-right:0;margin-left:96px}
.au-stop:nth-of-type(even){margin-left:96px;margin-right:0}
.au-stop::after{content:"";position:absolute;top:32px;left:-56px;right:auto;width:16px;height:16px;border-radius:50%;
  background:#fff;border:4px solid #ffb02e;box-shadow:0 0 0 4px rgba(255,178,46,.22);z-index:3}
.au-stop::before{content:"";position:absolute;top:39px;left:-40px;right:auto;height:2px;width:40px;
  background:repeating-linear-gradient(90deg,#bfcbe0 0 4px,transparent 4px 8px);z-index:1}
.au-stop:nth-of-type(odd)::after{left:-56px;right:auto}
.au-stop:nth-of-type(odd)::before{left:-40px;right:auto;width:40px}
.au-stop:nth-of-type(even)::after{left:-56px;right:auto}
.au-stop:nth-of-type(even)::before{left:-40px;right:auto;width:40px}
.au-leg{display:inline-block;font-size:.8rem;font-weight:800;letter-spacing:.04em;color:#0f1a4d;
  background:#ffd23f;padding:6px 14px;border-radius:999px;margin-bottom:14px}
.au-stop h3{font-size:1.4rem;color:#0f1a4d;margin:0 0 11px;line-height:1.42}
.au-stop>p{font-size:1.02rem;line-height:1.8;color:#3a4255;margin:0 0 16px}
.au-stop-cta{margin-top:16px}
.au-stop-btns{display:flex;flex-wrap:wrap;gap:12px}
/* 停靠點窄、按鈕文字長時讓它換行＋不超出卡片（.btn 預設 nowrap 會跑版） */
.au-stop .btn{white-space:normal;max-width:100%;text-align:center;line-height:1.35}
.au-stop-warm{background:#fff7ef}
.au-stop-warm .au-leg{background:#ffd9a8;color:#9a4a06}
.au-stop-cool{background:#eef5fd}
.au-stop-cool .au-leg{background:#cfe4fb;color:#1d4ed8}
.au-stop .au-paths-list{margin-top:2px}
.au-stop .au-mag{grid-template-columns:1fr;gap:16px;max-width:none}
/* 修正：深色雜誌面板標題在 .au-stop h3(深藍) 規則下會變隱形，拉高 specificity 設回白色 */
.au-stop .au-mag-item h3{color:#fff;margin:0 0 12px}
@media(max-width:820px){
  .au-stops::before{left:19px}
  .au-plane,.au-arrive{left:19px}
  .au-stop,.au-stop:nth-of-type(odd),.au-stop:nth-of-type(even){margin:0 0 24px 46px;padding:24px 22px}
  .au-stop::after,.au-stop:nth-of-type(odd)::after,.au-stop:nth-of-type(even)::after{left:-35px}
  .au-stop::before,.au-stop:nth-of-type(odd)::before,.au-stop:nth-of-type(even)::before{left:-27px;width:27px}
}
/* 留台航線：站內中文海報小牆 + 一站式服務清單 */
.au-stop .cn-grid.cn-grid-mini{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:4px}
.au-stop .cn-grid-mini .cn-card{border-radius:12px}
.au-svc-list{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:11px 18px}
.au-svc-list li{position:relative;padding-left:24px;font-size:1.02rem;color:#3a4255;line-height:1.55}
.au-svc-list li::before{content:"";position:absolute;left:0;top:7px;width:9px;height:9px;border-radius:50%;background:#ffd23f;box-shadow:0 0 0 3px #fff4cf}
@media(max-width:560px){.au-svc-list{grid-template-columns:1fr}}

/* ===== 浮動社群 dock（取代 Chaty；hover 展開、移開收起、無關閉鈕；手機點擊切換） ===== */
/* 浮動社群 dock：4 個圖示永遠可見，無需展開 */
.lus-dock{position:fixed;right:22px;bottom:22px;z-index:95;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.lus-dock .soc{position:relative;width:50px;height:50px;border-radius:50%;box-shadow:0 8px 22px rgba(0,0,0,.22);
  transition:.2s;opacity:1;transform:none}
.lus-dock .soc:hover{transform:scale(1.1);box-shadow:0 12px 28px rgba(0,0,0,.28)}
.lus-dock .soc::before{width:52%;height:52%}
/* 滑過圖示時左側跳出名稱標籤 */
.lus-dock .soc::after{content:attr(data-label);position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%) translateX(6px);
  background:var(--ink);color:#fff;padding:6px 12px;border-radius:8px;font-size:.85rem;font-weight:600;white-space:nowrap;
  opacity:0;visibility:hidden;pointer-events:none;transition:.18s;box-shadow:0 6px 16px rgba(0,0,0,.18)}
.lus-dock .soc:hover::after{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0)}
@media(max-width:640px){.lus-dock{right:14px;bottom:14px}.lus-dock .soc{width:44px;height:44px}}

/* ===================================================================
   📱 手機專屬排版（2026-06-21，v0.7.0）
   原則：全部包在 max-width 斷點內 → 只影響手機，桌機版型維持原樣。
   目標：提升手機可讀性——收斂過大的留白/內距、表格不爆版、加大點擊區、
   標題不被裁切、把橫向空間還給文字。
   =================================================================== */
@media(max-width:600px){
  /* 行動端字體可讀性（依手機排版研究）：
     - 內文 ≥16px(1rem)：小螢幕近距離閱讀，低於 16px 不易讀、且 iOS 會自動縮放
     - 中文內文行高 ~1.7：CJK 字密、需較鬆的行距（拉丁文約 1.2，混排取中文標準）
     只動手機、桌機不變 */
  .sch-card .desc{font-size:.98rem;line-height:1.7}
  .kv-row{font-size:.98rem;line-height:1.65}
  .t-card h3{line-height:1.45}
  /* 越南文（拉丁文＋疊加變音符）：行距再放寬給變音符淨空、字級略放大避免看起來偏小 */
  html[lang="vi"] body{line-height:1.78}
  html[lang="vi"] .page-body,html[lang="vi"] .single-body{font-size:1.05rem;line-height:1.85}

  /* 區塊垂直留白：手機比桌機(88px)小，但保留呼吸感、不擠 */
  section{padding:66px 0}
  .sec-head{margin:0 auto 42px}
  .sec-head p{font-size:1rem}
  .wrap{width:min(1180px,90%)}            /* 兩側多一點邊距，文字不貼螢幕邊 */

  /* Hero：允許標題斷行避免被裁切；按鈕改全寬好點按；隱藏滑鼠引導 */
  .hero{min-height:auto;padding:118px 0 72px}
  .hero h1{font-size:clamp(1.85rem,7.6vw,2.4rem);line-height:1.26}
  .hero h1 .t2{white-space:normal}        /* 桌機維持不斷行；手機改成可斷行 */
  .hero p.lead{font-size:1.05rem;margin:18px 0 28px}
  .hero .hero-list{gap:13px;margin:22px 0 30px}
  .hero .hero-list li{font-size:1.02rem}
  .hero-btns{flex-direction:column;gap:13px}
  .hero-btns .btn{width:100%;justify-content:center}
  .scroll-ind{display:none}
  .au-deco-hero{padding-top:96px}
  .au-deco-list{margin-bottom:20px;gap:10px}

  /* 卡片/區塊內距：保留舒適留白，文字不貼邊也不擠 */
  .card{padding:30px 24px}
  .t-card{padding:30px 24px}
  .prog-card{padding:30px 26px;min-height:0}
  .sch-card{min-height:240px}
  .sch-cap{padding:24px 24px 22px}
  .cta{padding:56px 26px;border-radius:22px}
  .cta-offer{flex-wrap:wrap;font-size:.9rem}
  .cta-btns{flex-direction:column}
  .cta-btns .btn{width:100%;justify-content:center}

  /* 卡片之間留多一點間距（單欄堆疊時的垂直呼吸感） */
  .cards,.prog,.trust,.sch{gap:20px}

  /* 關於我們：單欄時間距、把懸浮數字徽章拉回畫面內 */
  .about-grid{gap:40px}
  .about-badge{right:8px;bottom:-18px;padding:14px 18px}

  /* 獎學金條目：內距收斂、縮寫字級略縮 */
  .sch-item{padding:28px 24px}
  .sch-badge{font-size:1.35rem}

  /* FAQ：問句/答案內距保留舒適 */
  .faq-q{padding:22px 22px;font-size:1rem}
  .faq-a-inner{padding:0 22px 24px}

  /* 表格不爆版（手機最常見的可讀性殺手）：
     - 匯入頁面任意表格 → 可橫向捲動，不撐破版面
     - FAQ 內其他表格 → 縮字級與內距 */
  .page-body table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .faq-a-inner table{font-size:.85rem}
  .faq-a-inner th,.faq-a-inner td{padding:8px 9px}

  /* 費用表（三欄）→ 改「堆疊式」：不橫向捲動，每列攤成「項目／收費方／金額」逐行帶標籤。
     ⚠️ 資料一筆不少（與桌機完全相同），只是改為直向排列，符合「桌機有手機就要有」原則。
     欄名透過 td 的 data-label 用 ::before 顯示，故隱藏 thead 不會少資訊。 */
  .fee-table-3{display:block;font-size:.95rem}
  .fee-table-3 thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .fee-table-3 tbody,.fee-table-3 tr,.fee-table-3 td{display:block;width:auto}
  .fee-table-3 tr{border:1px solid #e6ecf6;border-radius:12px;padding:6px 14px;margin-bottom:12px;background:#fff}
  .fee-table-3 td{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border:0;border-bottom:1px solid #f0f3f8;text-align:right}
  .fee-table-3 tr td:last-child{border-bottom:0}
  .fee-table-3 td::before{content:attr(data-label);flex:none;font-weight:700;color:var(--navy);text-align:left}
  .fee-table-3 td:first-child{font-weight:700;color:var(--navy)}

  /* 流程步驟：縮小圓圈 */
  .step .num{width:54px;height:54px;font-size:1.2rem}

  /* 內頁/單篇/列表頂端留白：手機頁首較矮，不需 128–138px 的大空白 */
  .news-wrap{padding:96px 0 56px}
  .single-wrap{padding:92px 0 56px}
  .page-wrap{padding:92px 0 56px}
  .single-body{font-size:1rem}
  .page-body{font-size:1rem;line-height:1.8}

  /* 頁尾置中、好讀 */
  .foot-grid{text-align:center;gap:28px}
  .foot-grid ul{justify-items:center}
}

@media(max-width:400px){
  .hero h1{font-size:1.72rem}
  h2.sec-title{font-size:1.5rem}
}

/* ===== 中文詞彙表（互動查詢） ===== */
.vocab-wrap{max-width:1000px}
.vocab-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:22px 0 16px;position:sticky;top:62px;z-index:6;background:var(--bg);padding:12px;border-radius:14px;border:1px solid #e4eaf3}
.vocab-search{flex:1;min-width:220px;padding:12px 16px;border:1.5px solid #d7e0ee;border-radius:11px;font-size:1rem;background:#fff}
.vocab-search:focus{outline:none;border-color:#1d2f8f;box-shadow:0 0 0 3px rgba(29,47,143,.12)}
.vocab-levels{display:flex;gap:8px}
.vlv{padding:9px 16px;border:1.5px solid #d7e0ee;background:#fff;border-radius:999px;font-weight:700;color:#3a4255;cursor:pointer;font-size:.95rem;transition:.15s}
.vlv:hover{border-color:#1d2f8f}
.vlv.is-on{background:#1d2f8f;color:#fff;border-color:#1d2f8f}
.vocab-count{color:#6b7a93;font-size:.9rem;font-weight:700;margin-left:auto}
.vocab-table-wrap{border:1px solid #e9eef6;border-radius:16px;overflow:hidden}
.vocab-table{width:100%;border-collapse:collapse;font-size:1rem;background:#fff}
.vocab-table thead th{text-align:left;background:#0f1a4d;color:#fff;padding:12px 14px;font-size:.92rem;letter-spacing:.02em}
.vocab-table td{padding:11px 14px;border-top:1px solid #eef2f8;vertical-align:middle}
.vocab-table tbody tr:hover{background:#f5f8fc}
.vocab-table .v-zh{font-size:1.3rem;font-weight:700;color:#0f1a4d;white-space:nowrap}
.vocab-table .v-py{color:#5a6577}
.v-lv{display:inline-block;font-size:.76rem;font-weight:800;padding:2px 9px;border-radius:999px}
.v-A1{background:#e9f9ef;color:#117a3d}
.v-A2{background:#fff3df;color:#9a6b00}
.vocab-empty{text-align:center;color:#6b7a93;padding:28px;margin:0}
@media(max-width:680px){
  .vocab-tools{position:static}
  .vocab-count{margin-left:0}
  .vocab-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .vocab-table,.vocab-table tbody,.vocab-table tr,.vocab-table td{display:block;width:auto}
  .vocab-table tr{border-top:1px solid #e9eef6;padding:12px 14px}
  .vocab-table tbody tr:first-child{border-top:0}
  .vocab-table td{border:0;padding:3px 0;display:flex;gap:12px;align-items:baseline}
  .vocab-table td::before{content:attr(data-label);flex:0 0 64px;font-weight:700;color:#8b97ab;font-size:.82rem}
  .vocab-table .v-zh{font-size:1.45rem;white-space:normal}
}

/* ===== 暫時隱藏所有出處/審閱標籤（.src）。標記仍留在 HTML，移除下面這行即可恢復顯示。 ===== */
.src{display:none !important}

/* ===== QR Code Modal（LINE / Zalo dock 彈出）===== */
button.soc{cursor:pointer;border:none;padding:0}
.lus-qr-modal{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.5);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .2s}
.lus-qr-modal.open{opacity:1;pointer-events:auto}
.lus-qr-inner{background:#fff;border-radius:16px;padding:28px 24px 24px;text-align:center;
  position:relative;max-width:280px;width:90%;
  box-shadow:0 16px 48px rgba(0,0,0,.25);
  transform:scale(.95);transition:transform .2s}
.lus-qr-modal.open .lus-qr-inner{transform:scale(1)}
.lus-qr-close{position:absolute;top:10px;right:14px;background:none;border:none;
  font-size:1.5rem;line-height:1;cursor:pointer;color:#999;padding:4px 8px;border-radius:4px}
.lus-qr-close:hover{color:#222;background:#f5f5f5}
.lus-qr-label{font-weight:700;font-size:1.1rem;color:var(--navy);margin:0 0 14px}
.lus-qr-img{width:220px;height:220px;display:block;margin:0 auto;border-radius:8px}
.lus-qr-hint{font-size:.8rem;color:var(--muted);margin:12px 0 0;line-height:1.5}
