:root {
  --pc-bg: #070a12;
  --pc-surface: #0d1320;
  --pc-surface-2: #101827;
  --pc-surface-3: #162033;
  --pc-line: rgba(214, 226, 255, .12);
  --pc-line-strong: rgba(47, 125, 255, .32);
  --pc-text: #f8fbff;
  --pc-muted: #a8b3c7;
  --pc-dim: #6f7c92;
  --pc-accent: #2f7dff;
  --pc-accent-ink: #ffffff;
  --pc-radius: 12px;
  --pc-control-radius: 8px;
  --pc-content: min(1520px, calc(100vw - clamp(40px, 7vw, 128px)));
  --pc-fast: 160ms ease;
}

body.overhouse-public-home:not(.auth-locked) {
  margin: 0;
  overflow-x: hidden;
  color: var(--pc-text);
  background: var(--pc-bg);
  font-family: "Noto Sans KR", "Segoe UI", sans-serif;
}

/* Header */

/* Product menu */

/* Opening */

/* Product-specific live console */
body.overhouse-public-home:not(.auth-locked) .notion-dashboard.pc-console {
  position: relative !important;
  inset: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 260px !important;
  grid-template-rows: 50px auto auto !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid #353a42 !important;
  border-radius: 14px !important;
  color: var(--pc-text) !important;
  background: var(--pc-surface) !important;
  box-shadow: 0 24px 72px rgba(0, 0, 0, .28) !important;
  transform: none !important;
  animation: none !important;
}

body.overhouse-public-home:not(.auth-locked) .notion-dashboard.pc-console::before,
body.overhouse-public-home:not(.auth-locked) .notion-dashboard.pc-console::after {
  display: none !important;
}

/* Sections */

/* Keep legacy interaction nodes functional but off-canvas. */

/* Service detail */

body.overhouse-public-home:not(.auth-locked) .meco-cardnews-track {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  overflow: visible !important;
}

body.overhouse-public-home:not(.auth-locked) .meco-cardnews-card {
  display: block !important;
  min-width: 0 !important;
  border: 1px solid var(--pc-line) !important;
  border-radius: var(--pc-control-radius) !important;
  background: var(--pc-surface) !important;
  box-shadow: none !important;
}

body.overhouse-public-home:not(.auth-locked) .meco-cardnews-visual {
  width: 100% !important;
  aspect-ratio: 16 / 10 !important;
  overflow: hidden !important;
  border-bottom: 1px solid var(--pc-line) !important;
  background: var(--pc-bg) !important;
}

body.overhouse-public-home:not(.auth-locked) .meco-cardnews-visual img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
}

body.overhouse-public-home:not(.auth-locked) .meco-cardnews-copy {
  padding: 14px !important;
}

body.overhouse-public-home:not(.auth-locked) .meco-badge {
  border-color: var(--pc-line-strong) !important;
  border-radius: var(--pc-control-radius) !important;
  color: var(--pc-text) !important;
  background: var(--pc-surface-2) !important;
  box-shadow: none !important;
}

/* Footer and support surface */
body.overhouse-public-home:not(.auth-locked) [data-site-footer] {
  display: block;
  width: 100%;
  padding-bottom: 20px;
  border-top: 1px solid var(--pc-line);
  background: var(--pc-bg);
}

body.overhouse-public-home:not(.auth-locked) .floating-contact-trigger {
  width: 50px !important;
  height: 50px !important;
  border: 1px solid var(--pc-line-strong) !important;
  background: var(--pc-surface-2) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, .32) !important;
}

body.overhouse-public-home:not(.auth-locked) .floating-contact-panel,
body.overhouse-public-home:not(.auth-locked) .support-modal-panel {
  border: 1px solid var(--pc-line-strong) !important;
  border-radius: var(--pc-radius) !important;
  color: var(--pc-text) !important;
  background: var(--pc-surface) !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .5) !important;
  backdrop-filter: none !important;
}

