*{
    box-sizing:border-box
}

html{
    scroll-behavior:smooth
}

body{
    margin:0;
    background:#05080d;
    color:#f7faff;
    font-family:Arial,"Noto Sans TC",sans-serif;
    line-height:1.65;
    overflow-x:hidden
}

a{
    text-decoration:none;
    color:inherit
}

/* =========================
   頂部導覽列
========================= */

.topbar{
    height:82px;
    max-width:1240px;
    margin:auto;
    padding:0 28px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    position:relative;
    z-index:20
}

.brand{
    display:flex;
    align-items:center;
    gap:12px
}

.brand img{
    width:48px;
    height:48px;
    border-radius:50%;
    object-fit:cover
}

.brand span{
    display:flex;
    flex-direction:column
}

.brand b{
    font-size:17px
}

.brand small{
    font-size:9px;
    letter-spacing:2px;
    color:#82b9ec
}

/* 右上角主選單 */
.topbar nav{
    display:flex;
    gap:34px;
    color:#ffffff;
    font-size:17px;
    font-weight:700;
    letter-spacing:.5px
}

.topbar nav a{
    position:relative;
    padding:8px 2px;
    text-shadow:0 0 10px rgba(117,183,240,.18);
    transition:.25s ease
}

.topbar nav a::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:2px;
    width:0;
    height:2px;
    background:#75b7f0;
    transform:translateX(-50%);
    transition:.25s ease;
    border-radius:2px
}

.topbar nav a:hover{
    color:#8fd0ff
}

.topbar nav a:hover::after{
    width:100%
}

.menu{
    display:none;
    background:none;
    border:0;
    color:#fff;
    font-size:26px
}

/* =========================
   首頁主視覺
========================= */

.hero{
    max-width:1240px;
    min-height:680px;
    margin:auto;
    padding:55px 28px 100px;
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    align-items:center;
    gap:70px;
    position:relative
}

.aurora{
    position:absolute;
    width:760px;
    height:480px;
    left:-300px;
    top:20px;
    background:radial-gradient(
        ellipse,
        #1668a94a 0,
        #0b376529 35%,
        transparent 70%
    );
    filter:blur(10px);
    pointer-events:none
}

.hero-logo{
    position:relative;
    display:grid;
    place-items:center
}

