/* AIreg · govbrief.kr 표준 base CSS v3 (2026-07-16 · 극강 통일)
   모든 페이지 · body·hero·section·타이포 강제 통일. 개별 override 무력화 · !important */

:root{
  --bg:#fafbfd;--card:#ffffff;--hover:#f4f6fa;--border:#e5e7eb;
  --ink:#0f1116;--ink2:#2d2e37;--ink3:#5b5e6a;--muted:#8c8f9a;
  --accent:#2546c7;--accent-dark:#1a3499;--accent-lt:#eef2ff;--hdr-bg:#0a1834;
  --v:#065f46;--v-bg:#d1fae5;
  --h:#1e40af;--h-bg:#dbeafe;
  --i:#78350f;--i-bg:#fef3c7;
  --c:#4b5563;--c-bg:#f3f4f6;
  --font-sans:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
}

*,*::before,*::after{box-sizing:border-box !important;word-break:keep-all !important;overflow-wrap:break-word !important}

html,body{
  background:#fafbfd !important;
  color:#0f1116 !important;
  font-family:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Noto Sans KR',sans-serif !important;
  font-size:16.5px !important;
  line-height:1.75 !important;
  letter-spacing:-0.008em !important;
  -webkit-font-smoothing:antialiased !important;
  -moz-osx-font-smoothing:grayscale !important;
  min-width:auto !important;
  margin:0 !important;
  padding:0 !important;
}

/* ═══ 하위 페이지 body 강제 무력화 · min-width·max-width·자체 배경 override */
body>*{max-width:100% !important}

