.sector-main { width: min(1180px, calc(100% - 2.5rem)); margin: 0 auto 3rem; }
.sector-main .site-breadcrumbs { width: 100%; }
.sector-main p, .sector-main li { font: 400 1rem/1.65 var(--ui); }
.sector-main a { color: var(--green); text-underline-offset: .22em; }
.sector-intro { display: grid; grid-template-columns: minmax(0, 1fr) 230px; gap: 2rem; align-items: center; border-bottom: 1px solid var(--gold); padding: 1.8rem 0 2rem; }
.sector-intro h1 { font: 600 clamp(2.15rem, 4.5vw, 3.7rem)/1.08 var(--reading); margin: .6rem 0 1rem; max-width: 23ch; }
.sector-intro p { max-width: 66ch; margin-bottom: .6rem; }
.sector-intro img { width: 100%; height: 175px; object-fit: contain; mix-blend-mode: multiply; }
.sector-main .eyebrow, .sector-label { color: var(--green); font: 700 .875rem/1.5 var(--ui); letter-spacing: .035em; }
.sector-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 1.8rem; border-top: 1px solid var(--gold); border-left: 1px solid var(--rule); }
.sector-card { display: flex; flex-direction: column; min-width: 0; padding: 1.5rem; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.sector-card img { display: block; width: 180px; max-width: 100%; height: 135px; object-fit: contain; mix-blend-mode: multiply; margin: .8rem 0; }
.sector-card h2 { font: 600 1.65rem/1.2 var(--reading); margin: .5rem 0; }
.sector-card p { margin: .6rem 0; }
.sector-card > a { display: inline-flex; align-items: center; min-height: 44px; font: 700 .95rem/1.4 var(--ui); margin-top: auto; padding-top: 1rem; }
.sector-tag { display: inline-block; width: fit-content; padding: .3rem .6rem; border: 1px solid var(--rule); color: var(--green); font: 700 .875rem/1.4 var(--ui); }
.sector-layout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(240px, .8fr); gap: 3rem; align-items: start; margin-top: 2rem; }
.sector-main h2 { font-family: var(--reading); line-height: 1.2; }
.sector-steps { list-style: none; counter-reset: sector-step; padding: 0; margin: 1.2rem 0; }
.sector-steps > li { counter-increment: sector-step; padding: 1.3rem 0 1.3rem 3rem; border-top: 1px solid var(--rule); position: relative; }
.sector-steps > li::before { content: counter(sector-step, decimal-leading-zero); position: absolute; left: 0; color: var(--green); font: 600 1.5rem/1.2 var(--reading); }
.sector-steps h3 { font: 600 1.5rem/1.25 var(--reading); margin: 0 0 .65rem; }
.sector-steps p { margin: .5rem 0; }
.sector-steps a, .sector-sources a, .sector-back { display: inline-flex; align-items: center; min-height: 44px; }
.sector-aside { padding: 1.4rem; background: var(--surface-sage); border-top: 3px solid var(--green); }
.sector-aside h2 { font-size: 1.5rem; margin-top: 0; }
.sector-aside ul { padding-left: 1.2rem; }
.sector-aside li { margin: .8rem 0; }
.sector-sources { margin-top: 2rem; border-top: 1px solid var(--rule); padding-top: 1rem; }
.sector-sources li { margin-bottom: 1rem; }
.sector-sources small { display: block; font: .875rem/1.5 var(--ui); color: var(--muted); }
.sector-note, .sector-signpost { padding: 1.2rem 1.5rem; border-left: 3px solid var(--gold); background: var(--surface-sage); margin: 1.5rem 0; }
.sector-signpost { display: flex; justify-content: space-between; align-items: center; gap: 1rem 2rem; width: min(1180px, calc(100% - 2.5rem)); margin: 1.3rem auto; }
.sector-signpost p { margin: 0; font: 1rem/1.5 var(--ui); }
.sector-signpost a { display: inline-flex; align-items: center; min-height: 44px; flex-shrink: 0; color: var(--green); font: 700 1rem/1.4 var(--ui); text-underline-offset: .2em; }
.sector-main :focus-visible, .sector-signpost :focus-visible { outline: 3px solid var(--green); outline-offset: 4px; }
@media (max-width: 950px) { .sector-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sector-layout { grid-template-columns: minmax(0, 1fr); gap: 1rem; } }
@media (max-width: 600px) { .sector-main { width: calc(100% - 2rem); } .sector-intro { grid-template-columns: minmax(0, 1fr); gap: .5rem; padding-top: 1rem; } .sector-intro img { width: 150px; height: 110px; } .sector-grid { grid-template-columns: minmax(0, 1fr); } .sector-card { padding: 1.25rem; } .sector-card img { width: 140px; height: 105px; } .sector-signpost { align-items: flex-start; flex-direction: column; padding: 1rem; width: calc(100% - 2rem); gap: .4rem; } .sector-steps > li { padding-left: 2.5rem; } }
@media print { .sector-grid, .sector-layout { display: block; } .sector-card, .sector-steps > li { break-inside: avoid; } }
