/* ===========================================================
   BHE UNI — We Are page (v2 redesign)
   Every rule is scoped to .weare-v2 so it does not leak into the
   shared layout. Heading/paragraph sizes use !important because
   front/css/style.css forces h1–h6 and p sizes with !important.
   =========================================================== */
.weare-v2 {
  --navy-950: #06122a;
  --navy-900: #0a1a33;
  --navy-800: #0f2747;
  --navy-700: #16315a;
  --brand-50: #fff5ed;
  --brand-100: #ffe8d4;
  --brand-200: #ffd0a8;
  --brand-300: #ffb877;
  --brand-400: #ff9a47;
  --brand-500: #f47b20;
  --brand-600: #dd6610;
  --blue-grad: linear-gradient(135deg, #1c3f9e, #2a55cf 55%, #3f74e8);
  --orange-grad: linear-gradient(90deg, #f7a823, #f47b20);
  --section-pad: 48px;
  font-family: "Kanit", system-ui, -apple-system, sans-serif;
  color: var(--navy-900);
  -webkit-font-smoothing: antialiased;
}
.weare-v2 h1, .weare-v2 h2, .weare-v2 h3, .weare-v2 p { margin-top: 0; }

/* ---- helpers ---- */
.weare-v2 .font-display { font-family: "Kanit", sans-serif; }
.weare-v2 .fw-semi { font-weight: 600; }
.weare-v2 .text-brand { color: var(--brand-500) !important; }
.weare-v2 .text-navy { color: var(--navy-900) !important; }
.weare-v2 .bg-soft-line { background: #f8fafc; border-top: 1px solid #e8edf3; border-bottom: 1px solid #e8edf3; }
.weare-v2 .section { padding-top: var(--section-pad); padding-bottom: var(--section-pad); }
.weare-v2 .section-title { font-weight: 600; letter-spacing: -.01em; line-height: 1.1; font-size: clamp(1.9rem, 3.6vw, 2.7rem) !important; color: var(--navy-900); }
.weare-v2 .section-sub { font-size: 17px !important; line-height: 1.6; color: #5b6b82; }
.weare-v2 .muted-note { font-size: 14px !important; color: #94a3b8; }
@media (min-width: 768px) { .weare-v2 .nowrap-md { white-space: nowrap; } }

/* ---- buttons ---- */
.weare-v2 .btn { border-radius: 999px; font-weight: 600; transition: all .3s cubic-bezier(.16,1,.3,1); }
.weare-v2 .btn-lg { padding: .85rem 2rem; font-size: 16px; }
.weare-v2 .btn-brand { background: var(--orange-grad); color: #fff; border: none; box-shadow: 0 14px 30px -12px rgba(244,123,32,.6); }
.weare-v2 .btn-brand:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 18px 40px -10px rgba(244,123,32,.85); }
.weare-v2 .btn-navy-grad { background: var(--blue-grad); color: #fff; border: none; box-shadow: 0 14px 34px -14px rgba(28,63,158,.7); }
.weare-v2 .btn-navy-grad:hover { color: #fff; transform: translateY(-2px); }
.weare-v2 .btn-ghost-navy { color: var(--navy-800); border: 1px solid rgba(10,26,51,.15); background: #fff; }
.weare-v2 .btn-ghost-navy:hover { color: var(--brand-600); border-color: var(--brand-300); transform: translateY(-2px); }
.weare-v2 .btn-sm-pill { font-size: 14px; padding: .5rem 1rem; }

/* ---- icon chips ---- */
.weare-v2 .chip { display: grid; place-items: center; border-radius: 14px; width: 56px; height: 56px; flex: none; }
.weare-v2 .chip .bi { font-size: 26px; }
.weare-v2 .chip-brand { background: var(--brand-500); color: #fff; }

/* ---- hero ---- */
.weare-v2 .hero {
  position: relative; overflow: hidden; text-align: left;
  padding-top: 72px; padding-bottom: var(--section-pad);
  background: linear-gradient(125deg,#eaf2fb 0%,#f6f9fc 38%,#f4f9f1 72%,#edf6e8 100%);
}
.weare-v2 .hero::before {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .5;
  background-image:
    radial-gradient(34% 44% at 86% 14%, rgba(244,123,32,.12), transparent 60%),
    radial-gradient(30% 40% at 10% 88%, rgba(45,212,191,.14), transparent 62%),
    radial-gradient(26% 34% at 78% 82%, rgba(42,85,207,.10), transparent 60%);
}
.weare-v2 .hero > * { position: relative; z-index: 1; }
.weare-v2 .hero-grid {
  position: absolute; inset: 0; opacity: .4;
  background-image: linear-gradient(rgba(15,39,71,.05) 1px,transparent 1px), linear-gradient(90deg,rgba(15,39,71,.05) 1px,transparent 1px);
  background-size: 60px 60px;
  -webkit-mask-image: radial-gradient(120% 100% at 50% 30%, #000 55%, transparent);
  mask-image: radial-gradient(120% 100% at 50% 30%, #000 55%, transparent);
}
.weare-v2 .hero-bloom { position: absolute; border-radius: 999px; filter: blur(60px); }
.weare-v2 .hero-bloom.b1 { top: -120px; left: -90px; width: 440px; height: 440px; background: rgba(255,184,119,.16); }
.weare-v2 .hero-bloom.b2 { bottom: -140px; right: -60px; width: 460px; height: 460px; background: rgba(45,212,191,.16); }
.weare-v2 .hero-tick { position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 96px; height: 4px; border-radius: 0 0 99px 99px; background: var(--brand-500); }
.weare-v2 .hero h1 { font-weight: 600; letter-spacing: -.02em; line-height: 1.1; font-size: clamp(2.5rem, 5vw, 60px) !important; color: var(--navy-900); margin: 0; }
.weare-v2 .hero-lead { max-width: 540px; font-size: 18.5px !important; line-height: 1.6; color: #021023; }
.weare-v2 .hero-lead.soft { color: #5b6b82; }
.weare-v2 .hero-stat-num { font-family: "Kanit", sans-serif; font-weight: 600; font-size: 30px; line-height: 1; color: var(--navy-900); }
.weare-v2 .hero-stat-k { font-size: 13px; color: #64748b; }
.weare-v2 .hero-stat-sep { width: 1px; height: 38px; background: #e2e8f0; }

/* hero photo collage */
.weare-v2 .we-photos { position: relative; max-width: 540px; margin: 0 auto; min-height: 520px; }
.weare-v2 .wp-deco-square { position: absolute; right: 16px; top: 6px; width: 230px; height: 230px; border-radius: 34px; border: 2.5px solid rgba(244,123,32,.45); transform: rotate(8deg); z-index: 0; }
.weare-v2 .wp-deco-dots { position: absolute; left: -14px; bottom: 54px; width: 120px; height: 120px; z-index: 0; background-image: radial-gradient(var(--brand-400) 2px, transparent 2px); background-size: 16px 16px; opacity: .5; border-radius: 12px; }
.weare-v2 .wp-deco-blob { position: absolute; left: 30px; top: -10px; width: 200px; height: 200px; border-radius: 50%; background: radial-gradient(circle,rgba(45,212,191,.28),transparent 65%); filter: blur(8px); z-index: 0; }
.weare-v2 .wp-frame { position: absolute; overflow: hidden; border: 6px solid #fff; box-shadow: 0 34px 70px -34px rgba(10,26,51,.5); background: #dce3ec; }
.weare-v2 .wp-frame img { width: 100%; height: 100%; object-fit: cover; display: block; }
.weare-v2 .wp-main { left: 14px; top: 46px; width: 286px; height: 368px; border-radius: 143px 143px 26px 26px; z-index: 2; }
.weare-v2 .wp-main::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 -70px 60px -40px rgba(10,26,51,.45); pointer-events: none; }
.weare-v2 .wp-sec { right: 8px; top: 0; width: 210px; height: 210px; border-radius: 30px; z-index: 3; }
.weare-v2 .wp-circle { right: 46px; bottom: 26px; width: 158px; height: 158px; border-radius: 50%; z-index: 4; }
.weare-v2 .wp-chip { position: absolute; left: -6px; bottom: 8px; z-index: 5; display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid rgba(226,232,240,.9); border-radius: 16px; padding: 12px 16px 12px 12px; box-shadow: 0 24px 50px -26px rgba(10,26,51,.4); }
.weare-v2 .wp-avatars { display: flex; }
.weare-v2 .wp-avatars span { width: 30px; height: 30px; border-radius: 50%; border: 2px solid #fff; margin-left: -9px; display: grid; place-items: center; font-weight: 600; font-size: 11px; color: #fff; }
.weare-v2 .wp-avatars span:first-child { margin-left: 0; }
.weare-v2 .wp-avatars .a1 { background: #2a55cf; }
.weare-v2 .wp-avatars .a2 { background: #0d9488; }
.weare-v2 .wp-avatars .a3 { background: var(--brand-500); }
.weare-v2 .wp-avatars .a4 { background: #16315a; }
.weare-v2 .wp-chip-num { font-weight: 700; font-size: 16px; color: var(--navy-900); line-height: 1; }
.weare-v2 .wp-chip-k { font-size: 11.5px; color: #64748b; margin-top: 2px; }
.weare-v2 .wp-flag-tag { position: absolute; left: 26px; top: 64px; z-index: 5; display: inline-flex; align-items: center; gap: 7px; background: rgba(8,18,38,.55); backdrop-filter: blur(8px); border: 1px solid rgba(255,255,255,.2); border-radius: 999px; padding: 6px 13px 6px 7px; }
.weare-v2 .wp-flag-tag img { width: 22px; height: 15px; object-fit: cover; border-radius: 3px; }
.weare-v2 .wp-flag-tag span { color: #fff; font-size: 12px; font-weight: 600; }
.weare-v2 .wp-ribbon { position: absolute; right: 0; top: 150px; z-index: 5; background: var(--orange-grad); color: #fff; font-weight: 600; font-size: 13px; padding: 8px 15px; border-radius: 12px; box-shadow: 0 16px 30px -12px rgba(244,123,32,.6); }
@media (max-width: 991px) { .weare-v2 .we-photos { margin-top: 30px; min-height: 460px; max-width: 480px; } }
@media (max-width: 420px) { .weare-v2 .we-photos { min-height: 400px; transform: scale(.82); transform-origin: top center; } }

/* ---- cards ---- */
.weare-v2 .card-title-sm { font-family: "Kanit", sans-serif; font-weight: 600; font-size: 16.5px !important; color: var(--navy-900); }
.weare-v2 .card-title-md { font-family: "Kanit", sans-serif; font-weight: 600; font-size: 18px !important; color: var(--navy-900); }
.weare-v2 .card-title-lg { font-family: "Kanit", sans-serif; font-weight: 600; font-size: 22px !important; color: var(--navy-900); }
.weare-v2 .card-text-sm { font-size: 13.5px !important; line-height: 1.5; color: #64748b; }
.weare-v2 .card-text { font-size: 14px !important; line-height: 1.6; color: #5b6b82; }
.weare-v2 .card-text-md { font-size: 14.5px !important; line-height: 1.6; color: #5b6b82; }

.weare-v2 .diff-card { border-radius: 20px; padding: 28px; height: 100%; background: #fff; border: 1px solid rgba(226,232,240,.8); transition: all .3s; }
.weare-v2 .diff-card:hover { transform: translateY(-6px); box-shadow: 0 24px 50px -26px rgba(244,123,32,.4); border-color: rgba(255,184,119,.7); }
.weare-v2 .diff-num { font-weight: 700; font-size: 18px; color: #fff; width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: var(--orange-grad); }

.weare-v2 .support-card { position: relative; overflow: hidden; border-radius: 22px; padding: 32px; height: 100%; background: #fff; border: 1px solid rgba(226,232,240,.8); transition: all .3s; }
.weare-v2 .support-card:hover { transform: translateY(-4px); box-shadow: 0 26px 55px -26px rgba(244,123,32,.3); border-color: rgba(255,184,119,.7); }
.weare-v2 .support-card.dark { background: linear-gradient(135deg,#0a1a33,#0f2747); border: none; color: #fff; }
.weare-v2 .support-card.dark .card-title-lg { color: #fff; }
.weare-v2 .support-card.dark .card-text-md { color: rgba(255,255,255,.7); }
.weare-v2 .support-card.static:hover { transform: none; }
.weare-v2 .support-li { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; line-height: 1.4; color: var(--navy-800); font-weight: 500; }
.weare-v2 .support-card.dark .support-li { color: rgba(255,255,255,.82); }
.weare-v2 .support-li .bi { color: var(--brand-500); margin-top: 2px; flex: none; }
.weare-v2 .support-heading { font-family: "Kanit", sans-serif; font-weight: 600; font-size: clamp(1.6rem,3vw,2.1rem) !important; line-height: 1.15; color: #fff; }
.weare-v2 .support-text { font-size: 15px !important; line-height: 1.6; color: rgba(255,255,255,.7); }

.weare-v2 .comp-cell { display: flex; gap: 10px; align-items: flex-start; border-radius: 12px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); padding: 12px 16px; font-size: 14px; color: rgba(255,255,255,.9); }
.weare-v2 .comp-cell .bi { color: var(--brand-500); margin-top: 2px; }

/* ---- destinations ---- */
.weare-v2 .dest-chip { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--navy-800); background: #fff; border: 1px solid rgba(226,232,240,.85); border-radius: 999px; padding: 8px 16px 8px 8px; transition: all .3s; }
.weare-v2 .dest-chip:hover { border-color: rgba(255,184,119,.7); transform: translateY(-2px); box-shadow: 0 12px 26px -16px rgba(244,123,32,.5); }
.weare-v2 .dest-chip img { width: 30px; height: 21px; border-radius: 4px; object-fit: contain; background: #f1f5f9; border: 1px solid #e2e8f0; }
.weare-v2 .dest-mini { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; padding: 22px 12px; border-radius: 18px; background: #fff; border: 1px solid rgba(226,232,240,.8); transition: all .3s; height: 100%; }
.weare-v2 .dest-mini:hover { transform: translateY(-5px); border-color: rgba(255,184,119,.7); box-shadow: 0 22px 46px -26px rgba(244,123,32,.4); }
.weare-v2 .dest-mini-flag { width: 64px; height: 44px; border-radius: 8px; object-fit: contain; background: #f1f5f9; border: 1px solid #e2e8f0; box-shadow: 0 6px 14px -6px rgba(10,26,51,.25); }
.weare-v2 .dest-mini-name { font-size: 14px; font-weight: 600; color: var(--navy-900); }

/* ---- what we do ---- */
.weare-v2 .do-pill { display: inline-flex; align-items: center; gap: 10px; border-radius: 999px; background: #f8fafc; border: 1px solid rgba(226,232,240,.8); padding: 12px 20px; font-size: 14.5px; font-weight: 500; color: var(--navy-800); transition: all .3s; }
.weare-v2 .do-pill:hover { background: #fff; border-color: rgba(255,184,119,.7); color: var(--brand-600); transform: translateY(-2px); box-shadow: 0 12px 28px -18px rgba(244,123,32,.5); }
.weare-v2 .do-pill .bi { color: var(--brand-500); }
.weare-v2 .guide-link { display: inline-flex; align-items: center; gap: 8px; font-size: 14.5px; font-weight: 600; color: var(--navy-800); }
.weare-v2 .guide-link .bi { color: var(--brand-500); }
.weare-v2 .guide-link:hover { color: var(--brand-600); }

/* ---- impact ---- */
.weare-v2 .impact-sec { position: relative; overflow: hidden; background: var(--navy-950); color: #fff; }
.weare-v2 .impact-sec .bloom { position: absolute; border-radius: 999px; filter: blur(70px); }
.weare-v2 .impact-sec .bloom.b1 { top: -20%; left: 10%; width: 50%; height: 60%; background: rgba(244,123,32,.16); }
.weare-v2 .impact-sec .bloom.b2 { bottom: -20%; right: 0; width: 50%; height: 60%; background: rgba(20,184,166,.16); }
.weare-v2 .impact-title { font-family: "Kanit", sans-serif; font-weight: 600; font-size: clamp(1.9rem,3.6vw,2.7rem) !important; line-height: 1.1; color: #fff; }
.weare-v2 .impact-cell { border-radius: 18px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); padding: 28px 16px; height: 100%; transition: all .3s; }
.weare-v2 .impact-cell:hover { background: rgba(255,255,255,.07); transform: translateY(-4px); }
.weare-v2 .impact-cell .chip { background: rgba(244,123,32,.12); color: var(--brand-400); }
.weare-v2 .impact-cell .chip .bi { font-size: 24px; }
.weare-v2 .stat-num { font-weight: 700; line-height: 1; font-size: clamp(1.9rem,4vw,2.7rem); color: #fff; }
.weare-v2 .stat-k { font-size: 14px; color: rgba(255,255,255,.6); }

/* ---- mission & values ---- */
.weare-v2 .comp-dark { position: relative; overflow: hidden; background: var(--navy-950); color: #fff; border-radius: 22px; }
.weare-v2 .comp-dark > * { position: relative; }
.weare-v2 .comp-dark .blob { position: absolute; right: -48px; top: -48px; width: 192px; height: 192px; border-radius: 999px; background: rgba(244,123,32,.2); filter: blur(40px); transition: transform .7s; }
.weare-v2 .comp-dark:hover .blob { transform: scale(1.25); }
.weare-v2 .mission-title { font-family: "Kanit", sans-serif; font-weight: 600; font-size: 26px !important; color: #fff; }
.weare-v2 .mission-text { font-size: 15.5px !important; line-height: 1.7; color: rgba(255,255,255,.72); }
.weare-v2 .values-title { font-family: "Kanit", sans-serif; font-weight: 600; font-size: 20px !important; color: var(--navy-900); }
.weare-v2 .bhe-card { background: #fff; border: 1px solid rgba(226,232,240,.8); border-radius: 20px; transition: all .3s cubic-bezier(.16,1,.3,1); height: 100%; }
.weare-v2 .bhe-card.lift:hover { transform: translateY(-6px); border-color: rgba(255,184,119,.7); box-shadow: 0 24px 50px -26px rgba(244,123,32,.4); }
.weare-v2 .value-chip { display: inline-flex; align-items: center; gap: 10px; border-radius: 14px; background: #fff; border: 1px solid rgba(226,232,240,.8); padding: 14px 20px; font-size: 15.5px; font-weight: 600; color: var(--navy-900); transition: all .3s; }
.weare-v2 .value-chip:hover { border-color: rgba(255,184,119,.7); box-shadow: 0 12px 30px -18px rgba(244,123,32,.5); transform: translateY(-2px); }
.weare-v2 .value-chip .bi { color: var(--brand-500); }

/* ---- offices ---- */
.weare-v2 .office-item { display: flex; gap: 14px; align-items: flex-start; text-align: left; width: 100%; cursor: pointer; background: #fff; border: 1px solid rgba(226,232,240,.85); border-radius: 18px; padding: 18px 20px; transition: all .25s; }
.weare-v2 .office-item:hover { border-color: rgba(255,184,119,.7); transform: translateY(-2px); box-shadow: 0 16px 36px -24px rgba(244,123,32,.45); }
.weare-v2 .office-item.active { border-color: var(--brand-500); box-shadow: 0 18px 40px -22px rgba(244,123,32,.5); background: linear-gradient(135deg,#fff,#fff 70%,#fff8f2); }
.weare-v2 .office-item .pin { width: 44px; height: 44px; border-radius: 12px; flex: none; display: grid; place-items: center; font-size: 20px; color: #94a3b8; background: #f1f5f9; border: 1px solid #e2e8f0; transition: all .25s; }
.weare-v2 .office-item.active .pin { background: var(--orange-grad); color: #fff; border-color: transparent; }
.weare-v2 .office-item .o-city { font-weight: 600; font-size: 17px; color: var(--navy-900); line-height: 1.1; }
.weare-v2 .office-item .o-tag { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--brand-600); }
.weare-v2 .office-item .o-addr { font-size: 12.5px; line-height: 1.5; color: #64748b; margin-top: 6px; }
.weare-v2 .office-item .o-chev { color: #cbd5e1; align-self: center; transition: all .25s; }
.weare-v2 .office-item.active .o-chev { color: var(--brand-500); transform: translateX(2px); }
.weare-v2 .office-map-card { background: #fff; border: 1px solid rgba(226,232,240,.85); border-radius: 22px; overflow: hidden; box-shadow: 0 30px 70px -38px rgba(10,26,51,.4); display: flex; flex-direction: column; }
.weare-v2 .office-map-frame { position: relative; width: 100%; min-height: 300px; flex: 1; background: #eef2f6; }
.weare-v2 .office-map-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.weare-v2 .office-detail { padding: 22px 24px; border-top: 1px solid rgba(226,232,240,.8); }
.weare-v2 .office-detail-title { font-weight: 600; font-size: 18px; color: var(--navy-900); }
.weare-v2 .office-detail .d-row { display: flex; align-items: flex-start; gap: 10px; font-size: 13.5px; color: #475569; line-height: 1.5; }
.weare-v2 .office-detail .d-row i { color: var(--brand-500); margin-top: 3px; flex: none; }
.weare-v2 .office-detail .d-row a { color: #475569; }
.weare-v2 .office-detail .d-row a:hover { color: var(--brand-600); }
.weare-v2 .badge-tag { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--brand-600); background: var(--brand-50); border: 1px solid var(--brand-100); border-radius: 999px; padding: 4px 12px; white-space: nowrap; }

/* ---- leadership ---- */
.weare-v2 .leader-photo { width: 100%; aspect-ratio: 1/1; overflow: hidden; background: #eef2f6; }
.weare-v2 .leader-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; transition: transform .4s ease; }
.weare-v2 .bhe-card.lift:hover .leader-photo img { transform: scale(1.04); }
.weare-v2 .leader-name { font-family: "Kanit", sans-serif; font-weight: 600; font-size: 18px !important; color: var(--navy-900); }
.weare-v2 a:hover .leader-name { color: var(--brand-600); }
.weare-v2 .leader-role { font-size: 13.5px !important; font-weight: 600; color: var(--brand-500); }

/* ---- faq ---- */
.weare-v2 .faq-item { border-radius: 18px; background: #fff; border: 1px solid rgba(226,232,240,.8); transition: all .3s; }
.weare-v2 .faq-item.open { background: linear-gradient(135deg,#fff,#fff 60%,#f8fafc); border-color: rgba(226,232,240,.6); box-shadow: 0 22px 55px -28px rgba(10,26,51,.28); }
.weare-v2 .faq-q { width: 100%; display: flex; align-items: center; gap: 20px; text-align: left; background: none; border: none; padding: 20px 28px; }
.weare-v2 .faq-badge { width: 44px; height: 44px; border-radius: 999px; display: grid; place-items: center; font-weight: 600; font-size: 15px; color: var(--navy-900); flex: none; background: linear-gradient(135deg,#eff6ff,#fff 50%,#fff5ed); border: 1px solid rgba(226,232,240,.7); }
.weare-v2 .faq-item.open .faq-badge { background: #fff; border: 1px solid rgba(226,232,240,.8); box-shadow: 0 5px 14px -4px rgba(10,26,51,.18); }
.weare-v2 .faq-q-text { flex: 1; font-weight: 600; font-size: 17px; color: var(--navy-900); }
.weare-v2 .faq-toggle { color: var(--brand-500); flex: none; transition: transform .3s; }
.weare-v2 .faq-a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease; }
.weare-v2 .faq-item.open .faq-a { grid-template-rows: 1fr; }
.weare-v2 .faq-a-inner { overflow: hidden; }
.weare-v2 .faq-a p { padding: 0 64px 24px 76px; margin: 0; font-size: 15px !important; line-height: 1.6; color: #64748b; }
@media (max-width: 991px) { .weare-v2 .faq-a p { padding: 0 24px 20px 24px; } .weare-v2 .faq-q { padding: 18px 20px; gap: 14px; } }

/* ---- bottom CTA ---- */
.weare-v2 .cta-banner-sec { padding: 48px 0 64px; background: #fff; }
.weare-v2 .cta-banner { position: relative; overflow: hidden; border-radius: 34px; padding: 64px 32px; text-align: center; background: linear-gradient(108deg,#142c7a 0%,#2452cf 52%,#3f74e8 100%); box-shadow: 0 44px 90px -44px rgba(20,52,140,.7); }
.weare-v2 .cta-banner::before { content: ""; position: absolute; inset: 0; background: radial-gradient(120% 90% at 88% 18%, rgba(255,255,255,.16), transparent 55%), radial-gradient(90% 80% at 8% 92%, rgba(8,20,60,.45), transparent 60%); pointer-events: none; }
.weare-v2 .cta-banner::after { content: ""; position: absolute; right: -70px; top: -70px; width: 260px; height: 260px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,.12); pointer-events: none; }
.weare-v2 .cta-banner > * { position: relative; z-index: 1; }
.weare-v2 .cta-banner h2 { font-weight: 700; font-size: clamp(1.9rem,4.2vw,3rem) !important; line-height: 1.08; color: #fff; margin: 0; }
.weare-v2 .cta-banner p { font-size: 16px !important; line-height: 1.65; color: rgba(255,255,255,.78); max-width: 620px; margin: 16px auto 0; }
.weare-v2 .cta-banner .btn-cta { display: inline-flex; align-items: center; gap: 8px; margin-top: 30px; padding: 14px 34px; border-radius: 999px; font-weight: 600; font-size: 15.5px; color: #fff; border: 1.5px solid rgba(255,255,255,.65); background: transparent; transition: all .25s; }
.weare-v2 .cta-banner .btn-cta:hover { background: #fff; color: #1c3f9e; border-color: #fff; transform: translateY(-2px); box-shadow: 0 18px 36px -16px rgba(0,0,0,.4); }
@media (max-width: 575px) { .weare-v2 .cta-banner { padding: 48px 22px; border-radius: 26px; } }

/* ---- scroll reveal (only hides content once JS has run) ---- */
@media (max-width: 575px) {
  .weare-v2 .container-xxl > .row.g-5 { --bs-gutter-x: 1.5rem; }
}
.weare-v2.js-reveal .reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1); }
.weare-v2.js-reveal .reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .weare-v2.js-reveal .reveal { opacity: 1; transform: none; transition: none; }
}
