/* About page: shared tokens, native reveal, client-strip controls and WordPress-ready sections. */
.about-page { --about-space: 88px; --about-panel: 24px; }
.a-section { padding: var(--about-space) var(--page-gutter); }
.a-hero { padding: 26px var(--page-gutter) 0; }
.a-breadcrumb { display:flex; flex-wrap:wrap; gap:12px; font-size:11px; line-height:1.8; color:var(--color-muted); }
.a-breadcrumb a:hover { text-decoration:underline; }
.a-hero__grid { display:grid; grid-template-columns:1.08fr 1fr; gap:64px; align-items:center; padding:44px 0 46px; }
.a-hero .section-kicker { font-size:clamp(52px,6.5vw,94px); }
.a-hero h1 { font-size:clamp(29px,3vw,43px); line-height:1.75; margin-top:30px; }
.a-hero__lead { margin-top:26px; font-size:17px; line-height:2.1; }
.a-text-link { display:inline-flex; align-items:center; gap:32px; padding:16px 0 10px; border-bottom:1px solid #A9B6BC; font-size:13px; margin-top:26px; }
.a-text-link span { font-size:22px; }
.a-text-link:hover { border-color:var(--color-accent); }
.a-commitment { padding:34px 38px 24px; background:var(--color-ink); color:white; border:1px solid #34393B; border-radius:22px; }
.a-commitment__head { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; padding-bottom:25px; border-bottom:1px solid #464B4D; }
.a-commitment__head p { font:500 10px/1.6 var(--font-en); letter-spacing:.14em; color:#C0C8CC; }
.a-commitment__head h2 { margin-top:13px; font-size:clamp(21px,2vw,28px); line-height:1.75; letter-spacing:.05em; }
.a-commitment__head .brand-mark { display:block; flex-shrink:0; width:31px; margin-top:5px; }
.a-commitment__list { list-style:none; margin:24px 0 0; padding:0; }
.a-commitment__list li { position:relative; display:grid; grid-template-columns:34px 1fr; gap:19px; padding-bottom:24px; }
.a-commitment__list li:last-child { padding-bottom:0; }
.a-commitment__list li:not(:last-child)::after { content:""; position:absolute; top:30px; bottom:5px; left:16px; width:1px; background:#575D5F; }
.a-commitment__number { display:flex; align-items:center; justify-content:center; width:34px; height:28px; font:400 11px/1 var(--font-en); letter-spacing:.08em; color:var(--color-accent); border-top:1px solid var(--color-accent); }
.a-commitment__list h3 { font-size:16px; font-weight:500; line-height:1.8; letter-spacing:.035em; }
.a-commitment__list p { margin-top:4px; font-size:12px; line-height:1.9; color:#C0C8CC; }
.a-commitment__foot { margin-top:26px; padding-top:17px; border-top:1px solid #464B4D; font:400 8px/1.7 var(--font-en); letter-spacing:.15em; color:#C0C8CC; }
.a-local-nav { display:flex; flex-wrap:wrap; border-top:1px solid var(--color-line); border-bottom:1px solid var(--color-line); gap:0 38px; }
.a-local-nav a { display:inline-flex; gap:24px; align-items:center; padding:20px 0; font-size:12px; line-height:1.8; }
.a-local-nav a:hover { text-decoration:underline; text-underline-offset:5px; }
.a-local-nav a span { font-size:20px; }
.a-section-heading { display:grid; grid-template-columns:1fr 1.2fr; gap:64px; align-items:center; margin-bottom:48px; }
.a-section-heading .section-kicker { font-size:clamp(38px,4.5vw,66px); line-height:1.2; }
.a-section-heading h2, .a-message h2 { font-size:clamp(24px,2.3vw,34px); line-height:1.8; letter-spacing:.015em; }
.a-section-heading p:not(.section-kicker) { margin-top:24px; font-size:15px; line-height:2; }
.a-small-label { display:block; font-size:12px; line-height:1.9; font-weight:500; }
.a-method__principle { display:flex; align-items:center; justify-content:space-between; gap:48px; margin:36px 0 30px; padding:28px 0; border-top:1px solid var(--color-line); border-bottom:1px solid var(--color-line); }
.a-method__principle h3 { margin-top:20px; font-size:23px; line-height:1.9; }
.a-method__principle > p { flex-shrink:0; font-size:14px; line-height:2; color:var(--color-muted); }
.a-method__steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; list-style:none; margin:0; padding:0; }
.a-method-card { background:white; border:1px solid #CFD6D9; border-radius:16px; padding:26px; min-width:0; }
.a-method-card__top { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.a-method-card__top > span:first-child { font:400 28px/1 var(--font-en); }
.a-method-card__top > span:last-child { font-size:12px; }
.a-method-card__art { margin:15px 0 23px; background:#F1F4F4; border-radius:14px; }
.a-method-card__art svg { width:100%; max-height:142px; fill:none; stroke:var(--color-ink); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.a-method-card__art .a-art-accent { stroke:var(--color-accent); stroke-width:2; }
.a-method-card h3 { font-size:19px; line-height:1.85; }
.a-method-card p { font-size:14px; line-height:2; margin-top:17px; }
.a-team { background:#F3F5F5; }
.a-team__facts { display:grid; grid-template-columns:.8fr .8fr 1.65fr; gap:36px; margin:0; padding:40px 48px; border-radius:28px; background:var(--color-ink); color:white; }
.a-team__facts dt { font-size:12px; margin-bottom:16px; }
.a-team__facts dd { margin:0; display:flex; align-items:baseline; gap:9px; font-size:14px; }
.a-team__facts strong { font:400 clamp(42px,4vw,60px)/1.1 var(--font-en); }
.a-team__facts .a-team__structure { display:block; font-size:18px; line-height:1.9; font-weight:700; }
.a-team__structure small { display:block; font-size:12px; line-height:1.8; font-weight:400; margin-top:8px; }
.a-expertise-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 60px; margin-top:34px; }
.a-expertise { padding:32px 0; border-bottom:1px solid var(--color-line); }
.a-expertise h3 { font-size:20px; line-height:1.85; margin-top:15px; }
.a-expertise p { font-size:14px; line-height:2; margin-top:20px; }
.a-team__qualification { margin-top:22px; font-size:12px; line-height:1.9; color:var(--color-muted); }
.a-team__promise { padding:30px 0 0; margin-top:32px; border-top:1px solid #ADB8BD; }
.a-team__promise h3 { font-size:21px; line-height:1.8; }
.a-team__promise p { margin-top:12px; font-size:14px; line-height:2; }
.a-belief .a-small-label { font-family:var(--font-en); letter-spacing:.08em; }
.a-belief__name { font:400 clamp(49px,8.1vw,117px)/1.2 var(--font-en); letter-spacing:-.025em; margin-top:35px; }
.a-belief__name > span:not(.section-dot) { font-size:.36em; font-weight:300; letter-spacing:.02em; }
.a-belief__grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; margin-top:56px; }
.a-belief__grid article { border-top:1px solid #ABB7BD; padding-top:27px; }
.a-belief__number { font:500 10px/1.6 var(--font-en); letter-spacing:.08em; }
.a-belief h3 { font-size:22px; margin-top:22px; line-height:1.8; }
.a-belief__grid p { margin-top:18px; font-size:15px; line-height:2.1; }
.a-message { background:white; }
.a-message__grid { display:grid; grid-template-columns:.85fr 1.4fr; gap:70px; }
.a-message .section-kicker { font-size:clamp(36px,4vw,58px); }
.a-message__label { margin-top:22px; font-size:14px; }
.a-message__mark { width:104px; margin-top:60px; opacity:.06; }
.a-message h2 { font-size:clamp(30px,3vw,42px); }
.a-message__prose { margin-top:32px; }
.a-message__prose p { font-size:15px; line-height:2.25; }
.a-message__prose p + p { margin-top:25px; }
.a-message__signature { text-align:right; margin-top:42px; }
.a-message__signature span { display:block; font-size:12px; }
.a-message__signature strong { display:block; font-size:16px; margin-top:14px; }
.a-message__signature .a-person-name-en,
.a-profile__table .a-person-name-en { display:block; margin-top:8px; color:var(--color-muted); font:400 14px/1.6 var(--font-en); letter-spacing:.055em; }
.a-message__signature .a-person-name-en { font-size:clamp(16px,1.3vw,18px); margin-top:10px; }
.a-profile__table { margin:0; background:white; padding:16px 40px; border:1px solid #CCD5D9; border-radius:20px; }
.a-profile__table > div { display:grid; grid-template-columns:190px minmax(0,1fr); gap:32px; padding:25px 0; border-bottom:1px solid #D5DADD; font-size:14px; line-height:2; }
.a-profile__table > div:last-child { border-bottom:0; }
.a-profile__table dt { font-weight:700; }
.a-profile__table dd { margin:0; }
.a-profile__table small { display:block; font-size:13px; }
.a-profile__table a { text-decoration:underline; text-underline-offset:4px; text-decoration-color:#BDC7CC; overflow-wrap:anywhere; }
.a-profile__table a:hover { text-decoration-color:var(--color-accent); }
.a-external { display:inline-block; margin-left:14px; }
.a-access { display:grid; grid-template-columns:.8fr 1.5fr; margin-top:28px; overflow:hidden; border:1px solid #CCD5D9; border-radius:20px; background:#F7F8F8; }
.a-access__info { padding:35px; }
.a-access__label { font:500 11px/1.5 var(--font-en); letter-spacing:.15em; color:var(--color-muted); }
.a-access h3 { margin-top:20px; font-size:24px; line-height:1.7; font-weight:500; }
.a-access address { margin-top:24px; font-size:14px; line-height:2; font-style:normal; }
.a-access address span { display:inline-block; margin-top:9px; font-size:12px; }
.a-access .a-text-link { margin-top:14px; font-size:12px; gap:16px; }
.a-access__map { min-height:360px; }
.a-access iframe { display:block; width:100%; height:100%; min-height:360px; border:0; }
.a-contact { padding-top:0; }
.a-contact__panel { background:white; border-radius:32px; padding:56px; text-align:center; }
.a-contact .section-kicker { font-size:clamp(42px,5.2vw,74px); }
.a-contact h2 { font-size:clamp(23px,2.3vw,34px); line-height:1.9; margin-top:26px; }
.a-contact__lead { font-size:15px; line-height:2; margin-top:22px; }
.a-contact__button { margin-inline:auto; background:var(--color-ink); color:white; }
.a-contact__button .arrow-circle { background:var(--color-accent); color:var(--color-ink); }
.a-mobile-only { display:none; }
@media(max-width:1050px) {
  .a-hero__grid { gap:35px; }
  .a-commitment { padding:30px 27px 22px; }
  .a-commitment__head { gap:15px; }
  .a-access { grid-template-columns:1fr 1.4fr; }
  .a-access__info { padding:28px; }
  .a-section-heading { grid-template-columns:1fr 1.25fr; gap:36px; }
  .a-section-heading h2 { font-size:23px; }
  .a-method__principle h3 { font-size:20px; }
  .a-method-card { padding:22px; }
  .a-method-card h3 { font-size:17px; }
  .a-team__facts { gap:24px; padding:32px; }
  .a-team__facts .a-team__structure { font-size:16px; }
  .a-message__grid { gap:40px; }
  .a-expertise-grid { column-gap:38px; }
  .a-expertise h3 { font-size:18px; }
  .a-contact__panel { padding:42px; }
}
@media(max-width:800px) {
  .about-page { --about-space:72px; }
  .a-hero__grid { grid-template-columns:1fr; gap:28px; padding-block:42px; }
  .a-commitment { padding:30px; }
  .a-commitment__head h2 { font-size:25px; }
  .a-commitment__list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
  .a-commitment__list li { display:block; padding-bottom:0; }
  .a-commitment__list li:not(:last-child)::after { display:none; }
  .a-commitment__list h3 { margin-top:9px; font-size:14px; }
  .a-commitment__list p { font-size:11px; }
  .a-commitment__foot { margin-top:22px; }
  .a-hero__lead { font-size:16px; }
  .a-hero h1 { margin-top:22px; }
  .a-local-nav { gap:0 26px; }
  .a-local-nav a { padding-block:16px; gap:16px; }
  .a-section-heading { grid-template-columns:1fr; gap:26px; }
  .a-section-heading .section-kicker { font-size:44px; }
  .a-section-heading h2 { font-size:26px; }
  .a-section-heading p:not(.section-kicker) { margin-top:20px; }
  .a-method__principle { flex-direction:column; align-items:flex-start; gap:20px; }
  .a-method__principle > p br { display:none; }
  .a-method__steps { grid-template-columns:1fr; gap:18px; }
  .a-method-card { padding:26px; }
  .a-method-card h3 { font-size:20px; }
  .a-method-card__art { margin-block:18px; }
  .a-method-card__art svg { max-height:130px; }
  .a-team__facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .a-team__facts > div:last-child { grid-column:1/-1; border-top:1px solid #535B60; padding-top:24px; }
  .a-team__facts strong { font-size:48px; }
  .a-expertise-grid { grid-template-columns:1fr; }
  .a-expertise h3 { font-size:20px; }
  .a-team__promise { padding:26px; }
  .a-team__promise h3 { font-size:20px; }
  .a-belief__grid { gap:36px; margin-top:36px; }
  .a-belief h3 { font-size:20px; }
  .a-message__grid { grid-template-columns:1fr; }
  .a-message__mark { display:none; }
  .a-message .section-kicker { font-size:44px; }
  .a-profile__table { padding:10px 28px; }
  .a-profile__table > div { grid-template-columns:110px minmax(0,1fr); gap:22px; }
  .a-access { grid-template-columns:1fr; }
  .a-access__info { padding:28px; }
  .a-access h3 { margin-top:12px; }
  .a-access address { margin-top:15px; }
  .a-access__map, .a-access iframe { min-height:320px; }
  .a-contact__panel { padding:36px 28px; }
}
@media(max-width:520px) {
  .about-page { --about-space:68px; }
  .a-hero__grid { padding-bottom:24px; }
  .a-hero .section-kicker { font-size:clamp(45px,11vw,57px); }
  .a-hero h1 { font-size:29px; }
  .a-local-nav { gap:0 18px; }
  .a-local-nav a { font-size:11px; gap:10px; }
  .a-commitment { padding:26px 24px 20px; border-radius:18px; }
  .a-commitment__head { padding-bottom:20px; }
  .a-commitment__head h2 { font-size:22px; }
  .a-commitment__head .brand-mark { width:27px; }
  .a-commitment__list { display:block; margin-top:21px; }
  .a-commitment__list li { display:grid; grid-template-columns:30px minmax(0,1fr); gap:15px; padding-bottom:19px; }
  .a-commitment__list li:not(:last-child)::after { display:block; left:14px; }
  .a-commitment__number { width:30px; }
  .a-commitment__list h3 { margin-top:0; font-size:15px; }
  .a-commitment__list p { font-size:11px; }
  .a-section-heading .section-kicker { font-size:clamp(34px,9vw,44px); }
  .a-section-heading h2 { font-size:23px; }
  .a-mobile-only { display:initial; }
  .a-method__principle h3 { font-size:20px; }
  .a-method-card { padding:24px; }
  .a-team__facts { padding:28px; gap:26px 18px; border-radius:22px; }
  .a-team__facts strong { font-size:41px; }
  .a-team__facts dd { gap:5px; font-size:12px; }
  .a-expertise h3 { font-size:18px; }
  .a-team__promise { padding:24px 0 0; }
  .a-team__promise h3 { font-size:19px; }
  .a-belief__name { font-size:clamp(34px,10vw,52px); white-space:nowrap; }
  .a-belief__grid { grid-template-columns:1fr; gap:30px; }
  .a-message .section-kicker { font-size:40px; }
  .a-message h2 { font-size:30px; }
  .a-message__prose p { font-size:14px; }
  .a-profile__table { padding:8px 24px; border-radius:22px; }
  .a-profile__table > div { grid-template-columns:1fr; gap:7px; padding-block:22px; font-size:13px; }
  .a-profile__table dt { font-size:12px; }
  .a-access__info { padding:26px 24px; }
  .a-contact__panel { padding:32px 22px; border-radius:26px; }
  .a-contact h2 { font-size:22px; }
  .a-contact__lead { font-size:14px; }
  .a-contact .section-kicker { font-size:39px; }
  .a-contact__button { width:100%; min-width:0; padding-left:18px; font-size:13px; }
  .a-contact__button .arrow-circle { flex-shrink:0; width:40px; height:40px; }
}
@media(prefers-reduced-motion:reduce) { .about-page .reveal { transition:none; transform:none; } }

/* About masthead follows the approved OUR WORK heading proportions. */
.a-hero.a-format{padding-top:32px;}
.a-format__header{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px;align-items:end;padding-block:48px;}
.a-format__display{font:300 clamp(56px,7.1vw,104px)/1.06 var(--font-en);letter-spacing:-.02em;}
.a-hero.a-format h1{font-size:clamp(24px,2.6vw,38px);line-height:1.5;letter-spacing:.025em;margin-top:26px;white-space:nowrap;}
.a-format__signature{font:400 clamp(13px,1.15vw,17px)/1.7 var(--font-en);letter-spacing:.055em;margin-top:15px;}
.a-format__lead{padding-bottom:7px;}
.a-format__lead>p{font-size:15px;line-height:2.2;}
.a-format__lead .a-text-link{margin-top:24px;padding-top:0;gap:40px;}
.a-format__principles{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:0;padding:0 0 26px;}
.a-format__principles span{font:500 12px/1.7 var(--font-en);letter-spacing:.08em;}
.a-format__principles p{font-size:14px;line-height:1.9;margin-top:9px;}
.a-hero.a-format .a-local-nav a{padding:20px 0;}
@media(min-width:801px) and (max-width:1150px){.a-format__break{display:none;}}
@media(max-width:800px){
 .a-format__header{grid-template-columns:1fr;gap:28px;padding-block:32px 36px;}
 .a-format__display{font-size:clamp(50px,9vw,72px);}
 .a-hero.a-format h1{font-size:30px;margin-top:24px;}
 .a-format__lead>p{font-size:14px;}.a-format__break{display:none;}
 .a-format__principles{gap:16px;}.a-format__principles span{font-size:10px;letter-spacing:.03em;}.a-format__principles p{font-size:12px;}
}
@media(max-width:520px){
 .a-hero.a-format h1{font-size:clamp(18px,5.3vw,26px);}
 .a-format__signature{font-size:clamp(10px,2.9vw,13px);letter-spacing:.04em;margin-top:12px;}
 .a-format__display{font-size:clamp(44px,12vw,62px);}
 .a-format__lead>p{font-size:14px;line-height:2.15;}
 .a-format__principles{grid-template-columns:1fr;gap:14px;}
 .a-format__principles li{display:grid;grid-template-columns:118px 1fr;gap:8px;align-items:baseline;}
 .a-format__principles p{margin:0;}
}

/* C motion artwork accompanies the representative's message. */
.a-message__grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:clamp(36px,5vw,72px)}
.a-message-film{margin-top:38px;max-width:460px}
.a-message-film__visual{position:relative;height:390px;overflow:hidden;background:#fff;mask-image:linear-gradient(transparent,#000 9%,#000 90%,transparent)}
.a-message-film__visual img,.a-message-film__visual video{position:absolute;right:0;top:0;height:100%;width:200%;max-width:none;object-fit:cover;object-position:right center}
.a-message-film__visual video{opacity:0}.a-message-film__visual.has-video video{opacity:1}.a-message-film__visual.has-video img{visibility:hidden}
.a-message-film__footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:18px;border-top:1px solid #dce1e3}
.a-message-film__footer>span{font:400 clamp(17px,1.5vw,22px)/1.25 var(--font-en);letter-spacing:.03em}
.a-message-film .motion-toggle{font-size:10px;padding:9px 12px;background:white}
.a-message-film__status{font-size:11px}.a-message-film__status:empty{display:none}
@media(max-width:900px){.a-message-film__visual{height:320px}.a-message-film__footer{flex-wrap:wrap}}
@media(max-width:700px){.a-message__grid{grid-template-columns:1fr;gap:36px}.a-message-film{max-width:none;margin-top:20px}.a-message-film__visual{height:280px}.a-message-film__visual img,.a-message-film__visual video{width:180%}.a-message-film__footer{flex-wrap:nowrap}.a-message-film__footer>span{font-size:17px}}
