.ta-about,
.ta-about * { box-sizing: border-box; }
.ta-about { padding: 28px 20px 56px; background: #fff; color: #465266; }
.ta-about__container { width: 100%; margin: 0 auto; }
.ta-about__tabs { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); margin-bottom: 22px; border: 1px solid #e3e8ee; background: #fff; }
.ta-about__tab { position: relative; display: flex; align-items: center; justify-content: center; gap: 14px; padding: 14px 24px; border: 0; border-left: 1px solid #e3e8ee; background: transparent; color: #17356f; font: inherit; font-weight: 700; cursor: pointer; transition: background .2s ease, color .2s ease; }
.ta-about__tab:last-child { border-left: 0; }
.ta-about__tab-icon { display: inline-flex; font-size: 26px; line-height: 1; }
.ta-about__tab.is-active::after { content: ""; position: absolute; bottom: -14px; left: 50%; width: 42px; height: 3px; border-radius: 3px; background: #159e9c; transform: translateX(-50%); }
.ta-about__panel[hidden] { display: none !important; }
.ta-about__panel { animation: taAboutFade .22s ease; }
@keyframes taAboutFade { from { opacity: .35; transform: translateY(5px); } to { opacity: 1; transform: none; } }
.ta-about__intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); align-items: center; padding: 18px; border: 1px solid #e6ebf0; overflow: hidden; }
.ta-about__intro.is-image-left .ta-about__media { order: 2; }
.ta-about__media, .ta-about__vision-media { margin: 0; min-width: 0; overflow: hidden; border-radius: 14px; }
.ta-about__media img, .ta-about__vision-media img { display: block; width: 100%; object-fit: cover; }
.ta-about__copy { padding: 24px 34px; text-align: right; }
.ta-about__heading, .ta-about__section-title { position: relative; margin: 0 0 28px; padding-bottom: 16px; color: #17356f; font-size: 30px; line-height: 1.45; font-weight: 800; }
.ta-about__heading::after, .ta-about__section-title::after { content: ""; position: absolute; right: 0; bottom: 0; width: 72px; height: 3px; border-radius: 3px; background: #159e9c; }
.ta-about__subtitle { margin: 0 0 18px; color: #159e9c; font-size: 20px; font-weight: 800; }
.ta-about__description, .ta-about__vision-description, .ta-about__board-description { font-size: 16px; line-height: 2.15; }
.ta-about__description p:last-child, .ta-about__vision-description p:last-child { margin-bottom: 0; }
.ta-about__timeline { margin-top: 22px; padding: 28px 34px 36px; border: 1px solid #e6ebf0; }
.ta-about__section-title { width: max-content; max-width: 100%; margin-right: auto; margin-left: auto; text-align: center; }
.ta-about__section-title::after { right: 50%; transform: translateX(50%); }
.ta-about__timeline-track { position: relative; display: grid; grid-template-columns: repeat(6, minmax(150px, 1fr)); gap: 26px; padding-top: 22px; }
.ta-about__timeline-track::before { content: ""; position: absolute; top: 50px; right: 6%; left: 6%; height: 2px; background: #54bdb8; }
.ta-about__timeline-item { position: relative; z-index: 1; text-align: center; }
.ta-about__timeline-icon { display: inline-flex; align-items: center; justify-content: center; width: 58px; height: 58px; margin-bottom: 12px; border: 7px solid #d8f3f1; border-radius: 50%; background: var(--ta-event-accent, #159e9c); color: #fff; font-size: 21px; }
.ta-about__timeline-year { margin-bottom: 8px; color: var(--ta-event-accent, #159e9c); font-size: 18px; font-weight: 800; }
.ta-about__timeline-title { min-height: 56px; margin: 0 0 10px; color: #17356f; font-size: 16px; line-height: 1.7; font-weight: 800; }
.ta-about__timeline-item p { margin: 0; color: #657085; font-size: 13px; line-height: 1.9; }
.ta-about__vision-main { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 48px; align-items: center; padding: 24px; border: 1px solid #e6ebf0; }
.ta-about__vision-media img { min-height: 360px; object-fit: cover; }
.ta-about__cards, .ta-about__members { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 22px; }
.ta-about__card, .ta-about__member { display: block; padding: 28px; border: 1px solid #e6ebf0; border-radius: 12px; color: inherit; text-decoration: none; }
.ta-about__card-icon { display: inline-flex; margin-bottom: 16px; color: #159e9c; font-size: 34px; }
.ta-about__card h3, .ta-about__member h3 { margin: 0 0 10px; color: #17356f; font-size: 20px; font-weight: 800; }
.ta-about__card p, .ta-about__member p { margin: 0; color: #657085; line-height: 1.95; }
.ta-about__board-main { padding: 32px; border: 1px solid #e6ebf0; text-align: center; }
.ta-about__board-main .ta-about__heading { width: max-content; max-width: 100%; margin-right: auto; margin-left: auto; }
.ta-about__board-main .ta-about__heading::after { right: 50%; transform: translateX(50%); }
.ta-about__member { overflow: hidden; padding: 0; transition: transform .2s ease, box-shadow .2s ease; }
.ta-about__member:hover { transform: translateY(-4px); }
.ta-about__member > img, .ta-about__member-placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 290px; object-fit: cover; background: #f2f6f8; color: #9aabb9; font-size: 72px; }
.ta-about__member-body { padding: 22px; text-align: center; }
.ta-about__member-body > span { display: block; margin-bottom: 12px; color: #159e9c; font-weight: 700; }


/* Logo story tab: long-form content stays inside a controlled, scrollable viewport. */
.ta-about__logo-story {
    overflow: hidden;
    border: 1px solid #e6ebf0;
    border-radius: 14px;
    background: #fff;
}
.ta-about__logo-story-header {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    min-height: 68px;
    padding: 16px 28px;
    border-bottom: 1px solid #e6ebf0;
    background: #fff;
}
.ta-about__logo-story-header h2 {
    position: relative;
    margin: 0;
    padding-left: 16px;
    color: #17356f;
    font-size: 22px;
    line-height: 1.7;
    font-weight: 800;
    text-align: left;
}
.ta-about__logo-story-header h2::before {
    content: "";
    position: absolute;
    top: .35em;
    left: 0;
    width: 3px;
    height: 1.15em;
    border-radius: 3px;
    background: #159e9c;
}
.ta-about__logo-story-scroll {
    height: clamp(480px, 64vh, 650px);
    overflow-x: hidden;
    overflow-y: auto;
    padding: 30px 34px 38px;
    scrollbar-width: thin;
    scrollbar-color: #159e9c #edf3f5;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}
.ta-about__logo-story-scroll:focus-visible {
    outline: 2px solid #159e9c;
    outline-offset: -3px;
}
.ta-about__logo-story-scroll::-webkit-scrollbar { width: 8px; }
.ta-about__logo-story-scroll::-webkit-scrollbar-track { background: #edf3f5; }
.ta-about__logo-story-scroll::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: #159e9c;
}
.ta-about__logo-story-content {
    max-width: 100%;
    color: #465266;
    font-size: 16px;
    line-height: 2.15;
    text-align: left;
}
.ta-about__logo-story-content > :first-child { margin-top: 0; }
.ta-about__logo-story-content > :last-child { margin-bottom: 0; }
.ta-about__logo-story-content p { margin: 0 0 1.15em; }
.ta-about__logo-story-content h1,
.ta-about__logo-story-content h2,
.ta-about__logo-story-content h3,
.ta-about__logo-story-content h4,
.ta-about__logo-story-content h5,
.ta-about__logo-story-content h6 {
    margin: 1.55em 0 .7em;
    color: #17356f;
    line-height: 1.75;
    font-weight: 800;
    text-align: left;
}
.ta-about__logo-story-content ul,
.ta-about__logo-story-content ol {
    margin: 0 0 1.25em;
    padding-left: 1.4em;
}
.ta-about__logo-story-content li { margin-bottom: .45em; }
.ta-about__logo-story-content img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 24px auto;
    border-radius: 12px;
}
.ta-about__logo-story-content figure,
.ta-about__logo-story-content .wp-caption {
    max-width: 100% !important;
    margin: 26px auto;
}
.ta-about__logo-story-content figure img,
.ta-about__logo-story-content .wp-caption img { margin: 0 auto; }
.ta-about__logo-story-content figcaption,
.ta-about__logo-story-content .wp-caption-text {
    margin-top: 10px;
    color: #748094;
    font-size: 13px;
    line-height: 1.9;
    text-align: center;
}
.ta-about__logo-story-content .gallery {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 14px;
    margin: 24px 0 !important;
}
.ta-about__logo-story-content .gallery-item {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}
.ta-about__logo-story-content .gallery img {
    width: 100%;
    margin: 0;
}
.ta-about__logo-story-content iframe,
.ta-about__logo-story-content video {
    max-width: 100%;
}
.ta-about__logo-story-content table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
}
.ta-about__logo-story-content blockquote {
    margin: 24px 0;
    padding: 14px 20px;
    border-left: 3px solid #159e9c;
    background: #f6fafa;
}
