.elementor-3989 .elementor-element.elementor-element-1e5f9e7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3989 .elementor-element.elementor-element-4e25466{--spacer-size:100px;}.elementor-3989 .elementor-element.elementor-element-54f6823{--display:flex;--min-height:500px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3989 .elementor-element.elementor-element-4c0bd64{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--border-radius:20px 20px 20px 20px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:90px;--padding-bottom:90px;--padding-left:0px;--padding-right:0px;}.elementor-3989 .elementor-element.elementor-element-4c0bd64:not(.elementor-motion-effects-element-type-background), .elementor-3989 .elementor-element.elementor-element-4c0bd64 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-3989 .elementor-element.elementor-element-58800ba{--display:flex;}.elementor-3989 .elementor-element.elementor-element-ab0f36a{text-align:center;}.elementor-3989 .elementor-element.elementor-element-ab0f36a .elementor-heading-title{font-family:"Noto Sans TC", Sans-serif;font-size:60px;font-weight:700;color:#FFFFFF;}.elementor-3989 .elementor-element.elementor-element-452e66d{text-align:center;}.elementor-3989 .elementor-element.elementor-element-452e66d .elementor-heading-title{font-family:"Noto Sans TC", Sans-serif;font-size:60px;font-weight:700;color:var( --e-global-color-secondary );}.elementor-3989 .elementor-element.elementor-element-8464c7f{padding:3px 3px 3px 3px;text-align:justify;font-family:"Noto Sans TC", Sans-serif;font-size:20px;font-weight:400;color:var( --e-global-color-astglobalcolor5 );}.elementor-3989 .elementor-element.elementor-element-8464c7f.elementor-element{--align-self:center;--flex-grow:1;--flex-shrink:0;}.elementor-3989 .elementor-element.elementor-element-09ce6d9{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-3989 .elementor-element.elementor-element-4dc2ccd .elementor-button{background-color:#02010100;fill:var( --e-global-color-astglobalcolor5 );color:var( --e-global-color-astglobalcolor5 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-astglobalcolor5 );border-radius:5px 5px 5px 5px;}.elementor-3989 .elementor-element.elementor-element-4dc2ccd .elementor-button:hover, .elementor-3989 .elementor-element.elementor-element-4dc2ccd .elementor-button:focus{background-color:var( --e-global-color-accent );color:var( --e-global-color-text );}.elementor-3989 .elementor-element.elementor-element-4dc2ccd .elementor-button:hover svg, .elementor-3989 .elementor-element.elementor-element-4dc2ccd .elementor-button:focus svg{fill:var( --e-global-color-text );}.elementor-3989 .elementor-element.elementor-element-ec1038b .elementor-button{background-color:var( --e-global-color-secondary );border-radius:5px 5px 5px 5px;}.elementor-3989 .elementor-element.elementor-element-ec1038b .elementor-button:hover, .elementor-3989 .elementor-element.elementor-element-ec1038b .elementor-button:focus{background-color:var( --e-global-color-astglobalcolor4 );border-color:var( --e-global-color-astglobalcolor5 );}.elementor-3989 .elementor-element.elementor-element-1f2fabf{--display:flex;--justify-content:space-around;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#FFFFFF8A;--border-color:#FFFFFF8A;--border-radius:20px 20px 20px 20px;--margin-top:30px;--margin-bottom:30px;--margin-left:30px;--margin-right:30px;--padding-top:50px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-3989 .elementor-element.elementor-element-1f2fabf:not(.elementor-motion-effects-element-type-background), .elementor-3989 .elementor-element.elementor-element-1f2fabf > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF21;}.elementor-3989 .elementor-element.elementor-element-1f2fabf.e-con{--align-self:center;}.elementor-3989 .elementor-element.elementor-element-5210540{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-3989 .elementor-element.elementor-element-f7769c5 .elementor-icon-wrapper{text-align:center;}.elementor-3989 .elementor-element.elementor-element-f7769c5.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-3989 .elementor-element.elementor-element-f7769c5.elementor-view-framed .elementor-icon, .elementor-3989 .elementor-element.elementor-element-f7769c5.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-3989 .elementor-element.elementor-element-f7769c5.elementor-view-framed .elementor-icon, .elementor-3989 .elementor-element.elementor-element-f7769c5.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-3989 .elementor-element.elementor-element-f7769c5 .elementor-icon{font-size:20px;}.elementor-3989 .elementor-element.elementor-element-f7769c5 .elementor-icon svg{height:20px;}.elementor-3989 .elementor-element.elementor-element-8297514 .elementor-icon-wrapper{text-align:center;}.elementor-3989 .elementor-element.elementor-element-8297514.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-astglobalcolor5 );}.elementor-3989 .elementor-element.elementor-element-8297514.elementor-view-framed .elementor-icon, .elementor-3989 .elementor-element.elementor-element-8297514.elementor-view-default .elementor-icon{color:var( --e-global-color-astglobalcolor5 );border-color:var( --e-global-color-astglobalcolor5 );}.elementor-3989 .elementor-element.elementor-element-8297514.elementor-view-framed .elementor-icon, .elementor-3989 .elementor-element.elementor-element-8297514.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-astglobalcolor5 );}.elementor-3989 .elementor-element.elementor-element-8297514 .elementor-icon{font-size:20px;}.elementor-3989 .elementor-element.elementor-element-8297514 .elementor-icon svg{height:20px;}.elementor-3989 .elementor-element.elementor-element-6f44dc5 .elementor-icon-wrapper{text-align:center;}.elementor-3989 .elementor-element.elementor-element-6f44dc5.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-3989 .elementor-element.elementor-element-6f44dc5.elementor-view-framed .elementor-icon, .elementor-3989 .elementor-element.elementor-element-6f44dc5.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-3989 .elementor-element.elementor-element-6f44dc5.elementor-view-framed .elementor-icon, .elementor-3989 .elementor-element.elementor-element-6f44dc5.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-3989 .elementor-element.elementor-element-6f44dc5 .elementor-icon{font-size:20px;}.elementor-3989 .elementor-element.elementor-element-6f44dc5 .elementor-icon svg{height:20px;}.elementor-3989 .elementor-element.elementor-element-f11bbf2.elementor-element{--align-self:flex-start;}.elementor-3989 .elementor-element.elementor-element-f11bbf2{font-size:20px;font-style:italic;color:var( --e-global-color-astglobalcolor5 );}.elementor-3989 .elementor-element.elementor-element-402d4a8{--display:flex;--min-height:600px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3989 .elementor-element.elementor-element-e7d969a{--display:flex;}.elementor-3989 .elementor-element.elementor-element-eb45652{--display:flex;--min-height:600px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3989 .elementor-element.elementor-element-0df0403{--display:flex;}.elementor-3989 .elementor-element.elementor-element-311de04{--display:flex;--min-height:600px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3989 .elementor-element.elementor-element-24405cf{--display:flex;}@media(min-width:768px){.elementor-3989 .elementor-element.elementor-element-58800ba{--width:50%;}.elementor-3989 .elementor-element.elementor-element-1f2fabf{--width:50%;}}@media(max-width:767px){.elementor-3989 .elementor-element.elementor-element-4c0bd64{--padding-top:40px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-3989 .elementor-element.elementor-element-ab0f36a .elementor-heading-title{font-size:40px;}.elementor-3989 .elementor-element.elementor-element-452e66d .elementor-heading-title{font-size:40px;}.elementor-3989 .elementor-element.elementor-element-8464c7f{text-align:center;font-size:14px;}.elementor-3989 .elementor-element.elementor-element-1f2fabf{--margin-top:10px;--margin-bottom:10px;--margin-left:10px;--margin-right:10px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-3989 .elementor-element.elementor-element-5210540{--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-3989 .elementor-element.elementor-element-f7769c5 .elementor-icon{font-size:10px;}.elementor-3989 .elementor-element.elementor-element-f7769c5 .elementor-icon svg{height:10px;}.elementor-3989 .elementor-element.elementor-element-8297514 .elementor-icon{font-size:10px;}.elementor-3989 .elementor-element.elementor-element-8297514 .elementor-icon svg{height:10px;}.elementor-3989 .elementor-element.elementor-element-6f44dc5 .elementor-icon{font-size:10px;}.elementor-3989 .elementor-element.elementor-element-6f44dc5 .elementor-icon svg{height:10px;}.elementor-3989 .elementor-element.elementor-element-f11bbf2{padding:0px 0px 0px 0px;font-size:14px;}}/* Start custom CSS *//* ==========================================================================
   1. 通用與響應式字體設定 (Global Styles)
   ========================================================================== */
.responsive-p {
    color: #4B5563;
    margin-top: 1rem;
    font-size: 16px;
    line-height: 1.6;
}
@media (min-width: 768px) {
    .responsive-p {
        font-size: 20px !important;
        line-height: 1.6 !important;
    }
}

/* ==========================================================================
   2. 福音腳蹤 - 時間軸樣式 (Timeline Section)
   ========================================================================== */
.timeline-container {
    position: relative;
}
/* 電腦版時間軸置中線 */
.timeline-container::before {
    content: ''; 
    position: absolute; 
    left: 50%; 
    transform: translateX(-50%);
    width: 2px; 
    height: 100%; 
    background: #E2E8F0; 
    z-index: 0;
}

.timeline-item {
    margin-bottom: 4rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.timeline-content-block {
    width: 100%;
}

.responsive-year {
    font-size: 2.25rem;
    font-weight: 900;
    color: #E6A123;
    display: block;
}

.timeline-title {
    font-size: 1.25rem;
    font-weight: bold;
    color: #3A136B;
}

/* 電腦版並排與左右交錯 */
@media (min-width: 768px) {
    .timeline-item {
        flex-direction: row !important;
    }
    /* 奇數項目（左年份、右文字） */
    .timeline-item.item-left {
        flex-direction: row !important;
    }
    .timeline-item.item-left .timeline-content-block:first-child {
        width: 50% !important;
        padding-right: 3rem !important;
        text-align: right !important;
    }
    .timeline-item.item-left .timeline-content-block:last-child {
        width: 50% !important;
        padding-left: 3rem !important;
        text-align: left !important;
    }

    /* 偶數項目（右年份、左文字） */
    .timeline-item.item-right {
        flex-direction: row-reverse !important;
    }
    .timeline-item.item-right .timeline-content-block:first-child {
        width: 50% !important;
        padding-left: 3rem !important;
        text-align: left !important;
    }
    .timeline-item.item-right .timeline-content-block:last-child {
        width: 50% !important;
        padding-right: 3rem !important;
        text-align: right !important;
    }
    
    .timeline-badge {
        display: block !important;
        width: 1.25rem;
        height: 1.25rem;
        background-color: #3A136B;
        border-radius: 9999px;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        z-index: 10;
    }
}

/* 手機版完全重構 */
@media (max-width: 767px) { 
    .timeline-container::before { 
        left: 8px; 
        transform: none;
    }
    .timeline-item {
        align-items: flex-start !important;
        padding-left: 30px;
    }
    .timeline-badge {
        display: block !important;
        position: absolute;
        left: -1px;
        top: 10px;
        width: 1.25rem;
        height: 1.25rem;
        background-color: #3A136B;
        border-radius: 9999px;
        z-index: 10;
    }
    .timeline-content-block {
        text-align: left !important;
        padding: 0 !important;
    }
    .responsive-year {
        font-size: 24px !important; 
        margin-bottom: 6px;
    }
    .timeline-title {
        margin-top: 4px;
        margin-bottom: 8px;
    }
}

/* ==========================================================================
   3. 五大核心使命 - 卡片網格與懸停 (Purpose Cards Section)
   ========================================================================== */
.cards-grid {
    display: grid;
    grid-template-cols: 1fr;
    gap: 2rem;
}

.purpose-card {
    background-color: #ffffff;
    padding: 2rem;
    border-radius: 1rem;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid rgba(58, 19, 107, 0.05);
}
.purpose-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.08);
    border-color: #E6A123;
}

.card-icon {
    width: 3rem;
    height: 3rem;
    background-color: #F4F0FA;
    color: #3A136B;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.75rem;
    margin-bottom: 1.5rem;
    font-weight: bold;
    font-size: 1.5rem;
}

.card-title {
    font-size: 1.25rem;
    font-weight: bold;
    color: #3A136B;
    margin-bottom: 0.75rem;
}

.card-inner-grid {
    display: grid;
    grid-template-cols: 1fr;
    gap: 1.5rem;
}

.vision-box {
    background-color: rgba(58, 19, 107, 0.05);
    padding: 1.25rem;
    border-radius: 0.75rem;
    border: 1px solid rgba(58, 19, 107, 0.1);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

@media (min-width: 768px) {
    .cards-grid {
        grid-template-cols: repeat(3, 1fr);
    }
    .md-col-span-2 {
        grid-column: span 2 / span 2;
    }
    .card-inner-grid {
        grid-template-cols: repeat(2, 1fr);
    }
}

/* ==========================================================================
   4. 信仰宣言 - 折疊面板 (Accordion Section)
   ========================================================================== */
.accordion-item {
    background-color: #ffffff;
    border-radius: 0.75rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    border: 1px solid #F3F4F6;
    overflow: hidden;
    margin-bottom: 1rem;
}

.accordion-trigger {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 1.5rem;
    text-align: left;
    font-weight: bold;
    color: #3A136B;
    font-size: 1.125rem;
    background: none;
    border: none;
    cursor: pointer;
}
.accordion-trigger:focus {
    outline: none;
}

.accordion-icon {
    font-size: 1.5rem;
    transition: transform 0.3s;
    display: inline-block;
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s cubic-bezier(0, 1, 0, 1);
}

.accordion-inner-text {
    padding: 0 1.5rem 1.5rem 1.5rem;
    color: #555555;
    border-t: 1px solid #F9FAFB;
    padding-top: 1rem;
}

.accordion-item.active .accordion-content {
    max-height: 1000px;
    transition: max-height 0.5s cubic-bezier(1, 0, 1, 0);
}
.accordion-item.active .accordion-icon {
    transform: rotate(45deg);
}

@media (min-width: 768px) {
    .accordion-trigger {
        font-size: 22px !important;
    }
}/* End custom CSS */