*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0}
img,picture,svg,video{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit}
h1,h2,h3,h4,h5,p,figure,blockquote,dl,dd{margin:0}
ul,ol{margin:0;padding:0}
table{border-collapse:collapse;width:100%}
summary{cursor:pointer}
summary::-webkit-details-marker{display:none}

/* keyboard focus must always be visible (WCAG 2.2 AA) */
:where(a,button,summary,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid currentColor;outline-offset:3px;border-radius:2px}

.skip{position:absolute;left:-9999px;top:0;z-index:999;padding:.75rem 1.25rem;
  background:#000;color:#fff;text-decoration:none}
.skip:focus{left:0}

.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
}

@media print{
  .skip,nav,.no-print{display:none!important}
  body{background:#fff;color:#000}
}/* ===================================================================
   29 forumss.com — DEBATE FLOOR
   Signature: an order paper. Motion I stated in Spectral serif over a
   bordered three-column division block, two inline text CTAs on one
   baseline rule, then eleven bordered motion blocks opened by Spectral
   ITALIC roman numerals. No image and no centred title in the opening,
   and no portraits anywhere on the page.
   =================================================================== */
:root{
  --chamber:#F4F2EE; --ink:#14181B; --green:#175E3C; --bench:#DDE3DE; --muted:#5F6A64;
  --serif:'Spectral',Georgia,'Times New Roman',serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --gut:clamp(18px,3.2vw,48px);
  --maxw:1280px;
  --rail:252px;
}
body{background:var(--chamber);color:var(--ink);font-family:var(--sans);
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}

/* ---------- masthead ---------- */
.mast{border-bottom:1px solid var(--ink)}
.mast__in{max-width:var(--maxw);margin:0 auto;padding:12px var(--gut);
  display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.mast__logo{width:118px;height:auto}
.mast__k{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--muted)}
.mast__go{margin-left:auto}
.mast__go a{font-weight:600;font-size:15px;color:var(--green);text-decoration:none;
  border-bottom:2px solid var(--green);padding-bottom:2px}
.mast__go a:hover{color:var(--ink);border-bottom-color:var(--ink)}

/* ---------- floor: bench rail + chamber ---------- */
.floor{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut);
  display:grid;grid-template-columns:var(--rail) 1fr;gap:0 clamp(26px,3.2vw,60px);
  align-items:start}
.bench{position:sticky;top:0;align-self:start;max-height:100vh;overflow-y:auto;
  padding:26px 0 26px;border-right:1px solid var(--bench)}
.bench__k{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);padding-bottom:9px;border-bottom:1px solid var(--ink)}
.bench__k--2{margin-top:22px}
.bench__list{list-style:none}
.bench__list a{display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:start;
  text-decoration:none;padding:9px 12px 9px 8px;border-bottom:1px solid var(--bench);
  border-left:3px solid transparent}
.bench__r{font-family:var(--serif);font-style:italic;font-size:16px;font-weight:600;
  color:var(--green);line-height:1.35}
.bench__t{font-size:13.5px;line-height:1.35;color:var(--ink);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bench__list a:hover{background:var(--bench)}
.bench__list a[aria-current]{border-left-color:var(--green);background:var(--bench)}
.bench__list a[aria-current] .bench__t{font-weight:600}
.bench__more{list-style:none;padding-top:4px}
.bench__more a{display:block;padding:8px 8px;font-size:14px;text-decoration:none;
  border-bottom:1px solid var(--bench)}
.bench__more a:hover{color:var(--green)}

main{min-width:0;padding-bottom:20px}
section{padding:clamp(30px,3.8vw,58px) 0}

/* ---------- shared ---------- */
.sec-h{font-family:var(--serif);font-weight:600;font-size:clamp(24px,2.7vw,34px);
  line-height:1.15;padding-bottom:10px;border-bottom:2px solid var(--ink)}
.sub-h{font-family:var(--serif);font-weight:600;font-size:22px;margin-top:34px;
  padding-bottom:8px;border-bottom:1px solid var(--bench)}
.p{margin-top:18px;max-width:74ch;color:#2A3134}
.p--lead{font-size:17px}
.p a{color:var(--green)}
.txtcta{font-weight:600;font-size:16px;color:var(--green);text-decoration:none;
  border-bottom:2px solid var(--green);padding-bottom:2px}
.txtcta:hover{color:var(--ink);border-bottom-color:var(--ink)}
.txtcta--sm{font-size:14.5px;border-bottom-width:1px}
.baseline{margin-top:26px;padding-bottom:12px;border-bottom:2px solid var(--ink);
  display:flex;flex-wrap:wrap;gap:14px clamp(24px,3vw,52px);align-items:baseline}
.baseline--single{margin-top:30px}

/* ---------- order paper ---------- */
.order{padding-top:clamp(26px,3.4vw,46px)}
.order__k{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;
  padding-bottom:14px;border-bottom:1px solid var(--ink)}
.order__r{font-family:var(--serif);font-style:italic;font-weight:600;font-size:20px;
  color:var(--green)}
.order__d{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted)}
.order h1{font-family:var(--serif);font-weight:400;
  font-size:clamp(28px,3.9vw,54px);line-height:1.16;letter-spacing:-.012em;
  margin-top:22px;max-width:27ch;text-wrap:balance}

.div3{margin-top:clamp(26px,3vw,40px);border:1px solid var(--ink);
  display:grid;grid-template-columns:repeat(3,1fr)}
.div3__c{padding:clamp(16px,1.8vw,22px);border-left:1px solid var(--bench)}
.div3__c:first-child{border-left:0}
.div3__k{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--green);padding-bottom:10px;border-bottom:1px solid var(--bench)}
.div3__v{font-family:var(--serif);font-size:clamp(17px,1.5vw,20px);font-weight:600;
  line-height:1.3;margin-top:12px}
