.sub-hero{
  padding:36px 0 28px; background:linear-gradient(180deg, var(--bg-soft) 0%, #fff 100%);
  border-bottom:1px solid var(--line);
}
.sub-hero .wrap{max-width:1120px}
.sub-hero .breadcrumb{
  font-size:12px; font-weight:700; color:var(--ink-faint); margin-bottom:10px;
}
.sub-hero .breadcrumb a{color:var(--blue)}
.sub-hero .breadcrumb a:hover{text-decoration:underline}
.sub-hero h1{font-size:clamp(1.5rem,3vw,2rem); font-weight:900; letter-spacing:-.03em; margin-bottom:8px}
.sub-hero p{font-size:15px; color:var(--ink-soft); max-width:560px}
.sub-tabs{
  display:flex; flex-wrap:wrap; gap:8px; margin-top:16px;
}
.sub-tabs a{
  padding:8px 14px; border-radius:999px; border:1px solid var(--line);
  font-size:12.5px; font-weight:700; color:var(--ink-soft); background:#fff;
}
.sub-tabs a:hover{border-color:var(--blue); color:var(--blue)}
.sub-tabs a.is-active{background:var(--blue); border-color:var(--blue); color:#fff}

.notice-list{display:flex; flex-direction:column; gap:10px}
.notice-item{
  display:flex; align-items:center; gap:12px; padding:16px 18px;
  background:#fff; border:1px solid var(--line); border-radius:14px;
}
.notice-item .notice-badge{
  flex-shrink:0; font-size:10px; font-weight:800; padding:4px 8px; border-radius:6px;
  background:var(--blue-pale); color:var(--blue);
}
.notice-item .notice-title{font-size:14px; font-weight:800; flex:1}
.notice-item .notice-date{font-size:12px; color:var(--ink-faint); font-weight:600; flex-shrink:0}

.sub-footer-cta{margin:0 0 48px}
