:root{
    --bg:#0b1220;
    --text:#eaf0ff;
    --muted:#b9c6ea;
    --line:rgba(234,240,255,.12);
    --card:rgba(17,27,51,.35);
    --card2:rgba(17,27,51,.55);
    --accent:#7aa7ff;
    --accent2:#7de0c2;
    --shadow: 0 14px 42px rgba(0,0,0,.35);
    --r:18px;
    --r2:26px;
    --max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", Arial, sans-serif;
    background:
            radial-gradient(1100px 600px at 20% -10%, rgba(122,167,255,.25), transparent 60%),
            radial-gradient(900px 560px at 90% 10%, rgba(125,224,194,.18), transparent 55%),
            radial-gradient(800px 500px at 50% 110%, rgba(122,167,255,.12), transparent 55%),
            var(--bg);
    color:var(--text);
    line-height:1.65;
}
a{color:inherit; text-decoration:none}
.wrap{max-width:var(--max); margin:0 auto; padding:0 18px}
.skip{position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden;}

/* NAV */
.nav{
    position:sticky; top:0; z-index:50;
    backdrop-filter: blur(10px);
    background: rgba(11,18,32,.78);
    border-bottom:1px solid var(--line);
}
.nav .inner{
    display:flex; align-items:center; justify-content:space-between;
    padding:12px 0;
    gap:14px;
}
.brand{
    display:flex;
    align-items:center;
    gap:12px;
}
.logo{
    width:auto;              /* 不再限制死 */
    height:auto;
    background:none;         /* 移除原本的色塊 */
    border-radius:0;
    box-shadow:none;
    display:flex;
    align-items:center;
}
.logo-img{
    height:28px;             /* ★ 關鍵：控制高度 */
    width:auto;
    display:block;
}

.brand .name{font-weight:850; letter-spacing:.5px}
.brand .tag{display:block; font-size:12px; color:var(--muted); margin-top:-2px}

.menu{display:flex; gap:10px; align-items:center; flex-wrap:wrap; justify-content:flex-end}
.menu a{
    color:var(--muted);
    padding:8px 10px;
    border-radius:12px;
    border:1px solid transparent;
    transition:.18s ease;
    font-size:14px;
}
.menu a:hover{color:var(--text); border-color:var(--line); background:rgba(17,27,51,.55)}
.menu a[aria-current="page"]{
    color:var(--text);
    border-color:rgba(122,167,255,.35);
    background: linear-gradient(135deg, rgba(122,167,255,.14), rgba(125,224,194,.10));
}

.cta{display:flex; gap:10px; align-items:center}
.btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    padding:10px 14px;
    border-radius:14px;
    border:1px solid var(--line);
    background:rgba(17,27,51,.55);
    color:var(--text);
    cursor:pointer;
    transition:.18s ease;
    font-weight:800;
    font-size:14px;
    user-select:none;
}
.btn:hover{transform: translateY(-1px); box-shadow: 0 10px 24px rgba(0,0,0,.25)}
.btn.primary{
    border-color: rgba(122,167,255,.35);
    background: linear-gradient(135deg, rgba(122,167,255,.22), rgba(125,224,194,.14));
}
.btn.primary:hover{border-color: rgba(122,167,255,.75)}
.btn.ghost{background:transparent}
.hamburger{display:none; width:44px; height:44px}

main{padding: 0}
section{padding: 72px 0}
section.alt{
    background: rgba(255,255,255,.02);
    border-top: 1px solid rgba(234,240,255,.06);
    border-bottom: 1px solid rgba(234,240,255,.06);
}
section.tight{padding: 44px 0}

