.about-page { padding-top: 72px; }
    .about-hero { position: relative; overflow: hidden; min-height: 420px; aspect-ratio: 3 / 1; display: flex; align-items: center; padding: 80px 56px 70px; }
    .about-hero-bg { position: absolute; inset: 0; z-index: 0; }
    .about-hero-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center 60%; display: block; }
    .about-hero-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(105deg, rgba(10,10,10,.82) 0%, rgba(10,10,10,.58) 42%, rgba(10,10,10,.22) 72%, rgba(10,10,10,.06) 100%); }
    .about-hero-content { position: relative; z-index: 1; max-width: 62ch; }
    .about-hero h1 { font-family: 'Inter', sans-serif; font-size: 2.6rem; font-weight: 600; color: #fff; margin-bottom: 20px; line-height: 1.22; text-shadow: 0 2px 16px rgba(0,0,0,.3); }
    .about-hero p { color: rgba(255,255,255,.8); font-size: 1.04rem; font-weight: 300; line-height: 1.8; text-shadow: 0 1px 8px rgba(0,0,0,.2); }
    .about-hero::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.08), transparent); z-index: 1; }
    .about-intro { padding: 80px 56px 34px; background: #fff; border-bottom: 1px solid var(--border); }
    .about-intro-inner, .about-pillars-inner, .about-team-inner, .trust-strip-inner, .about-mv-inner { max-width: 1200px; margin: 0 auto; }
    .about-intro h2, .about-pillars h2, .about-team h2 { font-family: 'Inter', sans-serif; font-size: 1.8rem; font-weight: 600; color: var(--black); margin-bottom: 18px; text-wrap: balance; }
    .about-intro p, .about-team-intro { font-size: .95rem; color: #555; line-height: 1.85; max-width: 72ch; }
    .about-intro p { margin-bottom: 16px; }
    .expertise-row { display: flex; flex-wrap: wrap; gap: 10px; }
    .expertise-tag { display: inline-flex; align-items: center; font-weight: 600; }
    .about-pillars { padding: 60px 56px; background: var(--grey); border-bottom: 1px solid var(--border); }
    .section-label { font-size: .92rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #0072CE; margin-bottom: 12px; }
    .pillars-anim { display: flex; align-items: center; justify-content: flex-start; gap: 48px; padding: 8px 0 24px; overflow: visible; min-height: 180px; }
    .pa-boxes { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 8px; width: 136px; height: 136px; flex-shrink: 0; overflow: visible; padding-left: 4px; }
    .pa-box { border-radius: 8px; width: 64px; height: 64px; cursor: pointer; opacity: 0; transform: translateX(600px); transition: transform .2s ease; }
    .pa-box.arrived { opacity: 1; transform: translateX(0); transition: transform .8s cubic-bezier(.25,1,.5,1), opacity .5s ease; }
    .pa-box.hovered { transform: scale(1.06); transition: transform .2s ease; }
    .pa-box.b1 { background: #0072CE; } .pa-box.b2 { background: #E06F00; } .pa-box.b3 { background: #3F9C35; } .pa-box.b4 { background: #582B94; }
    .pa-tagline { opacity: 0; transition: opacity 1s ease; flex-shrink: 0; display: flex; flex-direction: column; justify-content: center; height: 136px; }
    .pa-tagline.show { opacity: 1; }
    .pa-tagline-name { font-family: 'Inter', sans-serif; font-size: 24px; font-weight: 600; color: var(--black); letter-spacing: .05em; }
    .pa-tagline-sub { font-size: 14px; color: #888; letter-spacing: .08em; margin-top: 4px; }
    .pa-info { width: 240px; height: 136px; position: relative; flex-shrink: 0; display: flex; align-items: center; }
    .pa-card { position: absolute; top: 50%; transform: translateY(-50%) translateX(16px); width: 100%; opacity: 0; transition: opacity .5s ease, transform .5s ease; pointer-events: none; }
    .pa-card.show { opacity: 1; transform: translateY(-50%) translateX(0); pointer-events: auto; }
.pa-dot { width: 10px; height: 10px; border-radius: 2px; display: inline-block; margin-right: 7px; vertical-align: middle; flex-shrink: 0; }
.pa-dot--trust { background: #0072CE; }
.pa-dot--growth { background: #E06F00; }
.pa-dot--sustainability { background: #3F9C35; }
.pa-dot--quality { background: #582B94; }
    .pa-title { font-family: 'Inter', sans-serif; font-size: 16px; font-weight: 600; color: var(--black); margin-bottom: 8px; display: flex; align-items: center; }
    .pa-desc { font-size: .88rem; color: #555; line-height: 1.75; }
    .about-mv { padding: 80px 56px; background: #fff; border-bottom: 1px solid var(--border); }
    .about-mv-inner { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
    .mv-card { padding: 34px 30px 30px; background: linear-gradient(180deg, #f7f8fb 0%, #eef3f8 100%); border: 1px solid rgba(0,114,206,.1); }
    .mv-card.dark { background: linear-gradient(180deg, #121212 0%, #1a1a1a 100%); border-color: rgba(255,255,255,.08); }
    .mv-card.warm { background: linear-gradient(180deg, #fff8ef 0%, #fff2e2 100%); border-color: rgba(232,119,34,.16); }
    .mv-icon { width: 60px; height: 60px; display: inline-flex; align-items: center; justify-content: center; border-radius: 18px; margin-bottom: 22px; background: linear-gradient(180deg, rgba(0,114,206,.1) 0%, rgba(0,114,206,.045) 100%); color: #0072CE; border: 1px solid rgba(0,114,206,.1); box-shadow: inset 0 1px 0 rgba(255,255,255,.78); }
    .mv-icon svg { width: 30px; height: 30px; stroke-linecap: round; stroke-linejoin: round; }
    .mv-card.dark .mv-icon { background: linear-gradient(180deg, rgba(255,255,255,.1) 0%, rgba(255,255,255,.04) 100%); color: #fff; border-color: rgba(255,255,255,.08); box-shadow: inset 0 1px 0 rgba(255,255,255,.05); }
    .mv-card.warm .mv-icon { background: linear-gradient(180deg, rgba(232,119,34,.14) 0%, rgba(232,119,34,.06) 100%); color: #d36714; border-color: rgba(232,119,34,.14); box-shadow: inset 0 1px 0 rgba(255,255,255,.7); }
    .mv-card h3 { font-size: .78rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #0072CE; margin-bottom: 14px; }
    .mv-card.dark h3 { color: #a9cfff; } .mv-card.warm h3 { color: #d36714; }
    .mv-card p { font-size: .96rem; color: var(--black); line-height: 1.8; font-weight: 300; }
    .mv-card.dark p { color: rgba(255,255,255,.84); }
    .trust-strip { padding: 36px 56px; background: #0f1722; color: #fff; border-bottom: 1px solid rgba(255,255,255,.08); }
    .trust-strip-inner { display: grid; grid-template-columns: 1.1fr 1.9fr; gap: 28px; align-items: center; }
    .trust-strip-title { font-family: 'Inter', sans-serif; font-size: 1.15rem; font-weight: 600; margin: 0; max-width: 520px; }
    .trust-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
    .trust-point { border-left: 1px solid rgba(255,255,255,.14); padding-left: 16px; }
    .trust-point strong { display: block; font-size: .82rem; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 8px; color: #a9cfff; }
    .trust-point span { display: block; font-size: .9rem; line-height: 1.65; color: rgba(255,255,255,.8); }
    .about-team { padding: 80px 56px; background: var(--grey); }
    .about-team .section-label { margin-bottom: 14px; }
    .about-team-intro { margin-bottom: 20px; }
    .team-grid { display: grid; grid-template-columns: repeat(2, minmax(280px, 420px)); justify-content: start; gap: 28px; }
    .team-card { background: #fff; border: 1px solid rgba(17,17,17,.06); box-shadow: 0 20px 48px rgba(18,26,38,.05); }
    .team-photo-wrap { width: 70%; aspect-ratio: 4 / 5; max-height: 284px; overflow: hidden; background: #dde3ea; position: relative; margin: 0 auto; }
    .team-photo { width: 100%; height: 100%; object-fit: cover; object-position: center 10%; display: block; transition: transform .45s ease, filter .45s ease; filter: saturate(.92) contrast(1.02); }
    .team-card:hover .team-photo { transform: scale(1.02); filter: saturate(1) contrast(1.03); }
.team-photo-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: #e0e0e0; font-size: 2.5rem; font-weight: 700; color: #bbb; }
.team-photo-placeholder[hidden] { display: none; }
    .team-card-info { padding: 26px 28px 28px; }
    .team-card h3 { font-size: 1.22rem; font-weight: 600; color: var(--black); margin-bottom: 4px; }
    .team-card .role { font-size: .78rem; color: #0072CE; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 14px; }
    .expertise-row { margin-top: 16px; }
    .expertise-tag { min-height: 30px; padding: 0 10px; background: #f4f7fb; border: 1px solid rgba(0,114,206,.12); color: #1f568b; font-size: .72rem; font-weight: 700; letter-spacing: .08em; }
    .team-card p { font-size: .89rem; color: #555; line-height: 1.75; margin-bottom: 0; }
    .team-contact { display: flex; align-items: center; gap: 16px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--border); flex-wrap: wrap; }
    .team-contact a { display: inline-flex; align-items: center; gap: 6px; font-size: .82rem; color: var(--link-color); text-decoration: none; transition: color .2s; }
    .team-contact a:hover { color: #0072CE; }
    .team-contact a.linkedin { color: #0077b5; }
    .team-contact a.linkedin:hover { color: #005885; }
    .about-cta { background: var(--black); padding: 60px 56px; display: flex; align-items: center; justify-content: space-between; gap: 40px; }
    .about-cta h2 { font-family: 'Inter', sans-serif; font-size: 1.8rem; font-weight: 600; color: #fff; max-width: 500px; }
    .cta-btn { display: inline-flex; align-items: center; gap: 8px; background: #fff; color: var(--black); text-decoration: none; font-weight: 600; font-size: .9rem; padding: 14px 28px; border-radius: 2px; white-space: nowrap; transition: background .2s, color .2s; flex-shrink: 0; }
    .cta-btn:hover { background: #0072CE; color: #fff; }
    .about-page a:focus-visible,
    .about-page button:focus-visible {
      outline: 2px solid #0072CE;
      outline-offset: 3px;
    }
    @media (max-width: 1024px) {
      .about-mv-inner, .trust-points { grid-template-columns: 1fr; }
      .trust-strip-inner { grid-template-columns: 1fr; }
    }
    @media (max-width: 900px) {
      .about-hero { padding: 56px 24px 48px; min-height: 320px; aspect-ratio: 4 / 3; }
      .about-hero h1 { font-size: 1.8rem; }
      .about-intro, .about-pillars, .about-mv, .trust-strip, .about-team, .about-cta { padding-left: 24px; padding-right: 24px; }
      .team-grid, .about-mv-inner { grid-template-columns: 1fr; }
      .team-grid { justify-content: stretch; }
      .about-cta { flex-direction: column; align-items: flex-start; }
      .pillars-anim { flex-direction: column; gap: 24px; align-items: flex-start; }
      .pa-info { width: 100%; height: auto; }
      .pa-tagline { height: auto; }
      .pa-card { position: relative; top: auto; transform: none; }
      .pa-card.show { transform: none; }
    }
    @media (max-width: 600px) {
      .about-hero h1 { font-size: 1.55rem; }
      .about-hero p,
      .about-intro p,
      .about-team-intro,
      .mv-card p,
      .trust-point span,
      .team-card p { font-size: .9rem; line-height: 1.7; }
      .about-intro h2, .about-pillars h2, .about-team h2, .about-cta h2 { font-size: 1.5rem; }
      .mv-card { padding: 28px 22px 24px; }
      .trust-strip-title { font-size: 1rem; }
      .team-grid { grid-template-columns: 1fr; }
      .team-card-info { padding: 22px 20px 24px; }
      .team-photo-wrap { width: 100%; max-height: 284px; }
      .team-contact { gap: 12px; }
      .team-contact a { font-size: .78rem; }
      .cta-btn { width: 100%; justify-content: center; }
    }
