/* Fareway proxy voting — shareholder pages. System fonts only; no external requests. */
:root{
color-scheme:light;
--ink:#1a2f2a;--muted:#68756f;--muted-strong:#56635d;--rule:#d8dfd9;--paper:#f4f6f1;--surface:#fff;
--forest:#155b46;--forest-dark:#0e4334;--forest-tint:#e8f1ec;--copper:#a95332;--copper-dark:#8a3f22;
--error:#9e2a1e;--error-tint:#fbefec;--field:#77837d;
--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,"Helvetica Neue",Helvetica,Arial,sans-serif;
--serif:Georgia,"Times New Roman",Times,serif;
--mono:ui-monospace,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
--radius:4px;--measure:36rem;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.55;font-kerning:normal;-webkit-font-smoothing:antialiased}
p,h1,h2,dl,dd,fieldset{margin:0}
h1,h2,legend{text-wrap:balance}
p,dd,li{text-wrap:pretty}
a{color:var(--forest);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:var(--forest-dark);text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--forest-dark);outline-offset:3px}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.print-only{display:none}

/* Page frame — container queries let the layout respond to the column, not the device */
.page{container:page/inline-size}
.frame{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--surface)}
.skip-link{position:absolute;left:1rem;top:-10rem;z-index:20;background:var(--forest-dark);color:#fff;padding:.75rem 1rem;border-radius:var(--radius);font-weight:600}
.skip-link:focus{top:.75rem;color:#fff}
.main{flex:1;outline:none}

/* Masthead */
.masthead{border-bottom:1px solid var(--rule);background:var(--surface)}
.masthead-inner{max-width:46rem;margin:0 auto;padding:1rem;display:flex;align-items:center;gap:.875rem}
.mark{flex:none;width:2.625rem;height:2.625rem;background:var(--forest);display:grid;place-items:center;position:relative;border-radius:2px}
.mark::after{content:"";position:absolute;left:.5rem;right:.5rem;bottom:.4375rem;height:2px;background:var(--copper)}
.mark-letter{font-family:var(--serif);font-size:1.5rem;line-height:1;color:var(--paper);margin-top:-.25rem}
.masthead-text{display:flex;flex-direction:column;line-height:1.2}
.masthead-eyebrow{font-size:.8125rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--ink)}
.masthead-label{font-size:.9375rem;color:var(--muted)}

/* Sheet */
.sheet{max-width:46rem;margin:0 auto;padding:2rem 1rem 3rem}
.panel{display:flex;flex-direction:column}
.panel>*+*{margin-top:1rem}

/* Step label: name — rule — count */
.step{display:flex;align-items:center;gap:.75rem;font-size:.8125rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);line-height:1.3}
.step::after{content:"";order:2;flex:1;min-width:1.5rem;border-top:1px solid var(--rule)}
.step-name{order:1}
.step-count{order:3;font-variant-numeric:tabular-nums;letter-spacing:.08em;color:var(--copper-dark)}
.panel .step+.panel-heading{margin-top:1.25rem}

.panel-heading{font-family:var(--serif);font-weight:400;font-size:2rem;line-height:1.15;letter-spacing:-.005em;color:var(--ink);outline:none;overflow-wrap:anywhere}
.section-heading{font-family:var(--serif);font-weight:400;font-size:1.625rem;line-height:1.2;outline:none}
.lede{max-width:var(--measure);color:var(--ink)}
.recipient-class{font-size:1.0625rem;color:var(--muted);margin-top:.375rem!important}

/* Forms */
.form{display:flex;flex-direction:column;gap:1.25rem;margin-top:1.75rem!important}
.field{display:flex;flex-direction:column;gap:.5rem}
.field-label{font-weight:600;font-size:1.0625rem}
.input{width:100%;min-height:3.25rem;padding:.75rem .875rem;font:inherit;font-size:1.125rem;color:var(--ink);background:var(--surface);border:1.5px solid var(--field);border-radius:var(--radius);-webkit-appearance:none;appearance:none}
.input:hover{border-color:var(--ink)}
.input:focus-visible{outline:3px solid var(--forest-dark);outline-offset:2px;border-color:var(--forest-dark)}
.input--code{font-family:var(--mono);font-size:1.25rem;letter-spacing:.12em;max-width:22rem}
.input[aria-invalid="true"]{border-color:var(--error);border-width:2px;background:var(--error-tint)}
.input:disabled{background:var(--paper);color:var(--muted);border-color:var(--rule);cursor:not-allowed}

