/* SpaceBridge target design candidate v1 (local only, 2026-10-21).
   This layer implements TARGET_DESIGN_SPEC without changing API or submit contracts. */
body.sb-image-rebuild-v143 {
  --target-ink: #0f2747;
  --target-body: #435b73;
  --target-blue: #006bb5;
  --target-blue-hover: #075f9c;
  --target-line: #d7e3ea;
  --target-canvas: #f4f8fb;
  --target-info: #eaf2f7;
  --target-shadow: 0 8px 28px rgba(15, 39, 71, .075);
  color: var(--target-ink);
  font-family: "Pretendard Variable", Pretendard, "Noto Sans KR", "Apple SD Gothic Neo", sans-serif;
}

body.sb-image-rebuild-v143 :where(p, li, label, input, select, textarea) {
  color: var(--target-body);
}

body.sb-image-rebuild-v143 :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #005c9c !important;
  outline-offset: 3px !important;
}

body.sb-image-rebuild-v143 .site-header,
body.sb-image-rebuild-v143 .header-inner {
  height: 76px !important;
  min-height: 76px !important;
}

body.sb-image-rebuild-v143 .header-inner {
  gap: 16px !important;
}

body.sb-image-rebuild-v143 .desktop-nav {
  display: flex !important;
  gap: 30px !important;
}

body.sb-image-rebuild-v143 .desktop-nav a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
}

body.sb-image-rebuild-v143 .menu-toggle {
  display: none !important;
}

body.sb-image-rebuild-v143 #sb142-hero .hero-description {
  max-width: 540px !important;
  color: var(--target-body) !important;
  line-height: 1.7 !important;
}

body.sb-image-rebuild-v143 #about-spacebridge .sb-ir-about-services-grid {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 32px !important;
}

body.sb-image-rebuild-v143 #about-spacebridge .section-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr) !important;
  gap: 48px !important;
  align-items: end !important;
}

body.sb-image-rebuild-v143 #services {
  padding-bottom: 0 !important;
}

body.sb-image-rebuild-v143 #services .service-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

body.sb-image-rebuild-v143 .sb-ir-service-card {
  box-shadow: var(--target-shadow) !important;
}

body.sb-image-rebuild-v143 .sb-ir-service-card .service-label,
body.sb-image-rebuild-v143 .sb-ir-service-card .service-short,
body.sb-image-rebuild-v143 .sb-ir-service-card .service-quick {
  display: block !important;
}

body.sb-image-rebuild-v143 .sb-ir-service-card .service-short {
  min-height: 48px !important;
  line-height: 1.6 !important;
}

body.sb-image-rebuild-v143 :where(#questions, #prepare) {
  min-height: 0 !important;
  content-visibility: visible !important;
  contain-intrinsic-size: auto 0 !important;
}

body.sb-image-rebuild-v143 :where(#questions, #prepare) > .shell {
  min-height: 0 !important;
}

body.sb-image-rebuild-v143 .sb-ir-question-shell,
body.sb-image-rebuild-v143 .sb-ir-prepare-grid article {
  box-shadow: var(--target-shadow) !important;
}

body.sb-image-rebuild-v143 .sb-ir-prepare-grid article {
  min-height: 168px !important;
  padding: 24px !important;
}

body.sb-image-rebuild-v143 .sb-ir-prepare-grid h3 {
  margin: 10px 0 8px !important;
}

html body.sb-image-rebuild-v143.sb-target-local-v1 #process .process-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

html body.sb-image-rebuild-v143.sb-target-local-v1 #process .process-grid li {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: 16px !important;
  row-gap: 6px !important;
  min-height: 168px !important;
  align-content: start !important;
  padding: 24px !important;
}

html body.sb-image-rebuild-v143.sb-target-local-v1 #process .process-number {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
  width: 44px !important;
  height: 44px !important;
}

html body.sb-image-rebuild-v143.sb-target-local-v1 #process h3 {
  grid-column: 2 !important;
  margin: 3px 0 0 !important;
  line-height: 1.45 !important;
}

html body.sb-image-rebuild-v143.sb-target-local-v1 #process p {
  grid-column: 2 !important;
  margin: 0 !important;
}

