html{scroll-behavior:smooth}section[id]{scroll-margin-top:90px}body{font-family:"Lato",sans-serif;margin:0}.hero{position:relative;width:100%;height:600px;overflow:hidden}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;pointer-events:none;-webkit-transform:translateZ(0);transform:translateZ(0)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgb(14 219 221 / .45),rgb(9 118 216 / .85)),rgb(0 0 0 / .15);z-index:2;pointer-events:none}.hero-waves{position:absolute;bottom:0;left:0;width:100%;max-width:none;height:500px;z-index:4;transform:translateX(-100%);animation:slideInFromLeft .90s cubic-bezier(.22,1,.36,1) forwards;pointer-events:none;object-fit:cover;object-position:left center}@keyframes slideInFromLeft{to{transform:translateX(0)}}.hero-content{position:absolute;z-index:5;height:100%;display:flex;flex-direction:column;color:#fff;text-align:left;padding:2rem}.hero-logo-wrap{position:absolute;left:75%;bottom:10%;z-index:6;opacity:0;transform:translate(-50%,120%) scale(.96);animation:logoRiseFade 1.3s cubic-bezier(.22,1,.36,1) forwards}.hero-logo{display:block;width:450px;height:auto}.hero-logo-wrap::after{content:"";position:absolute;left:50%;bottom:-22px;transform:translateX(-50%);width:85%;height:18px;background:radial-gradient(ellipse at center,rgb(0 0 0 / .45) 0%,rgb(0 0 0 / .25) 35%,rgb(0 0 0 / .06) 60%,#fff0 72%);filter:blur(7px);pointer-events:none}@keyframes logoRiseFade{0%{transform:translate(-50%,120%) scale(.96);opacity:0}40%{opacity:0}100%{transform:translate(-50%,0) scale(1);opacity:1}}.site-header{background:#fff;position:sticky;top:0;z-index:50}.nav{border-bottom:1px solid #e5e7eb}.nav-inner{max-width:1200px;margin:0 auto;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:flex-end}.nav-logo{font-weight:900;font-size:1.25rem;color:#0f172a;text-decoration:none}.nav-links{display:flex;gap:2rem;list-style:none}.nav-links a{text-decoration:none;color:#0f172a;font-weight:500}.nav-links a:hover,.nav-links a:focus{text-decoration:underline}.nav-toggle{display:none;font-size:1.5rem;background:none;border:none;cursor:pointer}.mobile-menu{list-style:none;padding:1rem 1.5rem;background:#fff;border-top:1px solid #e5e7eb}.mobile-menu li{margin-bottom:1rem}.mobile-menu a{text-decoration:none;color:#0f172a;font-weight:500}@media (max-width:768px){.nav-links{display:none}.nav-toggle{display:block}}@media (prefers-reduced-motion:reduce){.hero-video{display:none}}.nav-droplet-svg{position:absolute;width:0;height:0;overflow:hidden}.nav-links a{position:relative;text-decoration:none;color:#0f172a;font-weight:500;padding-bottom:.75rem}.nav-links a::after{content:"";position:absolute;left:50%;bottom:0;width:14px;height:14px;background-color:#25bef4;mask:url(/assets/droplet.svg) no-repeat center / contain;-webkit-mask:url(/assets/droplet.svg) no-repeat center / contain;transform:translate(-50%,6px) scale(.6);opacity:0;transition:opacity 0.25s ease,transform 0.25s cubic-bezier(.22,1,.36,1)}.nav-links a:hover::after,.nav-links a:focus-visible::after{opacity:1;transform:translate(-50%,0) scale(1)}.nav-links a.active::after{opacity:1;transform:translate(-50%,0) scale(1)}.blended-background{background-color:rgb(3 89 170 / .55);background-image:var(--bg-image-url);background-blend-mode:multiply;background-size:cover;background-position:center;height:300px;color:#fff;padding:20px}.blended-background2{background-color:rgb(150 227 242 / .55);background-image:var(--bg-image-url);background-blend-mode:multiply;background-size:cover;background-position:center;height:300px;color:#fff;padding:20px}.service-panel.is-open{opacity:1!important;transform:translateY(0)!important;max-height:200px!important;pointer-events:auto!important}.service-panel{transform:translateY(-.5rem)}.droplet-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:48px;height:56px;padding:0;background:#fff0;border:none;cursor:pointer;transform-origin:center;transition:transform 220ms cubic-bezier(.22,1,.36,1);z-index:10}.droplet-btn .droplet-bg{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;filter:drop-shadow(0 6px 10px rgb(0 0 0 / .25));border-radius:6px}.droplet-btn .droplet-icon{width:26px;height:26px;position:relative;z-index:11;display:block}.droplet-btn:hover,.droplet-btn:focus-visible{transform:translateY(-3px) scale(1.03);outline:none}@media (max-width:640px){.droplet-btn{width:44px;height:52px}.droplet-btn .droplet-icon{width:18px;height:18px}}

/* ── Slideshow ── */
.slideshow{position:relative;border-radius:.75rem;overflow:hidden;box-shadow:0 8px 30px rgb(0 0 0 / .12);max-width:600px;margin:0 auto}
.slideshow-viewport{position:relative;aspect-ratio:16/10;background:#0b1a2b}
/* slideshow-slide: block element that fades in/out */
.slideshow-slide{display:block;position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .7s ease;object-fit:cover;object-position:top}
.slideshow-slide.active{opacity:1}
.slideshow-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:5;background:rgb(255 255 255 / .85);border:none;width:40px;height:40px;border-radius:50%;font-size:1.1rem;color:#0f172a;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s;backdrop-filter:blur(4px)}
.slideshow-btn:hover{background:#fff;transform:translateY(-50%) scale(1.1)}
.slideshow-prev{left:.75rem}
.slideshow-next{right:.75rem}
.slideshow-dots{position:absolute;bottom:.75rem;left:50%;transform:translateX(-50%);display:flex;gap:.5rem;z-index:5}
/* Dots: minimum 24x24px touch target per Lighthouse requirements */
.slideshow-dot{width:24px;height:24px;border-radius:50%;border:2px solid #fff;background:rgb(255 255 255 / .35);cursor:pointer;transition:background .25s}
.slideshow-dot.active{background:#fff}
.dots-nav-btn{background:none;border:none;color:#fff;font-size:1.4rem;line-height:1;cursor:pointer;padding:0 2px;opacity:.75;transition:opacity .2s}
.dots-nav-btn:hover{opacity:1}
@media(max-width:640px){.slideshow-btn{width:32px;height:32px;font-size:.9rem}}
@media(max-width:640px){.hero-logo-wrap{left:50%;bottom:5%}.hero-logo{width:220px}}