/* Buttons */
.actions{display:flex;flex-direction:column;gap:.75rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3.25rem;padding:.75rem 1.5rem;font:inherit;font-size:1.0625rem;font-weight:600;line-height:1.2;text-align:center;text-decoration:none;border-radius:var(--radius);border:1.5px solid transparent;cursor:pointer;width:100%}
.btn--primary{background:var(--forest);color:#fff;border-color:var(--forest)}
.btn--primary:hover{background:var(--forest-dark);border-color:var(--forest-dark);color:#fff}
.btn--secondary{background:var(--surface);color:var(--ink);border-color:var(--ink)}
.btn--secondary:hover{background:var(--paper);color:var(--ink);text-decoration:none}
.btn:active{transform:translateY(1px)}
.btn:disabled,.btn[aria-disabled="true"]{background:var(--paper);color:var(--muted);border-color:var(--rule);cursor:not-allowed;transform:none}

/* Status lines (aria-live). Set data-tone="error" | "info" | "success" */
.status{max-width:var(--measure);font-size:1.0625rem;font-weight:500}
.status:empty{margin:0!important;min-height:0}
.status:not(:empty){display:flex;gap:.625rem;align-items:flex-start;padding:.75rem .875rem;border-radius:var(--radius);border:1.5px solid var(--rule);background:var(--paper)}
.status:not(:empty)::before{content:"i";content:"i"/"";flex:none;width:1.375rem;height:1.375rem;margin-top:.0625rem;border-radius:50%;background:var(--ink);color:#fff;font:700 .875rem/1.375rem var(--serif);font-style:italic;text-align:center}
.status[data-tone="error"]{color:var(--error);border-color:var(--error);background:var(--error-tint)}
.status[data-tone="error"]::before{content:"!";content:"!"/"";background:var(--error);font-family:var(--sans);font-style:normal}
.status[data-tone="success"]{color:var(--forest-dark);border-color:var(--forest);background:var(--forest-tint)}

/* Document row */
.doc-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem 1rem;margin-top:1.75rem!important;padding:1rem 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.doc-icon{width:2.25rem;height:2.75rem;color:var(--forest)}
.doc-title{font-weight:600}
.doc-meta{font-size:.9375rem;color:var(--muted)}
.doc-action{grid-column:1/-1}

/* Ballot */
.ballot{margin-top:2.5rem!important;display:flex;flex-direction:column;gap:1rem}
.ballot:has(.preview-banner:not([hidden])){outline:2px dashed var(--copper);outline-offset:.75rem}
.preview-banner{position:sticky;top:0;z-index:5;background:var(--copper);color:#fff;padding:.375rem 0;border-radius:2px;box-shadow:0 2px 0 var(--surface)}
.preview-banner::before,.preview-banner::after{content:"";display:block;height:.375rem;background:repeating-linear-gradient(-45deg,#fff 0 .375rem,transparent .375rem .75rem);opacity:.55}
.preview-banner-text{padding:.5rem 1rem;text-align:center;font-weight:800;font-size:1rem;letter-spacing:.14em;text-transform:uppercase;line-height:1.3}
.ballot-form{margin-top:.5rem!important;gap:2rem}
.ballot-intro{max-width:var(--measure);color:var(--muted-strong)}
.questions{display:flex;flex-direction:column;gap:2rem}

.notice{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;align-items:start;padding:1rem;background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius)}
.notice-icon{width:1.5rem;height:1.5rem;color:var(--forest);margin-top:.0625rem}
.notice-text{max-width:var(--measure);font-weight:500}
.notice[data-tone="closed"]{border-color:var(--ink);border-width:1.5px}
.notice[data-tone="closed"] .notice-icon{color:var(--ink)}
.notice[data-tone="unavailable"]{border-color:var(--copper);border-width:1.5px}
.notice[data-tone="unavailable"] .notice-icon{color:var(--copper-dark)}

.question{border:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:.625rem}
.question+.question{padding-top:2rem;border-top:1px solid var(--rule)}
.question-legend{padding:0;margin-bottom:.25rem;font-family:var(--serif);font-size:1.3125rem;line-height:1.3;color:var(--ink);float:left;width:100%}
.question-legend+*{clear:both}
.question-num{font-family:var(--sans);font-size:.875rem;font-weight:700;letter-spacing:.1em;color:var(--copper-dark);display:block;margin-bottom:.25rem}
.question-hint{max-width:var(--measure);color:var(--muted-strong);font-size:1rem}
.options{display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem}
.option{display:grid;grid-template-columns:1.5rem minmax(0,1fr);align-items:center;gap:.875rem;min-height:3.5rem;padding:.75rem 1rem;border:1.5px solid #b9c3bc;border-radius:var(--radius);background:var(--surface);cursor:pointer;line-height:1.35}
.option:hover{border-color:var(--ink)}
.option input{margin:0;width:1.375rem;height:1.375rem;accent-color:var(--forest);cursor:pointer}
.option input:focus-visible{outline:3px solid var(--forest-dark);outline-offset:3px}
.option:has(input:focus-visible){border-color:var(--forest-dark)}
.option:has(input:checked){border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest);background:var(--forest-tint);font-weight:600}
.option-or{display:flex;align-items:center;gap:.75rem;margin:.375rem 0 .125rem;font-size:.875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.option-or::before,.option-or::after{content:"";flex:1;border-top:1px solid var(--rule)}
.option--exclusive{border-style:dashed}
.option--exclusive:has(input:checked){border-style:solid}

/* Signature */
.signature-block .field{margin-top:.25rem}
.sig-caption{margin-top:.5rem;font-size:.8125rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.sig-preview{position:relative;min-height:5rem;display:flex;align-items:flex-end;padding:.5rem 0 .625rem 1.75rem;border-bottom:1.5px solid var(--ink);background:linear-gradient(var(--surface),var(--surface))}
.sig-preview::before{content:"\00D7";position:absolute;left:.125rem;bottom:.5rem;font-size:1.25rem;line-height:1;color:var(--muted)}
.sig-name{font-family:"Snell Roundhand","Apple Chancery","Segoe Script",var(--serif);font-style:italic;font-size:2.125rem;line-height:1.15;color:var(--forest-dark);overflow-wrap:anywhere;letter-spacing:.005em}
.sig-name[data-empty="true"]{font-family:var(--sans);font-style:normal;font-size:1rem;color:var(--muted);line-height:1.5}

/* Review */
.review-list{margin-top:1.75rem!important;border-top:1px solid var(--rule)}
.review-row{display:grid;gap:.25rem;padding:1rem 0;border-bottom:1px solid var(--rule)}
.review-row dt{font-family:var(--serif);font-size:1.125rem;line-height:1.35}
.review-row dd{font-weight:600}
.review-row dd ul{margin:0;padding-left:1.25rem}
.review-row dd[data-empty="true"]{font-weight:400;font-style:italic;color:var(--muted-strong)}
.review-signature{margin-top:1.5rem!important}
.panel .actions{margin-top:1.75rem}

/* Confirmation */
.panel--confirm{align-items:flex-start}
.confirm-check{width:3.5rem;height:3.5rem;color:var(--forest)}
.panel--confirm .confirm-check+.panel-heading{margin-top:1.25rem}
.confirm-time{font-weight:600;font-variant-numeric:tabular-nums}
.panel--confirm .actions{align-self:stretch}
.receipt{align-self:stretch;margin-top:2rem!important}
.receipt-heading{font-family:var(--serif);font-weight:400;font-size:1.375rem;line-height:1.25}
.receipt-list{margin-top:.75rem!important}
.class-notice{margin-top:2rem!important}

/* Static pages */
.panel--static .lede{color:var(--ink)}
.meeting-line{font-weight:600;font-variant-numeric:tabular-nums}

/* Footer */
.site-footer{border-top:1px solid var(--rule);background:var(--paper)}
.site-footer-inner{max-width:46rem;margin:0 auto;padding:1.5rem 1rem 2rem}
.footer-q{font-weight:600}
.footer-a{color:var(--muted-strong)}

/* Wider columns */
@container page (min-width:30rem){
.doc-row{grid-template-columns:auto minmax(0,1fr) auto}
.doc-action{grid-column:auto}
.btn{width:auto}
.actions{flex-direction:row;flex-wrap:wrap;align-items:center}
.actions--split{justify-content:space-between}
.panel--confirm .actions{align-self:stretch}
}
@container page (min-width:46rem){
.frame{background:var(--paper)}
.masthead-inner{padding:1.25rem 2rem}
.sheet{margin:2.5rem auto 3rem;padding:3rem 3.5rem 3.5rem;max-width:44rem;background:var(--surface);border:1px solid var(--rule);border-radius:2px;box-shadow:0 1px 0 var(--rule)}
.panel-heading{font-size:2.5rem}
.section-heading{font-size:1.875rem}
.site-footer{background:transparent}
.site-footer-inner{padding:1.75rem 2rem 2.5rem;text-align:center}
.review-row{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:1.5rem}
.ballot:has(.preview-banner:not([hidden])){outline-offset:1.25rem}
}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media (forced-colors:active){.option:has(input:checked){outline:2px solid CanvasText}.mark{border:1px solid CanvasText}.status:not(:empty){border:1px solid CanvasText}}

/* Print — the confirmation page is the receipt */
@media print{
@page{margin:18mm}
body,.frame,.sheet{background:#fff!important}
.frame{min-height:0}
.sheet{border:0;box-shadow:none;margin:0;padding:0;max-width:none}
.skip-link,.actions,.status:empty,.preview-banner{display:none!important}
.print-only{display:block}
.print-note{font-style:italic;color:var(--muted-strong)}
.masthead{border-bottom:1.5px solid #000}
.masthead-inner,.site-footer-inner{padding-left:0;padding-right:0;max-width:none}
.mark{-webkit-print-color-adjust:exact;print-color-adjust:exact}
.site-footer{background:#fff;border-top:1px solid #999}
.confirm-check{color:#000}
a{color:#000}
.review-row{break-inside:avoid}
.receipt{margin-top:1.25rem!important}
.confirm-check{width:2.5rem;height:2.5rem}
}