.hero-logo img{
    width:min(430px,100%);
    aspect-ratio:1;
    object-fit:cover;
    border-radius:50%;
    position:relative;
    z-index:2;
    filter:drop-shadow(0 0 24px #77bfff38)
}

.logo-halo{
    position:absolute;
    width:430px;
    height:430px;
    border-radius:50%;
    background:#3e94e629;
    filter:blur(70px)
}

.kicker,
.section-title p,
.request-inner>p,
.mini{
    font-size:11px;
    letter-spacing:3.5px;
    color:#75b7f0;
    margin:0
}

.hero h1{
    font-size:clamp(42px,5.2vw,70px);
    line-height:1.12;
    letter-spacing:-2px;
    margin:17px 0 25px
}

.hero h1 em{
    font-style:normal;
    background:linear-gradient(90deg,#fff,#75c6ff);
    -webkit-background-clip:text;
    color:transparent
}

.intro{
    color:#a8b4c3;
    font-size:16px
}

.buttons{
    display:flex;
    gap:13px;
    margin-top:34px
}

.btn{
    display:inline-block;
    padding:12px 22px;
    border-radius:999px;
    font-weight:700;
    font-size:14px
}

.primary{
    background:linear-gradient(135deg,#eaf6ff,#7cc8ff);
    color:#06111d;
    box-shadow:0 8px 30px #4fa8e526
}

.glass{
    border:1px solid #26394c;
    background:#0b1119b8;
    color:#dceafa
}

/* =========================
   共用區塊
========================= */

.section{
    max-width:1184px;
    margin:auto;
    padding:92px 28px
}

.section-title{
    display:flex;
    align-items:end;
    justify-content:space-between;
    margin-bottom:36px
}

.section-title h2,
.contact h2{
    font-size:40px;
    margin:4px 0
}

.section-title>span{
    color:#718091;
    font-size:14px
}

/* =========================
   最新歌曲
========================= */

.song-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px
}

.art{
    aspect-ratio:1;
    border:1px solid #18283a;
    border-radius:20px;
    padding:26px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    overflow:hidden;
    position:relative
}

.art:after{
    content:"♫";
    position:absolute;
    font-size:220px;
    right:-20px;
    bottom:-85px;
    color:#ffffff08;
    transform:rotate(-10deg)
}

.art-one{
    background:
        radial-gradient(
            circle at 70% 20%,
            #3876a952,
            transparent 42%
        ),
        linear-gradient(145deg,#0c1723,#080b10)
}

.art-two{
    background:
        radial-gradient(
            circle at 30% 20%,
            #4a80a14f,
            transparent 42%
        ),
        linear-gradient(145deg,#10222c,#080b10)
}

.art-three{
    background:
        radial-gradient(
            circle at 70% 30%,
            #5b6da849,
            transparent 42%
        ),
        linear-gradient(145deg,#101521,#080b10)
}

.art span{
    font-size:10px;
    letter-spacing:2px;
    color:#8ebee7
}

.art b{
    font-size:35px;
    line-height:1.15;
    z-index:1
}

.song-info{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:13px 5px
}

.song-info h3{
    font-size:17px;
    margin:0
}

.song-info p{
    color:#758292;
    margin:2px 0
}

.song-info>span{
    font-size:20px;
    color:#77bded
}

/* =========================
   頻道藝人
========================= */

.artists-section{
    padding-top:50px
}

.artist-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px
}

.artist-card{
    min-height:330px;
    border-radius:22px;
    border:1px solid #17283a;
    padding:35px;
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    position:relative;
    overflow:hidden
}

.artist-card:after{
    content:"";
    position:absolute;
    width:250px;
    height:250px;
    border-radius:50%;
    right:-70px;
    top:-70px;
    filter:blur(30px)
}

.yi{
    background:linear-gradient(145deg,#0d1824,#080b10)
}

.yi:after{
    background:#3785c52d
}

.mo{
    background:linear-gradient(145deg,#101922,#080b10)
}

.mo:after{
    background:#4a71892c
}

.number{
    position:absolute;
    right:28px;
    top:15px;
    font-size:80px;
    font-weight:900;
    color:#ffffff08
}

.artist-card p{
    font-size:11px;
    color:#73b7e8;
    letter-spacing:1.5px
}

.artist-card h3{
    font-size:39px;
    margin:4px 0
}

.artist-card span{
    display:block;
    color:#8c9aa9;
    max-width:390px;
    margin-bottom:22px
}

.artist-card a{
    font-weight:bold;
    font-size:14px;
    color:#dcefff
}

/* =========================
   音樂分類
========================= */

.categories{
    display:flex;
    flex-wrap:wrap;
    gap:12px
}

.categories a{
    padding:11px 20px;
    border:1px solid #1d3246;
    border-radius:999px;
    color:#b8c8d7;
    background:#08101a
}

/* =========================
   點歌
========================= */

.request{
    max-width:1128px;
    margin:70px auto;
    padding:75px 70px;
    border:1px solid #1a3248;
    border-radius:28px;
    background:
        radial-gradient(
            circle at 85% 35%,
            #2c7bb04b,
            transparent 30%
        ),
        linear-gradient(135deg,#0b1723,#070b11);
    display:flex;
    align-items:center;
    justify-content:space-between;
    overflow:hidden
}

.request h2{
    font-size:52px;
    line-height:1.08;
    margin:12px 0 22px
}

.request-inner>span{
    display:block;
    color:#93a3b3;
    max-width:560px;
    margin-bottom:30px
}

.note{
    font-size:210px;
    color:#78c7ff18;
    line-height:1
}

/* =========================
   商務合作
========================= */

.contact{
    border-top:1px solid #142334;
    display:flex;
    justify-content:space-between;
    align-items:center
}

.contact span{
    color:#82909e
}

.contact>a{
    font-size:19px;
    font-weight:700;
    border-bottom:1px solid #41698a;
    padding-bottom:4px
}

.contact>a b{
    color:#76bdec
}

/* =========================
   頁尾
========================= */

footer{
    max-width:1184px;
    margin:auto;
    border-top:1px solid #142334;
    padding:34px 28px 55px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    color:#667585;
    font-size:12px
}

.footer-brand{
    display:flex;
    align-items:center;
    gap:10px
}

.footer-brand img{
    width:38px;
    height:38px;
    border-radius:50%
}

.footer-brand div{
    display:flex;
    flex-direction:column
}

.footer-brand b{
    color:#e6eff7
}

.footer-brand small{
    font-size:8px;
    letter-spacing:1.5px;
    color:#6d9dc5
}

/* =========================
   手機版
========================= */

@media(max-width:780px){

    .topbar{
        height:68px;
        padding:0 18px
    }

    .brand img{
        width:42px;
        height:42px
    }

    .menu{
        display:block
    }

    .topbar nav{
        display:none;
        position:absolute;
        top:64px;
        left:14px;
        right:14px;
        flex-direction:column;
        gap:10px;
        padding:20px;
        background:#09111bd9;
        backdrop-filter:blur(15px);
        border:1px solid #1b3043;
        border-radius:16px;
        font-size:17px;
        font-weight:700
    }

    .topbar.open nav{
        display:flex
    }

    .topbar nav a{
        padding:10px 5px
    }

    .hero{
        grid-template-columns:1fr;
        padding:40px 20px 70px;
        gap:38px
    }

    .hero-logo{
        order:0
    }

    .hero-logo img{
        width:280px
    }

    .logo-halo{
        width:280px;
        height:280px
    }

    .hero-copy{
        order:1
    }

    .hero h1{
        font-size:43px
    }

    .buttons{
        flex-direction:column;
        align-items:flex-start
    }

    .section{
        padding:65px 20px
    }

    .section-title{
        align-items:start;
        flex-direction:column
    }

    .section-title h2,
    .contact h2{
        font-size:33px
    }

    .song-grid,
    .artist-grid{
        grid-template-columns:1fr
    }

    .request{
        margin:45px 16px;
        padding:55px 25px
    }

    .request h2{
        font-size:39px
    }

    .note{
        display:none
    }

    .contact{
        align-items:flex-start;
        flex-direction:column;
        gap:22px
    }

    .contact>a{
        font-size:15px
    }

    footer{
        margin:0 20px;
        padding-left:0;
        padding-right:0;
        flex-direction:column;
        align-items:flex-start;
        gap:15px
    }
}