/* Management consulting / core AI product catalog, FDE screen and proportional GS-PDCA. */
.product-system { padding:30px; }
.product-system .domain-system-topline { margin-bottom:22px; padding-bottom:21px; }
.product-system .domain-system-topline>span { font-size:22px; font-weight:550; }
.product-system .domain-system-topline>small { color:#9fbde2; font-size:12px; }
.product-system .domain-system-topline b { padding:0 9px; font-weight:400; color:#e3f1ff; }
.product-system .domain-system-tier { grid-template-columns:112px 1fr; gap:22px; align-items:stretch; margin-bottom:16px; }
.product-system .domain-tier-label { display:flex; justify-content:center; flex-direction:column; border-left:2px solid #26486d; padding-left:12px; color:#d4e7ff; font-size:15px; }
.product-system .domain-tier-label small { font-size:10px; color:#819ab7; }
.product-system .domain-system-nodes { gap:10px; }
.product-system .nodes-business { grid-template-columns:repeat(5,minmax(0,1fr)); }
.product-system .domain-system-nodes>a { display:flex; flex-direction:column; align-items:stretch; gap:0; padding:17px 15px 12px; background:linear-gradient(135deg,#10223b,#0c172b); }
.product-system .domain-system-nodes>a>strong { font-size:16px; line-height:1.5; font-weight:550; margin:7px 0 14px; }
.product-system .domain-system-nodes>a>.catalog-kind { font-size:10px; color:#91a8c7; margin:0; letter-spacing:.04em; }
.product-system .catalog-app { padding:11px 12px; border:1px solid #214b77; border-radius:6px; background:#07315a70; flex:1; }
.product-system .catalog-app>small { display:block; color:#6fc1ff; font-size:10px; margin-bottom:6px; }
.product-system .catalog-app>b { display:block; color:#c9e6ff; font-weight:500; font-size:13px; line-height:1.65; }
.product-system .domain-system-nodes>a>.catalog-action { color:#6c90b6; display:flex; justify-content:space-between; font-size:10px; margin:11px 0 0; }
.product-system .catalog-action>i { position:static; color:#8bb8e5; font-size:13px; }
.product-system .domain-system-nodes>a:hover { border-color:#6bacf2; background:linear-gradient(135deg,#19395d,#10213b); }
.product-system .nodes-strategy>a,.product-system .nodes-foundation>a { display:grid; grid-template-columns:1fr 1.3fr; gap:0 16px; }
.product-system .nodes-strategy>a>.catalog-kind,.product-system .nodes-foundation>a>.catalog-kind { grid-column:1; grid-row:1; }
.product-system .nodes-strategy>a>strong,.product-system .nodes-foundation>a>strong { grid-column:1; grid-row:2; margin-bottom:5px; }
.product-system .nodes-strategy>a>.catalog-action,.product-system .nodes-foundation>a>.catalog-action { grid-column:1; grid-row:3; }
.product-system .nodes-strategy>a>.catalog-app,.product-system .nodes-foundation>a>.catalog-app { grid-column:2; grid-row:1/4; display:flex; flex-direction:column; justify-content:center; }
.product-system .domain-system-base { margin-top:23px; }
.dark-theme.is-solutions .consulting-system-section .section-heading { margin-bottom:35px; }
.dark-theme.is-solutions .consulting-system-section .section-heading>p { font-size:14px; line-height:1.9; }
.domain-core-product { display:flex; align-items:center; flex-wrap:wrap; gap:10px 17px; margin-top:24px; padding:17px 20px; border:1px solid #28527e; border-radius:8px; background:linear-gradient(110deg,#0b2a4d,#10213c); }
.domain-core-product>span { color:#83c9ff; font-size:11px; padding-right:16px; border-right:1px solid #376285; }
.domain-core-product>strong { color:#e3f0ff; font-size:22px; font-weight:500; }
.domain-core-product>small { flex-basis:100%; color:#9ab2cf; font-size:12px; line-height:1.8; }
.domain-explorer .domain-chapter { scroll-margin-top:24px; }
.domain-explorer .domain-rail { padding-top:55px; }
.domain-chapter-kicker>span:first-child { color:#84c7ff; }
.domain-chapter-actions a { color:#a5d6ff; }
.portfolio-home .portfolio-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.fde-section { padding:56px 0 48px; min-height:calc(100svh - var(--header,88px)); display:flex; align-items:center; scroll-margin-top:24px; background:radial-gradient(ellipse at 0 0,#113e7059,transparent 60%),#071124; border-block:1px solid #263d5b; }
.fde-heading { display:grid; grid-template-columns:1.25fr 1fr; gap:58px; align-items:end; margin-bottom:34px; }
.dark-theme .fde-heading h2 { font-size:34px; font-weight:500; line-height:1.4; margin-top:14px; letter-spacing:-.02em; }
.dark-theme .fde-heading h2 strong { color:#a8d6ff; font-size:32px; font-weight:500; }
.dark-theme .fde-heading p { font-size:14px; color:#9ab0cc; line-height:1.9; margin-bottom:15px; }
.fde-heading .text-link { font-size:13px; border:0; color:#b6ddff; }
.fde-main { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px; align-items:stretch; }
.fde-product { min-width:0; background:#0b1e37; border:1px solid #385b80; border-radius:11px; overflow:hidden; box-shadow:0 18px 60px #0003; align-self:start; }
.fde-window-bar { display:flex; align-items:center; gap:15px; padding:12px 16px; font-size:12px; color:#c3d8f1; background:linear-gradient(100deg,#183556,#10213d); }
.fde-window-bar>span { display:flex; gap:5px; }.fde-window-bar i { width:5px; height:5px; border-radius:50%; background:#5c84b0; }
.fde-window-bar b { font-weight:500; }.fde-window-bar small { margin-left:auto; color:#8eb3d8; font-size:10px; }
.fde-image { display:block; width:100%; border:0; padding:0; position:relative; cursor:zoom-in; background:#f5f7fb; }
.fde-image img { display:block; width:100%; height:auto; }
.fde-image>span { position:absolute; right:13px; bottom:12px; font-size:10px; color:#d9eeff; background:#092747eb; border:1px solid #5d86ac; padding:6px 10px; border-radius:20px; }
.fde-capability-path { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:17px; font-size:11px; text-align:center; color:#acc5e2; line-height:1.6; }
.fde-capability-path i { font-style:normal; color:#517ea6; }.fde-capability-path strong { font-weight:500; color:#83caff; }
.fde-explainer { min-width:0; }
.fde-module-tabs { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.fde-module-tabs button { border:1px solid #2a4667; padding:12px; border-radius:6px; text-align:left; background:#0c1d35; color:#98b3d1; font:14px var(--sans); cursor:pointer; min-height:45px; }
.fde-module-tabs button>span { color:#6c8fb4; font-size:10px; margin-right:11px; }
.fde-module-tabs button[aria-pressed=true] { border-color:#5a9bd9; color:#e3f3ff; background:#163d66; }
.fde-module-tabs button[aria-pressed=true]>span { color:#80caff; }
.fde-module-content { padding-top:24px; }
.dark-theme .fde-module-content h3 { font-size:23px; font-weight:500; line-height:1.5; color:#e1edfb; margin:0; }
.dark-theme .fde-module-content p { font-size:13px; line-height:1.85; color:#94abc7; margin-top:14px; }
.fde-types { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0; }
.fde-types>span { font-size:11px; padding:5px 9px; border-radius:4px; border:1px solid #376280; color:#8cd6ff; background:#103754; }
.fde-types>.fde-type-1 { color:#b6bbff; border-color:#50578b; background:#27294d; }.fde-types>.fde-type-2 { color:#b0c2d8; border-color:#3f526d; background:#182941; }
.fde-module-content ul { padding:0; margin:0; list-style:none; }
.fde-module-content li { position:relative; padding:11px 0 11px 18px; border-top:1px solid #243b57; color:#b2c5dd; font-size:12px; line-height:1.85; }
.fde-module-content li:before { content:'↳'; color:#77b9ee; position:absolute; left:0; }
.fde-deliverables { display:grid; grid-template-columns:230px 1fr; gap:25px; padding-top:24px; margin-top:26px; border-top:1px solid #2c4260; align-items:center; }
.fde-deliverables>div small { display:block; color:#7797b9; font-size:10px; margin-bottom:7px; }.fde-deliverables strong { font-size:15px; font-weight:500; color:#c7def7; }
.fde-deliverables ul { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:0; }.fde-deliverables li { padding:7px 10px; font-size:11px; background:#10253e; border:1px solid #2c4664; border-radius:5px; color:#a5c1e0; }
#gs-pdca .cycle-step { background:conic-gradient(from var(--fill-start,0deg),#087ff0 0 var(--fill,100%),#0a2448 var(--fill,100%) 100%); width:84px; height:84px; margin:-42px 0 0 -42px; border-color:#529fda; transform:none; box-shadow:0 0 14px #1374d822; color:#eff8ff; isolation:isolate; transition:box-shadow .25s; }
#gs-pdca .cycle-step:hover { box-shadow:0 0 20px #4d9fff70; }
#gs-pdca .cycle-step b { font-size:26px; position:relative; margin-bottom:3px; text-shadow:0 1px 3px #00204b; }
#gs-pdca .cycle-step>span { font-size:12px; position:relative; text-shadow:0 1px 3px #00204b; }
#gs-pdca .cycle-step>.cycle-weight { font:9px var(--sans); color:#e1f1ff; opacity:.9; margin-top:3px; letter-spacing:.03em; }
#gs-pdca .level-description { min-height:62px; }
.cycle-legend { border-top:1px solid #345374; padding-top:17px; margin-top:16px; color:#92afd0; font-size:11px; line-height:1.8; }
.cycle-legend>div { display:flex; align-items:center; flex-wrap:wrap; gap:15px; margin-bottom:7px; }
.cycle-legend>div>span { display:flex; gap:6px; align-items:center; }.cycle-legend i { width:18px; height:18px; display:inline-block; border-radius:50%; border:1px solid #6eacd7; background:conic-gradient(from var(--fill-start),#087ff0 0 var(--fill),#0a2448 var(--fill) 100%); }
.cycle-legend small { font-size:10px; color:#7698bd; }
@media(max-width:1150px){
 .product-system { padding:24px; }.product-system .domain-system-tier { grid-template-columns:90px 1fr; gap:16px; }.product-system .domain-system-nodes>a { padding:14px 10px 10px; }.product-system .domain-system-nodes>a>strong { font-size:14px; }.product-system .catalog-app { padding:9px; }.product-system .catalog-app>b { font-size:12px; }
 .fde-heading { gap:30px; }.dark-theme .fde-heading h2 { font-size:30px; }.dark-theme .fde-heading h2 strong { font-size:28px; }.fde-main { gap:24px; grid-template-columns:1.15fr 1fr; }.dark-theme .fde-module-content h3 { font-size:21px; }.fde-deliverables { grid-template-columns:190px 1fr; }
}
@media(max-width:900px){
 .product-system .nodes-business { grid-template-columns:repeat(3,minmax(0,1fr)); }.fde-main { grid-template-columns:1fr; }.fde-product { max-width:760px; margin:auto; width:100%; }.fde-module-tabs { grid-template-columns:repeat(4,1fr); }.fde-module-content { min-height:260px; }.fde-section { min-height:0; }
}
@media(max-width:760px){
 .portfolio-home .portfolio-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .domain-explorer .domain-rail { padding-top:0; }
 .product-system { padding:20px 16px; }.product-system .domain-system-topline>span { font-size:19px; }.product-system .domain-system-topline>small { font-size:10px; margin-top:10px; }.product-system .domain-system-tier { display:block; }.product-system .domain-tier-label { display:block; margin:20px 0 12px; }.product-system .domain-tier-label small { max-width:none; margin-top:4px; }
 .product-system .domain-system-nodes,.product-system .nodes-business { grid-template-columns:repeat(2,minmax(0,1fr)); }.product-system .nodes-business>a:last-child { grid-column:1/-1; }.product-system .domain-system-nodes>a>.catalog-action { margin-top:10px; }.product-system .domain-system-nodes>a>strong { font-size:15px; }.product-system .domain-system-base { flex-wrap:wrap; gap:9px; }
 .product-system .nodes-strategy>a,.product-system .nodes-foundation>a { display:flex; }
 .domain-core-product { padding:15px; gap:10px; }.domain-core-product>strong { font-size:19px; }.domain-core-product>small { font-size:11px; }.domain-core-product>span { font-size:10px; padding-right:11px; }.domain-explorer .domain-chapter { scroll-margin-top:90px; }
 .fde-section { padding:50px 0; }.fde-heading { display:block; margin-bottom:25px; }.dark-theme .fde-heading h2 { font-size:29px; }.dark-theme .fde-heading h2 strong { font-size:27px; }.dark-theme .fde-heading p { margin-top:20px; font-size:12px; }.fde-module-tabs { grid-template-columns:repeat(2,1fr); }.fde-module-tabs button { font-size:13px; }.fde-module-content { min-height:0; }.fde-deliverables { grid-template-columns:1fr; gap:16px; }.fde-capability-path { font-size:9px; gap:5px; padding:13px 9px; }.fde-window-bar { font-size:11px; }.fde-window-bar small { font-size:9px; }
 #gs-pdca .cycle-layout { grid-template-columns:minmax(0,1fr); }#gs-pdca .cycle-layout>div { min-width:0; }#gs-pdca .cycle-visual { width:min(320px,100%); height:auto; aspect-ratio:1; }
 #gs-pdca .cycle-step { width:70px; height:70px; margin:-35px 0 0 -35px; }#gs-pdca .cycle-step b { font-size:22px; }#gs-pdca .cycle-step>span { font-size:11px; }#gs-pdca .cycle-step>.cycle-weight { font-size:8px; }
}
@media(max-width:390px){.product-system .domain-system-nodes,.product-system .nodes-business { grid-template-columns:1fr; }.product-system .nodes-business>a:last-child { grid-column:auto; }.domain-core-product>strong { flex-basis:100%; }.dark-theme .fde-heading h2 strong { font-size:24px; }}
@media(prefers-reduced-motion:reduce){.product-system a,#gs-pdca .cycle-step { transition:none; }}
