/*
 Theme Name:   懂故事
 Theme URI:    https://talkstoryone.com
 Description:  懂故事網站專用 Child Theme
 Author:       懂故事
 Template:     generatepress
 Version:      1.0.0
 Text Domain:  talkstory-child
*/
/* =========================
   懂故事 Homepage Hero
   ========================= */

.talkstory-home {
    background: #F6F3EA;
}

.talkstory-hero {
    padding: 100px 32px 110px;
}

.talkstory-hero-inner {
    max-width: 1280px;
    margin: 0 auto;
}

.talkstory-hero-label {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 24px;
}

.talkstory-hero h1 {
    font-size: 56px;
    line-height: 1.2;
    font-weight: 700;
    color: #171717;
    margin: 0 0 28px;
}

.talkstory-hero-description {
    font-size: 18px;
    line-height: 1.9;
    color: #66645F;
    max-width: 650px;
    margin-bottom: 32px;
}

.talkstory-hero-button {
    display: inline-block;
    padding: 13px 22px;
    background: #F4C430;
    color: #171717;
    font-weight: 700;
    text-decoration: none;
    border-radius: 3px;
}
.talkstory-hero-inner {
    display: grid;
    grid-template-columns: 45fr 55fr;
    align-items: center;
    gap: 48px;
}

.talkstory-hero-placeholder {
    min-height: 420px;
    background: #E7E1D6;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    letter-spacing: 2px;
    color: #66645F;
}
/* =========================
   本週最值得知道
   ========================= */

.talkstory-featured {
    padding: 96px 32px 110px;
    background: #FFFFFF;
}

.talkstory-section-inner {
    max-width: 1280px;
    margin: 0 auto;
}

.talkstory-section-kicker {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 10px;
    color: #66645F;
}

.talkstory-featured h2 {
    font-size: 38px;
    line-height: 1.25;
    margin: 0 0 38px;
    color: #171717;
}

.talkstory-featured-card {
    display: grid;
    grid-template-columns: 58fr 42fr;
    gap: 52px;
    align-items: center;
}

.talkstory-featured-image img {
    width: 100%;
    height: 430px;
    object-fit: cover;
    display: block;
}

.talkstory-featured-content h3 {
    font-size: 32px;
    line-height: 1.35;
    margin: 0 0 20px;
}

.talkstory-featured-content h3 a {
    color: #171717;
    text-decoration: none;
}

.talkstory-featured-content p {
    font-size: 17px;
    line-height: 1.85;
    color: #66645F;
    margin-bottom: 28px;
}

.talkstory-featured-link {
    display: inline-block;
    color: #171717;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 3px solid #F4C430;
    padding-bottom: 4px;
}
/* =========================
   3分鐘懂一件事
   ========================= */

.talkstory-quick {
    padding: 96px 32px 110px;
    background: #F6F3EA;
}

.talkstory-quick h2 {
    font-size: 38px;
    line-height: 1.25;
    margin: 0 0 38px;
    color: #171717;
}

.talkstory-quick-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

.talkstory-quick-image img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    display: block;
}

.talkstory-quick-card h3 {
    font-size: 22px;
    line-height: 1.45;
    margin: 18px 0 10px;
}

.talkstory-quick-card h3 a {
    color: #171717;
    text-decoration: none;
}

.talkstory-quick-meta {
    font-size: 14px;
    color: #88857F;
    margin: 0;
}
/* =========================
   iPad / Tablet
   ========================= */

@media (min-width: 768px) and (max-width: 1023px) {

    .talkstory-quick-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }

    .talkstory-quick-image img {
        height: 220px;
    }

    .talkstory-quick h2 {
        font-size: 32px;
    }

}
/* =========================
   Mobile
   ========================= */

@media (max-width: 767px) {

    .talkstory-quick-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .talkstory-quick-image img {
        width: 100%;
        height: 220px;
        object-fit: cover;
    }

    .talkstory-quick h2 {
        font-size: 30px;
        margin-bottom: 28px;
    }

    .talkstory-quick-card h3 {
        font-size: 20px;
        line-height: 1.45;
    }

}
/* =========================
   Mobile - Hero + Featured
   ========================= */

@media (max-width: 767px) {

    /* Hero */
    .talkstory-hero {
        padding: 64px 20px 72px;
    }

    .talkstory-hero-inner {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .talkstory-hero h1 {
        font-size: 44px;
        line-height: 1.15;
        margin-bottom: 24px;
    }

    .talkstory-hero-description {
        font-size: 16px;
        line-height: 1.8;
    }

    .talkstory-hero-media {
        width: 100%;
    }

    .talkstory-hero-image {
        width: 100%;
        height: auto;
        display: block;
    }

    /* 本週最值得知道 */
    .talkstory-featured {
        padding: 64px 20px 72px;
    }

    .talkstory-featured h2 {
        font-size: 32px;
        margin-bottom: 28px;
    }

    .talkstory-featured-card {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .talkstory-featured-image img {
        width: 100%;
        height: 280px;
        object-fit: cover;
    }

    .talkstory-featured-content h3 {
        font-size: 26px;
        line-height: 1.4;
    }

    .talkstory-featured-content p {
        font-size: 16px;
        line-height: 1.8;
    }

}
/* =========================
   iPad / Tablet - Full Layout
   ========================= */

@media (min-width: 768px) and (max-width: 1023px) {

    /* Hero */
    .talkstory-hero {
        padding: 72px 28px 80px;
    }

    .talkstory-hero-inner {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
    }

    .talkstory-hero h1 {
        font-size: 42px;
        line-height: 1.18;
    }

    .talkstory-hero-description {
        font-size: 16px;
        line-height: 1.8;
    }

    .talkstory-hero-image {
        width: 100%;
        height: auto;
        display: block;
    }

    /* 本週最值得知道 */
    .talkstory-featured {
        padding: 72px 28px 84px;
    }

    .talkstory-featured h2 {
        font-size: 34px;
        margin-bottom: 32px;
    }

    .talkstory-featured-card {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
    }

    .talkstory-featured-image img {
        width: 100%;
        height: 340px;
        object-fit: cover;
    }

    .talkstory-featured-content h3 {
        font-size: 27px;
        line-height: 1.4;
    }

    .talkstory-featured-content p {
        font-size: 16px;
        line-height: 1.75;
    }

    /* 3分鐘懂一件事 */
    .talkstory-quick {
        padding: 72px 28px 84px;
    }

    .talkstory-quick-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 28px;
    }

    .talkstory-quick-image img {
        height: 230px;
    }

    .talkstory-quick h2 {
        font-size: 34px;
    }

    .talkstory-quick-card h3 {
        font-size: 21px;
    }

}
/* =========================
   Large Screen / TV
   ========================= */

@media (min-width: 1440px) {

    .talkstory-hero-inner,
    .talkstory-section-inner {
        max-width: 1440px;
    }

    .talkstory-hero {
        padding: 120px 48px 130px;
    }

    .talkstory-hero h1 {
        font-size: 64px;
        line-height: 1.15;
    }

    .talkstory-hero-description {
        font-size: 20px;
        max-width: 720px;
    }

    .talkstory-hero-image {
        width: 100%;
        height: auto;
        display: block;
    }

    .talkstory-featured {
        padding: 120px 48px 130px;
    }

    .talkstory-featured h2 {
        font-size: 44px;
    }

    .talkstory-featured-card {
        gap: 64px;
    }

    .talkstory-featured-image img {
        height: 500px;
    }

    .talkstory-featured-content h3 {
        font-size: 36px;
    }

    .talkstory-featured-content p {
        font-size: 18px;
    }

    .talkstory-quick {
        padding: 110px 48px 130px;
    }

    .talkstory-quick h2 {
        font-size: 42px;
    }

    .talkstory-quick-grid {
        gap: 40px;
    }

    .talkstory-quick-image img {
        height: 280px;
    }

    .talkstory-quick-card h3 {
        font-size: 24px;
    }

}
/* =========================
   Explore Science
   Desktop Default
   ========================= */

.talkstory-science {
    padding: 96px 32px 110px;
    background: #F6F3EA;
}

.talkstory-science h2 {
    font-size: 40px;
    line-height: 1.2;
    margin: 0 0 38px;
    color: #171717;
}

.talkstory-science-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.95fr;
    gap: 48px;
    align-items: start;
}

.talkstory-science-main-image {
    display: block;
    margin-bottom: 24px;
}

.talkstory-science-main-image img {
    width: 100%;
    height: 460px;
    object-fit: cover;
    display: block;
}

.talkstory-science-main h3 {
    font-size: 32px;
    line-height: 1.35;
    margin: 0 0 18px;
}

.talkstory-science-main h3 a,
.talkstory-science-small h3 a {
    color: #171717;
    text-decoration: none;
}

.talkstory-science-main p {
    font-size: 17px;
    line-height: 1.85;
    color: #66645F;
    margin: 0 0 24px;
}

.talkstory-science-link {
    display: inline-block;
    color: #171717;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 3px solid #F4C430;
    padding-bottom: 4px;
}

.talkstory-science-side {
    display: flex;
    flex-direction: column;
    gap: 34px;
}

.talkstory-science-small {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 20px;
    align-items: start;
    padding-bottom: 24px;
border-bottom: 1px solid #DDD9CF;
}

.talkstory-science-small-image {
    display: block;
}

.talkstory-science-small-image img {
    width: 220px;
    height: 150px;
    object-fit: cover;
    display: block;
}

.talkstory-science-small h3 {
    font-size: 21px;
    line-height: 1.45;
    margin: 0 0 10px;
}

.talkstory-science-meta {
    font-size: 14px;
    color: #88857F;
    margin: 0;
}


/* =========================
   iPad / Tablet
   ========================= */

@media (min-width: 768px) and (max-width: 1023px) {

    .talkstory-science {
        padding: 72px 28px 84px;
    }

    .talkstory-science h2 {
        font-size: 34px;
    }

    .talkstory-science-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .talkstory-science-main-image img {
        height: 380px;
    }

    .talkstory-science-main h3 {
        font-size: 28px;
    }

    .talkstory-science-side {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 28px;
    }

    .talkstory-science-small {
        display: block;
    }

    .talkstory-science-small-image img {
        width: 100%;
        height: 210px;
        margin-bottom: 16px;
    }
}


/* =========================
   Mobile
   ========================= */

@media (max-width: 767px) {

    .talkstory-science {
        padding: 64px 20px 72px;
    }

    .talkstory-science h2 {
        font-size: 30px;
        margin-bottom: 28px;
    }

    .talkstory-science-grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .talkstory-science-main-image img {
        height: 260px;
    }

    .talkstory-science-main h3 {
        font-size: 25px;
        line-height: 1.4;
    }

    .talkstory-science-main p {
        font-size: 16px;
        line-height: 1.8;
    }

    .talkstory-science-side {
        display: flex;
        flex-direction: column;
        gap: 30px;
    }

    .talkstory-science-small {
        display: block;
    }

    .talkstory-science-small-image img {
        width: 100%;
        height: 200px;
        margin-bottom: 16px;
    }

    .talkstory-science-small h3 {
        font-size: 20px;
    }
}


/* =========================
   Large Screen / TV
   ========================= */

@media (min-width: 1440px) {

    .talkstory-science {
        padding: 120px 48px 130px;
    }

    .talkstory-science h2 {
        font-size: 44px;
    }

    .talkstory-science-grid {
        gap: 64px;
    }

    .talkstory-science-main-image img {
        height: 520px;
    }

    .talkstory-science-main h3 {
        font-size: 36px;
    }

    .talkstory-science-main p {
        font-size: 18px;
    }

    .talkstory-science-small h3 {
        font-size: 23px;
    }
}
/* =========================
   Look To The Universe
   Desktop
   ========================= */

.talkstory-universe {
    padding: 100px 32px 110px;
    background: #20241F;
    color: #FFFFFF;
}

.talkstory-universe .talkstory-section-kicker {
    color: #F4C430;
}

.talkstory-universe h2 {
    font-size: 40px;
    line-height: 1.2;
    margin: 0 0 40px;
    color: #FFFFFF;
}

.talkstory-universe-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 56px;
    align-items: start;
}


/* 左側主文章 */

.talkstory-universe-main-image {
    display: block;
    margin-bottom: 26px;
}

.talkstory-universe-main-image img {
    width: 100%;
    height: 460px;
    object-fit: cover;
    display: block;
}

.talkstory-universe-label {
    margin: 0 0 12px;
    color: #F4C430;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.talkstory-universe-main h3 {
    font-size: 34px;
    line-height: 1.35;
    margin: 0 0 18px;
}

.talkstory-universe-main h3 a {
    color: #FFFFFF;
    text-decoration: none;
}

.talkstory-universe-excerpt {
    font-size: 17px;
    line-height: 1.85;
    color: #C9CBC7;
    margin: 0 0 26px;
}

.talkstory-universe-link {
    display: inline-block;
    color: #FFFFFF;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 3px solid #F4C430;
    padding-bottom: 4px;
}


/* 右側三篇 */

.talkstory-universe-side {
    display: flex;
    flex-direction: column;
    gap: 26px;
}

.talkstory-universe-small {
    display: grid;
    grid-template-columns: 210px 1fr;
    gap: 22px;
    align-items: start;
    padding-bottom: 26px;
    border-bottom: 1px solid #454943;
}

.talkstory-universe-small-image {
    display: block;
}

.talkstory-universe-small-image img {
    width: 210px;
    height: 145px;
    object-fit: cover;
    display: block;
}

.talkstory-universe-small h3 {
    font-size: 21px;
    line-height: 1.45;
    margin: 0 0 12px;
}

.talkstory-universe-small h3 a {
    color: #FFFFFF;
    text-decoration: none;
}

.talkstory-universe-meta {
    font-size: 14px;
    color: #A6AAA4;
    margin: 0;
}


/* =========================
   iPad / Tablet
   ========================= */

@media (min-width: 768px) and (max-width: 1023px) {

    .talkstory-universe {
        padding: 76px 28px 86px;
    }

    .talkstory-universe h2 {
        font-size: 34px;
        margin-bottom: 34px;
    }

    .talkstory-universe-grid {
        grid-template-columns: 1fr;
        gap: 46px;
    }

    .talkstory-universe-main-image img {
        height: 390px;
    }

    .talkstory-universe-main h3 {
        font-size: 29px;
    }

    .talkstory-universe-side {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
    }

    .talkstory-universe-small {
        display: block;
        padding-bottom: 20px;
    }

    .talkstory-universe-small-image img {
        width: 100%;
        height: 170px;
        margin-bottom: 16px;
    }

    .talkstory-universe-small h3 {
        font-size: 19px;
    }
}


/* =========================
   Mobile
   ========================= */

@media (max-width: 767px) {

    .talkstory-universe {
        padding: 64px 20px 72px;
    }

    .talkstory-universe h2 {
        font-size: 30px;
        margin-bottom: 28px;
    }

    .talkstory-universe-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .talkstory-universe-main-image img {
        height: 260px;
    }

    .talkstory-universe-main h3 {
        font-size: 25px;
        line-height: 1.4;
    }

    .talkstory-universe-excerpt {
        font-size: 16px;
        line-height: 1.8;
    }

    .talkstory-universe-side {
        display: flex;
        flex-direction: column;
        gap: 28px;
    }

    .talkstory-universe-small {
        display: block;
        padding-bottom: 28px;
    }

    .talkstory-universe-small-image img {
        width: 100%;
        height: 220px;
        margin-bottom: 16px;
    }

    .talkstory-universe-small h3 {
        font-size: 20px;
        line-height: 1.45;
    }
}


/* =========================
   Large Screen / TV
   ========================= */

@media (min-width: 1440px) {

    .talkstory-universe {
        padding: 120px 48px 135px;
    }

    .talkstory-universe h2 {
        font-size: 46px;
    }

    .talkstory-universe-grid {
        gap: 68px;
    }

    .talkstory-universe-main-image img {
        height: 530px;
    }

    .talkstory-universe-main h3 {
        font-size: 38px;
    }

    .talkstory-universe-excerpt {
        font-size: 18px;
    }

    .talkstory-universe-small {
        grid-template-columns: 230px 1fr;
    }

    .talkstory-universe-small-image img {
        width: 230px;
        height: 155px;
    }

    .talkstory-universe-small h3 {
        font-size: 23px;
    }
}
/* =========================
   Latest Stories
   Desktop
   ========================= */

.talkstory-latest {
    padding: 100px 32px 120px;
    background: #F6F3EA;
}

.talkstory-latest h2 {
    font-size: 40px;
    line-height: 1.2;
    margin: 0 0 42px;
    color: #171717;
}

.talkstory-latest-list {
    max-width: 1050px;
}

.talkstory-latest-card {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 36px;
    align-items: center;
    padding: 30px 0;
    border-bottom: 1px solid #DDD9CF;
}

.talkstory-latest-card:first-child {
    padding-top: 0;
}

.talkstory-latest-image {
    display: block;
    overflow: hidden;
}

.talkstory-latest-image img {
    width: 100%;
    height: 230px;
    object-fit: cover;
    display: block;
}

.talkstory-latest-meta {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 12px;
    font-size: 13px;
    color: #88857F;
}

.talkstory-latest-category {
    color: #171717;
    font-weight: 700;
}

.talkstory-latest-content h3 {
    font-size: 27px;
    line-height: 1.4;
    margin: 0 0 14px;
}

.talkstory-latest-content h3 a {
    color: #171717;
    text-decoration: none;
}

