/* Additions on top of vendor.css (the source's compiled Tailwind). Keep tiny. */
[hidden]{display:none!important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* reveal: app.js moves elements back to their pre-reveal classes and IntersectionObserver restores them */
.gb-slider{position:relative;display:flex;align-items:center;width:100%;height:24px;cursor:pointer;touch-action:none}
.gb-slider__track{position:relative;height:8px;width:100%;flex-grow:1;overflow:hidden;border-radius:9999px;background:hsl(var(--muted))}
.gb-slider__range{position:absolute;height:100%;left:0;background:hsl(var(--primary))}
.gb-slider__thumb{position:absolute;top:50%;width:24px;height:24px;border-radius:9999px;background:#fff;border:2px solid hsl(var(--accent));box-shadow:0 1px 2px 0 rgb(0 0 0 / .05);transform:translate(-50%,-50%);transition:transform .15s;pointer-events:none}
.gb-slider:hover .gb-slider__thumb{transform:translate(-50%,-50%) scale(1.25)}
.gb-slider input[type=range]{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.gb-slider input[type=range]:focus-visible + .gb-slider__track{outline:2px solid hsl(var(--accent));outline-offset:4px;border-radius:9999px}
.is-flipped > div{transform:rotateY(180deg)!important}
.is-flipped .gb-back{display:block!important}
body.modal-open{overflow:hidden}
::selection{background:hsl(var(--accent));color:hsl(var(--primary))}
.gb-seg input:checked + span{background:#2D5A3D;color:#fff;border-color:#2D5A3D}
.gb-seg input:focus-visible + span{outline:2px solid hsl(var(--accent));outline-offset:2px}
