/* Student parliament: editorial layout scoped to its own pages. */
main[data-parliament] { --p-ink:#14171d; --p-muted:#515b68; --p-line:#c7cdd5; --p-soft:#f2f4f6; --p-accent:#244bc4; color:var(--p-ink); }
main[data-parliament] .section-directory { display:none!important; }
main[data-parliament] :is(.page-content,.p-section,.p-card,.p-grid,.p-current,.p-overview,.p-org,.p-library) { min-width:0; }
main[data-parliament] :is(h1,h2,h3,h4) { color:var(--p-ink); }
main[data-parliament] :is(p,li) { line-height:1.65; }
main[data-parliament] a { text-underline-offset:.2em; }
main[data-parliament] :is(a,button,summary,input,select,textarea):focus-visible { outline:3px solid #244bc4; outline-offset:3px; }
main[data-parliament] .p-nav { position:sticky; top:82px; z-index:20; max-width:100%; background:#fff; border-block:1px solid var(--p-line); }
main[data-parliament] .p-nav :is(ul,ol) { list-style:none; padding:0; margin:0; }
main[data-parliament] .p-nav :is(.p-nav-links,ul,ol,details>div) { display:flex; align-items:center; gap:0; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:thin; }
main[data-parliament] .p-nav a { display:block; flex:none; padding:15px 16px; color:var(--p-ink); font-size:.82rem; font-weight:700; line-height:1.25; text-decoration:none; white-space:nowrap; border-bottom:3px solid transparent; }
main[data-parliament] .p-nav a:hover,main[data-parliament] .p-nav a[aria-current="page"] { color:var(--p-accent); border-bottom-color:var(--p-accent); }
main[data-parliament] .p-nav summary { cursor:pointer; padding:14px 16px; font-weight:800; }
main[data-parliament] .p-nav details>div { flex-wrap:wrap; overflow:visible; }
main[data-parliament] .p-nav details>div a { white-space:normal; }
main[data-parliament] .p-section { margin-block:clamp(48px,7vw,100px); scroll-margin-top:150px; }
main[data-parliament] .p-section>h2 { max-width:24ch; margin:0 0 24px; font-size:clamp(2rem,4.5vw,4.5rem); line-height:1.05; }
main[data-parliament] .p-section>p { max-width:72ch; }
main[data-parliament] .p-kicker { display:block; margin:0 0 14px; color:var(--p-accent); font-size:.76rem; font-weight:800; letter-spacing:.08em; line-height:1.3; text-transform:uppercase; }
main[data-parliament] .p-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; margin-block:28px; background:var(--p-line); border:1px solid var(--p-line); }
main[data-parliament] .p-card { display:flex; flex-direction:column; align-items:flex-start; gap:12px; padding:clamp(22px,3vw,38px); background:#fff; color:var(--p-ink); text-decoration:none; overflow-wrap:anywhere; }
main[data-parliament] .p-card :is(h2,h3,h4,p) { margin:0; }
main[data-parliament] .p-card :is(h2,h3) { font-size:clamp(1.25rem,2vw,1.8rem); }
main[data-parliament] a.p-card:hover { background:var(--p-soft); color:var(--p-accent); }
main[data-parliament] .p-hero-strip { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:clamp(24px,5vw,70px); align-items:center; padding:clamp(28px,5vw,64px); margin:30px 0 0; background:#171b23; color:#fff; }
main[data-parliament] .p-hero-strip :is(h2,h3,p) { color:#fff; margin-top:0; }
main[data-parliament] .p-hero-strip .p-kicker { color:#c1cfff; }
main[data-parliament] .p-actions { display:flex; flex-wrap:wrap; gap:10px; margin-block:22px; }
main[data-parliament] .p-actions a { display:inline-flex; align-items:center; min-height:48px; padding:12px 18px; border:1px solid currentColor; color:var(--p-accent); font-weight:750; text-decoration:none; }
main[data-parliament] .p-actions a:hover { background:var(--p-accent); color:#fff; }
main[data-parliament] .p-hero-strip .p-actions { display:grid; margin:0; }
main[data-parliament] .p-hero-strip .p-actions a { color:#fff; justify-content:space-between; }
main[data-parliament] .p-hero-strip .p-actions a:hover { background:#fff; color:#171b23; }
main[data-parliament] .p-index { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; margin:30px 0; padding:0; list-style:none; counter-reset:p-index; }
main[data-parliament] .p-index>li { border-top:1px solid var(--p-line); counter-increment:p-index; }
main[data-parliament] .p-index a { display:flex; align-items:baseline; gap:18px; padding:20px 0; color:var(--p-ink); font-size:clamp(1.15rem,2vw,1.8rem); font-weight:800; line-height:1.2; text-decoration:none; }
main[data-parliament] .p-index a::before { content:counter(p-index,decimal-leading-zero); color:var(--p-accent); font-size:.7rem; letter-spacing:.05em; }
main[data-parliament] .p-index a:hover { color:var(--p-accent); }
main[data-parliament] :is(.p-current,.p-overview) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(24px,5vw,64px); margin-block:30px; }
main[data-parliament] :is(.p-current,.p-overview)>* { min-width:0; border-top:2px solid var(--p-ink); padding-top:20px; }
main[data-parliament] .p-table-wrap { max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; margin:26px 0; }
main[data-parliament] .p-table-wrap table { width:100%; min-width:620px; border-collapse:collapse; text-align:left; }
main[data-parliament] .p-table-wrap :is(th,td) { padding:15px; border-bottom:1px solid var(--p-line); vertical-align:top; line-height:1.5; }
main[data-parliament] .p-table-wrap th { background:var(--p-soft); font-size:.85rem; }
main[data-parliament] .p-note,main[data-parliament] .p-empty { padding:clamp(20px,3vw,32px); margin:24px 0; background:var(--p-soft); border-left:4px solid var(--p-accent); }
main[data-parliament] .p-note>:last-child,main[data-parliament] .p-empty>:last-child { margin-bottom:0; }
main[data-parliament] .p-steps { list-style:none; padding:0; margin:28px 0; counter-reset:p-step; }
main[data-parliament] .p-steps>li { counter-increment:p-step; display:grid; grid-template-columns:3rem minmax(0,1fr); column-gap:20px; border-top:1px solid var(--p-line); padding:22px 0; }
main[data-parliament] .p-steps>li::before { content:counter(p-step,decimal-leading-zero); color:var(--p-accent); font-size:1.1rem; font-weight:800; }
main[data-parliament] .p-steps>li>* { grid-column:2; }
main[data-parliament] .p-steps>li>*:first-child { grid-row:1; }
main[data-parliament] .p-status { display:inline-block; padding:5px 9px; background:#eaf0ff; color:#173b98; font-size:.75rem; font-weight:800; line-height:1.3; }
main[data-parliament] :is(.p-org,.p-timeline,.p-library) { margin:28px 0; }
main[data-parliament] :is(.p-org,.p-timeline,.p-library) details { border-top:1px solid var(--p-line); }
main[data-parliament] :is(.p-org,.p-timeline,.p-library) details:last-child { border-bottom:1px solid var(--p-line); }
main[data-parliament] :is(.p-org,.p-timeline,.p-library) summary { cursor:pointer; padding:22px 40px 22px 0; font-size:clamp(1.15rem,2vw,1.55rem); font-weight:800; line-height:1.25; }
main[data-parliament] :is(.p-org,.p-timeline,.p-library) details>div { padding:0 0 24px; max-width:75ch; }
main[data-parliament] .p-filter { display:flex; flex-wrap:wrap; align-items:end; gap:12px; margin:24px 0; }
main[data-parliament] .p-filter label { display:grid; gap:6px; font-size:.85rem; font-weight:700; }
main[data-parliament] .p-filter :is(input,select,button) { min-height:44px; max-width:100%; padding:10px 12px; border:1px solid #8e98a5; border-radius:0; background:#fff; color:var(--p-ink); font:inherit; }
main[data-parliament] .p-person,main[data-parliament] .p-archive-item { padding:22px 0; border-top:1px solid var(--p-line); }
main[data-parliament] .p-person :is(h3,p),main[data-parliament] .p-archive-item :is(h3,p) { margin:0 0 8px; }
main[data-parliament] .p-meta { color:var(--p-muted); font-size:.85rem; line-height:1.5; }
@media(max-width:760px) {
 main[data-parliament] .p-nav { top:72px; }
 main[data-parliament] .p-nav :is(.p-nav-links,ul,ol) { gap:0; }
 main[data-parliament] .p-nav details>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-height:min(60vh,450px); overflow-y:auto; }
 main[data-parliament] .p-nav details>div a { padding:12px 14px; }
 main[data-parliament] .p-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 main[data-parliament] :is(.p-hero-strip,.p-current,.p-overview) { grid-template-columns:1fr; }
 main[data-parliament] .p-index { grid-template-columns:1fr; }
}
@media(max-width:480px) {
 main[data-parliament] .p-grid { grid-template-columns:1fr; }
 main[data-parliament] .p-nav details>div { grid-template-columns:1fr; }
 main[data-parliament] .p-section>h2 { font-size:clamp(1.75rem,8vw,2.35rem); overflow-wrap:anywhere!important; }
 main[data-parliament] .p-steps>li { grid-template-columns:2rem minmax(0,1fr); gap:12px; }
}
@media(prefers-reduced-motion:reduce) { main[data-parliament] *,main[data-parliament] *::before,main[data-parliament] *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
main[data-parliament] [hidden] { display:none!important; }
main[data-parliament] .p-index>a { border-top:1px solid var(--p-line); }
main[data-parliament] .p-index>a::before { content:none; }
main[data-parliament] .p-index>a>span { color:var(--p-accent);font-size:.75rem; }
main[data-parliament] .p-index>a>b { margin-left:auto; }
.p-home-link { margin:clamp(40px,6vw,100px) auto;padding:40px clamp(20px,5vw,80px);max-width:1440px;border-top:2px solid #171b23; }
.p-home-link h2 { font-size:clamp(2rem,5vw,4rem); }
.p-statute-context { padding:20px;border-left:3px solid #244bc4;background:#f2f4f6;margin-bottom:30px; }
main[data-parliament] .l38-reading-toc { display:none!important; }
main[data-parliament] .page-hero { background:#fff!important; padding-block:32px!important; }
main[data-parliament] .page-hero::before,main[data-parliament] .page-hero::after,main[data-parliament] .page-hero :is(canvas,.ds-section-art) { display:none!important; }
@media(min-width:701px){ main[data-parliament] .p-nav details>div { flex-wrap:nowrap;overflow-x:auto; } main[data-parliament] .p-nav details>div a { white-space:nowrap; } main[data-parliament] .p-nav summary { font-size:.8rem;padding-block:8px; } }
main[data-parliament] .p-hero-strip .p-actions a { color:#fff!important;border-color:#c1cfff!important;background:transparent!important; }
main[data-parliament] .p-hero-strip .p-actions a:hover { color:#171b23!important;background:#fff!important; }
main[data-parliament] .p-hero-strip { padding:28px!important;gap:24px; }
main[data-parliament] .p-nav { background:#fff!important; }
main[data-parliament] .p-filter label { display:flex;flex-direction:column;gap:8px; }
#main[data-parliament] .p-hero-strip .p-actions a { color:#fff!important;background:transparent!important;border-color:#c1cfff!important; }
#main[data-parliament] .p-hero-strip .p-actions a:hover { color:#171b23!important;background:#fff!important; }
#main[data-parliament] .p-hero-strip :is(p,h2,h3) { color:#fff!important; }
#main[data-parliament] .p-nav { background:#fff!important;background-image:none!important; }
@layer ds-unified {
 #main[data-parliament] .p-hero-strip .p-actions a { color:#fff!important;background:transparent!important;border-color:#c1cfff!important; }
 #main[data-parliament] .p-hero-strip .p-actions a:hover { color:#171b23!important;background:#fff!important; }
 #main[data-parliament] .p-hero-strip :is(p,h2,h3) { color:#fff!important; }
}
/* Comfortable insets must survive the site's unified surface rules. */
@layer ds-unified {
 #main[data-parliament] .p-card,
 #main[data-parliament] .p-person,
 #main[data-parliament] .p-archive-item {
   box-sizing:border-box!important;
   padding:clamp(24px,3vw,36px)!important;
 }
 #main[data-parliament] .p-card>details {
   box-sizing:border-box!important;
   width:100%;
   padding:18px 20px!important;
   margin-top:12px!important;
 }
 #main[data-parliament] .p-card>details>summary { padding:4px 0!important; }
 #main[data-parliament] .p-card>details>p { margin-top:14px!important; }
 #main[data-parliament] [data-p-results] {
   width:100%;flex-basis:100%;
   grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))!important;
   background:transparent!important;
 }
 @media(max-width:480px) {
   #main[data-parliament] :is(.p-card,.p-person,.p-archive-item) { padding:24px!important; }
   #main[data-parliament] .p-card>details { padding:16px!important; }
 }
}
/* Open infographic and the school palette, without dark surface blocks. */
@layer ds-unified {
 #main[data-parliament] .p-hero-strip { background:#e7f1fc!important;border:1px solid #b8cdeb!important; }
 #main[data-parliament] .p-hero-strip :is(p,h2,h3) { color:#173b86!important; }
 #main[data-parliament] .p-hero-strip .p-actions a { color:#173b86!important;background:#fff!important;border-color:#244bc4!important; }
 #main[data-parliament] .p-hero-strip .p-actions a:hover { color:#fff!important;background:#244bc4!important; }
 #main[data-parliament] [data-ds-action][aria-current="page"],
 #main[data-parliament] [data-ds-action][aria-selected="true"] { color:#173b86!important;background:#dceafa!important;border-color:#9cb9df!important;box-shadow:inset 0 -3px #22bfd0!important; }
 #main[data-parliament] [data-ds-surface="ink"] { background:#e7f1fc!important;color:#173b86!important; }
 #main[data-parliament] [data-ds-surface="ink"] :is(h2,h3,p,a,strong,span) { color:#173b86!important; }
 #main[data-parliament] button.button,
 #main[data-parliament] button[type="submit"] { background:#244bc4!important;color:#fff!important;border-color:#244bc4!important; }
 #main[data-parliament] .p-flow { display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px!important;list-style:none!important;padding:0!important;margin:36px 0!important; }
 #main[data-parliament] .p-flow-step { position:relative;display:block!important;min-width:0;padding:28px!important;border:1px solid #b1c8e4!important;background:#eaf3fc!important; }
 #main[data-parliament] .p-flow-step:nth-child(3n+2) { background:#e7f5f3!important;border-color:#abd4cc!important; }
 #main[data-parliament] .p-flow-step:nth-child(3n) { background:#fcf0e8!important;border-color:#e2c6ae!important; }
 #main[data-parliament] .p-flow-number { display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:24px;background:#fff;color:#173b86;font-size:1.1rem;font-weight:800;border:1px solid #afc4df; }
 #main[data-parliament] .p-flow-step h3 { margin:0 0 16px!important;font-size:clamp(1.3rem,2vw,1.85rem)!important;line-height:1.15!important; }
 #main[data-parliament] .p-flow-step p { margin:0!important;font-size:1rem;line-height:1.6!important; }
 #main[data-parliament] .p-flow-step:not(:last-child)::after { content:'→';position:absolute;z-index:2;right:-27px;top:40px;color:#244bc4;font-size:24px;font-weight:800; }
 #main[data-parliament] .p-flow-step:nth-child(3n)::after { content:'↓';right:20px;top:auto;bottom:-31px; }
 #main[data-parliament] .p-flow-step:last-child { grid-column:1/-1;max-width:100%; }
 @media(max-width:800px) {
  #main[data-parliament] .p-flow { grid-template-columns:1fr;gap:28px!important; }
  #main[data-parliament] .p-flow-step { padding:24px!important; }
  #main[data-parliament] .p-flow-step:not(:last-child)::after { content:'↓';right:auto;left:34px;top:auto;bottom:-30px; }
 }
}
@layer ds-unified {
 #main[data-parliament] .p-org { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px; }
 @media(max-width:700px) { #main[data-parliament] .p-org { grid-template-columns:1fr; } }
}