/* Focus */
body.overhouse-public-home:not(.auth-locked) :where(a, button, input, textarea):focus-visible {
  outline: 2px solid var(--pc-accent) !important;
  outline-offset: 2px !important;
}

@media (max-width: 820px) {
  :root {
    --pc-content: calc(100vw - 32px);
  }

  body.overhouse-public-home:not(.auth-locked) .notion-dashboard.pc-console {
    grid-template-columns: 1fr !important;
    grid-template-rows: 52px auto auto auto !important;
  }

  body.overhouse-public-home:not(.auth-locked) .meco-cardnews-track {
    grid-template-columns: 1fr !important;
  }
}

/* Company-page visual language for the public account gate. */
body.auth-locked.overhouse-public-home .auth-screen {
  background:
    radial-gradient(circle at 22% 12%, rgba(47, 125, 255, .16), transparent 30%),
    radial-gradient(circle at 82% 22%, rgba(77, 220, 255, .09), transparent 32%),
    #070a12 !important;
}

body.auth-locked.overhouse-public-home .auth-card {
  border: 1px solid rgba(214, 226, 255, .12) !important;
  border-radius: 12px !important;
  background: rgba(13, 19, 32, .96) !important;
  box-shadow: 0 28px 76px rgba(0, 0, 0, .38) !important;
}

body.auth-locked.overhouse-public-home .auth-overline,
body.auth-locked.overhouse-public-home .auth-divider,
body.auth-locked.overhouse-public-home .auth-mode-toggle,
body.auth-locked.overhouse-public-home .auth-legal a {
  color: #4ddcff !important;
}

body.auth-locked.overhouse-public-home .auth-card input {
  border-color: rgba(214, 226, 255, .12) !important;
  border-radius: 8px !important;
  background: #101827 !important;
}

body.auth-locked.overhouse-public-home .auth-card input:focus {
  border-color: rgba(47, 125, 255, .72) !important;
  box-shadow: 0 0 0 3px rgba(47, 125, 255, .14) !important;
}

body.auth-locked.overhouse-public-home .auth-remember input {
  accent-color: #2f7dff !important;
}

body.auth-locked.overhouse-public-home #authSubmit,
body.auth-locked.overhouse-public-home #authSubmit:hover,
body.auth-locked.overhouse-public-home #authSubmit:focus-visible {
  border-color: #2f7dff !important;
  border-radius: 8px !important;
  background: #2f7dff !important;
  color: #fff !important;
  box-shadow: none !important;
}

body.auth-locked.overhouse-public-home #authSubmit:hover,
body.auth-locked.overhouse-public-home #authSubmit:focus-visible {
  background: #2367e8 !important;
}

body.auth-locked.overhouse-public-home .auth-password-toggle,
body.auth-locked.overhouse-public-home .auth-social-btn,
body.auth-locked.overhouse-public-home .auth-mode-toggle {
  border-color: rgba(214, 226, 255, .12) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

body.auth-locked.overhouse-public-home .auth-social-btn:hover,
body.auth-locked.overhouse-public-home .auth-social-btn:focus-visible,
body.auth-locked.overhouse-public-home .auth-mode-toggle:hover,
body.auth-locked.overhouse-public-home .auth-mode-toggle:focus-visible {
  border-color: rgba(47, 125, 255, .42) !important;
  background: rgba(47, 125, 255, .1) !important;
  color: #f8fbff !important;
  box-shadow: none !important;
}

/* Final main-home polish: open header, stable console grid, product color cues. */

html body.overhouse-public-home:not(.auth-locked) .floating-contact:not(.is-open) {
  width: 50px !important;
  height: 50px !important;
  right: 18px !important;
  bottom: 18px !important;
}

html body.overhouse-public-home:not(.auth-locked) .floating-contact:not(.is-open) .floating-contact-trigger {
  width: 50px !important;
  height: 50px !important;
}

html body.overhouse-public-home:not(.auth-locked) .floating-contact:not(.is-open) .contact-trigger-icon {
  width: 38px !important;
  height: 38px !important;
}
