
/* Shared technical demo fixes; each demo keeps its own colours and typefaces. */
.hero-left,.booking>* , .foot>*,.bi>div{min-width:0}
.bi>svg{flex-shrink:0}.bi-value,.foot-col li{overflow-wrap:anywhere}
.hero-trust{flex-wrap:wrap}.hero-trust-item{min-width:0}
.reviews-rating,.rev-rating{max-width:100%;flex-wrap:wrap;justify-content:center;row-gap:10px}
@media(max-width:800px){.reviews{padding:80px 28px}.reviews-grid{grid-template-columns:minmax(0,1fr)!important}.foot{grid-template-columns:repeat(2,minmax(0,1fr))!important}.booking{grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:430px){.reviews-rating,.rev-rating{padding:12px 14px;column-gap:10px}.rr-stars{font-size:15px}.foot{grid-template-columns:minmax(0,1fr)!important}.booking-form{padding:28px 20px!important}.booking-left p,.hero-left p{max-width:100%}.hero-trust{gap:14px!important}.steps{grid-template-columns:minmax(0,1fr)!important}.reviews h2,.shead h2{font-size:clamp(1.5rem,7vw,2rem)!important}.field-row{grid-template-columns:minmax(0,1fr)!important}}
@media(prefers-reduced-motion:reduce){.strip{white-space:normal}.strip-track{display:flex;flex-wrap:wrap;justify-content:center;animation:none!important;width:100%}.strip-item{padding:10px 0}.strip-item span{padding:0 16px;font-size:.8rem}.strip-item[aria-hidden="true"]{display:none}}

html{scroll-padding-top:110px}img,svg{max-width:100%}input,select,textarea{font-size:max(16px,1rem)}
:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.demo-skip{position:fixed;top:8px;left:8px;transform:translateY(-200%);background:#fff;color:#111;padding:12px;z-index:9999}.demo-skip:focus{transform:none}
.demo-menu-toggle{display:none;min-width:44px;min-height:44px;padding:9px 12px;background:transparent;border:1px solid currentColor;border-radius:6px;color:inherit;font:14px inherit;cursor:pointer;white-space:nowrap}
@media(max-width:1100px){nav{gap:16px}nav .nav-links{gap:18px}nav .nav-links a{letter-spacing:.09em}nav .nav-cta{padding:13px 18px;letter-spacing:.12em}}
@media(max-width:800px){.demo-menu-toggle{display:block;margin-left:auto}nav{padding-left:20px!important;padding-right:20px!important;flex-wrap:nowrap;gap:10px}nav .nav-logo{font-size:clamp(15px,3.8vw,22px);min-width:0}nav .nav-links{display:none!important}nav.demo-menu-open .nav-links{display:flex!important;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--bg,#111);border-bottom:1px solid var(--border,#555);padding:12px 20px;max-height:calc(100dvh - 96px);overflow:auto;overscroll-behavior:contain;z-index:1000}nav.demo-menu-open .nav-links a{display:block;padding:14px 4px;font-size:14px;line-height:1.4}nav .nav-cta{display:none}html{scroll-padding-top:96px}}
@media(max-width:430px){.hero h1{overflow-wrap:normal;word-break:normal}.hero-bottom{max-width:100%;min-width:0}.hero-actions,.hero-btns{max-width:100%}.hero-btns{flex-wrap:wrap}.hero-btns>a{max-width:100%;box-sizing:border-box}.demo-menu-toggle{font-size:12px;padding:8px}.hero-desc{max-width:100%}}
@media(max-height:500px) and (orientation:landscape){nav,nav.stuck{padding-top:12px!important;padding-bottom:12px!important}.hero{min-height:100svh;padding-top:120px!important}html{scroll-padding-top:86px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}}
