/* The rounded group/content hierarchy, extended from the AI solutions page. */

/* Technology: a field groups its individual technologies and its delivery scope. */
body.page-technology #main .tk-index-grid { gap:10px; padding:14px; border:1px solid rgba(198.752,186.447,160.336,1); border-radius:20px; background:rgba(235.544,228.809,214.516,1); }
body.page-technology #main .tk-index-grid a { border:1px solid rgba(202.15,191.542,169.034,1); border-radius:10px; background:rgba(251.02,248.501,243.155,1); }
body.page-technology #main .tk-index-grid a b { border-radius:6px; }
body.page-technology #main .tk-head { align-items:center; margin-bottom:24px; padding-bottom:0; border:0; }
body.page-technology #main .tk-stack { gap:14px; margin:0; padding:24px; border:1px solid rgba(201.806,191.425,169.398,1); border-radius:20px; background:rgba(236.081,230.646,219.112,1); }
body.page-technology #main .tk-stack li { min-width:0; padding:20px; border:1px solid rgba(210.781,202.707,185.574,1); border-radius:12px; background:rgba(251.792,250.267,247.03,1); }
body.page-technology #main .tk-stack li>div { min-width:0; }
body.page-technology #main .tk-stack b { color:rgba(72.993,61.862,38.243,1); }
body.page-technology #main .tk-stack li>div>span { color:rgba(107.095,93.707,65.3,1); font-size:16px; line-height:1.85; }
body.page-technology #main .tk-ico { border-radius:8px; background:rgba(236.074,230.352,218.209,1); color:rgba(99.528,83.147,48.388,1); }
body.page-technology #main dl.tk-spec { margin-top:18px; }
body.page-technology #main dl.tk-spec>div,
body.page-technology #main dl.tk-spec>div:last-child { border-radius:12px; padding:23px 26px; background:rgba(231.788,224.137,207.902,1); }
body.page-technology #main dl.tk-spec dt { border-radius:6px; }
body.page-technology #main dl.tk-spec dd { font-weight:500; }
body.page-technology #main .cv-technology { padding:28px; border-radius:20px; background:rgba(235.404,229.183,215.984,1); }
body.page-technology #main .cv-role-node { border-radius:12px; }
body.page-technology #main .cv-platforms button { border-radius:8px; }
body.page-technology #main .cv-role-node>.cv-marker { border-radius:5px; }

/* Company: a warm warning group and a bright assurance group remain distinct. */
body.page-company #main .co-after .co-after-risk { padding:32px; border:1px solid #896448; border-radius:22px; background:#32241e; }
body.page-company #main .co-after-risk ol { gap:26px; }
body.page-company #main .co-after .co-after-risk li { padding:24px; border:1px solid #89614c; border-radius:12px; background:#433027; }
body.page-company #main .co-after-risk li:before { display:grid; place-items:center; width:34px; height:30px; border-radius:6px; background:#614633; color:#ffe0c3; font-weight:600; }
body.page-company #main .co-after-risk li:not(:last-child):after { right:-25px; top:27px; }
body.page-company #main .co-after .co-after-risk li:last-child { padding:24px; border:1px solid #b47b65; background:#63382e; }
body.page-company #main .co-after .co-after-answer { padding:34px; gap:32px; border:1px solid rgba(185.575,170.281,137.829,1); border-radius:22px; background:rgba(239.274,232.901,219.376,1); }
body.page-company #main .co-after-answer ul { gap:14px; }
body.page-company #main .co-after .co-after-answer li { padding:22px; border:1px solid rgba(206.937,195.779,172.101,1); border-radius:12px; background:rgba(251.838,249.588,244.813,1); }

