/* Readability fixes shared by the standalone concept and the full local site. */
:root { --readable-ink:rgba(59.341,50.557,31.917,1); --readable-muted:rgba(102.298,93.078,73.514,1); --readable-light:rgba(244.42,240.504,232.194,1); }
body { line-height:1.85; }
body.editorial-site .site-header,body .site-header { background:rgba(34.739,29.705,19.022,1); }
.brand>span { font-size:11px; letter-spacing:.3em; }
.hero-topline { font-size:12px; letter-spacing:.1em; }
.hero-topline span:last-child { font-size:12px; }
.hero-image-note,.hero-scroll { font-size:12px; }
.hero-content>p,.ix-since-head>p,.ix-build-head>p,.clients-heading>p,
.customer-reviews .section-head>p,.bebob-evaluation .section-head>p,
.ix-story p,.ix-benefits p,.ix-rv blockquote,.card>p { font-size:16px; line-height:1.9; }
.hero-metric { font-size:14px; line-height:1.85; }
.hero-metrics { column-gap:28px; }
.kicker,.mini-label,.evaluation-label,.review-index,.ix-benefits>article>span,
.tech-tags>span,.service-symbol>span,.ai-label { font-size:14px; letter-spacing:.06em; }
.ix-since-facts dd>span { font-size:14px; line-height:1.8; }
.history-list li>span { font-size:16px; line-height:1.85; }
.history-more summary { font-size:14px; padding-block:18px; }
.timeline-heading .line-link,.ix-since-link,.line-link { font-size:14px; }
.ix-rv footer,.ix-rv footer>span { font-size:14px; line-height:1.85; }
.ix-rv { padding-inline:28px; }
.hero-actions .button,.ix-cta .button { font-size:16px; }
.footer-columns p,.footer-links>a,.footer-links>p,.footer-bottom,
.footer-top>p,.footer-columns h3 { font-size:14px; line-height:1.9; }
.footer-top>p { color:rgba(205.823,197.706,180.482,1); }
.footer-bottom { color:rgba(191.765,180.665,157.111,1); }

/* Explicit pairs prevent legacy link colors from leaking into filled buttons. */
body :is(.button.primary,.btn-primary),
body.editorial-site .co-prod>a {
  background:rgba(243.282,222.292,177.753,1)!important;
  color:rgba(55.689,46.468,26.902,1)!important;
  -webkit-text-fill-color:currentColor;
  background-image:none!important;
  opacity:1;
  text-shadow:none;
  border:1px solid rgba(224.264,201.187,152.218,1);
}
body :is(.button.primary,.btn-primary):hover,
body.editorial-site .co-prod>a:hover { background:rgba(249.805,236.687,208.849,1)!important; color:rgba(46.479,37.86,19.571,1)!important; }
body .button.light { background:rgba(240.237,233.903,220.464,1)!important; color:rgba(55.689,46.468,26.902,1)!important; -webkit-text-fill-color:currentColor; }
body .button.dark { background:rgba(55.689,46.468,26.902,1)!important; color:rgba(246.365,242.805,235.251,1)!important; -webkit-text-fill-color:currentColor; }
body .button.secondary { background:transparent!important; color:rgba(78.649,66.788,41.621,1)!important; border-color:rgba(154.157,140.719,112.205,1); }
body :is(.dark,.hero,.ed-page-hero) .button:is(.secondary,.outline) {
  background:transparent!important; color:rgba(244.42,240.504,232.194,1)!important; border-color:rgba(202.333,191.176,167.502,1);
}
body :is(.ix-cta,.ai-cta,.rq-cta) .button {
  background:rgba(55.689,46.468,26.902,1)!important; color:rgba(246.365,242.805,235.251,1)!important; border-color:rgba(55.689,46.468,26.902,1);
}
body :is(.button,.btn-primary) *,body.editorial-site .co-prod>a * {
  color:inherit!important; -webkit-text-fill-color:currentColor;
}
body.editorial-site .co-prod>a {
  display:inline-flex; align-items:center; justify-content:center; align-self:flex-start;
  min-height:46px; padding:12px 20px; font-size:15px; font-weight:600;
  line-height:1.5; border-radius:0; text-decoration:none;
}
body.editorial-site .site-header .header-cta { color:rgba(244.42,240.504,232.194,1); }
body.editorial-site .site-header .language { color:rgba(244.42,240.504,232.194,1); }
body.editorial-site .language a:hover { background:rgba(243.282,222.292,177.753,1); color:rgba(55.689,46.468,26.902,1); }
body.editorial-site .filter-button { color:rgba(78.649,66.788,41.621,1); background:transparent; border-color:rgba(167.973,154.44,125.723,1); }
body.editorial-site .filter-button:is(.active,:hover) { background:rgba(64.731,54.919,34.098,1); color:rgba(246.365,242.805,235.251,1); border-color:rgba(64.731,54.919,34.098,1); }
body .review-toolbar button { color:rgba(74.155,63.009,39.357,1); background:transparent; border-color:rgba(156.87,143.54,115.255,1); }
body .review-toolbar button:hover:not(:disabled) { background:rgba(60.338,50.887,30.832,1); color:rgba(246.365,242.805,235.251,1); }
body .button { white-space:normal; line-height:1.55; min-height:48px; }
body input::placeholder,body textarea::placeholder { color:rgba(115.729,108.551,93.32,1); opacity:1; }

