/* Display options: widget + preference overrides. Pairs with a11y.js */

/* ---------- widget ---------- */
.a11y-btn{position:fixed;z-index:60;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));
  width:48px;height:48px;min-width:44px;min-height:44px;border-radius:50%;display:grid;place-items:center;cursor:pointer;padding:0;
  background:rgba(8,25,15,.9);color:#F4B72E;border:1px solid rgba(244,183,46,.55);box-shadow:0 8px 28px rgba(0,0,0,.45);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.a11y-btn svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.8;fill:none}
.a11y-btn:hover{background:#0C3A29}
.a11y-btn:focus-visible,.a11y-panel button:focus-visible{outline:3px solid #F4B72E;outline-offset:3px}
.a11y-panel{position:fixed;z-index:61;right:max(16px,env(safe-area-inset-right));bottom:calc(max(16px,env(safe-area-inset-bottom)) + 58px);
  width:min(360px,calc(100vw - 32px));max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px);overflow:auto;
  background:rgba(8,25,15,.94);color:#F4F1E7;border:1px solid rgba(49,217,134,.3);border-radius:18px;padding:14px 14px 12px;
  box-shadow:0 30px 70px -20px rgba(0,0,0,.7);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);
  font:15px/1.4 var(--sans,system-ui,sans-serif);letter-spacing:normal;word-spacing:normal}