.talkstory-latest-content > p {
    font-size: 16px;
    line-height: 1.8;
    color: #66645F;
    margin: 0 0 18px;
}

.talkstory-latest-link {
    display: inline-block;
    color: #171717;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 3px solid #F4C430;
    padding-bottom: 3px;
}

.talkstory-latest-more {
    max-width: 1050px;
    margin-top: 42px;
    text-align: center;
}

.talkstory-latest-more a {
    display: inline-block;
    padding: 14px 26px;
    background: #F4C430;
    color: #171717;
    font-weight: 700;
    text-decoration: none;
}


/* =========================
   iPad / Tablet
   ========================= */

@media (min-width: 768px) and (max-width: 1023px) {

    .talkstory-latest {
        padding: 76px 28px 90px;
    }

    .talkstory-latest h2 {
        font-size: 34px;
        margin-bottom: 34px;
    }

    .talkstory-latest-card {
        grid-template-columns: 280px 1fr;
        gap: 28px;
        padding: 26px 0;
    }

    .talkstory-latest-image img {
        height: 190px;
    }

    .talkstory-latest-content h3 {
        font-size: 23px;
    }

    .talkstory-latest-content > p {
        font-size: 15px;
    }
}


/* =========================
   Mobile
   ========================= */

@media (max-width: 767px) {

    .talkstory-latest {
        padding: 64px 20px 80px;
    }

    .talkstory-latest h2 {
        font-size: 30px;
        margin-bottom: 28px;
    }

    .talkstory-latest-card {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 32px 0;
    }

    .talkstory-latest-card:first-child {
        padding-top: 0;
    }

    .talkstory-latest-image img {
        width: 100%;
        height: 230px;
    }

    .talkstory-latest-content h3 {
        font-size: 23px;
        line-height: 1.45;
    }

    .talkstory-latest-content > p {
        font-size: 16px;
        line-height: 1.8;
    }

    .talkstory-latest-meta {
        font-size: 13px;
    }

    .talkstory-latest-more {
        margin-top: 34px;
    }
}


/* =========================
   Large Screen / TV
   ========================= */

@media (min-width: 1440px) {

    .talkstory-latest {
        padding: 120px 48px 140px;
    }

    .talkstory-latest h2 {
        font-size: 46px;
    }

    .talkstory-latest-list,
    .talkstory-latest-more {
        max-width: 1180px;
    }

    .talkstory-latest-card {
        grid-template-columns: 400px 1fr;
        gap: 44px;
        padding: 34px 0;
    }

    .talkstory-latest-image img {
        height: 255px;
    }

    .talkstory-latest-content h3 {
        font-size: 30px;
    }

    .talkstory-latest-content > p {
        font-size: 17px;
    }
}
/* =========================
   All Stories Archive
   Desktop
   ========================= */

.talkstory-archive {
    background: #F6F3EA;
}

.talkstory-archive-hero {
    padding: 84px 32px 54px;
}

.talkstory-archive-hero h1 {
    font-size: 44px;
    line-height: 1.2;
    margin: 0 0 18px;
    color: #171717;
}

.talkstory-archive-intro {
    font-size: 17px;
    line-height: 1.8;
    color: #66645F;
    margin: 0;
    max-width: 760px;
}


/* 文章列表區 */

.talkstory-archive-list {
    padding: 10px 32px 110px;
}

.talkstory-archive-grid {
    max-width: 1080px;
}

.talkstory-archive-card {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 36px;
    align-items: center;
    padding: 34px 0;
    border-bottom: 1px solid #DDD9CF;
}

.talkstory-archive-image {
    display: block;
    overflow: hidden;
}

.talkstory-archive-image img {
    width: 100%;
    height: 230px;
    object-fit: cover;
    display: block;
}

.talkstory-archive-meta {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 12px;
    font-size: 13px;
    color: #88857F;
}

.talkstory-archive-category {
    color: #171717;
    font-weight: 700;
}

.talkstory-archive-content h2 {
    font-size: 28px;
    line-height: 1.4;
    margin: 0 0 14px;
}

.talkstory-archive-content h2 a {
    color: #171717;
    text-decoration: none;
}

.talkstory-archive-content > p {
    font-size: 16px;
    line-height: 1.8;
    color: #66645F;
    margin: 0 0 18px;
}

.talkstory-archive-link {
    display: inline-block;
    color: #171717;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 3px solid #F4C430;
    padding-bottom: 3px;
}


/* 分頁 */

.talkstory-pagination {
    max-width: 1080px;
    margin-top: 48px;
}

.talkstory-pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.talkstory-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    padding: 0 12px;
    background: #FFFFFF;
    color: #171717;
    text-decoration: none;
    border: 1px solid #DDD9CF;
}

.talkstory-pagination .page-numbers.current {
    background: #F4C430;
    border-color: #F4C430;
    font-weight: 700;
}


/* =========================
   iPad / Tablet
   ========================= */

@media (min-width: 768px) and (max-width: 1023px) {

    .talkstory-archive-hero {
        padding: 72px 28px 46px;
    }

    .talkstory-archive-hero h1 {
        font-size: 36px;
    }

    .talkstory-archive-list {
        padding: 8px 28px 90px;
    }

    .talkstory-archive-card {
        grid-template-columns: 280px 1fr;
        gap: 28px;
        padding: 30px 0;
    }

    .talkstory-archive-image img {
        height: 190px;
    }

    .talkstory-archive-content h2 {
        font-size: 24px;
    }

    .talkstory-archive-content > p {
        font-size: 15px;
    }
}


/* =========================
   Mobile
   ========================= */

@media (max-width: 767px) {

    .talkstory-archive-hero {
        padding: 56px 20px 34px;
    }

    .talkstory-archive-hero h1 {
        font-size: 32px;
    }

    .talkstory-archive-intro {
        font-size: 16px;
        line-height: 1.75;
    }

    .talkstory-archive-list {
        padding: 4px 20px 72px;
    }

    .talkstory-archive-card {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 30px 0;
    }

    .talkstory-archive-image img {
        width: 100%;
        height: 230px;
    }

    .talkstory-archive-content h2 {
        font-size: 23px;
        line-height: 1.45;
    }

    .talkstory-archive-content > p {
        font-size: 16px;
        line-height: 1.8;
    }

    .talkstory-pagination {
        margin-top: 36px;
    }

    .talkstory-pagination .page-numbers {
        min-width: 38px;
        height: 38px;
        padding: 0 10px;
        font-size: 14px;
    }
}


/* =========================
   Large Screen / TV
   ========================= */

@media (min-width: 1440px) {

    .talkstory-archive-hero {
        padding: 100px 48px 60px;
    }

    .talkstory-archive-hero h1 {
        font-size: 50px;
    }

    .talkstory-archive-intro {
        font-size: 18px;
    }

    .talkstory-archive-list {
        padding: 10px 48px 130px;
    }

    .talkstory-archive-grid,
    .talkstory-pagination {
        max-width: 1180px;
    }

    .talkstory-archive-card {
        grid-template-columns: 400px 1fr;
        gap: 44px;
        padding: 38px 0;
    }

    .talkstory-archive-image img {
        height: 255px;
    }

    .talkstory-archive-content h2 {
        font-size: 31px;
    }

    .talkstory-archive-content > p {
        font-size: 17px;
    }
}

/* =========================
   Tablet / iPad - Hero + Featured
   ========================= */

@media (min-width: 768px) and (max-width: 1100px) {

    .talkstory-hero {
        padding: 88px 32px 96px;
    }

    .talkstory-hero-inner {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .talkstory-hero h1 {
        font-size: 52px;
        line-height: 1.15;
    }

    .talkstory-hero-description {
        font-size: 17px;
        line-height: 1.8;
        max-width: 680px;
    }

    .talkstory-hero-media {
        width: 100%;
    }

    .talkstory-hero-image {
        width: 100%;
        height: auto;
        display: block;
    }

    .talkstory-featured {
        padding: 88px 32px 96px;
    }

    .talkstory-featured-card {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .talkstory-featured-image img {
        width: 100%;
        height: 420px;
        object-fit: cover;
    }

    .talkstory-featured-content h3 {
        font-size: 30px;
        line-height: 1.4;
    }

}

/* =========================
   Hero Slider
   ========================= */

.talkstory-hero-slider {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.talkstory-hero-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 1;
    transition: none;
}

.talkstory-hero-slide.is-active {
    opacity: 1;
}
/* =========================
   Article Author Meta
   ========================= */

.talkstory-author-meta {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 18px;
    margin-bottom: 28px;
}

.talkstory-author-avatar img {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

.talkstory-author-info {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.talkstory-author-name {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    color: #171717;
}

.talkstory-author-details {
    font-size: 14px;
    line-height: 1.5;
    color: #77736c;
}
@media (max-width: 767px) {
    .single-post .entry-title {
        font-size: 36px;
        line-height: 1.25;
    }
    .single-post .post-image {
    margin-bottom: 28px;
}.single-post .entry-content {
    font-size: 18px;
    line-height: 1.75;
    margin-top: 36px;
}
}
/* =========================
   Desktop Article Layout
   ========================= */

@media (min-width: 1024px) {
    .single-post .site-content {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 300px;
        gap: 48px;
        align-items: start;
    }

    .single-post #primary {
        width: 100%;
        min-width: 0;
    }

    .single-post #right-sidebar {
        width: 100%;
    }
}
/* Test: Single Post Without Sidebar */
@media (min-width: 1024px) {
    .single-post #right-sidebar {
        display: none;
    }

    .single-post .site-content {
        grid-template-columns: minmax(0, 1fr);
    }

    .single-post #primary {
        max-width: 900px;
        margin-left: auto;
        margin-right: auto;
    }
}
@media (min-width: 1024px) {
    .single-post .post-image img {
        width: 100%;
        height: 520px;
        object-fit: cover;
        display: block;
    }
}
@media (min-width: 1024px) {
    .single-post .entry-header {
        margin-top: 34px;
    }
}
/* =========================
   Easy Table of Contents
   ========================= */

.single-post #ez-toc-container {
    background: #f7f5ef;
    border: 1px solid #e3dfd5;
    border-radius: 14px;
    padding: 24px 26px;
    margin: 36px 0 44px;
    box-shadow: none;
}

.single-post #ez-toc-container .ez-toc-title {
    font-size: 20px;
    font-weight: 700;
    color: #171717;
    margin-bottom: 16px;
}

.single-post #ez-toc-container ul {
    margin: 0;
    padding-left: 20px;
}

.single-post #ez-toc-container li {
    margin: 8px 0;
    line-height: 1.6;
}

.single-post #ez-toc-container a {
    color: #383632;
    text-decoration: none;
}

.single-post #ez-toc-container a:hover {
    color: #171717;
    text-decoration: underline;
}
/* =========================
   懂故事｜文章社群分享列
   ========================= */

.single-post .talkstory-share {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin: 28px 0 34px;
    padding: 16px 0;
    border-top: 1px solid #e7e1d8;
    border-bottom: 1px solid #e7e1d8;
}

.single-post .talkstory-share-title {
    font-size: 14px;
    font-weight: 700;
    color: #66615c;
    margin-right: 4px;
}

.single-post .talkstory-share a,
.single-post .talkstory-copy-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 7px 12px;
    border: 1px solid #d8d1c7;
    border-radius: 999px;
    background: transparent;
    color: #2f2f2f;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    box-shadow: none;
}

.single-post .talkstory-share a:hover,
.single-post .talkstory-copy-link:hover {
    background: #f3efe8;
    color: #171717;
    border-color: #c8c0b5;
}

@media (max-width: 767px) {
    .single-post .talkstory-share {
        gap: 8px;
        margin: 22px 0 28px;
        padding: 14px 0;
    }

    .single-post .talkstory-share-title {
        width: 100%;
        margin-bottom: 2px;
    }

    .single-post .talkstory-share a,
    .single-post .talkstory-copy-link {
        min-height: 34px;
        padding: 7px 10px;
        font-size: 13px;
    }
}
/* 懂故事｜社群分享圖示 */

.single-post .talkstory-share-icons .talkstory-share-icon {
    width: 40px;
    height: 40px;
    min-height: 40px;
    padding: 0;
    border-radius: 50%;
}

.single-post .talkstory-share-icons .talkstory-share-icon svg {
    width: 18px;
    height: 18px;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.single-post .talkstory-share-icons a:first-of-type svg {
    fill: currentColor;
    stroke: none;
}

.single-post .talkstory-share-icons .talkstory-line {
    width: auto;
    min-width: 48px;
    padding: 0 10px;
    border-radius: 999px;
}

.single-post .talkstory-share-icons .talkstory-line span {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: -0.3px;
}
/* =========================
   懂故事｜分類頁
   ========================= */

.talkstory-category-page {
    max-width: 1180px;
    margin: 0 auto;
    padding: 72px 28px 96px;
}

.talkstory-category-header {
    max-width: 760px;
    margin-bottom: 52px;
}

.talkstory-category-label {
    margin: 0 0 14px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.16em;
    color: #8d877f;
}

.talkstory-category-header h1 {
    margin: 0;
    font-size: clamp(42px, 6vw, 72px);
    line-height: 1.05;
    color: #171717;
}

.talkstory-category-description {
    margin-top: 18px;
    font-size: 17px;
    line-height: 1.8;
    color: #65615b;
}

.talkstory-category-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 54px 34px;
}

.talkstory-category-card {
    min-width: 0;
}

.talkstory-category-image {
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background: #f1eee8;
    margin-bottom: 22px;
}

.talkstory-category-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.talkstory-category-date {
    margin: 0 0 10px;
    font-size: 13px;
    color: #969088;
}

.talkstory-category-content h2 {
    margin: 0 0 12px;
    font-size: 27px;
    line-height: 1.35;
}

.talkstory-category-content h2 a {
    color: #171717;
    text-decoration: none;
}

.talkstory-category-content h2 a:hover {
    text-decoration: underline;
}

.talkstory-category-excerpt {
    margin: 0 0 16px;
    font-size: 15px;
    line-height: 1.8;
    color: #65615b;
}

.talkstory-category-more {
    font-size: 14px;
    font-weight: 700;
    color: #171717;
    text-decoration: none;
}

.talkstory-category-more:hover {
    text-decoration: underline;
}

.talkstory-category-pagination {
    margin-top: 72px;
    padding-top: 28px;
    border-top: 1px solid #e3ded5;
}

.talkstory-category-pagination .nav-links {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.talkstory-category-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 42px;
    padding: 8px 13px;
    border: 1px solid #d9d2c8;
    border-radius: 999px;
    color: #2f2f2f;
    text-decoration: none;
}

.talkstory-category-pagination .page-numbers.current {
    background: #171717;
    border-color: #171717;
    color: #fff;
}

