/* Service experience V5 refinements kept separate for fast visual iteration. */
.sv5 .service-v3-contact form {
  color: #edf7f4;
  background: #123239;
}

.sv5 .service-v3-contact form label {
  color: #d7e5e2;
}

.sv5 .service-v3-contact form input,
.sv5 .service-v3-contact form select,
.sv5 .service-v3-contact form textarea {
  color: #fff;
  border-color: #496269;
  background: #183b42;
}

.sv5 .service-v3-contact form input::placeholder,
.sv5 .service-v3-contact form textarea::placeholder {
  color: #9eb1b4;
  opacity: 1;
}

.sv5 .service-v3-contact form button {
  border: 0;
  color: #09272c;
  background: var(--sv5-accent);
  font-weight: 900;
}

.sv5--geo .service-v3-contact form button {
  color: #fff;
  background: #ff6a42;
}

/* Six service-specific editorial systems share tokens, never a generic hero card. */
.sv5-standard { --sv5-accent:#53e0c1; }
.sv5-standard-hero { padding:72px 0 92px; color:#f4f8f7; background:#0a252c; }
.sv5-standard-hero__grid { display:grid; grid-template-columns:minmax(0,1.02fr) minmax(390px,.98fr); gap:clamp(64px,8vw,125px); align-items:center; }
.sv5-standard-hero__copy>span { color:var(--sv5-accent); font:800 10px var(--font-mono); letter-spacing:.16em; }
.sv5-standard-hero__copy h1 { max-width:13ch; margin:28px 0; font-size:clamp(58px,5.3vw,90px); line-height:.98; letter-spacing:-.065em; }
.sv5-standard-hero__copy>p { max-width:650px; color:#aac0c2; font-size:17px; line-height:1.85; }
.sv5-standard-hero__copy>strong { display:block; max-width:660px; margin-top:24px; font-size:clamp(20px,1.9vw,28px); line-height:1.5; }
.sv5-standard-hero__copy>div { display:flex; gap:28px; align-items:center; margin-top:38px; }
.sv5-standard-signature { background:#f7f4ed; }
.sv5-standard-work { color:#f3f8f6; background:#102f34; }
.sv5-standard-work .sv5-heading>p { color:#afc0c0; }
.sv5-standard-work .service-v3-work { border-color:#49636a; }
.sv5-standard-work .service-v3-work article { border-color:#49636a; }
.sv5-standard-work .service-v3-work p { color:#aebfc0; }
.sv5-standard-variables { background:#e9eeea; }
.sv5-standard-acceptance { background:#fbfaf6; }

.sv5-blueprint { padding:24px; color:#18363c; border:1px solid #9eb3b5; background:#e8f0ec; box-shadow:18px 18px 0 #173c43; }
.sv5-blueprint>header { display:flex; justify-content:space-between; padding-bottom:18px; border-bottom:1px solid #aebcba; }
.sv5-blueprint>header span { font:800 8px var(--font-mono); }
.sv5-blueprint__frame { overflow:hidden; margin-top:22px; border:1px solid #9baba9; background:#fff; }
.sv5-blueprint__frame nav { display:flex; gap:6px; padding:12px; border-bottom:1px solid #d8dfdc; }
.sv5-blueprint__frame nav i { width:7px; height:7px; border-radius:50%; background:#9fb1ad; }
.sv5-blueprint__frame nav em { width:45%; margin-left:auto; border-bottom:5px solid #d6dfdc; }
.sv5-blueprint__frame section { min-height:270px; padding:38px 28px; background:linear-gradient(125deg,#eaf6f2,#fff); }
.sv5-blueprint__frame section small,.sv5-blueprint__frame section strong { display:block; }
.sv5-blueprint__frame section strong { max-width:13ch; margin:28px 0; font-size:28px; line-height:1.12; }
.sv5-blueprint__frame section span { display:block; width:72%; margin:10px 0; border-bottom:7px solid #cfddda; }
.sv5-blueprint__frame footer { display:grid; grid-template-columns:repeat(3,1fr); }
.sv5-blueprint__frame footer b { padding:18px 10px; border-top:1px solid #d8dfdc; border-right:1px solid #d8dfdc; text-align:center; font-size:11px; }

.sv5-standard--software { --sv5-accent:#ffb24c; }
.sv5-standard--software .sv5-standard-hero { background:#161b25; }
.sv5-architecture { padding:30px; border:1px solid #535c6c; background:#222936; box-shadow:0 35px 70px rgba(0,0,0,.25); }
.sv5-architecture header { display:grid; gap:9px; padding-bottom:26px; border-bottom:1px solid #4d5664; }
.sv5-architecture header span { color:#ffb24c; font:800 9px var(--font-mono); }
.sv5-architecture header b { font-size:25px; }
.sv5-architecture>div { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:12px; align-items:center; margin:32px 0; }
.sv5-architecture>div strong { min-height:86px; padding:18px; border:1px solid #596274; background:#2b3341; font-size:13px; }
.sv5-architecture>div i { color:#ffb24c; font-style:normal; }
.sv5-architecture ol { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:0; padding:0; list-style:none; }
.sv5-architecture li { padding:18px; background:#131922; }
.sv5-architecture li b { margin-right:16px; color:#ffb24c; font:800 10px var(--font-mono); }
.sv5-standard--software .sv5-standard-work { background:#1b202a; }

.sv5-standard--global { --sv5-accent:#ffd84c; }
.sv5-standard--global .sv5-standard-hero { background:linear-gradient(130deg,#0b3265,#1558a0); }
.sv5-atlas { padding:28px; color:#15345b; border-radius:22px; background:#edf4fc; }
.sv5-atlas header { display:flex; justify-content:space-between; border-bottom:1px solid #9cb2cb; padding-bottom:18px; }
.sv5-atlas header span { color:#ce8500; font:800 9px var(--font-mono); }
.sv5-atlas__map { position:relative; min-height:250px; margin:22px 0; overflow:hidden; background:radial-gradient(ellipse at 32% 48%,#9cb8d8 0 14%,transparent 15%),radial-gradient(ellipse at 66% 42%,#82a6cf 0 19%,transparent 20%),radial-gradient(ellipse at 73% 70%,#a7beda 0 8%,transparent 9%),linear-gradient(#dce8f5,#f4f8fc); }
.sv5-atlas__map:before,.sv5-atlas__map:after { content:""; position:absolute; inset:0; background:linear-gradient(rgba(27,76,126,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(27,76,126,.09) 1px,transparent 1px); background-size:45px 45px; }
.sv5-atlas__map i { position:absolute; z-index:2; width:12px; height:12px; border:3px solid #fff; border-radius:50%; background:#f0a400; box-shadow:0 0 0 5px rgba(240,164,0,.2); }
.sv5-atlas__map i:nth-child(1){left:22%;top:40%}.sv5-atlas__map i:nth-child(2){left:54%;top:34%}.sv5-atlas__map i:nth-child(3){left:73%;top:52%}.sv5-atlas__map i:nth-child(4){left:81%;top:72%}.sv5-atlas__map strong{position:absolute;z-index:2;right:18px;top:17px;font:900 12px var(--font-mono)}
.sv5-atlas ol { margin:0; padding:0; list-style:none; }.sv5-atlas li{display:grid;grid-template-columns:55px 1fr;padding:12px 0;border-top:1px solid #bdcbd9;font-size:12px}.sv5-atlas li span{color:#c87d00;font-weight:900}
.sv5-standard--global .sv5-standard-work { background:#0d3c70; }

.sv5-standard--operation { --sv5-accent:#ff8e59; }
.sv5-standard--operation .sv5-standard-hero { background:#39231d; }
.sv5-calendar { transform:rotate(1.2deg); padding:28px; color:#172f34; background:#fffaf1; box-shadow:16px 18px 0 #6a3b29; }
.sv5-calendar header { display:flex; justify-content:space-between; padding-bottom:22px; border-bottom:2px solid #20363b; }.sv5-calendar header span{font-size:10px}
.sv5-calendar>div article { display:grid; grid-template-columns:72px 1fr; padding:24px 0; border-bottom:1px solid #c6ceca; }.sv5-calendar article span{color:#e55f28;font:800 10px var(--font-mono)}
.sv5-calendar footer { margin-top:24px; padding:16px; color:#fff; background:#253f43; font-size:12px; }.sv5-calendar footer i{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:#66d5b9}
.sv5-standard--operation .sv5-standard-work { background:#482a23; }

.sv5-standard--redesign { --sv5-accent:#b8ff5c; }
.sv5-standard--redesign .sv5-standard-hero { background:#142b30; }
.sv5-migration { display:grid; grid-template-columns:1fr auto 1fr; gap:14px; align-items:center; }.sv5-migration>div{display:flex;min-height:360px;padding:28px;flex-direction:column;border:1px solid #587078}.sv5-migration>div:first-child{opacity:.65;background:repeating-linear-gradient(-45deg,#293b40,#293b40 10px,#24363b 10px,#24363b 20px)}.sv5-migration>div:nth-child(3){color:#123239;background:#cfe8de}.sv5-migration>div span{margin-bottom:auto;color:var(--sv5-accent);font:800 10px var(--font-mono)}.sv5-migration>div:nth-child(3) span{color:#24705e}.sv5-migration>div b{padding:15px 0;border-top:1px solid currentColor}.sv5-migration>i{font-size:28px;font-style:normal}.sv5-migration footer{grid-column:1/4;padding-top:15px;color:#9eb3b6;font-size:10px;text-align:center}.sv5-standard--redesign .sv5-standard-work{background:#17353a}

.sv5-standard--knowledge { --sv5-accent:#8c7bff; }
.sv5-standard--knowledge .sv5-standard-hero { background:#181932; }
.sv5-knowledge-pipe { padding:30px; border:1px solid #5d5d86; background:#242545; }.sv5-knowledge-pipe header{padding-bottom:24px;border-bottom:1px solid #55577a}.sv5-knowledge-pipe header span{display:block;margin-bottom:10px;color:#aca1ff;font:800 9px var(--font-mono)}.sv5-knowledge-pipe header b{font-size:25px}.sv5-knowledge-pipe>div{display:grid;grid-template-columns:1fr 38px 1fr 38px 1fr 38px 1fr;gap:7px;align-items:center;margin:35px 0}.sv5-knowledge-pipe>div b{display:flex;min-height:115px;padding:13px;align-items:center;border:1px solid #62658d;background:#30325b;font-size:12px}.sv5-knowledge-pipe>div i{color:#afa5ff;font:800 9px var(--font-mono);font-style:normal;text-align:center}.sv5-knowledge-pipe footer{display:flex;gap:8px}.sv5-knowledge-pipe footer span{flex:1;padding:12px;background:#15162d;text-align:center;font-size:10px}.sv5-standard--knowledge .sv5-standard-work{background:#222345}

@media(max-width:1050px){.sv5-standard-hero__grid{grid-template-columns:1fr}.sv5-standard-hero__grid>aside{max-width:760px}.sv5-standard .service-signature>div{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.sv5-standard-hero{padding:45px 0 64px}.sv5-standard-hero__grid{gap:45px}.sv5-standard-hero__copy h1{font-size:44px}.sv5-standard-hero__copy>p{font-size:15px}.sv5-standard-hero__copy>strong{font-size:19px}.sv5-standard-hero__copy>div{align-items:flex-start;flex-direction:column}.sv5-blueprint,.sv5-architecture,.sv5-atlas,.sv5-calendar,.sv5-knowledge-pipe{padding:20px}.sv5-blueprint__frame section{min-height:220px;padding:28px 20px}.sv5-blueprint__frame section strong{font-size:22px}.sv5-architecture>div{grid-template-columns:1fr}.sv5-architecture>div i{transform:rotate(90deg);text-align:center}.sv5-atlas__map{min-height:210px}.sv5-migration{grid-template-columns:1fr}.sv5-migration>div{min-height:250px}.sv5-migration>i{transform:rotate(90deg);text-align:center}.sv5-migration footer{grid-column:auto}.sv5-knowledge-pipe>div{grid-template-columns:1fr}.sv5-knowledge-pipe>div b{min-height:70px}.sv5-knowledge-pipe footer{flex-direction:column}.sv5-standard .service-signature>div{grid-template-columns:1fr}.sv5-standard .service-v3-work{grid-template-columns:1fr}.sv5-standard .service-v3-variables{grid-template-columns:1fr}}

/* Service title rhythm: short phrases lead, paragraphs explain. */
.sv5 .sv5-heading h2 {
  max-width: 14em;
  font-size: clamp(38px, 3.25vw, 52px);
  line-height: 1.08;
  letter-spacing: -.045em;
}

.sv5 .sv5-heading--split {
  grid-template-columns: minmax(0, 1fr) minmax(340px, .85fr);
  align-items: center;
}

.sv5-standard-work .service-v3-work article,
.sv5-standard-work .service-v3-work article:nth-child(even) {
  color: #f3f8f6;
  background: transparent;
}

.sv5-standard-work .service-v3-work article h3 {
  color: #f3f8f6;
}

.mini-v4-heading h2 {
  max-width: 14em;
  font-size: clamp(36px, 3.25vw, 50px);
  line-height: 1.08;
  letter-spacing: -.04em;
}

@media (max-width: 680px) {
  .sv5 .sv5-heading h2,
  .mini-v4-heading h2 {
    max-width: none;
    font-size: 31px;
    line-height: 1.12;
  }

  .sv5 .sv5-heading--split {
    grid-template-columns: 1fr;
  }
}

/* Whole-site heading guardrail: section titles are labels, not paragraph-sized posters. */
:is(
  .about-v4-heading,
  .about-company-services,
  .cases-hub-heading,
  .contact-goals-v4,
  .contact-next-v4,
  .content-heading,
  .home-intent-router__head,
  .pricing-v3-heading,
  .region-heading,
  .services-hub-heading,
  .solution-v3-heading,
  .solutions-hub-family__head,
  .solutions-hub-method,
  .trust-section__story
) h2 {
  max-width: 14em;
  font-size: clamp(34px, 3.1vw, 50px);
  line-height: 1.08;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.site-main [class*="heading"] h2,
:is(.delivery-gates, .insights-method-v4, .services-combination__head) h2 {
  max-width: 14em;
  font-size: clamp(34px, 3.1vw, 50px);
  line-height: 1.08;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.insight-feature-v4 h2 {
  max-width: 18em;
  font-size: clamp(32px, 3.2vw, 46px);
  line-height: 1.12;
}

.about-company-proof>.shell>div:first-child h2,
.delivery-handover>.shell>div:first-child h2 {
  max-width: 14em;
  font-size: clamp(34px, 3.1vw, 50px);
  line-height: 1.08;
  letter-spacing: -.045em;
}

:is(
  .about-v4-cta,
  .case-v3-cta,
  .cases-hub-cta,
  .content-cta,
  .pricing-v3-cta,
  .services-hub-cta,
  .solution-v3-cta,
  .solutions-hub-cta,
  .topic-cta
) h2,
.footer-callout h2 {
  max-width: 16em;
  font-size: clamp(30px, 2.65vw, 42px);
  line-height: 1.12;
  letter-spacing: -.035em;
  text-wrap: balance;
}

@media (max-width: 680px) {
  :is(
    .about-v4-heading,
    .about-company-services,
    .cases-hub-heading,
    .contact-goals-v4,
    .contact-next-v4,
    .content-heading,
    .home-intent-router__head,
    .pricing-v3-heading,
    .region-heading,
    .services-hub-heading,
    .solution-v3-heading,
    .solutions-hub-family__head,
    .solutions-hub-method,
    .trust-section__story
  ) h2 {
    max-width: none;
    font-size: 30px;
    line-height: 1.12;
  }

  .site-main [class*="heading"] h2,
  :is(.delivery-gates, .insights-method-v4, .services-combination__head) h2 {
    max-width: none;
    font-size: 30px;
    line-height: 1.12;
  }

  :is(
    .about-v4-cta,
    .case-v3-cta,
    .cases-hub-cta,
    .content-cta,
    .pricing-v3-cta,
    .services-hub-cta,
    .solution-v3-cta,
    .solutions-hub-cta,
    .topic-cta
  ) h2,
  .footer-callout h2 {
    max-width: none;
    font-size: 28px;
  }
}
