/* v142: bilingual Our Approach navigation and office details.
   Existing process text, wide content layout, typography and form behavior remain intact. */
body[data-page="our-approach"] .approach-language-switch{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
body[data-page="our-approach"] .approach-language-switch a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 15px;border:1px solid var(--line);border-radius:30px;font:500 1rem/1.4 'DM Sans',sans-serif;background:var(--white);color:var(--ink);text-decoration:none;max-width:100%;white-space:normal}
body[data-page="our-approach"] .approach-language-switch a[aria-current="page"]{background:var(--purple);color:var(--white);border-color:var(--purple)}
body[data-page="our-approach"] .approach-language-switch a:hover{border-color:var(--purple)}
body[data-page="our-approach"] :is(.approach-language-switch a,.approach-office a,.approach-footer-sections a,.approach-contents a):focus-visible{outline:3px solid #986916;outline-offset:5px}
body[data-page="our-approach"] .approach-language-hero{margin:0 0 24px;position:relative;z-index:2}
body[data-page="our-approach"] .approach-language-hero a:focus-visible{outline-color:#ffe1a3}
body[data-page="our-approach"] :is(.approach-language-footer,.approach-language-mobile){margin-top:22px}
body[data-page="our-approach"] .approach-language-mobile{margin-bottom:24px}
body[data-page="our-approach"] .approach-language-note-wrap{padding-top:20px}
body[data-page="our-approach"] .approach-language-note{font-size:1rem;line-height:1.7;color:var(--muted)}
body[data-page="our-approach"] .approach-office{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 48px;margin-top:44px;padding:clamp(22px,4vw,36px);border:1px solid var(--line);border-radius:12px;background:var(--white);min-width:0}
body[data-page="our-approach"] .approach-office>*{min-width:0;overflow-wrap:anywhere}
body[data-page="our-approach"] .approach-office h2{margin-top:0;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.3}
body[data-page="our-approach"] .approach-office p{line-height:1.8;margin-top:16px;margin-bottom:0}
body[data-page="our-approach"] .approach-office address{font-style:normal;line-height:1.8;margin-bottom:12px}
body[data-page="our-approach"] .approach-office-details{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
body[data-page="our-approach"] .approach-office-details a{display:inline-block;min-height:44px;padding-block:5px;max-width:100%;text-decoration:underline;text-underline-offset:4px}
body[data-page="our-approach"] .approach-footer-sections{display:flex;flex-wrap:wrap;gap:8px 26px;padding:12px 0 25px}
body[data-page="our-approach"] .approach-footer-sections a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
/* Reflow translated and enlarged text without clipping or reducing type sizes. */
body[data-page="our-approach"] :is(.banner-copy,.reading,.approach-at-a-glance dl>div,.approach-contents li,.approach-important,.contact-hub-copy,.contact-hub-form,.field,.contact-save){min-width:0;overflow-wrap:anywhere}
body[data-page="our-approach"] :is(.contact-save a,.approach-related a,.banner-wayfinding){max-width:100%;white-space:normal;overflow-wrap:anywhere}
/* The root scroll-padding supplies the header offset; this margin supplies only the gap. */
body[data-page="our-approach"] :is(.reading h2[id],#approach-office,#contact-hub,#approach-urgent-title){scroll-margin-top:20px}
@media(max-width:900px){body[data-page="our-approach"] .approach-office{grid-template-columns:minmax(0,1fr);gap:24px}}
@media print{
 body[data-page="our-approach"] :is(.approach-language-switch,.approach-language-note-wrap,.approach-footer-sections){display:none}
 body[data-page="our-approach"] .approach-office{break-inside:avoid;background:white;display:block}
 body[data-page="our-approach"] .approach-office-details{margin-top:20px}
}

/* Meaningful heading semantics retain the original question-title typography. */
body[data-page="our-approach"] .document-list li > .approach-question-title {font-family:'DM Sans',sans-serif;font-size:1.25rem;line-height:1.5;font-weight:600;color:var(--ink);margin:0;letter-spacing:normal}
body[data-page="our-approach"] :is(.approach-question-layout,.approach-question-layout>div,.process-step,.approach-preparation-card,.approach-followthrough-card,.contact-hub-copy,.contact-hub-form,.field,.banner-copy,.contact-save){min-width:0;overflow-wrap:anywhere}
body[data-page="our-approach"] :is(.approach-page-links a,.banner-wayfinding,.contact-save){white-space:normal;max-width:100%;overflow-wrap:anywhere}
body[data-page="our-approach"] :is(#chapter-2,#chapter-3,[id^="approach-"],#contact-hub){scroll-margin-top:20px}
/* Balance long question guidance instead of a short left title and an empty column. */
body[data-page="our-approach"] .approach-question-layout {display:block}
body[data-page="our-approach"] .approach-question-intro {max-width:none}
body[data-page="our-approach"] .approach-question-layout .document-list {margin-top:32px}
@media(min-width:1100px){
 body[data-page="our-approach"] .approach-question-layout .document-list>li {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px}
 body[data-page="our-approach"] .approach-question-title{grid-column:1/-1}
 body[data-page="our-approach"] .approach-question-layout .document-list>li>p{min-width:0;align-self:start}
}
@media(max-width:650px){
 body[data-page="our-approach"] .approach-office{padding:22px 20px}
}
/* One quiet, decorative check per question; do not create anonymous grid cells. */
body[data-page="our-approach"] .approach-question-layout .document-list>li{position:relative;padding-left:30px}
body[data-page="our-approach"] .approach-question-layout .document-list>li::before{display:none}
body[data-page="our-approach"] .approach-question-layout .document-list>li>svg{position:absolute;left:0;top:23px;width:18px;height:18px;color:var(--violet)}
body[data-page="our-approach"] .approach-office-wrap{padding-bottom:44px}