@media (max-width: 767px) {
    .talkstory-category-page {
        padding: 48px 20px 72px;
    }

    .talkstory-category-header {
        margin-bottom: 36px;
    }

    .talkstory-category-header h1 {
        font-size: 42px;
    }

    .talkstory-category-grid {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .talkstory-category-content h2 {
        font-size: 23px;
    }

    .talkstory-category-excerpt {
        font-size: 15px;
    }

    .talkstory-category-pagination {
        margin-top: 54px;
    }
}
/* ========================================
   TalkStory Header Navigation
   桌機版主選單美化
======================================== */

@media (min-width: 769px) {

    /* 主選單整體 */
    .main-navigation .main-nav > ul {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    /* 第一層選單文字 */
    .main-navigation .main-nav > ul > li > a {
        position: relative;
        padding: 12px 14px;
        font-size: 15px;
        font-weight: 500;
        letter-spacing: 0.04em;
        color: #3f3b35;
        transition:
            color 0.25s ease,
            opacity 0.25s ease;
    }

    /* Hover 細底線 */
    .main-navigation .main-nav > ul > li > a::after {
        content: "";
        position: absolute;
        left: 14px;
        right: 14px;
        bottom: 5px;
        height: 1px;
        background: #b28b32;
        transform: scaleX(0);
        transform-origin: center;
        transition: transform 0.25s ease;
    }

    .main-navigation .main-nav > ul > li:hover > a::after,
    .main-navigation .main-nav > ul > li.current-menu-item > a::after,
    .main-navigation .main-nav > ul > li.current-menu-ancestor > a::after {
        transform: scaleX(1);
    }

    .main-navigation .main-nav > ul > li:hover > a {
        color: #171512;
    }

    /* 下拉箭頭縮小、變淡 */
.main-navigation .menu-item-has-children .dropdown-menu-toggle {
    padding-left: 3px;
    padding-right: 0;
    font-size: 9px;
    opacity: 0.45;
}

    /* 下拉選單卡片 */
    .main-navigation ul ul {
        width: 190px;
        padding: 10px;
        background: #fffdf8;
        border: 1px solid rgba(30, 25, 18, 0.08);
        border-radius: 10px;
        box-shadow:
            0 12px 30px rgba(30, 25, 18, 0.08),
            0 3px 8px rgba(30, 25, 18, 0.04);
    }

    /* 下拉選單項目 */
    .main-navigation .main-nav ul ul li a {
        padding: 11px 14px;
        font-size: 14px;
        font-weight: 400;
        line-height: 1.5;
        color: #49443c;
        border-radius: 7px;
        transition:
            background 0.2s ease,
            color 0.2s ease,
            padding-left 0.2s ease;
    }

    /* 下拉 Hover */
    .main-navigation .main-nav ul ul li:hover > a {
        background: #f5f0e5;
        color: #181510;
        padding-left: 17px;
    }

    /* 避免 GeneratePress 預設背景蓋掉 */
    .main-navigation .main-nav ul li[class*="current-menu-"] > a,
    .main-navigation .main-nav ul li:hover > a,
    .main-navigation .main-nav ul li:focus > a,
    .main-navigation .main-nav ul li.sfHover > a {
        background-color: transparent;
    }

}
@media (min-width: 769px) {
    .main-navigation .main-nav .menu-item-has-children > a {
        display: flex;
        align-items: center;
        gap: 3px;
    }

    .main-navigation .main-nav .menu-item-has-children > a .dropdown-menu-toggle {
        padding: 0;
        margin: 0;
    }
}
/* ========================================
   TalkStory - YARPP Related Stories
   故事還沒結束
======================================== */

.single-post .yarpp-related {
    margin-top: 72px;
    padding-top: 38px;
    border-top: 1px solid rgba(35, 30, 22, 0.12);
}

/* 標題：故事還沒結束 */
.single-post .yarpp-related > h3 {
    margin: 0 0 28px;
    padding: 0;
    font-size: 28px;
    line-height: 1.25;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #26231f;
}

/* 三欄卡片區 */
.single-post .yarpp-thumbnails-horizontal {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin: 0 !important;
}

/* 單一卡片 */
.single-post .yarpp-thumbnail {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-decoration: none !important;
    box-shadow: none !important;
    overflow: hidden;
}

/* 圖片 */
.single-post .yarpp-thumbnail img {
    width: 100% !important;
    height: 190px !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    display: block;
    object-fit: cover;
    border: 0 !important;
    border-radius: 4px;
    transition: transform 0.35s ease,
                opacity 0.35s ease;
}

/* 文章標題 */
.single-post .yarpp-thumbnail-title {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
    font-weight: 500 !important;
    color: #292620 !important;
    text-decoration: none !important;

    /* 最多顯示三行 */
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

/* Hover：圖片輕微放大 */
.single-post .yarpp-thumbnail:hover img {
    transform: scale(1.025);
    opacity: 0.92;
}

/* Hover：標題稍微變深 */
.single-post .yarpp-thumbnail:hover .yarpp-thumbnail-title {
    color: #11100e !important;
}

/* 清掉 YARPP 預設奇怪樣式 */
.single-post .yarpp-related a {
    text-decoration: none !important;
}

.single-post .yarpp-related br {
    display: none;
}


/* ========================================
   Tablet
======================================== */

@media (max-width: 900px) {

    .single-post .yarpp-thumbnails-horizontal {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }

    .single-post .yarpp-thumbnail img {
        height: 210px !important;
    }
}


/* ========================================
   Mobile
======================================== */

@media (max-width: 600px) {

    .single-post .yarpp-related {
        margin-top: 54px;
        padding-top: 28px;
    }

    .single-post .yarpp-related > h3 {
        margin-bottom: 22px;
        font-size: 24px;
    }

    .single-post .yarpp-thumbnails-horizontal {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .single-post .yarpp-thumbnail img {
        height: auto !important;
        aspect-ratio: 16 / 10;
        object-fit: cover;
        margin-bottom: 12px !important;
    }

    .single-post .yarpp-thumbnail-title {
        font-size: 17px !important;
        line-height: 1.5 !important;
        -webkit-line-clamp: 2;
    }
}
/* ========================================
   TalkStory YARPP - 強制統一圖片尺寸
======================================== */

body.single-post .yarpp-related .yarpp-thumbnails-horizontal a.yarpp-thumbnail img,
body.single-post .yarpp-related .yarpp-thumbnail img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 170px !important;
    min-height: 170px !important;
    max-height: 170px !important;

    margin: 0 0 14px 0 !important;
    padding: 0 !important;

    object-fit: cover !important;
    object-position: center !important;

    border: 0 !important;
}

/* 手機 */
@media (max-width: 600px) {

    body.single-post .yarpp-related .yarpp-thumbnails-horizontal a.yarpp-thumbnail img,
    body.single-post .yarpp-related .yarpp-thumbnail img {
        height: 210px !important;
        min-height: 210px !important;
        max-height: 210px !important;
    }

}
/* ========================================
   TalkStory YARPP - 卡片文字回到圖片下方
======================================== */

body.single-post .yarpp-related .yarpp-thumbnails-horizontal {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px !important;
    align-items: start !important;
}

body.single-post .yarpp-related a.yarpp-thumbnail {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    vertical-align: top !important;
    overflow: visible !important;
}

body.single-post .yarpp-related .yarpp-thumbnail-title {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    float: none !important;

    font-size: 17px !important;
    line-height: 1.55 !important;
    font-weight: 500 !important;
    color: #292620 !important;
    text-align: left !important;
}

/* 平板 */
@media (max-width: 900px) {
    body.single-post .yarpp-related .yarpp-thumbnails-horizontal {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* 手機 */
@media (max-width: 600px) {
    body.single-post .yarpp-related .yarpp-thumbnails-horizontal {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }
}
/* YARPP：消除圖片與標題之間的多餘空白 */

body.single-post .yarpp-related a.yarpp-thumbnail {
    height: auto !important;
    min-height: 0 !important;
}

body.single-post .yarpp-related .yarpp-thumbnail > img,
body.single-post .yarpp-related .yarpp-thumbnail img {
    display: block !important;
    width: 100% !important;
    height: 180px !important;
    object-fit: cover !important;
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
}

body.single-post .yarpp-related .yarpp-thumbnail-title {
    display: block !important;
    position: static !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
/* ========================================
   ABOUT TALK STORY
   關於懂故事
======================================== */

/* 隱藏 WordPress 原本的頁面標題 */
.page-id-3043 .entry-header {
    display: none;
}

/* 移除頁面預設多餘空間 */
.page-id-3043 .entry-content {
    margin-top: 0;
}

.page-id-3043 .site-main .inside-article {
    padding-top: 0;
}

/* 所有 About 區塊共同設定 */
.page-id-3043 .about-hero,
.page-id-3043 .about-why,
.page-id-3043 .about-topics,
.page-id-3043 .about-jeff,
.page-id-3043 .about-contact {
    box-sizing: border-box;
    padding: 90px 9%;
    margin: 0;
}

/* -------------------------
   01 HERO
------------------------- */

.page-id-3043 .about-hero {
    background: #f3eee4;
    min-height: 520px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.page-id-3043 .about-hero h2 {
    font-size: clamp(38px, 5vw, 68px);
    line-height: 1.18;
    letter-spacing: -0.03em;
    max-width: 800px;
    margin-bottom: 30px;
}

.page-id-3043 .about-hero p {
    max-width: 680px;
    font-size: 18px;
    line-height: 2;
}

/* -------------------------
   02 WHY
------------------------- */

.page-id-3043 .about-why {
    background: #ffffff;
    padding-top: 120px;
    padding-bottom: 120px;
}

.page-id-3043 .about-why h3 {
    font-size: clamp(30px, 3.5vw, 46px);
    margin-bottom: 40px;
    letter-spacing: -0.02em;
}

.page-id-3043 .about-why p {
    max-width: 720px;
    font-size: 17px;
    line-height: 2.15;
}

.page-id-3043 .about-why blockquote {
    max-width: 760px;
    margin: 55px 0 0;
    padding: 25px 0 25px 30px;
    border-left: 3px solid #b9a98d;
    font-size: 22px;
    line-height: 1.8;
}

/* -------------------------
   03 TOPICS
------------------------- */

.page-id-3043 .about-topics {
    background: #f6f2ea;
    padding-top: 110px;
    padding-bottom: 110px;
}

.page-id-3043 .about-topics h3 {
    font-size: clamp(30px, 3.5vw, 46px);
    margin-bottom: 35px;
}

.page-id-3043 .about-topics p {
    max-width: 760px;
    font-size: 17px;
    line-height: 2.1;
}

/* 第一個文字段落：科學｜自然｜宇宙... */
.page-id-3043 .about-topics h3 + p {
    font-size: clamp(20px, 2.2vw, 28px);
    font-weight: 600;
    letter-spacing: 0.08em;
    padding: 22px 0;
    margin-bottom: 30px;
    border-top: 1px solid #c9c0b1;
    border-bottom: 1px solid #c9c0b1;
}

/* -------------------------
   04 JEFF
------------------------- */

.page-id-3043 .about-jeff {
    background: #ffffff;
    padding-top: 130px;
    padding-bottom: 130px;
}

.page-id-3043 .about-jeff h3 {
    font-size: clamp(32px, 4vw, 52px);
    margin-bottom: 35px;
}

.page-id-3043 .about-jeff p {
    max-width: 720px;
    font-size: 17px;
    line-height: 2.15;
}

/* -------------------------
   05 CONTACT
------------------------- */

.page-id-3043 .about-contact {
    background: #e9e0d1;
    padding-top: 110px;
    padding-bottom: 110px;
}

.page-id-3043 .about-contact h3 {
    font-size: clamp(34px, 4vw, 54px);
    margin-bottom: 35px;
}

.page-id-3043 .about-contact p {
    max-width: 720px;
    font-size: 17px;
    line-height: 2;
}

.page-id-3043 .about-contact a {
    color: #28251f;
    text-decoration: none;
    border-bottom: 1px solid #9d8e76;
    transition: opacity .2s ease;
}

.page-id-3043 .about-contact a:hover {
    opacity: .55;
}

/* 最後一句 */
.page-id-3043 .about-contact p:last-child {
    margin-top: 55px;
    padding-top: 28px;
    border-top: 1px solid rgba(40,37,31,.25);
    font-size: 19px;
    font-style: italic;
}

/* -------------------------
   MOBILE
------------------------- */

@media (max-width: 768px) {

    .page-id-3043 .about-hero,
    .page-id-3043 .about-why,
    .page-id-3043 .about-topics,
    .page-id-3043 .about-jeff,
    .page-id-3043 .about-contact {
        padding-left: 28px;
        padding-right: 28px;
    }

    .page-id-3043 .about-hero {
        min-height: 430px;
        padding-top: 70px;
        padding-bottom: 70px;
    }

    .page-id-3043 .about-why,
    .page-id-3043 .about-topics,
    .page-id-3043 .about-jeff,
    .page-id-3043 .about-contact {
        padding-top: 75px;
        padding-bottom: 75px;
    }

    .page-id-3043 .about-hero p,
    .page-id-3043 .about-why p,
    .page-id-3043 .about-topics p,
    .page-id-3043 .about-jeff p,
    .page-id-3043 .about-contact p {
        font-size: 16px;
        line-height: 1.9;
    }

    .page-id-3043 .about-why blockquote {
        font-size: 19px;
        margin-top: 40px;
        padding-left: 20px;
    }

    .page-id-3043 .about-topics h3 + p {
        font-size: 19px;
        line-height: 2;
        letter-spacing: .04em;
    }
}
/* ===== ABOUT PAGE FINAL POLISH ===== */

/* Hero 不要讓「故事」尷尬斷行 */
.page-id-3043 .about-hero h2 {
    font-size: clamp(36px, 4.2vw, 58px);
    max-width: 900px;
    text-wrap: balance;
}

/* About 內文不要散到整個螢幕 */
.page-id-3043 .about-why > *,
.page-id-3043 .about-topics > *,
.page-id-3043 .about-jeff > *,
.page-id-3043 .about-contact > * {
    max-width: 760px;
}

/* WHY 做出編輯頁感 */
.page-id-3043 .about-why {
    position: relative;
}

.page-id-3043 .about-why::before {
    content: "01  /  WHY WE EXIST";
    display: block;
    margin-bottom: 35px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .18em;
    color: #9a8b73;
}

/* TOPICS 編號 */
.page-id-3043 .about-topics::before {
    content: "02  /  WHAT WE TALK ABOUT";
    display: block;
    margin-bottom: 35px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .18em;
    color: #9a8b73;
}

/* JEFF 編號 */
.page-id-3043 .about-jeff::before {
    content: "03  /  BEHIND TALK STORY";
    display: block;
    margin-bottom: 35px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .18em;
    color: #9a8b73;
}

/* CONTACT 編號 */
.page-id-3043 .about-contact::before {
    content: "04  /  LET'S TALK";
    display: block;
    margin-bottom: 35px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .18em;
    color: #8a7960;
}

/* WHY 標題更像雜誌 */
.page-id-3043 .about-why h3,
.page-id-3043 .about-topics h3,
.page-id-3043 .about-jeff h3 {
    line-height: 1.25;
}

/* 內文不要太淡 */
.page-id-3043 .about-why p,
.page-id-3043 .about-topics p,
.page-id-3043 .about-jeff p {
    color: #45413b;
}

/* 手機 */
@media (max-width: 768px) {
    .page-id-3043 .about-hero h2 {
        font-size: 38px;
        line-height: 1.25;
    }
}
/* ========================================
   TALK STORY FOOTER｜FINAL
======================================== */

.site-footer {
    background: #f3f0e7;
    color: #52564f;
}

/* Footer widgets */

.footer-widgets {
    background: #f3f0e7;
    color: #52564f;
    padding: 42px 40px 34px;
}

.footer-widgets .inside-footer-widgets {
    display: grid;
    grid-template-columns: 1.8fr .8fr .8fr;
    gap: 60px;
    max-width: 1180px;
    margin: 0 auto;
    padding-top: 34px;
    border-top: 1px solid rgba(45, 58, 50, .12);
    align-items: start;
}

/* 只使用前三欄 */

.footer-widget-4,
.footer-widget-5 {
    display: none;
}

.footer-widgets .footer-widget-1,
.footer-widgets .footer-widget-2,
.footer-widgets .footer-widget-3 {
    width: auto;
    margin: 0;
    padding: 0;
}

/* 品牌欄 */

.footer-widget-1::before {
    content: "懂故事 TALK STORY";
    display: block;
    margin: 0 0 10px;
    padding: 0;
    color: #343a35;
    font-size: 21px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: .06em;
}

.footer-widget-1 {
    padding-right: 40px;
}

.footer-widget-1 p {
    max-width: 520px;
    margin-top: 0;
    color: #747871;
    font-size: 14px;
    line-height: 1.8;
}

/* 右側欄位 */

.footer-widget-2 h3,
.footer-widget-3 h3 {
    margin: 0 0 16px;
    color: #343a35;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: .14em;
}

.footer-widget-2 p,
.footer-widget-3 p {
    margin: 0;
    color: #747871;
    font-size: 13px;
    line-height: 1.9;
}

.footer-widget-2 p a {
    display: block;
}

/* Links */

.footer-widgets a {
    color: #687068;
    text-decoration: none;
    transition: color .2s ease;
}

.footer-widgets a:hover {
    color: #506b59;
}

/* Copyright */

.site-info {
    background: #f3f0e7;
    color: #969991;
    border-top: 1px solid rgba(45, 58, 50, .10);
    padding: 18px 30px;
    font-size: 12px;
    letter-spacing: .04em;
}

.site-info a {
    color: #747871;
}

/* Tablet */

@media (max-width: 900px) {

    .footer-widgets {
        padding-left: 28px;
        padding-right: 28px;
    }

    .footer-widgets .inside-footer-widgets {
        grid-template-columns: 1.4fr 1fr 1fr;
        gap: 34px;
    }

    .footer-widget-1 {
        padding-right: 20px;
    }
}

/* Mobile */

@media (max-width: 768px) {

    .footer-widgets {
        padding: 32px 24px 20px;
    }

    .footer-widgets .inside-footer-widgets {
        display: block;
        width: 100%;
        padding-top: 28px;
    }

    .footer-widget-1,
    .footer-widget-2,
    .footer-widget-3 {
        width: 100%;
        margin: 0 0 22px;
        padding: 0;
    }

    .footer-widget-1::before {
        font-size: 19px;
    }

    .footer-widget-1 p {
        max-width: 100%;
        margin-bottom: 12px;
        line-height: 1.65;
    }

    .footer-widget-2 h3,
    .footer-widget-3 h3 {
        margin-bottom: 9px;
    }

    .footer-widget-2 p a,
    .footer-widget-3 p a {
        display: block;
        margin-bottom: 2px;
        line-height: 1.5;
    }

    .site-info {
        padding: 16px 24px;
        text-align: left;
    }
}
/* ========================================
   WATCH STORIES｜首頁影音故事
======================================== */

.talkstory-video {
    padding: 70px 0;
}

.talkstory-video-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(280px, 1fr);
    gap: 28px;
    margin-top: 32px;
    align-items: start;
}

/* 主打影片 */
.talkstory-video-main {
    display: block;
    text-decoration: none;
    color: inherit;
}

.talkstory-video-thumb {
    position: relative;
    overflow: hidden;
}

.talkstory-video-main .talkstory-video-thumb {
    aspect-ratio: 16 / 9;
}

.talkstory-video-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.talkstory-video-main:hover img,
.talkstory-video-small:hover img {
    transform: scale(1.025);
}

/* 播放按鈕 */
.talkstory-video-play {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.78);
    display: flex;
    align-items: center;
    justify-content: center;
}

.talkstory-video-play::before {
    content: "";
    display: block;
    margin-left: 4px;
    width: 0;
    height: 0;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 13px solid #fff;
}

/* 主打影片文字 */
.talkstory-video-info {
    padding-top: 16px;
}

.talkstory-video-label {
    display: block;
    font-size: 12px;
    letter-spacing: 0.12em;
    margin-bottom: 8px;
    opacity: 0.6;
}

.talkstory-video-info h3 {
    margin: 0;
    font-size: clamp(22px, 2vw, 30px);
    line-height: 1.35;
}

/* 右側兩支影片 */
.talkstory-video-side {
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 24px;
}

.talkstory-video-small {
    display: block;
    text-decoration: none;
    color: inherit;
}

.talkstory-video-small .talkstory-video-thumb {
    aspect-ratio: 16 / 9;
}

.talkstory-video-small .talkstory-video-play {
    width: 42px;
    height: 42px;
}

.talkstory-video-small .talkstory-video-play::before {
    border-top-width: 6px;
    border-bottom-width: 6px;
    border-left-width: 10px;
}

.talkstory-video-small h3 {
    margin: 10px 0 0;
    font-size: 17px;
    line-height: 1.45;
}

/* iPad / 平板 */
@media (max-width: 900px) {
    .talkstory-video-grid {
        grid-template-columns: 1.5fr 1fr;
        gap: 20px;
    }

    .talkstory-video {
        padding: 55px 0;
    }
}

/* 手機 */
@media (max-width: 680px) {
    .talkstory-video {
        padding: 45px 0;
    }

    .talkstory-video-grid {
        grid-template-columns: 1fr;
        gap: 28px;
        margin-top: 24px;
    }

    .talkstory-video-side {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
        gap: 14px;
    }

    .talkstory-video-info h3 {
        font-size: 22px;
    }

    .talkstory-video-small h3 {
        font-size: 15px;
    }

    .talkstory-video-play {
        width: 50px;
        height: 50px;
    }
}

/* 很小的手機 */
@media (max-width: 480px) {
    .talkstory-video-side {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}
/* 影音故事標題與首頁其他區塊統一 */
.talkstory-video > .talkstory-section-inner > h2 {
    font-size: clamp(30px, 3vw, 42px);
    line-height: 1.2;
    font-weight: 400;
    margin-top: 8px;
    margin-bottom: 32px;
}
/* 影音專區與首頁其他區塊完全對齊 */
.talkstory-video {
    padding-left: 32px;
    padding-right: 32px;
}

.talkstory-video .talkstory-section-inner {
    max-width: 1260px;
    margin: 0 auto;
}

@media (max-width: 768px) {
    .talkstory-video {
        padding-left: 20px;
        padding-right: 20px;
    }
}
/* ==================================================
   懂故事｜快訊側邊抽屜
   ================================================== */


/* ---------- 右側固定快訊按鈕 ---------- */

#talkstory-flash-btn {
    position: fixed;
    right: 0;
    top: 46%;
    z-index: 99990;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;

    width: 54px;
    padding: 12px 6px;

    background: #111827;
    color: #ffffff;

    border: 0;
    border-radius: 14px 0 0 14px;

    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.18);

    cursor: pointer;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

#talkstory-flash-btn:hover {
    transform: translateX(-4px);
    box-shadow: 0 7px 24px rgba(0, 0, 0, 0.25);
}

#talkstory-flash-btn .flash-icon {
    font-size: 20px;
    line-height: 1;
}

#talkstory-flash-btn .flash-text {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1px;
}


/* ---------- 黑色背景遮罩 ---------- */

#talkstory-flash-overlay {
    position: fixed;
    inset: 0;

    z-index: 99991;

    background: rgba(15, 23, 42, 0.42);

    opacity: 0;
    visibility: hidden;

    transition:
        opacity 0.3s ease,
        visibility 0.3s ease;
}

#talkstory-flash-overlay.is-open {
    opacity: 1;
    visibility: visible;
}


