/* ==========================================================================
   Deep Audiobooks – About Us page
   Additions only (prefix .ab_). Uses the template theme variables, so light / dark both work.
   ========================================================================== */

.ab_page { font-family: 'Poppins', 'Segoe UI', Arial, sans-serif; padding: 70px 0 40px; overflow: hidden; }
.ab_page h1, .ab_page h2, .ab_page h3, .ab_page h4, .ab_page p, .ab_page span, .ab_page a { font-family: 'Poppins', 'Segoe UI', Arial, sans-serif; }
.ab_wrap { max-width: 1080px; margin: 0 auto; padding: 0 15px; }
.ab_grad { background: linear-gradient(135deg, #fa5b41, #ff8a50); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }

/* reveal on scroll */
.ab_reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .8s ease; }
.ab_reveal.in { opacity: 1; transform: none; }
.no-js .ab_reveal { opacity: 1; transform: none; }

/* section heading */
.ab_head { text-align: center; max-width: 720px; margin: 0 auto 56px; }
.ab_eyebrow { display: inline-block; padding: 6px 18px; border-radius: 50px; font-size: 12px; font-weight: 600; letter-spacing: 1.6px; text-transform: uppercase;
    color: var(--hover-color); background: rgba(250, 91, 65, .1); border: 1px solid rgba(250, 91, 65, .35); margin-bottom: 18px; }
.ab_head h2 { font-size: 34px; font-weight: 600; line-height: 1.35; text-transform: none; margin: 0 0 14px; color: var(--heading-color); }
.ab_head p { font-size: 16px; line-height: 1.9; color: var(--para-color); margin: 0; }
.ab_section { padding: 70px 0; position: relative; }

/* ---------------- 1. founder hero ---------------- */
.ab_hero { display: flex; align-items: center; gap: 56px; padding: 20px 0 60px; }
.ab_avatar_col { flex: 0 0 340px; text-align: center; }
.ab_avatar { position: relative; width: 300px; height: 300px; margin: 0 auto; border-radius: 50%; padding: 8px;
    background: conic-gradient(from 0deg, #fa5b41, #ff8a50, #6a5cff, #fa5b41); animation: ab_spin 14s linear infinite; }
.ab_avatar_in { width: 100%; height: 100%; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-direction: column;
    background: radial-gradient(circle at 30% 25%, #2a2970 0%, #0f0e37 55%, #04031d 100%); animation: ab_spin_rev 14s linear infinite; }
.ab_avatar_in b { font-size: 78px; font-weight: 700; letter-spacing: 2px; line-height: 1; color: #fff; }
.ab_avatar_in small { margin-top: 10px; font-size: 12px; letter-spacing: 3px; text-transform: uppercase; color: rgba(255, 255, 255, .6); }
@keyframes ab_spin { to { transform: rotate(360deg); } }
@keyframes ab_spin_rev { to { transform: rotate(-360deg); } }

.ab_wave { display: flex; align-items: flex-end; justify-content: center; gap: 5px; height: 46px; margin-top: 30px; }
.ab_wave i { display: block; width: 5px; border-radius: 4px; background: linear-gradient(180deg, #ff8a50, #fa5b41); height: 12px; animation: ab_bar 1.2s ease-in-out infinite; }
.ab_wave i:nth-child(1) { animation-delay: -1.1s } .ab_wave i:nth-child(2) { animation-delay: -.9s } .ab_wave i:nth-child(3) { animation-delay: -.7s }
.ab_wave i:nth-child(4) { animation-delay: -.5s } .ab_wave i:nth-child(5) { animation-delay: -.3s } .ab_wave i:nth-child(6) { animation-delay: -.8s }
.ab_wave i:nth-child(7) { animation-delay: -.6s } .ab_wave i:nth-child(8) { animation-delay: -.4s } .ab_wave i:nth-child(9) { animation-delay: -.2s }
.ab_wave i:nth-child(10) { animation-delay: -1s } .ab_wave i:nth-child(11) { animation-delay: -.15s } .ab_wave i:nth-child(12) { animation-delay: -.65s }
@keyframes ab_bar { 0%, 100% { height: 10px; } 50% { height: 44px; } }

.ab_hero_txt { flex: 1 1 0; min-width: 0; }
.ab_hero_txt h1 { font-size: 54px; font-weight: 700; line-height: 1.15; text-transform: none; margin: 0 0 18px; color: var(--heading-color); }
.ab_chips { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 26px; }
.ab_chips span { padding: 7px 18px; border-radius: 50px; font-size: 13px; font-weight: 500; color: var(--heading-color); background: var(--box-color); border: 1px solid var(--border-color); }
.ab_chips span i { color: var(--hover-color); margin-right: 7px; }
.ab_hero_txt p { font-size: 16.5px; line-height: 1.95; color: var(--para-color); margin: 0 0 16px; }
.ab_hero_txt p strong { color: var(--heading-color); font-weight: 600; }

/* ---------------- 2. journey timeline ---------------- */
.ab_timeline { position: relative; max-width: 920px; margin: 0 auto; }
.ab_timeline:before { content: ""; position: absolute; left: 50%; top: 10px; bottom: 10px; width: 0; border-left: 3px dashed rgba(250, 91, 65, .55); transform: translateX(-50%); }
.ab_step { position: relative; display: flex; justify-content: flex-start; margin-bottom: 46px; }
.ab_step:last-child { margin-bottom: 0; }
.ab_step:nth-child(even) { justify-content: flex-end; }
.ab_node { position: absolute; left: 50%; top: 18px; width: 64px; height: 64px; margin-left: -32px; border-radius: 50%; z-index: 2; display: flex; align-items: center; justify-content: center;
    font-size: 22px; color: #fff; background: linear-gradient(135deg, #fa5b41, #ff8a50); box-shadow: 0 0 0 8px var(--bg-color), 0 10px 26px rgba(250, 91, 65, .45); }
.ab_node:after { content: ""; position: absolute; inset: -8px; border-radius: 50%; border: 2px solid rgba(250, 91, 65, .5); animation: ab_pulse 2.4s ease-out infinite; }
@keyframes ab_pulse { 0% { transform: scale(.9); opacity: 1; } 100% { transform: scale(1.45); opacity: 0; } }
.ab_card { width: calc(50% - 60px); padding: 30px 30px 28px; background: var(--box-color); border: 1px solid var(--border-color); border-radius: 18px; position: relative; transition: transform .35s, box-shadow .35s; }
.ab_card:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(250, 91, 65, .18); }
.ab_card .ab_tag { font-size: 12px; font-weight: 600; letter-spacing: 1.4px; text-transform: uppercase; color: var(--hover-color); margin-bottom: 8px; display: block; }
.ab_card h3 { font-size: 21px; font-weight: 600; line-height: 1.4; text-transform: none; margin: 0 0 12px; color: var(--heading-color); }
.ab_card p { font-size: 15px; line-height: 1.85; color: var(--para-color); margin: 0; }

/* ---------------- 3. three roles ---------------- */
.ab_roles { display: flex; gap: 26px; margin-bottom: 40px; }
.ab_role { flex: 1 1 0; padding: 36px 28px; border-radius: 20px; background: var(--box-color); border: 1px solid var(--border-color); position: relative; overflow: hidden; transition: transform .35s, box-shadow .35s; }
.ab_role:before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 4px; background: linear-gradient(90deg, #fa5b41, #ff8a50); transform: scaleX(0); transform-origin: left; transition: transform .45s; }
.ab_role:hover { transform: translateY(-8px); box-shadow: 0 20px 44px rgba(250, 91, 65, .2); }
.ab_role:hover:before { transform: scaleX(1); }
.ab_role .ab_ic { width: 62px; height: 62px; border-radius: 18px; display: flex; align-items: center; justify-content: center; font-size: 24px; color: #fff; margin-bottom: 22px;
    background: linear-gradient(135deg, #fa5b41, #ff8a50); transform: rotate(-6deg); }
.ab_role h3 { font-size: 20px; font-weight: 600; text-transform: none; margin: 0 0 12px; color: var(--heading-color); }
.ab_role p { font-size: 15px; line-height: 1.85; color: var(--para-color); margin: 0; }

.ab_quote { position: relative; max-width: 860px; margin: 0 auto; padding: 38px 44px 38px 84px; border-radius: 20px; background: var(--box-color); border: 1px solid var(--border-color); border-left: 5px solid var(--hover-color); }
.ab_quote:before { content: "\f10d"; font-family: "Font Awesome 5 Free", "FontAwesome"; font-weight: 900; position: absolute; left: 30px; top: 34px; font-size: 30px; color: var(--hover-color); opacity: .85; }
.ab_quote p { font-size: 19px; line-height: 1.8; font-weight: 500; color: var(--heading-color); margin: 0 0 14px; }
.ab_quote p:last-child { margin: 0; font-size: 15.5px; font-weight: 400; color: var(--para-color); }

/* ---------------- 4. the big question band ---------------- */
.ab_ask { position: relative; margin: 20px 0 0; padding: 80px 30px; border-radius: 28px; text-align: center; overflow: hidden; color: #fff;
    background: linear-gradient(135deg, #1b1a4a 0%, #04031d 55%, #fa5b41 160%); }
.ab_ask:before, .ab_ask:after { content: ""; position: absolute; border-radius: 50%; filter: blur(70px); opacity: .55; }
.ab_ask:before { width: 320px; height: 320px; left: -90px; top: -110px; background: #fa5b41; }
.ab_ask:after { width: 300px; height: 300px; right: -80px; bottom: -120px; background: #6a5cff; }
.ab_ask > * { position: relative; z-index: 1; }
.ab_ask small { display: block; font-size: 13px; letter-spacing: 3px; text-transform: uppercase; color: rgba(255, 255, 255, .7); margin-bottom: 18px; }
.ab_ask h2 { font-size: 40px; line-height: 1.35; font-weight: 700; text-transform: none; color: #fff; margin: 0 auto; max-width: 780px; }
.ab_ask h2 em { font-style: normal; background: linear-gradient(135deg, #ff8a50, #ffd2a8); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.ab_ask .ab_story { max-width: 720px; margin: 28px auto 0; font-size: 16px; line-height: 1.9; color: rgba(255, 255, 255, .78); }

/* ---------------- 5. vision points ---------------- */
.ab_vision { display: flex; gap: 26px; flex-wrap: wrap; }
.ab_vp { flex: 1 1 calc(33.333% - 18px); min-width: 250px; padding: 34px 28px; border-radius: 20px; background: var(--box-color); border: 1px solid var(--border-color); position: relative; transition: transform .35s, box-shadow .35s; }
.ab_vp:hover { transform: translateY(-8px); box-shadow: 0 20px 44px rgba(250, 91, 65, .2); }
.ab_vp .ab_num { position: absolute; right: 22px; top: 14px; font-size: 54px; font-weight: 700; line-height: 1; color: var(--hover-color); opacity: .13; }
.ab_vp .ab_ic { width: 54px; height: 54px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 20px; margin-bottom: 20px; background: linear-gradient(135deg, #fa5b41, #ff8a50); }
.ab_vp h3 { font-size: 19px; font-weight: 600; text-transform: none; margin: 0 0 10px; color: var(--heading-color); }
.ab_vp p { font-size: 15px; line-height: 1.85; color: var(--para-color); margin: 0; }
.ab_vision_intro { max-width: 760px; margin: 0 auto 44px; text-align: center; font-size: 17px; line-height: 1.95; color: var(--para-color); }

/* ---------------- 6. many voices ---------------- */
.ab_voices { display: flex; align-items: center; gap: 50px; padding: 50px; border-radius: 26px; background: var(--box-color); border: 1px solid var(--border-color); }
.ab_voices_art { flex: 0 0 280px; height: 220px; position: relative; }
.ab_voices_art i { position: absolute; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-style: normal; animation: ab_float 5s ease-in-out infinite; box-shadow: 0 12px 30px rgba(0, 0, 0, .25); }
.ab_voices_art i:nth-child(1) { width: 96px; height: 96px; left: 90px; top: 50px; font-size: 34px; background: linear-gradient(135deg, #fa5b41, #ff8a50); z-index: 2; }
.ab_voices_art i:nth-child(2) { width: 66px; height: 66px; left: 6px; top: 8px; font-size: 22px; background: linear-gradient(135deg, #6a5cff, #9a8cff); animation-delay: -1.5s; }
.ab_voices_art i:nth-child(3) { width: 70px; height: 70px; right: 6px; top: 0; font-size: 24px; background: linear-gradient(135deg, #1fb6a6, #5ad8c8); animation-delay: -3s; }
.ab_voices_art i:nth-child(4) { width: 60px; height: 60px; left: 30px; bottom: 0; font-size: 20px; background: linear-gradient(135deg, #f7b733, #fc4a1a); animation-delay: -2s; }
.ab_voices_art i:nth-child(5) { width: 64px; height: 64px; right: 24px; bottom: 6px; font-size: 22px; background: linear-gradient(135deg, #ec4899, #f9a8d4); animation-delay: -.8s; }
@keyframes ab_float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
.ab_voices_txt h2 { font-size: 30px; font-weight: 600; text-transform: none; line-height: 1.4; margin: 0 0 16px; color: var(--heading-color); }
.ab_voices_txt p { font-size: 15.5px; line-height: 1.9; color: var(--para-color); margin: 0 0 12px; }
.ab_voices_txt p:last-child { margin: 0; }
.ab_voices_txt p strong { color: var(--heading-color); font-weight: 600; }

/* ---------------- 7. looking ahead + signature ---------------- */
.ab_ahead { text-align: center; max-width: 780px; margin: 0 auto; }
.ab_ahead p { font-size: 16.5px; line-height: 1.95; color: var(--para-color); margin: 0 0 16px; }
.ab_sign { max-width: 560px; margin: 50px auto 0; padding: 40px 30px; text-align: center; border-radius: 22px; background: var(--box-color); border: 1px solid var(--border-color); position: relative; }
.ab_sign:before { content: ""; position: absolute; left: 50%; top: -1px; width: 120px; height: 4px; transform: translateX(-50%); border-radius: 0 0 6px 6px; background: linear-gradient(90deg, #fa5b41, #ff8a50); }
.ab_sign h4 { font-size: 30px; font-weight: 700; text-transform: none; margin: 0 0 6px; color: var(--heading-color); }
.ab_sign span { display: block; font-size: 14.5px; line-height: 1.9; color: var(--para-color); }
.ab_sign span b { color: var(--hover-color); font-weight: 600; }
.ab_sign em { display: block; margin-top: 18px; font-style: normal; font-size: 15px; line-height: 1.8; color: var(--heading-color); font-weight: 500; }
.ab_actions { margin-top: 30px; display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }

/* ---------------- responsive ---------------- */
@media (max-width: 991px) {
    .ab_hero { flex-direction: column; text-align: center; gap: 36px; }
    .ab_avatar_col { flex-basis: auto; }
    .ab_hero_txt h1 { font-size: 42px; }
    .ab_chips { justify-content: center; }
    .ab_roles { flex-direction: column; }
    .ab_voices { flex-direction: column; padding: 36px 26px; gap: 30px; text-align: center; }
    .ab_voices_art { flex-basis: auto; width: 280px; }
}
@media (max-width: 767px) {
    .ab_page { padding-top: 40px; }
    .ab_section { padding: 46px 0; }
    .ab_head h2 { font-size: 27px; }
    .ab_avatar { width: 240px; height: 240px; }
    .ab_avatar_in b { font-size: 60px; }
    .ab_hero_txt h1 { font-size: 34px; }
    .ab_timeline:before { left: 32px; transform: none; }
    .ab_node { left: 0; margin-left: 0; width: 56px; height: 56px; font-size: 19px; }
    .ab_step, .ab_step:nth-child(even) { justify-content: flex-end; }
    .ab_card { width: calc(100% - 82px); padding: 24px 20px; }
    .ab_quote { padding: 70px 24px 28px; }
    .ab_quote:before { left: 24px; top: 24px; }
    .ab_quote p { font-size: 17px; }
    .ab_ask { padding: 56px 20px; border-radius: 20px; }
    .ab_ask h2 { font-size: 27px; }
}
@media (prefers-reduced-motion: reduce) {
    .ab_avatar, .ab_avatar_in, .ab_wave i, .ab_node:after, .ab_voices_art i { animation: none; }
    .ab_wave i { height: 24px; }
    .ab_reveal { opacity: 1; transform: none; transition: none; }
}
