/* Additive public South Carolina components; existing state maps and forms remain unchanged. */
.ethos-sc-public-release .ethos-sc-public-panel {
  --sc-public-ink: #151715;
  --sc-public-paper: #f1eee7;
  --sc-public-gold: #c7b080;
  box-sizing: border-box;
  clear: both;
  width: 100%;
  margin: 0;
  padding: clamp(48px, 6vw, 88px) 24px;
  background: var(--sc-public-ink);
  color: var(--sc-public-paper);
  border-block: 1px solid rgba(199, 176, 128, .24);
  text-align: left;
}
.ethos-sc-public-panel *, .ethos-sc-public-panel *::before, .ethos-sc-public-panel *::after { box-sizing: border-box; }
.ethos-sc-public-inner { max-width: 1120px; margin-inline: auto; min-width: 0; }
.ethos-sc-public-heading { max-width: 820px; margin: 0 0 32px; }
.ethos-sc-public-panel .ethos-sc-public-eyebrow { margin: 0 0 18px; color: var(--sc-public-gold); font: 500 11px/1.6 Inter, sans-serif; text-transform: uppercase; letter-spacing: .16em; }
.ethos-sc-public-panel h2 { margin: 0 0 20px; color: var(--sc-public-paper); font-family: 'Playfair Display', Georgia, serif; font-size: clamp(30px, 4vw, 52px); font-weight: 400; line-height: 1.14; letter-spacing: -.025em; }
.ethos-sc-public-panel .ethos-sc-public-description { margin: 0; color: #d2d2c9; font: 400 15px/1.8 Inter, sans-serif; }
.ethos-sc-public-facts { display: flex; flex-wrap: wrap; gap: 24px 52px; margin: 0 0 34px; padding: 0 0 30px; border-bottom: 1px solid rgba(255, 255, 255, .15); }
.ethos-sc-public-facts > div { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.ethos-sc-public-facts dt { order: 2; color: #c6c7bd; font: 400 11px/1.4 Inter, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.ethos-sc-public-facts dd { order: 1; margin: 0; color: var(--sc-public-paper); font: 400 34px/1.1 'Playfair Display', Georgia, serif; }
.ethos-sc-public-areas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 38px; margin-block: 0 32px; }
.ethos-sc-public-area { min-width: 0; border-bottom: 1px solid rgba(255, 255, 255, .18); }
.ethos-sc-public-area > summary { display: flex; gap: 14px; align-items: center; justify-content: space-between; min-height: 62px; padding: 18px 0; color: var(--sc-public-paper); cursor: pointer; list-style: none; font: 500 15px/1.5 Inter, sans-serif; }
.ethos-sc-public-area > summary::-webkit-details-marker { display: none; }
.ethos-sc-public-area > summary::after { content: '+'; color: var(--sc-public-gold); font-size: 22px; font-weight: 300; }
.ethos-sc-public-area[open] > summary::after { content: '−'; }
.ethos-sc-public-area > summary > span:first-child { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.ethos-sc-public-zip-count { white-space: nowrap; color: #b9bbae; font: 400 11px/1.5 Inter, sans-serif; }
.ethos-sc-public-area-body { padding: 0 0 22px; }
.ethos-sc-public-zips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0 0 16px; }
.ethos-sc-public-zips li { margin: 0; padding: 6px 9px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .11); color: #e6e6dd; font: 400 12px/1.2 Inter, sans-serif; font-variant-numeric: tabular-nums; letter-spacing: .04em; }
.ethos-sc-public-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 26px; }
.ethos-sc-public-panel .ethos-sc-public-button { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; max-width: 100%; padding: 14px 22px; border: 1px solid var(--sc-public-gold); color: #171912; background: var(--sc-public-gold); font: 600 11px/1.5 Inter, sans-serif; text-transform: uppercase; letter-spacing: .07em; text-decoration: none; text-align: center; }
.ethos-sc-public-panel .ethos-sc-public-text-link { display: inline-flex; align-items: center; min-height: 44px; color: #e0ceaa; font: 500 12px/1.6 Inter, sans-serif; text-decoration: underline; text-underline-offset: 4px; }
.ethos-sc-public-panel .ethos-sc-public-disclosure { max-width: 860px; margin: 28px 0 0; color: #b7baaf; font: 400 11px/1.8 Inter, sans-serif; }
.ethos-sc-public-panel a:focus-visible, .ethos-sc-public-panel summary:focus-visible { outline: 2px solid var(--sc-public-gold); outline-offset: 5px; }
.ethos-sc-public-panel .ethos-sc-public-button:hover { background: #e0ceaa; }
.ethos-sc-public-menu-item > a { font-style: normal; }
.ethos-sc-public-release .ethos-sc-public-map-note { position: relative; z-index: 2; max-width: 860px; margin: 16px auto 0; padding: 12px 18px; border: 1px solid rgba(199, 176, 128, .3); color: #e6e3da; background: #20241f; font: 400 12px/1.7 Inter, sans-serif; text-align: center; overflow-wrap: anywhere; }
.ethos-sc-public-release .ethos-sc-public-map-note a { display: inline; color: #e0ceaa; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.ethos-sc-public-release .ethos-sc-public-map-note a:focus-visible { outline: 2px solid #e0ceaa; outline-offset: 4px; }
.ethos-sc-public-release svg#svg2.ethos-editorial-map__states path#SC.ethos-sc-public-map-state { fill: #a89c81 !important; fill-opacity: .52 !important; stroke: #746446 !important; stroke-width: 1.3 !important; stroke-dasharray: 2.4 1.7; cursor: pointer; pointer-events: all; }
.ethos-sc-public-release svg#svg2.ethos-editorial-map__states path#SC.ethos-sc-public-map-state:hover,
.ethos-sc-public-release svg#svg2.ethos-editorial-map__states path#SC.ethos-sc-public-map-state:focus-visible { fill: #d4bd8d !important; fill-opacity: .9 !important; stroke-width: 2 !important; outline: none; }
@media (max-width: 640px) {
  .ethos-sc-public-release .ethos-sc-public-panel { padding-inline: 20px; }
  .ethos-sc-public-areas { grid-template-columns: 1fr; }
  .ethos-sc-public-facts { gap: 24px; justify-content: space-between; }
  .ethos-sc-public-facts dt { max-width: 92px; font-size: 10px; }
  .ethos-sc-public-panel .ethos-sc-public-description { font-size: 14px; }
  .ethos-sc-public-actions { gap: 12px 22px; }
  .ethos-sc-public-release .ethos-sc-public-map-note { margin-inline: 12px; padding-inline: 12px; font-size: 11px; }
}
