/* Clean draft shell only; page 627 and other pages keep their existing shell. */
body.page-id-5277 {
  background-color: var(--dt-mist);
  color: var(--dt-ink);
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

:where(body.page-id-5277) :is(h1, h2, h3, h4, h5, h6, .elementor-heading-title) {
  font-family: "Arimo", Arial, sans-serif !important;
  font-weight: 700;
  letter-spacing: -.025em;
}

body.page-id-5277 a {
  text-decoration-thickness: .08em;
  text-underline-offset: .18em;
}

body.page-id-5277 a:not(.elementor-button):not(.wp-element-button):not([class*="button"]):hover {
  color: var(--dt-blue);
}

body.page-id-5277 :is(.elementor-button, .wp-element-button, button, input[type="button"], input[type="submit"]) {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 700;
}

/* Remove only the five shortcode-host wrappers' default Elementor gutters. */
.elementor-5277 > .dsc-architecture-section:not(.services-native):not(.individual-business-native):not(.faq-native):not(.final-cta-native),
.elementor-5277 > .dsc-architecture-section:not(.services-native):not(.individual-business-native):not(.faq-native):not(.final-cta-native) > .e-con-inner {
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
}

/* Existing shared shell, with the approved homepage's small overrides. */
body.page-id-5277 .dtg-header {
  background: rgba(3, 18, 37, .9);
  border-bottom-color: rgba(132, 187, 239, .15);
}
body.page-id-5277 .dtg-header__inner { width: min(1420px, calc(100% - 48px)); height: 88px; }
body.page-id-5277 .dtg-brand img { width: 230px; }
body.page-id-5277 :is(.dtg-nav a, .dtg-phone) { font-size: 14px; letter-spacing: .015em; }
body.page-id-5277 .dtg-footer :is(p, a, span) { font-size: 15px; line-height: 1.65; }
/* Preserve the reference cascade: its important 1100px heading rule also wins on tablet. */
@media (min-width: 621px) and (max-width: 820px) {
  body.page-id-5277 .dynamic-hero h1 { font-size: clamp(54px, 7.4vw, 76px) !important; }
}
@media (max-width: 620px) {
  body.page-id-5277 .dtg-header__inner { height: 74px; }
  body.page-id-5277 .dtg-brand img { width: 158px; }
}

.dynamic-component-placeholder {
  box-sizing: border-box;
  width: 100%;
  padding: clamp(3rem, 7vw, 7rem) var(--dt-space-4);
  color: var(--dt-white);
  background: var(--dt-navy-950);
  font-family: var(--dt-font-body);
}

.dynamic-component-placeholder *,
.dynamic-component-placeholder *::before,
.dynamic-component-placeholder *::after {
  box-sizing: inherit;
}

.dynamic-component-placeholder__inner {
  width: min(100%, var(--dt-container));
  margin-inline: auto;
}

.dynamic-component-placeholder__eyebrow {
  margin: 0 0 var(--dt-space-2);
  color: var(--dt-component-accent, var(--dt-cyan));
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.dynamic-component-placeholder__title {
  max-width: 18ch;
  margin: 0;
  color: var(--dt-white);
  font-family: var(--dt-font-display);
  font-size: clamp(2rem, 4.5vw, 4.5rem);
  line-height: 0.98;
  letter-spacing: -0.045em;
}

.dynamic-component-placeholder__copy {
  max-width: 62ch;
  margin: var(--dt-space-4) 0 0;
  color: color-mix(in srgb, var(--dt-white) 72%, transparent);
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  line-height: 1.6;
}

.dynamic-component-placeholder.is-dynamic-mounted {
  isolation: isolate;
}

@media (prefers-reduced-motion: reduce) {
  .dynamic-component-placeholder,
  .dynamic-component-placeholder * {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
