.regulation-page p,
.regulation-page li,
.regulation-page strong,
.regulation-page .reg-kicker,
.regulation-page .reg-note,
.regulation-page .reg-label,
.regulation-page .reg-label span{
  font-family:"Montserrat",sans-serif;
}
.regulation-page h1,
.regulation-page h2{
  font-family:"Overpass",sans-serif;
}
.regulation-page h3{
  font-family:"Montserrat",sans-serif;
}
.reg-plain,.reg-band{padding:clamp(36px,4vw,72px) 0}
.reg-band{background:var(--palette-secondary-mid)}
.reg-intro{max-width:760px;margin:0 auto 28px;text-align:center}
.reg-intro h2{margin:0 0 10px}
.reg-intro .body-text{display:block}
.reg-note{margin-top:16px;padding:14px 16px;border-radius:16px;background:var(--palette-secondary)}
.reg-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,24px)}
.reg-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(16px,2vw,24px)}
.reg-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.reg-card{
  background:var(--palette-secondary-light);
  border:1px solid var(--palette-bg);
  box-shadow:var(--palette-shadows);
  border-radius:24px;
  padding:clamp(18px,2vw,28px);
  height:100%;
}
.reg-band .reg-card{background:#fff}
.reg-card h2{margin:0;font-size:clamp(22px,2vw,32px);line-height:1.2}
.reg-card h3{margin:0}
.reg-card .body-text{display:block;margin-top:8px}
.reg-card > .body-text:first-of-type{margin-top:0}
.reg-kicker{
  display:block;
  margin-bottom:4px;
  color:var(--palette-primary);
  font-size:13px;
  font-weight:500;
  line-height:1.35;
}
.reg-head h2 + .reg-kicker{
  margin:4px 0 0;
}
.reg-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.reg-logo{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  flex:0 0 40px;
  border-radius:12px;
  overflow:hidden;
}
.reg-logo svg{display:block;width:40px;height:40px}
.reg-points{display:grid;gap:10px;margin-top:14px}
.reg-point{
  display:grid;
  grid-template-columns:24px 1fr;
  gap:10px;
  align-items:start;
  padding:12px 14px;
  border-radius:16px;
  background:var(--palette-secondary-mid);
}
.reg-band .reg-point{background:var(--palette-secondary-light)}
.reg-point strong{display:block;font-weight:700;font-size:15px;color:var(--palette-primary-dark)}
.reg-point .body-text{margin-top:2px}
.reg-label{display:grid;gap:14px;margin-top:8px}
.reg-label div{padding:0;background:none}
.reg-label span{
  display:block;
  margin-bottom:4px;
  color:var(--palette-txt-h3);
  font-size:16px;
  font-weight:700;
  line-height:1.35;
}
.reg-card .btn-common{margin-top:36px}
.reg-grid-2 > .reg-card{display:flex;flex-direction:column}
.reg-laws .reg-head{align-items:flex-start}
.reg-laws .reg-card h3{font-size:clamp(16px,1.4vw,20px);line-height:1.35}
.reg-grid-2 > .reg-card > *:has(+ .btn-common){margin-bottom:36px}
.reg-grid-2 > .reg-card > .btn-common{margin-top:auto}
@media(max-width:1024px){
  .reg-grid-4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:860px){
  .reg-grid-3,.reg-grid-2,.reg-grid-4{grid-template-columns:1fr}
  .reg-head{align-items:flex-start}
}