body.sb-image-rebuild-v143 #quote .quote-shell {
  grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr) !important;
  gap: 48px !important;
  align-items: start !important;
}

body.sb-image-rebuild-v143 #quote .lead-form {
  height: auto !important;
  min-height: 0 !important;
}

body.sb-image-rebuild-v143 #quote :where(input, select, textarea) {
  min-height: 52px;
  border: 1px solid #7c8e9f !important;
  background: #fff !important;
}

body.sb-image-rebuild-v143 #quote textarea {
  min-height: 112px;
}

body.sb-image-rebuild-v143 #quote :where(input, select, textarea):hover {
  border-color: #435b73 !important;
}

body.sb-image-rebuild-v143 #quote :where(input, select, textarea):focus {
  border-color: var(--target-blue) !important;
  box-shadow: 0 0 0 3px rgba(0, 107, 181, .14) !important;
}

body.sb-image-rebuild-v143 #quote :where(input, select, textarea):disabled,
body.sb-image-rebuild-v143 #quote button:disabled {
  cursor: not-allowed !important;
  opacity: 1 !important;
}

body.sb-image-rebuild-v143 #quote :where(input, select, textarea):disabled {
  border: 1px solid #d7e3ea !important;
  background: #f4f8fb !important;
  color: #5d7186 !important;
}

html body.sb-image-rebuild-v143 #quote button:disabled,
html body.sb-image-rebuild-v143 #quote #lf-submit:disabled,
html body.sb-image-rebuild-v143 #quote #lf-submit[aria-busy="true"]:disabled {
  border: 1px solid #d7e3ea !important;
  background: #d7e3ea !important;
  color: #5d7186 !important;
}

body.sb-image-rebuild-v143 #quote :where(.field.has-error, .field[aria-invalid="true"]) :where(input, select, textarea),
body.sb-image-rebuild-v143 #quote :where(input, select, textarea)[aria-invalid="true"] {
  border: 2px solid #b42318 !important;
  box-shadow: 0 0 0 3px rgba(180, 35, 24, .12) !important;
}

body.sb-image-rebuild-v143 #quote :where(.field.has-success, .field[data-state="success"]) :where(input, select, textarea),
body.sb-image-rebuild-v143 #quote :where(input, select, textarea)[data-state="success"] {
  border: 2px solid #087a68 !important;
  background: #fff !important;
  color: #0f2747 !important;
}

body.sb-image-rebuild-v143 #quote .sb-inline-error {
  min-height: 21px !important;
  color: #b42318 !important;
}

body.sb-image-rebuild-v143 #quote #lf-status.is-error {
  border: 1px solid #b42318 !important;
  background: #fff7f6 !important;
  color: #b42318 !important;
}

body.sb-image-rebuild-v143 #quote #lf-status.is-success,
body.sb-image-rebuild-v143 #quote #lf-success:not([hidden]) {
  border: 1px solid #087a68 !important;
  background: #f0fbf8 !important;
  color: #087a68 !important;
}

body.sb-image-rebuild-v143 #quote #lf-status:not(:empty),
body.sb-image-rebuild-v143 #quote #lf-success:not([hidden]) {
  padding: 14px 16px !important;
  border-radius: 10px !important;
}

body.sb-image-rebuild-v143 #quote .consent {
  color: var(--target-body) !important;
  font-family: "Pretendard Variable", Pretendard, "Noto Sans KR", "Apple SD Gothic Neo", sans-serif !important;
}

body.sb-image-rebuild-v143 #quote #lf-submit {
  width: min(240px, 100%) !important;
  min-height: 52px !important;
}

html body.sb-image-rebuild-v143.sb-target-dock-suppressed .sb-contact-dock,
html body.sb-image-rebuild-v143.modal-open .sb-contact-dock,
html body.sb-image-rebuild-v143.sbgc-sheet-open .sb-contact-dock {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(16px) !important;
}