/* ---------- 右側抽屜 ---------- */

#talkstory-flash-drawer {
    position: fixed;

    top: 0;
    right: 0;

    z-index: 99992;

    width: 400px;
    max-width: 90vw;
    height: 100dvh;

    background: #ffffff;

    box-shadow: -12px 0 35px rgba(0, 0, 0, 0.18);

    transform: translateX(105%);

    transition: transform 0.32s ease;

    overflow-y: auto;
    overscroll-behavior: contain;
}

#talkstory-flash-drawer.is-open {
    transform: translateX(0);
}


/* ---------- 快訊最上方 ---------- */

.talkstory-flash-header {
    position: sticky;
    top: 0;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 22px 22px 20px;

    background: #111827;
    color: #ffffff;

    z-index: 2;
}

.talkstory-flash-title {
    font-size: 22px;
    line-height: 1.2;
    font-weight: 800;
}

.talkstory-flash-subtitle {
    margin-top: 5px;

    font-size: 13px;

    color: rgba(255, 255, 255, 0.68);
}


/* ---------- X 關閉按鈕 ---------- */

#talkstory-flash-close {
    width: 42px;
    height: 42px;

    padding: 0;

    border: 0;
    border-radius: 50%;

    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;

    font-size: 30px;
    line-height: 1;

    cursor: pointer;
}

#talkstory-flash-close:hover {
    background: rgba(255, 255, 255, 0.18);
}


/* ---------- 內容 ---------- */

.talkstory-flash-body {
    padding: 24px;
}

.talkstory-flash-test {
    margin-top: 0;

    font-size: 19px;
    font-weight: 700;

    color: #111827;
}


/* 開啟快訊時禁止背景上下滑 */

body.flash-drawer-open {
    overflow: hidden;
}


/* ==================================================
   平板
   ================================================== */

@media (max-width: 1024px) {

    #talkstory-flash-drawer {
        width: 380px;
    }

}


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

@media (max-width: 767px) {

    #talkstory-flash-btn {
        top: auto;

        right: 0;
        bottom: 90px;

        width: 50px;

        padding: 10px 5px;
    }

    #talkstory-flash-drawer {
        width: 90vw;
        max-width: 90vw;
    }

    .talkstory-flash-header {
        padding: 20px;
    }

    .talkstory-flash-title {
        font-size: 20px;
    }

    .talkstory-flash-body {
        padding: 20px;
    }

}
/* ==================================================
   快訊文章列表
   ================================================== */

.talkstory-flash-list {
    display: flex;
    flex-direction: column;
}


/* 每一篇快訊 */

.talkstory-flash-item {
    display: grid;

    grid-template-columns: 110px 1fr;
    gap: 15px;

    padding: 20px 0;

    border-bottom: 1px solid #e5e7eb;
}


/* 圖片 */

.talkstory-flash-image img {
    display: block;

    width: 110px;
    height: 82px;

    object-fit: cover;

    border-radius: 10px;
}


/* 分類標籤 */

.talkstory-flash-tag {
    display: inline-block;

    padding: 3px 9px;

    border-radius: 20px;

    color: #ffffff;

    font-size: 11px;
    line-height: 1.5;
    font-weight: 700;
}


/* AI */

.flash-ai {
    background: #2563eb;
}


/* 宇宙 */

.flash-space {
    background: #7c3aed;
}


/* 科學 */

.flash-science {
    background: #16a34a;
}


/* 自然 */

.flash-nature {
    background: #ea580c;
}


/* 歷史 */

.flash-history {
    background: #92400e;
}


/* 其他 */

.flash-default {
    background: #475569;
}


/* 標題 */

.talkstory-flash-post-title {
    margin: 7px 0 5px;

    font-size: 16px;
    line-height: 1.45;
    font-weight: 700;
}

.talkstory-flash-post-title a {
    color: #111827;
    text-decoration: none;
}

.talkstory-flash-post-title a:hover {
    color: #2563eb;
}


/* 時間 */

.talkstory-flash-time {
    margin-top: 3px;

    color: #94a3b8;

    font-size: 11px;
}


/* 閱讀快訊 */

.talkstory-flash-read {
    display: inline-block;

    margin-top: 7px;

    color: #2563eb;

    font-size: 12px;
    font-weight: 700;

    text-decoration: none;
}


/* ==================================================
   手機快訊文章
   ================================================== */

@media (max-width: 767px) {

    .talkstory-flash-item {
        grid-template-columns: 90px 1fr;

        gap: 12px;

        padding: 17px 0;
    }

    .talkstory-flash-image img {
        width: 90px;
        height: 70px;
    }

    .talkstory-flash-post-title {
        font-size: 15px;
    }

}
/* ==================================================
   第一篇快訊＝主快訊
   ================================================== */

.talkstory-flash-item:first-child {
    display: block;
    padding-top: 12px;
    padding-bottom: 24px;
}


/* 最新更新提示 */

.talkstory-flash-item:first-child::before {
    content: "● 最新更新";
    display: block;

    margin-bottom: 10px;

    color: #dc2626;

    font-size: 12px;
    font-weight: 700;
}


/* 第一篇圖片改成大橫幅 */

.talkstory-flash-item:first-child .talkstory-flash-image {
    display: block;
    width: 100%;
    margin-bottom: 14px;
}

.talkstory-flash-item:first-child .talkstory-flash-image img {
    width: 100%;
    height: 175px;

    object-fit: cover;

    border-radius: 12px;
}


/* 第一篇分類標籤 */

.talkstory-flash-item:first-child .talkstory-flash-tag {
    margin-bottom: 5px;
}


/* 第一篇標題放大 */

.talkstory-flash-item:first-child .talkstory-flash-post-title {
    margin-top: 7px;

    font-size: 20px;
    line-height: 1.45;
    font-weight: 800;
}


/* 第一篇時間稍微放大 */

.talkstory-flash-item:first-child .talkstory-flash-time {
    margin-top: 7px;

    font-size: 12px;
}


/* 第一篇閱讀連結 */

.talkstory-flash-item:first-child .talkstory-flash-read {
    margin-top: 10px;

    font-size: 13px;
}


/* 手機 */

@media (max-width: 767px) {

    .talkstory-flash-item:first-child .talkstory-flash-image img {
        height: 165px;
    }

    .talkstory-flash-item:first-child .talkstory-flash-post-title {
        font-size: 19px;
    }

}
/* ==================================================
   懂故事｜快訊側欄社群區
   ================================================== */

.talkstory-flash-social {
    margin-top: 26px;
    padding: 24px 0 8px;

    border-top: 1px solid #e5e7eb;

    text-align: center;
}

.talkstory-social-title {
    font-size: 18px;
    font-weight: 800;
    color: #111827;
}

.talkstory-social-text {
    margin-top: 4px;
    margin-bottom: 16px;

    font-size: 13px;
    color: #64748b;
}


/* 4個社群按鈕 */

.talkstory-social-buttons {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
}
.talkstory-social-btn.podcast .social-icon {
    background: #7c3aed;
}

.talkstory-social-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 5px;

    min-height: 72px;

    padding: 10px 5px;

    border: 1px solid #e5e7eb;
    border-radius: 12px;

    background: #ffffff;

    color: #334155;

    font-size: 11px;
    font-weight: 700;

    text-decoration: none;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.talkstory-social-btn:hover {
    transform: translateY(-2px);

    border-color: #cbd5e1;

    box-shadow: 0 5px 14px rgba(0,0,0,.08);
}


/* icon */

.talkstory-social-btn .social-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    border-radius: 50%;

    font-size: 16px;
    font-weight: 800;

    color: #ffffff;
}


/* YouTube */

.talkstory-social-btn.youtube .social-icon {
    background: #ff0000;
}


/* Instagram */

.talkstory-social-btn.instagram .social-icon {
    background: linear-gradient(
        135deg,
        #833ab4,
        #fd1d1d,
        #fcb045
    );
}


/* Facebook */

.talkstory-social-btn.facebook .social-icon {
    background: #1877f2;
}


/* 手機 */

@media (max-width: 767px) {

    .talkstory-flash-social {
        margin-top: 22px;
        padding-top: 20px;
    }

    .talkstory-social-btn {
        min-height: 68px;
        font-size: 10px;
    }

}
/* =========================================================
   懂故事 Homepage 2.0
   2026-10-01
   Warm Editorial / Japanese Magazine Style
   ========================================================= */

/* ---------- 基本設定 ---------- */

.talkstory-home-v2 {
    --ts-bg: #F7F4EC;
    --ts-bg-soft: #EFECE3;
    --ts-card: #FBFAF6;
    --ts-green: #506B59;
    --ts-green-dark: #344A3B;
    --ts-green-light: #DCE3DB;
    --ts-text: #252621;
    --ts-muted: #74746D;
    --ts-line: #DDD9CF;

    background: var(--ts-bg);
    color: var(--ts-text);
}

.talkstory-home-v2 *,
.talkstory-home-v2 *::before,
.talkstory-home-v2 *::after {
    box-sizing: border-box;
}

.talkstory-home-v2 a {
    color: inherit;
    text-decoration: none;
}

.ts2-container {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
}


/* =========================================================
   HERO
   ========================================================= */

.ts2-hero {
    padding: 56px 0 64px;
    background: var(--ts-bg);
}

.ts2-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.25fr);
    gap: 64px;
    align-items: center;
}

.ts2-hero-copy {
    min-width: 0;
}

.ts2-category-pill,
.ts2-small-pill {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    background: var(--ts-green);
    color: #fff;
    border-radius: 999px;
    font-size: 13px;
    line-height: 1;
    letter-spacing: .08em;
}

.ts2-category-pill {
    padding: 8px 14px;
    margin-bottom: 20px;
}

.ts2-small-pill {
    padding: 5px 10px;
    margin-bottom: 10px;
    font-size: 12px;
}

.ts2-hero-title {
    margin: 0 0 20px;
    font-size: clamp(38px, 4vw, 55px);
    line-height: 1.22;
    letter-spacing: -0.035em;
    font-weight: 600;
}

.ts2-hero-title a {
    color: var(--ts-text);
}

.ts2-hero-excerpt {
    max-width: 520px;
    margin: 0 0 20px;
    color: var(--ts-muted);
    font-size: 17px;
    line-height: 1.9;
}

.ts2-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 22px;
    margin-bottom: 26px;
    color: #85847D;
    font-size: 13px;
}

.ts2-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 22px;
    border-radius: 999px;
    background: var(--ts-green);
    color: #fff !important;
    font-size: 14px;
    font-weight: 600;
    transition: transform .2s ease, background .2s ease;
}

.ts2-button:hover {
    background: var(--ts-green-dark);
    transform: translateY(-1px);
}

.ts2-hero-image {
    display: block;
    overflow: hidden;
    border-radius: 10px;
    background: var(--ts-bg-soft);
    aspect-ratio: 16 / 10;
}

.ts2-hero-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}


/* =========================================================
   共用區塊標題
   ========================================================= */

.ts2-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 24px;
}

.ts2-section-heading h2,
.ts2-sidebar-heading h2 {
    margin: 0;
    color: var(--ts-text);
    font-size: 28px;
    line-height: 1.25;
    font-weight: 600;
    letter-spacing: .02em;
}


/* =========================================================
   探索分類
   ========================================================= */

.ts2-explore {
    padding: 38px 0 54px;
    border-top: 1px solid var(--ts-line);
}

.ts2-category-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
}

.ts2-category-card {
    overflow: hidden;
    background: var(--ts-card);
    border: 1px solid rgba(60, 55, 45, .07);
    border-radius: 8px;
    transition: transform .2s ease, box-shadow .2s ease;
}

.ts2-category-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(45, 42, 35, .07);
}

.ts2-category-image,
.ts2-category-placeholder {
    height: 105px;
    overflow: hidden;
    background: #E8E5DC;
}

.ts2-category-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ts2-category-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ts-green);
    font-size: 15px;
}

.ts2-category-content {
    padding: 13px 14px 15px;
}

.ts2-category-content h3 {
    margin: 0 0 4px;
    font-size: 17px;
    line-height: 1.4;
    font-weight: 600;
}

.ts2-category-content p {
    margin: 0;
    color: var(--ts-muted);
    font-size: 12px;
    line-height: 1.55;
}


/* =========================================================
   專題系列
   ========================================================= */

.ts2-series {
    padding: 20px 0 58px;
}

.ts2-series-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
}

.ts2-series-card {
    overflow: hidden;
    background: var(--ts-card);
    border-radius: 8px;
    border: 1px solid rgba(60, 55, 45, .07);
}

.ts2-series-image,
.ts2-series-placeholder {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background:
        linear-gradient(
            135deg,
            #E6E1D5,
            #D9DED6
        );
}

.ts2-series-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ts2-series-content {
    padding: 14px 15px 17px;
}

.ts2-series-content h3 {
    margin: 0 0 5px;
    font-size: 17px;
    line-height: 1.4;
    font-weight: 600;
}

.ts2-series-content p {
    margin: 0;
    color: var(--ts-muted);
    font-size: 13px;
    line-height: 1.55;
}


/* =========================================================
   最新文章 + 快訊
   ========================================================= */

.ts2-content {
    padding: 52px 0 72px;
    background: #FBFAF6;
    border-top: 1px solid var(--ts-line);
}

.ts2-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 42px;
    align-items: start;
}

.ts2-latest-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px 22px;
}

.ts2-article-card {
    min-width: 0;
}

.ts2-article-image {
    display: block;
    overflow: hidden;
    margin-bottom: 15px;
    border-radius: 7px;
    aspect-ratio: 16 / 10;
    background: var(--ts-bg-soft);
}

.ts2-article-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .35s ease;
}

.ts2-article-card:hover .ts2-article-image img {
    transform: scale(1.025);
}

.ts2-article-content h3 {
    margin: 0 0 10px;
    font-size: 20px;
    line-height: 1.5;
    font-weight: 600;
}

.ts2-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    color: #8A8881;
    font-size: 12px;
}

.ts2-more {
    margin-top: 38px;
    text-align: center;
}


/* =========================================================
   最新快訊
   ========================================================= */

