/* SMART247 shared visual system 1.1.3. Owned by the existing layout component.
   Static visual changes only: existing motion, markup, links, forms and events stay intact. */
:root {
  --s247-font: "Apple SD Gothic Neo", "맑은 고딕", "Malgun Gothic", "Noto Sans KR", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --s247-brand: #00704a;
  --s247-brand-dark: #005f3f;
  --s247-ink: #20352d;
  --s247-copy: #45564c;
  --s247-muted: #5d6a63;
  --s247-surface: #ffffff;
  --s247-soft: #f6f8f4;
  --s247-line: #dce5dd;
  --s247-purchase: #0073b5;
  --s247-radius: 8px;
  --s247-space-1: 8px;
  --s247-space-2: 16px;
  --s247-space-3: 24px;
  --s247-space-4: 40px;
  --s247-space-5: 64px;
  --s247-reading-width: 840px;
}


/* One native Korean sans-serif stack; no external font request is added. */
html body .site-main,
html body .site-footer,
html body .site-main :is(h1,h2,h3),
html body .site-main .smart247-lite,
html body .site-main .smart247-guide,
html body .site-main .s247-readiness-hub,
html body .site-main #wp-react-root {
  font-family: var(--s247-font) !important;
}

/* Shared chrome: keep the established logo and mobile menu geometry. */
html body .site-header .main-navigation .main-nav > ul > li.current-menu-item > a,
html body .site-header .main-navigation .main-nav > ul > li.current_page_item > a {
  color: var(--s247-brand) !important;
}
html body .site-footer .site-info:before { font-size: 13px !important; line-height: 1.7 !important; }
html body .site-footer { border-top: 1px solid var(--s247-line); }

