/* Navigation, proof of work and consultation design. */
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute!important; white-space: nowrap; }
.screen-reader-text:focus { clip: auto; clip-path: none; width: auto; height: auto; padding: 15px; background: white; z-index: 100; }
.pagination { margin: 55px 0 5px; }
.pagination .nav-links { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px; }
.pagination .page-numbers { box-sizing: border-box; display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0; border: 1px solid #c7d0d4; border-radius: 50%; line-height: 1; font-size: 15px; white-space: nowrap; font-variant-numeric: tabular-nums; transition: background .2s, color .2s, border-color .2s; }
.pagination .page-numbers.prev, .pagination .page-numbers.next { width: auto; min-width: 84px; padding: 0 20px; border-radius: 24px; }
.pagination .page-numbers.dots { width: 28px; border-color: transparent; }
.pagination a.page-numbers:hover { background: #e7eef0; border-color: #557586; color: #334c59; }
.pagination .page-numbers.current { background: #557586; border-color: #557586; color: white; }
.results-summary { font-size: 13px; color: #596c76; margin: -15px 0 28px; }
.header .contact-link, .menu-toggle { min-height: 44px; }
.menu-toggle { padding: 8px 0; }
.decision-guide { background: #eef2f3; padding-top: 70px; padding-bottom: 75px; }
.decision-guide h2 { font-size: clamp(26px,3vw,40px); }
.decision-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: #cfd8dc; border: 1px solid #cfd8dc; margin-top: 35px; }
.decision-grid a { position: relative; background: #f8fafb; padding: 28px 62px 28px 28px; transition: background .25s; }
.decision-grid a:hover { background: white; }
.decision-grid h3 { font-size: 19px; line-height: 1.7; margin: 0 0 7px; font-weight: 500; }
.decision-grid p { font-size: 13px; margin: 0; }
.decision-arrow { position: absolute; right: 27px; top: 50%; transform: translateY(-50%); color: #557586; }
.portfolio { background: #fff; }
.portfolio-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
.portfolio figure { margin: 0; }
.portfolio-image { background: #eef1f2; aspect-ratio: 1.05; padding: 24px; display: grid; place-items: center; border: 1px solid #e4e9eb; overflow: hidden; }
.portfolio-image img { display: block; width: 100%; height: 100%; object-fit: contain; min-height: 0; transition: transform .65s cubic-bezier(.16,1,.3,1); }
.portfolio figure:hover img { transform: translateY(-5px); }
.portfolio figcaption { padding: 20px 0; }
.portfolio figcaption span { font-size: 10px; letter-spacing: .13em; color: #647985; }
.portfolio figcaption h3 { font-size: 21px; font-weight: 500; margin: 9px 0 0; }
.project-flow { background: #edf2f3; }
.project-steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 30px; list-style: none; padding: 0; margin: 45px 0 0; }
.project-steps li { border-top: 1px solid #b7c7cd; padding-top: 23px; }
.project-steps li>span { color: #557586; font-size: 13px; }
.project-steps h3 { font-weight: 500; font-size: 19px; line-height: 1.8; margin: 23px 0 10px; }
.project-steps p { font-size: 14px; }
.about-strengths { display: grid; grid-template-columns: repeat(3,1fr); gap: 25px; margin: 45px 0 75px; }
.about-strengths article { border-top: 2px solid #dba36e; padding-top: 23px; }
.about-strengths span { font-size: 11px; letter-spacing: .06em; color: #557586; }
.prose .about-strengths h3 { font-size: 21px; margin: 18px 0; font-weight: 500; }
.prose .about-strengths p { font-size: 14px; }
.company-profile { margin: 30px 0 70px; border-bottom: 1px solid #ccd5d8; }
.company-profile>div { display: grid; grid-template-columns: 150px 1fr; padding: 26px 0; gap: 35px; border-top: 1px solid #ccd5d8; }
.company-profile dt { font-size: 14px; color: #587180; }
.company-profile dd { margin: 0; font-size: 16px; line-height: 2; }
.office-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin: 30px 0 65px; }
.office-grid article { background: #edf2f3; padding: 30px; border-top: 3px solid #557586; }
.office-grid span { color: #557586; letter-spacing: .12em; font-size: 12px; }
.prose .office-grid h3 { font-size: 25px; margin: 15px 0; }
.prose .office-grid p { font-size: 14px; min-height: 58px; }
.prose .office-grid a { display: inline-flex; min-height: 44px; align-items: center; font-size: 14px; }
.consultation-card { padding: 38px; background: #edf2f3; margin: 38px 0 65px; border-top: 3px solid #557586; }
.prose .consultation-label { font-size: 14px; margin: 0 0 20px; }
.prose .consultation-mail { display: inline-flex; justify-content: space-between; gap: 50px; padding: 18px 28px; border-radius: 35px; background: #f5a85f; font-size: 19px; line-height: 1.6; align-items: center; text-decoration: none; transition: background .2s; }
.prose .consultation-mail:hover { background: #eaa064; }
.prose .consultation-address { margin: 20px 0 12px; font-size: 20px; overflow-wrap: anywhere; }
.prose .consultation-card>p { font-size: 14px; }
.prose .consultation-context { margin: 0 0 28px; border-bottom: 1px solid #bdccd2; padding-bottom: 20px; }
.consultation-context strong { font-weight: 500; }
.consultation-context a { margin-left: 15px; font-size: 12px; }
.consultation-phone { padding-top: 22px; border-top: 1px solid #ced8dd; }
.consultation-phone a { display: inline-block; padding: 5px; }
.contact-steps { padding: 0; margin: 30px 0 65px; list-style: none; display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
.contact-steps li { border-top: 1px solid #b7c7cd; padding-top: 22px; }
.contact-steps strong { font-weight: 500; font-size: 17px; }
.prose .contact-steps p { font-size: 14px; }
.consultation-faq details { border-bottom: 1px solid #cbd4d8; padding: 20px 0; }
.consultation-faq summary { cursor: pointer; line-height: 1.9; font-size: 16px; padding: 7px 0; }
.prose .consultation-faq p { color: #536974; font-size: 15px; }
@media(max-width:900px) { .project-steps { grid-template-columns: 1fr 1fr; } .portfolio-grid { gap: 16px; } .portfolio-image { padding: 15px; } .about-strengths { grid-template-columns: 1fr; gap: 20px; } .contact-steps { grid-template-columns: 1fr; gap: 16px; } }
@media(max-width:640px) { .decision-grid, .portfolio-grid, .office-grid, .project-steps { grid-template-columns: 1fr; } .decision-grid a { padding: 24px 52px 24px 20px; } .decision-grid h3 { font-size: 17px; } .portfolio-image { padding: 28px; aspect-ratio: 1.05; } .portfolio-grid { gap: 28px; } .company-profile>div { grid-template-columns: 1fr; gap: 10px; padding: 22px 0; } .company-profile dd { font-size: 15px; } .office-grid article { padding: 25px; } .consultation-card { padding: 25px 22px; } .prose .consultation-mail { font-size: 17px; padding: 17px 23px; gap: 28px; } .project-steps { gap: 15px; } .project-steps h3 { margin-top: 12px; } .pagination .nav-links { gap: 9px; } .pagination .page-numbers { width: 44px; height: 44px; } .pagination .page-numbers.prev, .pagination .page-numbers.next { min-width: 76px; width: auto; padding: 0 16px; } }

.about-nav{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.about-nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 18px;border:1px solid #c5d0d5;border-radius:24px;font-size:13px}.about-nav a:hover{background:#e7eef0;color:#334c59}#company-profile,#about-offices{scroll-margin-top:120px}

.portfolio h2,.decision-guide h2,.project-flow h2{font-weight:500}

.portfolio+.works{padding-top:40px}

/* Editorial pages: readable introductions, tables and in-page navigation. */
.insight-list{max-width:1120px;margin-inline:auto;padding-top:0}.insight-item{padding:2.5rem 0;border-top:1px solid var(--line,#d9dfe1)}.insight-meta{display:flex;gap:1.25rem;font-size:.8rem;color:#626d72}.insight-meta span{letter-spacing:.14em;color:#557586}.insight-item h2{font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.6;margin:.8rem 0}.insight-item h2 a{display:flex;justify-content:space-between;gap:1.5rem;text-decoration:none}.insight-item h2 a span{flex-shrink:0}.insight-item p{max-width:850px;line-height:1.95;color:#596167}.article-toc{padding:1.5rem 2rem;background:#edf1f2;border-left:3px solid #f5a85f;margin:2.5rem 0}.article-toc p{font-weight:600;margin-top:0}.article-toc ol{margin-bottom:0;padding-left:1.3rem}.article-toc a{text-underline-offset:4px}.prose h2[id]{scroll-margin-top:170px}.prose .wp-block-table{margin:2rem 0;overflow-x:auto}.prose table{width:100%;border-collapse:collapse;font-size:.94rem;line-height:1.7}.prose th,.prose td{padding:1rem;border:1px solid #d4dcdf;text-align:left;vertical-align:top}.prose th{background:#edf1f2;color:#293d48}.prose a{overflow-wrap:anywhere}.prose li{margin:.65rem 0}.prose .article-toc li{margin:.4rem 0}@media(max-width:600px){.article-toc{padding:1.1rem}.prose th,.prose td{padding:.65rem}.insight-item{padding:1.75rem 0}.prose h2[id]{scroll-margin-top:140px}}

.insight-item h2 a>.insight-title{min-width:0;flex-shrink:1;text-wrap:balance}.related-links>a time{white-space:nowrap;flex-shrink:0;font-size:.8rem}

/* Keep the original proportions of the published partner wordmarks. */
.work-visual>img:is([src*="/logo-7"],[src*="/logo-9"]){object-fit:contain;box-sizing:border-box;padding:clamp(24px,3vw,48px);background:#fafafa}
.case-image:is([src*="/logo-7"],[src*="/logo-9"]){display:block;width:min(100%,450px);height:auto;margin:0 auto 40px}