/* ═══ 링크 · 표준 액센트 파랑 (헤더 예외) */
a{color:#2546c7;text-decoration:none;transition:color .15s}
a:hover{text-decoration:underline}
.hdr a,.hdr a:hover,footer a,.footer a{text-decoration:none}

/* ═══ 타이포 위계 · 통일 · 개별 hero override 무력화 */
h1,.hero h1,.gf-hero h1,[class*="hero"] h1,h1.page-title,h1.rep-title,h1.sol-title{
  font-family:var(--font-sans) !important;
  font-weight:800 !important;
  letter-spacing:-0.028em !important;
  line-height:1.28 !important;
  color:#0f1116 !important;
  font-size:44px !important;
  margin:0 0 16px !important;
}
h2,.sec-h,.impact .sec-h,.cta-h{
  font-family:var(--font-sans) !important;
  font-weight:800 !important;
  letter-spacing:-0.02em !important;
  line-height:1.3 !important;
  color:#0f1116 !important;
  font-size:30px !important;
  margin:0 0 14px !important;
}
h3{font-family:var(--font-sans) !important;font-weight:800 !important;letter-spacing:-0.012em !important;line-height:1.4 !important;color:#0f1116 !important;font-size:19px !important;margin:0 0 10px !important}
h4{font-family:var(--font-sans) !important;font-weight:700 !important;color:#0f1116 !important;font-size:16px !important}
p{margin:0 0 14px !important;color:#2d2e37 !important;font-size:16.5px !important;line-height:1.75 !important}

/* ═══ Hero 통일 · 모든 페이지의 hero 배경·padding·정렬 */
.hero,.gf-hero,section.hero{
  background:#fafbfd !important;
  padding:96px 28px 72px !important;
  border-bottom:1px solid var(--border) !important;
  text-align:left !important;
  color:#0f1116 !important;
}
.hero .wrap,.gf-hero .gf-hero-inner,section.hero .wrap,section.hero .hero-inner{
  max-width:1200px !important;
  margin:0 auto !important;
  padding:0 !important;
  color:#0f1116 !important;
}
.hero .sub,.hero-sub,.gf-hero-lead,.gf-hero .gf-hero-lead{
  font-size:18px !important;
  color:#2d2e37 !important;
  max-width:780px !important;
  margin:0 0 32px !important;
  line-height:1.7 !important;
}
.hero-eyebrow,.gf-hero-eye,.sec-eye{
  font-family:var(--font-mono) !important;
  font-size:12px !important;
  color:#2546c7 !important;
  background:var(--accent-lt) !important;
  padding:5px 12px !important;
  border-radius:999px !important;
  letter-spacing:.15em !important;
  text-transform:uppercase !important;
  display:inline-block !important;
  margin-bottom:20px !important;
  font-weight:700 !important;
}

/* ═══ 섹션 통일 · 모든 section의 배경·padding */
section{background:#fafbfd !important}
section.sec,section[class*="sec"]{
  padding:80px 28px !important;
  border-bottom:1px solid var(--border) !important;
}
.sec-inner,.container{max-width:1200px !important;margin:0 auto !important;padding-left:28px !important;padding-right:28px !important}

/* ═══ 카드 통일 */
.card,.prod,.uc,.hier-card,.asset-card,.demo-card,.impact-cell,.how{
  background:#ffffff !important;
  border:1px solid var(--border) !important;
  border-radius:14px !important;
}
.card{padding:24px 26px !important;display:block !important;transition:border-color .18s,transform .18s,box-shadow .18s !important}
.card:hover{border-color:var(--accent) !important;transform:translateY(-2px) !important;box-shadow:0 4px 16px rgba(37,70,199,.08) !important;text-decoration:none !important}

/* ═══ card-grid · 3열·2열·자동 반응형 */
.card-grid{display:grid !important;gap:18px !important;margin-top:8px !important}
.card-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
.card-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.card-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
.card-grid .card{min-width:0 !important}
.card-grid .card .card-h{font-size:19px !important;font-weight:800 !important;color:#0f1116 !important;line-height:1.3 !important;margin:10px 0 8px !important}
.card-grid .card .card-d{font-size:14.5px !important;color:#2d2e37 !important;line-height:1.65 !important;margin-bottom:14px !important}
.card-grid .card .prod-cta{display:inline-flex !important;align-items:center !important;gap:4px !important;font-size:13.5px !important;font-weight:800 !important;letter-spacing:-.005em !important;padding-top:12px !important;border-top:1px solid var(--border) !important;width:100% !important;margin-top:auto !important}
.card-grid .card{display:flex !important;flex-direction:column !important}
@media(max-width:900px){
  .card-grid.cols-3,.card-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:640px){
  .card-grid.cols-3,.card-grid.cols-2,.card-grid.cols-4{grid-template-columns:1fr !important}
  .card{padding:20px 22px !important}
  .card-grid .card .card-h{font-size:17.5px !important}
}

/* ═══ 버튼 통일 */
.btn-primary{
  background:#2546c7 !important;
  color:#ffffff !important;
  padding:12px 22px !important;
  border-radius:10px !important;
  font-size:15px !important;
  font-weight:700 !important;
  border:1.5px solid #2546c7 !important;
  text-decoration:none !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
}
.btn-primary:hover{background:#1a3499 !important;border-color:#1a3499 !important;text-decoration:none !important}
.btn-ghost{
  background:transparent !important;
  color:#0f1116 !important;
  padding:12px 22px !important;
  border-radius:10px !important;
  font-size:15px !important;
  font-weight:700 !important;
  border:1.5px solid var(--border) !important;
  text-decoration:none !important;
}
.btn-ghost:hover{border-color:#0f1116 !important;background:var(--hover) !important;text-decoration:none !important}

/* ═══ 표준 pill */
.pill,.badge,.card-tag,.prod-tag{
  display:inline-block !important;
  padding:5px 12px !important;
  background:var(--accent-lt) !important;
  color:#2546c7 !important;
  font-size:12.5px !important;
  font-weight:700 !important;
  border-radius:999px !important;
  letter-spacing:-.01em !important;
}

/* ═══ 이미지 · 표준 */
img{max-width:100% !important;height:auto !important;display:block}

/* ═══ 표준 푸터 */
footer,.footer,footer.site-footer{
  margin-top:64px !important;
  padding:36px 28px !important;
  border-top:1px solid var(--border) !important;
  background:#ffffff !important;
  color:var(--muted) !important;
  text-align:center !important;
}
footer a,.footer a{color:var(--ink3) !important;text-decoration:none !important;margin:0 10px !important;font-weight:600 !important;font-size:13px !important}
footer a:hover,.footer a:hover{color:#2546c7 !important}

/* ═══ 반응형 · 모바일 */
@media(max-width:640px){
  html,body{font-size:15.5px !important;overflow-x:hidden !important;max-width:100vw !important}
  h1,.hero h1,.gf-hero h1{font-size:28px !important;line-height:1.32 !important}
  h2,.sec-h{font-size:22px !important}
  h3{font-size:17px !important}
  .hero,.gf-hero,section.hero{padding:60px 18px 48px !important}
  section.sec,section{padding:56px 18px !important}
  .sec-inner,.container,main,footer,.footer{max-width:100% !important;padding-left:18px !important;padding-right:18px !important}
  .btn-primary,.btn-ghost{padding:12px 18px !important;font-size:14.5px !important}
  /* 모든 grid · 모바일 · 1열 강제 · 좌우 스크롤 방지 */
  [class*="-grid"],[class*="grid-"],.prod-grid,.uc-grid,.impact-grid,.demo-grid,.how-grid,.card-grid,.ind-grid,.reg-grid,.report-grid,.law-grid,.related-grid,.sx-grid,.sp-grid,.hub-grid{grid-template-columns:1fr !important}
  /* 인라인 style · grid-template-columns · 모바일 override */
  [style*="grid-template-columns"]{grid-template-columns:1fr !important}
  [style*="repeat("]{grid-template-columns:1fr !important}
  footer .footer-links,footer.footer .footer-links,footer .wrap{grid-template-columns:1fr !important;flex-wrap:wrap !important;display:flex !important}
}
/* ═══ 태블릿 · 940 이하 · main 넘침 방지 */
@media(max-width:940px){
  main,section,footer{max-width:100vw !important}
  main{overflow-x:hidden !important}
}
/* ═══ 모바일 · table·특정 shell 폭 강제 축소 */
@media(max-width:640px){
  table{max-width:100% !important;width:100% !important;font-size:12.5px !important;table-layout:fixed !important;word-break:break-all !important}
  table td,table th{padding:6px 8px !important;white-space:normal !important;word-break:break-all !important}
  .shell,.hl-grid,.hl-card,.hl-card-head,.hl-card-title,.asset-tab,.sp-wrap,.sp-top,.sx-main,.ai-reg-main,.ind-wrap,.ind-grid{max-width:100% !important;width:auto !important}
  img,svg{max-width:100% !important;height:auto !important}
}
