/* 자금치유연구소 - 경기도지원금 site design system */
:root{
  --blue-900:#0f2f66;
  --blue-800:#123a80;
  --blue-700:#1a4fb8;
  --blue-600:#2563eb;
  --blue-500:#2f6fed;
  --blue-100:#dce9fd;
  --blue-50:#f2f7fe;
  --green-600:#22c55e;
  --kakao:#fee500;
  --kakao-text:#391b1b;
  --ink-900:#111827;
  --ink-700:#374151;
  --ink-500:#6b7280;
  --line:#e5eaf2;
  --bg-alt:#f5f8fc;
  --radius-lg:18px;
  --radius-md:12px;
  --radius-sm:8px;
  --container:1360px;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  font-family:"Pretendard",-apple-system,BlinkMacSystemFont,"Malgun Gothic",sans-serif;
  color:var(--ink-900);
  background:#fff;
  word-break:keep-all;
  overflow-wrap:break-word;
  line-height:1.7;
  font-size:16px;
}
img{max-width:100%;display:block;}
svg{width:24px;height:24px;flex:none;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
h1,h2,h3,h4{margin:0;line-height:1.25;text-wrap:balance;}
p{margin:0;}
ul{margin:0;padding:0;list-style:none;}

.wrap{max-width:var(--container);margin:0 auto;padding:0 24px;}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:#fff;border-bottom:1px solid var(--line);
  height:76px;display:flex;align-items:center;
}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;}
.brand{display:flex;align-items:center;gap:10px;white-space:nowrap;}
.brand-mark{width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex:none;}
.brand-mark img{width:100%;height:100%;object-fit:contain;}
.brand-text{line-height:1.2;}
.brand-title{font-size:19px;font-weight:800;color:var(--ink-900);margin:0;}
.brand-sub{font-size:11px;color:var(--ink-500);display:block;}

.gnb{display:flex;align-items:center;gap:28px;}
.gnb a{font-size:15px;font-weight:600;color:var(--ink-700);white-space:nowrap;}
.gnb a:hover{color:var(--blue-600);}

.header-cta{display:flex;align-items:center;gap:8px;flex:none;}