/* Light surfaces need darker secondary copy, especially at body sizes. */
body.editorial-subpage { --muted:rgba(102.298,93.078,73.514,1); --purple:rgba(103.023,87.283,53.883,1); --purple-2:rgba(114.834,98.563,64.035,1); }
body.editorial-subpage main :is(p,dd,.field-hint,.tk-spec,.project-features) { color:rgba(102.298,93.078,73.514,1); }
body.editorial-site.editorial-subpage main p { font-size:16px; line-height:1.85; }
body.editorial-subpage main .ed-page-hero p { font-size:16px!important; }
body.editorial-subpage main :is(h2,h3,h4) { color:rgba(59.341,50.557,31.917,1); }
body.editorial-subpage :is(.dark,.ed-page-hero,.sd-scope,.sd-voices,.ai-rq-sec,.contact-info) :is(h2,h3,h4) { color:rgba(244.42,240.504,232.194,1); }
body.editorial-subpage .mz-ind-top { background:rgba(70.46,60.737,40.106,1); }
body.editorial-subpage .mz-ind-top h3 { color:rgba(244.42,240.504,232.194,1); }
body.editorial-subpage .project .project-kicker { color:rgba(102.298,93.078,73.514,1); }
body.editorial-subpage .rq-free { color:rgba(78.649,66.788,41.621,1)!important; }
body.editorial-home :is(.ix-since,.customer-reviews,.bebob-evaluation,.ix-cta) p { color:rgba(102.298,93.078,73.514,1); }
body.editorial-subpage main :is(.dark,.ed-page-hero) :is(p,dd) { color:rgba(218.516,211.084,195.314,1); }
body.editorial-subpage .section:is(.sd-scope,.sd-voices,.ai-rq-sec) { background:rgba(50.357,43.668,29.475,1); color:rgba(244.42,240.504,232.194,1); }
body.editorial-subpage :is(.sd-scope,.sd-voices,.ai-rq-sec) :is(h2,h3,p,dd,figcaption,strong) { color:rgba(238.991,233.065,220.491,1); }
body.editorial-subpage .co-svc :is(h3,p) { color:rgba(78.649,66.788,41.621,1); }
body.editorial-subpage .co-prod p { color:rgba(218.516,211.084,195.314,1); }
body.editorial-subpage :is(.rq-cta,.ai-cta) p { color:rgba(78.649,66.788,41.621,1); }
body.editorial-subpage .preview-form-note { color:rgba(93.035,78.714,48.326,1)!important; }
body.editorial-subpage .contact-info p { color:rgba(218.516,211.084,195.314,1); }
body.editorial-subpage :is(.section:not(.dark),.portfolio-list,.history-stats,.inquiry-guide,.inquiry-process) :is(span,small,dt,em) { color:rgba(102.298,93.078,73.514,1); }
body.editorial-subpage .co-spec dt { background:rgba(231.494,225.177,211.773,1); color:rgba(78.649,66.788,41.621,1); }
body.editorial-subpage main :is(.section.dark,.section.sd-scope,.section.sd-voices,.section.ai-rq-sec,.contact-info,.mz-ind-top,.ed-page-hero) :is(span,small,dt,em) { color:rgba(220.026,211.256,192.646,1); }
body.editorial-subpage .ai-meter { background:rgba(50.357,43.668,29.475,1); color:rgba(244.42,240.504,232.194,1); }
body.editorial-subpage .ai-meter :is(span,small,dt,em,p) { color:rgba(234.552,226.936,210.775,1); }
body.editorial-subpage .ai-meter-big { color:rgba(240.399,226.096,195.746,1); background:none; -webkit-text-fill-color:currentColor; }
body.editorial-subpage .ai-alloc-bar .c { background:rgba(101.033,90.078,66.832,1); color:rgba(244.42,240.504,232.194,1); }
body.editorial-subpage .ai-alloc-bar .c.ai { background:rgba(89.186,74.967,44.794,1); color:rgba(244.42,240.504,232.194,1); }
body.editorial-subpage .ai-alloc-bar .v { background:rgba(115.821,99.56,65.056,1); color:rgba(244.42,240.504,232.194,1); }
body.editorial-subpage .ai-erd-ops b { color:#8c352b; }
body.editorial-subpage .is-good .ai-erd-ops b { color:rgba(106.815,84.442,36.967,1); }
body.editorial-subpage .ai-stages .is-hot :is(span,b) { color:#93392f; }
body.editorial-subpage main .section .ai-quote :is(span,b) { color:rgba(239.622,231.502,214.272,1); background:none; -webkit-text-fill-color:currentColor; }
body.editorial-subpage .ai-erd-tag { color:rgba(47.716,36.385,12.341,1)!important; }
body.editorial-subpage .ai-rq-bar em { color:rgba(234.552,226.936,210.775,1); }
body.editorial-subpage .field label { color:rgba(92.942,78.977,49.343,1); }
body.editorial-subpage .section .contact-info small { color:rgba(229.976,220.901,201.645,1); }
body.editorial-subpage .section .ai-rescue-steps li>span { color:rgba(244.42,240.504,232.194,1); background:rgba(80.354,68.218,42.466,1); }
body.editorial-subpage .ai-cta .kicker { color:rgba(93.035,78.714,48.326,1); }
body.editorial-subpage .sd-step-no { color:rgba(244.42,240.504,232.194,1)!important; background:rgba(80.811,68.267,41.648,1)!important; box-shadow:none; }
body.editorial-subpage .sd-bar { height:46px; background:rgba(231.329,224.968,211.47,1); }
body.editorial-subpage .sd-bar:before { background:rgba(179.573,162.622,126.654,1); }
body.editorial-subpage .sd-bar b { color:rgba(55.689,46.468,26.902,1)!important; }
body.editorial-subpage .inquiry-process :is(h2,h3) { color:rgba(59.341,50.557,31.917,1); }
body.editorial-subpage .inquiry-process .inquiry-section-copy { color:rgba(102.298,93.078,73.514,1); }
body.editorial-subpage .project h2,body.editorial-subpage .growth-intro h2 { color:rgba(59.341,50.557,31.917,1); }
body.editorial-subpage .project .project-meta :is(span,em),body.editorial-subpage .project .project-kicker { color:rgba(102.298,93.078,73.514,1); }
body.editorial-home :is(.ix-since,.customer-reviews,.bebob-evaluation,.ix-cta) :is(span,small,dt,em) { color:rgba(102.298,93.078,73.514,1); }
body.editorial-home :is(.hero,.ix-build) :is(.kicker,.mini-label,.eyebrow,.tech-tags>span) { color:rgba(228.029,219.184,200.413,1); }
body.editorial-home .hero h1 .hero-main { color:rgba(243.282,222.292,177.753,1); }
body.editorial-home .history-list b { color:rgba(102.298,93.078,73.514,1); }
body.editorial-home .history-more summary,body.editorial-home .clients-heading .kicker { color:rgba(102.298,93.078,73.514,1); }
body.editorial-home .ix-story-no { color:rgba(130.35,115.608,84.325,1); }
body.editorial-subpage .hl-tiles li { color:rgba(93.807,81.375,54.994,1); }
body.editorial-subpage .hl-year-label { color:rgba(102.298,93.078,73.514,1); }
body.editorial-subpage .hl-legend>span { color:rgba(102.298,93.078,73.514,1); background:transparent; border-color:rgba(179.6,167.615,142.183,1); }
body.editorial-subpage .pt-list b { color:rgba(59.341,50.557,31.917,1); }
body.editorial-subpage .pt-list .pt-year,body.editorial-subpage .tk-spec dt { color:rgba(55.689,46.468,26.902,1); }
body.editorial-subpage main .section .tk-spec dt,
body.editorial-subpage main .section .pt-list .pt-year { color:rgba(55.689,46.468,26.902,1); }
body.editorial-subpage main .section .hl-density .hl-legend>span { color:rgba(232.603,224.644,207.753,1); }
body.editorial-subpage .mz-no { color:rgba(55.689,46.468,26.902,1)!important; }
body.editorial-subpage .mz-glyph { color:rgba(244.42,240.504,232.194,1)!important; }
body.editorial-subpage .mz-flow-col span,body.editorial-subpage .mz-flow-core { color:rgba(60.902,50.68,28.99,1)!important; background:rgba(234.986,226.981,209.996,1); }
body.editorial-subpage .mz-legacy em { color:rgba(72.726,63.318,43.355,1); }
body.editorial-subpage main .section .mz-legacy em { color:rgba(72.726,63.318,43.355,1); }
body.editorial-subpage .mz-legacy-tags span { color:rgba(60.902,50.68,28.99,1)!important; background:rgba(234.986,226.981,209.996,1); }
body.editorial-subpage .mz-quad-core b { color:rgba(102.298,93.078,73.514,1); }
body.editorial-subpage .inquiry-private { background:rgba(68.158,57.291,34.232,1); color:rgba(244.42,240.504,232.194,1); }
body.editorial-subpage .inquiry-private span { color:rgba(243.282,222.292,177.753,1)!important; }
body.editorial-subpage .inquiry-process-grid article>span { color:rgba(244.42,240.504,232.194,1)!important; }
body.editorial-subpage .dropzone b,body.editorial-subpage .field-hint a { color:rgba(88.884,73.516,40.905,1); }
body.editorial-subpage main .section .rq-file { color:rgba(244.42,240.504,232.194,1); }
body.editorial-subpage main .section .rq-map-row>span { color:rgba(244.42,240.504,232.194,1); background:rgba(68.072,60.061,43.061,1); }
body.editorial-subpage main .section .rq-flow-main>span { color:rgba(244.42,240.504,232.194,1); background:rgba(68.072,60.061,43.061,1); }
body.editorial-subpage .rq-check-col--none li { color:rgba(102.298,93.078,73.514,1); }
body.editorial-subpage .rq-cta span { color:rgba(72.726,63.318,43.355,1); }
body.editorial-subpage .rq-miss b { color:rgba(255,255,255,1); background:#9b2f32; }
body.editorial-site .site-header .language summary { color:rgba(244.42,240.504,232.194,1); background:transparent; }
body.editorial-site .site-header details.language { background:transparent; border:0; box-shadow:none; }
body.editorial-site .site-header .language summary { padding:8px 0; border:0; }
body.editorial-subpage.page-dev-outsourcing { --ink-2:rgba(102.298,93.078,73.514,1); --ink-3:rgba(102.298,93.078,73.514,1); --accent:rgba(104.486,86.967,49.793,1); --brand-2:rgba(99.788,83.707,49.584,1); }
body.editorial-subpage.page-dev-outsourcing main .tag { color:rgba(72.726,63.318,43.355,1); background:rgba(231.485,224.593,209.968,1); }
body.editorial-subpage.page-dev-outsourcing main>section:not(.ed-page-hero) .eyebrow { color:rgba(102.298,93.078,73.514,1); }
body.editorial-subpage.page-dev-outsourcing .req { color:#9b2828; }
body.editorial-site .footer-slogan,body.editorial-site .footer-legal { color:rgba(191.765,180.665,157.111,1); }
body.editorial-site .footer-legal p { color:rgba(191.765,180.665,157.111,1); }
body.editorial-site .site-footer :is(p,a) { color:rgba(205.823,197.706,180.482,1); }
body.editorial-site .page-pager :is(b,span) { color:rgba(83.213,72.132,48.618,1); }
body.editorial-site .original-footer { row-gap:38px; }

/* After-delivery panels: the outer frame, heading and cards have separate space. */
body.editorial-subpage .co-after-head { margin-bottom:38px; }
body.editorial-subpage .co-after :is(.co-after-risk,.co-after-answer) {
  padding:30px; margin:0; border:1px solid rgba(103.606,92.6,69.244,1);
  background:rgba(53.679,46.297,30.632,1); border-radius:0; box-shadow:none;
}
body.editorial-subpage .co-after .co-after-answer { margin-top:28px; }
body.editorial-subpage .co-after .co-after-label {
  display:flex; align-items:center; gap:12px;
  margin:0 0 24px; padding:0; font-size:20px;
  line-height:1.6; font-weight:600; color:rgba(236.893,231.145,218.948,1);
}
body.editorial-subpage .co-after .co-after-label i {
  width:28px; height:28px; flex:0 0 28px; border-radius:0;
  border:1px solid rgba(159.878,148.383,123.99,1); background:transparent;
  color:rgba(232.206,223.03,203.559,1); font-size:16px; box-shadow:none;
}
body.editorial-subpage .co-after-risk ol,
body.editorial-subpage .co-after-answer ul { margin:0; padding:0; gap:20px; list-style:none; }
body.editorial-subpage .co-after-risk ol { grid-template-columns:repeat(4,minmax(0,1fr)); }
body.editorial-subpage .co-after-answer ul { grid-template-columns:repeat(3,minmax(0,1fr)); }
body.editorial-subpage .co-after :is(.co-after-risk,.co-after-answer) li {
  min-width:0; padding:24px; border:1px solid rgba(120.971,108.567,82.246,1);
  border-radius:0; background:rgba(61.143,53.078,35.963,1); box-shadow:none;
}
body.editorial-subpage .co-after-risk li:before { margin-bottom:15px; color:#d8ba96; font:500 14px/1.5 var(--mono); }
body.editorial-subpage .co-after :is(.co-after-risk,.co-after-answer) li b {
  display:block; margin:0 0 12px; color:rgba(244.575,240.717,232.529,1); font-size:18px;
  font-weight:600; line-height:1.65; letter-spacing:-.025em;
}
body.editorial-subpage .co-after :is(.co-after-risk,.co-after-answer) li p {
  margin:0; color:rgba(221.473,214.667,200.223,1); font-size:16px; line-height:1.85;
}

/* The larger menu text switches to a panel before it crowds the header. */
@media(max-width:1460px) {
  .site-header .header-inner { gap:22px; }
  .site-header .header-cta { margin-left:auto; border-left:0; padding-left:0; }
  .site-header .menu-toggle {
    display:flex; order:4; flex-direction:column; justify-content:center; gap:6px;
    margin-left:0; padding:10px; width:44px; height:44px; background:none; border:0;
  }
  .site-header .menu-toggle span { display:block; width:23px; height:1px; background:rgba(244.42,240.504,232.194,1); }
  .site-header .language { order:3; }
  .site-header .nav {
    display:none; position:absolute; top:91px; left:0; right:0; margin:0;
    background:rgba(40.673,35.686,25.105,0.9803921568627451); padding:24px var(--gutter) 30px;
    border-bottom:1px solid rgba(130.152,115.432,84.197,1); grid-template-columns:1fr 1fr;
    gap:0 35px; white-space:normal; box-shadow:0 25px 40px rgba(0,0,0,0.2);
  }
  .site-header .nav.open { display:grid; }
  body .site-header .nav a { font-size:15px!important; padding:14px 0; border-bottom:1px solid rgba(90.767,81.457,61.702,1); }
}
@media(min-width:1461px) and (max-width:1700px) {
  html:not([lang="ko"]):not([lang="ja"]) .site-header .menu-toggle { display:flex; order:4; margin-left:0; }
  html:not([lang="ko"]):not([lang="ja"]) .site-header .header-cta { margin-left:auto; }
  html:not([lang="ko"]):not([lang="ja"]) .site-header .nav { display:none; position:absolute; top:91px; left:0; right:0; margin:0; padding:24px var(--gutter); background:rgba(40.673,35.686,25.105,0.9803921568627451); grid-template-columns:1fr 1fr; gap:0 35px; }
  html:not([lang="ko"]):not([lang="ja"]) .site-header .nav.open { display:grid; }
  html:not([lang="ko"]):not([lang="ja"]) .site-header .nav a { font-size:15px!important; padding:14px 0; border-bottom:1px solid rgba(90.767,81.457,61.702,1); }
}
@media(max-width:1100px) {
  body.editorial-subpage .co-after-risk ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.editorial-subpage .co-after-answer ul { grid-template-columns:1fr; }
  .ix-build-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:800px) {
  .site-header .nav { top:77px; }
  .ix-rv { flex-basis:70%; }
  .ix-since-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hero-topline span:last-child { max-width:250px; }
  .ix-build-head { display:block; }
  .ix-build-head>p { margin-top:24px; max-width:100%; }
  .clients-heading { display:block; }
  .clients-heading>p { max-width:100%; margin-top:22px; }
}
@media(max-width:640px) {
  body.editorial-subpage .co-after :is(.co-after-risk,.co-after-answer) { padding:22px; }
  body.editorial-subpage .co-after .co-after-label { font-size:18px; margin-bottom:20px; align-items:flex-start; }
  body.editorial-subpage .co-after-risk ol { grid-template-columns:1fr; }
  body.editorial-subpage .co-after :is(.co-after-risk,.co-after-answer) li { padding:21px; }
  body.editorial-subpage .co-after .co-after-answer { margin-top:24px; }
}
@media(max-width:540px) {
  .site-header .header-inner { gap:12px; }
  .site-header .header-cta { font-size:14px; gap:7px; }
  .site-header .menu-toggle { width:38px; flex:0 0 38px; padding:7px; }
  .site-header .nav { grid-template-columns:1fr; padding-block:12px; gap:0; }
  body .site-header .nav a { font-size:15px!important; padding:10px 0; }
  .site-header .nav.open { max-height:calc(100svh - 77px); overflow-y:auto; }
  .hero-topline { font-size:12px; top:110px; }
  .hero-topline span:last-child { display:none; }
  .hero-image-note { display:none; }
  .hero-content>p,.ix-story p,.ix-benefits p,.ix-rv blockquote,.card>p { font-size:16px; line-height:1.9; }
  .hero { padding-bottom:110px; }
  .hero-actions { gap:18px; }
  .hero-actions .button { font-size:15px; }
  .hero-actions .outline { min-height:48px; }
  .hero-metric { font-size:14px; }
  .history-list li { grid-template-columns:65px minmax(0,1fr); gap:12px; }
  .history-list li>span { font-size:15px; }
  .ix-build-cards { grid-template-columns:1fr; }
  .ix-build-cards .card { grid-template-columns:38px minmax(0,1fr); column-gap:16px; }
  .ai-label { position:static; grid-column:2; margin:0 0 13px; width:max-content; }
  .service-symbol { grid-row:1/5; }
  .card h3 { grid-column:2; max-width:100%; }
  .tech-tags>span { font-size:14px; }
  .ix-rv { flex-basis:100%; }
  .ix-rv blockquote { max-width:100%; }
  .footer-top { gap:23px; }
  .footer-bottom { display:block; }
  body.editorial-site .pager-inner { flex-direction:column; align-items:stretch; gap:25px; }
  body.editorial-site .pager-next { justify-content:space-between; }
  body.editorial-site .pager-desc { max-width:none; }
  body.editorial-site .pager-prev b { max-width:none; }
}
