:root{--onepage-nav-height:96px}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--onepage-nav-height) + 18px)}
.onepage-site .navbar{position:fixed!important;z-index:1100;background:rgba(3,15,18,.96);backdrop-filter:blur(16px)}
.onepage-site [data-nav-section],.onepage-site [id]{scroll-margin-top:calc(var(--onepage-nav-height) + 18px)}
.onepage-site #home{scroll-margin-top:0}
.onepage-source{display:flow-root;background:#fff;color:#6b6a75;position:relative}
.onepage-source.about-original-layout{background:radial-gradient(ellipse at 0 25%,#d9eee6 0,transparent 50%),radial-gradient(ellipse at 100% 75%,#e4f2ee 0,transparent 45%),#f5faf8}
.onepage-site .navbar .nav-link[aria-current="location"]{color:#78c6a5}
.onepage-site #contact iframe{max-width:100%}
.onepage-site #contact-customAlert{z-index:1200}
@media(max-width:991px){:root{--onepage-nav-height:80px}.onepage-site .navbar-collapse{max-height:calc(100svh - 100px);overflow-y:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Gentle moving light behind the Contact section. */
.onepage-site #contact{position:relative;isolation:isolate;overflow:hidden;background:#041312}
.onepage-site #contact:before,.onepage-site #contact:after{content:'';position:absolute;z-index:-1;pointer-events:none;border-radius:50%}
.onepage-site #contact:before{width:75%;height:650px;left:-20%;top:-250px;background:radial-gradient(ellipse,#388d714a,transparent 65%);filter:blur(25px);animation:contact-aurora 15s ease-in-out infinite alternate}
.onepage-site #contact:after{width:65%;height:650px;right:-20%;bottom:-200px;background:radial-gradient(ellipse,#087c7140,transparent 65%);filter:blur(30px);animation:contact-aurora 18s ease-in-out -7s infinite alternate-reverse}
.contact-atmosphere{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.contact-atmosphere:before{content:'';position:absolute;width:110%;height:55%;left:-5%;top:18%;border:1px solid #65d6b619;border-radius:50%;transform:rotate(-17deg);animation:contact-orbit-light 18s ease-in-out infinite alternate}
.contact-atmosphere span{position:absolute;width:3px;height:3px;border-radius:50%;background:#93dfbf;box-shadow:0 0 9px #75d6b766;opacity:0;animation:contact-drift var(--duration) ease-in-out var(--delay) infinite}
@keyframes contact-aurora{to{transform:translate(22%,65px) scale(1.15)}}
@keyframes contact-orbit-light{to{transform:rotate(-8deg) translateY(50px);opacity:.4}}
@keyframes contact-drift{0%,100%{opacity:0;transform:translate(0,25px)}35%,65%{opacity:.35}85%{opacity:0;transform:translate(25px,-75px)}}
@media(max-width:600px){.onepage-site #contact:before,.onepage-site #contact:after{width:110%;height:500px}.contact-atmosphere span:nth-child(n+11){display:none}}
@media(prefers-reduced-motion:reduce){.onepage-site #contact:before,.onepage-site #contact:after,.contact-atmosphere:before,.contact-atmosphere span{animation:none}.contact-atmosphere span{opacity:.18}}
/* One Contact section contains the form, office information and map. */
#contact .contact-office-details{margin-top:55px;padding-top:40px;border-top:1px solid #44735c55}
#contact .contact-office-details :is(h5,.semantic-eyebrow){color:#edf6f1;font-size:17px}
#contact .contact-office-details h6{color:#9bd0b2!important;font-size:14px;line-height:1.7;overflow-wrap:anywhere}
#contact .contact-office-map{overflow:hidden;border:1px solid #345c49;border-radius:18px;background:#0a2017}
#contact .contact-office-map iframe{width:100%;height:360px;display:block}
@media(max-width:600px){#contact .contact-office-map iframe{height:290px}}
/* Keep the navbar transparent on desktop, mobile and while scrolling. */
body.onepage-site .navbar.navbar-expand-lg,body.vision-home .navbar.sticky-top{background:transparent!important;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
body.onepage-site .navbar.navbar-expand-lg.navbar-over-light{background:#0d353d!important;box-shadow:0 1px 8px #0002}
@media(prefers-reduced-motion:reduce){.onepage-site .navbar{transition:none}}
