/* Shared portfolio framing and accessibility; each demo owns its visual identity. */
[hidden]{display:none!important}*{box-sizing:border-box}img{max-width:100%;display:block}figure{margin:0}button,input,select,textarea{font-size:16px}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}:focus-visible{outline:2px solid currentColor;outline-offset:4px}.skip-link{position:fixed;top:-100px;left:16px;background:#fff;color:#242424;padding:12px;z-index:200}.skip-link:focus{top:12px}.demo{position:relative;top:auto;background:#302425;color:#f7f2ea;font:12px/1.5 system-ui,sans-serif;border:0}.demo .wrap{min-height:38px;gap:16px;flex-wrap:nowrap;padding:6px 0}.demo a{background:none;border-radius:0;color:#f7f2ea;padding:0;font-size:12px;font-weight:500}.demo a:hover{background:none;text-decoration:underline}.demo a.portfolio-back{margin:0}.demo span{margin:auto;text-align:center;font-size:12px}.bar{top:0}.bar .wrap{min-width:0}.bar nav a{min-height:44px;display:inline-flex;align-items:center}html{scroll-padding-top:145px}.wrap{width:min(1240px,calc(100% - 80px))}.js .rv,.rv{opacity:1;transform:none}.fields label,.form-msg,.msg,.demo-note{font-size:14px}.fields input,.fields select,.fields textarea{font-size:16px;min-width:0}form,.panel,.ticket,.sheet{min-width:0}.fields>*{min-width:0}.fields label{overflow-wrap:anywhere}.day,.slot,.time,.tab{min-height:44px}.logo small{font-size:12px}.made{font-size:12px}.menu-toggle{display:none}.demo-disclosure{font-size:14px;line-height:1.6;margin:0 0 24px;color:inherit}.sheet .x{min-width:44px;min-height:44px}.ticket dd{overflow-wrap:anywhere}body{overflow-x:visible}html{overflow-x:visible}
@media(max-width:900px){.wrap{width:calc(100% - 40px)}.bar .wrap{height:auto;min-height:86px;padding:16px 0;flex-wrap:wrap;gap:16px}.bar nav{gap:18px}.bar nav a{font-size:14px;letter-spacing:0}.bar nav a:not(.pill){display:inline-flex}.bar .pill{padding:10px 14px}.demo span{display:none}.demo a:last-child{margin-left:auto}.bar .logo{min-width:0}.bar nav{max-width:100%}.bar .long{display:inline}.bar{position:relative}.ticket{position:static}html{scroll-padding-top:20px}}
@media(max-width:520px){.wrap{width:calc(100% - 36px)}.bar .wrap{display:flex;justify-content:center}.bar nav{width:100%;justify-content:center;gap:16px;flex-wrap:wrap}.bar .logo{text-align:center}.bar nav a{font-size:13px}.demo a{font-size:12px}.btn{max-width:100%;justify-content:center;text-align:center;line-height:1.5}.fields,.choices{grid-template-columns:1fr}.fields .full{grid-column:auto}.contact-list li{flex-wrap:wrap;gap:4px}.contact-list{overflow-wrap:anywhere}.ticket{padding:24px 20px}.ticket dl{gap:10px}.demo-note{font-size:13px}.step h3{line-height:1.7}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
form > .demo-disclosure{grid-column:1/-1}.wrap > *,footer .wrap > *{min-width:0}footer{overflow-wrap:anywhere}.visit-grid p{overflow-wrap:anywhere}.panel .row > *{min-width:0}
