/* Phone layout is the base; tablet and desktop add space and columns. */
[hidden]{display:none!important}
html{scroll-behavior:auto;scroll-padding-top:20px}
body{overflow-wrap:break-word}
button,a{touch-action:manipulation}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--navy);outline-offset:4px}
button:disabled{opacity:1;color:var(--gray)}
.masthead{padding:20px 16px;gap:18px;display:flex;align-items:center;flex-wrap:nowrap}
.identity{flex:0 0 auto;min-width:80px;min-height:80px}
.header-logo{display:block;width:80px;height:80px;object-fit:contain}
.masthead .edition{display:block;max-width:190px;width:auto;text-align:right;font:400 16px/1.4 var(--sans);color:var(--black)}
.edition>span:last-child{font-size:16px;color:var(--gray)}
.headline-block{margin:20px auto 0;padding:0 16px}
.eyebrow{font-size:18px;margin-bottom:18px}
h1 .the{font-size:56px;margin-bottom:8px}
h1 .receipt-word{font-size:18vw;white-space:nowrap}
.intro{font-size:20px;line-height:1.45;margin:22px 0 0}
.intro>span{display:block}
.registration{display:none}
.printer-stage{display:flex;flex-direction:column;width:calc(100% - 24px);max-width:680px;--printer-width:100%;--paper-width:calc(100% - 12px);margin:28px auto 0}
.margin-note{display:none}
.print-controls{position:static;order:-1;transform:none;width:100%;margin:0 0 18px;display:flex;justify-content:center;gap:0}
.print-controls .control-caption,.print-controls p{display:none}
.print-controls button{min-width:180px;min-height:48px;padding:12px 18px;border:2px solid var(--navy);background:var(--cream);font:700 16px/1.3 var(--sans);text-decoration:none;justify-content:center;color:var(--navy)}
.print-controls button:hover:not(:disabled){background:var(--navy);color:var(--cream)}
.print-controls button:disabled{color:var(--gray);border-color:var(--gray)}
.machine{width:100%;height:300px;flex-shrink:0}
.printer-header{top:20px;left:14px;right:14px;gap:8px;flex-wrap:wrap}
.printer-brand{padding:8px;border:1px solid var(--black)}
.printer-brand span{font-size:14px}.printer-brand small{font-size:12px}
.printer-serial{font-size:12px}
.printer-screen{top:100px;left:12px;right:12px;height:158px;padding:14px 12px}
.screen-heading{align-items:flex-start;gap:8px;flex-wrap:wrap}
.screen-heading strong{font-size:20px;white-space:normal}
.screen-heading>span{font-size:13px}
.screen-subtitle{font-size:12px;line-height:1.35;margin-top:8px}
.screen-divider{margin-top:12px}
.machine-controls{margin-top:10px;gap:8px}
.display-panel{font:400 14px/1.3 var(--mono);gap:6px;white-space:normal}
.feed-button{font-size:14px;min-width:72px;min-height:44px;height:auto;padding:9px 8px;flex-shrink:0}
.paper-slot{left:12px;right:12px}
.paper-feed{width:100%;padding:0 6px 20px;flex-shrink:0;overflow:hidden;margin-top:-23px;min-height:24px}
.receipt-paper{font:400 18px/1.5 var(--mono);width:100%}
.paper-inner{padding:30px 16px}
.receipt-heading h2{font:700 28px/1.15 var(--sans)}
.receipt-heading>p{font-size:18px}.receipt-heading .receipt-issuer{font-size:16px;line-height:1.5;margin:24px 0 32px}
.entry{padding:30px 0}.entry p,.entry li{font-size:18px;line-height:1.5}
.entry h3{font-size:28px;line-height:1.2;overflow-wrap:normal}
.entry-kicker{font-size:16px;line-height:1.5;margin-bottom:18px}
.entry .source-line,.source-map{font-size:16px;line-height:1.5;overflow-wrap:anywhere}
.entry .item-name{font-size:20px;line-height:1.35}
.line-item>span{font-size:18px}.line-item strong{font-size:24px;line-height:1.3;overflow-wrap:normal}
.line-item>div{gap:6px}.line-item i{min-width:4px}
.order-slip{padding:12px}.order-slip .line-item strong{font-size:19px}
.comparison{grid-template-columns:1fr}.comparison>div+div{border-left:0;border-top:2px solid var(--black)}
.comparison h4{min-height:0;margin:0;font-size:22px;color:var(--paper)}
.comparison>div+div h4{background:var(--red);color:var(--black)}
.comparison p{font-size:18px}.entry .highlight{font-size:24px}
.redacted-list{padding-left:28px}.redacted-list li{font-size:16px;line-height:1.5}
.entry blockquote,.receipt-disclaimer{font-size:22px;line-height:1.4}
.receipt-disclaimer{padding:16px}.memorial strong{font-size:20px}
.receipt-end h2{font-size:40px}.receipt-end .closing-concept{font-size:24px;line-height:1.3}
.receipt-seal{width:128px;height:128px;max-width:100%}.ballot{font-size:20px}
.receipt-actions{margin:24px auto 40px;padding:0 16px;max-width:920px}
.voting-cta{padding:28px 0;margin-bottom:14px}
.voting-label{font-size:16px;line-height:1.5}
.voting-heading-row{display:block}.voting-heading-row h2{font-size:34px;line-height:1.1}
.voting-check{display:none}.voting-copy{font-size:20px;line-height:1.45;margin:20px 0 24px}
.receipt-actions .voting-actions{display:flex;flex-direction:column;align-items:stretch;gap:14px;margin-bottom:16px}
.voting-actions a{display:flex;align-items:center;justify-content:center;min-height:56px;padding:16px 18px;font-size:18px;line-height:1.35;text-align:center}
.voting-actions a:hover{background:var(--navy);border-color:var(--navy);color:var(--cream);text-decoration:underline}
.ballot-link{display:inline-flex;align-items:center;min-height:48px;font-size:18px}
.receipt-actions>div{gap:14px;flex-wrap:wrap}
.receipt-actions button{min-height:48px;padding:12px 8px;font:700 16px/1.3 var(--sans);white-space:nowrap}
.page-footer{font-size:14px;line-height:1.5;margin:0 16px;padding:22px 0;flex-direction:column;gap:8px}
.page-footer>span:last-child{font-size:14px}
@media(min-width:375px){.printer-stage{width:calc(100% - 28px)}.paper-inner{padding-left:20px;padding-right:20px}.printer-brand span{font-size:15px}.printer-serial{font-size:13px}.display-panel{font-size:16px}.screen-heading>span{font-size:14px}}
@media(min-width:600px){.masthead{padding:28px 5.5vw}.header-logo{width:96px;height:96px}.masthead .edition{font-size:18px;max-width:none}.edition>span:last-child{font-size:18px}.headline-block{margin-top:30px}.eyebrow{font-size:22px}h1 .the{font-size:76px}h1 .receipt-word{font-size:min(18vw,140px)}.intro{font-size:24px}.intro>span{display:inline}.printer-stage{width:calc(100% - 64px);margin-top:36px;--paper-width:calc(100% - 64px)}.paper-feed{width:calc(100% - 52px);padding-left:6px;padding-right:6px}.machine{height:350px}.printer-header{top:24px;left:26px;right:26px}.printer-brand span{font-size:18px}.printer-brand small,.printer-serial{font-size:16px}.printer-screen{top:112px;left:24px;right:24px;height:192px;padding:20px}.screen-heading strong{font-size:28px}.screen-heading>span,.screen-subtitle{font-size:16px}.display-panel{font-size:18px}.feed-button{font-size:16px}.paper-inner{padding:40px 28px}.entry p,.entry li,.receipt-paper{font-size:22px}.entry h3{font-size:34px}.entry-kicker,.entry .source-line,.source-map{font-size:20px}.line-item strong{font-size:28px}.line-item>span{font-size:22px}.receipt-heading>p{font-size:22px}.receipt-heading h2{font-size:34px}.receipt-heading .receipt-issuer{font-size:20px}.comparison{grid-template-columns:1fr 1fr}.comparison>div+div{border-top:0;border-left:2px solid var(--black)}.comparison h4{min-height:92px}.voting-heading-row{display:flex}.voting-heading-row h2{font-size:44px}.voting-check{display:block;width:96px;height:110px;flex-basis:96px}.voting-copy{font-size:24px}.receipt-actions .voting-actions{flex-direction:row;flex-wrap:wrap}.voting-actions a{flex:1 1 280px}.receipt-actions{padding:0 28px}.page-footer{margin:0 5.5vw;font-size:16px;flex-direction:row}.page-footer>span:last-child{font-size:16px}}
@media(min-width:1024px){.headline-block{margin-top:36px}h1 .the{font-size:96px}h1 .receipt-word{font-size:160px}.intro{font-size:28px}.printer-stage{margin-top:42px}.paper-inner{padding:44px 32px}.receipt-paper,.entry p,.entry li{font-size:24px}.receipt-heading h2,.entry h3{font-size:36px}.receipt-heading>p{font-size:24px}.voting-heading-row h2{font-size:54px}.voting-copy{font-size:26px}}
@media(min-width:1280px){.printer-stage{display:block;max-width:1440px;width:89%;--printer-width:680px;--paper-width:560px;margin-top:56px}.machine{width:var(--printer-width)}.paper-feed{width:572px;padding-left:6px;padding-right:6px}.margin-note{display:block;left:calc(50% - 560px);top:95px;width:190px}.margin-note strong{font-size:28px}.note-number{font-size:20px}.print-controls{position:absolute;left:calc(50% + 365px);top:100px;width:195px;display:block;margin:0}.print-controls .control-caption{display:flex;font-size:17px;margin-bottom:16px}.print-controls button{min-width:0;width:100%}.print-controls p{display:block;font-size:20px}.registration{display:block}.receipt-actions{margin-top:36px;margin-bottom:64px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.machine.is-printing{animation:none!important}*,*:before,*:after{transition:none!important}}
@media print{.masthead,.machine,.headline-block,.margin-note,.print-controls,.receipt-actions,.page-footer{display:none!important}.printer-stage{display:block!important;width:100%!important;max-width:none}.paper-feed{width:100%!important;max-width:145mm;margin:0 auto!important;height:auto!important;overflow:visible!important;padding:0!important}.paper-inner{padding:0}.entry,.receipt-disclaimer,.receipt-end{break-inside:avoid}.receipt-paper,.entry p,.entry li{font-size:12pt}.entry h3{font-size:20pt}.source-map,.entry-kicker,.entry .source-line{font-size:10pt}.receipt-heading h2{font-size:22pt}.line-item strong{font-size:16pt}}
.print-controls{gap:12px;flex-wrap:wrap}.print-controls button{min-width:0;flex:1 1 130px;max-width:240px}.machine.is-printing,.receipt-paper.is-feeding{cursor:pointer}.machine.is-paused{cursor:default}
@media(min-width:1280px){.print-controls button{max-width:none;margin-bottom:12px}}
/* A single restrained seal leads the hero; no masthead metadata. */
.masthead{justify-content:center;padding:24px 16px 8px}.headline-block{margin-top:18px}.header-logo{width:88px;height:88px}.identity{min-height:88px;min-width:88px}
@media(min-width:600px){.masthead{padding-top:32px}.header-logo{width:96px;height:96px}.headline-block{margin-top:22px}}
.skip-link{min-height:44px;display:inline-flex;align-items:center}
.print-controls{align-items:stretch;flex-direction:column}.print-controls button{width:100%;max-width:none;flex:auto;min-height:48px}.print-controls button:disabled{opacity:1}
.summary-columns{font:700 18px/1.4 var(--sans);border:2px solid var(--black);padding:12px;background:var(--navy);color:var(--paper);display:flex;flex-wrap:wrap;gap:12px}
@media(min-width:430px){.print-controls{flex-direction:row}.print-controls button{width:auto;flex:1 1 150px}}
@media(min-width:1024px){.summary-columns,.summary-row{display:grid;grid-template-columns:1fr 1fr 1.8fr;gap:12px;padding:14px 10px;border:2px solid var(--black)}.summary-row{border-top:0;background:var(--paper)}.summary-row .line-item{display:contents}.summary-row .line-item>span{font-size:18px;margin:0}.summary-row .line-item>div{display:block}.summary-row .line-item i{display:none}.summary-row .line-item strong{font-size:18px;overflow-wrap:anywhere}.entry .summary-row>p{font-size:18px;line-height:1.5;margin:0}}
@media(min-width:1280px){.print-controls button{width:100%}}
/* Printer lip occludes the paper's top edge; both share one output width. */
.machine{z-index:6}.machine-front{bottom:12px}.machine-shadow{bottom:12px;box-shadow:0 3px 0 var(--gray)}
.paper-slot{left:50%;right:auto;transform:translateX(-50%);width:calc(var(--paper-width) + 4px);bottom:8px;height:22px;border:2px solid var(--gray);border-radius:7px;background:var(--black);box-shadow:0 2px 3px rgb(17 17 17 / 15%)}
.cutter{left:4px;right:4px;top:3px;background:var(--gray)}
.paper-feed{z-index:3;margin-top:-22px}.receipt-paper{box-shadow:1px 2px 3px rgb(17 17 17 / 8%)}
.paper-feed:after{content:'';position:absolute;top:14px;left:6px;right:6px;height:3px;background:rgb(17 17 17 / 12%);pointer-events:none;z-index:2}
@media(min-width:1280px){.paper-slot{width:564px}}
@media print{.paper-feed:after{display:none}.receipt-paper{box-shadow:none}}
.eyebrow{font-size:20px}.printer-brand{color:var(--paper)}.note-number{color:var(--gray)}.page-footer>span:last-child{color:var(--navy)}.comparison>div+div h4{color:var(--paper)}
.feed-button{min-width:88px}.feed-button:disabled{background:var(--navy);color:var(--cream);border-color:var(--gray);cursor:default;box-shadow:none;opacity:1}.feed-button:disabled:hover{background:var(--navy);color:var(--cream)}
.machine[data-state="complete"] .status-light{background:var(--cream)}
.machine[data-state="paused"] .status-light{background:var(--gray);border:1px solid var(--cream)}
.receipt-actions button:disabled{color:var(--gray);text-decoration:none;cursor:default}
.display-panel{font-variant-numeric:tabular-nums}
.print-controls[data-state="complete"] .control-dot{background:var(--navy)}

/* Keep the physical controls clear of the output slot on narrow phones. */
@media(max-width:599px){.machine{height:326px}.printer-screen{height:184px}.machine-controls{min-height:48px}.feed-button{min-height:48px}}
.machine-front .printer-screen{z-index:2}
.machine-shadow,.housing-seam,.paper-slot{pointer-events:none}
.receipt-actions{position:relative;z-index:7}

/* Campaign headline first; the receipt names the experience below it. */
.campaign-headline{font:700 clamp(42px,11vw,132px)/1 var(--sans);color:var(--navy)}
.campaign-headline>span{display:block;white-space:nowrap}
.experience-title{font:700 24px/1.2 var(--sans);color:var(--navy);margin:28px 0 0}
.headline-block .intro{margin-top:12px}
@media(min-width:600px){.experience-title{font-size:32px;margin-top:36px}}
@media(min-width:1024px){.experience-title{font-size:36px;margin-top:40px}}
