*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0}
img,video{max-width:100%}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.demo-skip{position:fixed;top:-5rem;left:1rem;z-index:10000;background:#111;color:#fff;padding:.75rem 1rem;text-decoration:none}
.demo-skip:focus{top:1rem}
.demo-ribbon{position:relative;z-index:1000;display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:42px;padding:.45rem clamp(1rem,4vw,3rem);background:#17202a;color:#fff;font:400 .75rem/1.35 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:0}
.demo-ribbon strong{font-weight:750}
.demo-ribbon nav{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem}
.demo-ribbon a{color:#fff;text-decoration:underline;text-decoration-color:#8c9aa8;text-underline-offset:3px;white-space:nowrap}
.demo-ribbon a:hover{text-decoration-color:#fff}
.demo-dialog{width:min(calc(100% - 2rem),480px);max-height:calc(100% - 2rem);padding:0;border:0;border-radius:3px;box-shadow:0 20px 70px #0006;color:#17202a;background:#faf9f6}
.demo-dialog::backdrop{background:#0b141fc2}
.demo-dialog-inner{position:relative;padding:clamp(1.5rem,4vw,2.5rem);font:400 1rem/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.demo-dialog-close{position:absolute;top:.7rem;right:.8rem;border:0;background:none;color:inherit;font-size:1.7rem;line-height:1}
.demo-dialog-label{margin:0;color:#6b737a;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}
.demo-dialog h2{margin:1rem 0;font-size:clamp(1.75rem,4vw,2.4rem);line-height:1.1;letter-spacing:-.04em}
.demo-dialog p{max-width:38ch}
.demo-dialog-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.6rem}
.demo-dialog-actions a,.demo-dialog-actions button{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.65rem 1rem;border:1px solid #17202a;text-decoration:none;font-size:.85rem;font-weight:700}
.demo-dialog-actions a{background:#17202a;color:#fff}
.demo-dialog-actions button{background:transparent;color:#17202a}
.demo-dialog-actions a:hover,.demo-dialog-actions button:hover{filter:brightness(1.15)}
.demo-site :focus-visible{outline:3px solid #c66d44;outline-offset:3px}
@media(max-width:700px){.demo-ribbon{align-items:flex-start;flex-direction:column;gap:.35rem}.demo-ribbon nav{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