html.sb-target-menu-open,
html.sb-target-menu-open body {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

@media (max-width: 1199px) {
  body.sb-image-rebuild-v143 #services .service-grid,
  body.sb-image-rebuild-v143 .sb-ir-concern-grid,
  body.sb-image-rebuild-v143 .sb-ir-prepare-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1024px) {
  body.sb-image-rebuild-v143 .shell,
  body.sb-image-rebuild-v143 #sb142-hero .sb142-wrap,
  body.sb-image-rebuild-v143 .r51-services-shell {
    width: min(1200px, calc(100% - 64px)) !important;
  }

  body.sb-image-rebuild-v143 #about-spacebridge .section-head {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }
}

@media (max-width: 900px) {
  body.sb-image-rebuild-v143 .site-header,
  body.sb-image-rebuild-v143 .header-inner {
    height: 68px !important;
    min-height: 68px !important;
  }

  body.sb-image-rebuild-v143 .desktop-nav,
  body.sb-image-rebuild-v143 .header-cta {
    display: none !important;
  }

  body.sb-image-rebuild-v143 .menu-toggle {
    display: grid !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    margin-left: auto !important;
    place-content: center !important;
  }

  body.sb-image-rebuild-v143 .mobile-menu {
    top: 68px !important;
    max-height: calc(100dvh - 68px) !important;
    overflow-y: auto !important;
    padding: 16px 20px !important;
    z-index: 110 !important;
  }

  body.sb-image-rebuild-v143 .mobile-menu:not([hidden]) {
    display: grid !important;
  }

  body.sb-image-rebuild-v143 .mobile-menu a {
    display: flex;
    min-height: 48px !important;
    align-items: center;
  }

  body.sb-image-rebuild-v143 #quote .quote-shell {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 32px !important;
  }
}

@media (max-width: 640px) {
  body.sb-image-rebuild-v143 .shell,
  body.sb-image-rebuild-v143 #sb142-hero .sb142-wrap,
  body.sb-image-rebuild-v143 .r51-services-shell {
    width: calc(100% - 40px) !important;
  }

  body.sb-image-rebuild-v143 #sb142-hero h1 {
    font-size: 34px !important;
    line-height: 1.18 !important;
  }

  body.sb-image-rebuild-v143 #sb142-hero .hero-description {
    max-width: none !important;
    font-size: 16px !important;
    line-height: 1.68 !important;
  }

  body.sb-image-rebuild-v143 #services .service-grid,
  body.sb-image-rebuild-v143 .sb-ir-concern-grid,
  body.sb-image-rebuild-v143 .sb-ir-prepare-grid,
  html body.sb-image-rebuild-v143.sb-target-local-v1 #process .process-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.sb-image-rebuild-v143 .sb-ir-service-card .service-short {
    min-height: 0 !important;
  }

  html body.sb-image-rebuild-v143.sb-target-local-v1 #process .process-grid li {
    min-height: 148px !important;
  }

  body.sb-image-rebuild-v143 #quote .lead-form {
    padding: 24px 16px !important;
  }

  body.sb-image-rebuild-v143 #quote #lf-submit {
    width: 100% !important;
  }

  body.sb-image-rebuild-v143 {
    padding-bottom: calc(78px + env(safe-area-inset-bottom)) !important;
  }

  body.sb-image-rebuild-v143 .sb-contact-dock {
    bottom: max(6px, env(safe-area-inset-bottom)) !important;
    min-height: 64px !important;
  }
}

@media (max-width: 380px) {
  body.sb-image-rebuild-v143 .shell,
  body.sb-image-rebuild-v143 #sb142-hero .sb142-wrap,
  body.sb-image-rebuild-v143 .r51-services-shell {
    width: calc(100% - 32px) !important;
  }

  body.sb-image-rebuild-v143 #sb142-hero h1 {
    font-size: 32px !important;
  }
}

@media (hover: hover) and (pointer: fine) {
  body.sb-image-rebuild-v143 :where(.sb142-button, .button, .sb-ir-card-actions a):not(:disabled):hover {
    transform: translateY(-1px);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.sb-image-rebuild-v143 *,
  body.sb-image-rebuild-v143 *::before,
  body.sb-image-rebuild-v143 *::after {
    scroll-behavior: auto !important;
    animation: none !important;
    transition-duration: .01ms !important;
  }
}

/* DCR-01~09 applied candidate v2 (local only, 2026-10-22). */
html body.sb-image-rebuild-v143.sb-target-local-v1 #quote .quote-intro {
  border: 1px solid var(--target-line) !important;
  border-radius: 20px !important;
  background: #fff !important;
  color: var(--target-ink) !important;
}

