/* The selected direction: 03 Night Infrastructure, extended across the corporate site. */
html.dcp-selected-root { --dcp-toolbar-height: 0px; }
html.ws-midnight-root { scroll-behavior: auto; scroll-padding-top: calc(var(--ws-header-height) + 24px); }
:is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) {
  --ws-night-ink: #342326;
  --ws-night-line: #5d29302b;
  --ws-night-gutter: max(48px, calc((100vw - 1200px) / 2));
  background: #fcf8f7;
}
:is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-header {
  background: #fcf8f7;
  border-bottom: 1px solid var(--ws-night-line);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
:is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-header-inner { min-height: 88px; }
:is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-nav { font-size: 11px; }
:is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-nav > a[aria-current=page] { text-decoration-color: var(--ws-primary); text-underline-offset: 8px; }
:is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-section { padding-block: 80px; }
.dcp-page[data-design=midnight] .ws-intro { padding-top: 0; }
.dcp-page[data-design=midnight] .ws-hero-caption { top: 100px; right: 24px; bottom: auto; }
:is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-section-heading { font-size: clamp(30px, 3.5vw, 48px); font-weight: 500; line-height: 1.5; letter-spacing: -.045em; }
:is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-eyebrow { font-size: 10px; letter-spacing: .17em; }
:is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-text-link { border-bottom-color: #5d293066; }
:is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-button { min-height: 54px; padding: 14px 22px; font-size: 12px; }
.ws-subpage-midnight .ws-container { width: min(1200px, calc(100% - 96px)); }
.ws-subpage-midnight .ws-split { gap: 72px; align-items: start; }
.ws-subpage-midnight .ws-split .ws-section-heading { font-size: clamp(30px, 3.1vw, 44px); }
.ws-subpage-midnight .ws-section-top { margin-bottom: 40px; gap: 60px; align-items: end; }
.ws-subpage-midnight .ws-section-top > p { max-width: 370px; font-size: 13px; }
.ws-subpage-midnight .ws-lead { font-size: 17px; line-height: 2; }
.ws-subpage-midnight .ws-section--tinted { background: #f4ece1; }

/* Full-width photographic covers, with the copy anchored to the lower edge. */
.ws-subpage-midnight .ws-page-heading { padding: 0; color: #fff; background: var(--ws-night-ink); border: 0; }
.ws-subpage-midnight .ws-page-heading::before { background: linear-gradient(180deg,#3423263b 0%,#34232670 30%,#342326e8 100%),linear-gradient(90deg,#34232655,transparent 75%); }
.ws-subpage-midnight .ws-page-heading > .ws-container { display: flex; flex-direction: column; min-height: 660px; padding-block: 24px 48px; }
.ws-subpage-midnight .ws-page-heading > .ws-page-cover { inset: 0; width: 100%; height: 100%; object-position: center; opacity: 1; }
.ws-subpage-midnight .ws-page-heading--careers > .ws-page-cover { object-position: center 35%; }
.ws-subpage-midnight .ws-breadcrumb { color: #fff; font-size: 10px; }
.ws-subpage-midnight .ws-page-word { position: relative; z-index: 1; margin-top: 28px !important; color: #fff; font-size: clamp(100px,12vw,180px); font-weight: 500; line-height: 1; letter-spacing: -.035em; }
.ws-subpage-midnight .ws-page-word > span { color: #e9aaa0; }
.ws-subpage-midnight .ws-page-heading--system .ws-page-word { font-size: clamp(76px,9.3vw,134px); line-height: .93; }
.ws-subpage-midnight .ws-page-heading-grid { width: 100%; margin-top: auto; padding-top: 58px; }
.ws-subpage-midnight .ws-page-heading-grid > div { display: grid; grid-template-columns: 1.15fr 1fr; gap: 12px 64px; align-items: end; }
.ws-subpage-midnight .ws-page-heading-grid .ws-eyebrow { grid-column: 1 / -1; margin: 0; color: #f4ece1; }
.ws-subpage-midnight .ws-page-title { margin: 0 !important; color: #fff; font-size: clamp(30px,3.1vw,44px); line-height: 1.55; letter-spacing: -.045em; }
.ws-subpage-midnight .ws-page-heading-grid .ws-lead { margin: 0; padding-bottom: 6px; color: #fff; font-size: 13px; line-height: 2.15; }
.ws-subpage-midnight .ws-page-heading .ws-anchor-nav { display: flex; flex-wrap: wrap; justify-content: space-between; width: 100%; gap: 8px 24px; margin-top: 32px; padding: 12px 0 0; border: 0; border-top: 1px solid #ffffff55; background: transparent; }
.ws-subpage-midnight .ws-anchor-nav a { color: #fff; font-size: 11px; min-height: 40px; }
.ws-subpage-midnight .ws-anchor-nav a:hover { color: #f0c5bd; }

/* System services: wide editorial copy, precise technical plates and ruled records. */
.ws-subpage-midnight .ws-service-detail { grid-template-columns: .95fr 1.05fr; gap: 76px; align-items: center; }
.ws-subpage-midnight .ws-service-copy .ws-section-heading { font-size: clamp(30px,3vw,44px); }
.ws-subpage-midnight .ws-service-copy .ws-eyebrow { border-top: 1px solid var(--ws-night-line); padding-top: 22px; gap: 18px; }
.ws-subpage-midnight .ws-service-number { font-size: 10px; letter-spacing: .1em; }
.ws-subpage-midnight .ws-service-copy .ws-service-number { font-size: 30px; letter-spacing: -.05em; }
.ws-subpage-midnight .ws-service-copy .ws-lead { font-size: 20px; }
.ws-subpage-midnight .ws-service-copy > p:not(.ws-eyebrow,.ws-lead) { font-size: 14px; line-height: 2.1; }
.ws-subpage-midnight .ws-feature-list li { padding-block: 16px; font-size: 13px; }
.ws-subpage-midnight .ws-feature-list li::before { width: 16px; height: 1px; border-radius: 0; top: 29px; }
.ws-subpage-midnight #cloud-migration { background: #e7ece3; }
.ws-subpage-midnight .ws-service-diagram { border: 1px solid #5d29304d; box-shadow: 0 20px 50px #34232608; }
.ws-subpage-midnight .ws-diagram-topline { padding: 22px 26px; border-bottom: 1px solid var(--ws-night-line); font-size: 9px; }
.ws-subpage-midnight .ws-diagram-index { font-size: 28px; line-height: 1; }
.ws-subpage-midnight .ws-service-diagram figcaption { padding: 20px 26px; font-size: 11px; }
.ws-subpage-midnight .ws-service-diagram--migration { background: var(--ws-night-ink); border-color: var(--ws-night-ink); }
.ws-subpage-midnight .ws-service-diagram--migration .ws-diagram-topline { border-bottom-color: #ffffff30; }
.ws-subpage-midnight .ws-tech-window { box-shadow: none; border-radius: 0; }
.ws-subpage-midnight .ws-tech-client, .ws-subpage-midnight .ws-tech-node { border-radius: 0; }
.ws-subpage-midnight #development-works { background: #fcf8f7; }
.ws-subpage-midnight .ws-cloud-benefits { gap: 0; border-top: 1px solid var(--ws-night-line); border-left: 1px solid var(--ws-night-line); }
.ws-subpage-midnight .ws-benefit { padding: 30px 26px; border: 0; border-right: 1px solid var(--ws-night-line); border-bottom: 1px solid var(--ws-night-line); background: transparent; }
.ws-subpage-midnight .ws-benefit h3 { font-size: 20px; line-height: 1.7; }
.ws-subpage-midnight .ws-benefit p { margin-top: 18px; font-size: 13px; line-height: 2; }
.ws-subpage-midnight #development-works .ws-benefit { min-height: 230px; }
.ws-subpage-midnight #development-works .ws-benefit::before { top: 30px; right: 26px; color: var(--ws-primary); font-size: 13px; -webkit-text-stroke: 0; }
.ws-subpage-midnight #development-works .ws-service-number { padding-right: 12px; }
.ws-subpage-midnight #process { background: var(--ws-night-ink); color: #fff; }
.ws-subpage-midnight #process :is(.ws-eyebrow,.ws-section-heading,.ws-process-step-number,h3,.ws-note) { color: #fff; }
.ws-subpage-midnight .ws-process { margin-top: 44px; border-color: #ffffff40; }
.ws-subpage-midnight .ws-process-step { padding: 30px 26px; border-color: #ffffff40; }
.ws-subpage-midnight .ws-process-step-number > span { font-size: 58px; font-weight: 400; }
.ws-subpage-midnight .ws-process h3 { font-size: 21px; }
.ws-subpage-midnight .ws-process p { color: #f2dfdb; line-height: 2; }
.ws-subpage-midnight .ws-process-step:not(:last-child)::after { border: 0; border-radius: 0; color: #fff; background: var(--ws-night-ink); }
.ws-subpage-midnight .ws-details { border-color: var(--ws-night-line); }
.ws-subpage-midnight .ws-details summary { padding-block: 26px; font-size: 15px; font-weight: 500; line-height: 2; cursor: pointer; }
.ws-subpage-midnight .ws-details summary::after { top: 24px; color: var(--ws-primary); }
.ws-subpage-midnight .ws-details-content { padding-bottom: 32px; font-size: 14px; line-height: 2.1; }

/* Company: a photographic opening, strong dark values, calm factual records. */
.ws-subpage-midnight .ws-section[aria-labelledby=company-message] .ws-split { grid-template-columns: 1.15fr 1fr; }
.ws-subpage-midnight .ws-message-photo { position: static; padding-top: 32px; }
.ws-subpage-midnight .ws-message-photo .ws-photo { aspect-ratio: .92; object-fit: cover; border-radius: 0; }
.ws-subpage-midnight .ws-message-photo figcaption { font-size: 11px; line-height: 1.9; padding-block: 10px 22px; }
.ws-subpage-midnight .ws-representative { margin-top: 32px !important; font-size: 15px; }
.ws-subpage-midnight #values { background: var(--ws-night-ink); color: #fff; }
.ws-subpage-midnight #values :is(.ws-eyebrow,.ws-section-heading,.ws-lead) { color: #fff; }
.ws-subpage-midnight .ws-values { margin-top: 44px; }
.ws-subpage-midnight .ws-values > li { grid-template-columns: 100px 1.1fr 1fr; gap: 32px; padding-block: 30px; border-color: #ffffff3d; }
.ws-subpage-midnight .ws-value-number { color: transparent; -webkit-text-stroke: 1px #e4bab3; font-size: 68px; font-weight: 400; }
.ws-subpage-midnight .ws-values h3 { color: #fff; font-size: 22px; font-weight: 500; }
.ws-subpage-midnight .ws-values p { color: #f2dfdb; font-size: 13px; line-height: 2; }
.ws-subpage-midnight .ws-company-table { margin-top: 40px; gap: 0 48px; border-top-color: var(--ws-wine); background: transparent; }
.ws-subpage-midnight .ws-company-table > div { padding: 24px 0; border-color: var(--ws-night-line); background: transparent; font-size: 13px; line-height: 2; }
.ws-subpage-midnight .ws-company-table > div:nth-child(even):not(.ws-company-table-wide) { border-left: 0; }
.ws-subpage-midnight .ws-company-table dd { min-width: 0; overflow-wrap: anywhere; }
.ws-subpage-midnight #services .ws-service-links { margin-top: 36px; gap: 0 60px; }
.ws-subpage-midnight .ws-service-link { border-color: var(--ws-night-line); padding-block: 28px; }
.ws-subpage-midnight .ws-service-link h3 { font-size: 23px; }
.ws-subpage-midnight .ws-service-link > span:last-child { width: 42px; height: 42px; border: 1px solid #5d293066; border-radius: 50%; }
.ws-subpage-midnight .ws-section[aria-labelledby=company-next] .ws-split > div + div { border-left: 1px solid var(--ws-night-line); padding-left: 56px; }

/* Careers: full-bleed photographic stories and an editorial, structured reading flow. */
.ws-subpage-midnight .ws-section[aria-labelledby=careers-work] > .ws-container,
.ws-subpage-midnight .ws-section[aria-labelledby=careers-growth] > .ws-container { width: 100%; padding-left: var(--ws-night-gutter); grid-template-columns: 1fr 1.05fr; align-items: center; }
.ws-subpage-midnight .ws-section[aria-labelledby=careers-work] .ws-photo,
.ws-subpage-midnight .ws-section[aria-labelledby=careers-growth] .ws-photo { width: 100%; height: 540px; object-fit: cover; aspect-ratio: auto; border-radius: 0; }
.ws-subpage-midnight .ws-section[aria-labelledby=careers-growth] .ws-photo { height: 660px; }
.ws-subpage-midnight .ws-section[aria-labelledby=careers-standards] { background: var(--ws-night-ink); color: #fff; }
.ws-subpage-midnight .ws-section[aria-labelledby=careers-standards] :is(.ws-eyebrow,.ws-section-heading,.ws-lead) { color: #fff; }
.ws-subpage-midnight .ws-career-grid { margin-top: 40px; gap: 0; border-top: 1px solid #ffffff3d; border-left: 1px solid #ffffff3d; }
.ws-subpage-midnight .ws-career-card:nth-child(n) { padding: 32px 36px; border: 0; border-right: 1px solid #ffffff3d; border-bottom: 1px solid #ffffff3d; background: transparent; color: #fff; }
.ws-subpage-midnight .ws-career-card::before { position: static; display: block; margin-bottom: 24px; color: #f0c5bd; font-size: 30px; font-weight: 400; -webkit-text-stroke: 0; }
.ws-subpage-midnight .ws-career-card:nth-child(n) h3 { max-width: none; font-size: 27px; color: #fff; }
.ws-subpage-midnight .ws-career-card:nth-child(n) p { margin-top: 18px; color: #f2dfdb; font-size: 13px; line-height: 2; }
.ws-subpage-midnight .ws-training-list li { padding-block: 18px; font-size: 13px; }
.ws-subpage-midnight .ws-training-list li::before { width: 14px; height: 1px; border-radius: 0; top: 30px; }
.ws-subpage-midnight .ws-section[aria-labelledby=careers-movie] { background: var(--ws-night-ink); color: #fff; }
.ws-subpage-midnight .ws-section[aria-labelledby=careers-movie] :is(.ws-eyebrow,.ws-section-heading,.ws-text-link) { color: #fff !important; }
.ws-subpage-midnight #careers-movie { max-width: 900px; font-size: clamp(26px,3.1vw,44px); }
.ws-subpage-midnight .ws-career-video { margin-top: 40px; border: 1px solid #ffffff44; box-shadow: 0 24px 64px #0002; }
.ws-subpage-midnight .ws-section[aria-labelledby=careers-interview] > .ws-container { max-width: 1000px; }
.ws-subpage-midnight .ws-section[aria-labelledby=careers-interview] .ws-lead { margin-bottom: 38px; }
.ws-subpage-midnight .ws-section[aria-labelledby=careers-contact] { border-block: 1px solid var(--ws-night-line); background: #f4ece1; }
.ws-subpage-midnight .ws-section[aria-labelledby=careers-contact] .ws-lead { max-width: 760px; }

/* Shared ending: the same dark chapter and light contact plate as one site. */
:is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-contact { padding-block: 64px 80px; color: #fff; background: var(--ws-night-ink); border-top: 1px solid #ffffff26; }
:is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-contact-word { justify-content: flex-start; gap: .24em; color: #fff; -webkit-text-stroke: 0; font-size: clamp(76px,12.5vw,180px); font-weight: 450; letter-spacing: -.04em; border-bottom-color: #ffffff40; }
:is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-contact-word > span { padding-right: 0; color: #e9aaa0; -webkit-text-stroke: 0; }
:is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-contact-inner { grid-template-columns: 1fr 1fr; gap: 76px; padding-top: 44px; }
:is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-contact :is(.ws-eyebrow,.ws-section-heading) { color: #fff; }
:is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-contact-inner > div:first-child > p:not(.ws-eyebrow) { color: #f2dfdb; font-size: 13px; }
:is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-contact-actions { padding: 32px; background: #fcf8f7; border: 0; }
:is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-contact-actions .ws-contact-phone { color: var(--ws-wine); font-size: clamp(25px,2.6vw,38px); }
:is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-contact-actions .ws-contact-note { color: var(--ws-muted); font-size: 11px; }
:is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-contact-actions .ws-text-link { color: var(--ws-primary) !important; }
:is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-footer { padding-block: 56px 28px; background: #fcf8f7; border-top: 4px solid var(--ws-primary); }
:is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-footer-word { padding-bottom: 38px; margin-bottom: 40px; border-bottom: 1px solid var(--ws-night-line); color: var(--ws-wine); font-size: clamp(56px,11.4vw,164px); font-weight: 500; letter-spacing: -.035em; }
:is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-footer-nav { font-size: 12px; }
:is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-footer-bottom { border-color: var(--ws-night-line); }

@media (max-width: 1199px) {
  .ws-subpage-midnight .ws-page-heading-grid > div { gap: 16px 40px; }
  .ws-subpage-midnight .ws-split, .ws-subpage-midnight .ws-service-detail { gap: 40px; }
  .ws-subpage-midnight .ws-process { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ws-subpage-midnight .ws-process-step:nth-child(3) { border-left: 0; }
  .ws-subpage-midnight .ws-process-step:nth-child(n+3) { border-top: 1px solid #ffffff40; }
  .ws-subpage-midnight .ws-process-step:nth-child(2)::after { display: none; }
  .ws-subpage-midnight .ws-cloud-benefits { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ws-subpage-midnight .ws-values > li { grid-template-columns: 70px 1fr 1fr; gap: 24px; }
  .ws-subpage-midnight .ws-company-table { gap: 0 28px; }
  .ws-subpage-midnight .ws-company-table > div { grid-template-columns: 80px minmax(0,1fr); gap: 16px; }
  .ws-subpage-midnight .ws-section[aria-labelledby=careers-growth] .ws-photo { height: 700px; }
  :is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-contact-inner { gap: 40px; }
}
@media (max-width: 960px) {
  :is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-header-inner { min-height: 72px; }
  :is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-section { padding-block: 60px; }
  .ws-subpage-midnight .ws-page-heading > .ws-container { min-height: 660px; padding-bottom: 36px; }
  .ws-subpage-midnight .ws-page-heading-grid > div { grid-template-columns: 1fr; gap: 14px; }
  .ws-subpage-midnight .ws-page-heading-grid .ws-lead { max-width: 520px; }
  .ws-subpage-midnight .ws-page-word { font-size: 13vw; }
  .ws-subpage-midnight .ws-page-heading--system .ws-page-word { font-size: 9vw; }
  .ws-subpage-midnight .ws-page-title { font-size: 34px; }
  .ws-subpage-midnight .ws-section-heading { font-size: 34px; }
  .ws-subpage-midnight .ws-service-detail { grid-template-columns: 1fr; gap: 40px; }
  .ws-subpage-midnight .ws-service-diagram { max-width: 680px; width: 100%; margin-inline: auto; }
  .ws-subpage-midnight .ws-company-table { grid-template-columns: 1fr; }
  .ws-subpage-midnight .ws-company-table > div { grid-template-columns: 130px minmax(0,1fr); }
  .ws-subpage-midnight .ws-values > li { grid-template-columns: 65px 1fr; gap: 12px 24px; }
  .ws-subpage-midnight .ws-values h3 { font-size: 20px; }
  .ws-subpage-midnight .ws-values p { grid-column: 2; }
  .ws-subpage-midnight .ws-value-number { grid-row: 1 / 3; font-size: 56px; }
  .ws-subpage-midnight .ws-section[aria-labelledby=company-message] .ws-split { gap: 36px; }
  .ws-subpage-midnight .ws-split .ws-section-heading { font-size: 30px; }
  .ws-subpage-midnight .ws-section[aria-labelledby=careers-work] > .ws-container,
  .ws-subpage-midnight .ws-section[aria-labelledby=careers-growth] > .ws-container { width: min(1200px,calc(100% - 96px)); padding-left: 0; grid-template-columns: 1fr; }
  .ws-subpage-midnight .ws-section[aria-labelledby=careers-work] .ws-photo,
  .ws-subpage-midnight .ws-section[aria-labelledby=careers-growth] .ws-photo { height: 420px; }
  :is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-contact-inner { grid-template-columns: 1fr 1fr; gap: 32px; }
  :is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-contact .ws-section-heading { font-size: 30px; }
}
@media (max-width: 767px) {
  :is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) { --ws-night-gutter: 20px; }
  :is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-section { padding-block: 48px; }
  .ws-subpage-midnight .ws-container { width: calc(100% - 40px); }
  .ws-subpage-midnight .ws-page-heading > .ws-container { min-height: 660px; padding-block: 14px 34px; }
  .ws-subpage-midnight .ws-page-word { font-size: 17.5vw; margin-top: 24px !important; }
  .ws-subpage-midnight .ws-page-heading--system .ws-page-word { font-size: clamp(33px,8.2vw,60px); line-height: 1; }
  .ws-subpage-midnight .ws-page-heading > .ws-page-cover { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: center; opacity: 1; }
  .ws-subpage-midnight .ws-page-heading::before { background: linear-gradient(180deg,#34232635,#34232666 25%,#342326f2 100%); }
  .ws-subpage-midnight .ws-page-heading-grid { width: 100%; padding-top: 140px; margin-top: auto; }
  .ws-subpage-midnight .ws-page-heading-grid > div { gap: 12px; }
  .ws-subpage-midnight .ws-page-title { font-size: clamp(26px,6.7vw,34px); line-height: 1.65; }
  .ws-subpage-midnight .ws-page-heading-grid .ws-lead { padding: 0; font-size: 12px; line-height: 2.1; }
  .ws-subpage-midnight .ws-page-heading .ws-anchor-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; margin-top: 26px; padding-top: 12px; }
  .ws-subpage-midnight .ws-anchor-nav a { min-height: 42px; font-size: 10px; }
  .ws-subpage-midnight .ws-section-heading, .ws-subpage-midnight .ws-split .ws-section-heading { font-size: clamp(27px,7.4vw,34px); }
  .ws-subpage-midnight .ws-section-top { display: block; margin-bottom: 30px; }
  .ws-subpage-midnight .ws-section-top > p { margin-top: 22px; font-size: 12px; }
  .ws-subpage-midnight .ws-lead { font-size: 15px; }
  .ws-subpage-midnight .ws-split { grid-template-columns: 1fr; gap: 34px; }
  .ws-subpage-midnight .ws-service-detail { gap: 30px; }
  .ws-subpage-midnight .ws-service-copy .ws-section-heading { font-size: 30px; }
  .ws-subpage-midnight .ws-service-copy .ws-lead { font-size: 18px; }
  .ws-subpage-midnight .ws-service-copy > p:not(.ws-eyebrow,.ws-lead) { font-size: 13px; }
  .ws-subpage-midnight .ws-service-copy .ws-eyebrow { padding-top: 16px; }
  .ws-subpage-midnight .ws-diagram-topline { padding: 18px; }
  .ws-subpage-midnight .ws-service-diagram figcaption { padding: 16px 18px; }
  .ws-subpage-midnight .ws-cloud-benefits { grid-template-columns: 1fr; }
  .ws-subpage-midnight .ws-benefit { padding: 24px; }
  .ws-subpage-midnight #development-works .ws-benefit { min-height: 0; }
  .ws-subpage-midnight #development-works .ws-benefit::before { top: 24px; right: 24px; }
  .ws-subpage-midnight .ws-benefit h3 { font-size: 20px; }
  .ws-subpage-midnight .ws-process { grid-template-columns: 1fr; }
  .ws-subpage-midnight .ws-process-step:nth-child(n) { display: block; padding: 24px 0; border: 0; border-top: 1px solid #ffffff40; }
  .ws-subpage-midnight .ws-process-step:first-child { border-top: 0; }
  .ws-subpage-midnight .ws-process-step::after { display: none; }
  .ws-subpage-midnight .ws-process-step-number { display: flex; }
  .ws-subpage-midnight .ws-process-step-number > span { font-size: 46px; }
  .ws-subpage-midnight .ws-process h3 { margin-top: 16px; font-size: 21px; }
  .ws-subpage-midnight .ws-process p { font-size: 13px; }
  .ws-subpage-midnight .ws-details summary { padding-block: 22px; font-size: 14px; }
  .ws-subpage-midnight .ws-details summary::after { top: 20px; }
  .ws-subpage-midnight .ws-details-content { font-size: 13px; padding-right: 8px; }
  .ws-subpage-midnight .ws-section[aria-labelledby=company-message] .ws-split { grid-template-columns: 1fr; }
  .ws-subpage-midnight .ws-message-photo { padding-top: 0; }
  .ws-subpage-midnight .ws-message-photo .ws-photo { aspect-ratio: 1.15; }
  .ws-subpage-midnight .ws-values { margin-top: 32px; }
  .ws-subpage-midnight .ws-values > li { grid-template-columns: 42px 1fr; gap: 10px 16px; padding-block: 24px; }
  .ws-subpage-midnight .ws-value-number { font-size: 40px; }
  .ws-subpage-midnight .ws-values h3 { font-size: 18px; }
  .ws-subpage-midnight .ws-values p { font-size: 13px; }
  .ws-subpage-midnight .ws-company-table { margin-top: 30px; }
  .ws-subpage-midnight .ws-company-table > div { grid-template-columns: 80px minmax(0,1fr); gap: 16px; padding: 22px 0; font-size: 12px; }
  .ws-subpage-midnight #services .ws-service-links { gap: 0; }
  .ws-subpage-midnight .ws-service-link h3 { font-size: 21px; }
  .ws-subpage-midnight .ws-section[aria-labelledby=company-next] .ws-split > div + div { border: 0; border-top: 1px solid var(--ws-night-line); padding: 30px 0 0; }
  .ws-subpage-midnight .ws-section[aria-labelledby=careers-work] > .ws-container,
  .ws-subpage-midnight .ws-section[aria-labelledby=careers-growth] > .ws-container { width: calc(100% - 40px); padding-left: 0; gap: 32px; }
  .ws-subpage-midnight .ws-section[aria-labelledby=careers-work] .ws-photo,
  .ws-subpage-midnight .ws-section[aria-labelledby=careers-growth] .ws-photo { height: auto; aspect-ratio: 1.2; }
  .ws-subpage-midnight .ws-career-grid { grid-template-columns: 1fr; margin-top: 32px; }
  .ws-subpage-midnight .ws-career-card:nth-child(n) { padding: 26px; }
  .ws-subpage-midnight .ws-career-card::before { font-size: 24px; margin-bottom: 18px; }
  .ws-subpage-midnight .ws-career-card:nth-child(n) h3 { font-size: 24px; }
  .ws-subpage-midnight #careers-movie { font-size: 26px; }
  .ws-subpage-midnight .ws-career-video { margin-top: 28px; }
  :is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-contact { padding-block: 42px 48px; }
  :is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-contact-word { font-size: 16vw; padding-bottom: 22px; }
  :is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-contact-inner { grid-template-columns: 1fr; gap: 30px; padding-top: 30px; }
  :is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-contact .ws-section-heading { font-size: 29px; }
  :is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-contact-actions { padding: 24px; }
  :is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-contact-actions .ws-contact-phone { font-size: clamp(22px,6vw,29px); }
  :is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-footer { padding-block: 36px 24px; }
  :is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-footer-word { font-size: 12.4vw; padding-bottom: 28px; margin-bottom: 30px; }
}
@media (max-width: 360px) {
  :is(.ws-subpage-midnight, .dcp-page[data-design=midnight]) .ws-contact-word { font-size: 15.6vw; }
}
@media (prefers-reduced-motion: reduce) {
  .ws-subpage-midnight *, .ws-subpage-midnight *::before, .ws-subpage-midnight *::after { scroll-behavior: auto; }
}

/* The new cinematic images carry their own shadows; keep their scale and light visible. */
.dcp-page[data-design=midnight] .ws-hero-media::after {
  background: linear-gradient(180deg, #1f10170d 0%, #25151c1f 38%, #26131baf 100%);
}
.dcp-page[data-design=midnight] .ws-hero-media > .ws-hero-image { object-position: 58% center; animation: none; }
.ws-subpage-midnight .ws-page-heading::before {
  background: linear-gradient(180deg, #24141814 0%, #2414181f 42%, #24141847 65%, #241418d4 100%), linear-gradient(90deg, #24141840, transparent 70%);
}
.ws-subpage-midnight .ws-page-heading--system > .ws-page-cover { object-position: 64% center; }
