/* Motion enhancement: usable without JavaScript and respectful of reduced motion. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
footer{background:#102f49;color:#f3f9ff;border-top:1px solid #234861}footer>span,footer .legal{color:#c3d8e8}footer .logo small{color:#c3d8e8}footer .mark span{color:#79d9ff}footer a:hover,footer .legal:hover{color:#8be0ff;opacity:1}footer a:focus-visible,footer button:focus-visible{outline-color:#8be0ff}
body{animation:page-appear .85s var(--motion-ease) both}a,button{transition:opacity .25s ease,color .25s ease,background .25s ease,box-shadow .3s ease,transform .3s var(--motion-ease)}a:hover{opacity:.78}a:focus-visible{opacity:1}.button:hover,.service:hover{opacity:1;box-shadow:0 12px 30px #147bab1b}header nav>a:not(.nav-cta){position:relative;padding-block:8px}header nav>a:not(.nav-cta):after{content:'';position:absolute;left:0;bottom:0;right:0;height:2px;background:#31a9d5;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--motion-ease)}header nav>a:hover:after{transform:scaleX(1)}header{transition:box-shadow .35s,background .35s}header.is-scrolled{background:#f6fbfff5;box-shadow:0 8px 30px #123d5512}
main{transition:opacity .18s ease}main.link-fading{opacity:.2}main.link-arrived{animation:link-arrive .55s ease both}.hero{position:relative;isolation:isolate}.hero:before{content:'';position:absolute;z-index:-1;width:45%;height:70%;right:3%;top:5%;background:radial-gradient(ellipse,#b8edff88,transparent 70%);filter:blur(35px);pointer-events:none}.hero-copy>*{animation:hero-enter .9s var(--motion-ease) both}.hero-copy .eyebrow{animation-delay:.08s}.hero-copy h1{animation-delay:.18s}.hero-copy>p{animation-delay:.3s}.hero-copy .actions{animation-delay:.42s}.hero-copy .hero-notes{animation-delay:.54s}.hero-visual{isolation:isolate;animation:hero-enter 1.15s var(--motion-ease) .2s both;overflow:visible}.hero-visual>img{animation:hero-breathe 18s ease-in-out infinite;will-change:transform;clip-path:inset(0 round 14px 100px 14px 14px)}.hero-fx{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;z-index:1}.hero-fx:before{content:'';position:absolute;inset:-50%;background:linear-gradient(110deg,transparent 35%,#ffffff00 42%,#ffffff5c 49%,#ffffff00 56%,transparent 65%);transform:translateX(-70%) rotate(-8deg);animation:light-sweep 10s ease-in-out infinite}.hero-fx:after{content:'';position:absolute;inset:0;background:linear-gradient(155deg,#b7edff22,transparent 45%,#167fa933);mix-blend-mode:soft-light}.hero-fx i{position:absolute;width:52px;height:52px;border:1px solid #ffffffb0;border-radius:50%;background:radial-gradient(circle at 30% 25%,#ffffffb3,transparent 65%);box-shadow:inset 0 0 15px #ffffff55,0 4px 15px #77d4ff15;animation:bubble-rise 11s ease-in-out infinite}.hero-fx i:nth-child(1){left:7%;bottom:12%;width:30px;height:30px}.hero-fx i:nth-child(2){right:16%;bottom:30%;width:70px;height:70px;animation-delay:-4s;animation-duration:15s}.hero-fx i:nth-child(3){left:33%;bottom:48%;width:20px;height:20px;animation-delay:-7s}.hero-fx i:nth-child(4){right:7%;bottom:8%;width:39px;height:39px;animation-delay:-2s;animation-duration:13s}.hero-glint{position:absolute;color:#fff;font-size:33px;text-shadow:0 0 20px #fff;animation:glint 5s ease-in-out infinite;z-index:2;pointer-events:none}.hero-glint.one{top:26%;left:19%}.hero-glint.two{top:62%;right:26%;font-size:23px;animation-delay:2s}.image-label,.photo-card,.fresh-stamp{z-index:3}.photo-card{animation:float-card 6s ease-in-out infinite}.fresh-stamp{animation:float-stamp 7s ease-in-out infinite}.fresh-stamp>span{display:inline-block;animation:slow-turn 24s linear infinite}.eyebrow>span{box-shadow:0 0 0 0 #32b4d944;animation:dot-pulse 3s ease-out infinite}.detail-image{overflow:hidden}.detail-image img,.about-photo img{transition:transform 1s var(--motion-ease)}.detail-image:hover img,.about-photo:hover img{transform:scale(1.045)}.reveal-ready{opacity:0;transform:translate3d(0,28px,0);transition:opacity .8s var(--motion-ease),transform .8s var(--motion-ease);transition-delay:var(--reveal-delay,0ms)}.reveal-ready.revealed{opacity:1;transform:translateZ(0)}.service.reveal-ready{transition:opacity .8s var(--motion-ease),transform .65s var(--motion-ease),background .25s,box-shadow .3s}.service.revealed:hover{transform:translateY(-5px)}details[open] p{animation:faq-appear .4s var(--motion-ease)}dialog[open]{animation:dialog-enter .3s var(--motion-ease)}dialog[open]::backdrop{animation:page-appear .3s ease}
@keyframes page-appear{from{opacity:0}to{opacity:1}}@keyframes hero-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes link-arrive{from{opacity:.25}to{opacity:1}}@keyframes hero-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}@keyframes light-sweep{0%,25%{transform:translateX(-70%) rotate(-8deg)}65%,100%{transform:translateX(70%) rotate(-8deg)}}@keyframes bubble-rise{0%,100%{transform:translate(0,0);opacity:.35}50%{transform:translate(9px,-45px);opacity:.85}}@keyframes glint{0%,100%{opacity:.2;transform:scale(.75) rotate(0)}50%{opacity:.95;transform:scale(1.1) rotate(20deg)}}@keyframes float-card{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes float-stamp{0%,100%{transform:translateY(0) rotate(10deg)}50%{transform:translateY(-9px) rotate(6deg)}}@keyframes slow-turn{to{transform:rotate(360deg)}}@keyframes dot-pulse{65%,100%{box-shadow:0 0 0 7px #32b4d900}}@keyframes faq-appear{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-enter{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:760px){.hero-visual>img{clip-path:inset(0 round 14px 75px 14px 14px)}nav.open{animation:hero-enter .3s var(--motion-ease)}.hero-fx i:nth-child(2){width:45px;height:45px}.reveal-ready{transform:translateY(18px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-ready{opacity:1;transform:none}main.link-fading{opacity:1}.hero-visual>img{will-change:auto}}

.brand-logo{display:flex;align-items:center;width:190px;height:88px;flex-shrink:0}.brand-logo img{display:block;width:100%;height:100%;object-fit:contain}footer .brand-logo{width:190px;height:100px}footer .brand-logo img{filter:brightness(0) invert(1)}@media(max-width:760px){header .brand-logo{width:150px;height:72px}footer .brand-logo{width:170px;height:90px}}

.direct-contact{padding:38px;background:#e6f6ff;border:1px solid #cde8f5;border-radius:16px;align-self:center}.direct-contact h3{font-size:30px;line-height:1.3;letter-spacing:-1px;margin:18px 0}.direct-contact>p{max-width:380px}.contact-channel{display:flex;align-items:center;gap:16px;border-top:1px solid #bdddea;padding:25px 0}.contact-channel:last-child{padding-bottom:5px}.contact-channel>span:last-child{margin-left:auto}.channel-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#c9edff;color:#137aa5;font-size:24px;flex-shrink:0}.contact-channel small{display:block;font-size:9px;letter-spacing:1.5px;margin-bottom:7px;color:#537889}.contact-channel strong{font-size:20px;font-weight:600;letter-spacing:-.4px}.contact-channel:hover{transform:translateX(4px)}
.detail-image img,.about-photo img{animation:service-image-drift 16s ease-in-out infinite;will-change:transform}.detail-row:nth-of-type(even) .detail-image img{animation-direction:reverse;animation-delay:-6s}.about-photo img{animation-duration:20s;animation-delay:-8s}.detail-image:hover img,.about-photo:hover img{animation-play-state:paused}.detail-image{transition:box-shadow .6s ease}.detail-image:hover{box-shadow:0 16px 40px #137aa520}.hero-visual>img{animation:hero-image-drift 17s ease-in-out infinite}.about-photo:after,.detail-image:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 25%,#ffffff2b 45%,transparent 65%);transform:translateX(-120%);animation:service-light 14s ease-in-out infinite}.detail-row:nth-of-type(even) .detail-image:after{animation-delay:-7s}.about-photo:after{animation-delay:-4s}@keyframes service-image-drift{0%,100%{transform:scale(1.025) translate(0,0)}50%{transform:scale(1.085) translate(-.7%,.4%)}}@keyframes hero-image-drift{0%,100%{transform:scale(1.015) translate(0,0)}50%{transform:scale(1.055) translate(-.5%,.3%)}}@keyframes service-light{0%,35%{transform:translateX(-120%)}75%,100%{transform:translateX(120%)}}@media(max-width:760px){.direct-contact{padding:26px}.direct-contact h3{font-size:26px}.contact-channel{gap:12px}.contact-channel strong{font-size:17px}.channel-icon{width:38px;height:38px;font-size:20px}}@media(prefers-reduced-motion:reduce){.detail-image img,.about-photo img,.hero-visual>img{animation:none!important;transform:none!important;will-change:auto}.detail-image:after,.about-photo:after{display:none}.contact-channel:hover{transform:none}}

.hero-copy h1{font-size:clamp(45px,4.4vw,70px)}.hero-copy>p{max-width:490px}.hero-parallax{position:absolute;inset:0;overflow:hidden;border-radius:inherit}.hero-parallax img{position:absolute;width:100%;height:calc(100% + 140px);top:-70px;object-fit:cover;transform:translate3d(0,var(--hero-parallax,0px),0) scale(1.025);will-change:transform}.service-bottom{gap:10px}.full-footer{display:block;padding:55px 6% 25px}.full-footer .footer-main{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:45px;align-items:start}.footer-brand p{font-size:13px;line-height:1.9;color:#c3d8e8}.full-footer h2{font-family:'DM Sans',sans-serif;font-size:16px;font-weight:600;letter-spacing:0;margin:20px 0 18px}.full-footer address{font-style:normal;font-size:14px;line-height:1.9;color:#d6e5ef}.full-footer .footer-main p,.full-footer .footer-main a:not(.brand-logo){font-size:14px;line-height:1.9}.full-footer .footer-main p{color:#d6e5ef}.full-footer .footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:35px;padding-top:25px;border-top:1px solid #365269;font-size:11px;color:#c3d8e8}.footer-bottom>div{display:flex;gap:25px}.full-footer .brand-logo{height:100px}.detail-row[id]{scroll-margin-top:20px}@media(max-width:760px){.hero-copy h1{font-size:clamp(39px,8.4vw,61px)}.hero-parallax img{height:calc(100% + 80px);top:-40px}.full-footer .footer-main{grid-template-columns:1fr;gap:14px}.full-footer .footer-bottom{align-items:flex-start;flex-direction:column;gap:20px}.full-footer .footer-main .footer-brand{width:100%}.full-footer .footer-bottom>div{gap:22px}}@media(prefers-reduced-motion:reduce){.hero-parallax img{transform:none;will-change:auto}}