/* Home: the approved mobile headline, square photo and signal sequence are untouched. */
html body.home.page-id-819 .smart247-lite { color: var(--s247-ink); }
html body.home.page-id-819 .smart247-lite .s247-hero p,
html body.home.page-id-819 .smart247-lite .s247-sub,
html body.home.page-id-819 .smart247-lite .s247-card p,
html body.home.page-id-819 .smart247-lite .s247-split p {
  word-break: keep-all;
  overflow-wrap: break-word;
}
html body.home.page-id-819 .smart247-lite .s247-section:not(:last-of-type) {
  padding: 88px 0 !important;
  background: var(--s247-surface) !important;
}
html body.home.page-id-819 .smart247-lite .s247-section.alt:not(:last-of-type),
html body.home.page-id-819 .smart247-lite .s247-section:nth-of-type(2) {
  background: var(--s247-soft) !important;
}
html body.home.page-id-819 .smart247-lite .s247-title,
html body.home.page-id-819 .smart247-lite .s247-split h2 {
  color: var(--s247-ink) !important;
  font-size: clamp(30px, 3vw, 40px) !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: -.035em !important;
  text-align: left !important;
  word-break: keep-all;
  overflow-wrap: anywhere;
  margin: 0 0 20px !important;
}
html body.home.page-id-819 .smart247-lite .s247-sub {
  max-width: 760px !important;
  margin: 0 0 40px !important;
  color: var(--s247-muted) !important;
  font-size: 18px !important;
  line-height: 1.8 !important;
  text-align: left !important;
}
html body.home.page-id-819 .smart247-lite .s247-section > .s247-wrap > .s247-eyebrow {
  padding: 0 !important;
  margin: 0 0 16px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  letter-spacing: .12em !important;
}
html body.home.page-id-819 .smart247-lite .s247-btn {
  min-height: 48px !important;
  padding: 11px 20px !important;
  border-radius: var(--s247-radius) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  box-shadow: none !important;
}
html body.home.page-id-819 .smart247-lite .s247-btn.primary {
  border: 1px solid var(--s247-brand) !important;
  background: var(--s247-brand) !important;
  color: #fff !important;
}
html body.home.page-id-819 .smart247-lite .s247-btn.ghost {
  border: 1px solid #bdcec1 !important;
  background: transparent !important;
  color: var(--s247-brand) !important;
}
html body.home.page-id-819 .smart247-lite .s247-cards { gap: 24px !important; }
html body.home.page-id-819 .smart247-lite .s247-card {
  padding: 24px !important;
  border: 1px solid var(--s247-line) !important;
  background: #fff !important;
  border-radius: var(--s247-radius) !important;
  box-shadow: none !important;
}
html body.home.page-id-819 .smart247-lite .s247-card b {
  font-size: 20px !important;
  line-height: 1.5 !important;
  color: var(--s247-ink) !important;
  letter-spacing: -.02em;
  word-break: keep-all;
}
html body.home.page-id-819 .smart247-lite .s247-card p {
  color: var(--s247-muted) !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
}
html body.home.page-id-819 .smart247-lite .s247-guide-cards .s247-card > img {
  border-radius: 4px !important;
}
html body.home.page-id-819 .smart247-lite .s247-guide-cards .s247-icon,
html body.home.page-id-819 .smart247-lite .s247-case-cards .s247-icon,
html body.home.page-id-819 .smart247-lite .s247-section:nth-of-type(2) .s247-icon {
  width: auto !important;
  height: auto !important;
  display: block !important;
  margin: 0 0 12px !important;
  background: transparent !important;
  color: var(--s247-brand) !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  border: 0 !important;
  border-radius: 0 !important;
}
html body.home.page-id-819 .smart247-lite .s247-section:nth-of-type(2) .s247-card,
html body.home.page-id-819 .smart247-lite .s247-case-cards .s247-card {
  padding: 24px 0 8px !important;
  border: 0 !important;
  border-top: 1px solid #cbd8cd !important;
  background: transparent !important;
  border-radius: 0 !important;
}
html body.home.page-id-819 .smart247-lite .s247-guide-cards .s247-card > span:last-child,
html body.home.page-id-819 .smart247-lite .s247-case-cards .s247-card > span:last-child {
  margin-top: auto !important;
  color: var(--s247-brand) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
}
html body.home.page-id-819 .smart247-lite .s247-stat {
  padding: 24px 16px !important;
  background: #fff !important;
  color: var(--s247-muted) !important;
  border: 0 !important;
  border-top: 1px solid var(--s247-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 15px !important;
}
html body.home.page-id-819 .smart247-lite .s247-stat strong {
  margin-bottom: 8px !important;
  font-size: 24px !important;
  line-height: 1.4 !important;
  color: var(--s247-ink) !important;
}
html body.home.page-id-819 .smart247-lite .s247-split > img,
html body.home.page-id-819 .smart247-lite .s247-gallery a,
html body.home.page-id-819 .smart247-lite .s247-skill,
html body.home.page-id-819 .smart247-lite .s247-video {
  box-shadow: none !important;
}
html body.home.page-id-819 .smart247-lite .s247-skill h2 { color: #fff !important; }
html body.home.page-id-819 .smart247-lite .s247-case-figure img { border-radius: var(--s247-radius) !important; }
html body.home.page-id-819 .smart247-lite #product-install-contact,
html body.home.page-id-819 .smart247-lite div#contact.s247-contact-box {
  box-shadow: none !important;
}
html body.home.page-id-819 .smart247-lite #product-install-contact .eyebrow {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  font-size: 12px !important;
  letter-spacing: .12em !important;
}
html body.home.page-id-819 .smart247-lite div#contact.s247-contact-box button {
  min-height: 48px !important;
  border-radius: var(--s247-radius) !important;
  box-shadow: none !important;
}
html body.home.page-id-819 .smart247-lite a:focus-visible,
html body.home.page-id-819 .smart247-lite button:focus-visible {
  outline: 3px solid var(--s247-brand) !important;
  outline-offset: 4px !important;
}
html body.home.page-id-819 .smart247-lite #contact button:focus-visible {
  outline-color: #fff !important;
}
@media (min-width: 861px) {
  html body.home.page-id-819 .smart247-lite .s247-hero h1 {
    font-size: clamp(44px, 4vw, 56px) !important;
    line-height: 1.22 !important;
    letter-spacing: -.04em !important;
    word-break: keep-all;
  }
  html body.home.page-id-819 .smart247-lite .s247-h1-desktop br { display: none; }
}

