/* Version 4 components. Named layers retain the baseline responsive priority. */
@layer shell {
 .sidebar nav>.nav-link,.nav-business-row>.nav-link{padding-top:12px;padding-bottom:12px}
 .side-contact{margin-bottom:20px}.nav-business-row{display:flex;align-items:center;gap:2px}.nav-business-row>a{flex:1;min-width:0}
 .business-toggle{display:grid;place-items:center;flex:0 0 38px;min-height:44px;border:1px solid transparent;background:none;border-radius:5px;font-size:22px;line-height:1}
 .business-toggle:hover{border-color:var(--line);background:#242825}.business-toggle[aria-expanded=true] span{transform:rotate(180deg)}
 .business-submenu{margin:4px 4px 17px 13px;padding:7px 0 10px;border-left:1px solid #455047}
 .business-submenu .nav-link{margin-left:9px;padding:8px 10px;font-size:11px;line-height:1.8}.business-submenu .nav-link[aria-current=page]{color:#fff}
 .subgroup-label{font-size:10px;color:#9eaaa0;margin:15px 0 4px!important;padding:0 0 0 19px;letter-spacing:.04em}
 .business-submenu .strategy-link{font-weight:600;color:#dfe9df}.footer-other{display:flex;flex-wrap:wrap;gap:12px 25px;margin-top:38px;font-size:11px;color:var(--muted)}
 .footer-other>span{color:#89938c}
}
@layer components {
 .prose>h2:first-child{margin-top:0}.editorial-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:36px}.editorial-row>.eyebrow{padding-top:10px}.editorial-row .prose{max-width:720px}
 .philosophy-title span{display:inline-block}
 .editorial-row .prose p{max-width:45em}.page-lead{max-width:47em}
 .rolemap-title{max-width:720px;margin-bottom:42px}.rolemap ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0;padding:0;gap:30px}
 .rolemap li{border-top:1px solid #66756a;padding-top:20px;position:relative}.role-number{font:12px/1.8 Arial,sans-serif;color:#9dac9f;letter-spacing:.12em}
 .rolemap .role-stage{font-size:12px;color:#b3c8b6;margin:24px 0 10px}.rolemap h3{font-size:20px;margin-bottom:14px}.rolemap li p:last-child{font-size:13px;color:var(--muted)}
 .rolemap>.caption{margin-top:25px}.strategy-banner{position:relative;display:grid;grid-template-columns:135px 1fr;gap:14px 35px;padding:32px;border:1px solid #6f7f71;border-radius:7px;margin-top:35px;background:#202822}
 .strategy-banner>span:first-child{font-size:11px;color:#a7c0aa;align-self:center;letter-spacing:.06em}.strategy-banner>h3{font-size:24px;padding-right:25px}.strategy-banner>p{grid-column:2;font-size:13px;color:#b7c4b9;max-width:40em}.strategy-banner>.arrow{position:absolute;right:26px;top:32px;font-size:22px}
 .business-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:44px}.business-overview>a{position:relative;border-top:1px solid var(--line);padding:28px 25px 20px 0}.business-overview h3{font-size:21px;margin-bottom:20px}.business-overview p{font-size:13px;color:var(--muted)}.business-overview .arrow{position:absolute;top:26px;right:0}
 .service-tabs{display:flex;border-bottom:1px solid #5d6b60;gap:5px;margin-bottom:45px}.service-tabs button{flex:1;min-height:60px;background:transparent;border:0;border-bottom:2px solid transparent;color:#aab6ac;font-size:14px;padding:15px 8px;line-height:1.7}.service-tabs button[aria-selected=true]{border-color:var(--accent);color:white;background:#252d27}.service-tabs button:hover{background:#252d27}
 .service-panel{position:relative}.service-panel>h2{font-size:28px}.panel-lead{color:var(--muted);font-size:14px;margin:15px 0 35px}.anchor-target{position:absolute;top:-100px;pointer-events:none}.service-links{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.service-links>a{position:relative;padding:28px 35px 28px 0;border-top:1px solid var(--line)}.service-links h3{font-size:21px;margin-bottom:18px}.service-links p{font-size:13px;color:var(--muted)}.service-links .arrow{position:absolute;top:29px;right:0;font-size:19px}
 .service-panel:not([role=tabpanel])+.service-panel{margin-top:65px}.prep-list{margin:0}.prep-list>div{display:grid;grid-template-columns:180px 1fr;gap:30px;padding:23px 0;border-top:1px solid var(--line)}.prep-list dt{font-size:16px}.prep-list dd{margin:0;font-size:14px;color:var(--muted)}
 .proof img{border-radius:5px;object-fit:contain}.proof h2{font-size:28px}.proof p{font-size:14px}.proof-word{font:48px/1.4 Arial,sans-serif;letter-spacing:-.04em;border-top:1px solid #718274;padding-top:24px;color:#bad0bd}.proof-word span{font:18px/1.8 'Meiryo',sans-serif;letter-spacing:.06em}
 .decision-map>h2{margin-bottom:35px}.decision-map dl{margin:0}.decision-map dl>div{display:grid;grid-template-columns:1fr 1.8fr;gap:40px;border-top:1px solid var(--line);padding:28px 0}.decision-map dt{font-size:15px;color:#c4d0c6}.decision-map dd{margin:0}.decision-map h3{font-size:19px;margin-bottom:12px}.decision-map p{font-size:13px;color:var(--muted)}
 .case-hero-image{margin-bottom:40px}.case-hero-image img{aspect-ratio:16/9;object-fit:contain;background:#101211}.film-player{background:#0e100f;aspect-ratio:16/9;border:1px solid var(--line);border-radius:8px;overflow:hidden}.film-poster{position:relative;height:100%;isolation:isolate}.film-poster img{width:100%;height:100%;object-fit:contain;filter:brightness(.45)}
 .film-load{position:absolute;inset:0;margin:auto;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;border:0;background:transparent;color:white;font-size:20px;width:100%;height:100%}.film-load>span{display:grid;place-items:center;width:66px;height:66px;border:1px solid #d8e4d9;border-radius:50%;font-size:23px;background:#18221c9c}.film-load small{font-size:11px;color:#e0e6e1}.film-player iframe{display:block;width:100%;height:100%;border:0}
 .film-close{display:block;margin:16px 0 0 auto;background:none;color:#b9c9bc;border:1px solid #5f7163;border-radius:4px;min-height:42px;padding:8px 15px;font-size:12px}.film-close:hover{color:#fff}
 .timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0;padding:0;gap:30px}.timeline li{border-top:1px solid #66766b;padding-top:26px}.timeline span{font:36px/1.3 Arial,sans-serif;color:#bdd1c0}.timeline p{font-size:14px;margin-top:20px;color:var(--muted)}
 .process-detailed{list-style:none;padding:0;margin:0}.process-detailed>li{display:grid;grid-template-columns:100px minmax(0,1fr);gap:35px;padding:48px 0;border-top:1px solid var(--line)}.process-detailed .role-number{font-size:30px;padding-top:5px}.process-detailed h2{font-size:30px;margin-bottom:23px}.process-detailed li>div>p{max-width:47em;color:#bdc9c0}.process-detailed dl{margin-top:28px}.process-detailed dl>div{display:grid;grid-template-columns:155px 1fr;gap:24px;padding:15px 0;border-top:1px solid #343e36}.process-detailed dt{font-size:12px;color:#9fb4a3}.process-detailed dd{margin:0;font-size:13px;color:#c0c9c3}
 .jump-links{display:flex;gap:35px;flex-wrap:wrap;margin-bottom:42px;font-size:13px}.jump-links a{border-bottom:1px solid #708573;padding:12px 0}
}
@layer responsive {
 @media(max-width:600px){.page-hero .philosophy-title{font-size:clamp(24px,7.5vw,32px)}}
 @media(max-width:1200px){.editorial-row{grid-template-columns:100px minmax(0,1fr);gap:26px}.rolemap ol{gap:20px}.business-overview{gap:24px}.business-overview h3{font-size:18px}.service-tabs button{font-size:12px}.service-links h3{font-size:19px}.strategy-banner{grid-template-columns:110px 1fr}.process-detailed>li{grid-template-columns:60px minmax(0,1fr)}}
 @media(max-width:900px){.sidebar nav>.nav-link,.nav-business-row>.nav-link{padding-top:12px;padding-bottom:12px}.business-submenu .nav-link{font-size:12px;min-height:42px}.footer-other{line-height:2}.business-toggle{min-width:44px}}
 @media(max-width:680px){.rolemap ol,.business-overview,.service-links{grid-template-columns:1fr}.rolemap li{display:grid;grid-template-columns:30px 1fr;gap:15px}.rolemap .role-stage{margin:0 0 9px}.rolemap h3{font-size:20px}.rolemap ol{gap:28px}.business-overview{gap:0}.business-overview>a{padding:25px 35px 28px 0}.business-overview h3{font-size:21px;margin-bottom:13px}.business-overview .eyebrow{margin-bottom:13px}.editorial-row{display:block}.editorial-row>.eyebrow{padding:0;margin-bottom:20px}.strategy-banner{display:block;padding:25px}.strategy-banner>h3{font-size:23px;margin:18px 0}.strategy-banner>p{margin:0}.strategy-banner>.arrow{right:20px;top:20px}.service-tabs{gap:0;margin-bottom:32px}.service-tabs button{font-size:12px;flex-basis:33.333%;min-width:0;padding:13px 6px;min-height:68px}.service-panel>h2{font-size:25px}.service-links h3{font-size:20px}.prep-list>div{display:block;padding:22px 0}.prep-list dt{margin-bottom:10px}.prep-list dd{font-size:13px}.decision-map dl>div{display:block;padding:24px 0}.decision-map dt{margin-bottom:15px;font-size:13px}.decision-map h3{font-size:19px}.process-detailed>li{grid-template-columns:28px minmax(0,1fr);gap:17px;padding:32px 0}.process-detailed .role-number{font-size:17px}.process-detailed h2{font-size:23px}.process-detailed dl>div{display:block}.process-detailed dt{margin-bottom:9px}.process-detailed li>div>p{font-size:14px}.timeline{grid-template-columns:1fr;gap:25px}.timeline li{display:grid;grid-template-columns:85px 1fr;gap:20px}.timeline span{font-size:28px}.timeline p{margin:0;font-size:13px}.film-load{font-size:16px;gap:8px}.film-load>span{width:45px;height:45px;font-size:17px}.film-load small{font-size:10px}.jump-links{gap:15px 25px}.footer-other{display:grid;gap:15px}}
}
