/* Skip link, top bar, reveal animation, accessibility widget (markup from js/ui/accessibility.js). */
.skip-link{position:absolute;top:-60px;right:0;background:var(--forest);color:#fff;padding:10px 18px;border-radius:0 0 8px 8px;font-size:.95rem;font-weight:700;z-index:9999;transition:top .2s;text-decoration:none}
.skip-link:focus{top:0}

/* Top bar: logo + quiet CTA */
.top{position:absolute;inset-inline:0;top:0;z-index:5;padding:22px 0}
.top .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px}
.top img{width:clamp(130px,16vw,170px)}
.top .btn{padding:10px 20px;min-height:42px;font-size:.95rem}

/* Reveal-and-stay: elements fade in once and never hide again */
.rv{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
html:not(.js-on) .rv{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* Accessibility widget */
.acc-widget{position:fixed;bottom:84px;right:16px;z-index:991;display:flex;flex-direction:column;align-items:flex-end}
@media (min-width:901px){.acc-widget{bottom:20px;right:20px}}
.acc-btn{width:52px;height:52px;background:var(--cream);border-radius:50%;display:flex;align-items:center;justify-content:center;border:none;box-shadow:0 4px 18px rgba(0,0,0,.3);transition:transform .25s var(--ease)}
.acc-btn svg{stroke:var(--deep)}
.acc-btn:hover{transform:scale(1.06)}
.acc-panel{background:#FBF9F6;color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:14px;width:236px;margin-bottom:10px;box-shadow:0 10px 32px rgba(0,0,0,.2)}
.acc-panel[hidden]{display:none}
.acc-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.acc-panel-title{font-size:1rem;font-weight:700;color:var(--forest)}
.acc-close{background:none;border:none;font-size:1rem;padding:6px 10px;min-width:40px;min-height:40px}
.acc-panel-body{display:flex;flex-direction:column;gap:7px}
.acc-row{display:flex;align-items:center;justify-content:space-between;padding:7px 9px;background:var(--cream);border-radius:8px}
.acc-row-label{font-size:.9rem}
.acc-row-btns{display:flex;gap:5px}
.acc-row-btns button{background:#fff;border:1px solid var(--line);border-radius:5px;padding:6px 9px;font-size:.85rem;min-height:36px}
.acc-row-btns button.active,.acc-toggle.active{background:var(--forest);color:#fff;border-color:var(--forest)}
.acc-toggle,.acc-reset{width:100%;text-align:start;background:var(--cream);border:1px solid transparent;border-radius:8px;padding:9px 12px;font-size:.92rem;min-height:40px}
.acc-reset{background:none;border-color:var(--line)}
.acc-statement-link{display:block;text-align:center;margin-top:4px;padding:8px;font-size:.9rem;font-weight:500;color:var(--forest)}

/* Display modes set on <html> by the widget */
html.a11y-contrast{--deep:#000;--deep-2:#000;--forest:#000;--cream:#fff;--cream-2:#fff;--peach:#FFD9B8;--on-dark:#fff;--on-dark-soft:#fff;--ink:#000;--ink-soft:#000;--line:rgba(0,0,0,.6);--line-dark:rgba(255,255,255,.6);--mist:#fff}
html.a11y-contrast .hero{background:#000}
html.a11y-contrast .light,html.a11y-contrast .register{background:#fff}
html.a11y-contrast .btn-peach{background:#FFD9B8;color:#000}
html.a11y-links a{text-decoration:underline!important;text-underline-offset:3px;outline:2px dashed currentColor;outline-offset:2px}
html.a11y-readable body,html.a11y-readable button,html.a11y-readable input{font-family:Arial,Helvetica,sans-serif!important;letter-spacing:.02em;word-spacing:.08em}
html.a11y-readable main p,html.a11y-readable main li{line-height:1.95}
html.a11y-stopmotion *,html.a11y-stopmotion *::before,html.a11y-stopmotion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.a11y-stopmotion .rv{opacity:1!important;transform:none!important}