/* Guide hub: information actions use the established brand, not a separate lime palette. */
html body.page-id-623 .smart247-guide {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  --s247-blue: var(--s247-brand) !important;
  --s247-red: #cf2e2e !important;
  --s247-deep: var(--s247-ink) !important;
  --s247-sky: var(--s247-soft) !important;
  --s247-glow: rgba(0,112,74,.12) !important;
}
html body.page-id-623 .smart247-guide__hero {
  min-width: 0 !important;
  overflow: hidden !important;
  padding: 40px !important;
  background: var(--s247-soft) !important;
  border: 1px solid var(--s247-line) !important;
  border-radius: var(--s247-radius) !important;
  box-shadow: none !important;
}
html body.page-id-623 .smart247-guide__hero h1 {
  color: var(--s247-ink) !important;
  font-size: clamp(30px, 3vw, 42px) !important;
  line-height: 1.35 !important;
  letter-spacing: -.04em !important;
}
html body.page-id-623 .smart247-guide__subtitle { color: var(--s247-muted) !important; font-size: 18px !important; line-height: 1.8 !important; }
html body.page-id-623 .smart247-guide__hero-panel {
  background: #f0f5ef !important;
  border: 1px solid var(--s247-line) !important;
  border-radius: var(--s247-radius) !important;
  box-shadow: none !important;
}
html body.page-id-623 .smart247-guide__panel-card,
html body.page-id-623 .smart247-guide__path-card,
html body.page-id-623 .smart247-guide__post,
html body.page-id-623 .smart247-guide__trust article {
  border-color: var(--s247-line) !important;
  border-radius: var(--s247-radius) !important;
  box-shadow: none !important;
}
html body.page-id-623 .smart247-guide__button {
  min-height: 48px !important;
  border-radius: var(--s247-radius) !important;
  box-shadow: none !important;
}
html body.page-id-623 .smart247-guide__button--primary {
  background: var(--s247-brand) !important;
  color: #fff !important;
}
html body.page-id-623 .smart247-guide__button--ghost {
  background: #fff !important;
  border-color: #bdcec1 !important;
  color: var(--s247-brand) !important;
}

/* Product and guide-selection hubs retain all rendered content and React behavior. */
html body:is(.page-id-114,.page-id-805) .s247-readiness-hub {
  padding: 40px !important;
  background: #fff !important;
  border: 1px solid var(--s247-line) !important;
  border-top: 4px solid var(--s247-brand) !important;
  border-radius: var(--s247-radius) !important;
}
html body:is(.page-id-114,.page-id-805) .s247-readiness-hub h1,
html body:is(.page-id-114,.page-id-805) .s247-readiness-hub h2 {
  color: var(--s247-ink) !important;
  font-size: clamp(30px, 3vw, 40px) !important;
  line-height: 1.35 !important;
  letter-spacing: -.035em !important;
  word-break: keep-all;
}
html body:is(.page-id-114,.page-id-805) .s247-readiness-hub > p:not(.s247-readiness-hub__eyebrow) {
  color: var(--s247-muted) !important;
  font-size: 18px !important;
  line-height: 1.8 !important;
}
html body:is(.page-id-114,.page-id-805) .s247-readiness-card {
  padding: 24px !important;
  background: var(--s247-soft) !important;
  border-color: var(--s247-line) !important;
  border-radius: var(--s247-radius) !important;
  box-shadow: none !important;
}
html body:is(.page-id-114,.page-id-805) .s247-readiness-post-card,
html body.page-id-114 #wp-react-root .s247-card {
  border: 1px solid var(--s247-line) !important;
  border-radius: var(--s247-radius) !important;
  box-shadow: none !important;
}