/* FULL-BLEED HERO */
.hero-bleed{
    position:relative;
    padding: 86px 0 64px;
    overflow:hidden;
    border-bottom:1px solid rgba(234,240,255,.06);
    background:
            radial-gradient(900px 520px at 15% 10%, rgba(122,167,255,.30), transparent 60%),
            radial-gradient(900px 520px at 85% 10%, rgba(125,224,194,.22), transparent 62%),
            linear-gradient(180deg, rgba(17,27,51,.42), rgba(11,18,32,.15));
}
.hero-bleed:before{
    content:"";
    position:absolute; inset:-2px;
    background:
            radial-gradient(420px 220px at 18% 0%, rgba(122,167,255,.18), transparent 62%),
            radial-gradient(360px 220px at 98% 10%, rgba(125,224,194,.14), transparent 62%);
    pointer-events:none;
    filter: blur(0px);
}
.hero{
    position:relative;
    display:grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 18px;
    align-items:stretch;
}
.hero-left{
    border:1px solid var(--line);
    border-radius: var(--r2);
    background: linear-gradient(180deg, rgba(17,27,51,.62), rgba(17,27,51,.35));
    box-shadow: var(--shadow);
    padding: 26px;
    overflow:hidden;
}
.kicker{
    display:inline-flex; align-items:center; gap:8px;
    padding:6px 10px;
    border-radius:999px;
    border:1px solid var(--line);
    color:var(--muted);
    background: rgba(11,18,32,.35);
    font-size:13px;
}
h1{margin:14px 0 10px; font-size:44px; line-height:1.10; letter-spacing:.2px}
.lead{margin:0; color:var(--muted); font-size:16px; max-width: 70ch}
.hero-actions{margin-top:18px; display:flex; gap:10px; flex-wrap:wrap}
.pills{margin-top:14px; display:flex; gap:10px; flex-wrap:wrap; color:var(--muted); font-size:13px}
.pill{border:1px solid var(--line); background: rgba(11,18,32,.22); padding:8px 10px; border-radius:999px}

/* Hero right: highlights + badge grid */
.hero-right{
    display:flex;
    flex-direction:column;
    gap: 14px;
}
.panel{
    border:1px solid var(--line);
    border-radius: var(--r2);
    background: rgba(17,27,51,.35);
    box-shadow: 0 10px 26px rgba(0,0,0,.18);
    padding: 16px;
}
.panel h3{margin:0 0 10px; font-size:14px; color:var(--text); letter-spacing:.2px}
.mini{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.mini .m{
    border:1px solid rgba(234,240,255,.10);
    border-radius: 18px;
    background: rgba(11,18,32,.22);
    padding: 12px;
    min-height: 86px;
}
.m .t{display:flex; align-items:center; gap:10px; font-weight:850}
.m .d{margin-top:6px; color:var(--muted); font-size:13px; line-height:1.55}

.ico{
    width:34px; height:34px;
    border-radius: 14px;
    border:1px solid rgba(122,167,255,.25);
    background: linear-gradient(135deg, rgba(122,167,255,.22), rgba(125,224,194,.14));
    display:flex; align-items:center; justify-content:center;
    font-size:16px;
}

/* Logo strip (use text badges; replace with real SVG/logo assets later) */
.logo-strip{
    display:flex;
    gap: 10px;
    flex-wrap:wrap;
    align-items:center;
}
.badge{
    display:inline-flex;
    align-items:center;
    gap: 8px;
    padding: 9px 11px;
    border-radius: 999px;
    border:1px solid rgba(234,240,255,.12);
    background: rgba(11,18,32,.18);
    color: rgba(234,240,255,.88);
    font-weight: 800;
    font-size: 12px;
    letter-spacing: .2px;
    user-select:none;
}
.dot{
    width:10px;height:10px;border-radius:999px;
    background: linear-gradient(135deg, rgba(122,167,255,1), rgba(125,224,194,1));
    box-shadow: 0 10px 18px rgba(0,0,0,.22);
}
.badge .sub{font-weight:700; color: var(--muted); margin-left:4px}

/* Sections */
.section-head{
    display:flex; align-items:flex-end; justify-content:space-between;
    gap:14px; flex-wrap:wrap; margin-bottom:18px;
}
h2{margin:0; font-size:26px}
.subp{margin:0; color:var(--muted); font-size:14px; max-width: 90ch}

.grid-3{display:grid; grid-template-columns: repeat(3, 1fr); gap:14px}
.grid-2{display:grid; grid-template-columns: 1fr 1fr; gap:14px}
.card{
    border:1px solid var(--line);
    border-radius: var(--r2);
    background: var(--card);
    padding: 18px;
    box-shadow: 0 10px 26px rgba(0,0,0,.18);
}
.card h3{margin:10px 0 6px; font-size:16px}
.card p{margin:0; color:var(--muted); font-size:14px}
.more{display:inline-flex; margin-top:10px; color:var(--text); text-decoration:underline; text-underline-offset:4px}

.note{
    border:1px solid var(--line);
    border-radius: var(--r2);
    background: rgba(17,27,51,.35);
    padding: 20px;
}
.note p{margin:0; color:var(--muted); font-size:14px}
.note .k{color:var(--text); font-weight:900}
.note ul{margin:10px 0 0; padding-left:18px; color:var(--muted); font-size:14px}
.note li{margin:7px 0}

.list{
    border:1px solid var(--line);
    border-radius: var(--r2);
    overflow:hidden;
    background: rgba(17,27,51,.28);
}
.item{
    padding: 16px 16px;
    border-top:1px solid var(--line);
}
.item:first-child{border-top:none}
.meta{color:var(--muted); font-size:13px}
.item h3{margin:6px 0 6px; font-size:16px}
.item p{margin:0; color:var(--muted); font-size:14px}

.footer{
    padding: 26px 0 34px;
    border-top: 1px solid var(--line);
    color: var(--muted);
    font-size: 13px;
}
.footer a{color: var(--muted); text-decoration:underline; text-underline-offset:3px}

@media (max-width: 980px){
    .hero{grid-template-columns: 1fr}
    h1{font-size: 36px}
    .grid-3{grid-template-columns: 1fr}
    .grid-2{grid-template-columns: 1fr}
    section{padding: 60px 0}
    .hero-bleed{padding: 72px 0 56px}
}
@media (max-width: 720px){
    .menu{display:none}
    .hamburger{display:inline-flex}
    .menu.mobile{
        display:flex; flex-direction:column; align-items:stretch;
        gap:6px; padding: 10px 0 12px;
    }
    .menu.mobile a{
        padding:10px 12px;
        border:1px solid var(--line);
        background: rgba(17,27,51,.35);
    }
    .cta .btn.ghost{display:none}
    .mini{grid-template-columns: 1fr}
}
@media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto}
    .btn{transition:none}
    .btn:hover{transform:none}
}