.a11y-panel[hidden]{display:none}
.a11y-panel:focus{outline:none}
.a11y-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 2px 8px}
.a11y-head h2{margin:0;font:700 12.5px/1.2 var(--mono,monospace);letter-spacing:.24em;text-transform:uppercase;color:#F4B72E}
.a11y-x{width:44px;height:44px;margin:-6px -6px -6px 0;background:none;border:0;color:#F4F1E7;font-size:26px;line-height:1;cursor:pointer;border-radius:10px}
.a11y-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.a11y-list li{max-width:none}
.a11y-sw{all:unset;box-sizing:border-box;width:100%;min-height:48px;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;
  cursor:pointer;border-radius:12px;background:rgba(49,217,134,.06);border:1px solid rgba(49,217,134,.18);color:#F4F1E7;font:15px/1.3 var(--sans,system-ui,sans-serif)}
.a11y-sw:hover{background:rgba(49,217,134,.12)}
.a11y-sw:focus-visible{outline:3px solid #F4B72E;outline-offset:2px}
.a11y-txt{display:flex;flex-direction:column;min-width:0}
.a11y-lbl{font-weight:600}
.a11y-hint{font-size:12.5px;color:#a9c6b6}
.a11y-knob{flex:0 0 auto;position:relative;width:44px;height:26px;border-radius:999px;background:#0C3A29;border:1.5px solid #6f9a84;transition:background .2s,border-color .2s}
.a11y-knob::after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#cfe3d8;transition:transform .2s,background .2s}
.a11y-sw[aria-checked="true"] .a11y-knob{background:#31D986;border-color:#31D986}
.a11y-sw[aria-checked="true"] .a11y-knob::after{transform:translateX(18px);background:#04110a}
.a11y-foot{margin-top:10px;display:flex;justify-content:flex-end}
.a11y-reset{min-height:44px;padding:8px 16px;border-radius:999px;cursor:pointer;background:transparent;color:#F4B72E;border:1px solid rgba(244,183,46,.55);font:700 12.5px/1 var(--mono,monospace);letter-spacing:.14em;text-transform:uppercase}
.a11y-reset:hover{background:rgba(244,183,46,.12)}
@media (max-width:360px){.a11y-panel{padding:10px}.a11y-hint{display:none}}

/* ---------- reduce motion ---------- */
html[data-motion="reduce"]{scroll-behavior:auto}
html[data-motion="reduce"] *,html[data-motion="reduce"] *::before,html[data-motion="reduce"] *::after{
  animation-duration:.001ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition:none!important;scroll-behavior:auto!important}
html[data-motion="reduce"] .reveal,html[data-motion="reduce"] .w,html[data-motion="reduce"] .rise{opacity:1!important;transform:none!important}
html[data-motion="reduce"] .card{transform:none!important}
html[data-motion="reduce"] .caret{animation:none!important}

/* ---------- hide 3D ---------- */
html[data-stage="off"] #stage{display:none!important}

/* ---------- larger text ---------- */
html[data-text="large"]{font-size:112.5%}
html[data-text="large"] body{font-size:19.5px}

/* ---------- readable spacing ---------- */
html[data-spacing="wide"] body{letter-spacing:.03em;word-spacing:.12em;line-height:1.85}
html[data-spacing="wide"] p,html[data-spacing="wide"] li,html[data-spacing="wide"] .lead,html[data-spacing="wide"] .sub{line-height:1.85;max-width:68ch}
html[data-spacing="wide"] .a11y-list li{max-width:none}
html[data-spacing="wide"] .a11y-panel,html[data-spacing="wide"] .a11y-sw{letter-spacing:normal;word-spacing:normal;line-height:1.4}

/* ---------- underline links ---------- */
html[data-links="all"] a,html[data-contrast="high"] a{text-decoration:underline!important;text-underline-offset:3px;text-decoration-thickness:2px}

/* ---------- high contrast ---------- */
html[data-contrast="high"],html[data-contrast="high"] body{background:#000!important;color:#fff!important}
html[data-contrast="high"] .backdrop,html[data-contrast="high"] .grid-bg{display:none}
html[data-contrast="high"] :is(header.site.solid,.panel,.card,.term,.term pre,footer,.step::before){background:#000!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html[data-contrast="high"] :is(.panel,.card,.term,header.site.solid,footer,.term .bar){border-color:#7dffbd!important}
html[data-contrast="high"] :is(.card,.panel,.term){border-width:2px!important}
html[data-contrast="high"] :is(p,li,h1,h2,h3,h4,span,small,b,strong,nav a,.brand){color:#fff}
html[data-contrast="high"] :is(.lead,.sub,.card p,.step p,.panel p,.checks li,.cue,.meta,.term .c,.term .bar b,footer,footer *){color:#e6efe9!important}
html[data-contrast="high"] :is(.eyebrow,.kicker,.price,.brand small,.step::before){color:#ffd24d!important}
html[data-contrast="high"] h1 .grad{background:none!important;-webkit-text-fill-color:currentColor;color:#7dffbd!important}
html[data-contrast="high"] a:not(.btn){color:#7dffbd}
html[data-contrast="high"] .btn{background:#7dffbd;color:#000}
html[data-contrast="high"] .btn.ghost{background:#000;color:#fff;box-shadow:inset 0 0 0 2px #7dffbd}
html[data-contrast="high"] :is(.a11y-btn,.a11y-panel){background:#000;border-color:#ffd24d;color:#fff}
html[data-contrast="high"] .a11y-hint{color:#e6efe9}
html[data-contrast="high"] .a11y-sw{background:#000;border-color:#7dffbd}
html[data-contrast="high"] .a11y-panel :is(span,h2,button){color:inherit}
html[data-contrast="high"] .a11y-head h2,html[data-contrast="high"] .a11y-reset{color:#ffd24d}

/* ---------- light mode ---------- */
html[data-theme="light"]{--night:#F4F1E7;--deep:#E3EBE0;--field:#0f7a46;--ph:#0f7a46;--gold:#8a5a00;--cream:#08190F;--muted:#355245;
  --line:rgba(15,122,70,.35);--glass:rgba(255,255,255,.82);color-scheme:light}
html[data-theme="light"] :is(.backdrop,.grid-bg){display:none}
/* additive glow vanishes on cream: invert to dark particles, hue-rotate keeps the greens/gold */
html[data-theme="light"] #stage{filter:invert(1) hue-rotate(180deg) saturate(1.4)}
html[data-theme="light"] header.site.solid{background:rgba(244,241,231,.92)}
html[data-theme="light"] .card{background:linear-gradient(165deg,#fff,#E9EFE4)}
html[data-theme="light"] .term{background:#fff;box-shadow:0 20px 50px -30px rgba(8,25,15,.5)}
html[data-theme="light"] .term .bar{background:#E3EBE0}
html[data-theme="light"] .term .o{color:#08190F}
html[data-theme="light"] footer{background:#E3EBE0}
html[data-theme="light"] .btn{background:#0f7a46;color:#fff}
html[data-theme="light"] .btn.ghost{background:transparent;color:#08190F;box-shadow:inset 0 0 0 1.5px #0f7a46}
html[data-theme="light"] h1 .grad{background:linear-gradient(92deg,#0f7a46,#8a5a00);-webkit-background-clip:text;background-clip:text}
html[data-theme="light"] .price{background:rgba(138,90,0,.1);border-color:rgba(138,90,0,.45)}
html[data-theme="light"] .step::before{background:#F4F1E7}
html[data-theme="light"] #stage.on{opacity:.3}
html[data-theme="light"] :is(.a11y-btn,.a11y-panel){background:rgba(255,255,255,.96);color:#08190F;border-color:#8a5a00}
html[data-theme="light"] :is(.a11y-head h2,.a11y-reset){color:#8a5a00;border-color:#8a5a00}
html[data-theme="light"] :is(.a11y-x,.a11y-sw){color:#08190F}
html[data-theme="light"] .a11y-sw{background:#EEF3EA;border-color:rgba(15,122,70,.4)}
html[data-theme="light"] .a11y-hint{color:#355245}
html[data-theme="light"] .a11y-knob{background:#fff;border-color:#355245}
html[data-theme="light"] .a11y-knob::after{background:#355245}
html[data-theme="light"] .a11y-sw[aria-checked="true"] .a11y-knob{background:#0f7a46;border-color:#0f7a46}
html[data-theme="light"] .a11y-sw[aria-checked="true"] .a11y-knob::after{background:#fff}

/* light mode: pieces that keep dark backgrounds or their own palette */
html[data-theme="light"] .cta{background:radial-gradient(80% 120% at 50% 0%,rgba(15,122,70,.14),transparent 60%),#fff;border-color:rgba(15,122,70,.35)}
html[data-theme="light"] .term .ok{color:#0f7a46}
html[data-theme="light"]{--bg:#F4F1E7;--text:#08190F;--accent:#0f7a46}  /* legal.html variables */

/* print: everything visible, no decoration, dark on white */
@media print{
  html,body{background:#fff!important;color:#000!important}
  #stage,.backdrop,.grid-bg,.a11y-btn,.a11y-panel,.cue,.skip{display:none!important}
  header.site{position:static!important;background:none!important}
  *{box-shadow:none!important;text-shadow:none!important;backdrop-filter:none!important}
  .reveal,.card,.w,.rise{opacity:1!important;transform:none!important}
  :is(.card,.panel,.cta,.term){background:#fff!important;border:1px solid #999!important;color:#000!important}
  h1 .grad{color:#000!important;-webkit-text-fill-color:#000;background:none!important}
  a{color:#000!important}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:.85em}
}
