/* guide-pages-11.css: the guide's own pages (front matter, section openings, closing, back cover), ported by the design lane
   2026-10-03 from Claude Design round 11 (design/imports/claude-design-kit-2026-10-03-11/round-11/css/guide-sections-11.css; the
   designer's file follows unchanged, then the port's fixes at the end). Loads after guide-sections.css. */
@font-face{font-family:'Pinyon Script';src:url("/colorado-voter-guide/2026/assets/fa6f283a975688f4dc49d3ec3b619a741f9271c089a5ce3fdf1e34ef397b04c3.woff2") format('woff2');font-weight:400;font-style:normal}   /* SIL OFL, fonts/OFL-PinyonScript.txt */
/* Round 11 (design lane, 2026-10-03): the guide's own pages, 3 to 10. Loads after guide-sections.css; web classes gp-*, Letter classes lp-*.
   Kim's pages sit on the #E8E8E8 gray with her photo; section openings on black; the back cover on DC-209's inset black panel.
   No radius, no shadow, no gradient. Red (--red) only on the two asks (pages 5 and 9). Letter labels never above .06em. */
:root{--gp-gray:#E8E8E8;--gp-tint:#F3F4F5;--gp-hair:#D0D0D0;--gp-bar:#D0D0D0;--teal:#0E7C86;--teal-dk:#3FA7B4;--red-hover:#B1382B;--hair:#D0D0D0;--rule:#424242}
.gp-sign-name.script,.lp-sign-name.script{font-family:'Pinyon Script',var(--serif);font-style:normal;font-weight:400}

/* ---------- placeholders: a labelled gray bar per line of text, at the slot's length; never words ---------- */
.ph{display:block;--lh:1.75em}
.ph-l{display:flex;gap:.5em;align-items:baseline;font:700 .75rem/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#000;margin:0 0 .6em}
.ph-l b{font-weight:700;background:#000;color:#fff;padding:.15em .4em}
.ph i{display:block;height:.62em;background:var(--gp-bar);margin:calc((var(--lh) - .62em)/2) 0 calc((var(--lh) - .62em)/2);break-inside:avoid}
.ph i.pe{margin-bottom:calc(var(--lh)*.5 + (var(--lh) - .62em)/2)}
.on-dark .ph-l{color:#fff}.on-dark .ph-l b{background:#fff;color:#000}.on-dark .ph i{background:#525252}

/* ---------- web: the reader's header (context; reader-guide.css owns it) and the page frame ---------- */
.gp-in{max-width:76rem;margin:0 auto;padding-left:4rem;padding-right:4rem}
.gp .rd-ghead-in{max-width:76rem;margin:0 auto;padding:0 4rem}
.gp .rd-gbtn{display:inline-flex;align-items:center;gap:.5rem}
.gp .rd-gbtn svg{width:1rem;height:1rem;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gp-brand{font:700 .8125rem/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;margin:0}
.gp h1{font:900 clamp(2.25rem,4.4vw,3.75rem)/1.06 var(--serif);letter-spacing:-.015em;margin:0;text-wrap:balance}
.gp-body{font:400 1.1875rem/1.75 var(--serif);max-width:36rem}
.gp-body p{margin:0 0 1.1rem}
.gp a.tl,.gp-body a{color:var(--teal);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.gp a.tl:hover,.gp-body a:hover{color:#000}

/* Kim's signed pages (kim-message, close): gray band, her photo bottom-aligned, the letter in one quiet column */
.gp-kband{background:var(--gp-gray)}
.gp-kband .gp-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,27rem);gap:2rem 3rem;min-height:36rem}
.gp-khead{display:flex;flex-direction:column;justify-content:space-between;gap:3rem;padding:3rem 0 3.5rem}
.gp-khead h1{max-width:11ch}
.gp-kphoto{align-self:end;display:block;width:100%;height:auto}
.gp-kletter{padding-top:4rem;padding-bottom:5rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,27rem);gap:3rem}
.gp-kletter .gp-body{max-width:36rem}

/* the sign-off: her name as the page's typographic signature, the role line beneath */
.gp-sign{margin-top:3rem;break-inside:avoid}
.gp-sign-name{display:block;font:italic 300 4rem/1 var(--serif);letter-spacing:-.02em;color:#000}
.gp-sign-name.script{font-size:5rem;line-height:1.05;letter-spacing:0}
.gp-sign-rule{display:block;width:4rem;border-top:2px solid #000;margin:1.25rem 0 .875rem}
.gp-sign-role{display:block;font:600 .8125rem/1.55 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#000;max-width:30rem}
.on-dark .gp-sign-name{color:#fff}.on-dark .gp-sign-rule{border-color:#fff}.on-dark .gp-sign-role{color:#fff}
.gp-sign.sm .gp-sign-name{font-size:2.75rem}.gp-sign.sm .gp-sign-name.script{font-size:3.5rem}

/* sponsor-thanks */
.gp-top{padding-top:3rem;padding-bottom:2rem;border-bottom:1px solid #000}
.gp-top .gp-brand{margin-bottom:2rem}
.gp-top .ph{max-width:44rem;margin-top:1.75rem}
.gp-tier{margin-top:2.75rem}
.gp-tier h2{display:flex;justify-content:space-between;font:700 .875rem/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;margin:0 0 1.25rem;padding-bottom:.5rem;border-bottom:3px solid #000}
.gp-tier h2 span{font-weight:600;font-variant-numeric:tabular-nums}
.gp-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2.25rem 1.75rem;margin:0;padding:0;list-style:none}
.gp-cards.n-few{grid-template-columns:repeat(3,minmax(0,1fr))}
a.gp-card{display:flex;flex-direction:column;gap:.875rem;color:#000;text-decoration:none;border-top:1px solid #000;padding-top:1rem}
a.gp-card::after{content:none!important}
.gp-logo{height:7.5rem;border:1px solid var(--gp-hair);background:#fff;display:flex;align-items:center;justify-content:center;padding:1.125rem;overflow:hidden}
.gp-logo img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.lg{display:flex;align-items:center;justify-content:center;background:var(--gp-gray);font:700 .6875rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#000;max-width:100%;max-height:100%}
.lg.w{width:100%;aspect-ratio:4/1}.lg.m{width:80%;aspect-ratio:2/1}.lg.s{height:100%;aspect-ratio:1}.lg.t{height:100%;aspect-ratio:1/2}.lg.ad{width:100%;height:100%}
.gp-card-n{font:700 1.125rem/1.3 var(--serif);color:var(--teal);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.gp-card-n::after{content:" \2197";font-family:'KMS Link Arrow';font-size:.75em;vertical-align:super;line-height:0;font-weight:400}
a.gp-card:hover .gp-card-n,a.gp-card:focus-visible .gp-card-n{color:#000}
a.gp-card:focus-visible{outline:3px solid #000;outline-offset:4px}
.gp-card .ph{--lh:1.55em;font-size:.9375rem}
.gp-card .ph-l{font-size:.6875rem}

/* support-ask and the close's asks: two asks side by side, red buttons (red's only use on these pages) */
.gp-asks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 3rem;padding-top:3rem;padding-bottom:5rem}
.gp-ask{border-top:6px solid #000;padding-top:1.5rem;display:flex;flex-direction:column;gap:1.25rem}
.gp-ask h2{font:700 1.75rem/1.2 var(--serif);margin:0}
.gp-ask .ph{max-width:34rem}
.gp-btns{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}
a.gp-btn{display:inline-flex;align-items:center;gap:.625rem;min-height:3rem;padding:.875rem 1.375rem;background:var(--red);color:#fff;font:600 .875rem/1.2 var(--sans);letter-spacing:.05em;text-transform:uppercase;text-decoration:none;border:2px solid var(--red)}
a.gp-btn:hover{background:var(--red-hover);border-color:var(--red-hover)}
a.gp-btn.ol{background:#fff;color:var(--red)}
a.gp-btn.ol:hover{background:var(--red);color:#fff}
a.gp-btn::after{content:none!important}
a.gp-btn:focus-visible{outline:3px solid #000;outline-offset:3px}
.gp-btn svg{width:1rem;height:1rem;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* about-guide: the approved text, bold run-ins, one list */
.gp-about{padding-top:3rem;padding-bottom:5rem}
.gp-about .gp-brand{margin-bottom:2rem}
.gp-about h1{margin-bottom:2.25rem}
.gp-about .gp-body{max-width:40rem}
.gp-about ul{margin:0 0 1.25rem;padding:0 0 0 1.25rem}
.gp-about li{margin:0 0 .75rem;padding-left:.25rem}
.gp-about li::marker{content:"\25A0  ";font-size:.6em}

/* section-intro-statewide / -local: the page carries its section heading, on black */
.gp-sband{background:#000;color:#fff;border-bottom:3px solid #000}
.gp-sband .gp-in{padding-top:3rem;padding-bottom:3.5rem;min-height:26rem;display:flex;flex-direction:column;justify-content:space-between;gap:4rem}
.gp-sband .gp-brand{color:#fff;display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid #525252;padding-bottom:.75rem}
.gp-sband h1{font-size:clamp(3rem,7.5vw,6.5rem);line-height:.98;letter-spacing:-.025em;max-width:9ch}
.gp-sintro{padding-top:3.5rem;padding-bottom:4.5rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,36rem);gap:3rem}
.gp-snum{font:900 1rem/1 var(--sans);font-variant-numeric:tabular-nums}

/* back-cover (web: the guide's last screen) */
.gp-back{background:#000;color:#fff}
.gp-back .gp-in{padding-top:4rem;padding-bottom:4rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3rem;align-items:end}
.gp-back .gp-brand{color:#fff;grid-column:1/-1;border-bottom:1px solid #525252;padding-bottom:.75rem}
.gp-back-t{font:900 clamp(2.5rem,5vw,4.5rem)/1.04 var(--serif);letter-spacing:-.02em;margin:0}
.gp-back a.tl{color:var(--teal-dk)}
.gp-back-links{display:flex;flex-direction:column;gap:1rem;align-items:flex-start;font:400 1.125rem/1.5 var(--serif)}

@media (max-width:40rem){
  .gp-in,.gp .rd-ghead-in{padding-left:1.25rem;padding-right:1.25rem}
  .gp .rd-glabel{display:none}
  .gp-kband .gp-in{grid-template-columns:minmax(0,1fr);min-height:0;gap:0}
  .gp-khead{padding:1.75rem 0 1.5rem;gap:1.5rem}
  .gp-kphoto{width:78%;margin-left:auto}
  .gp-kletter{grid-template-columns:minmax(0,1fr);padding-top:2.25rem;padding-bottom:3rem;gap:0}
  .gp-body{font-size:1.0625rem;line-height:1.7}
  .gp-sign-name{font-size:3.25rem}.gp-sign-name.script{font-size:4rem}
  .gp-cards,.gp-cards.n-few{grid-template-columns:minmax(0,1fr);gap:0}
  a.gp-card{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:.375rem 1rem;padding:1rem 0;min-height:44px}
  a.gp-card .gp-logo{grid-row:1/3;height:4.75rem;padding:.5rem}
  .gp-card .ph{font-size:.875rem}
  .gp-asks{grid-template-columns:minmax(0,1fr);padding-top:2rem}
  a.gp-btn{width:100%;justify-content:center}
  .gp-sband .gp-in{min-height:0;gap:2.5rem;padding-top:1.5rem;padding-bottom:2rem}
  .gp-sintro{grid-template-columns:minmax(0,1fr);padding-top:2rem;gap:1.25rem}
  .gp-back .gp-in{grid-template-columns:minmax(0,1fr)}
}

/* ================= Letter (8.5 x 11 in), one .lp-pg per page; WeasyPrint, no JavaScript ================= */
@page{size:letter;margin:0}
body.lp{margin:0;background:#BDBDBD;font:400 10pt/1.5 var(--serif);color:var(--ink)}
.lp-pg{position:relative;width:612pt;height:792pt;overflow:hidden;background:#fff;margin:0 auto 18pt;page-break-after:always}
.lp-pg:last-child{margin-bottom:0;page-break-after:auto}
@media print{body.lp{background:#fff}.lp-pg{margin:0}}
.lp-pg *{box-sizing:border-box}
.lp a{color:var(--teal);text-decoration:underline;text-underline-offset:1.5pt;text-decoration-thickness:.5pt}
.lp a[href^="http"]:not(.lp-na)::after{content:" \2197";font-family:'KMS Link Arrow';font-size:.75em;vertical-align:super;line-height:0;font-weight:400;font-style:normal}
.lp-brand{font:700 6.5pt/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;margin:0}
.lp-folio{position:absolute;left:43.2pt;right:43.2pt;bottom:24pt;display:flex;justify-content:space-between;align-items:baseline;gap:18pt;
  font:700 6.5pt/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#000;border-top:.75pt solid #000;padding-top:6pt;white-space:nowrap}
.lp-folio a{color:#000}
.lp-folio .pn{min-width:18pt;text-align:right;font-size:7.5pt}
.lp-c{position:absolute;left:43.2pt;right:43.2pt;top:40pt;bottom:62pt}
.lp-cols{columns:2;column-gap:21.6pt;column-fill:auto}
.lp .ph{--lh:15pt}
.lp .ph-l{font-size:6.5pt;margin-bottom:5pt}
.lp .ph i{height:5.6pt;margin:4.7pt 0}
.lp .ph i.pe{margin-bottom:12.2pt}
.lp-run{display:flex;justify-content:space-between;align-items:baseline;gap:12pt;padding-bottom:6pt;border-bottom:.75pt solid #000;margin-bottom:16pt}
.lp-run b{font:700 9pt/1.3 var(--serif)}

/* Kim's signed pages: the gray band bleeds off top and sides; her photo stands on its lower edge */
.lp-kband{position:absolute;left:0;right:0;top:0;height:290pt;background:var(--gp-gray)}
.lp-kphoto{position:absolute;right:34pt;bottom:0;height:280pt;width:auto;display:block}
.lp-khead{position:absolute;left:43.2pt;top:40pt;height:226pt;width:290pt;display:flex;flex-direction:column;justify-content:space-between}
.lp-khead h1{font:900 30pt/1.06 var(--serif);letter-spacing:-.015em;margin:0}
.lp-kbody{position:absolute;left:43.2pt;right:43.2pt;top:314pt;bottom:62pt}
.lp-kbody .ph,.lp-kbody p{font-size:9.75pt}
.lp-sign{break-inside:avoid;padding-top:14pt}
.lp-sign-name{display:block;font:italic 300 30pt/1 var(--serif);letter-spacing:-.02em;color:#000}
.lp-sign-name.script{font-size:38pt;line-height:1.05;letter-spacing:0}
.lp-sign-rule{display:block;width:30pt;border-top:1.25pt solid #000;margin:9pt 0 6pt}
.lp-sign-role{display:block;font:700 6.5pt/1.55 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#000}

/* sponsor-thanks: one page holds every card; five across (four across at eight or fewer); logo box fixed, logo contained */
.lp-sh h1,.lp-h1{font:900 26pt/1.08 var(--serif);letter-spacing:-.015em;margin:14pt 0 0}
.lp-sh .ph{margin-top:10pt}
.lp-tier{margin-top:12pt}
.lp-tier h2{display:flex;justify-content:space-between;font:700 7pt/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;margin:0 0 7pt;padding-bottom:3pt;border-bottom:1.5pt solid #000}
.lp-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10pt 10pt}
.lp-grid.n-few{grid-template-columns:repeat(4,minmax(0,1fr));gap:16pt 14pt}
.lp-card{border-top:.75pt solid #000;padding-top:5pt;display:flex;flex-direction:column;gap:4pt;break-inside:avoid}
a.lp-logo{display:flex;align-items:center;justify-content:center;height:36pt;border:.5pt solid #A0A0A0;padding:5pt;background:#fff;text-decoration:none}
a.lp-logo::after{content:none!important}
.n-few a.lp-logo{height:62pt;padding:9pt}
.lp-logo img{max-width:100%;max-height:100%;object-fit:contain}
.lp .lg{font-size:5pt}
.lp-card-n{font:700 7.75pt/1.25 var(--serif)}
.lp-card .ph{--lh:9pt}.lp-card .ph-l{font-size:5pt;margin-bottom:2pt}.lp-card .ph i{height:3.6pt;margin:2.7pt 0}
.n-few .lp-card-n{font-size:9pt}

/* the asks (support-ask, close) with their codes: each QR 0.9 in, black on white, its quiet zone kept, the short address beneath */
.lp-asks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21.6pt}
.lp-ask{border-top:4pt solid #000;padding-top:10pt;display:flex;flex-direction:column;gap:9pt}
.lp-ask h2{font:700 15pt/1.2 var(--serif);margin:0}
.lp-qrrow{display:flex;gap:12pt;align-items:flex-start}
.lp-qr{flex:none;min-width:64.8pt;display:flex;flex-direction:column;gap:4pt}
.lp-qr img,.lp-qr .qr-ph{display:block;width:64.8pt;height:64.8pt;background:#fff}
.lp-qr .qr-ph{border:.75pt dashed #000;display:flex;align-items:center;justify-content:center;text-align:center;font:700 5pt/1.3 var(--sans);letter-spacing:.04em;text-transform:uppercase;padding:6pt}
.lp-qr span{font:700 6.5pt/1.3 var(--sans);letter-spacing:.02em;white-space:nowrap}
.lp-qrlinks{display:flex;flex-direction:column;gap:6pt;padding-top:2pt}
a.lp-cta{display:inline-block;align-self:flex-start;background:var(--red);color:#fff;font:700 7pt/1 var(--sans);letter-spacing:.05em;text-transform:uppercase;text-decoration:none;padding:6pt 8pt}
a.lp-cta::after{content:none!important}
.lp-url{font:700 7.5pt/1.3 var(--sans)}

/* about-guide: the approved text in the column register, on one page */
.lp-about .lp-cols{margin-top:16pt;font-size:9.75pt;line-height:1.52}
.lp-about p{margin:0 0 7pt;orphans:3;widows:3}
.lp-about ul{margin:0 0 7pt;padding:0 0 0 10pt}
.lp-about li{margin:0 0 4.5pt}
.lp-about li::marker{content:"\25A0  ";font-size:.6em}

/* section-intro: the black panel bleeds off top and sides and carries the section heading */
.lp-sband{position:absolute;left:0;right:0;top:0;height:330pt;background:#000;color:#fff}
.lp-sband .lp-brand{position:absolute;left:43.2pt;right:43.2pt;top:40pt;display:flex;justify-content:space-between;color:#fff;border-bottom:.5pt solid #757575;padding-bottom:6pt}
.lp-sband h1{position:absolute;left:43.2pt;right:43.2pt;bottom:30pt;margin:0;font:900 60pt/.98 var(--serif);letter-spacing:-.025em;color:#fff}
.lp-sbody{position:absolute;left:43.2pt;right:43.2pt;top:362pt;bottom:62pt}
.lp-sbody .ph{font-size:10.5pt;--lh:16.5pt}
.lp-snum{font:900 9pt/1 var(--sans)}

/* back-cover: DC-209's black panel, 0.4 in inside the page edge; no folio, no page number */
.lp-backpanel{position:absolute;inset:28.8pt;background:#000;color:#fff}
.lp-backpanel a{color:#fff}
.lp-bk-top{position:absolute;left:43.2pt;right:43.2pt;top:43.2pt;display:flex;align-items:baseline;gap:12pt;border-bottom:.5pt solid #757575;padding-bottom:9pt}
.lp-bk-wm{font:700 17pt/1 var(--serif)}
.lp-bk-name{position:absolute;left:43.2pt;right:43.2pt;top:250pt}
.lp-bk-foot{position:absolute;left:43.2pt;right:43.2pt;bottom:43.2pt;display:grid;grid-template-columns:auto minmax(0,1fr);gap:18pt;align-items:end;border-top:.5pt solid #757575;padding-top:16pt}
.lp-bk-qr{background:#fff;padding:0;width:79.2pt}
.lp-bk-qr img{display:block;width:79.2pt;height:79.2pt}
.lp-bk-lines{display:flex;flex-direction:column;gap:7pt;font:700 7.5pt/1.4 var(--sans);letter-spacing:.04em;text-transform:uppercase}
.lp-bk-lines .big{font:900 22pt/1.05 var(--serif);letter-spacing:-.01em;text-transform:none}

/* sponsor tiers in the Letter: the tier's name in a left gutter, a 1.5pt rule above each tier */
.lp-tg{display:grid;grid-template-columns:50pt minmax(0,1fr);gap:0 10pt;border-top:1.5pt solid #000;padding-top:6pt;margin-top:9pt}
.lp-tg h2{display:flex;flex-direction:column;justify-content:flex-start;gap:3pt;border:0;margin:0;padding:0}
.lp-tg h2 span{font-weight:600}
.lp-tg .lp-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:9pt 9pt}
.lp-tg .lp-card:nth-child(-n+5){border-top:0;padding-top:0}
/* support-ask in the Letter: the two asks stacked, each with a 1.25 in code */
.lp-asks.stack{grid-template-columns:minmax(0,1fr);gap:28pt;margin-top:24pt}
.stack .lp-ask{display:grid;grid-template-columns:minmax(0,1fr) 196pt;gap:12pt 30pt;padding-top:14pt;align-items:start}
.stack .lp-ask h2{grid-column:1/-1;font-size:22pt}
.stack .lp-ask .ph{font-size:10.5pt;--lh:16.5pt}
.stack .lp-qr,.stack .lp-qr img,.stack .lp-qr .qr-ph{width:90pt}
.stack .lp-qr img,.stack .lp-qr .qr-ph{height:90pt}
.stack .lp-qrrow{flex-direction:column;gap:10pt}
.stack .lp-qrlinks{gap:7pt}
/* close in the Letter: a shorter band, the letter, then the two asks across the foot */
.lp-close .lp-kband{height:250pt}.lp-close .lp-kphoto{height:242pt}
.lp-close .lp-kbody{top:272pt;bottom:214pt}
.lp-closeasks{position:absolute;left:43.2pt;right:43.2pt;bottom:62pt}
.lp-closeasks .lp-ask{gap:7pt}
/* back cover: her sign-off, large, white */
.lp-bk-sign .lp-sign-name{font-size:66pt;color:#fff}
.lp-bk-sign .lp-sign-rule{border-color:#fff;width:46pt;margin:16pt 0 9pt}
.lp-bk-sign .lp-sign-role{color:#fff;font-size:7.5pt}
.lp-backpanel .lp-brand{color:#fff}
.lp-close .lp-khead{height:186pt}
.lp-qr a{white-space:nowrap;font:700 6.5pt/1.3 var(--sans);color:#000}
.lp-about .lp-cols{column-fill:balance}
.lp-kcont{height:640pt}
.lp-qr .qr-ph{white-space:normal}
.lp-url{white-space:nowrap}

/* web reading axis (round 11 revision): one centred 38rem reading column; headings share its left edge */
.gp{--ax:max(0px,calc((min(100vw,76rem) - 8rem - 38rem)/2))}
.gp-kband .gp-in{padding-left:calc(4rem + var(--ax));grid-template-columns:minmax(0,1fr) minmax(0,26rem)}
.gp-kletter{display:block}
.gp-kletter .gp-body,.gp-about .gp-body{max-width:38rem;margin-left:var(--ax)}
.gp-top,.gp-about{padding-left:calc(4rem + var(--ax))}
.gp-top .ph{max-width:38rem}
.gp-sband .gp-in{padding-left:calc(4rem + var(--ax))}
.gp-sintro{display:block}
.gp-sintro>div:first-child{display:none}
.gp-sintro .gp-body{max-width:38rem;margin-left:var(--ax)}
.gp-asks{padding-left:calc(4rem + var(--ax)/2);padding-right:calc(4rem + var(--ax)/2)}
.gp-back .gp-in{padding-left:calc(4rem + var(--ax));padding-right:calc(4rem + var(--ax))}
@media (max-width:40rem){.gp{--ax:0px}.gp-kband .gp-in,.gp-top,.gp-about,.gp-sband .gp-in,.gp-asks,.gp-back .gp-in{padding-left:1.25rem;padding-right:1.25rem}.gp-kband .gp-in{grid-template-columns:minmax(0,1fr)}}

/* Kim's band on black (operator, 2026-10-03): black band, her photo, white type; pages 3 and 9, web and Letter */
.gp-kband{background:#000;color:#fff}
.gp-kband .gp-brand,.gp-kband h1{color:#fff}
.gp-kband .gp-khead .gp-brand{border-bottom:1px solid #525252;padding-bottom:.75rem}
.lp-kband{background:#000}
.lp-khead,.lp-khead h1,.lp-khead .lp-brand{color:#fff}
.lp-khead .lp-brand{border-bottom:.5pt solid #757575;padding-bottom:6pt}

/* the sign-off is Pinyon Script (operator, 2026-10-03; SIL Open Font License) */
.lp-bk-sign .lp-sign-name.script{font-size:84pt;line-height:1.05}

/* inside-cover (Letter only): the verso of the cover; DC-209's inset black panel continued, her photo standing on the panel's foot.
   No folio, no page number. */
.lp-ic-photo{position:absolute;right:0;bottom:0;height:470pt;width:auto;display:block}
.lp-ic-sign{position:absolute;left:43.2pt;top:92pt;right:43.2pt}
.lp-ic .lp-bk-sign .lp-sign-name.script{font-size:60pt;white-space:nowrap}
.lp-ic .lp-bk-sign .lp-sign-role{max-width:210pt}
.lp-ic-foot{position:absolute;left:43.2pt;bottom:43.2pt;display:flex;flex-direction:column;gap:6pt;font:700 7.5pt/1.4 var(--sans);letter-spacing:.04em;text-transform:uppercase}
.lp-ic-foot .lp-brand{color:#fff}

/* one ask, one page (operator, 2026-10-03): support, membership and sponsorship all live on kimmonson.com/support-kim; one code, one link */
.gp-asks.gp-one{grid-template-columns:minmax(0,1fr)}
.gp-one .gp-ask{max-width:38rem;margin-left:var(--ax)}
.gp-asks.gp-one{padding-left:4rem;padding-right:4rem}
.gp-ask-btn{border-top:0;padding-top:0}
.lp-onegrid{display:grid;grid-template-columns:minmax(0,1fr) 150pt;gap:36pt;margin-top:26pt;padding-top:16pt;border-top:4pt solid #000;align-items:start}
.lp-onetext .ph{font-size:10.5pt;--lh:16.5pt}
.lp-one{display:flex;flex-direction:column;gap:12pt;align-items:flex-start}
.lp-one.lg .lp-qr,.lp-one.lg .lp-qr img{width:126pt}.lp-one.lg .lp-qr img{height:126pt}
.lp-one .lp-qr{gap:6pt}.lp-one.lg .lp-url{font-size:8pt}
.lp-one.row{flex-direction:row;align-items:flex-end;gap:16pt;border-top:4pt solid #000;padding-top:12pt}
.lp-one.row .lp-qr,.lp-one.row .lp-qr img{width:64.8pt}.lp-one.row .lp-qr img{height:64.8pt}

.lp-onetext{margin-top:22pt;padding-top:14pt;border-top:4pt solid #000;max-width:360pt}
.lp-onetext .ph{font-size:11pt;--lh:17.5pt}
/* support-ask: the one ask as a black panel across the lower page, the code on white at 2 in */
.lp-sup{position:absolute;left:0;right:0;top:400pt;bottom:58pt;background:#000;color:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30pt;align-items:center;padding:0 43.2pt}
.lp-sup-l{display:flex;flex-direction:column;gap:12pt;align-items:flex-start}
.lp-sup-t{margin:0;font:900 40pt/1.02 var(--serif);letter-spacing:-.02em;color:#fff;max-width:11ch}
.lp-sup .lp-url{color:#fff;font-size:10pt}
.lp-sup a.lp-cta{font-size:9pt;padding:9pt 12pt}
.lp-sup-qr{background:#fff;padding:0}
.lp-sup-qr img{display:block;width:144pt;height:144pt}
@media (max-width:40rem){.gp-asks.gp-one{padding-left:1.25rem;padding-right:1.25rem}.gp-one .gp-ask{margin-left:0}}


/* ================= the port's fixes (design lane, 2026-10-03), tested in WeasyPrint ================= */
/* WeasyPrint has no `inset`: the back cover's DC-209 panel was zero-sized (blank page) */
.lp-backpanel{inset:auto;left:28.8pt;right:28.8pt;top:28.8pt;bottom:28.8pt}
/* Placeholders in the built pages are real text (lorem ipsum at the slot's length) under a black tag, so the page flows and the
   reader of a review copy sees exactly where Kim's words go. A page holding one is never promoted (promote_guide_page.py). */
.kms-ph{color:#6E6E6E}
.kms-ph-tag{display:block;font:700 6.5pt/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#000;margin:0 0 6pt;break-after:avoid}
.kms-ph-tag b{background:#000;color:#fff;padding:1pt 3pt;margin-right:4pt}
.gp .kms-ph-tag{font-size:.75rem;margin-bottom:.75rem}.gp .kms-ph-tag b{padding:.15em .4em;margin-right:.5em}
/* Flowing Letter pages (kim-message, close, the section openings): text flows in two columns and on to a second page when it is
   long; the band is the first page's top; the folio sits in the bottom margin on every page. */
.lp-flow .lp-pg{position:static;width:auto;height:auto;overflow:visible;margin:0;page-break-after:auto}
.lp-flow .lp-kband,.lp-flow .lp-sband{position:relative;left:auto;right:auto;top:auto}
.lp-flow .lp-kbody,.lp-flow .lp-sbody{position:static;padding:22pt 43.2pt 0}
.lp-flow .lp-folio{position:fixed;bottom:-38pt}
.lp-flow .lp-cols{column-fill:balance}   /* WeasyPrint's auto fill runs the left column to the page foot and pushes the sign-off and the ask to a new page */
.lp-flow .lp-kbody p,.lp-flow .lp-sbody p{margin:0 0 8pt;orphans:3;widows:3}
.lp-flow .lp-sbody p{font-size:10.5pt;line-height:1.57}
.lp-flow .lp-kbody p{line-height:1.54}
.lp-flow .lp-closeasks{position:static;margin:20pt 43.2pt 0;break-inside:avoid}
.lp-sign-name.script{white-space:nowrap}
/* sponsor cards (sponsor-thanks): one body for web and Letter, built from project/guide-pages/data/sponsors.json by
   build_guide_pages_11.py; all sponsors alike, A to Z (the operator, 2026-10-03) */
.sp-thanks p{margin:0 0 8pt}
.sp-grid{list-style:none;margin:0;padding:0;display:grid}
.sp-card{display:flex;flex-direction:column;break-inside:avoid}
.sp-logo{display:flex;align-items:center;justify-content:center;background:#fff;text-decoration:none}
.sp-logo::after{content:none!important}
.sp-logo img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.sp-name{font-weight:700;font-family:var(--serif)}
.sp-line{margin:0;font-family:var(--serif)}
.sp-phone{margin:0;font-family:var(--sans);font-weight:700;font-variant-numeric:tabular-nums}
.lp .sp-thanks{margin-top:10pt;font-size:9.75pt;line-height:1.52;max-width:430pt}
.lp .sp-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10pt 9pt;margin-top:11pt}   /* 18 sponsors: three rows of six fit the page; five across ran a fourth row off it */
.lp .sp-card{border-top:.75pt solid #000;padding-top:5pt;gap:3.5pt;break-inside:auto}   /* in the fixed one-page frame, avoid-breaks pushed the fourth row to a page that is never drawn (15 of 18 cards) */
.lp .sp-logo{height:32pt;border:.5pt solid #A0A0A0;padding:4pt}
.lp .sp-name{font-size:7.2pt;line-height:1.22}
.lp .sp-line{font-size:6.2pt;line-height:1.32;color:#1A1A1A}
.lp .sp-phone{font-size:6.5pt;letter-spacing:.02em}
.gp .sp-thanks{max-width:44rem;margin:1.75rem 0 0;font:400 1.1875rem/1.75 var(--serif)}
.gp .sp-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:2.25rem 1.75rem;margin:2.75rem 0 5rem}
.gp .sp-card{border-top:1px solid #000;padding-top:1rem;gap:.625rem}
.gp .sp-logo{height:7.5rem;border:1px solid var(--gp-hair);padding:1.125rem}
.gp .sp-name{font-size:1.125rem;line-height:1.3}
.gp a.sp-name{color:var(--teal);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.gp .sp-line{font-size:.9375rem;line-height:1.5}
.gp .sp-phone{font-size:.875rem}
@media (max-width:40rem){.gp .sp-grid{grid-template-columns:minmax(0,1fr);gap:0}
  .gp .sp-card{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:.25rem 1rem;padding:1rem 0}
  .gp .sp-logo{grid-row:1/4;height:4.75rem;padding:.5rem}}
.gp-spons{padding-top:3rem}.gp-spons .gp-brand{margin-bottom:2rem}
/* About This Guide's list in the Letter: the square bullet drawn with ::before. WeasyPrint 70 (the publisher's renderer) crashes on a
   ::marker with text content ("min-content width for TextBox not handled yet"); 68.1 did not. */
.lp-about ul{list-style:none;padding-left:10pt}
.lp-about li{position:relative}
.lp-about li::marker{content:none}
.lp-about li::before{content:"";position:absolute;left:-9pt;top:.5em;width:3.4pt;height:3.4pt;background:#000}

/* ================= web at phone width (design lane, 2026-10-04; operator via the seat) ================= */
/* Reproduced on release ae292018 at 390/430: project/handoffs/design-mobile-front-matter-20261004/REPORT.md. Web only (.gp): the
   Letter (.lp) renders pixel-identical before and after. guide_pages_mobile_check.py checks the rendered pages at phone width. */
.gp .lp-cols{columns:auto;column-gap:normal}   /* About This Guide's body is the Letter's two-column block; on the web, one reading column */
.gp-about .lp-cols{max-width:38rem;margin-left:0;font:400 1.1875rem/1.75 var(--serif)}   /* margin 0: .gp-about's padding already carries the reading axis (--ax); var(--ax) here pushed the text 240px right of its heading on desktop (operator, 2026-10-05) */
.gp-about .lp-cols p{margin:0 0 1.1rem}
.gp-asks.gp-one .gp-ask{border-top:0;padding-top:0}   /* the heading block's rule closes the top; a second rule read as a broken page */
.gp-back{min-height:100vh;min-height:100svh}   /* the guide's last screen fills the screen; no white band under it */
/* the measure pages' top bar and crumb line (round-05 template-web-v3.css, its rules unchanged), written into every web template by
   build_guide_templates_11.py */
.gp .pad{max-width:1240px;margin:0 auto;padding:0 44px}
.gp .ptop{background:var(--ink);color:#fff}
.gp .ptop .pstrip{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:48px;padding-top:8px;padding-bottom:8px}
.gp .ptop .pleft{display:flex;gap:14px;align-items:center;min-width:0}
.gp .ptop .mark{color:#fff;font:900 1.25rem/1 var(--serif);letter-spacing:0;white-space:nowrap;flex:none}
.gp .ptop .brand{font:600 13px/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#fff}
.gp .ptop .pbtns{display:flex;gap:10px;align-items:center;flex:none}
.gp .ptop a.req{font:600 13px/1.4 var(--sans);letter-spacing:.05em;text-transform:uppercase;color:#fff;border:1px solid #fff;padding:8px 14px;text-decoration:none;white-space:nowrap}
.gp .ptop a.sup{font:600 13px/1.4 var(--sans);letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--red);padding:9px 14px;text-decoration:none;white-space:nowrap}
.gp .ptop a::after,.gp .crumbs a::after{content:none!important}
.gp .crumbs{border-bottom:1px solid var(--box)}
.gp .crumbs nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 0;font:400 15px/1.5 var(--sans)}
.gp .crumbs a{color:var(--ink);text-decoration:none}
.gp .crumbs a.here{font-weight:700}
.gp .crumbs .sep{color:var(--sec)}
@media (max-width:40rem){
  .gp-about .lp-cols{font-size:1.0625rem;line-height:1.7}
  .gp-sband .gp-brand{font-size:.75rem;letter-spacing:.04em}   /* the brand line and the section number share one line at 390 */
  .gp .pad{padding:0 20px}
  .gp .ptop .pstrip{flex-wrap:wrap;row-gap:10px}
  .gp .ptop .pleft{flex:1 1 100%}
  .gp .ptop .brand{white-space:normal;font-size:12px;letter-spacing:.04em;line-height:1.35}
  .gp .ptop .pbtns{flex:1 1 100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .gp .ptop .pbtns a{text-align:center;white-space:normal}
}
/* Letter section openings: paragraphs 7pt apart, not 8pt, so Kim's statewide opening (257 words) keeps her sign-off on its one page (2026-10-04) */
.lp-flow .lp-sbody p{margin:0 0 7pt}
/* Letter section openings: the band 310pt, not 330pt, so Kim's statewide opening (267 words) keeps her sign-off on its one page (2026-10-04) */
.lp-flow .lp-sband{height:310pt}
