/* Portable enhancements to the site's original design. */
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{-webkit-font-smoothing:antialiased}
button,a,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #00aff0;outline-offset:5px}
.hero-image{transform:none}
.text-reveal-line-wrapper{transform:none!important}
.text-reveal-line{overflow:visible}
/* Use the completed reveal colours without depending on Webflow animations. */
.text-reveal-line-wrapper .text-huge{color:var(--primary-blue)}
#contact .text-reveal-line-wrapper .text-huge{color:var(--lightest-grey)}
.button-hover-line,.huge-button-hover-line,.hover-arrow-right,.huge-hover-arrow-right{display:none}
.button11:hover .button-bottom-line{background:currentColor;opacity:.6}
.accordion-heading-container{list-style:none;cursor:pointer}
.accordion-heading-container::-webkit-details-marker{display:none}
.accordion-content-container{height:auto!important;display:block!important}
details:not([open])>.accordion-content-container{display:none!important}
details[open] .accordion-plus{transform:rotate(45deg)}
.accordion-plus{transition:transform .2s}
.accordion-text{opacity:1!important;transform:none!important}
.w-slider{background:transparent}
.w-slider-mask{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x pan-y;overscroll-behavior-x:contain}
.w-slider-mask::-webkit-scrollbar{display:none}
.w-slide{flex:0 0 100%;width:100%;scroll-snap-align:start;scroll-snap-stop:always;white-space:normal}
.w-slide img{width:100%;height:100%;object-fit:cover}
.w-slider-arrow-left,.w-slider-arrow-right{border:0;background:rgba(0,0,0,.4);color:white;width:44px;height:44px;min-width:44px;min-height:44px;top:calc(50% - 22px);bottom:auto;margin:0;border-radius:50%;font:32px/1 Arial,sans-serif;display:none;align-items:center;justify-content:center;cursor:pointer}
.gallery-ready .w-slider-arrow-left,.gallery-ready .w-slider-arrow-right{display:flex}
.w-slider-arrow-left{left:12px}.w-slider-arrow-right{right:12px}
.gallery-controls{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);z-index:5;display:none;align-items:center;gap:12px;padding:5px 12px;background:rgba(0,0,0,.7);border-radius:24px;color:#fff;font:14px/1.4 Inter,sans-serif;white-space:nowrap}
.gallery-ready .gallery-controls{display:flex}
.gallery-pause{border:0;padding:6px;background:transparent;color:inherit;font:inherit;cursor:pointer}
.unavailable-link{opacity:.45;cursor:default}
.nav-menu{flex-wrap:wrap}
@media(max-width:767px){.text-huge{overflow-wrap:normal}.w-slider{min-height:0}.navbar .nav-menu{gap:16px}.text-large.nav-text{font-size:clamp(18px,4.6vw,28px)}.gallery-controls{bottom:8px}}
/* The inherited tablet grid keeps desktop column positions for these two cards.
   Fill the available width on Android-sized screens instead. */
@media(max-width:991px){#Intro .intro-grid{grid-template-columns:minmax(0,1fr)}#Intro .intro-grid>*{grid-area:auto!important;grid-column:1/-1!important}#Intro ._3-column-text-container{max-width:none}}
@media(max-width:375px){.navbar .nav-menu{display:grid;grid-template-columns:repeat(2,max-content);column-gap:28px;row-gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
