@font-face {
  font-family: "Inspect Thai";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("assets/fonts/noto-sans-thai.woff2") format("woff2");
  unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC;
}
@font-face {
  font-family: "Inspect Thai";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("assets/fonts/noto-sans-thai-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02DA, U+02DC, U+02DD, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

body.site-refined {
  font-family: "Inspect Thai", Tahoma, Arial, sans-serif !important;
  background: #ffffff !important;
  color: #243e52 !important;
  font-size: 17px !important;
  line-height: 1.85 !important;
}
body.site-refined *, body.site-refined *::before, body.site-refined *::after {
  box-sizing: border-box;
  letter-spacing: 0 !important;
}
body.site-refined :is(h1,h2,h3,p,li,a,button,span) { word-break: normal !important; overflow-wrap: break-word !important; }
body.site-refined :is(button,input,textarea,select) { font-family: inherit !important; }
body.site-refined a:focus-visible, body.site-refined button:focus-visible,
body.site-refined input:focus-visible, body.site-refined textarea:focus-visible {
  outline: 3px solid #b47700 !important;
  outline-offset: 4px !important;
}
body.site-refined :is(.section,.wrap,.seo-section)::before { content: none !important; }
body.site-refined:not(.reference-home) :is(.section,.wrap,.seo-section) { background: transparent !important; }
body.site-refined:not(.reference-home) :is(p,li) { font-size: 17px !important; line-height: 1.85 !important; font-weight: 400 !important; }
body.site-refined:not(.reference-home) :is(.head,.section-head,.seo-head) { text-align: left !important; }
body.site-refined:not(.reference-home) :is(.head,.section-head,.seo-head) h2 { font-size: 32px !important; line-height: 1.5 !important; color: #173c5d !important; }
body.site-refined:not(.reference-home) :is(.head,.section-head,.seo-head) p { margin-left: 0 !important; }
body.site-refined :is(.related-knowledge-section,.electrical-knowledge-section) .section-head p { color: #354652 !important; }
body.site-refined:not(.reference-home) :is(.card,.box,.seo-card,.report-card,.item,.case,.step) { border-radius: 6px !important; box-shadow: none !important; min-width: 0 !important; }
body.site-refined:not(.reference-home) :is(.card,.box,.seo-card,.report-card,.item,.case,.step) :is(h2,h3) { line-height: 1.5 !important; }
body.site-refined:not(.reference-home) :is(.box,.item,.case) { background: transparent !important; border: 0 !important; }
body.site-refined .split > .panel { background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
body.site-refined :is(.seo-panel,.local-service-copy p) { background: #f1f5f8 !important; border-radius: 0 !important; box-shadow: none !important; border: 0 !important; border-left: 4px solid #e9b446 !important; }
body.site-refined .seo-panel :is(h2,h3,strong,b) { color: #173c5d !important; }
body.site-refined .seo-panel :is(p,li) { color: #354652 !important; }
body.site-refined .seo-panel h2 { font-size: 28px !important; line-height: 1.5 !important; }
body.site-refined :is(.seo-grid,.local-topic-grid,.region-grid) { grid-template-columns: repeat(auto-fit,minmax(min(100%,260px),1fr)) !important; }
body.site-refined :is(.seo-card,.local-topic-grid article,.region-card) { border-radius: 6px !important; box-shadow: none !important; padding: 24px !important; }
body.site-refined :is(.seo-card,.local-topic-grid article) h3 { font-size: 21px !important; line-height: 1.5 !important; }
body.site-refined:not(.reference-home) :is(.tag,.contact-badge,.estimate-badge,.lead-badge) {
  background: #e5f1ff !important;
  color: #174c77 !important;
  border: 1px solid #bfd4e8 !important;
  border-left: 4px solid #e9b446 !important;
  border-radius: 4px !important;
  padding: 8px 12px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  max-width: 100% !important;
}

body.site-refined :is(.global-nav,.seo-nav) { background: #fff !important; border-bottom: 1px solid #dce3e8 !important; box-shadow: none !important; gap: 18px !important; }
body.site-refined :is(.nav-link,.dropdown-trigger,.seo-links a) { font-size: 15px !important; line-height: 1.6 !important; font-weight: 600 !important; }
body.site-refined .dropdown-trigger { appearance: none; background: transparent !important; border: 0 !important; color: #173c5d !important; cursor: pointer; font-family: inherit; padding: 14px 0 !important; }
body.site-refined .dropdown-menu { width: 350px !important; min-width: 0 !important; max-width: calc(100vw - 40px) !important; border-radius: 6px !important; box-shadow: 0 10px 30px #173c5d20 !important; }
body.site-refined .nav-dropdown:focus-within .dropdown-menu,
body.site-refined .nav-dropdown.is-open .dropdown-menu { display: grid !important; }
body.site-refined .nav-dropdown.is-closed .dropdown-menu { display: none !important; }
body.site-refined .dropdown-menu { padding: 8px !important; gap: 2px !important; }
body.site-refined .dropdown-menu a { min-height: 44px !important; font-size: 15px !important; padding: 10px 12px !important; border-radius: 4px !important; }
body.site-refined .dropdown-menu a::after { content: none !important; }
body.site-refined .dropdown-menu .menu-icon { font-size: 18px !important; width: 24px !important; min-width: 24px !important; height: 24px !important; }
body.site-refined .dropdown-menu a[aria-current="page"] { background: #e5f1ff !important; color: #174c77 !important; }
body.site-refined .nav-links > a[aria-current="page"],
body.site-refined .seo-links > a[aria-current="page"] { text-decoration: underline !important; text-decoration-color: #b47700 !important; text-underline-offset: 7px; }

body.site-refined:not(.reference-home) :is(.hero,.seo-hero,.detail-hero) {
  background: linear-gradient(90deg,rgba(9,29,47,.86),rgba(9,29,47,.55)),var(--page-hero) center / cover no-repeat !important;
  display: block !important;
  min-height: 350px !important;
  padding: 62px max(28px,calc((100% - 1180px)/2)) !important;
  text-align: left !important;
  border-radius: 0 !important;
  isolation: isolate;
}
body.site-refined:not(.reference-home) :is(.hero,.seo-hero,.detail-hero)::before,
body.site-refined:not(.reference-home) :is(.hero,.seo-hero,.detail-hero)::after { content: none !important; }
body.site-refined:not(.reference-home) :is(.hero-inner,.seo-hero-inner) { display: block !important; margin: 0 !important; max-width: 100% !important; }
body.site-refined:not(.reference-home) :is(.hero,.seo-hero) h1 { color: #fff !important; font-size: 40px !important; line-height: 1.45 !important; max-width: 900px !important; margin: 0 0 18px !important; text-wrap: pretty; }
body.site-refined:not(.reference-home) :is(.hero,.seo-hero) p { display: block !important; color: #fff !important; font-size: 18px !important; line-height: 1.85 !important; max-width: 760px !important; margin: 0 0 22px !important; text-wrap: pretty; }
body.site-refined .seo-hero p.seo-kicker { display: inline-block !important; width: fit-content !important; font-size: 15px !important; color: #ffd16b !important; background: #264b74 !important; border: 1px solid #829ab7 !important; border-radius: 4px !important; }
body.site-refined:not(.reference-home) :is(.hero-btns,.hero .btns,.seo-actions) { justify-content: flex-start !important; gap: 12px !important; margin: 24px 0 0 !important; }

body.site-refined :is(.btn,.seo-btn,.report-btn,.estimate-btn,.line-qr-btn,.credentials-btn) { border-radius: 6px !important; font-weight: 600 !important; font-size: 16px !important; line-height: 1.6 !important; min-height: 44px !important; box-shadow: none !important; white-space: normal !important; text-align: center; }
body.site-refined :is(.btn.line,.seo-btn.green,.credentials-btn-line,.line-qr-btn,.float .line,.estimate-btn.line) { background: #087a3b !important; color: #fff !important; }
body.site-refined :is(.btn.quote,.btn.blue,.btn.gold,.seo-btn.gold,.report-btn.primary,.nav-phone,.estimate-btn.call,.credentials-btn-gold) { background: #f6c34a !important; color: #173044 !important; }
body.site-refined :is(.btn.sendinfo,.btn.white,.btn.outline) { background: #fff !important; color: #174c77 !important; border: 1px solid #bfd4e8 !important; }
body.site-refined .float .phone { background: #174c77 !important; color: #fff !important; }
body.site-refined .float { bottom: max(18px,env(safe-area-inset-bottom)) !important; }
body.site-refined :is(.gallery img,.main-photo,.box > img,.split > img) { max-width: 100% !important; border-radius: 6px !important; }
body.site-refined img { max-width: 100%; }
body.site-refined :is(.document-photo,.ror4-proof-gallery img,.sld-gallery img) { object-fit: contain !important; background: #f1f5f8 !important; }
body.site-refined .field-label { display: block; font-size: 16px; font-weight: 600; color: #243e52 !important; margin: 0 0 6px; }
body.site-refined .contactbox .form :is(input,textarea) { font-size: 17px !important; border-radius: 6px !important; min-height: 48px; }
body.site-refined .contactbox .form { border-radius: 6px !important; box-shadow: none !important; border: 1px solid #dce3e8 !important; }
body.site-refined .contact-info-card { background: transparent !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; box-shadow: none !important; }
body.site-refined .contact-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)) !important; }
body.site-refined .contact-item { display: grid !important; grid-template-columns: 50px minmax(0,1fr) !important; gap: 16px !important; min-width: 0 !important; width: 100% !important; padding: 20px !important; border-radius: 6px !important; }
body.site-refined .contact-item > div { min-width: 0 !important; }
body.site-refined .contact-item p { overflow-wrap: anywhere !important; }
body.site-refined .line-direct { margin: 20px 0 !important; }
body.site-refined .line-direct .seo-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 12px 20px !important; min-height: 48px !important; }
body.site-refined.reference-line .wrap { max-width: 720px !important; padding: 36px 20px !important; margin: 0 auto !important; }
body.site-refined.reference-line .wrap::after { content: none !important; }
body.site-refined.reference-line h1 { font-size: 30px !important; line-height: 1.5 !important; margin: 0 0 16px !important; }
body.site-refined.reference-line .card { padding: 24px !important; }
body.site-refined.reference-line .card img { display: block !important; width: min(100%,320px) !important; height: auto !important; aspect-ratio: 1; object-fit: contain !important; margin: 20px auto 0 !important; box-shadow: none !important; }
body.site-refined .inline-article-full { display: inline-block; margin-top: 20px; color: #174c77 !important; font-weight: 600; text-decoration: underline !important; text-underline-offset: 4px; }
body.site-refined .inline-article-view { scroll-margin-top: 120px; }
body.site-refined .inline-article-inner { border: 0 !important; border-top: 3px solid #e9b446 !important; border-radius: 0 !important; box-shadow: none !important; padding: 24px 0 !important; }
body.site-refined .inline-article-head h3 { font-size: 28px !important; line-height: 1.5 !important; }
body.site-refined .inline-article-head span { border-radius: 4px !important; }
body.site-refined .inline-article-points { grid-template-columns: repeat(auto-fit,minmax(min(100%,240px),1fr)) !important; }
body.site-refined .inline-article-points div { border-radius: 6px !important; }
body.site-refined .inline-article-note { border: 0 !important; border-left: 4px solid #e9b446 !important; border-radius: 0 !important; }
body.site-refined footer { padding-bottom: 100px !important; overflow-wrap: anywhere !important; }

@media (max-width: 1100px) {
  body.site-refined .global-nav { flex-wrap: wrap !important; justify-content: flex-start !important; }
  body.site-refined .nav-links { gap: 8px 20px !important; }
}
@media (max-width: 760px) {
  body.site-refined :is(.topbar,.seo-topbar) { display: none !important; }
  body.site-refined :is(.global-nav,.seo-nav) { position: relative !important; padding: 16px 20px !important; align-items: flex-start !important; flex-direction: column !important; gap: 10px !important; }
  body.site-refined .brand { gap: 10px !important; width: 100% !important; min-width: 0 !important; white-space: normal !important; }
  body.site-refined :is(.brand strong,.brand-name,.seo-brand) { font-size: 18px !important; line-height: 1.45 !important; }
  body.site-refined .brand small { font-size: 11px !important; line-height: 1.5 !important; }
  body.site-refined .brand-badge { width: 42px !important; height: 42px !important; flex-shrink: 0 !important; }
  body.site-refined :is(.nav-links,.seo-links) { width: 100% !important; justify-content: flex-start !important; gap: 0 18px !important; flex-wrap: wrap !important; }
  body.site-refined .nav-links { position: static !important; }
  body.site-refined :is(.nav-link,.dropdown-trigger,.seo-links a) { font-size: 14px !important; min-height: 44px !important; padding: 10px 0 !important; }
  body.site-refined .seo-links .quote { padding: 10px 14px !important; }
  body.site-refined .nav-dropdown { position: static !important; }
  body.site-refined .dropdown-menu { left: 20px !important; right: 20px !important; top: 100% !important; width: auto !important; max-width: none !important; max-height: min(620px,calc(100dvh - 180px)) !important; overflow-y: auto !important; overscroll-behavior: contain; transform: none !important; }
  body.site-refined .dropdown-menu::before { content: none !important; }
  body.site-refined:not(.reference-home) :is(.hero,.seo-hero,.detail-hero) { min-height: 0 !important; padding: 42px 22px !important; }
  body.site-refined:not(.reference-home) :is(.hero,.seo-hero) h1 { font-size: 30px !important; width: 100% !important; max-width: 100% !important; margin: 0 0 16px !important; }
  body.site-refined:not(.reference-home) :is(.hero,.seo-hero) p { width: 100% !important; max-width: 100% !important; font-size: 17px !important; }
  body.site-refined:not(.reference-home) :is(.hero-btns,.hero .btns,.seo-actions) { width: 100% !important; max-width: 100% !important; }
  body.site-refined:not(.reference-home) :is(.head,.section-head,.seo-head) h2 { font-size: 27px !important; }
  body.site-refined .seo-panel h2 { font-size: 25px !important; }
  body.site-refined:not(.reference-home) :is(.section,.wrap,.seo-section) { padding-left: 20px !important; padding-right: 20px !important; }
  body.site-refined .contactbox { grid-template-columns: minmax(0,1fr) !important; }
  body.site-refined:has(.float) { padding-bottom: 76px !important; }
  body.site-refined .float { left: 0 !important; right: 0 !important; bottom: 0 !important; gap: 12px !important; flex-direction: row !important; padding: 10px 20px max(10px,env(safe-area-inset-bottom)) !important; background: #fff !important; border-top: 1px solid #dce3e8 !important; }
  body.site-refined .float a { width: auto !important; height: 44px !important; flex: 1 !important; border-radius: 6px !important; font-size: 15px !important; box-shadow: none !important; }
  body.site-refined .inline-article-view { scroll-margin-top: 16px; }
  body.site-refined .inline-article-head h3 { font-size: 24px !important; }
}