/* ===== Logo Marquee (images, infinite loop) ===== */
.logo-marquee{
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(234,240,255,.08);
    border-radius: 18px;
    background: rgba(11,18,32,.22);
    padding: 14px 0;
}

/* 左右遮罩，讓進出更順 */
.logo-marquee::before,
.logo-marquee::after{
    content:"";
    position:absolute;
    top:0; bottom:0;
    width:70px;
    z-index:2;
    pointer-events:none;
}
.logo-marquee::before{
    left:0;
    background: linear-gradient(90deg, rgba(11,18,32,.95), rgba(11,18,32,0));
}
.logo-marquee::after{
    right:0;
    background: linear-gradient(270deg, rgba(11,18,32,.95), rgba(11,18,32,0));
}

.logo-track{
    display:flex;
    width:max-content;
    align-items:center;
    gap:0;
    /* 速度可調：數字越小越快 */
    animation: logoScroll 26s linear infinite;
}

.logo-marquee:hover .logo-track{
    animation-play-state: paused;
}

.logo-set{
    display:flex;
    align-items:center;
    gap: 26px;
    padding: 0 18px;
}

/* LOGO 統一質感：灰階、低透明、hover 亮起 */
.logo-set img{
    height: 26px;
    width: auto;
    opacity: .62;
    filter: grayscale(100%);
    transition: opacity .18s ease, filter .18s ease, transform .18s ease;
    user-select:none;
    pointer-events:auto;
}
.logo-set img:hover{
    opacity: .95;
    filter: grayscale(0%);
    transform: translateY(-1px);
}

/* 無限循環：移動半個寬度（因為會複製一份） */
@keyframes logoScroll{
    from{ transform: translateX(0); }
    to{ transform: translateX(-50%); }
}

@media (max-width: 720px){
    .logo-set img{height: 22px;}
    .logo-track{animation-duration: 20s;}
}

@media (prefers-reduced-motion: reduce){
    .logo-track{animation: none;}
}
/* 手機版稍微小一點 */
@media (max-width: 720px){
    .logo-img{
        height:24px;
    }
}