/* Modernization: group, content panel, and small control have separate shapes. */
body.page-modernization #main .mz-inds article { border:1px solid rgba(204.645,196.791,180.127,1); border-radius:20px; background:rgba(251.792,250.267,247.03,1); box-shadow:none; transform:none; }
body.page-modernization #main .mz-inds article:hover { box-shadow:none; transform:none; }
body.page-modernization #main .mz-ind-top { padding:27px 26px; background:rgba(73.33,63.311,42.051,1); background-image:none; }
body.page-modernization #main .mz-ind-top h3 { color:rgba(246.334,242.214,233.471,1); }
body.page-modernization #main .mz-ind-body { padding:24px; gap:18px; }
body.page-modernization #main .mz-inds .mz-symptom { border:1px solid #e0c3ad; border-radius:12px; background:#fff3e8; color:#67442b; }
body.page-modernization #main .mz-legacy { border-radius:20px; }
body.page-modernization #main .mz-knowledge>div { border-radius:10px; }
body.page-modernization #main .mz-quad { gap:18px; padding:30px; border:1px solid rgba(200.84,189.86,166.562,1); border-radius:22px; background:rgba(236.378,230.185,217.046,1); }
body.page-modernization #main .mz-quad article:nth-child(n) { padding:26px; border:1px solid rgba(207.188,198.249,179.281,1); border-radius:12px; background:rgba(251.792,250.267,247.03,1); }
body.page-modernization #main .mz-quad .number { color:rgba(118.248,100.926,64.17,1); font:700 20px/1.5 var(--mono); }
body.page-modernization #main .mz-quad-core { position:static; grid-column:1/-1; grid-row:1; order:-1; display:flex; flex-direction:row; gap:13px; width:max-content; max-width:100%; height:auto; padding:11px 18px; margin:0; border:1px solid rgba(177.275,160.517,124.957,1); border-radius:10px; background:rgba(70.576,59.829,37.022,1); transform:none; }
body.page-modernization #main .mz-steps-sec .mz-order { gap:16px; padding:24px; border:1px solid rgba(124.165,108.736,75.996,1); border-radius:22px; background:rgba(57.621,49.605,32.596,1); }
body.page-modernization #main .mz-steps-sec .mz-order li { min-width:0; padding:24px; border:1px solid rgba(138.356,124.432,94.886,1); border-radius:12px; background:rgba(72.791,63.509,43.814,1); }
body.page-modernization #main .mz-steps-sec .mz-no { border-radius:7px; background:rgba(243.282,222.292,177.753,1); color:rgba(60.06,50.989,31.741,1); }
body.page-modernization #main .mz-steps-sec .mz-order b { color:rgba(246.228,242.889,235.802,1); }
body.page-modernization #main .mz-steps-sec .mz-order p { color:rgba(226.577,219.006,202.941,1); font-size:16px; line-height:1.85; }
body.page-modernization #main .mz-order-note { color:rgba(218.234,208.6,188.158,1); font-size:16px; }
body.page-modernization #main .mz-mix { background:rgba(120.423,108.844,84.273,1); }
body.page-modernization #main .mz-mix i,body.page-modernization #main .mz-legend .n i { background:rgba(243.282,222.292,177.753,1); }
body.page-modernization #main .mz-legend .o i { background:rgba(120.423,108.844,84.273,1); }
body.page-modernization #main .mz-flow { gap:10px; padding:28px; border:1px solid rgba(199.241,187.135,161.446,1); border-radius:20px; background:rgba(235.69,228.727,213.952,1); }
body.page-modernization #main .mz-flow-col span { padding:12px 10px; border:1px solid rgba(202.361,190.332,164.806,1); border-radius:8px; background:rgba(251.02,248.501,243.155,1); transform:none; font-size:14px; line-height:1.5; }
body.page-modernization #main .mz-flow-col--out span { background:rgba(232.505,219.841,192.966,1); }
body.page-modernization #main .mz-flow-core { width:110px; height:104px; padding:10px; border:1px solid rgba(188.703,173.199,140.301,1); border-radius:12px; background:rgba(225.287,211.027,180.766,1); }
body.page-modernization #main .mz-flow-core small { font-size:14px; line-height:1.5; opacity:1; letter-spacing:0; }
body.page-modernization #main .cv-modernization { padding:26px; border-radius:20px; background:rgba(235.251,229.267,216.567,1); }
body.page-modernization #main .cv-modern-tabs button { border-radius:8px; }
body.page-modernization #main .cv-system-layers>div { border-radius:10px; }
body.page-modernization #main .cv-rule-example { padding:20px; border-radius:12px; }
body.page-modernization #main .cv-modern-explanation { padding:20px; border:1px solid rgba(204.001,192.218,167.214,1); border-radius:12px; background:rgba(245.506,241.128,231.839,1); }