.div3__n{font-size:13.5px;color:var(--muted);margin-top:7px;line-height:1.45}

.order__p{margin-top:26px;max-width:74ch;color:#2A3134}
.order__note{margin-top:16px;max-width:74ch;font-size:14.5px;color:var(--muted);
  border-left:3px solid var(--bench);padding-left:16px}
.order__note a{color:var(--green)}

/* ---------- motion blocks ---------- */
.motions{border-top:1px solid var(--bench)}
.motion{border:1px solid var(--ink);background:#FAF9F6;
  padding:clamp(18px,2.2vw,30px);margin-top:26px}
.motion__r{font-family:var(--serif);font-style:italic;font-weight:600;
  font-size:clamp(20px,2vw,26px);color:var(--green);line-height:1}
.motion__t{font-family:var(--serif);font-weight:600;
  font-size:clamp(21px,2.3vw,29px);line-height:1.2;margin-top:10px;max-width:34ch}
.motion__k{margin-top:16px;padding-bottom:8px;border-bottom:1px solid var(--ink);
  font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:var(--muted)}
.speeches{list-style:none}
.speech{padding:16px 0 16px 18px;border-bottom:1px solid var(--bench);
  border-left:3px solid var(--bench)}
.speech:last-child{border-bottom:0}
.speech__h{font-size:17px;font-weight:600;line-height:1.35}
.speech__m{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px 18px;align-items:baseline;
  font-size:13.5px;color:var(--muted)}
.speech__who{font-weight:600;color:var(--ink);font-size:14.5px}
.speech__sit{font-family:var(--serif);font-style:italic;color:var(--green);font-size:15px}
.speech__t{font-variant-numeric:tabular-nums}
.speech__pts{list-style:none;margin-top:10px}
.speech__pts li{position:relative;padding-left:16px;font-size:14.5px;line-height:1.45;
  color:#3A4245;margin-bottom:3px}
.speech__pts li::before{content:"";position:absolute;left:0;top:10px;width:8px;height:1px;
  background:var(--green)}

.floorfig{margin-top:22px;border-top:2px solid var(--ink);padding-top:12px}
.floorfig img{width:100%;height:auto}
.floorfig figcaption{margin-top:8px;font-size:13px;color:var(--muted);
  font-family:var(--serif);font-style:italic}

/* ---------- speakers called ---------- */
.called{border-top:1px solid var(--bench)}
.sit-h{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;margin-top:32px;
  padding-bottom:8px;border-bottom:2px solid var(--ink)}
.sit-h__r{font-family:var(--serif);font-style:italic;font-weight:600;font-size:21px;
  color:var(--green)}
.sit-h__d{font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.sit-h__c{margin-left:auto;font-size:12.5px;color:var(--muted);letter-spacing:.1em;
  text-transform:uppercase}
.calls{list-style:none}
.call{display:grid;grid-template-columns:1fr 1.05fr;gap:2px 24px;
  padding:13px 0;border-bottom:1px solid var(--bench)}
.call__n{font-size:17px;font-weight:600}
.call__c{font-family:var(--serif);font-size:17px;font-weight:600;color:var(--green);
  grid-row:1;grid-column:2}
.call__r{grid-column:1/3;font-size:14px;color:var(--muted);line-height:1.4}

/* ---------- the three sittings ---------- */
.sittings{border-top:1px solid var(--bench)}
.sitting{margin-bottom:6px}
.biz{list-style:none}
.biz__row{display:grid;grid-template-columns:76px 1fr;gap:16px;
  padding:11px 0;border-bottom:1px solid var(--bench)}
.biz__t{font-family:var(--serif);font-weight:600;font-size:17px;color:var(--green);
  font-variant-numeric:tabular-nums}
.biz__h{font-size:16.5px;line-height:1.38;font-weight:500}
.biz__s{font-size:14px;color:var(--muted);margin-top:3px}

/* ---------- admission: division table with green rules ---------- */
.admission{border-top:1px solid var(--bench)}
.division{margin-top:26px;table-layout:fixed;border-top:3px solid var(--green);
  border-bottom:3px solid var(--green)}
.division thead th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;color:var(--muted);padding:11px 16px 11px 0;
  border-bottom:2px solid var(--green)}
.division tbody th,.division tbody td{padding:16px 16px 16px 0;vertical-align:top;
  border-bottom:2px solid var(--green);overflow-wrap:anywhere}
.division tbody tr:last-child th,.division tbody tr:last-child td{border-bottom:0}
.division__p{width:22%;text-align:left;font-family:var(--serif);font-size:19px;
  font-weight:600;line-height:1.25}
.division__c{width:13%;font-family:var(--serif);font-size:24px;font-weight:600;
  color:var(--green);font-variant-numeric:tabular-nums}
.division__a{width:15%;padding-right:0!important}
.confers{list-style:none;font-size:15px;color:#2A3134}
.confers li{position:relative;padding-left:16px;line-height:1.45;margin-bottom:4px}
.confers li::before{content:"";position:absolute;left:0;top:10px;width:8px;height:1px;
  background:var(--green)}

/* ---------- the house ---------- */
.house{border-top:1px solid var(--bench)}
.record{list-style:none;margin-top:18px}
.record__i{padding:18px 0 18px 18px;border-left:3px solid var(--green);
  border-bottom:1px solid var(--bench)}
.record__q{font-family:var(--serif);font-size:17.5px;line-height:1.55;color:#22282B;
  max-width:76ch}
.record__f{margin-top:12px;font-size:14px;color:var(--muted)}
.record__f cite{display:block;font-style:normal;font-weight:600;color:var(--ink);
  font-size:16px}
.clerk{margin-top:18px;border-top:1px solid var(--bench);padding-top:16px;max-width:60ch}
.clerk__n{font-family:var(--serif);font-size:21px;font-weight:600}
.clerk__m{margin-top:8px;font-size:18px;font-weight:600}
.clerk__m a{color:var(--green);overflow-wrap:anywhere}
.clerk__a{margin-top:6px;font-size:14.5px;color:var(--muted)}
.clerk__a a{color:var(--green);overflow-wrap:anywhere}
.clerk__p{margin-top:10px;font-size:15px;color:var(--muted)}

/* ---------- footer ---------- */
.foot{border-top:2px solid var(--ink);background:var(--bench)}
.foot__in{max-width:var(--maxw);margin:0 auto;padding:clamp(26px,3vw,44px) var(--gut);
  font-size:14px;color:var(--muted)}
.foot p{margin-bottom:8px}
.f-org{font-family:var(--serif);font-weight:600;color:var(--ink);font-size:16px}
.f-mail a{color:var(--green);overflow-wrap:anywhere}
.f-links a{margin-right:2px}
.f-copy{margin-top:14px;font-size:13px}

/* ===================== responsive ===================== */
@media (max-width:1120px){
  :root{--rail:212px}
  .bench__t{font-size:13px}
}
@media (max-width:980px){
  /* the bench rail becomes a horizontal motion strip above the order paper */
  .floor{display:block}
  .bench{position:static;max-height:none;overflow:visible;border-right:0;
    border-bottom:1px solid var(--ink);padding:18px 0 16px}
  .bench__list{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
  .bench__list a{display:block;padding:7px 12px;border:1px solid var(--bench);
    border-left:1px solid var(--bench);background:#FAF9F6}
  .bench__list a[aria-current]{border-color:var(--green);background:var(--bench)}
  .bench__t{display:none}
  .bench__r{font-size:15px}
  .bench__k--2{margin-top:18px}
  .bench__more{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:8px}
  .bench__more a{border-bottom:0;padding:4px 0;color:var(--green);font-weight:600}
  .div3{grid-template-columns:1fr}
  .div3__c{border-left:0;border-top:1px solid var(--bench)}
  .div3__c:first-child{border-top:0}
}
@media (max-width:760px){
  body{font-size:16.5px}
  .order h1{max-width:none}
  .motion__t{max-width:none}
  .call{grid-template-columns:1fr;gap:2px}
  .call__c{grid-column:1;grid-row:auto}
  .call__r{grid-column:1}
  /* division table becomes stacked rows, keeping its green rules */
  .division,.division tbody,.division tr,.division th,.division td{
    display:block;width:auto!important}
  .division thead{position:absolute!important;width:1px;height:1px;overflow:hidden;
    clip:rect(0 0 0 0);white-space:nowrap}
  .division tr{padding:16px 0;border-bottom:2px solid var(--green)}
  .division tr:last-child{border-bottom:0}
  .division th,.division td{border-bottom:0!important;padding:3px 0!important}
  .division__c{font-size:26px}
  .confers{margin-top:8px}
  .division__a{margin-top:10px!important}
}
@media (max-width:430px){
  :root{--gut:16px}
  .biz__row{grid-template-columns:62px 1fr;gap:12px}
  .speech{padding-left:14px}
  .motion{padding:16px}
}