/* ---------- Mobile hamburger menu ---------- */
.menu-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:34px;height:34px;background:none;border:none;flex:none;padding:0;}
.menu-toggle span{display:block;width:22px;height:2px;background:var(--ink-900);border-radius:2px;transition:transform .2s,opacity .2s;}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.mobile-nav{display:none;position:absolute;top:100%;left:0;right:0;z-index:49;max-height:calc(100vh - 76px);overflow-y:auto;flex-direction:column;background:#fff;border-top:1px solid var(--line);box-shadow:0 12px 24px rgba(15,23,42,.08);}
.mobile-nav.open{display:flex;}
.mobile-nav a{padding:16px 24px;font-size:15.5px;font-weight:700;color:var(--ink-700);border-bottom:1px solid var(--line);}
.mobile-nav-cta{padding:18px 24px 22px;}
.mobile-nav-cta .cta-row{flex-wrap:wrap;}
.mobile-nav-cta .btn-cta{flex:1 1 auto;}

/* ---------- CTA buttons ---------- */
.cta-row{display:flex;flex-wrap:nowrap;gap:10px;}
.cta-row.center{justify-content:center;}
.btn-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  white-space:nowrap;font-weight:700;border:none;border-radius:999px;
  padding:0 18px;height:44px;font-size:15px;flex:none;
}
.btn-cta svg{width:16px;height:16px;flex:none;}
.btn-cta.tel{background:var(--blue-600);color:#fff;}
.btn-cta.tel:hover{background:var(--blue-700);}
.btn-cta.sms{background:var(--green-600);color:#fff;}
.btn-cta.sms:hover{background:#16a34a;}
.btn-cta.kakao{background:var(--kakao);color:var(--kakao-text);}
.btn-cta.kakao:hover{background:#f5d900;}
.header-cta .btn-cta{height:38px;padding:0 14px;font-size:13.5px;}

/* ---------- Hero ---------- */
.hero{padding:92px 0 80px;background:#fff;}
.hero .wrap{display:grid;grid-template-columns:1.05fr 0.95fr;gap:64px;align-items:center;}
.hero-h1{font-size:17px;font-weight:800;color:var(--blue-600);letter-spacing:.01em;margin-bottom:18px;}
.hero-statement{font-size:42px;font-weight:800;line-height:1.38;color:var(--ink-900);margin-bottom:24px;}
.hero-statement .accent{color:var(--blue-600);}
.hero-desc{font-size:18.5px;color:var(--ink-700);line-height:1.9;margin-bottom:32px;}
.hero-cta{margin-bottom:8px;}
.hl{color:var(--blue-600);text-decoration:underline;text-underline-offset:3px;font-weight:700;}

.hero-map-visual{position:relative;background:linear-gradient(180deg,#f5f9ff,#eaf2ff);border-radius:var(--radius-lg);padding:20px;min-height:320px;display:flex;align-items:center;justify-content:center;}

.kr-hero-wrap{position:relative;width:100%;max-width:300px;}
.kr-hero-svg{width:100%;height:100%;display:block;overflow:visible;}
.kr-hero-svg path{stroke:#fff;stroke-width:1;}
.kr-hero-svg .kr-other{fill:var(--blue-100);}
.kr-hero-svg .kr-gg{fill:var(--blue-600);}
.kr-hero-svg .kr-pin-dot{fill:#fff;stroke:var(--blue-900);stroke-width:2.5;}
.kr-pin-label{
  position:absolute;transform:translate(-50%,6px);font-size:15px;font-weight:800;color:var(--blue-900);
  white-space:nowrap;pointer-events:none;text-shadow:0 0 6px #fff,0 0 6px #fff,0 0 6px #fff;
}

.info-card{
  position:absolute;right:-8px;top:-24px;background:#fff;border-radius:var(--radius-md);
  box-shadow:0 12px 30px rgba(15,47,102,.14);padding:24px;width:250px;border:1px solid var(--line);
}
.info-card-title{font-size:14.5px;font-weight:800;color:var(--ink-900);margin-bottom:16px;}
.info-item{display:flex;gap:10px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--line);}
.info-item:first-of-type{border-top:none;}
.info-item .ic{width:30px;height:30px;border-radius:8px;background:var(--blue-50);display:flex;align-items:center;justify-content:center;flex:none;}
.info-item .ic svg{width:16px;height:16px;color:var(--blue-600);}
.info-item .t{display:block;font-size:14.5px;font-weight:700;color:var(--ink-900);}
.info-item .s{display:block;font-size:13px;color:var(--ink-500);margin-top:3px;line-height:1.6;}

/* on hero-visual layout: stack graphic + card below on mobile */
.hero-visual-wrap{position:relative;}

/* ---------- Section shell ---------- */
.section{padding:152px 0;border-top:1px solid var(--line);}
.section.alt{background:var(--bg-alt);}
.section-head{margin-bottom:42px;}
.section-head.center{text-align:center;}
.section-title{font-size:30px;font-weight:800;margin-bottom:12px;}
.section-desc{font-size:17px;color:var(--ink-500);line-height:1.7;}

/* ---------- Explainer (키워드 설명) ---------- */
.explain-section{padding-top:96px;padding-bottom:110px;}
.explain-lead{font-family:'Noto Serif KR',serif;font-size:23px;line-height:1.9;color:var(--ink-700);max-width:920px;margin-top:14px;font-weight:500;}
.explain-lead strong{color:var(--blue-600);font-weight:800;}
.explain-points{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:46px;}
.explain-point{background:var(--bg-alt);border-radius:var(--radius-md);padding:28px 26px;}
.explain-point .k{display:block;font-size:13px;font-weight:800;color:var(--blue-600);margin-bottom:8px;}
.explain-point .v{display:block;font-size:16.5px;color:var(--ink-700);line-height:1.8;}

/* ---------- NSEO link cards ---------- */
.nseo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;}
.nseo-card{
  display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius-md);padding:26px 20px;transition:box-shadow .15s,border-color .15s;
}
.nseo-card:hover{border-color:var(--blue-600);box-shadow:0 8px 22px rgba(37,99,235,.12);}
.nseo-card .ic{width:40px;height:40px;border-radius:10px;background:var(--blue-50);display:flex;align-items:center;justify-content:center;}
.nseo-card .ic svg{width:20px;height:20px;color:var(--blue-600);}
.nseo-card .name{font-size:16.5px;font-weight:800;color:var(--ink-900);}
.nseo-card .desc{font-size:13.5px;color:var(--ink-500);line-height:1.7;}
.nseo-card .go{font-size:13px;font-weight:700;color:var(--blue-600);margin-top:auto;}

/* ---------- Map section ---------- */
.map-section{background:linear-gradient(180deg,#eef4fd,#dfeaf9);}
.map-layout{display:grid;grid-template-columns:220px 1fr 220px;gap:20px;align-items:start;}
.map-legend{background:#fff;border-radius:var(--radius-md);padding:18px;border:1px solid var(--line);}
.map-legend .item{display:flex;align-items:center;gap:10px;padding:9px 0;font-size:13.5px;font-weight:700;color:var(--ink-700);}
.map-legend .dot{width:26px;height:26px;border-radius:8px;background:var(--blue-50);display:flex;align-items:center;justify-content:center;flex:none;}
.map-legend .dot svg{width:14px;height:14px;color:var(--blue-600);}

.map-hint{background:#fff;border-radius:var(--radius-md);padding:18px;border:1px solid var(--line);}
.map-hint .t{font-size:14px;font-weight:800;margin-bottom:6px;}
.map-hint .s{font-size:12.5px;color:var(--ink-500);line-height:1.6;}

.gg-map{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--line);padding:22px;display:flex;justify-content:center;}
.gg-map-wrap{position:relative;width:100%;max-width:520px;}
.gg-svg{width:100%;height:100%;display:block;}
.gg-region path{fill:var(--blue-100);stroke:#fff;stroke-width:1.5;cursor:pointer;transition:fill .12s;}
.gg-region:hover path{fill:#b9d3fb;}
.gg-region.active path{fill:var(--blue-600);}
.gg-region:focus-visible path{outline:2px solid var(--blue-900);outline-offset:1px;}

.gg-labels{position:absolute;inset:0;pointer-events:none;}
.gg-label{
  position:absolute;transform:translate(-50%,-50%);font-size:11px;font-weight:700;color:var(--blue-800);
  white-space:nowrap;text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
}
.gg-label.active{color:#fff;text-shadow:0 0 4px var(--blue-900),0 0 4px var(--blue-900),0 0 4px var(--blue-900);}

/* ---------- Region panel ---------- */
.region-panel{display:grid;grid-template-columns:1fr 3fr;gap:0;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);background:#fff;}
.region-side{background:linear-gradient(160deg,var(--blue-800),var(--blue-900));color:#fff;padding:30px 26px;}
.region-side .name{font-size:24px;font-weight:800;margin-bottom:6px;}
.region-side .tag{font-size:13px;color:#cfe0ff;margin-bottom:20px;}
.region-side .label{font-size:12px;color:#9fbdf3;font-weight:700;margin:14px 0 6px;}
.region-side .fields{display:flex;flex-wrap:wrap;gap:6px;}
.region-side .field-chip{font-size:12.5px;background:rgba(255,255,255,.12);border-radius:999px;padding:6px 12px;font-weight:600;}

.region-main{padding:30px 28px;}
.region-main .head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px;}
.region-main .head h3{font-size:19px;font-weight:800;}
.region-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;}
.region-card{border:1px solid var(--line);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:8px;}
.region-card .ic{width:34px;height:34px;border-radius:9px;background:var(--blue-50);display:flex;align-items:center;justify-content:center;}
.region-card .ic svg{width:17px;height:17px;color:var(--blue-600);}
.region-card .t{font-size:14.5px;font-weight:800;}
.region-card .s{font-size:12.5px;color:var(--ink-500);line-height:1.55;}
.region-card .link{font-size:12.5px;font-weight:700;color:var(--blue-600);margin-top:auto;}

.region-cta{background:var(--bg-alt);border-radius:var(--radius-md);padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.region-cta .t{font-size:15.5px;font-weight:800;margin-bottom:4px;}
.region-cta .s{font-size:13px;color:var(--ink-500);}

/* ---------- Feature grid ---------- */
.feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.feat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:30px 24px;text-align:left;}

.steps-grid{grid-template-columns:repeat(auto-fit,minmax(220px,240px));justify-content:center;}
.steps-grid .feat-card{text-align:center;}
.steps-grid .feat-card .ic{margin:0 auto 14px;}
.feat-card .ic{width:44px;height:44px;border-radius:11px;background:var(--blue-50);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.feat-card .ic svg{width:22px;height:22px;color:var(--blue-600);}
.feat-card .t{font-size:17.5px;font-weight:800;margin-bottom:8px;}
.feat-card .s{font-size:14.5px;color:var(--ink-500);line-height:1.75;}

/* ---------- About(자금치유연구소) grid ---------- */
.about-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.about-card{text-align:center;padding:26px 18px;}
.about-card .ic{width:52px;height:52px;border-radius:14px;background:var(--blue-50);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
.about-card .ic svg{width:24px;height:24px;color:var(--blue-600);}
.about-card .t{font-size:16px;font-weight:800;margin-bottom:8px;}
.about-card .s{font-size:13.5px;color:var(--ink-500);line-height:1.7;}

/* ---------- FAQ ---------- */
.faq-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:28px;align-items:start;}
.faq-list{display:flex;flex-direction:column;gap:10px;}
.faq-item{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;overflow:hidden;}
.faq-q{width:100%;text-align:left;background:none;border:none;padding:20px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:16px;font-weight:700;color:var(--ink-900);}
.faq-q svg{flex:none;width:20px;height:20px;color:var(--blue-600);transition:transform .15s;}
.faq-item.open svg{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .2s ease;}
.faq-a p{padding:0 20px 20px;font-size:15px;color:var(--ink-700);line-height:1.85;}
.faq-side{position:sticky;top:96px;background:var(--bg-alt);border-radius:var(--radius-lg);padding:28px 24px;text-align:center;}
.faq-side .t{font-size:17px;font-weight:800;margin-bottom:8px;}
.faq-side .s{font-size:13.5px;color:var(--ink-500);margin-bottom:18px;line-height:1.6;}

/* ---------- Final contact ---------- */
.contact-section{background:linear-gradient(160deg,var(--blue-800),var(--blue-900));color:#fff;text-align:center;padding:116px 0;}
.contact-section .section-title{color:#fff;}
.contact-section .section-desc{color:#cfe0ff;}

/* ---------- Footer ---------- */
.site-footer{background:#0c1f45;color:#c9d6ef;padding:40px 0 96px;font-size:13px;line-height:1.85;}
.site-footer .biz-name{color:#fff;font-weight:800;font-size:15px;margin-bottom:10px;}
.site-footer .notice{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);color:#8ea0c4;}
.site-footer a{color:#c9d6ef;}

/* ---------- Mobile fixed CTA bar ---------- */
.mobile-cta-bar{display:none;}

/* ---------- Entrance & scroll-reveal effects ---------- */
@keyframes heroUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
.hero-copy>*{opacity:0;animation:heroUp .7s ease forwards;}
.hero-copy>*:nth-child(1){animation-delay:.05s;}
.hero-copy>*:nth-child(2){animation-delay:.16s;}
.hero-copy>*:nth-child(3){animation-delay:.27s;}
.hero-copy>*:nth-child(4){animation-delay:.38s;}
.hero-visual-wrap{opacity:0;animation:heroUp .8s ease .3s forwards;}

/* Typewriter: hero-statement types out char by char instead of fading as a block */
@keyframes typeIn{to{opacity:1;}}
@keyframes caretBlink{0%,100%{opacity:0;}50%{opacity:1;}}
.hero-copy>.type-title{opacity:1;animation:none;position:relative;}
.type-title .tc{opacity:0;animation:typeIn .01s steps(1) forwards;}
.type-title::after{
  content:'';display:inline-block;width:3px;height:.85em;background:currentColor;
  margin-left:3px;vertical-align:-.1em;opacity:0;
  animation:caretBlink .8s steps(1) calc(.35s + var(--tchars,0) * .045s) infinite;
}

@keyframes letterUp{to{opacity:1;transform:translateY(0);}}
.letter-title .lt{display:inline-block;opacity:0;transform:translateY(.6em);animation:letterUp .5s cubic-bezier(.2,.8,.2,1) forwards;animation-play-state:paused;}
.letter-title.in-view .lt{animation-play-state:running;}

.feat-card,.about-card,.nseo-card,.faq-item,.explain-point,.explain-lead,.timeline-step,.checklist-item,.compare2-col,.statement-band{
  opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;
}
.feat-card.in-view,.about-card.in-view,.nseo-card.in-view,.faq-item.in-view,.explain-point.in-view,.explain-lead.in-view,.timeline-step.in-view,.checklist-item.in-view,.compare2-col.in-view,.statement-band.in-view{
  opacity:1;transform:translateY(0);
}
.feat-grid .feat-card:nth-child(2),.about-grid .about-card:nth-child(2),.nseo-grid .nseo-card:nth-child(2),.explain-points .explain-point:nth-child(2){transition-delay:.1s;}
.feat-grid .feat-card:nth-child(3),.about-grid .about-card:nth-child(3),.nseo-grid .nseo-card:nth-child(3),.explain-points .explain-point:nth-child(3){transition-delay:.2s;}
.feat-grid .feat-card:nth-child(4),.about-grid .about-card:nth-child(4),.nseo-grid .nseo-card:nth-child(4){transition-delay:.3s;}
.nseo-grid .nseo-card:nth-child(5){transition-delay:.4s;}

@media (prefers-reduced-motion:reduce){
  .hero-copy>*,.hero-visual-wrap,.letter-title .lt,.feat-card,.about-card,.nseo-card,.faq-item,.explain-point,.explain-lead,.timeline-step,.checklist-item,.compare2-col,.statement-band,.type-title .tc{
    animation:none!important;transition:none!important;opacity:1!important;transform:none!important;
  }
  .type-title::after{display:none!important;}
}

/* ---------- Breadcrumb / internal links ---------- */
.inline-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:32px;}
.inline-links a{font-size:13px;font-weight:700;color:var(--blue-600);background:var(--blue-50);border-radius:999px;padding:8px 14px;}

/* ---------- Detail page kit: statement / timeline / checklist / compare2 ---------- */
.statement-band p{font-size:38px;font-weight:800;line-height:1.5;color:var(--ink-900);letter-spacing:-.01em;}
.statement-band .accent{color:var(--blue-600);}

.timeline{display:flex;flex-direction:column;max-width:760px;}
.timeline-step{position:relative;padding:0 0 30px 32px;border-left:2px solid var(--line);}
.timeline-step:last-child{border-color:transparent;padding-bottom:0;}
.timeline-step::before{content:'';position:absolute;left:-7px;top:2px;width:12px;height:12px;border-radius:50%;background:var(--blue-600);border:3px solid var(--blue-50);}
.timeline-step .t{font-size:16px;font-weight:800;margin-bottom:6px;}
.timeline-step .s{font-size:14px;color:var(--ink-700);line-height:1.7;}

.checklist{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.checklist-item{display:flex;gap:10px;align-items:flex-start;background:var(--bg-alt);border-radius:var(--radius-md);padding:16px 18px;}
.checklist-item .ic{width:26px;height:26px;border-radius:50%;background:var(--blue-600);display:flex;align-items:center;justify-content:center;flex:none;}
.checklist-item .ic svg{width:14px;height:14px;color:#fff;}
.checklist-item .t{font-size:14.5px;font-weight:700;color:var(--ink-900);}
.checklist-item .s{font-size:13px;color:var(--ink-500);margin-top:3px;line-height:1.6;}
.checklist-item.warn .ic{background:#f59e0b;}

.compare2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.compare2-col{border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px 24px;}
.compare2-col.hl{border-color:var(--blue-600);background:var(--blue-50);}
.compare2-col .h{font-size:15px;font-weight:800;color:var(--blue-600);margin-bottom:14px;}
.compare2-col ul{display:flex;flex-direction:column;gap:10px;}
.compare2-col li{font-size:13.5px;color:var(--ink-700);line-height:1.6;padding-left:16px;position:relative;}
.compare2-col li::before{content:'';position:absolute;left:0;top:8px;width:5px;height:5px;border-radius:50%;background:var(--blue-600);}

/* ---------- Detail page kit: breadcrumb / stat block / hero variants ---------- */
.page-breadcrumb{font-size:13px;color:var(--ink-500);margin-bottom:14px;}
.page-breadcrumb a{color:var(--ink-500);}
.page-breadcrumb a:hover{color:var(--blue-600);}

.stat-block{padding:12px 0;}
.stat-block .num{font-size:52px;font-weight:800;color:var(--blue-600);line-height:1;}
.stat-block .label{font-size:15px;color:var(--ink-700);margin-top:10px;}
.stat-block.center{text-align:center;}

.hero.alt{background:var(--bg-alt);}
.hero.center .hero-copy{text-align:center;margin:0 auto;}
.hero.center .hero-cta{justify-content:center;}

.badge{display:inline-block;font-size:11px;font-weight:700;border-radius:999px;padding:3px 9px;margin-left:8px;background:var(--blue-100);color:var(--blue-700);vertical-align:1px;}
.badge.warn{background:#fef3c7;color:#b45309;}

table.simple-table{width:100%;border-collapse:collapse;}
table.simple-table th,table.simple-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink-700);}
table.simple-table th{font-size:12.5px;color:var(--ink-500);font-weight:700;}
table.simple-table td:first-child,table.simple-table th:first-child{font-weight:700;color:var(--ink-900);}

.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.related-grid-center{display:flex;flex-wrap:wrap;justify-content:center;}
.related-grid-center .nseo-card{flex:0 1 260px;}
.related-subhead{font-size:14px;font-weight:800;text-align:center;margin:28px 0 14px;color:var(--ink-900);}

/* ================= Responsive ================= */
@media (max-width:1180px){
  .wrap{padding:0 20px;}
  .nseo-grid{grid-template-columns:repeat(3,1fr);}
  .feat-grid{grid-template-columns:repeat(2,1fr);}
  .about-grid{grid-template-columns:repeat(2,1fr);}
  .region-cards{grid-template-columns:repeat(2,1fr);}
  .explain-points{grid-template-columns:repeat(2,1fr);}
  .related-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:980px){
  .gnb{display:none;}
  .menu-toggle{display:flex;}
  .hero .wrap{grid-template-columns:1fr;}
  .hero-map-visual{margin-top:8px;flex-direction:column;flex-wrap:wrap;}
  .info-card{position:static;width:100%;margin-top:16px;}
  .map-layout{grid-template-columns:1fr;}
  .region-panel{grid-template-columns:1fr;}
  .faq-layout{grid-template-columns:1fr;}
  .faq-side{position:static;}
}
@media (max-width:640px){
  .site-header{height:64px;}
  .header-cta{display:none;}
  .hero{padding:56px 0 46px;}
  .hero-statement{font-size:30px;margin-bottom:18px;}
  .hero-desc{font-size:16px;line-height:1.8;margin-bottom:24px;}
  .section{padding:88px 0;}
  .section-title{font-size:24px;}
  .explain-lead{font-size:19px;}
  .explain-points{grid-template-columns:1fr;}
  .nseo-grid{grid-template-columns:1fr 1fr;}
  .feat-grid{grid-template-columns:1fr;}
  .about-grid{grid-template-columns:1fr 1fr;}
  .region-cards{grid-template-columns:1fr;}
  .related-grid{grid-template-columns:1fr;}
  .checklist{grid-template-columns:1fr;}
  .compare2{grid-template-columns:1fr;}
  .statement-band p{font-size:26px;}
  .stat-block .num{font-size:38px;}
  table.simple-table th,table.simple-table td{padding:10px 10px;font-size:13px;}
  .cta-row{flex-wrap:wrap;}
  .btn-cta{flex:1 1 auto;}
  .gg-map{padding:12px;}
  .gg-label{font-size:8.5px;}
  .region-side{padding:22px 20px;}
  .region-main{padding:22px 20px;}

  .mobile-cta-bar{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;
    height:60px;box-shadow:0 -4px 16px rgba(0,0,0,.12);
  }
  .mobile-cta-bar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:12px;font-weight:700;color:#fff;}
  .mobile-cta-bar a svg{width:18px;height:18px;}
  .mobile-cta-bar a.tel{background:var(--blue-600);}
  .mobile-cta-bar a.sms{background:var(--green-600);}
  .mobile-cta-bar a.kakao{background:var(--kakao);color:var(--kakao-text);}
  body{padding-bottom:60px;}
}