/* ===== Footer Brand ===== */
.footer-top{
    display:flex;
    justify-content:space-between;
    gap:24px;
    flex-wrap:wrap;
    align-items:flex-start;
}

.footer-brand{
    display:flex;
    align-items:center;
    gap:14px;
}

.footer-logo{
    height:100px;
    width:auto;
    opacity:.85;
}

.footer-text strong{
    color: var(--text);
    font-size:15px;
}

.footer-text span{
    color: var(--muted);
    font-size:13px;
}

.footer-links{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
    align-items:center;
}

.footer-links a{
    color: var(--muted);
    font-size:14px;
    text-decoration:none;
}

.footer-links a:hover{
    color: var(--text);
    text-decoration:underline;
    text-underline-offset:3px;
}

.footer-bottom{
    margin-top:16px;
    color: var(--muted);
    font-size:13px;
}

/* 手機版調整 */
@media (max-width: 720px){
    .footer-top{
        flex-direction:column;
        gap:18px;
    }
    .footer-logo{
        height:80px;
    }
}

.page-hero{
    padding: 56px 0 22px;
    border-bottom: 1px solid rgba(234,240,255,.06);
    background:
            radial-gradient(900px 520px at 22% 0%, rgba(122,167,255,.18), transparent 60%),
            radial-gradient(900px 520px at 86% 0%, rgba(125,224,194,.13), transparent 62%),
            linear-gradient(180deg, rgba(17,27,51,.36), rgba(11,18,32,.10));
}
.crumbs{color:var(--muted); font-size:13px}
.crumbs a{color:var(--muted); text-decoration:underline; text-underline-offset:3px}
.page-title{margin:10px 0 8px; font-size:38px; line-height:1.12}
.page-lead{margin:0; color:var(--muted); max-width: 92ch}

.about-grid{display:grid; grid-template-columns: 1.2fr .8fr; gap:14px; margin-top:16px}
@media (max-width:980px){ .about-grid{grid-template-columns:1fr} }

.panel2{
    border:1px solid var(--line);
    border-radius: var(--r2);
    background: rgba(17,27,51,.35);
    padding: 18px;
    box-shadow: 0 10px 26px rgba(0,0,0,.18);
}
.panel2 h3{margin:0 0 10px; font-size:16px}
.panel2 p{margin:10px 0 0; color:var(--muted); font-size:14px; line-height:1.75}
.bul{margin:10px 0 0; padding-left:18px; color:var(--muted); font-size:14px}
.bul li{margin:6px 0}

.values{display:grid; grid-template-columns: repeat(3, 1fr); gap:14px}
@media (max-width:980px){ .values{grid-template-columns:1fr} }
.v{
    border:1px solid var(--line);
    border-radius: var(--r2);
    background: rgba(17,27,51,.28);
    padding: 16px;
}
.v .ico{font-size:18px; margin-bottom:8px}
.v h4{margin:0 0 6px; font-size:15px}
.v p{margin:0; color:var(--muted); font-size:13px; line-height:1.7}

.two-col{display:grid; grid-template-columns: 1fr 1fr; gap:14px}
@media (max-width:980px){ .two-col{grid-template-columns:1fr} }
.goodbad{
    border:1px solid var(--line);
    border-radius: var(--r2);
    background: rgba(17,27,51,.28);
    padding: 16px;
}
.goodbad h4{margin:0 0 8px; font-size:15px}
.goodbad ul{margin:0; padding-left:18px; color:var(--muted); font-size:14px}
.goodbad li{margin:6px 0}

.timeline{
    border:1px solid var(--line);
    border-radius: var(--r2);
    background: rgba(17,27,51,.28);
    padding: 16px;
}
.tl{
    display:grid;
    grid-template-columns: 110px 1fr;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px dashed rgba(234,240,255,.10);
}
.tl:last-child{border-bottom:0}
.tl .when{color:var(--muted); font-size:13px}
.tl .what{font-weight:900}
.tl .desc{color:var(--muted); font-size:13px; line-height:1.7; margin-top:4px}