html body.sb-image-rebuild-v143.sb-target-local-v1 #quote #quote-title {
  color: var(--target-ink) !important;
}

html body.sb-image-rebuild-v143.sb-target-local-v1 #quote .quote-intro > p:not(.eyebrow),
html body.sb-image-rebuild-v143.sb-target-local-v1 #quote .quote-intro .quote-points > span {
  color: var(--target-body) !important;
  opacity: 1 !important;
}

html body.sb-image-rebuild-v143.sb-target-local-v1 #quote .quote-intro .eyebrow,
html body.sb-image-rebuild-v143.sb-target-local-v1 #quote .quote-intro .light-eyebrow {
  color: var(--target-blue) !important;
  opacity: 1 !important;
}

html body.sb-image-rebuild-v143.sb-target-local-v1 #quote .quote-intro .quote-points > span {
  border: 1px solid var(--target-line) !important;
  background: #f8fbfd !important;
}

html body.sb-image-rebuild-v143.sb-target-local-v1 #services .sb-ir-service-card {
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  overflow: hidden !important;
  border: 1px solid var(--target-line) !important;
  border-radius: 16px !important;
}

html body.sb-image-rebuild-v143.sb-target-local-v1 #services .sb-ir-service-card > .service-choice {
  display: block !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  align-self: flex-start !important;
}

html body.sb-image-rebuild-v143.sb-target-local-v1 #services .sb-ir-service-card .r51-service-photo {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 8 / 5 !important;
  object-fit: cover !important;
  object-position: 50% 50% !important;
}

html body.sb-image-rebuild-v143.sb-target-local-v1 #services .sb-ir-service-card .service-label {
  min-height: 0 !important;
}

html body.sb-image-rebuild-v143.sb-target-local-v1 #services .sb-ir-service-card .sb-ir-legacy-map,
html body.sb-image-rebuild-v143.sb-target-local-v1 #services .sb-ir-service-card .sb-ir-card-actions {
  flex: 0 0 auto !important;
}

html body.sb-image-rebuild-v143.sb-target-local-v1 #services .sb-ir-service-card .sb-ir-card-actions {
  margin-top: auto !important;
}

html body.sb-image-rebuild-v143.sb-target-local-v1 #sb142-hero .hero-media img,
html body.sb-image-rebuild-v143.sb-target-local-v1 #sb142-hero .sb142-photo {
  object-position: 50% 0% !important;
}

html body.sb-image-rebuild-v143.sb-target-local-v1 #sb142-hero .hero-media > .photo-corner-label {
  position: static !important;
  inset: auto !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 10px 0 0 !important;
  transform: none !important;
}

html body.sb-image-rebuild-v143.sb-target-local-v1 #process .process-grid > li::after {
  display: none !important;
}

html body.sb-image-rebuild-v143.sb-target-local-v1 #tools .sb56-card-media {
  background: #f4f8fb !important;
}

html body.sb-image-rebuild-v143.sb-target-local-v1 #tools .sb56-card-media img[src*="tool-01"],
html body.sb-image-rebuild-v143.sb-target-local-v1 #tools .sb56-card-media img[src*="tool-02-exact"],
html body.sb-image-rebuild-v143.sb-target-local-v1 #tools .sb56-card-media img[src*="tool-03-exact"] {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: contain !important;
  object-position: 50% 50% !important;
}

html body.sb-image-rebuild-v143.sb-target-local-v1 :where(.header-cta, .sb142-button.primary, #lf-submit, .sb65-dock-consult) {
  border-color: var(--target-blue) !important;
  border-radius: 12px !important;
  background: var(--target-blue) !important;
  color: #fff !important;
}

html body.sb-image-rebuild-v143.sb-target-local-v1 :where(.sb142-button.secondary, .button.light) {
  border: 1px solid #b8cbd8 !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: var(--target-ink) !important;
}

html body.sb-image-rebuild-v143.sb-target-local-v1 .menu-toggle[aria-expanded="true"] span:first-child {
  transform: translateY(4px) rotate(45deg) !important;
}

