/* E32 mockup styles.
   Colour and type tokens come from the Bahethi Family Foundation site,
   PBahethi/wwwBFF src/styles/global.css (:root, lines 1-24, and the button rules at 232-276).
   Keep these names in sync with wwwBFF public/brand/tokens.css. Do not add new brand colours here. */
:root{
/* BFF palette (global.css :root) */
--ink:#14343c;--ink-deep:#0d242b;--paper:#f6f1e7;--paper-2:#fffdf8;--text:#1b2c31;--muted:#3c5158;--line:#e3d7c6;
--saffron:#f0c14b;--saffron-ink:#6d4700;--link:#0b5560;--link-hover:#083e46;--todo-bg:#fff6df;--focus:#6d4700;
/* BFF values used inline in global.css, named here */
--donate-border:#c89212;   /* .button.donate border, global.css:268 */
--donate-text:#1b1404;     /* .button.donate color, global.css:269 */
--donate-hover:#e0ae2d;    /* .button.donate:hover, global.css:274 */
--field-border:#c9bba6;    /* .form input border and .empty, global.css:445 */
--on-ink:#f6f1e7;          /* footer text, global.css:490 */
--on-ink-soft:#e7efe8;     /* footer legal text, global.css:521 */
--header-bg:rgb(246 241 231 / 94%); /* .site-header, global.css:117 */
--shadow:0 16px 40px rgb(20 52 60 / 8%);
--radius-pill:999px;--radius-card:1.1rem;--radius-tile:1rem;
--header:4.5rem;--content:72rem;
/* BFF type (Base.astro imports Source Sans 3 400/600/700 and Fraunces 600/600i/700) */
--font-body:"Source Sans 3","Segoe UI",sans-serif;--font-display:Fraunces,Georgia,serif;
/* E-paper illustration greys. These draw the T5 screen, not the brand, so they stay grey. */
--epd-bezel:#2b2f31;--epd-paper:#e9e6dc;--epd-ink:#222;--epd-ink-2:#333;--epd-dim:#555;--epd-rule:#bbb;--epd-grid:#d6d3c9;--epd-edge:#888;--epd-edge-2:#999;--epd-light:#eee;
color-scheme:light;
font-family:var(--font-body);font-size:1.125rem;line-height:1.6;color:var(--text);background:var(--paper)}
*,*::before,*::after{box-sizing:border-box}body{margin:0}img{max-width:100%;height:auto}
h1,h2,h3,.brand-name{font-family:var(--font-display);font-weight:600;line-height:1.15;color:var(--ink)}
h1{margin:0 0 .75rem;font-size:clamp(2.2rem,5vw,3.7rem);letter-spacing:-.03em}
h2{margin:0 0 .75rem;font-size:clamp(1.6rem,3vw,2.15rem);letter-spacing:-.02em}
h3{margin:0 0 .4rem;font-size:1.3rem}p,ul,ol{margin:0 0 1rem}a{color:var(--link)}a:hover{color:var(--link-hover)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.wrap{width:min(var(--content),calc(100% - 2rem));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:10;background:var(--header-bg);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.header-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.25rem;min-height:var(--header);padding:.6rem 0}
.brand{display:flex;align-items:center;gap:.75rem;color:var(--ink);text-decoration:none}
.brand .mark{width:3rem;height:3rem;border-radius:50%;background:var(--paper-2);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}
.brand .mark img{width:2.6rem}.brand .mark .logo-light{display:none}
.footer-logo{display:inline-block;margin:0 0 .75rem}.footer-logo img{display:block;width:160px;height:auto}
.brand-name{display:block;font-size:1.15rem}
.brand small{display:block;color:var(--muted);font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}
.nav-list{display:flex;flex-wrap:wrap;gap:.35rem .9rem;align-items:center;margin:0;padding:0;list-style:none}
.nav-list a{color:var(--ink);text-decoration:none;font-weight:600;font-size:1rem}
.nav-list a[aria-current=page],.nav-list a:hover{text-decoration:underline;text-underline-offset:.3rem}
.nav-cta{padding:.35rem .85rem;border-radius:var(--radius-pill);background:var(--saffron);border:2px solid var(--donate-border);color:var(--donate-text)!important}
.hero{display:grid;gap:2rem;align-items:center;padding:2.5rem 0 1rem}
.kicker{margin:0 0 .75rem;color:var(--saffron-ink);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem}
.lede{font-size:1.25rem;max-width:42rem}
.actions{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.25rem 0 0}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.75rem;padding:.55rem 1.1rem;border-radius:var(--radius-pill);border:2px solid var(--ink);background:var(--ink);color:var(--paper);font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.button:hover{background:var(--ink-deep);color:#fff}
.button.secondary:hover{background:var(--ink);color:var(--paper)}
.button.secondary{background:transparent;color:var(--ink)}
.button.cta{background:var(--saffron);border-color:var(--donate-border);color:var(--donate-text)}
.button.cta:hover,.nav-cta:hover{background:var(--donate-hover);color:var(--donate-text)}
.button[disabled]{opacity:.55;cursor:not-allowed}
.fine{font-size:.95rem;color:var(--muted)}
.section{padding:2.5rem 0}.section+.section{border-top:1px solid var(--line)}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.8rem;margin:0;padding:0;list-style:none}
.facts li{background:var(--paper-2);border:1px solid var(--line);border-radius:1rem;padding:1rem}
.facts strong{display:block;font-family:var(--font-display);font-size:1.45rem;color:var(--ink)}
.facts span{color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem}
.card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius-card);padding:1.15rem 1.2rem 1.3rem;box-shadow:var(--shadow)}
.card p:last-child{margin-bottom:0}
.card .tag,.eyebrow{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--saffron-ink);margin-bottom:.3rem}
.feature{display:grid;gap:1.5rem;align-items:center;padding:2rem 0}
.feature+.feature{border-top:1px dashed var(--line)}
.note{background:var(--todo-bg);border-left:4px solid var(--saffron-ink);padding:.9rem 1rem;margin:0 0 1.25rem;border-radius:0 .75rem .75rem 0}
.note p{margin:0}
/* e-paper device illustration */
.device{justify-self:center;width:min(420px,88vw);aspect-ratio:69/129;background:var(--epd-bezel);border-radius:1.6rem;padding:7% 6%;box-shadow:var(--shadow);position:relative}
.device.landscape{aspect-ratio:129/69;width:min(480px,88vw);padding:4% 6%}
.screen{width:100%;height:100%;background:var(--epd-paper);border-radius:.3rem;color:var(--epd-ink);font-family:Georgia,serif;padding:7% 7%;overflow:hidden;display:flex;flex-direction:column;gap:.5rem;font-size:.9rem;filter:grayscale(1)}
.screen .bar{display:flex;justify-content:space-between;font:600 .7rem/1 "Source Sans 3",sans-serif;color:var(--epd-dim);border-bottom:1px solid var(--epd-rule);padding-bottom:.35rem}
.screen .tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.4rem}
.screen .tiles div{aspect-ratio:1;border:2px solid var(--epd-ink-2);border-radius:.5rem;display:grid;place-items:center;font:700 .7rem/1.1 "Source Sans 3",sans-serif;text-align:center;padding:.2rem}
.screen .tiles div.on{background:var(--epd-ink-2);color:var(--epd-paper)}
.screen p{margin:0;text-align:justify;hyphens:auto;line-height:1.45}
.screen .map{flex:1;border:1px solid var(--epd-edge);background:repeating-linear-gradient(0deg,var(--epd-grid) 0 1px,transparent 1px 22px),repeating-linear-gradient(90deg,var(--epd-grid) 0 1px,transparent 1px 22px);position:relative}
.screen .map::after{content:"";position:absolute;left:46%;top:44%;width:14px;height:14px;border-radius:50%;background:var(--epd-ink);box-shadow:0 0 0 6px rgb(0 0 0 / 15%)}
.screen .map svg{position:absolute;inset:0;width:100%;height:100%}
.msg{border:1px solid var(--epd-edge-2);border-radius:.6rem;padding:.35rem .55rem;font:500 .78rem/1.3 "Source Sans 3",sans-serif;max-width:85%}
.msg.me{align-self:flex-end;background:var(--epd-ink-2);color:var(--epd-light)}
.caption{font-size:.9rem;color:var(--muted);text-align:center;margin-top:.5rem}
/* install */
.steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;gap:.9rem}
.steps li{counter-increment:s;background:var(--paper-2);border:1px solid var(--line);border-radius:1rem;padding:1rem 1rem 1rem 3.6rem;position:relative}
.steps li::before{content:counter(s);position:absolute;left:1rem;top:1rem;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;font-weight:700;font-size:1rem}
.steps h3{font-size:1.1rem;margin-bottom:.2rem}
.picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.8rem;margin:1rem 0}
.picker label{display:block;background:var(--paper-2);border:2px solid var(--line);border-radius:1rem;padding:.9rem 1rem;cursor:pointer}
.picker input{margin-right:.4rem}
.picker label:has(input:checked){border-color:var(--ink);box-shadow:var(--shadow)}
.picker small{display:block;color:var(--muted);margin-top:.2rem;font-size:.92rem}
.flash-panel{background:var(--ink);color:var(--paper);border-radius:1.2rem;padding:1.4rem 1.5rem;display:grid;gap:.8rem}
.flash-panel h3{color:var(--paper)}
.flash-panel .fine{color:var(--on-ink-soft)}
.flash-panel .button.cta{justify-self:start}
.flash-panel :focus-visible{outline-color:var(--saffron)}
code{font-family:ui-monospace,Menlo,monospace;font-size:.88em;background:var(--todo-bg);color:var(--text);padding:.05rem .35rem;border-radius:.3rem;word-break:break-all}
table{width:100%;border-collapse:collapse;background:var(--paper-2);font-size:1rem}
th,td{text-align:left;padding:.65rem;border-bottom:1px solid var(--line);vertical-align:top}
th{font-weight:700;color:var(--ink)}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:1rem}
details{background:var(--paper-2);border:1px solid var(--line);border-radius:1rem;padding:.8rem 1rem;margin-bottom:.6rem}
summary{font-weight:700;color:var(--ink);cursor:pointer}
.site-footer{background:var(--ink-deep);color:var(--on-ink);padding:2.5rem 0 2rem;margin-top:2rem}
.site-footer a{color:var(--on-ink)}.site-footer h2,.site-footer h3{color:var(--on-ink)}
.site-footer :focus-visible{outline-color:var(--saffron)}
.footer-grid{display:grid;gap:1.5rem}
.footer-links{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:0;padding:0;list-style:none}
.legal{margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgb(246 241 231 / 20%);color:var(--on-ink-soft);font-size:.95rem}
.mock-flag{background:var(--saffron);color:var(--donate-text);text-align:center;font-weight:700;font-size:.85rem;padding:.3rem}
@media (min-width:800px){.hero{grid-template-columns:1.3fr .9fr;padding-top:3.5rem}.feature{grid-template-columns:1fr 1fr}.feature.flip>:first-child{order:2}.footer-grid{grid-template-columns:1.2fr .8fr .8fr}}
@media (max-width:720px){.actions .button{width:100%}}
.device{width:min(300px,78vw)}
.feature .device{width:min(230px,62vw)}
.feature .screen{font-size:.72rem}
.screen .tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
.screen .tiles div{min-width:0;font-size:.6rem;overflow:hidden}

/* Flash panel button is disabled in the mockup; keep its label readable (WCAG AA) instead of fading it */
.flash-panel .button.cta[disabled]{opacity:1;background:var(--saffron);color:var(--donate-text);border-style:dashed}
.eyebrow{display:inline-block}
.mock-flag a{color:var(--donate-text)}