.badge-row{display:flex; gap:10px; flex-wrap:wrap; margin-top:12px}
.badge{
    border:1px solid rgba(234,240,255,.10);
    background: rgba(11,18,32,.18);
    padding: 7px 10px;
    border-radius: 999px;
    color: var(--muted);
    font-size: 13px;
    white-space: nowrap;
}
.page-hero{
    padding: 56px 0 22px;
    border-bottom: 1px solid rgba(234,240,255,.06);
    background:
            radial-gradient(900px 520px at 22% 0%, rgba(122,167,255,.18), transparent 60%),
            radial-gradient(900px 520px at 86% 0%, rgba(125,224,194,.13), transparent 62%),
            linear-gradient(180deg, rgba(17,27,51,.36), rgba(11,18,32,.10));
}
.crumbs{color:var(--muted); font-size:13px}
.crumbs a{color:var(--muted); text-decoration:underline; text-underline-offset:3px}
.page-title{margin:10px 0 8px; font-size:38px; line-height:1.12}
.page-lead{margin:0; color:var(--muted); max-width: 92ch}

.about-grid{display:grid; grid-template-columns: 1.2fr .8fr; gap:14px; margin-top:16px}
@media (max-width:980px){ .about-grid{grid-template-columns:1fr} }

.panel2{
    border:1px solid var(--line);
    border-radius: var(--r2);
    background: rgba(17,27,51,.35);
    padding: 18px;
    box-shadow: 0 10px 26px rgba(0,0,0,.18);
}
.panel2 h3{margin:0 0 10px; font-size:16px}
.panel2 p{margin:10px 0 0; color:var(--muted); font-size:14px; line-height:1.75}
.bul{margin:10px 0 0; padding-left:18px; color:var(--muted); font-size:14px}
.bul li{margin:6px 0}

.values{display:grid; grid-template-columns: repeat(3, 1fr); gap:14px}
@media (max-width:980px){ .values{grid-template-columns:1fr} }
.v{
    border:1px solid var(--line);
    border-radius: var(--r2);
    background: rgba(17,27,51,.28);
    padding: 16px;
}
.v .ico{font-size:18px; margin-bottom:8px}
.v h4{margin:0 0 6px; font-size:15px}
.v p{margin:0; color:var(--muted); font-size:13px; line-height:1.7}

.two-col{display:grid; grid-template-columns: 1fr 1fr; gap:14px}
@media (max-width:980px){ .two-col{grid-template-columns:1fr} }
.goodbad{
    border:1px solid var(--line);
    border-radius: var(--r2);
    background: rgba(17,27,51,.28);
    padding: 16px;
}
.goodbad h4{margin:0 0 8px; font-size:15px}
.goodbad ul{margin:0; padding-left:18px; color:var(--muted); font-size:14px}
.goodbad li{margin:6px 0}

.timeline{
    border:1px solid var(--line);
    border-radius: var(--r2);
    background: rgba(17,27,51,.28);
    padding: 16px;
}
.tl{
    display:grid;
    grid-template-columns: 110px 1fr;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px dashed rgba(234,240,255,.10);
}
.tl:last-child{border-bottom:0}
.tl .when{color:var(--muted); font-size:13px}
.tl .what{font-weight:900}
.tl .desc{color:var(--muted); font-size:13px; line-height:1.7; margin-top:4px}

.badge-row{display:flex; gap:10px; flex-wrap:wrap; margin-top:12px}
.badge{
    border:1px solid rgba(234,240,255,.10);
    background: rgba(11,18,32,.18);
    padding: 7px 10px;
    border-radius: 999px;
    color: var(--muted);
    font-size: 13px;
    white-space: nowrap;
}

/* LINE 浮動按鈕 */
.line-float {
    position: fixed;
    right: 18px;
    bottom: 80px;
    z-index: 999;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #06C755; /* LINE 綠 */
    box-shadow: 0 8px 24px rgba(0,0,0,.28);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .2s ease, box-shadow .2s ease;
}

.line-float img {
    width: 72px;
    height: 72px;
}

.line-float:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(0,0,0,.35);
}
#mobile {
    display:none;
}
#desktop {
    display:block;
}

/* 行動裝置稍微縮小 */
@media (max-width: 640px) {
    .line-float {
        width: 50px;
        height: 50px;
        right: 14px;
        bottom: 80px;
    }
    .line-float img {
        width: 64px;
        height: 64px;
    }
    #mobile {
        display:block;
    }
    #desktop {
        display:none;
    }
}
