
/* Scoped under .llk-reform-wrapper to prevent affecting generic LP styles */
.llk-reform-wrapper {
    --text-main: #f5f5f7;
    --text-sub: #b0b0b8;
    --accent-gold: #cfaa75;
    --accent-glow: rgba(207, 170, 117, 0.4);
    --glass-bg: rgba(25, 27, 33, 0.6);
    --glass-border: rgba(255, 255, 255, 0.05);
    /*--font-serif: 'Noto Serif JP', serif;*/
    /*--font-sans: 'Inter', 'Noto Sans JP', sans-serif;*/
    --easing: cubic-bezier(0.25, 1, 0.5, 1);
    /*background-color: #0f1014;*/
	background-color:#212121;
    color: var(--text-main);
    font-family: var(--font-sans);
    line-height: 1.8;
}

.llk-reform-wrapper section { /*padding: 100px 20px;*/padding:0px 20px 20px 20px; max-width: 1000px; margin: 0 auto; position: relative; }

/* Headers */
.llk-reform-wrapper .section-header { text-align: center; margin-bottom: 80px; opacity: 0; transform: translateY(30px); transition: all 1.2s var(--easing); }
.llk-reform-wrapper .section-header.visible { opacity: 1; transform: translateY(0); }
.llk-reform-wrapper .section-eyecatch { font-size: 0.85rem; letter-spacing: 0.3em; color: var(--accent-gold); text-transform: uppercase; margin-bottom: 15px; display: block; }
.llk-reform-wrapper .section-title { font-family: var(--font-serif); font-size: 2.2rem; font-weight: 300; letter-spacing: 0.1em; margin: 0 0 30px 0; }
.llk-reform-wrapper .section-lead { font-size: 1rem; color: var(--text-sub); max-width: 700px; margin: 0 auto; text-align-last: center; }

/* Timeline */
.llk-reform-wrapper .timeline { position: relative; margin-top: 60px; padding-left: 50px; }
.llk-reform-wrapper .timeline::before { content: ''; position: absolute; top: 0; bottom: 0; left: 15px; width: 2px; background: linear-gradient(to bottom, transparent, var(--accent-gold), rgba(207, 170, 117, 0.2), transparent); box-shadow: 0 0 10px var(--accent-glow); }
.llk-reform-wrapper .timeline-item { position: relative; margin-bottom: 60px; opacity: 0; transform: translateX(40px); transition: all 1s var(--easing); }
.llk-reform-wrapper .timeline-item.visible { opacity: 1; transform: translateX(0); }
.llk-reform-wrapper .timeline-item::before { content: ''; position: absolute; left: -40px; top: 40px; width: 12px; height: 12px; border-radius: 50%; background-color: #0f1014; border: 2px solid var(--accent-gold); box-shadow: 0 0 15px var(--accent-glow); z-index: 2; transition: all 0.3s; }
.llk-reform-wrapper .timeline-item:hover::before { background-color: var(--accent-gold); transform: scale(1.3); }
.llk-reform-wrapper .timeline-content { background: var(--glass-bg); border: 1px solid var(--glass-border); border-radius: 12px; display: flex; align-items: stretch; overflow: hidden; transition: transform 0.5s var(--easing); }
.llk-reform-wrapper .timeline-item:hover .timeline-content { transform: translateX(5px) translateY(-5px); border-color: rgba(207, 170, 117, 0.3); }
.llk-reform-wrapper .timeline-image-wrapper { flex: 0 0 35%; overflow: hidden; }
.llk-reform-wrapper .timeline-image-wrapper img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--easing); }
.llk-reform-wrapper .timeline-item:hover .timeline-image-wrapper img { transform: scale(1.05); }
.llk-reform-wrapper .timeline-text { flex: 1; padding: 35px 40px; }
.llk-reform-wrapper .time-badge { display: inline-block; background: rgba(207, 170, 117, 0.1); color: var(--accent-gold); padding: 6px 12px; border-radius: 4px; border: 1px solid rgba(207, 170, 117, 0.3); margin-bottom: 15px; font-weight: 600; font-size: 0.85rem;}
.llk-reform-wrapper .item-title { font-family: var(--font-serif); /*font-size: 1.5rem;*/font-size:1.25rem; border-bottom: 1px solid rgba(255, 255, 255, 0.1); padding-bottom: 15px; }
.llk-reform-wrapper .item-desc { color: var(--text-sub); font-size: 0.95rem; text-align: justify; }

.llk-reform-wrapper .cycle-list { list-style: none; padding: 0; margin: 15px 0 0 0; }
.llk-reform-wrapper .cycle-list li { margin-bottom: 10px; padding-left: 20px; position: relative; font-size: 0.9rem; color: #d0d0d5; line-height: 1.6; }
.llk-reform-wrapper .cycle-list li::before { content: '♦'; position: absolute; left: 0; top: 2px; color: var(--accent-gold); font-size: 0.8rem; }
.llk-reform-wrapper .highlight { color: #fff; font-weight: 600; }

/* Responsive */
@media (max-width: 900px) {
    .llk-reform-wrapper .timeline-content { flex-direction: column; }
    .llk-reform-wrapper .timeline-image-wrapper { flex: none; height: 200px; }
}
@media (max-width: 768px) {
    .llk-reform-wrapper .timeline { padding-left: 30px; }
    .llk-reform-wrapper .timeline::before { left: 10px; }
    .llk-reform-wrapper .timeline-item::before { left: -26px; }
    .llk-reform-wrapper .timeline-text { padding: 25px; }
}
