/* Scoped to the new main page; legacy detail pages retain their existing layout. */
.welfare-home [hidden]{display:none!important}
.welfare-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.welfare-category{font:inherit;color:inherit;text-align:left;width:100%}
.welfare-category.active{border-color:var(--green);background:#edf2e9}
.welfare-category-title{display:block;font-size:18px;font-weight:750;margin:17px 0 7px;letter-spacing:-.6px}
.welfare-category-description{display:block;font-size:13px;line-height:1.8;color:var(--muted)}
.welfare-filter-panel{border:1px solid var(--line);border-radius:7px;background:#f2f3ed;padding:16px}
.welfare-filter-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:15px}
.welfare-scope-tabs{display:flex;flex-wrap:wrap;gap:6px}
.welfare-scope-tabs button{min-height:34px;padding:5px 12px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--ink);font-size:13px}
.welfare-scope-tabs button.active{background:var(--ink);color:white;border-color:var(--ink)}
.welfare-target{display:flex;align-items:center;gap:7px;font-size:13px}
.welfare-target select{background:white;border:1px solid var(--line);border-radius:5px;height:34px;max-width:190px;font-size:13px;padding:4px 8px}
.welfare-filter-controls form{flex:1 1 230px;max-width:420px;min-height:34px;padding:2px;margin:0}
.welfare-filter-controls .search-field{padding-left:9px}
.welfare-filter-controls input{padding:3px 0;font-size:13px}
.welfare-filter-controls .search-button{padding:4px 13px}
.welfare-filter-panel .chip{font-size:12px;padding:5px 11px;background:white}
.welfare-filter-panel .chip.active{background:var(--ink)}
.welfare-board-heading,.welfare-row{display:grid;grid-template-columns:150px minmax(0,1fr) 100px;gap:16px;padding:13px 16px}
.welfare-board-heading{font-size:13px;background:#f0f2ec;border-bottom:1px solid var(--line);color:var(--muted)}
.welfare-board-heading span:nth-child(2){text-align:center}
.welfare-row{align-items:center;border-bottom:1px solid var(--line);background:#fff}
.welfare-row:hover,.welfare-row:focus-within{background:#e8f0ff}
.welfare-row h3{font-size:16px;margin:0;line-height:1.65}
.welfare-row h3 a:hover,.welfare-row h3 a:focus-visible{color:#064db5;text-decoration:none}
.welfare-provider{font-size:13px;color:var(--muted)}
.welfare-provider small{display:block;font-size:11px;margin-top:3px}
.welfare-summary{font-size:12px;margin:5px 0;color:var(--muted)}
.welfare-status,.welfare-checked{font-size:12px;color:var(--muted)}
.category-intro{padding-top:30px;padding-bottom:28px}.category-intro h1{font-size:36px;margin:24px 0 12px}.category-intro .intro{margin:0 0 18px}.category-page .finder{padding-top:36px}.category-review{border:1px solid var(--line);border-radius:8px;padding:22px 24px;background:#f2f3ed}.category-review h2{font-size:21px}.category-review p{font-size:13px;color:var(--muted)}.category-review ul{list-style:none;padding:0;margin:16px 0 0}.category-review li{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.category-review a{font-weight:650;color:var(--green)}.category-review a:hover{text-decoration:underline}.category-review .review-status{margin:0}
@media(max-width:950px){.welfare-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.welfare-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.welfare-category{padding:16px}.welfare-category-title{font-size:16px}.welfare-category-description{font-size:12px}.welfare-filter-panel{padding:12px}.welfare-filter-controls form{max-width:none;flex-basis:100%}.welfare-board-heading{display:none}.welfare-row{grid-template-columns:minmax(0,1fr) auto;padding:16px 4px;gap:6px 12px}.welfare-row-content{grid-column:1/-1;grid-row:1}.welfare-row h3{font-size:15px}.welfare-provider{grid-column:1;grid-row:2;font-size:12px}.welfare-checked{grid-column:2;grid-row:2;font-size:11px}.welfare-home .section-top{gap:12px}.welfare-home .section-note{display:none}}

.welfare-row:hover h3 a,.welfare-row:focus-within h3 a{color:#064db5}

/* Small subject illustrations on category detail pages. */
.category-intro{position:relative;min-height:220px;padding-right:240px}
.category-illustration{position:absolute;right:24px;top:66px;width:192px;height:144px;object-fit:contain;pointer-events:none}
@media(max-width:600px){
 .category-intro{min-height:190px;padding-right:116px}
 .category-intro .program-breadcrumb{width:calc(100% + 100px)}
 .category-intro h1{font-size:28px}
 .category-intro .intro{font-size:15px;line-height:1.7}
 .category-intro h1,.category-intro .intro{overflow-wrap:anywhere}
 .category-illustration{width:96px;height:72px;right:12px;top:86px}
}

/* Compact home introduction and bring the category chooser closer. */
.welfare-home .hero{padding-top:36px;padding-bottom:20px}
.welfare-home .hero-copy .intro{margin-bottom:0}
.welfare-home .hero-art{width:66.666667%;min-height:243px;padding:20px 7px 13px;border-radius:87px 87px 7px 7px;justify-self:center}
.welfare-home .hero-art svg{width:100%;height:auto}
@media(max-width:600px){.welfare-home .hero-art{max-width:240px;min-height:0}}
.welfare-home .audiences{padding-top:24px}
@media(max-width:600px){
  .welfare-home .hero{padding-top:28px;padding-bottom:16px;gap:20px}
  .welfare-home .audiences{padding-top:16px}
}

/* Keep the category cards close to the compact introduction. */
.welfare-home .hero{padding-top:20px;padding-bottom:12px}
.welfare-home .hero-copy h1{margin-bottom:0}
.welfare-home .audiences{padding-top:12px}
@media(min-width:851px){
 .welfare-home .hero{grid-template-columns:minmax(0,1fr) 240px;gap:32px}
 .welfare-home .hero-art{width:100%}
}
@media(max-width:600px){.welfare-home .hero{padding-top:20px;padding-bottom:12px;gap:12px}}

/* Main headline: clean sans serif with a slightly smaller size. */
.welfare-home .hero-copy h1{font-family:inherit;font-size:44px;font-weight:600;letter-spacing:-1.8px;line-height:1.4}
@media(max-width:850px){.welfare-home .hero-copy h1{font-size:34px;letter-spacing:-1.2px}}
@media(max-width:600px){.welfare-home .hero-copy h1{font-size:32px}}

/* Give the home illustration breathing room on the right. */
@media(min-width:851px){.welfare-home .hero{grid-template-columns:minmax(0,1fr) 240px;padding-right:80px}}

/* Three practical steps in the retained green box. */
.welfare-home .support-guide{display:block}
.support-guide ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;list-style:none;margin:0;padding:0}
.support-guide li{display:flex;align-items:flex-start;gap:14px}
.support-guide li>span{font-size:12px;color:var(--green);padding-top:3px}
.support-guide h3{font-size:16px;line-height:1.5;margin:0 0 8px}
.support-guide li p{font-size:12px;color:var(--muted);line-height:1.8;margin:0}
@media(max-width:850px){.support-guide ol{grid-template-columns:1fr;gap:22px}}
/* Both remaining navigation links stay visible on small screens. */
@media(max-width:600px){.welfare-home .header nav a:last-child{display:inline}}

/* Present the steps as explanatory text instead of navigation tiles. */
.welfare-home .support-guide{padding:24px 30px;background:#f0f2eb;border-radius:8px}
.support-guide ol{display:flex;flex-direction:column;gap:14px}
.support-guide li{display:flex;align-items:baseline;gap:12px}
.support-guide li>span{font-size:11px;color:var(--muted);padding:0;flex-shrink:0}
.support-guide li>div{display:block}
.support-guide h3{display:inline;font-size:13px;font-weight:600;line-height:1.9;margin:0 12px 0 0}
.support-guide li p{display:inline;font-size:13px;line-height:1.9;margin:0;color:var(--muted)}
@media(max-width:600px){
 .welfare-home .support-guide{padding:20px}
 .support-guide h3{display:block;margin:0 0 3px}
 .support-guide li p{display:block}
}

/* A quiet accent above the main headline. */
.welfare-home .hero-kicker{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:600;letter-spacing:.12em;line-height:1.5;color:var(--green);margin:0 0 12px}
.welfare-home .hero-kicker::before{content:"";width:22px;height:1px;background:currentColor;flex-shrink:0;opacity:.65}
@media(max-width:600px){.welfare-home .hero-kicker{font-size:10px;margin-bottom:10px}}

/* Keep the home results board close to its search conditions. */
.welfare-home .finder .results-top{margin-top:10px;padding-bottom:8px}
.review-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.review-validation{font-size:11px;padding:3px 8px;border-radius:4px;background:#e8f0ff;color:#24528b}
.review-version-note{font-size:11px;color:var(--muted);margin:5px 0 0}

/* Main board numbering follows the currently displayed results. */
.welfare-numbered-heading,.welfare-numbered-row{grid-template-columns:44px 150px minmax(0,1fr) 100px}
.welfare-number{font-size:12px;color:var(--muted);text-align:center}
.welfare-numbered-heading span:nth-child(2){text-align:left}
.welfare-numbered-heading span:first-child,.welfare-numbered-heading span:nth-child(3){text-align:center}
@media(max-width:600px){
 .welfare-numbered-row{grid-template-columns:26px minmax(0,1fr) auto}
 .welfare-numbered-row .welfare-number{grid-column:1;grid-row:1 / 3;align-self:start;padding-top:3px}
 .welfare-numbered-row .welfare-row-content{grid-column:2 / -1;grid-row:1}
 .welfare-numbered-row .welfare-provider{grid-column:2;grid-row:2}
 .welfare-numbered-row .welfare-checked{grid-column:3;grid-row:2}
}

/* A small handwritten label for the explanatory steps. */
.welfare-home .support-guide .guide-handwriting{font-family:"휴먼편지체","HCR Batang","궁서","Gungsuh",cursive;font-size:16px;font-weight:400;color:var(--green);line-height:1.5;letter-spacing:.04em;margin:0 0 14px;transform:rotate(-3deg);transform-origin:left center}

/* Tighten spacing throughout the checking-order guide. */
.welfare-home .support-guide{padding:20px 26px}
.welfare-home .support-guide .guide-handwriting{letter-spacing:0;line-height:1.3;margin-bottom:8px}
.welfare-home .support-guide ol{gap:8px}
.welfare-home .support-guide li{gap:8px}
.welfare-home .support-guide h3{letter-spacing:-.3px;line-height:1.55;margin-right:8px}
.welfare-home .support-guide li p{letter-spacing:-.2px;line-height:1.55}
@media(max-width:600px){.welfare-home .support-guide{padding:18px 20px}.welfare-home .support-guide h3{margin-bottom:2px}}

/* Place the main introduction close to the header. */
.welfare-home .hero{padding-top:16px}
.welfare-home .hero-copy{align-self:start}


/* Match category breadcrumbs to the compact top spacing. */
.category-page .category-intro{padding-top:16px}