/* Long-form guides share a reading axis; product post 219 formatting stays intact. */
html body.s247-design-guide .inside-article > .entry-header,
html body.s247-design-guide .inside-article > .entry-content {
  max-width: var(--s247-reading-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
html body.s247-design-guide .inside-article > .entry-header h1 {
  color: var(--s247-ink) !important;
  font-weight: 700 !important;
  font-size: 40px !important;
  line-height: 1.35 !important;
  letter-spacing: -.035em;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
html body.s247-design-product .entry-content .has-cyan-bluish-gray-color {
  color: var(--s247-muted) !important;
}
html body.s247-design-product .entry-content .wp-block-button__link.has-vivid-cyan-blue-background-color {
  background-color: var(--s247-purchase) !important;
  color: #fff !important;
}

@media (max-width: 860px) {
  html body.home.page-id-819 .smart247-lite .s247-section:not(:last-of-type) { padding: 56px 0 !important; }
  html body.home.page-id-819 .smart247-lite .s247-title,
  html body.home.page-id-819 .smart247-lite .s247-split h2 { font-size: 28px !important; line-height: 1.4 !important; }
  html body.home.page-id-819 .smart247-lite .s247-sub { margin-bottom: 28px !important; font-size: 17px !important; }
  html body.home.page-id-819 .smart247-lite .s247-cards { gap: 20px !important; }
  html body.home.page-id-819 .smart247-lite .s247-card { padding: 20px !important; }
  html body.home.page-id-819 .smart247-lite .s247-section:nth-of-type(2) .s247-card,
  html body.home.page-id-819 .smart247-lite .s247-case-cards .s247-card { padding: 20px 0 8px !important; }
  html body.home.page-id-819 .smart247-lite .s247-card b { font-size: 19px !important; }
  html body.home.page-id-819 .smart247-lite .s247-stat { padding: 20px 12px !important; }
  html body.home.page-id-819 .smart247-lite .s247-stat strong { font-size: 22px !important; }
  html body.page-id-623 .smart247-guide__hero { padding: 28px 22px !important; }
  html body.page-id-623 .smart247-guide__hero h1 { font-size: 30px !important; line-height: 1.4 !important; }
  html body.page-id-623 .smart247-guide__subtitle { font-size: 17px !important; }
  html body:is(.page-id-114,.page-id-805) .s247-readiness-hub { padding: 28px 20px !important; }
  html body:is(.page-id-114,.page-id-805) .s247-readiness-hub h1,
  html body:is(.page-id-114,.page-id-805) .s247-readiness-hub h2 { font-size: 28px !important; line-height: 1.4 !important; }
  html body:is(.page-id-114,.page-id-805) .s247-readiness-hub > p:not(.s247-readiness-hub__eyebrow) { font-size: 17px !important; }
  html body:is(.page-id-114,.page-id-805) .s247-readiness-card { padding: 20px !important; }
  html body.s247-design-guide .inside-article > .entry-header h1 { font-size: 28px !important; line-height: 1.4 !important; }
}

/* Keep legacy full-bleed guide sections on the shared content axis, not 100vw. */
html body.page-id-623 .smart247-guide__purpose-intro,
html body.page-id-623 .smart247-guide__split,
html body.page-id-623 .smart247-guide__posts--guide {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:32px !important;
  padding-right:32px !important;
  box-sizing:border-box !important;
}
@media(max-width:860px){
  html body.page-id-623 .smart247-guide__purpose-intro,
  html body.page-id-623 .smart247-guide__split,
  html body.page-id-623 .smart247-guide__posts--guide {padding-left:20px !important;padding-right:20px !important;}
}