.ts2-news-box {
    padding: 22px;
    background: #F2F0E8;
    border-radius: 9px;
}

.ts2-sidebar-heading {
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid #D6D2C8;
}

.ts2-sidebar-heading h2 {
    font-size: 22px;
}

.ts2-news-item {
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 13px;
    padding: 15px 0;
    border-bottom: 1px solid #DCD8CF;
}

.ts2-news-item:last-child {
    border-bottom: 0;
}

.ts2-news-image {
    display: block;
    overflow: hidden;
    width: 84px;
    height: 70px;
    border-radius: 6px;
    background: #E4E1D8;
}

.ts2-news-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ts2-news-content {
    min-width: 0;
}

.ts2-news-content .ts2-small-pill {
    padding: 4px 7px;
    margin-bottom: 5px;
    font-size: 10px;
}

.ts2-news-content h3 {
    margin: 0 0 5px;
    font-size: 14px;
    line-height: 1.45;
    font-weight: 600;
}

.ts2-news-date {
    color: #908D86;
    font-size: 11px;
}


/* =========================================================
   Podcast
   ========================================================= */

.ts2-podcast {
    position: relative;
    overflow: hidden;
    min-height: 205px;
    margin-top: 22px;
    padding: 28px 24px;
    border-radius: 9px;
    background:
        linear-gradient(
            135deg,
            #6D756A,
            #3E4D42
        );
    color: #fff;
}

.ts2-podcast::after {
    content: "♪";
    position: absolute;
    right: 20px;
    bottom: -20px;
    font-size: 120px;
    line-height: 1;
    opacity: .08;
}

.ts2-podcast-content {
    position: relative;
    z-index: 2;
}

.ts2-podcast-content > span {
    display: block;
    margin-bottom: 14px;
    font-size: 14px;
    letter-spacing: .12em;
}

.ts2-podcast h2 {
    max-width: 220px;
    margin: 0 0 10px;
    color: #fff;
    font-size: 24px;
    line-height: 1.4;
}

.ts2-podcast p {
    max-width: 230px;
    margin: 0;
    color: rgba(255,255,255,.76);
    font-size: 13px;
    line-height: 1.7;
}


/* =========================================================
   Newsletter
   ========================================================= */

.ts2-newsletter {
    padding: 58px 0 64px;
    background: #ECE9DF;
    border-top: 1px solid var(--ts-line);
}

.ts2-newsletter-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.ts2-newsletter-kicker {
    margin: 0 0 10px;
    color: var(--ts-green);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .16em;
}

.ts2-newsletter h2 {
    margin: 0;
    font-size: 30px;
    line-height: 1.5;
    font-weight: 500;
}

.ts2-newsletter-copy p {
    margin: 0;
    color: var(--ts-muted);
    font-size: 15px;
    line-height: 1.8;
}


/* =========================================================
   Tablet
   ========================================================= */

@media (max-width: 1024px) {

    .ts2-container {
        width: min(100% - 40px, 940px);
    }

    .ts2-hero-grid {
        gap: 38px;
        grid-template-columns: .9fr 1.1fr;
    }

    .ts2-hero-title {
        font-size: 40px;
    }

    .ts2-category-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .ts2-series-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .ts2-content-grid {
        grid-template-columns: 1fr;
    }

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

    .ts2-podcast {
        margin-top: 0;
    }
}


/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 767px) {

    .ts2-container {
        width: calc(100% - 36px);
    }

    /* Hero */

    .ts2-hero {
        padding: 30px 0 42px;
    }

    .ts2-hero-grid {
        display: flex;
        flex-direction: column;
        gap: 25px;
    }

    .ts2-hero-copy {
        order: 1;
    }

    .ts2-hero-image {
        order: 2;
        width: 100%;
        aspect-ratio: 16 / 10;
        border-radius: 7px;
    }

    .ts2-category-pill {
        margin-bottom: 14px;
        padding: 7px 12px;
        font-size: 12px;
    }

    .ts2-hero-title {
        margin-bottom: 15px;
        font-size: 32px;
        line-height: 1.3;
        letter-spacing: -.025em;
    }

    .ts2-hero-excerpt {
        margin-bottom: 15px;
        font-size: 16px;
        line-height: 1.8;
    }

    .ts2-meta {
        margin-bottom: 20px;
        font-size: 12px;
    }

    /* Section title */

    .ts2-section-heading {
        margin-bottom: 19px;
    }

    .ts2-section-heading h2 {
        font-size: 25px;
    }

    /* 分類 */

    .ts2-explore {
        padding: 32px 0 42px;
    }

    .ts2-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .ts2-category-image,
    .ts2-category-placeholder {
        height: 100px;
    }

    .ts2-category-content {
        padding: 12px;
    }

    .ts2-category-content h3 {
        font-size: 16px;
    }

    .ts2-category-content p {
        font-size: 12px;
    }

    /* 專題 */

    .ts2-series {
        padding: 12px 0 44px;
    }

    .ts2-series-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 13px;
    }

    .ts2-series-content {
        padding: 12px;
    }

    .ts2-series-content h3 {
        font-size: 16px;
    }

    .ts2-series-content p {
        font-size: 12px;
    }

    /* 最新文章 */

    .ts2-content {
        padding: 38px 0 54px;
    }

    .ts2-content-grid {
        display: block;
    }

    .ts2-latest-grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .ts2-article-content h3 {
        font-size: 20px;
        line-height: 1.5;
    }

    /* 快訊 */

    .ts2-sidebar {
        display: block;
        margin-top: 48px;
    }

    .ts2-news-box {
        padding: 19px;
    }

    .ts2-news-item {
        grid-template-columns: 92px 1fr;
    }

    .ts2-news-image {
        width: 92px;
        height: 75px;
    }

    .ts2-news-content h3 {
        font-size: 15px;
    }

    /* Podcast */

    .ts2-podcast {
        margin-top: 22px;
        min-height: 190px;
    }

    /* Newsletter */

    .ts2-newsletter {
        padding: 42px 0 48px;
    }

    .ts2-newsletter-inner {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .ts2-newsletter h2 {
        font-size: 26px;
    }
}
/* =========================================================
   探索分類 2.0｜純文字導航
   ========================================================= */

.ts2-explore-simple {
    padding: 52px 0 58px;
}

.ts2-category-nav {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    border-top: 1px solid rgba(45, 58, 50, 0.16);
    border-bottom: 1px solid rgba(45, 58, 50, 0.16);
}

.ts2-category-nav-item {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 22px 18px 20px;
    color: #282d29;
    text-decoration: none;
    border-right: 1px solid rgba(45, 58, 50, 0.12);
    transition:
        background-color .25s ease,
        transform .25s ease;
}

.ts2-category-nav-item:first-child {
    border-left: 1px solid rgba(45, 58, 50, 0.12);
}

.ts2-category-nav-item:hover {
    background: #f3f1e9;
}

.ts2-category-nav-name {
    display: block;
    margin-bottom: 8px;
    font-size: 19px;
    font-weight: 600;
    letter-spacing: .03em;
}

.ts2-category-nav-desc {
    padding-right: 18px;
    color: #7b7c76;
    font-size: 13px;
    line-height: 1.6;
}

.ts2-category-nav-arrow {
    position: absolute;
    right: 14px;
    top: 21px;
    color: #557360;
    font-size: 16px;
    opacity: 0;
    transform: translateX(-5px);
    transition: .2s ease;
}

.ts2-category-nav-item:hover .ts2-category-nav-arrow {
    opacity: 1;
    transform: translateX(0);
}


/* Tablet */

@media (max-width: 1024px) {

    .ts2-category-nav {
        grid-template-columns: repeat(3, 1fr);
    }

    .ts2-category-nav-item:nth-child(3) {
        border-right: 1px solid rgba(45, 58, 50, 0.12);
    }

}


/* Mobile */

@media (max-width: 600px) {

    .ts2-explore-simple {
        padding: 36px 0 42px;
    }

    .ts2-category-nav {
        grid-template-columns: repeat(2, 1fr);
    }

    .ts2-category-nav-item {
        padding: 17px 14px;
        min-height: 86px;
    }

    .ts2-category-nav-name {
        font-size: 17px;
        margin-bottom: 5px;
    }

    .ts2-category-nav-desc {
        font-size: 12px;
    }

    .ts2-category-nav-arrow {
        display: none;
    }

}
/* =========================================================
   專題系列：桌機版三欄
   ========================================================= */

.ts2-series-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.ts2-series-card {
    width: 100%;
}

.ts2-series-image {
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.ts2-series-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* =========================================================
   Podcast 卡片
   ========================================================= */

.ts2-podcast {
    display: block;
    padding: 30px 28px;
    background: #536b5b;
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
    transition: transform .25s ease, opacity .25s ease;
}

.ts2-podcast:hover {
    transform: translateY(-2px);
    opacity: .94;
}

.ts2-podcast-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.ts2-podcast-label {
    margin-bottom: 18px;
    font-size: 13px;
    letter-spacing: .12em;
    opacity: .8;
}

.ts2-podcast h2 {
    margin: 0 0 24px;
    color: #fff;
    font-size: 24px;
    line-height: 1.45;
    font-weight: 500;
    letter-spacing: .04em;
}

.ts2-podcast-link {
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,.25);
    width: 100%;
    color: #fff;
    font-size: 14px;
}
/* Podcast 最後微調 */

.ts2-podcast {
    padding: 24px 26px;
}

.ts2-podcast-label {
    color: rgba(255,255,255,.72);
    margin-bottom: 12px;
    font-size: 12px;
}

.ts2-podcast h2 {
    margin-bottom: 18px;
    font-size: 22px;
    line-height: 1.4;
}

.ts2-podcast-link {
    padding-top: 12px;
    font-size: 13px;
}
/* =========================================================
   首頁底部訂閱區｜三欄版
   ========================================================= */

.ts2-newsletter {
    background: #f3f0e7;
    padding: 42px 0;
    border-top: 1px solid rgba(45, 58, 50, 0.10);
}

.ts2-newsletter-3col {
    display: grid;
    grid-template-columns: 1.15fr 1.35fr .7fr;
    gap: 42px;
    align-items: end;
}

/* 左側 */

.ts2-newsletter-brand h2 {
    margin: 5px 0 0;
    font-size: 25px;
    line-height: 1.55;
    font-weight: 500;
    color: #333832;
}

.ts2-newsletter-kicker {
    margin: 0;
    font-size: 10px;
    letter-spacing: .18em;
    color: #7c847d;
}

/* 中間電子報 */

.ts2-newsletter-subscribe {
    padding-left: 36px;
    border-left: 1px solid rgba(45, 58, 50, .15);
}

.ts2-newsletter-title {
    font-size: 16px;
    font-weight: 600;
    color: #343a35;
}

.ts2-newsletter-subscribe p {
    margin: 5px 0 14px;
    font-size: 12px;
    color: #81857f;
}

.ts2-newsletter-form {
    display: flex;
    max-width: 360px;
}

.ts2-newsletter-form input {
    flex: 1;
    min-width: 0;
    height: 40px;
    padding: 0 15px;
    background: rgba(255,255,255,.65);
    border: 1px solid rgba(45,58,50,.16);
    border-right: 0;
    border-radius: 20px 0 0 20px;
    outline: none;
    font-size: 13px;
}

.ts2-newsletter-form button {
    height: 40px;
    padding: 0 22px;
    border: 0;
    border-radius: 0 20px 20px 0;
    background: #587563;
    color: #fff;
    font-size: 13px;
    cursor: pointer;
}

/* 右側社群 */

.ts2-newsletter-social {
    padding-left: 30px;
    border-left: 1px solid rgba(45, 58, 50, .15);
}

.ts2-newsletter-social > span {
    display: block;
    margin-bottom: 12px;
    font-size: 10px;
    letter-spacing: .16em;
    color: #8a8e88;
}

.ts2-social-links {
    display: flex;
    flex-wrap: wrap;
    gap: 9px 14px;
}

.ts2-social-links a {
    color: #48534b;
    text-decoration: none;
    font-size: 12px;
}

.ts2-social-links a:hover {
    color: #587563;
}

/* 平板 */

@media (max-width: 900px) {

    .ts2-newsletter-3col {
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }

    .ts2-newsletter-social {
        grid-column: 1 / -1;
        padding-left: 0;
        padding-top: 20px;
        border-left: 0;
        border-top: 1px solid rgba(45,58,50,.15);
    }
}

/* 手機 */

