/* ── About page styles (scoped under .ap) ── */
.ap * { box-sizing: border-box; }
.ap { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.ap h1,.ap h2,.ap h3,.ap h4 { line-height: 1.2; font-weight: 700; margin: 0; }
.ap p { line-height: 1.75; margin: 0; }
.ap a { text-decoration: none; }

/* Tokens reused from layout */
.ap { --pink:#ff497c; --pink-dark:#e0345f; --pink-light:#fff0f4; --dark:#0f0f1a; --dark2:#1c1c30; --text:#2d2d3a; --muted:#6b7280; --border:#e5e7eb; --bg:#f9fafb; --white:#ffffff; --radius:12px; --shadow:0 4px 24px rgba(0,0,0,.07); }

/* Shared */
.ap .section    { padding: 96px 0; }
.ap .section-sm { padding: 64px 0; }
.ap .wrap       { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.ap .tag        { display:inline-block; background:var(--pink-light); color:var(--pink); font-size:13px; font-weight:600; padding:5px 14px; border-radius:40px; letter-spacing:.4px; margin-bottom:16px; }
.ap .sec-title  { font-size:clamp(28px,4vw,40px); color:var(--dark); margin-bottom:12px; }
.ap .sec-sub    { font-size:17px; color:var(--muted); }
.ap .text-center{ text-align:center; }
.ap .btn-pink   { display:inline-flex; align-items:center; gap:8px; background:var(--pink); color:#fff; font-weight:600; font-size:15px; padding:13px 28px; border-radius:8px; transition:background .2s,transform .15s; }
.ap .btn-pink:hover { background:var(--pink-dark); transform:translateY(-2px); color:#fff; }
.ap .btn-outline{ display:inline-flex; align-items:center; gap:8px; background:transparent; color:var(--pink); font-weight:600; font-size:15px; padding:12px 28px; border-radius:8px; border:2px solid var(--pink); transition:background .2s,color .2s; }
.ap .btn-outline:hover { background:var(--pink); color:#fff; }

/* ── PAGE HERO ── */
.ap .page-hero {
    background: linear-gradient(135deg, var(--dark) 0%, var(--dark2) 60%, #1e0a30 100%);
    padding: 80px 0 70px; position: relative; overflow: hidden;
}
.ap .page-hero::before {
    content:''; position:absolute; top:-40%; right:-10%; width:600px; height:600px;
    background: radial-gradient(circle, rgba(255,73,124,.14) 0%, transparent 70%);
    pointer-events:none;
}
.ap .hero-breadcrumb { display:flex; align-items:center; gap:8px; margin-bottom:20px; }
.ap .hero-breadcrumb a { font-size:13px; color:rgba(255,255,255,.8); transition:color .2s; }
.ap .hero-breadcrumb a:hover { color:var(--pink); }
.ap .hero-breadcrumb span { font-size:13px; color:rgba(255,255,255,.5); }
.ap .page-hero h1 { font-size:clamp(36px,5vw,56px); color:#fff; font-weight:800; margin-bottom:16px; }
.ap .page-hero h1 em { font-style:normal; color:var(--pink); }
.ap .page-hero p  { font-size:18px; color:rgba(255,255,255,.65); max-width:560px; line-height:1.7; margin-bottom:32px; }
.ap .hero-chips   { display:flex; flex-wrap:wrap; gap:10px; }
.ap .chip { display:inline-flex; align-items:center; gap:6px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); color:rgba(255,255,255,.75); font-size:13px; font-weight:500; padding:6px 14px; border-radius:40px; }
.ap .chip i { color:var(--pink); }

/* ── VIDEO / INTRO ── */
.ap .intro-section { background:var(--white); }
.ap .intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.ap .intro-text .tag { margin-bottom:14px; }
.ap .intro-text h2 { font-size:clamp(26px,3.5vw,38px); color:var(--dark); margin-bottom:20px; }
.ap .intro-text p  { font-size:16px; color:var(--muted); margin-bottom:18px; }
.ap .intro-text .highlight-box {
    background:var(--pink-light); border-left:3px solid var(--pink);
    padding:16px 20px; border-radius:0 8px 8px 0; margin:24px 0;
    font-size:15px; color:var(--text); font-style:italic;
}
.ap .intro-video-wrap {
    border-radius:16px; overflow:hidden; position:relative;
    box-shadow:0 20px 60px rgba(0,0,0,.15); aspect-ratio:16/9;
}
.ap .intro-video-wrap video { width:100%; height:100%; object-fit:cover; display:block; }
.ap .video-play-label {
    position:absolute; bottom:16px; left:16px;
    background:rgba(0,0,0,.6); backdrop-filter:blur(8px);
    color:#fff; font-size:12px; font-weight:600; padding:6px 14px; border-radius:20px;
    display:flex; align-items:center; gap:6px;
}
.ap .video-play-label::before { content:'▶'; color:var(--pink); }

/* ── STATS STRIP ── */
.ap .about-stats { background:linear-gradient(135deg,var(--dark),var(--dark2)); }
.ap .stats-row { display:grid; grid-template-columns:repeat(4,1fr); }
.ap .astat { padding:48px 24px; text-align:center; border-right:1px solid rgba(255,255,255,.08); }
.ap .astat:last-child { border-right:none; }
.ap .astat-num { font-size:clamp(36px,4.5vw,52px); font-weight:800; color:#fff; line-height:1; margin-bottom:6px; }
.ap .astat-num span { color:var(--pink); }
.ap .astat-lbl { font-size:13px; color:rgba(255,255,255,.5); }

/* ── MISSION / VISION / VALUES ── */
.ap .mvv { background:var(--bg); }
.ap .mvv-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.ap .mvv-card {
    background:var(--white); border-radius:var(--radius); padding:36px 28px;
    border:1px solid var(--border); transition:transform .25s,box-shadow .25s;
    position:relative; overflow:hidden;
}
.ap .mvv-card::before {
    content:''; position:absolute; top:0; left:0; right:0; height:3px;
    background:linear-gradient(90deg,var(--pink),#ff8f6b);
}
.ap .mvv-card:hover { transform:translateY(-6px); box-shadow:0 16px 48px rgba(255,73,124,.12); }
.ap .mvv-icon { font-size:32px; margin-bottom:18px; display:block; }
.ap .mvv-card h3 { font-size:20px; color:var(--dark); margin-bottom:12px; }
.ap .mvv-card p  { font-size:14px; color:var(--muted); }

/* ── CAPABILITIES (Explore / Create / Learn) ── */
.ap .capabilities { background:var(--white); }
.ap .cap-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.ap .cap-card {
    border-radius:var(--radius); padding:40px 32px; text-align:center;
    transition:transform .25s,box-shadow .25s; border:1px solid var(--border);
    background:var(--white);
}
.ap .cap-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); }
.ap .cap-img { width:80px; height:80px; margin:0 auto 24px; border-radius:50%; background:var(--pink-light); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.ap .cap-img img { width:48px; height:48px; object-fit:contain; }
.ap .cap-card h3 { font-size:20px; color:var(--dark); margin-bottom:16px; }
.ap .cap-tag { display:inline-block; background:var(--bg); color:var(--muted); font-size:13px; padding:4px 12px; border-radius:20px; margin:3px 2px; border:1px solid var(--border); }

/* ── TIMELINE ── */
.ap .timeline-section { background:var(--bg); }
.ap .timeline { position:relative; padding-left:40px; }
.ap .timeline::before {
    content:''; position:absolute; left:19px; top:0; bottom:0; width:2px;
    background:linear-gradient(to bottom,var(--pink),rgba(255,73,124,.1));
}
.ap .tl-item { position:relative; padding:0 0 56px 40px; }
.ap .tl-item:last-child { padding-bottom:0; }
.ap .tl-dot {
    position:absolute; left:-21px; top:4px;
    width:16px; height:16px; border-radius:50%;
    background:var(--white); border:3px solid var(--pink);
    box-shadow:0 0 0 4px rgba(255,73,124,.15);
}
.ap .tl-year { font-size:13px; font-weight:700; color:var(--pink); letter-spacing:.5px; margin-bottom:6px; }
.ap .tl-title { font-size:22px; font-weight:700; color:var(--dark); margin-bottom:10px; }
.ap .tl-text  { font-size:15px; color:var(--muted); max-width:480px; }
.ap .tl-grid  { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.ap .tl-image { border-radius:16px; overflow:hidden; box-shadow:var(--shadow); }
.ap .tl-image img { width:100%; height:auto; display:block; }

/* ── TESTIMONIALS ── */
.ap .testimonials { background:var(--white); }
.ap .testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.ap .testi-card {
    background:var(--bg); border-radius:var(--radius); padding:32px 28px;
    border:1px solid var(--border); transition:transform .25s,box-shadow .25s;
}
.ap .testi-card:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.ap .testi-stars { color:#f59e0b; font-size:15px; letter-spacing:2px; margin-bottom:14px; }
.ap .testi-quote { font-size:38px; color:var(--pink); line-height:.8; margin-bottom:8px; font-family:Georgia,serif; }
.ap .testi-text  { font-size:15px; color:var(--text); line-height:1.7; font-style:italic; margin-bottom:22px; }
.ap .testi-author { display:flex; align-items:center; gap:12px; }
.ap .testi-av { width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg,var(--pink),#ff8f6b); display:flex; align-items:center; justify-content:center; font-weight:700; color:#fff; font-size:15px; flex-shrink:0; }
.ap .testi-info .name { font-size:14px; font-weight:700; color:var(--dark); }
.ap .testi-info .role { font-size:12px; color:var(--muted); margin-top:2px; }

/* ── CONTACT ── */
.ap .contact-section { background:var(--bg); }
.ap .contact-grid { display:grid; grid-template-columns:1fr 1.5fr; gap:64px; align-items:start; }
.ap .contact-text h2 { font-size:clamp(24px,3vw,34px); color:var(--dark); margin-bottom:14px; }
.ap .contact-text p  { font-size:16px; color:var(--muted); margin-bottom:32px; }
.ap .contact-item { display:flex; align-items:flex-start; gap:14px; margin-bottom:20px; }
.ap .c-icon { width:42px; height:42px; border-radius:10px; background:var(--pink-light); display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0; }
.ap .c-info .lbl { font-size:11px; font-weight:700; color:var(--pink); text-transform:uppercase; letter-spacing:.5px; }
.ap .c-info a,.ap .c-info span { font-size:14px; color:var(--text); display:block; margin-top:2px; }
.ap .c-info a:hover { color:var(--pink); }
.ap .contact-form-card { background:var(--white); border-radius:16px; padding:40px; box-shadow:var(--shadow); border:1px solid var(--border); }
.ap .f-row  { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.ap .f-full { grid-column:1/-1; }
.ap .f-group label { display:block; font-size:13px; font-weight:600; color:var(--text); margin-bottom:6px; }
.ap .f-group label span { color:var(--pink); }
.ap .f-control {
    width:100%; padding:12px 16px; border:1px solid var(--border); border-radius:8px;
    font-size:14px; color:var(--text); background:var(--bg); outline:none;
    transition:border-color .2s,box-shadow .2s;
}
.ap .f-control:focus { border-color:var(--pink); box-shadow:0 0 0 3px rgba(255,73,124,.1); background:#fff; }
textarea.f-control { resize:vertical; min-height:120px; }

/* ── Responsive ── */
@media(max-width:1024px){
    .ap .intro-grid { grid-template-columns:1fr; gap:40px; }
    .ap .stats-row  { grid-template-columns:1fr 1fr; }
    .ap .astat      { border-right:none; border-bottom:1px solid rgba(255,255,255,.08); }
    .ap .astat:nth-child(2n){ border-right:none; }
    .ap .astat:nth-child(2n+1){ border-right:1px solid rgba(255,255,255,.08); }
    .ap .mvv-grid, .ap .cap-grid { grid-template-columns:1fr 1fr; }
    .ap .tl-grid { grid-template-columns:1fr; }
    .ap .testi-grid { grid-template-columns:1fr 1fr; }
    .ap .contact-grid { grid-template-columns:1fr; gap:40px; }
}
@media(max-width:768px){
    .ap .mvv-grid,.ap .cap-grid,.ap .testi-grid { grid-template-columns:1fr; }
    .ap .stats-row { grid-template-columns:1fr 1fr; }
    .ap .f-row { grid-template-columns:1fr; }
    .ap .section { padding:64px 0; }
    .ap .contact-form-card { padding:24px 18px; }
}