html body.sb-image-rebuild-v143.sb-target-local-v1 .menu-toggle[aria-expanded="true"] span:last-child {
  transform: translateY(-4px) rotate(-45deg) !important;
}

html body.sb-global-consult.sb-image-rebuild-v143.sb-target-local-v1.sb-v53-quick-dock .sb-contact-dock {
  position: fixed !important;
  z-index: 4900 !important;
  inset: auto 20px 20px auto !important;
  display: block !important;
  width: min(240px, calc(100% - 40px)) !important;
  max-width: 240px !important;
  min-height: 64px !important;
  margin: 0 !important;
  padding: 6px !important;
  overflow: visible !important;
  border: 1px solid #b8cbd8 !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, .98) !important;
  box-shadow: 0 16px 40px rgba(15, 39, 71, .16) !important;
}

html body.sb-global-consult.sb-image-rebuild-v143.sb-target-local-v1 .sb-contact-dock > :not(.sb65-dock-consult) {
  display: none !important;
}

html body.sb-global-consult.sb-image-rebuild-v143.sb-target-local-v1 .sb-contact-dock .sb65-dock-consult {
  display: flex !important;
  min-height: 52px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 18px !important;
  text-align: center !important;
}

html body.sb-global-consult.sb-image-rebuild-v143.sb-target-local-v1 .sb-contact-dock .sb65-dock-consult b {
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 750 !important;
}

@media (hover: hover) and (pointer: fine) {
  html body.sb-image-rebuild-v143.sb-target-local-v1 :where(.header-cta, .sb142-button.primary, #lf-submit, .sb65-dock-consult):not(:disabled):hover {
    border-color: var(--target-blue-hover) !important;
    background: var(--target-blue-hover) !important;
  }
}

@media (max-width: 640px) {
  html body.sb-image-rebuild-v143.sb-target-local-v1 #sb142-hero {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }

  html body.sb-image-rebuild-v143.sb-target-local-v1 #sb142-hero .sb142-wrap,
  html body.sb-image-rebuild-v143.sb-target-local-v1 #sb142-hero .sb142-grid {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    gap: 24px !important;
  }

  html body.sb-image-rebuild-v143.sb-target-local-v1 #sb142-hero .sb142-copy {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  html body.sb-image-rebuild-v143.sb-target-local-v1 #sb142-hero .sb142-actions {
    gap: 12px !important;
    margin-top: 24px !important;
  }

  html body.sb-image-rebuild-v143.sb-target-local-v1 #process .process-grid,
  html body.sb-image-rebuild-v143.sb-target-local-v1 #prepare .sb-ir-prepare-grid {
    gap: 12px !important;
  }

  html body.sb-image-rebuild-v143.sb-target-local-v1 #process .process-grid > li,
  html body.sb-image-rebuild-v143.sb-target-local-v1 #prepare .sb-ir-prepare-grid > article {
    height: auto !important;
    min-height: 0 !important;
    padding: 16px !important;
  }

  html body.sb-image-rebuild-v143.sb-target-local-v1 #process .process-grid > li:not(:last-child)::after {
    position: absolute !important;
    z-index: 3 !important;
    right: 18px !important;
    bottom: -22px !important;
    left: auto !important;
    display: grid !important;
    width: 30px !important;
    height: 30px !important;
    place-items: center !important;
    border: 1px solid #c7dfe9 !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: var(--target-blue) !important;
    content: "↓" !important;
  }

  html body.sb-global-consult.sb-image-rebuild-v143.sb-target-local-v1.sb-v53-quick-dock .sb-contact-dock {
    inset: auto 20px calc(6px + env(safe-area-inset-bottom)) 20px !important;
    width: auto !important;
    max-width: none !important;
    min-height: 64px !important;
  }

  html body.sb-image-rebuild-v143.sb-target-local-v1 {
    padding-bottom: calc(84px + env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width: 380px) {
  html body.sb-global-consult.sb-image-rebuild-v143.sb-target-local-v1.sb-v53-quick-dock .sb-contact-dock {
    right: 16px !important;
    left: 16px !important;
  }
}
