html{scroll-behavior:smooth}
body{min-height:100dvh;overflow-x:hidden}
a,button,input,textarea,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid rgba(56,189,248,.75); outline-offset:3px}
input,textarea,select{font-size:16px}
.reveal{opacity:0;transform:translateY(14px);transition:opacity 650ms cubic-bezier(.2,.8,.2,1),transform 650ms cubic-bezier(.2,.8,.2,1)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
body.modal-open{overflow:hidden;touch-action:none}
.carousel{scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch}
.slide{scroll-snap-align:start}
/* Light theme (so toggle actually changes look) */
html:not(.dark) body{ background:#f8fafc !important; color:#0b1220 !important; }
html:not(.dark) header{ background:rgba(248,250,252,.75) !important; border-bottom-color: rgba(2,6,23,.10) !important; }
html:not(.dark) .text-white\/70{ color: rgba(2,6,23,.70) !important; }
html:not(.dark) .text-white\/60{ color: rgba(2,6,23,.60) !important; }
html:not(.dark) .text-white\/75{ color: rgba(2,6,23,.75) !important; }
html:not(.dark) .bg-white\/5{ background: rgba(2,6,23,.04) !important; }
html:not(.dark) .bg-white\/10{ background: rgba(2,6,23,.06) !important; }
html:not(.dark) .ring-white\/10{ --tw-ring-color: rgba(2,6,23,.10) !important; }
html:not(.dark) .bg-black\/55{ background: rgba(248,250,252,.75) !important; }
html:not(.dark) .bg-black\/25{ background: rgba(2,6,23,.04) !important; }


/* Force-hide on all sizes, re-enable on desktop (safer than relying on viewport) */
.show-desktop{ display:none !important; }
@media (min-width: 769px){ .show-desktop{ display:block !important; } }