/* Development service process: one set of stages, followed by the chosen output. */
body.page-software-development #main #process .cv-process { margin:0; padding:30px; border:1px solid rgba(199.576,187.249,161.093,1); border-radius:22px; background:rgba(236.378,230.185,217.046,1); }
body.page-software-development #main #process .cv-caption { align-items:start; gap:8px 24px; margin-bottom:25px; }
body.page-software-development #main #process .cv-caption>b { font-size:20px; line-height:1.65; }
body.page-software-development #main #process .sd-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:0; padding:0; }
body.page-software-development #main #process .sd-steps:before,
body.page-software-development #main #process .sd-steps>li:before { display:none; }
body.page-software-development #main #process .sd-steps>li { display:flex; flex-direction:column; align-items:start; min-width:0; padding:24px; border:1px solid rgba(208.547,198.511,177.213,1); border-radius:12px; background:rgba(252.683,250.973,247.345,1); }
body.page-software-development #main #process .sd-steps>li.cv-stage-active { padding:23px; border:2px solid rgba(142.427,120.574,74.204,1); background:rgba(248.437,243.766,233.856,1); }
body.page-software-development #main #process .sd-step-no { flex:none; width:36px; height:32px; margin-bottom:16px; border:0; border-radius:6px; background:rgba(235.811,228.065,211.628,1); color:rgba(81.241,67.264,37.606,1); box-shadow:none; font:700 14px/1 var(--mono); }
body.page-software-development #main #process .sd-steps h3 { margin:0 0 12px; color:rgba(67.422,57.345,35.963,1); font-size:20px; line-height:1.6; }
body.page-software-development #main #process .sd-steps p { color:rgba(104.129,90.717,62.258,1); font-size:16px; line-height:1.85; }
body.page-software-development #main #process .sd-steps .rq-more { margin-top:12px; }
body.page-software-development #main #process .sd-steps .rq-more a { color:rgba(97.505,80.762,45.233,1); font-size:14px; line-height:1.8; text-decoration:underline; text-underline-offset:4px; }
body.page-software-development #main #process [data-cv-process] { display:flex; align-items:center; justify-content:space-between; gap:14px; width:100%; min-height:44px; margin-top:auto; padding:10px 12px; border:1px solid rgba(198.945,185.808,157.932,1); border-radius:8px; background:rgba(245.506,241.128,231.839,1); color:rgba(85.33,71.385,41.794,1); font-size:14px; font-weight:600; }
body.page-software-development #main #process [data-cv-process]>span { color:rgba(85.33,71.385,41.794,1); }
body.page-software-development #main #process .sd-steps>li>p:last-of-type { margin-bottom:22px; }
body.page-software-development #main #process [data-cv-process][aria-pressed="true"] { border-color:rgba(85.156,71.239,41.709,1); background:rgba(85.156,71.239,41.709,1); color:rgba(249.217,245.816,238.6,1); }
body.page-software-development #main #process [data-cv-process][aria-pressed="true"]>span { color:rgba(249.217,245.816,238.6,1); }
body.page-software-development #main #process [data-cv-process]:hover { border-color:rgba(134.322,114.268,71.714,1); }
body.page-software-development #main #process .cv-process-output { align-items:start; gap:28px; margin-top:26px; padding:26px; border:1px solid rgba(200.84,189.86,166.562,1); border-radius:14px; background:rgba(250.819,248.964,245.026,1); scroll-margin-top:120px; }
body.page-software-development #main #process .cv-process-output:focus-visible { outline:3px solid rgba(165.396,144.749,100.938,1); outline-offset:4px; }
body.page-software-development #main #process .cv-deliverable { padding:22px; border:1px solid rgba(208.809,200.419,182.617,1); border-radius:10px; background:rgba(255,255,255,1); box-shadow:none; }
body.page-software-development #main #process .cv-deliverable .cv-marker { border-radius:5px; }
body.page-software-development #main #process .cv-process-explanation>b { margin-bottom:12px; font-size:20px; }
body.page-software-development #main #process .cv-process-review { margin-top:20px; padding:18px; border:1px solid rgba(211.846,201.347,179.066,1); border-radius:10px; background:rgba(240.796,235.445,224.09,1); }
body.page-software-development #main #process .cv-process-review>span { display:block; margin-bottom:8px; color:rgba(108.177,92.623,59.618,1); font-size:14px; font-weight:600; }
body.page-software-development #main #process .cv-process-review>p { margin:0; color:rgba(81.241,67.264,37.606,1); font-size:16px; line-height:1.85; }
body.page-software-development #main #process .cv-process-returns { align-items:center; gap:12px; margin-top:22px; padding-top:22px; border-top:1px solid rgba(202.991,191.777,167.982,1); }
body.page-software-development #main #process .cv-process-returns>span { color:rgba(106.462,92.349,62.401,1); font-size:14px; font-weight:600; }
body.page-software-development #main #process .cv-process-returns button { padding:10px 14px; border:1px solid rgba(198.602,185.971,159.168,1); border-radius:8px; background:rgba(250.089,247.496,241.994,1); color:rgba(91.603,76.999,46.008,1); font-size:14px; }