@media (max-width: 600px) {

    .ts2-newsletter {
        padding: 32px 0;
    }

    .ts2-newsletter-3col {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .ts2-newsletter-subscribe,
    .ts2-newsletter-social {
        padding-left: 0;
        padding-top: 22px;
        border-left: 0;
        border-top: 1px solid rgba(45,58,50,.15);
    }

    .ts2-newsletter-brand h2 {
        font-size: 22px;
    }

    .ts2-newsletter-form {
        max-width: 100%;
    }
}
/* =========================================================
   首頁底部訂閱區｜三欄版
   ========================================================= */

.ts2-newsletter {
    background: #f3f0e7;
    padding: 42px 0;
    border-top: 1px solid rgba(45, 58, 50, 0.10);
}

.ts2-newsletter-3col {
    display: grid;
    grid-template-columns: 1.15fr 1.35fr .7fr;
    gap: 42px;
    align-items: center;
}

/* 左側 */

.ts2-newsletter-brand h2 {
    margin: 5px 0 0;
    font-size: 25px;
    line-height: 1.55;
    font-weight: 500;
    color: #333832;
}

.ts2-newsletter-kicker {
    margin: 0;
    font-size: 10px;
    letter-spacing: .18em;
    color: #7c847d;
}

/* 中間電子報 */

.ts2-newsletter-subscribe {
    padding-left: 36px;
    border-left: 1px solid rgba(45, 58, 50, .15);
}

.ts2-newsletter-title {
    font-size: 16px;
    font-weight: 600;
    color: #343a35;
}

.ts2-newsletter-subscribe p {
    margin: 5px 0 14px;
    font-size: 12px;
    color: #81857f;
}

.ts2-newsletter-form {
    display: flex;
    max-width: 360px;
}

.ts2-newsletter-form input {
    flex: 1;
    min-width: 0;
    height: 40px;
    padding: 0 15px;
    background: rgba(255,255,255,.65);
    border: 1px solid rgba(45,58,50,.16);
    border-right: 0;
    border-radius: 20px 0 0 20px;
    outline: none;
    font-size: 13px;
}

.ts2-newsletter-form button {
    height: 40px;
    padding: 0 22px;
    border: 0;
    border-radius: 0 20px 20px 0;
    background: #587563;
    color: #fff;
    font-size: 13px;
    cursor: pointer;
}

/* 右側社群 */

.ts2-newsletter-social {
    padding-left: 30px;
    border-left: 1px solid rgba(45, 58, 50, .15);
}

.ts2-newsletter-social > span {
    display: block;
    margin-bottom: 12px;
    font-size: 10px;
    letter-spacing: .16em;
    color: #8a8e88;
}

.ts2-social-links {
    display: flex;
    flex-wrap: wrap;
    gap: 9px 14px;
}

.ts2-social-links a {
    color: #48534b;
    text-decoration: none;
    font-size: 12px;
}

.ts2-social-links a:hover {
    color: #587563;
}

/* 平板 */

@media (max-width: 900px) {

    .ts2-newsletter-3col {
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }

    .ts2-newsletter-social {
        grid-column: 1 / -1;
        padding-left: 0;
        padding-top: 20px;
        border-left: 0;
        border-top: 1px solid rgba(45,58,50,.15);
    }
}

/* 手機 */

@media (max-width: 600px) {

    .ts2-newsletter {
        padding: 32px 0;
    }

    .ts2-newsletter-3col {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .ts2-newsletter-subscribe,
    .ts2-newsletter-social {
        padding-left: 0;
        padding-top: 22px;
        border-left: 0;
        border-top: 1px solid rgba(45,58,50,.15);
    }

    .ts2-newsletter-brand h2 {
        font-size: 22px;
    }

    .ts2-newsletter-form {
        max-width: 100%;
    }
}
/* 探索分類｜小圖卡版 */

.ts2-category-grid-photo {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 14px;
}

.ts2-category-photo-card {
    display: block;
    background: #fbfaf6;
    border: 1px solid rgba(45,58,50,.10);
    text-decoration: none;
    overflow: hidden;
    transition: transform .2s ease;
}

.ts2-category-photo-card:hover {
    transform: translateY(-2px);
}

.ts2-category-photo {
    height: 105px;
    overflow: hidden;
}

.ts2-category-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ts2-category-photo-content {
    padding: 13px 14px 14px;
}

.ts2-category-photo-content strong {
    display: block;
    margin-bottom: 5px;
    font-size: 16px;
    color: #30342f;
}

.ts2-category-photo-content span {
    display: block;
    font-size: 12px;
    line-height: 1.5;
    color: #7d8079;
}

@media (max-width: 900px) {
    .ts2-category-grid-photo {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 600px) {
    .ts2-category-grid-photo {
        grid-template-columns: repeat(2, 1fr);
    }

    .ts2-category-photo {
        height: 110px;
    }
}
/* 首頁底部山景＋手寫字 */

.ts2-newsletter {
    position: relative;
    overflow: hidden;
}



.ts2-newsletter-3col {
    position: relative;
    z-index: 1;

    grid-template-columns: 1.1fr 1.15fr .65fr;
    gap: 34px;
}

.ts2-newsletter-brand {
    min-height: 145px;
}
@media (max-width: 600px) {

    .ts2-newsletter-3col {
        display: grid;
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .ts2-newsletter-brand {
        min-height: 150px;
        order: 1;
        position: relative;
    }



    .ts2-newsletter-subscribe {
        order: 2;
        padding-left: 0;
        padding-top: 22px;
        border-left: 0;
        border-top: 1px solid rgba(45,58,50,.15);
    }

    .ts2-newsletter-social {
        order: 3;
        padding-left: 0;
        padding-top: 18px;
        border-left: 0;
        border-top: 1px solid rgba(45,58,50,.15);
    }

    .ts2-social-links {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }
}.ts2-newsletter-brand {
    min-height: 150px;
    background-image: url("https://talkstoryone.com/wp/wp-content/uploads/2026/10/水墨山水與訂閱寄語.webp");
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: contain;
}
/* ========================================
   懂故事 Article Style V1.0
   01｜先說答案
======================================== */

.story-summary {
    background: #f7f5ed;
    border-left: 4px solid #78866b;
    border-radius: 0 12px 12px 0;
    padding: 20px 24px;
    margin: 28px 0 34px;
    box-sizing: border-box;
}

.story-summary-title {
    color: #657258;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 10px;
}

.story-summary-title::before {
    content: "✦";
    margin-right: 9px;
    color: #78866b;
}

.story-summary p {
    margin: 0;
    color: #3f433d;
    font-size: 17px;
    line-height: 1.85;
}

/* 手機版 */
@media (max-width: 767px) {
    .story-summary {
        padding: 17px 18px;
        margin: 22px 0 28px;
        border-left-width: 4px;
        border-radius: 0 10px 10px 0;
    }

    .story-summary-title {
        font-size: 18px;
        margin-bottom: 8px;
    }

    .story-summary p {
        font-size: 16px;
        line-height: 1.75;
    }
}
/* ========================================
   懂故事 Article Style V1.0
   02｜第一章首字放大 Drop Cap
======================================== */

.story-dropcap::first-letter {
    float: left;
    font-size: 3.5em;
    line-height: 0.82;
    font-weight: 700;
    color: #657258;
    margin: 0.08em 0.10em 0 0;
}

/* 手機版 */
@media (max-width: 767px) {
    .story-dropcap::first-letter {
        font-size: 3.2em;
        line-height: 0.84;
        margin-right: 0.09em;
    }
}

/* ========================================
   懂故事 Article Style V1.1
   03｜懂故事觀點
======================================== */

.story-insight {
    background: #faf2e4;
    border-left: 4px solid #c9a46c;
    border-radius: 0 12px 12px 0;
    padding: 22px 24px;
    margin: 38px 0 26px;
    box-sizing: border-box;
}

.story-insight-title {
    color: #805f36;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 10px;
}

.story-insight-title::before {
    content: "◆";
    color: #b78e55;
    font-size: 0.7em;
    margin-right: 10px;
    vertical-align: 2px;
}

.story-insight p {
    margin: 0;
    color: #45413b;
    font-size: 17px;
    line-height: 1.85;
}

@media (max-width: 767px) {
    .story-insight {
        padding: 18px;
        margin: 30px 0 22px;
        border-left-width: 4px;
        border-radius: 0 10px 10px 0;
    }

    .story-insight-title {
        font-size: 18px;
        margin-bottom: 8px;
    }

    .story-insight p {
        font-size: 16px;
        line-height: 1.75;
    }
}
/* ========================================
   懂故事 Article Style V1.2
   新文章 H2 自動編號
======================================== */

/* 新版文章的 H2 計數器 */
.talkstory-article-v1 {
    counter-reset: story-h2;
}

/* 所有 H2 */
.talkstory-article-v1 h2 {
    counter-increment: story-h2;
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;

    font-size: 28px;
    line-height: 1.4;
    font-weight: 700;

    margin: 42px 0 22px;
    padding-bottom: 10px;

    border-bottom: 1px solid rgba(101, 114, 88, 0.45);
}

/* H2 前面的綠色圓形編號 */
.talkstory-article-v1 h2::before {
    content: counter(story-h2);

    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;

    width: 42px;
    height: 42px;
    border-radius: 50%;

    background: #78866b;
    color: #ffffff;

    font-size: 21px;
    font-weight: 600;
    line-height: 1;
}

/* 第一個 H2 後第一段的首字 */
.talkstory-article-v1 .story-first-paragraph::first-letter {
    float: left;

    font-size: 3.5em;
    line-height: 0.82;
    font-weight: 700;

    color: #657258;

    margin: 0.08em 0.10em 0 0;
}

/* 手機版 */
@media (max-width: 767px) {

    .talkstory-article-v1 h2 {
        gap: 9px;

        font-size: 22px;
        line-height: 1.4;

        margin: 34px 0 18px;
        padding-bottom: 8px;
    }

    .talkstory-article-v1 h2::before {
        flex-basis: 34px;

        width: 34px;
        height: 34px;

        font-size: 17px;
    }

    .talkstory-article-v1 .story-first-paragraph::first-letter {
        font-size: 3.2em;
        line-height: 0.84;
        margin-right: 0.09em;
    }
}
/* ========================================
   懂故事 Article Style V1.3
   H3～H6 標題階層
======================================== */

/* ---------- H3｜文章小節 ---------- */

.talkstory-article-v1 h3:not(.story-summary-title):not(.story-insight-title) {
    position: relative;

    font-size: 23px;
    line-height: 1.45;
    font-weight: 700;
    color: #30352f;

    margin: 34px 0 16px;
    padding-left: 15px;
}

/* H3 左側短綠線 */
.talkstory-article-v1 h3:not(.story-summary-title):not(.story-insight-title)::before {
    content: "";

    position: absolute;
    left: 0;
    top: 0.18em;

    width: 4px;
    height: 1.15em;

    border-radius: 3px;
    background: #78866b;
}


/* ---------- H4｜更細的小題 ---------- */

.talkstory-article-v1 h4 {
    position: relative;

    font-size: 20px;
    line-height: 1.5;
    font-weight: 700;
    color: #444a40;

    margin: 28px 0 13px;
    padding-left: 20px;
}

/* H4 小菱形 */
.talkstory-article-v1 h4::before {
    content: "◆";

    position: absolute;
    left: 0;
    top: 0.1em;

    color: #87947b;
    font-size: 0.62em;
}


/* ---------- H5｜低階標題 ---------- */

.talkstory-article-v1 h5 {
    font-size: 18px;
    line-height: 1.55;
    font-weight: 700;
    color: #454945;

    margin: 24px 0 10px;
}


/* ---------- H6｜最低階標題 ---------- */

.talkstory-article-v1 h6 {
    font-size: 16px;
    line-height: 1.55;
    font-weight: 700;
    color: #626760;

    margin: 20px 0 8px;
}


/* ---------- 手機版 ---------- */

@media (max-width: 767px) {

    .talkstory-article-v1 h3:not(.story-summary-title):not(.story-insight-title) {
        font-size: 20px;
        margin: 28px 0 14px;
        padding-left: 13px;
    }

    .talkstory-article-v1 h3:not(.story-summary-title):not(.story-insight-title)::before {
        width: 3px;
    }

    .talkstory-article-v1 h4 {
        font-size: 18px;
        margin: 24px 0 12px;
        padding-left: 18px;
    }

    .talkstory-article-v1 h5 {
        font-size: 17px;
        margin: 21px 0 9px;
    }

    .talkstory-article-v1 h6 {
        font-size: 16px;
        margin: 18px 0 8px;
    }
}

/* ========================================
   懂故事觀點｜葉片圖示
======================================== */

/* 移除原本菱形 */
.story-insight-title::before {
    content: "🌿";
    color: #78866b;
    font-size: 0.95em;
    margin-right: 10px;
    vertical-align: 1px;
}

/* ========================================
   懂故事 Article V1.0｜CTA 訂閱區
   ======================================== */

.talkstory-article-cta {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 54% 46%;
    min-height: 270px;

    margin: 34px 0 42px;
    border: 1px solid #e4e7dd;
    border-radius: 18px;

    background:
        linear-gradient(
            90deg,
            #f5f6ee 0%,
            #f5f6ee 43%,
            rgba(245,246,238,.92) 51%,
            rgba(245,246,238,.15) 70%,
            rgba(245,246,238,0) 100%
        ),
        url("https://talkstoryone.com/wp/wp-content/uploads/2026/10/樹下少年與貓共賞湖光山色.jpg");

    background-size: auto, cover;
    background-position: center, center right;
    background-repeat: no-repeat;

    box-shadow: 0 8px 28px rgba(55, 65, 48, 0.06);
}

/* 左側文字 */
.talkstory-cta-content {
    position: relative;
    z-index: 2;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;

    padding: 38px 20px 38px 42px;
}

.talkstory-cta-title {
    margin: 0 0 12px;

    color: #31483d;
    font-size: 29px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: .02em;
}

.talkstory-cta-text {
    margin: 0 0 22px;

    color: #555b55;
    font-size: 17px;
    line-height: 1.8;
}

/* 訂閱按鈕 */
.talkstory-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    min-height: 46px;
    padding: 10px 22px;

    border-radius: 999px;

    background: #657858;
    color: #fff !important;

    font-size: 16px;
    font-weight: 700;
    line-height: 1;

    text-decoration: none !important;

    transition:
        transform .18s ease,
        background-color .18s ease,
        box-shadow .18s ease;
}

.talkstory-cta-button::before {
    content: "▶";
    font-size: 11px;
}

.talkstory-cta-button:hover {
    background: #53664a;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(70, 88, 61, .15);
}


/* ========================================
   CTA｜手機版
   ======================================== */

@media (max-width: 767px) {

    .talkstory-article-cta {
        display: block;
        min-height: 360px;

        margin: 28px 0 34px;
        border-radius: 14px;

        background:
            linear-gradient(
                180deg,
                #f5f6ee 0%,
                #f5f6ee 46%,
                rgba(245,246,238,.92) 56%,
                rgba(245,246,238,.18) 76%,
                rgba(245,246,238,0) 100%
            ),
            url("https://talkstoryone.com/wp/wp-content/uploads/2026/10/樹下少年與貓共賞湖光山色.jpg");

        background-size: auto, cover;
        background-position: center, center bottom;
    }

    .talkstory-cta-content {
        padding: 25px 22px 165px;
    }

    .talkstory-cta-title {
        font-size: 23px;
        margin-bottom: 8px;
    }

    .talkstory-cta-text {
        max-width: 290px;
        margin-bottom: 16px;

        font-size: 15px;
        line-height: 1.65;
    }

    .talkstory-cta-button {
        min-height: 42px;
        padding: 9px 18px;
        font-size: 15px;
    }
}
/* 懂故事觀點 → CTA 間距微調 */
.story-insight + .talkstory-article-cta {
    margin-top: 46px;
}

@media (max-width: 767px) {
    .story-insight + .talkstory-article-cta {
        margin-top: 36px;
    }
}
/* ========================================
   懂故事 Article V1.0｜FAQ 常見問題
======================================== */

.story-faq {
    margin: 48px 0 42px;
}

.story-faq-heading {
    position: relative;
    margin: 0 0 20px !important;
    padding-left: 17px;

    color: #39483d;
    font-size: 23px !important;
    line-height: 1.4;
    font-weight: 700;
}

/* 標題左側綠色小線 */
.story-faq-heading::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.18em;

    width: 4px;
    height: 1.1em;

    background: #78866b;
    border-radius: 4px;
}


/* 每一題 */
.story-faq-item {
    margin: 0 !important;
    padding: 0;

    border: 0;
    border-top: 1px solid #dfe2d8;

    background: transparent;
}

.story-faq-item:last-child {
    border-bottom: 1px solid #dfe2d8;
}


/* 問題 */
.story-faq-item summary {
    position: relative;

    display: block;
    cursor: pointer;

    padding: 18px 52px 18px 4px;

    color: #3e443e;
    font-size: 17px;
    line-height: 1.55;
    font-weight: 600;

    list-style: none;
}

/* 移除瀏覽器原本的小三角形 */
.story-faq-item summary::-webkit-details-marker {
    display: none;
}

.story-faq-item summary::marker {
    display: none;
    content: "";
}


/* 右邊 ＋ */
.story-faq-item summary::after {
    content: "+";

    position: absolute;
    right: 8px;
    top: 50%;

    transform: translateY(-50%);

    color: #78866b;
    font-size: 27px;
    line-height: 1;
    font-weight: 300;

    transition: transform .2s ease;
}


/* 展開後變成 − */
.story-faq-item[open] summary::after {
    content: "−";
}


/* 答案 */
.story-faq-item > p {
    margin: 0 !important;
    padding: 0 48px 20px 4px;

    color: #62665f;
    font-size: 16px;
    line-height: 1.8;
}


/* 滑鼠經過 */
.story-faq-item summary:hover {
    color: #657258;
}


/* ========================================
   FAQ｜手機版
======================================== */

@media (max-width: 767px) {

    .story-faq {
        margin: 38px 0 34px;
    }

    .story-faq-heading {
        margin-bottom: 15px !important;
        font-size: 20px !important;
        padding-left: 14px;
    }

    .story-faq-heading::before {
        width: 3px;
    }

    .story-faq-item summary {
        padding: 16px 42px 16px 2px;

        font-size: 16px;
        line-height: 1.5;
    }

    .story-faq-item summary::after {
        right: 5px;
        font-size: 24px;
    }

    .story-faq-item > p {
        padding: 0 36px 18px 2px;

        font-size: 15px;
        line-height: 1.75;
    }
}
/* ========================================
   懂故事 Article V1.0
   資料來源與延伸閱讀
======================================== */

.story-sources {
    margin: 48px 0 44px;
    padding-top: 26px;
    border-top: 1px solid #dedfd8;
}

/* 標題 */
.story-sources-heading {
    position: relative;

    margin: 0 0 18px !important;
    padding-left: 17px;

    color: #4b574c;
    font-size: 20px !important;
    line-height: 1.45;
    font-weight: 700;
}

.story-sources-heading::before {
    content: "";

    position: absolute;
    left: 0;
    top: 0.18em;

    width: 4px;
    height: 1.1em;

    background: #78866b;
    border-radius: 4px;
}


/* 來源清單 */
.story-sources-list {
    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

.story-sources-list li {
    position: relative;

    margin: 0 !important;
    padding: 11px 8px 11px 22px;

    border-bottom: 1px solid #ecece7;

    color: #696d67;
    font-size: 15px;
    line-height: 1.7;
}


/* 小圓點 */
.story-sources-list li::before {
    content: "";

    position: absolute;
    left: 4px;
    top: 1.25em;

    width: 5px;
    height: 5px;

    border-radius: 50%;
    background: #98a28e;
}


/* 連結 */
.story-sources-list a {
    color: #657258;
    text-decoration: none;

    border-bottom: 1px solid rgba(101, 114, 88, 0.28);

    transition: all .2s ease;
}

.story-sources-list a:hover {
    color: #46523f;
    border-bottom-color: #657258;
}


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

@media (max-width: 767px) {

    .story-sources {
        margin: 38px 0 34px;
        padding-top: 22px;
    }

    .story-sources-heading {
        margin-bottom: 14px !important;
        padding-left: 14px;

        font-size: 18px !important;
    }

    .story-sources-heading::before {
        width: 3px;
    }

    .story-sources-list li {
        padding: 10px 4px 10px 19px;

        font-size: 14px;
        line-height: 1.65;
    }

    .story-sources-list li::before {
        left: 3px;
    }
}
/* ========================================
   懂故事 Article V1.0｜重點金句
======================================== */

.story-highlight-quote {
    position: relative;
    overflow: hidden;

    margin: 38px 0;
    padding: 30px 38px 30px 66px;

    background: #f8f4e9;
    border-radius: 12px;
    border: 1px solid #eee7d8;

    box-sizing: border-box;
}

/* 左上大型引號 */
.story-highlight-quote::before {
    content: "“";

    position: absolute;
    left: 20px;
    top: 7px;

    color: #b8a47e;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 68px;
    line-height: 1;
    font-weight: 700;

    opacity: 0.65;
}

/* 金句文字 */
.story-highlight-quote .story-highlight-quote-text {
    position: relative;
    z-index: 1;

    margin: 0 !important;

    color: #4a4c45;
    font-size: 21px !important;
    line-height: 1.8;
    font-weight: 600;
    letter-spacing: 0.02em;
}


/* 手機版 */
@media (max-width: 767px) {

    .story-highlight-quote {
        margin: 30px 0;
        padding: 26px 22px 24px 48px;

        border-radius: 10px;
    }

    .story-highlight-quote::before {
        left: 13px;
        top: 7px;

        font-size: 54px;
    }

    .story-highlight-quote .story-highlight-quote-text {
        font-size: 18px !important;
        line-height: 1.7;
    }
}

/* ==================================================
   懂故事｜文章資訊框共用樣式
   內容簡介 / 先說答案 / 名詞解釋
================================================== */

.ts-summary-box,
.story-summary,
.ts-concept-box {
    position: relative;
    overflow: hidden;

    border-radius: 14px;

    padding: 26px 30px;
    margin: 28px 0;

    color: #111111;

    background-repeat: no-repeat;
    background-position: center right;
    background-size: cover;

    min-height: 180px;

    box-sizing: border-box;
}


/* 讓內容永遠在背景圖上方 */
.ts-summary-box > *,
.story-summary > *,
.ts-concept-box > * {
    position: relative;
    z-index: 2;
}


/* 共用標題 */
.ts-box-title,
.story-summary-title {
    margin-top: 0 !important;
    margin-bottom: 14px !important;

    font-size: 1.25rem;
    line-height: 1.4;

    font-weight: 700;
    color: #111111;
}


/* 英文小標 */
.ts-box-en {
    display: inline-block;

    margin-left: 8px;

    font-size: 0.78rem;
    font-weight: 500;

    letter-spacing: 0.12em;

    opacity: 0.62;
}


/* 內文 */
.ts-summary-box p,
.story-summary p,
.ts-concept-box p {
    color: #111111;

    line-height: 1.85;

    max-width: 72%;

    margin-bottom: 10px;
}


/* 最後一段不要多留空間 */
.ts-summary-box p:last-child,
.story-summary p:last-child,
.ts-concept-box p:last-child {
    margin-bottom: 0;
}


/* ==================================================
   內容簡介｜柔光綠葉
================================================== */

.ts-summary-box {
    background-image:
        linear-gradient(
            90deg,
            rgba(247, 249, 239, 0.96) 0%,
            rgba(247, 249, 239, 0.91) 38%,
            rgba(247, 249, 239, 0.74) 60%,
            rgba(247, 249, 239, 0.20) 100%
        ),
        url("https://talkstoryone.com/wp/wp-content/uploads/2026/10/柔光綠葉自然背景橫幅.jpg");

    background-color: #f4f6ec;
}


/* SUMMARY 英文字色 */
.ts-summary-box .ts-box-en {
    color: #788562;
}


/* ==================================================
   先說答案｜晨曦海灣
   注意：你原本的 Pattern class 是 story-summary
================================================== */

.story-summary {
    background-image:
        linear-gradient(
            90deg,
            rgba(255, 246, 235, 0.97) 0%,
            rgba(255, 246, 235, 0.91) 38%,
            rgba(255, 246, 235, 0.74) 60%,
            rgba(255, 246, 235, 0.20) 100%
        ),
        url("https://talkstoryone.com/wp/wp-content/uploads/2026/10/晨曦海灣與繁花岩岸.jpg");

    background-color: #fff2e5;
}


/* ==================================================
   名詞解釋｜DNA
================================================== */

.ts-concept-box {
    background-image:
        linear-gradient(
            90deg,
            rgba(232, 244, 255, 0.97) 0%,
            rgba(232, 244, 255, 0.92) 38%,
            rgba(232, 244, 255, 0.74) 60%,
            rgba(232, 244, 255, 0.20) 100%
        ),
        url("https://talkstoryone.com/wp/wp-content/uploads/2026/10/藍白科技感-DNA-分子背景.jpg");

    background-color: #e6f3ff;
}


/* KEY CONCEPT 英文字色 */
.ts-concept-box .ts-box-en {
    color: #5d8eaf;
}


/* 名詞名稱，例如：分子時鐘是什麼？ */
.ts-concept-name {
    font-size: 1.08rem;
    font-weight: 700;

    margin-top: 4px !important;
    margin-bottom: 10px !important;
}


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

@media (max-width: 768px) {

    .ts-summary-box,
    .story-summary,
    .ts-concept-box {
        padding: 22px 20px;

        margin: 24px 0;

        border-radius: 10px;

        min-height: 160px;

        background-position: center right;
        background-size: cover;
    }


    .ts-box-title,
    .story-summary-title {
        font-size: 1.12rem;
    }


    .ts-summary-box p,
    .story-summary p,
    .ts-concept-box p {
        max-width: 78%;

        line-height: 1.75;
    }


    .ts-box-en {
        font-size: 0.70rem;
    }

}


/* ==================================================
   小手機
================================================== */

@media (max-width: 480px) {

    .ts-summary-box,
    .story-summary,
    .ts-concept-box {
        padding: 20px 18px;

        min-height: 150px;
    }


    .ts-summary-box p,
    .story-summary p,
    .ts-concept-box p {
        max-width: 82%;
    }


    .ts-box-en {
        display: block;

        margin-left: 0;
        margin-top: 4px;
    }

}
/* ========================================
   懂故事 Article Header V1.4
   麵包屑 + 副標題 + 日期 / 分類 / 閱讀時間
======================================== */

/* GeneratePress 原生標題下方 meta 隱藏，改用懂故事自訂資訊列 */
.single-post .entry-header > .entry-meta {
    display: none;
}

/* 麵包屑 */
.single-post .talkstory-breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;

    margin: 0 0 18px;

    color: #8b8e86;
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 0.01em;
}

.single-post .talkstory-breadcrumbs a {
    color: #70756d;
    text-decoration: none;
    transition: color .2s ease;
}

.single-post .talkstory-breadcrumbs a:hover {
    color: #566450;
}

.single-post .talkstory-breadcrumb-separator {
    color: #b5b8b1;
    font-size: 15px;
    line-height: 1;
}

.single-post .talkstory-breadcrumb-current {
    color: #979a94;
}

/* 主標題與麵包屑之間保留乾淨留白 */
.single-post .entry-header .entry-title {
    margin-bottom: 0;
}

/* 副標題 */
.single-post .talkstory-article-subtitle {
    max-width: 860px;
    margin: 14px 0 15px;

    color: #666b64;
    font-size: 18px;
    line-height: 1.75;
    font-weight: 400;
    letter-spacing: 0.01em;
}

/* 日期 / 分類 / 閱讀時間 */
.single-post .talkstory-article-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;

    margin: 0 0 28px;
    padding: 0 0 17px;
    border-bottom: 1px solid #ecebe5;

    color: #878b84;
    font-size: 13px;
    line-height: 1.6;
}

.single-post .talkstory-article-meta a {
    color: #6f7869;
    text-decoration: none;
    font-weight: 600;
}

.single-post .talkstory-article-meta a:hover {
    color: #52604c;
}

.single-post .talkstory-meta-separator {
    color: #c2c4bf;
}

/* 平板 */
@media (min-width: 768px) and (max-width: 1023px) {
    .single-post .talkstory-breadcrumbs {
        margin-bottom: 16px;
        font-size: 12.5px;
    }

    .single-post .talkstory-article-subtitle {
        margin-top: 12px;
        font-size: 17px;
    }

    .single-post .talkstory-article-meta {
        margin-bottom: 24px;
    }
}

/* 手機優先 */
@media (max-width: 767px) {
    .single-post .talkstory-breadcrumbs {
        gap: 5px;
        margin-bottom: 13px;
        font-size: 12px;
        line-height: 1.55;
    }

    .single-post .talkstory-breadcrumb-current {
        display: inline;
        max-width: 100%;
    }

    .single-post .talkstory-article-subtitle {
        margin: 10px 0 12px;
        font-size: 16px;
        line-height: 1.7;
    }

    .single-post .talkstory-article-meta {
        gap: 6px;
        margin-bottom: 22px;
        padding-bottom: 14px;
        font-size: 12.5px;
        line-height: 1.55;
    }
}

/* ========================================
   懂故事 Article Color System V1.5
   文章頁品牌配色 + 圖說
======================================== */

.single-post {
    --ts-bg: #FAF9F5;
    --ts-card: #F5F0E6;
    --ts-green: #748269;
    --ts-green-dark: #536052;
    --ts-text: #343732;
    --ts-title: #252824;
    --ts-muted: #777A72;
    --ts-line: #E4E1D8;
    --ts-accent-warm: #D4A34F;
}

/* 文章底色與文字 */
.single-post,
.single-post .site-content,
.single-post .inside-article {
    background: var(--ts-bg);
}

.single-post .entry-title {
    color: var(--ts-title);
}

.single-post .entry-content {
    color: var(--ts-text);
}

/* 麵包屑 */
.single-post .talkstory-breadcrumbs,
.single-post .talkstory-breadcrumbs a {
    color: var(--ts-muted);
}
.single-post .talkstory-breadcrumbs a:hover {
    color: var(--ts-green-dark);
}
.single-post .talkstory-breadcrumb-separator {
    color: #B9BBB5;
}
.single-post .talkstory-breadcrumb-current {
    color: #969990;
}

/* 副標題 + Meta */
.single-post .talkstory-article-subtitle {
    color: #62675F;
}
.single-post .talkstory-article-meta {
    color: var(--ts-muted);
    border-bottom-color: var(--ts-line);
}
.single-post .talkstory-article-meta a {
    color: var(--ts-green-dark);
}
.single-post .talkstory-meta-separator {
    color: #B9BBB5;
}

/* 文章階層 */
.single-post .talkstory-article-v1 h2 {
    color: #2F332E;
    border-bottom-color: rgba(116,130,105,.38);
}
.single-post .talkstory-article-v1 h2::before,
.single-post .talkstory-article-v1 h3:not(.story-summary-title):not(.story-insight-title)::before {
    background: var(--ts-green);
}

/* 卡片 */
.single-post .story-summary {
    background: var(--ts-card);
    border-left-color: var(--ts-green);
}
.single-post .story-summary-title {
    color: var(--ts-green-dark);
}
.single-post .story-insight {
    background: #F4F2E8;
    border-left-color: var(--ts-green);
}
.single-post .story-insight-title {
    color: var(--ts-green-dark);
}
.single-post .ts-summary-box,
.single-post .ts-concept-box {
    border-color: var(--ts-line);
}

/* 目錄 */
.single-post #ez-toc-container {
    background: var(--ts-card);
    border-color: var(--ts-line);
}
.single-post #ez-toc-container .ez-toc-title {
    color: var(--ts-title);
}
.single-post #ez-toc-container a {
    color: var(--ts-green-dark);
}

