.roles-hero{background:linear-gradient(135deg,#edf1e9,#f4f0e8 68%)}.roles-intro{padding:100px max(7vw,36px);display:grid;grid-template-columns:1fr 3fr;gap:5vw}.roles-intro h2,.role-map-section h2,.responsibility-section h2,.boundary-panel h2,.responsibility-matrix-section h2{font:600 clamp(38px,5vw,68px)/1.05 Manrope;letter-spacing:-3px;margin:0}
.role-map-section{margin:0 max(3vw,18px);padding:86px max(4vw,30px);background:var(--green);color:white}.role-map-section .section-intro p{color:#d4e0da;max-width:760px}.role-map{max-width:1050px;margin:55px auto 25px}.role-node{background:white;color:var(--ink);padding:25px 28px;text-align:center}.role-node small{display:block;color:var(--green);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:9px}.role-node strong{font:600 18px Manrope}.role-node p{font-size:13px;line-height:1.5;color:var(--muted);margin:9px auto 0;max-width:310px}.role-node.client,.role-node.statutory{max-width:480px;margin:auto}.role-node.statutory{border:2px solid var(--accent)}.role-row{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.map-flow{text-align:center;padding:11px}.map-flow span{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#cfddd6}.map-flow b{display:block;color:var(--accent);font-size:21px}.control-band{display:grid;grid-template-columns:120px 1fr 1fr;margin-top:15px;border:1px solid rgba(255,255,255,.35)}.control-band>span{display:grid;place-items:center;color:var(--accent);font-size:10px;font-weight:700;text-transform:uppercase}.control-band>div{padding:18px;border-left:1px solid rgba(255,255,255,.35)}.control-band b{font:600 14px Manrope}.control-band p{font-size:12px;color:#d4e0da;margin:5px 0 0}.map-disclaimer{font-size:12px;color:#c8d6cf;max-width:850px;margin:30px auto 0;text-align:center}
.responsibility-section,.responsibility-matrix-section{padding:100px max(7vw,36px)}.phase-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin-top:50px}.phase-grid article{padding:30px;border-right:1px solid var(--line)}.phase-grid article:last-child{border:0}.phase-grid span{color:var(--green);font-size:10px;font-weight:700;text-transform:uppercase}.phase-grid h3{font:600 21px/1.35 Manrope;margin:25px 0 18px}.phase-grid ul{padding-left:18px;color:var(--muted);font-size:14px;line-height:1.8}
.boundary-panel{display:grid;grid-template-columns:1fr 1.2fr;gap:7vw;background:#182d26;color:white;padding:90px max(7vw,36px)}.boundary-panel>div:first-child p{color:#cdd8d3;font-size:17px}.boundary-list{border-top:1px solid rgba(255,255,255,.3)}.boundary-list>div{display:grid;grid-template-columns:45px 1fr;gap:15px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.2)}.boundary-list span{color:var(--accent);font-size:11px;font-weight:700}.boundary-list p{margin:0;color:#d7e0dc;font-size:14px}.boundary-list b{display:block;color:white;font:600 16px Manrope;margin-bottom:6px}
.responsibility-matrix-section .section-intro p{max-width:760px;color:var(--muted);font-size:17px}.five-questions{display:grid;grid-template-columns:repeat(5,1fr);margin-top:50px;border-top:2px solid var(--ink);border-left:1px solid var(--line)}.five-questions>div{padding:24px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.five-questions span{color:var(--green);font-size:10px;font-weight:700}.five-questions h3{font:600 17px/1.35 Manrope;margin:22px 0 12px}.five-questions p{font-size:13px;color:var(--muted);line-height:1.5}.role-guides{background:#edf1ec}.source-strip p{color:var(--muted);font-size:15px;line-height:1.65}
@media(max-width:900px){.roles-intro,.boundary-panel{grid-template-columns:1fr}.role-row,.phase-grid{grid-template-columns:1fr}.role-row{gap:1px}.phase-grid article{border-right:0;border-bottom:1px solid var(--line)}.five-questions{grid-template-columns:1fr 1fr}.roles-intro{gap:30px}}@media(max-width:600px){.roles-intro,.responsibility-section,.responsibility-matrix-section,.boundary-panel{padding-left:22px;padding-right:22px}.role-map-section{padding:58px 20px}.control-band{grid-template-columns:1fr}.control-band>span{padding:13px}.control-band>div{border-left:0;border-top:1px solid rgba(255,255,255,.35)}.five-questions{grid-template-columns:1fr}}
