/* Production behavior only. Approved visual styles remain in the imported stylesheets. */
.cf-turnstile { margin: 1.5rem 0; }
.form-configuration-note { font-size: .875rem; color: #476075; margin: 1.5rem 0; }
.article-back { margin-top: 3rem; }
img { max-width: 100%; }
.article-body .article-toc { margin: 0 0 2.5rem; padding: 1.5rem; background: #f4f7f9; border-left: 3px solid #476075; }
.article-body .article-toc p { margin: 0 0 .75rem; }
.article-body .article-toc ol { padding-left: 1.5rem; list-style: none; }
.article-body .article-toc > ol { padding-left: 0; }
.article-body .article-toc li { margin: .5rem 0; }
.article-header h1 { overflow-wrap: anywhere; }
.article-body table:focus-visible { outline: 2px solid #476075; outline-offset: 4px; }
.article-body :is(h2,h3,h4,h5,h6), .article-body :is(h2,h3,h4,h5,h6) [id] { scroll-margin-top: 110px; }

/* Compact biography copy while retaining separation between career stages. */
#founders .career-stage p,
#david-vuong .page-prose p { line-height: 1.85; }
#founders .career-stage p + p,
#david-vuong .page-prose p + p { margin-top: 10px; }
#founders .career-stage h4 { margin-bottom: 12px; }
#david-vuong .selected-experience h4 { margin-bottom: 12px; }

.market-ir::before { background: #b5cfdf; }
.contact-aside h2 .contact-audience-note { font-size: .9em; font-weight: inherit; }

.footer-column > .footer-service-child { position: relative; margin-left: calc(1em + 6px); padding-left: 18px; }
.footer-service-child::before { content: ""; position: absolute; left: 0; top: -6px; width: 11px; height: 16px; border-left: 1px solid #829aab; border-bottom: 1px solid #829aab; }

/* Five client needs, with governance and resilience supporting the four above. */
#when-to-call .situation-link { display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: auto 1fr auto; gap: 18px; color: var(--ink); text-decoration: none; transition: background-color .18s ease, border-color .18s ease; }
#when-to-call .situation-top { margin: 0; align-items: flex-start; }
#when-to-call .situation-link h3 { margin: 0; }
#when-to-call .situation-link:hover { background: #eaf0f4; border-color: #9cb2c2; }
#when-to-call .situation-link:focus-visible { outline: 2px solid #365a76; outline-offset: 4px; }
.situation-action { display: flex; align-items: center; justify-content: flex-end; gap: 18px; margin-top: 6px; color: #38546a; font-size: .8125rem; line-height: 1.6; }
.situation-action .arrow { width: 25px; height: 14px; flex-shrink: 0; }
#when-to-call .situation-foundation { grid-column: 1 / -1; grid-template-columns: 34px minmax(0,1fr) auto; grid-template-rows: auto; align-items: center; gap: 24px; }
#when-to-call .situation-foundation .situation-top { align-self: start; padding-top: 4px; }
.situation-scope { margin-top: 10px; color: #405b70; font-size: .9375rem; line-height: 1.85; }
.situation-foundation-note { margin-top: 9px; color: #526a7c; font-size: .8125rem; line-height: 1.8; }
@media(max-width:760px) {
 #when-to-call .situation-link { grid-template-columns: 30px minmax(0,1fr); grid-template-rows: auto auto; gap: 12px 18px; }
 #when-to-call .situation-link .situation-top { grid-column: 1; grid-row: 1; padding-top: 4px; }
 #when-to-call .situation-link h3, .situation-foundation-copy { grid-column: 2; grid-row: 1; }
 #when-to-call .situation-link .situation-action { grid-column: 2; grid-row: 2; margin-top: 0; }
 .situation-scope { font-size: .875rem; }
}

/* Service architecture: Management Office belongs to Management & Finance. */
.architecture-grid.architecture-four { align-items:stretch; }
.architecture-management { min-width:0; display:flex; flex-direction:column; background:var(--pale); }
.architecture-four > .architecture-pillar { align-items:flex-start; padding-top:28px; }
.architecture-management > .architecture-pillar { min-height:80px; padding-top:28px; padding-bottom:20px; }
.architecture-office { position:relative; display:flex; align-items:center; justify-content:space-between; gap:10px; margin:-11px 14px 14px 38px; padding:12px 14px; background:#0b253c; color:#fff; font:.8125rem/1.6 var(--english); flex:1; }
.architecture-office::before { content:""; position:absolute; left:-12px; top:-10px; width:12px; height:32px; border-left:1px solid #829aab; border-bottom:1px solid #829aab; }
.architecture-office .arrow { width:20px; flex-shrink:0; }
.architecture-office:hover { color:#fff; background:#15364f; }
.architecture-office:focus-visible { outline:2px solid #365a76; outline-offset:3px; }
@media(max-width:600px) {
 .architecture-four > .architecture-pillar { align-items:center; padding-top:22px; }
 .architecture-management > .architecture-pillar { min-height:70px; padding-top:22px; padding-bottom:16px; }
}

/* Cyber security is the primary practice within Governance & Resilience. */
.foundation-cyber-areas { grid-template-columns:repeat(3,minmax(0,1fr)); border-top:0; padding-top:0; margin-top:32px; }
.foundation-cyber-areas .foundation-related { grid-column:1/-1; border-top:1px solid #bfceda; padding-top:24px; margin-top:8px; }
.foundation-cyber-areas .foundation-related h3 { min-height:0; margin-bottom:0; }
.foundation-cyber-areas .foundation-related ul { display:flex; flex-wrap:wrap; gap:8px 40px; }
@media(max-width:760px) {
 .foundation-cyber-areas { grid-template-columns:1fr; }
 .foundation-cyber-areas .foundation-related ul { display:block; }
}

/* Separate cyber services and align related service bullets. */
.foundation-cyber-areas > .area-item:not(.foundation-related) { border-top:1px solid #b3c3ce; padding-top:18px; }
.foundation-cyber-areas .foundation-related ul { align-items:baseline; }
.foundation-cyber-areas .foundation-related li { margin-top:0; }
@media(max-width:760px) {
 .foundation-cyber-areas .foundation-related li + li { margin-top:8px; }
}

/* Keep bilingual service labels together without a fixed-height heading gap. */
.foundation-cyber-areas > .area-item:not(.foundation-related) h3 { min-height:0; padding-bottom:0; margin-bottom:12px; }

/* Founders: a typographic introduction that also accommodates future portraits. */
.founders-editorial .founders-layout { display:grid; grid-template-columns:180px minmax(0,1fr); gap:48px; align-items:start; }
.founders-editorial { padding-block:48px; }
.founders-editorial .founders-heading { margin:0; padding-top:19px; }
.founders-editorial .founders-heading .eyebrow { margin:0; }

.founders-editorial .founders-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; }
.founders-editorial .founder { display:block; border-top:1px solid #829aab; padding-top:24px; }
.founders-editorial .founder-caption { display:grid; grid-template-columns:minmax(0,1fr) 28px; padding:0 0 8px; gap:0 20px; }
.founders-editorial .founder-role { grid-column:1/-1; grid-row:1; margin:0 0 7px; font-size:.8125rem; letter-spacing:.04em; }
.founders-editorial .founder-caption h3 { grid-column:1/-1; grid-row:2; font:400 1.625rem/1.4 var(--english); margin:0 0 7px; }
.founders-editorial .founder-experience { grid-column:1/-1; grid-row:4; margin-top:8px; font-size:.8125rem; line-height:1.7; color:#63798a; }
.founders-editorial .founder-qualification { grid-column:1; grid-row:3; font-size:.8125rem; color:var(--body); }
.founders-editorial .founder-caption .arrow { position:static; display:block; grid-column:2; grid-row:5; justify-self:end; align-self:center; margin:14px 0 0; width:23px; transition:transform .2s ease; }
.founders-editorial .founder:hover .arrow { transform:translateX(4px); }
@media(max-width:760px) {
 .founders-editorial .founders-grid { grid-template-columns:1fr; gap:30px; }
 .founders-editorial { padding-block:36px; }
 .founders-editorial .founders-layout { grid-template-columns:1fr; gap:20px; }
 .founders-editorial .founders-heading { margin:0; padding-top:0; }
 .founders-editorial .founder { padding-top:20px; }
}
@media(prefers-reduced-motion:reduce) {
 .founders-editorial .founder-caption .arrow { transition:none; }
 .founders-editorial .founder:hover .arrow { transform:none; }
}

/* Compact FP&A animation control; its accessible label is maintained by JS. */
.fpa-cycle .cycle-toggle { display:inline-grid; place-items:center; width:32px; height:32px; min-height:32px; padding:0; border:0; border-radius:50%; background:#f0f1f2; color:#68737c; font:700 14px/1 var(--sans); }
.fpa-cycle .cycle-toggle[hidden] { display:none; }
.fpa-cycle .cycle-toggle:hover { background:#e4e7e9; color:var(--ink); }

.company-facts .company-business-list { margin:0; padding-left:1.2em; line-height:1.85; }
.company-facts .company-business-list li + li { margin-top:5px; }

.company-corporate-number { display:inline-block; margin-left:1em; }

.company-facts .company-founder-list { margin:0; padding-left:1.2em; line-height:1.85; }
.company-facts .company-founder-list li + li { margin-top:5px; }

/* Company purpose: bilingual labels and a continuous three-part narrative. */
.company-story { background:#f5f7f8; }
.company-story-row + .company-story-row { margin-top:38px; padding-top:38px; border-top:1px solid #ccd6dd; }
.company-story-label { margin:0; line-height:1.8; letter-spacing:normal; }
.company-story-label .eyebrow { display:block; margin:0 0 6px; }
.company-story-ja { display:block; font:400 .875rem/1.8 var(--sans); color:#63798a; }
.company-story-copy h3 { font:500 1.375rem/1.8 var(--serif); color:var(--ink); margin:0 0 18px; }
.company-name-parts { margin:24px 0; }
.company-name-parts > div { display:grid; grid-template-columns:minmax(0,1fr); gap:6px; padding:16px 0; }
.company-name-parts > div + div { border-top:1px solid #dde4e9; }
.company-name-parts dt { font:400 1.125rem/1.8 var(--english); color:var(--ink); }
.company-name-parts dt span { margin-left:12px; font:400 .8125rem/1.8 var(--sans); color:#63798a; }
.company-name-parts dd { margin:0; }
@media(max-width:760px) {
 .company-story-row.company-editorial { grid-template-columns:1fr; gap:18px; }
 .company-story-row + .company-story-row { margin-top:30px; padding-top:30px; }
 .company-story-copy h3 { font-size:1.1875rem; }
 .company-name-parts > div { grid-template-columns:1fr; gap:4px; }
}

/* Match the white background of the founders profiles. */
.specialist-section { background:#fff; }

/* Compact typography confined to the privacy policy body. */
.privacy-copy { font-size:.875rem; line-height:1.85; }
.privacy-copy h2 { font-size:1.125rem; line-height:1.65; margin:34px 0 16px; padding-bottom:10px; }
.privacy-copy p + p { margin-top:10px; }

/* Supplied transparent SVG header wordmark. */
.site-header .brand-lockup { display:block; width:180px; height:auto; flex-shrink:0; }
@media(max-width:600px) { .site-header .brand-lockup { width:156px; } }

/* Let long consultation headings wrap inside narrow screens. */
@media(max-width:600px) { .final-cta h2 .copy-unit { max-width:100%; white-space:normal; } }

.contact-layout > form { min-width:0; }
@media(max-width:900px) { .contact-layout { grid-template-columns:minmax(0,1fr); } }

/* Japanese founder names lead, with English names as a secondary line. */
.profile-identity h3.profile-name-ja { font-family:var(--serif); margin-bottom:5px; }
.profile-identity > p.profile-name-en { font:400 1.125rem/1.5 var(--english); color:var(--ink); margin:0 0 10px; }

.article-official-links{margin-top:48px;padding:28px 0;border-top:1px solid #dce2e8}.article-body .article-official-links p{margin:0 0 16px}.article-body .article-official-links ul{display:flex;flex-wrap:wrap;gap:16px 32px;list-style:none;margin:0;padding:0}.article-body .article-official-links li{margin:0}.article-official-links a{font-weight:600;text-underline-offset:5px}
.article-body .article-official-links a{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:14px;font-weight:400;text-decoration:none}
.article-body .article-official-links .official-link-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;margin:0;object-fit:contain}
.article-body .article-official-links .official-link-linkedin{font-family:Arial,sans-serif;font-size:23px;font-weight:700;line-height:1;color:#040000;letter-spacing:-1px}
.article-official-links a:hover .official-link-label,.article-official-links a:focus-visible .official-link-label{text-decoration:underline;text-underline-offset:5px}

.article-body .article-official-links img.official-link-icon{flex-basis:30px;width:30px;height:30px}

.article-author .author-english-name{margin-top:6px;font-size:1rem;letter-spacing:.03em}
.foundation-title .foundation-number { display: block; margin-bottom: 12px; }
html[lang="ja"] .category-nav a { transition: color .18s ease; }
html[lang="ja"] .category-nav a[aria-current="page"] { text-decoration: none; }
html[lang="ja"] .category-nav a::after {
  content: ""; position: absolute; inset: auto 0 0; height: 1px;
  background: currentColor; transform: scaleX(0); transform-origin: left;
  transition: transform .18s ease;
}
html[lang="ja"] .category-nav a:hover { color: #2c5877; }
html[lang="ja"] .category-nav a:hover::after,
html[lang="ja"] .category-nav a:focus-visible::after,
html[lang="ja"] .category-nav a[aria-current="page"]::after { transform: scaleX(1); }
@media (prefers-reduced-motion: reduce) {
  html[lang="ja"] .category-nav a,
  html[lang="ja"] .category-nav a::after { transition: none; }
}

/* Keep the Insights introduction readable without isolated word endings. */
html[lang="ja"] .insights-hero .page-intro { max-width: 960px; }