/* 文章連結 */
.single-post .entry-content a {
    color: var(--ts-green-dark);
}
.single-post hr,
.single-post .talkstory-share,
.single-post .yarpp-related {
    border-color: var(--ts-line);
}

/* 分享按鈕 */
.single-post .talkstory-share-title {
    color: var(--ts-muted);
}
.single-post .talkstory-share a,
.single-post .talkstory-copy-link {
    border-color: #D7D8D1;
    color: var(--ts-green-dark);
}
.single-post .talkstory-share a:hover,
.single-post .talkstory-copy-link:hover {
    background: var(--ts-card);
    border-color: #C5CABF;
    color: var(--ts-title);
}

/* 快訊浮動鈕 */
#talkstory-flash-btn {
    background: #35443A;
    color: #FFFFFF;
    box-shadow: 0 5px 18px rgba(53,68,58,.18);
}
#talkstory-flash-btn .flash-icon {
    color: var(--ts-accent-warm, #D4A34F);
}
#talkstory-flash-btn:hover {
    box-shadow: 0 7px 22px rgba(53,68,58,.24);
}

/* 手機版略縮快訊按鈕 */
@media (max-width: 767px) {
    #talkstory-flash-btn {
        width: 44px;
        padding: 9px 4px;
        border-radius: 12px 0 0 12px;
    }
    #talkstory-flash-btn .flash-icon {
        font-size: 18px;
    }
    #talkstory-flash-btn .flash-text {
        font-size: 12px;
        letter-spacing: .06em;
    }
}

/* ========================================
   懂故事｜統一圖說
======================================== */

/* WordPress 原生 figcaption + 懂故事自訂圖說共用同一套樣式 */
.single-post .entry-content .wp-block-image figcaption,
.single-post .entry-content .wp-element-caption,
.single-post .entry-content .ts-image-caption {
    margin: 9px 0 28px;
    padding-left: 11px;
    border-left: 2px solid #B9C2B2;
    color: var(--ts-muted);
    font-size: 13.5px;
    line-height: 1.65;
    text-align: left;
    letter-spacing: .01em;
}

.single-post .entry-content .ts-image-caption-label {
    margin-right: 7px;
    color: var(--ts-green-dark);
    font-weight: 700;
}

.single-post .entry-content .ts-image-caption-source {
    color: #92958E;
}

@media (max-width: 767px) {
    .single-post .entry-content .wp-block-image figcaption,
    .single-post .entry-content .wp-element-caption,
    .single-post .entry-content .ts-image-caption {
        margin-top: 7px;
        margin-bottom: 24px;
        padding-left: 9px;
        font-size: 13px;
        line-height: 1.6;
    }
}

/* ========================================
   懂故事｜Desktop 外圍背景統一
======================================== */

html,
body {
    background-color: #FAF9F5;
}

/* GeneratePress 最外層 */
body .site {
    background-color: #FAF9F5;
}

/* ========================================
   懂故事首頁｜Hero 響應式最終版
   800×600 / 4:3 圖片完整顯示
   Desktop / iPad / Mobile
======================================== */

/* 共用：Hero 圖永遠完整顯示，不裁切 */
.talkstory-home-v2 .ts2-hero-image {
    width: 100% !important;
    max-width: 100%;
    aspect-ratio: auto !important;
    overflow: hidden;
    border-radius: 8px;
}

.talkstory-home-v2 .ts2-hero-image img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    display: block;
}

/* =========================
   iPad / Tablet
   768px ～ 1100px
========================= */
@media (min-width: 768px) and (max-width: 1100px) {

    .talkstory-home-v2 .ts2-container {
        width: calc(100% - 48px);
        max-width: 1040px;
        margin-left: auto;
        margin-right: auto;
    }

    .talkstory-home-v2 .ts2-hero {
        padding: 44px 0 52px;
    }

    .talkstory-home-v2 .ts2-hero-grid {
        display: grid !important;
        grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) !important;
        gap: 30px !important;
        align-items: center;
    }

    .talkstory-home-v2 .ts2-hero-copy {
        min-width: 0;
    }

    .talkstory-home-v2 .ts2-hero-title {
        font-size: clamp(32px, 4vw, 40px);
        line-height: 1.28;
        margin-bottom: 16px;
    }

    .talkstory-home-v2 .ts2-hero-excerpt {
        font-size: 15px;
        line-height: 1.75;
        margin-bottom: 16px;
    }

    .talkstory-home-v2 .ts2-meta {
        margin-bottom: 20px;
        font-size: 12px;
    }

    .talkstory-home-v2 .ts2-category-grid-photo {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 18px;
    }
}

/* =========================
   Mobile
   767px 以下
========================= */
@media (max-width: 767px) {

    .talkstory-home-v2 .ts2-container {
        width: calc(100% - 36px);
        margin-left: auto;
        margin-right: auto;
    }

    .talkstory-home-v2 .ts2-hero {
        padding: 30px 0 36px;
    }

    .talkstory-home-v2 .ts2-hero-grid {
        display: flex !important;
        flex-direction: column;
        gap: 24px;
    }

    /* 手機：圖片在上，文字在下 */
    .talkstory-home-v2 .ts2-hero-image {
        order: 1;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        border-radius: 7px;
    }

    .talkstory-home-v2 .ts2-hero-copy {
        order: 2;
    }

    .talkstory-home-v2 .ts2-hero-title {
        font-size: 32px;
        line-height: 1.3;
        margin-bottom: 15px;
    }

    .talkstory-home-v2 .ts2-hero-excerpt {
        font-size: 16px;
        line-height: 1.8;
        margin-bottom: 15px;
    }

    .talkstory-home-v2 .ts2-meta {
        margin-bottom: 20px;
        font-size: 12px;
    }

    .talkstory-home-v2 .ts2-explore,
    .talkstory-home-v2 .ts2-explore-simple {
        padding-top: 30px;
    }
}
/* ========================================
   懂故事首頁｜iPad Hero 圖滿版
======================================== */

@media (min-width: 768px) and (max-width: 1100px) {

    .talkstory-home-v2 .ts2-hero-image {
        width: 100vw !important;
        max-width: none !important;

        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;

        border-radius: 0 !important;
    }

    .talkstory-home-v2 .ts2-hero-image img {
        width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
        display: block;
    }
}
/* ========================================
   懂故事首頁｜背景色統一
======================================== */

.talkstory-home-v2 {
    --ts-bg: #FAF9F5;
    background-color: #FAF9F5;
}

.talkstory-home-v2 .ts2-hero {
    background-color: #FAF9F5;
}

/* 探索分類也維持同一底色 */
.talkstory-home-v2 .ts2-explore,
.talkstory-home-v2 .ts2-explore-simple {
    background-color: #FAF9F5;
}
/* ========================================
   懂故事首頁｜iPad Hero 文字左對齊
======================================== */

@media (min-width: 700px) and (max-width: 1100px) {

    .talkstory-home-v2 .ts2-hero-copy {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        align-self: stretch;
    }

    .talkstory-home-v2 .ts2-hero-title,
    .talkstory-home-v2 .ts2-hero-excerpt,
    .talkstory-home-v2 .ts2-meta {
        max-width: none !important;
    }
}



/* =========================================================
   懂故事｜關於作者 Page ID 3787
   2026-10-05 整理版
========================================================= */


/* =========================================================
   A. GeneratePress 頁面清理
========================================================= */

body.page-id-3787 #secondary,
body.page-id-3787 .sidebar,
body.page-id-3787 .widget-area,
body.page-id-3787 aside,
body.page-id-3787 .entry-header,
body.page-id-3787 .page-header,
body.page-id-3787 .rank-math-breadcrumb,
body.page-id-3787 #ez-toc-container,
body.page-id-3787 .ez-toc-container,
body.page-id-3787 .ez-toc-section,
body.page-id-3787 .ez-toc-section-end{
    display:none !important;
}

body.page-id-3787 #primary,
body.page-id-3787 .content-area,
body.page-id-3787 .site-main,
body.page-id-3787 article,
body.page-id-3787 .inside-article,
body.page-id-3787 .entry-content{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
}