@media (max-width:1100px) {
  body.page-company #main .co-after-risk ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.page-company #main .co-after .co-after-answer { grid-template-columns:1fr; gap:24px; }
  body.page-company #main .co-after-answer .co-after-label { display:flex; align-items:center; gap:16px; }
  body.page-company #main .co-after-answer .co-after-label i { margin:0; flex-shrink:0; }
  body.page-modernization #main .mz-steps-sec .mz-order { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
  body.page-software-development #main #process .cv-process { padding:24px; }
  body.page-software-development #main #process .sd-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  body.page-technology #main .tk-index-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.page-company #main .co-after-risk li:nth-child(2):after { display:none; }
  body.page-modernization #main .mz-quad { padding:24px; }
}
@media (max-width:640px) {
  body.page-software-development #main #process .cv-process { padding:22px 18px; border-radius:18px; }
  body.page-software-development #main #process .cv-caption>b { font-size:18px; }
  body.page-software-development #main #process .sd-steps { grid-template-columns:1fr; gap:14px; }
  body.page-software-development #main #process .sd-steps>li { padding:22px; }
  body.page-software-development #main #process .sd-steps>li.cv-stage-active { padding:21px; }
  body.page-software-development #main #process .cv-process-output { grid-template-columns:1fr; padding:20px; gap:22px; margin-top:20px; }
  body.page-software-development #main #process .cv-process-explanation>b { font-size:18px; }
  body.page-software-development #main #process .cv-deliverable { padding:20px; }
  body.page-software-development #main #process .cv-process-returns>span { width:100%; }
  body.page-software-development #main #process .cv-process-returns button { width:100%; text-align:left; }
  body.page-technology #main .tk-index-grid { grid-template-columns:repeat(2,minmax(0,1fr)); padding:10px; gap:9px; border-radius:16px; }
  body.page-technology #main .tk-index-grid a { gap:9px; padding:13px 10px; }
  body.page-technology #main .tk-stack { grid-template-columns:1fr; padding:16px; gap:12px; border-radius:18px; }
  body.page-technology #main .tk-stack li { padding:18px 16px; }
  body.page-technology #main dl.tk-spec>div,
  body.page-technology #main dl.tk-spec>div:last-child { grid-template-columns:1fr; gap:14px; padding:20px; }
  body.page-technology #main .cv-technology { padding:20px; border-radius:18px; }
  body.page-company #main .co-after .co-after-risk,
  body.page-company #main .co-after .co-after-answer { padding:24px 20px; border-radius:18px; }
  body.page-company #main .co-after-risk ol { grid-template-columns:1fr; gap:30px; }
  body.page-company #main .co-after .co-after-risk li,
  body.page-company #main .co-after .co-after-risk li:last-child { padding:22px; }
  body.page-company #main .co-after-risk li:not(:last-child):after { display:block; content:'↓'; top:auto; right:auto; bottom:-28px; left:calc(50% - 10px); }
  body.page-company #main .co-after .co-after-answer li { padding:20px 18px; }
  body.page-modernization #main .mz-inds { grid-template-columns:1fr; gap:18px; }
  body.page-modernization #main .mz-inds article { border-radius:18px; }
  body.page-modernization #main .mz-ind-top { padding:25px 24px; }
  body.page-modernization #main .mz-ind-body { padding:22px; }
  body.page-modernization #main .mz-quad { grid-template-columns:1fr; padding:20px; gap:14px; border-radius:18px; }
  body.page-modernization #main .mz-quad article:nth-child(n) { padding:22px; }
  body.page-modernization #main .mz-steps-sec .mz-order { grid-template-columns:1fr; padding:20px; gap:14px; border-radius:18px; }
  body.page-modernization #main .mz-steps-sec .mz-order li { padding:22px; }
  body.page-modernization #main .mz-flow { grid-template-columns:1fr; padding:22px; border-radius:18px; }
  body.page-modernization #main .cv-modernization { padding:20px; border-radius:18px; }
  body.page-modernization #main .cv-rule-example,
  body.page-modernization #main .cv-modern-explanation { padding:18px; }
}
