.structure-hero { background: linear-gradient(120deg, #102f3c, #164a61); }
.page-hero.structure-hero h1 { max-width: 1000px; color: #fff !important; font-size: clamp(2.15rem, 5vw, 4.9rem); text-shadow: 0 3px 18px rgba(0, 0, 0, .35); }
.page-hero.structure-hero h1 em { color: #ffc547 !important; }
.structure-section { padding-top: 5rem; padding-bottom: 6rem; }
.structure-root { width: min(100%, 460px); margin: 0 auto; padding: 1.6rem 2rem; text-align: center; border: 2px solid #d8c7b7; background: #fff; box-shadow: 0 14px 34px rgba(49,31,17,.08); }
.structure-label, .archdiocesan-level article > span, .sector-composition span, .parish-level article > span, .parish-heading > span { display: block; margin-bottom: .45rem; color: #a65c18; font-size: .69rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.structure-root h2, .archdiocesan-level h2, .sector-composition h2, .parish-level h2 { margin: 0; color: #2b211b; font-family: "Libre Baskerville", serif; }
.structure-connector.vertical { width: 2px; height: 50px; margin: 0 auto; background: #b9946e; }
.structure-connector.vertical.small { height: 55px; }
.archdiocesan-level { display: grid; grid-template-columns: 1fr 1.15fr 1fr; gap: 1.4rem; align-items: stretch; padding: 2rem; background: #fff1d2; }
.archdiocesan-level article { padding: 1.7rem; background: #fff; border: 1px solid #ead9bd; }
.archdiocesan-level p { color: #655b52; line-height: 1.65; }
.archdiocesan-level ul, .sector-composition ul, .parish-composition ul { margin: 1rem 0 0; padding: 0; list-style: none; }
.archdiocesan-level li, .sector-composition li, .parish-composition li { padding: .32rem 0; color: #4e443c; line-height: 1.45; }
.archdiocesan-level li strong, .sector-composition li strong, .parish-composition li strong { color: #b56b1b; }
.central-council { display: flex; flex-direction: column; justify-content: center; text-align: center; background: #f5a918 !important; border-radius: 50%; aspect-ratio: 1; align-self: center; }
.central-council > span, .central-council h2, .central-council a { color: #fff !important; }
.central-council h2 { font-size: clamp(1.3rem, 2.4vw, 2.1rem); }
.central-council a { margin-top: 1rem; font-size: .8rem; font-weight: 700; text-decoration: none; }
.structure-connector.branching { width: 72%; height: 45px; margin: 0 auto; border-top: 2px solid #b9946e; border-left: 2px solid #b9946e; border-right: 2px solid #b9946e; }
.sector-level-heading { margin: 1.5rem 0 2rem; text-align: center; }
.sector-level-heading h2 { margin: .35rem 0; color: #532710; font-family: "Libre Baskerville", serif; font-size: clamp(2rem, 4vw, 3.6rem); }
.sector-level-heading > p:last-child { color: #655b52; }
.sector-structure-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .8rem; }
.sector-structure-grid article { padding: 1.4rem .8rem; text-align: center; border: 1px solid #d9c3ad; border-radius: 50% 50% 42% 42%; background: #fff; box-shadow: 0 12px 30px rgba(45,27,15,.07); }
.sector-structure-grid span { color: #d48723; font-size: 1.7rem; font-weight: 800; }
.sector-structure-grid h3 { margin: .45rem 0 1rem; color: #2f5261; font-size: .92rem; line-height: 1.35; }
.sector-structure-grid a { color: #86501f; font-size: .7rem; font-weight: 700; text-decoration: none; }
.sector-composition { display: grid; grid-template-columns: .9fr 1.1fr; gap: 2rem; align-items: center; margin-top: 2rem; padding: 2rem 2.3rem; background: #f7f2ec; }
.sector-composition ul { display: grid; grid-template-columns: 1fr 1fr; gap: .3rem 1rem; margin: 0; }
.parish-level { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; padding: 2.3rem; background: #fff1d2; }
.parish-heading, .parish-composition { padding: 2rem; background: #fff; border: 1px solid #e7d4b6; }
.parish-heading p { color: #655b52; line-height: 1.7; }
.parish-heading .button { margin-top: .7rem; }
@media (max-width: 980px) {
  .archdiocesan-level { grid-template-columns: 1fr 1fr; }
  .central-council { grid-column: 1 / -1; grid-row: 1; width: min(100%, 380px); justify-self: center; }
  .sector-structure-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .structure-section { padding-top: 3.5rem; padding-bottom: 4rem; }
  .archdiocesan-level, .sector-composition, .parish-level { grid-template-columns: 1fr; padding: 1.2rem; }
  .central-council { border-radius: 24px; aspect-ratio: auto; padding: 2.5rem 1.5rem !important; }
  .structure-connector.branching { width: 2px; height: 45px; border: 0; background: #b9946e; }
  .sector-structure-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sector-composition ul { grid-template-columns: 1fr; }
}