body.page-id-3787 #page,
body.page-id-3787 #content,
body.page-id-3787 .site-content,
body.page-id-3787 .grid-container{
    width:100% !important;
    max-width:none !important;
    padding-left:0 !important;
    padding-right:0 !important;
}


/* =========================================================
   B. 基本
========================================================= */

.ts-about{
    --ts-navy:#17364f;
    --ts-text:#455d6d;
    --ts-blue:#689bc0;
    --ts-blue-light:#e8f1f6;
    --ts-gold:#b38a4c;
    --ts-cream:#f5f1e8;
    --ts-paper:#fffdfa;
    --ts-soft:#faf8f3;
    --ts-line:#e4e0d7;

    width:100%;
    margin:0;
    padding:0;

    color:var(--ts-navy);
    background:var(--ts-paper);

    font-family:
      "Noto Sans TC",
      "PingFang TC",
      "Microsoft JhengHei",
      sans-serif;
}

.ts-about *,
.ts-about *::before,
.ts-about *::after{
    box-sizing:border-box;
}

.ts-inner{
    width:min(1080px, calc(100% - 64px));
    margin:0 auto;
}


/* =========================================================
   C. Hero
========================================================= */

.ts-hero{
    position:relative;

    width:100%;
    min-height:560px;

    display:flex;
    align-items:center;

    overflow:hidden;
    background:#edf1f2;
}

.ts-hero-photo{
    position:absolute;
    inset:0;
    z-index:0;
}

.ts-hero-photo img{
    display:block;

    width:100%;
    height:100%;

    object-fit:cover;
    object-position:center center;
}

.ts-hero-overlay{
    position:absolute;
    inset:0;
    z-index:1;

    background:
      linear-gradient(
        90deg,
        rgba(249,247,241,.98) 0%,
        rgba(249,247,241,.95) 23%,
        rgba(249,247,241,.76) 40%,
        rgba(249,247,241,.27) 60%,
        rgba(249,247,241,.03) 80%
      );
}

.ts-hero-content{
    position:relative;
    z-index:2;

    width:min(1080px, calc(100% - 64px));
    margin:0 auto;
}

.ts-hero-copy{
    position:relative;

    width:550px;
    padding-left:30px;
}

.ts-hero-copy::before{
    content:"";

    position:absolute;
    left:0;
    top:2px;

    width:2px;
    height:150px;

    background:var(--ts-gold);
}

.ts-eyebrow{
    margin:0 0 15px;

    font-family:Georgia, serif;
    font-size:12px;
    letter-spacing:.28em;

    color:#496477;
}

.ts-hero .ts-title{
    margin:0 !important;

    font-family:
      "Noto Serif TC",
      "Songti TC",
      serif;

    font-size:68px !important;
    line-height:1.08 !important;
    letter-spacing:.07em;

    color:var(--ts-navy);
}

.ts-hero-sub{
    margin-top:18px;

    font-family:
      "Noto Serif TC",
      "Songti TC",
      serif;

    font-size:23px;
    line-height:1.75;
    letter-spacing:.06em;

    color:#29475d;
}

.ts-sign{
    margin-top:26px;

    font-family:
      "Brush Script MT",
      "Segoe Script",
      cursive;

    font-size:31px;
    font-style:italic;

    color:#245274;
}


/* =========================================================
   D. 通用段落
========================================================= */

.ts-section{
    width:100%;
    padding:74px 0;

    background:var(--ts-paper);
}

.ts-section.ts-story{
    background:var(--ts-soft);
}

.ts-section + .ts-section{
    border-top:1px solid var(--ts-line);
}

.ts-kicker{
    display:flex;
    align-items:center;
    gap:12px;

    margin:0 0 14px;

    font-family:Georgia, serif;
    font-size:14px;
    letter-spacing:.08em;

    color:#748590;
}

.ts-kicker::after{
    content:"";

    display:block;
    width:34px;
    height:2px;

    background:var(--ts-gold);
}

.ts-title{
    margin:0 0 23px;

    font-family:
      "Noto Serif TC",
      "Songti TC",
      serif;

    font-size:36px;
    font-weight:700;
    line-height:1.38;
    letter-spacing:.035em;

    color:var(--ts-navy);
}

.ts-text{
    max-width:100%;

    font-size:16px;
    line-height:2.05;

    color:var(--ts-text);
}

.ts-text strong{
    font-weight:700;
    color:var(--ts-navy);
}


/* =========================================================
   E. 左文右引言
========================================================= */

.ts-intro-grid{
    display:grid;
    grid-template-columns:minmax(0, 1.2fr) minmax(300px, .8fr);
    gap:72px;

    align-items:start;
}

.ts-quote{
    position:relative;

    margin-top:14px;
    padding:42px 38px 34px 72px;

    background:var(--ts-cream);
}

.ts-quote::before{
    content:"“";

    position:absolute;
    left:20px;
    top:8px;

    font-family:Georgia, serif;
    font-size:76px;
    line-height:1;

    color:var(--ts-gold);
}

.ts-quote p{
    margin:0;

    font-family:
      "Noto Serif TC",
      "Songti TC",
      serif;

    font-size:16px;
    line-height:2;

    color:#435967;
}

.ts-quote strong{
    color:var(--ts-navy);
}

.ts-quote .ts-sign{
    margin-top:16px;
    text-align:right;
    font-size:24px;
}


/* =========================================================
   F. 左正文右時間軸
========================================================= */

.ts-story-grid{
    display:grid;
    grid-template-columns:minmax(0, 1.08fr) minmax(320px, .92fr);
    gap:80px;

    align-items:start;
}

.ts-timeline{
    position:relative;

    margin-top:12px;
    padding-left:37px;
}

.ts-timeline::before{
    content:"";

    position:absolute;
    left:7px;
    top:8px;
    bottom:8px;

    width:1px;

    background:#9abbd2;
}

.ts-time{
    position:relative;

    display:grid;
    grid-template-columns:75px minmax(0,1fr);
    gap:17px;

    padding-bottom:30px;
}

.ts-time:last-child{
    padding-bottom:0;
}

.ts-time::before{
    content:"";

    position:absolute;
    left:-34px;
    top:6px;

    width:10px;
    height:10px;

    border-radius:50%;

    background:#699fc5;
    box-shadow:0 0 0 5px var(--ts-soft);
}

.ts-year{
    font-size:14px;
    font-weight:700;
    line-height:1.7;

    color:#294e69;
}

.ts-event{
    font-size:14px;
    line-height:1.85;

    color:#607584;
}


/* =========================================================
   G. 六大主題
========================================================= */

.ts-topics{
    width:100%;

    padding:74px 0 84px;

    background:#fffdfa;
    border-top:1px solid var(--ts-line);
}

.ts-topic-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:15px;

    margin-top:32px;
}

.ts-card{
    min-width:0;
    min-height:112px;

    display:flex;
    align-items:center;
    gap:18px;

    padding:22px;

    border:1px solid #ebe7df;
    background:#faf8f4;
}

.ts-icon{
    width:54px;
    height:54px;
    min-width:54px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:var(--ts-blue-light);
}

.ts-icon svg{
    width:26px;
    height:26px;

    fill:none;
    stroke:#548ab2;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.ts-card-title{
    margin:0 0 5px;

    font-family:
      "Noto Serif TC",
      "Songti TC",
      serif;

    font-size:17px;
    line-height:1.4;
    font-weight:700;

    color:var(--ts-navy);
}

.ts-card-sub{
    font-size:12px;
    line-height:1.6;

    color:#788b98;
}


/* =========================================================
   H. 創作理念
========================================================= */

.ts-philosophy{
    width:100%;

    padding:76px 0;

    background:#f3efe6;
    border-top:1px solid #e5dfd3;
}

.ts-philosophy-inner{
    max-width:800px;
    margin:10px auto 0;

    text-align:center;
}

.ts-philosophy-inner > .ts-title{
    margin-bottom:28px;
}

.ts-bigquote{
    font-family:
      "Noto Serif TC",
      "Songti TC",
      serif;

    font-size:20px;
    line-height:2.1;

    color:#3e5667;
}

.ts-bigquote::before{
    content:"“";

    display:block;

    height:55px;
    margin-bottom:10px;

    font-family:Georgia, serif;
    font-size:82px;
    line-height:.8;

    color:var(--ts-gold);
}

.ts-bigquote strong{
    font-size:23px;
    color:var(--ts-navy);
}

.ts-philosophy .ts-sign{
    margin-top:22px;
}


/* =========================================================
   I. CTA
========================================================= */

.ts-cta{
    width:100%;

    padding:68px 20px;

    text-align:center;

    background:
      linear-gradient(
        180deg,
        #edf5f8 0%,
        #dcebf3 100%
      );
}

.ts-cta-small{
    margin-bottom:10px;

    font-family:Georgia, serif;
    font-size:11px;
    letter-spacing:.25em;

    color:#738997;
}

.ts-cta .ts-title{
    margin:0 0 8px !important;

    font-size:29px;
}

.ts-cta p{
    margin:0 0 25px;

    font-size:14px;

    color:#60798a;
}

.ts-btn{
    display:inline-block;

    min-width:210px;
    padding:14px 34px;

    border-radius:999px;

    background:#6298be;

    color:#fff !important;
    text-decoration:none !important;

    font-size:14px;
    letter-spacing:.08em;

    transition:
      transform .2s ease,
      background .2s ease;
}

.ts-btn:hover{
    transform:translateY(-2px);
    background:#4e83a8;
}


/* =========================================================
   J. iPad
========================================================= */

@media (max-width:1024px){

    .ts-inner,
    .ts-hero-content{
        width:calc(100% - 48px);
    }

    .ts-hero{
        min-height:500px;
    }

    .ts-hero-copy{
        width:480px;
    }

    .ts-hero .ts-title{
        font-size:55px !important;
    }

    .ts-hero-sub{
        font-size:20px;
    }

    .ts-intro-grid{
        gap:42px;
        grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);
    }

    .ts-story-grid{
        gap:48px;
        grid-template-columns:minmax(0,1fr) minmax(290px,.9fr);
    }

    .ts-topic-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

}


/* =========================================================
   K. 手機
========================================================= */

@media (max-width:767px){

    .ts-inner,
    .ts-hero-content{
        width:calc(100% - 36px);
    }


    /* HERO */

    .ts-hero{
        min-height:470px;
        align-items:flex-end;
    }

    .ts-hero-photo img{
        object-position:57% center;
    }

    .ts-hero-overlay{
        background:
          linear-gradient(
            180deg,
            rgba(249,247,241,.03) 0%,
            rgba(249,247,241,.06) 34%,
            rgba(249,247,241,.68) 61%,
            rgba(249,247,241,.98) 100%
          );
    }

    .ts-hero-content{
        padding-bottom:30px;
    }

    .ts-hero-copy{
        width:100%;
        padding-left:0;
    }

    .ts-hero-copy::before{
        display:none;
    }

    .ts-eyebrow{
        margin-bottom:8px;
        font-size:9px;
    }

    .ts-hero .ts-title{
        font-size:42px !important;
        line-height:1.15 !important;
    }

    .ts-hero-sub{
        margin-top:9px;

        font-size:17px;
        line-height:1.65;
    }

    .ts-sign{
        margin-top:14px;
        font-size:25px;
    }


    /* SECTION */

    .ts-section{
        padding:50px 0;
    }

    .ts-kicker{
        margin-bottom:10px;
    }

    .ts-title{
        margin-bottom:17px;

        font-size:27px;
        line-height:1.45;
    }

    .ts-text{
        font-size:15px;
        line-height:1.95;
    }


    /* 雙欄全部改單欄 */

    .ts-intro-grid,
    .ts-story-grid{
        display:grid;
        grid-template-columns:1fr;
        gap:32px;
    }


    /* quote */

    .ts-quote{
        margin-top:0;

        padding:34px 22px 28px 54px;
    }

    .ts-quote::before{
        left:14px;
        top:7px;

        font-size:61px;
    }

    .ts-quote p{
        font-size:15px;
    }


    /* timeline */

    .ts-timeline{
        margin-top:0;
        padding-left:31px;
    }

    .ts-time{
        grid-template-columns:60px minmax(0,1fr);
        gap:12px;

        padding-bottom:23px;
    }

    .ts-time::before{
        left:-28px;
    }


    /* cards */

    .ts-topics{
        padding:50px 0 58px;
    }

    .ts-topic-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;

        margin-top:24px;
    }

    .ts-card{
        min-height:150px;

        display:flex;
        flex-direction:column;
        justify-content:center;
        gap:10px;

        padding:16px 8px;

        text-align:center;
    }

    .ts-icon{
        width:48px;
        height:48px;
        min-width:48px;
    }

    .ts-icon svg{
        width:23px;
        height:23px;
    }

    .ts-card-title{
        font-size:15px;
    }

    .ts-card-sub{
        font-size:11px;
    }


    /* philosophy */

    .ts-philosophy{
        padding:52px 0;
    }

    .ts-philosophy-inner{
        margin-top:4px;
    }

    .ts-bigquote{
        font-size:16px;
        line-height:2;
    }

    .ts-bigquote strong{
        font-size:19px;
    }


    /* CTA */

    .ts-cta{
        padding:52px 20px;
    }

    .ts-cta .ts-title{
        font-size:25px;
    }

}


/* =========================================================
   L. 超小手機
========================================================= */

@media (max-width:390px){

    .ts-inner,
    .ts-hero-content{
        width:calc(100% - 30px);
    }

    .ts-hero .ts-title{
        font-size:38px !important;
    }

    .ts-topic-grid{
        grid-template-columns:1fr 1fr;
    }

}
/* ==================================================
   作者頁視覺微調 2026-10-05
================================================== */

/* 01-06 整體縮短，不要每區都像一張投影片 */
body.page-id-3787 .ts-section{
    padding:56px 0 !important;
}

/* 文字稍微加深、加大 */
body.page-id-3787 .ts-text{
    font-size:17px !important;
    line-height:1.9 !important;
    color:#344d5e !important;
}

/* 段落標題更有份量 */
body.page-id-3787 .ts-title{
    font-size:34px !important;
    line-height:1.32 !important;
    margin-bottom:18px !important;
}

/* 左右欄不要離太遠 */
body.page-id-3787 .ts-intro-grid,
body.page-id-3787 .ts-story-grid{
    gap:54px !important;
}

/* 引言卡加深一點、變得更像雜誌 */
body.page-id-3787 .ts-quote{
    background:#f2ede3 !important;
    padding:34px 34px 30px 66px !important;
    border-left:3px solid #b58b49;
}

body.page-id-3787 .ts-quote p{
    font-size:17px !important;
    line-height:1.85 !important;
    color:#334d5d !important;
}

/* timeline 文字加深 */
body.page-id-3787 .ts-event{
    font-size:15px !important;
    color:#405b6d !important;
}

/* 六大主題不要太扁 */
body.page-id-3787 .ts-card{
    min-height:120px !important;
    background:#fbfaf7 !important;
}

/* 創作理念縮短高度 */
body.page-id-3787 .ts-philosophy{
    padding:58px 0 !important;
}

body.page-id-3787 .ts-bigquote{
    font-size:19px !important;
    line-height:1.9 !important;
}

/* CTA 稍微縮短 */
body.page-id-3787 .ts-cta{
    padding:54px 20px !important;
}
/* ==================================================
   作者頁版型修正：固定左主右輔
================================================== */

body.page-id-3787 .ts-inner{
    width:min(1100px, calc(100% - 80px)) !important;
    margin:0 auto !important;
}

/* 一般內容：左主文 65 / 右輔助 35 */
body.page-id-3787 .ts-intro-grid{
    display:grid !important;
    grid-template-columns:minmax(0, 1.55fr) minmax(280px, .85fr) !important;
    gap:58px !important;
    align-items:start !important;
}

/* 故事＋時間軸：左 58 / 右 42 */
body.page-id-3787 .ts-story-grid{
    display:grid !important;
    grid-template-columns:minmax(0, 1.25fr) minmax(320px, .95fr) !important;
    gap:64px !important;
    align-items:start !important;
}

/* 取消前面所有交錯 */
body.page-id-3787 .ts-intro-grid > *,
body.page-id-3787 .ts-story-grid > *{
    order:initial !important;
}

/* 正文寬度 */
body.page-id-3787 .ts-text{
    max-width:620px !important;
}

/* 右邊引言卡不要太大 */
body.page-id-3787 .ts-quote{
    width:100% !important;
    max-width:360px !important;
    margin-left:auto !important;
    margin-right:0 !important;
}

/* 時間軸固定靠右欄 */
body.page-id-3787 .ts-timeline{
    width:100% !important;
    max-width:420px !important;
    margin-left:auto !important;
}

/* 區塊稍微收緊 */
body.page-id-3787 .ts-section{
    padding:52px 0 !important;
}

/* 標題不要太巨大 */
body.page-id-3787 .ts-title{
    font-size:32px !important;
    line-height:1.35 !important;
    margin-bottom:18px !important;
}

/* 手機恢復單欄 */
@media (max-width:767px){

    body.page-id-3787 .ts-inner{
        width:calc(100% - 36px) !important;
    }

    body.page-id-3787 .ts-intro-grid,
    body.page-id-3787 .ts-story-grid{
        grid-template-columns:1fr !important;
        gap:28px !important;
    }

    body.page-id-3787 .ts-quote,
    body.page-id-3787 .ts-timeline,
    body.page-id-3787 .ts-text{
        max-width:none !important;
        width:100% !important;
        margin-left:0 !important;
    }
}