/* Local color accents on a shared page background. */
:where(body[data-page="solutions"],body[data-page="overseas-company"]) {
  --service-ink:#1765a3; --service-soft:#e0eefb; --service-line:#c9def2;
}
[data-service-tone="blue"] { --service-ink:#1765a3; --service-soft:#e0eefb; --service-line:#c9def2; }
[data-service-tone="teal"] { --service-ink:#176d64; --service-soft:#dff1ec; --service-line:#bfe0d7; }
[data-service-tone="amber"] { --service-ink:#995020; --service-soft:#f9ebdc; --service-line:#eed4b6; }
[data-service-tone="violet"] { --service-ink:#68529a; --service-soft:#ece6f6; --service-line:#d8ccea; }
[data-service-tone="rose"] { --service-ink:#9a4c60; --service-soft:#f6e5ea; --service-line:#e9cbd5; }
.service-emblem { display:grid; place-items:center; width:58px; height:58px; margin-bottom:20px; border-radius:18px; color:var(--service-ink); background:var(--service-soft); border:1px solid var(--service-line); }
.service-emblem svg { width:28px; height:28px; stroke-width:1.6; }
.solution-section .company-eyebrow { color:var(--service-ink); }
.solution-section .company-button { background:var(--service-ink); border-color:var(--service-ink); }
.solution-section .company-button:hover { filter:brightness(.9); }
.solution-path { display:flex; max-width:380px; list-style:none; padding:0; margin:30px 0 0; }
.solution-path li { position:relative; display:flex; flex:1; flex-direction:column; align-items:center; gap:8px; }
.solution-path li:not(:last-child)::after { content:""; position:absolute; left:calc(50% + 25px); right:calc(-50% + 25px); top:22px; border-top:1px dashed var(--service-line); }
.solution-path li>span { display:grid; place-items:center; width:44px; height:44px; border-radius:14px; color:var(--service-ink); background:var(--service-soft); }
.solution-path svg { width:22px; height:22px; stroke-width:1.6; }
.solution-path small { font-size:12px; color:#526377; }
.solution-details { align-self:center; }
.solution-details ul { display:grid; gap:10px; }
.site-presentation .solution-details li { position:relative; padding:19px 20px 19px 76px; border:1px solid var(--service-line); border-radius:14px; background:rgba(255,255,255,.8); }
.service-detail-icon { position:absolute; top:20px; left:18px; display:grid; place-items:center; width:40px; height:40px; border-radius:12px; background:var(--service-soft); color:var(--service-ink); }
.service-detail-icon svg { width:21px; height:21px; stroke-width:1.7; }
.solution-details .solution-delivery { border-color:var(--service-line); color:#526377; margin-top:18px; }
.solution-details a { color:var(--service-ink); }
.solution-platforms span { border:1px solid var(--service-line); background:var(--service-soft); color:var(--service-ink); font-size:13px; }
.solution-jump { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:36px; }
.solution-jump a { display:flex; align-items:center; gap:16px; padding:24px; border:1px solid var(--service-line); border-radius:16px; background:var(--service-soft); color:var(--service-ink); text-decoration:none; transition:transform .2s,box-shadow .2s; }
.solution-jump a>svg:first-child { width:32px; height:32px; stroke-width:1.6; }
.solution-jump a>svg:last-child { width:18px; height:18px; margin-left:auto; }
.solution-jump strong { display:block; font-size:18px; font-weight:600; }
.solution-jump small { display:block; margin-top:5px; font-size:12px; color:#526377; }
.solution-jump a:hover { transform:translateY(-3px); box-shadow:0 8px 20px #213b560a; }
.company-brief { position:relative; overflow:hidden; border-radius:18px; border-color:var(--service-line); background:linear-gradient(145deg,#fff 45%,var(--service-soft)); box-shadow:0 16px 48px #213b5606; }
.company-brief-heading { padding-bottom:22px; }
.company-brief-heading svg { box-sizing:content-box; width:26px; height:26px; padding:13px; border-radius:16px; background:var(--service-soft); color:var(--service-ink); }
.company-brief li>span { display:grid; place-items:center; flex-shrink:0; width:28px; height:28px; padding:0; border-radius:50%; background:var(--service-soft); color:var(--service-ink); }
.company-regions { display:grid; gap:8px; border:0; }
.site-presentation .company-region { padding:10px 20px; border:1px solid var(--service-line); border-left:4px solid var(--service-ink); border-radius:12px; background:rgba(255,255,255,.75); }
.company-region-code { background:var(--service-soft); border-color:var(--service-line); color:var(--service-ink); }
.company-duration { align-self:stretch; align-content:center; border:0; min-width:110px; padding:8px 14px; border-radius:8px; background:var(--service-soft); }
.company-duration strong { color:var(--service-ink); }
.company-process { gap:12px; }
.site-presentation .company-process li { border:1px solid var(--service-line); border-radius:14px; padding:22px 18px; background:rgba(255,255,255,.75); }
.company-process-number { position:absolute; right:16px; top:16px; margin:0; color:var(--service-ink); font-variant-numeric:tabular-nums; }
.company-process li>svg { box-sizing:content-box; padding:12px; width:25px; height:25px; border-radius:14px; color:var(--service-ink); background:var(--service-soft); margin:18px 0 20px; stroke-width:1.6; }
.company-checklist { padding:8px 24px; background:rgba(255,255,255,.75); border:1px solid #c9def2; border-radius:16px; }
.company-checklist li,.company-checklist li:first-child { padding:18px 0; }
.company-checklist li:last-child { border-bottom:0; }
.company-checklist svg { box-sizing:content-box; width:20px; height:20px; padding:10px; margin:0; border-radius:12px; background:#e0eefb; color:#1765a3; stroke-width:1.6; }
@media(max-width:1100px) {
  .solution-jump a { padding:20px 16px; gap:12px; }
  .solution-jump a>svg:last-child { display:none; }
  .company-process { gap:12px; }
}
@media(max-width:899px) {
  .solution-jump { gap:12px; }
  .solution-jump a { align-items:start; flex-direction:column; }
  .site-presentation .company-region { padding:16px; }
  .company-duration { min-width:0; }
}
@media(max-width:700px) {
  .solution-intro h2 { text-wrap:balance; }
  .solution-intro h2 br { display:initial; }
  .service-emblem { width:46px; height:46px; border-radius:14px; margin-bottom:14px; }
  .service-emblem svg { width:24px; height:24px; }
  .solution-path { margin-top:22px; max-width:320px; }
  .solution-jump { grid-template-columns:1fr; margin-top:24px; }
  .solution-jump a { flex-direction:row; align-items:center; padding:16px 20px; }
  .solution-jump a>svg:last-child { display:block; }
  .solution-jump strong { font-size:16px; }
  .site-presentation .solution-details li { padding:16px 16px 16px 64px; }
  .service-detail-icon { top:17px; left:14px; width:34px; height:34px; border-radius:10px; }
  .site-presentation .company-process { gap:10px; }
  .site-presentation .company-process li { padding:16px; }
  .company-checklist { padding-inline:16px; }
  .company-checklist li { gap:12px; }
  .company-region-name { min-width:0; }
  .company-region-name span:not(.company-region-code) { overflow-wrap:anywhere; }
}
@media(max-height:780px) and (min-width:900px) {
  .service-emblem { width:46px; height:46px; margin-bottom:12px; border-radius:14px; }
  .solution-path { margin-top:20px; }
  .site-presentation .solution-details li { padding-block:14px; }
  .site-presentation #regions.presentation-screen>section { padding-block:24px; }
  .site-presentation .company-region { padding-block:8px; }
  .company-regions { gap:6px; }
  .company-duration { padding-block:5px; }
  .company-duration strong { font-size:26px; line-height:1.15; }
}
.site-presentation .presentation-screen>.service-closing { flex-direction:column; justify-content:center; gap:28px; }
.service-closing .closing-heading { text-align:center; max-width:740px; }
.service-closing .closing-heading h2 { margin-top:14px; font-size:clamp(30px,3vw,42px); line-height:1.35; letter-spacing:-.035em; text-wrap:balance; }
.service-closing .closing-heading p { margin-top:16px; line-height:1.8; }
.closing-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; width:100%; }
.closing-cards article { display:flex; align-items:flex-start; gap:18px; padding:28px 24px; border:1px solid var(--service-line); border-radius:18px; background:var(--service-soft); }
.closing-card-icon { display:grid; place-items:center; flex-shrink:0; width:48px; height:48px; border-radius:14px; background:rgba(255,255,255,.75); color:var(--service-ink); }
.closing-card-icon svg { width:25px; height:25px; stroke-width:1.6; }
.closing-cards h3 { margin:0; color:var(--service-ink); font-size:18px; font-weight:600; }
.service-closing .closing-cards p { margin-top:8px; font-size:13px; line-height:1.85; color:#526377; }
.closing-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:16px 28px; }
.service-closing .closing-note { margin:-12px 0 0; text-align:center; font-size:12px; line-height:1.7; color:#627187; }
@media(min-width:900px) and (max-height:780px) {
  .site-presentation .presentation-screen>.service-closing { gap:22px; padding-block:24px; }
  .service-closing .closing-heading h2 { font-size:34px; }
  .closing-cards article { padding:22px 20px; }
}
@media(max-width:1100px) and (min-width:701px) {
  .closing-cards article { flex-direction:column; padding:20px; gap:14px; }
}
@media(max-width:700px) {
  .site-presentation .presentation-screen>.service-closing { gap:16px; padding-block:22px; }
  .service-closing .closing-heading h2 { font-size:28px; }
  .service-closing .closing-heading p { margin-top:10px; font-size:13px; text-wrap:balance; }
  .closing-cards { grid-template-columns:1fr; gap:10px; }
  .closing-cards article { padding:14px; gap:14px; border-radius:14px; }
  .closing-card-icon { width:40px; height:40px; border-radius:12px; }
  .closing-card-icon svg { width:22px; height:22px; }
  .closing-cards h3 { font-size:16px; line-height:1.4; }
  .service-closing .closing-cards p { margin-top:5px; font-size:12px; line-height:1.75; }
  .closing-actions { width:100%; gap:8px 14px; }
  .service-closing .closing-actions .company-button { width:auto; padding-inline:16px; font-size:13px; }
  .service-closing .closing-actions .company-text-link { font-size:13px; }
  .service-closing .closing-note { margin-top:-4px; }
}
@media(prefers-reduced-motion:reduce) { .solution-jump a { transition:none; } }
