/* Kept separate from preserved per-page CSS to make parity adjustments reviewable. */
#portable-lightbox {position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:12px;border:0;background:transparent;color:white;z-index:2147483647;box-sizing:border-box}
#portable-lightbox::backdrop {background:transparent;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}
#portable-lightbox[open] {display:flex;align-items:center;justify-content:center}
#portable-lightbox .stage {position:relative;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.18)}
#portable-lightbox img {display:block;width:100%;height:100%;object-fit:cover;opacity:1;transition:opacity .14s ease}
#portable-lightbox .stage.is-loading img {opacity:0}
#portable-lightbox button,#portable-lightbox .counter {position:absolute;border:0;background:transparent;box-shadow:none;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.7)}
#portable-lightbox button {width:64px;height:64px;border-radius:0;padding:0;cursor:pointer;font:46px/.8 system-ui;z-index:2}
#portable-lightbox button:hover {opacity:.72}
#portable-lightbox button:focus-visible {outline:3px solid #fff;outline-offset:3px}
#portable-lightbox .close {right:14px;top:14px;width:48px;height:48px;font-size:30px}
#portable-lightbox .previous {left:14px;top:50%;transform:translateY(-50%)}
#portable-lightbox .next {right:14px;top:50%;transform:translateY(-50%)}
#portable-lightbox .counter {bottom:14px;left:50%;transform:translateX(-50%);padding:8px 13px;font:600 13px/1 system-ui;z-index:2}
[data-portable-gallery] {cursor:zoom-in}
[data-portable-gallery]:focus-visible {outline:3px solid #3266ef;outline-offset:3px}
.portable-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.portable-masonry{display:block!important;column-count:3;column-gap:16px}
.portable-masonry>[data-framer-name="Image"]{display:inline-block!important;position:relative!important;width:100%!important;margin:0 0 16px!important;break-inside:avoid;vertical-align:top}
@media(max-width:1199.98px){.portable-masonry{column-count:2}}
@media(max-width:809.98px){.portable-masonry{column-count:1}}
.portable-contact-status {width:100%;font:400 12px/1.35 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;color:#f0f0f0;text-align:center;grid-column:1/-1;flex-basis:100%;margin:6px auto 0}
.portable-contact-status a {color:inherit;font-weight:700;text-decoration:underline}
.portable-turnstile {grid-column:1/-1;flex-basis:100%;min-height:65px;margin-top:8px}
@media(max-width:600px){#portable-lightbox button{width:54px;height:54px;font-size:40px}#portable-lightbox .close{width:44px;height:44px;font-size:28px}}
/* Gondens' rounded R overshoots its line box; Framer's mobile hero clipped that ink. */
@media(max-width:809.98px){.framer-1wNCo .framer-9p06qf,.framer-1wNCo .framer-4ra8h3{overflow:visible!important}}
.portable-menu{border:0;margin:0;position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:112px 20px 26px;background:#3266ef;color:#f0f0f0;box-sizing:border-box;z-index:2147483646}
.portable-menu[open]{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.portable-menu a{font-family:"Gondens DEMO Regular","Gondens DEMO Regular Placeholder",sans-serif;font-size:24px;font-weight:400;line-height:1.35;letter-spacing:-.02em;color:inherit;text-decoration:none}
.portable-menu button{position:absolute;left:20px;top:14px;width:40px;height:50px;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.portable-menu .burger-line{position:absolute;left:50%;top:50%;height:2px;background:currentColor;transform-origin:50% 50%;transition:transform .35s cubic-bezier(.2,.8,.2,1),width .35s cubic-bezier(.2,.8,.2,1),opacity .18s ease}
.portable-menu .burger-line.top{width:34px;transform:translate(-50%,-10px)}
.portable-menu .burger-line.middle{width:19px;transform:translate(-78%,-1px)}
.portable-menu .burger-line.bottom{width:26px;transform:translate(-65%,8px)}
.portable-menu.is-open .burger-line.top{width:29px;transform:translate(-50%,-1px) rotate(45deg)}
.portable-menu.is-open .burger-line.middle{opacity:0;transform:translate(-50%,-1px) scaleX(0)}
.portable-menu.is-open .burger-line.bottom{width:29px;transform:translate(-50%,-1px) rotate(-45deg)}
.portable-star{cursor:pointer;user-select:none;-webkit-user-select:none;transform-origin:center;touch-action:manipulation}
.portable-star.is-spinning{animation:portable-star-spin .65s linear infinite}
@keyframes portable-star-spin{to{transform:rotate(360deg)}}
a[data-framer-name="Variant 1"]>.framer-16mo94w,a[data-framer-name="Variant 1"]>.framer-1kd5a3z{transition:opacity .24s ease}
a[data-framer-name="Variant 1"]:hover>.framer-16mo94w,a[data-framer-name="Variant 1"]:focus-visible>.framer-16mo94w{opacity:.82!important}
a[data-framer-name="Variant 1"]:hover>.framer-1kd5a3z,a[data-framer-name="Variant 1"]:focus-visible>.framer-1kd5a3z{opacity:1!important}
@media(prefers-reduced-motion:reduce){.portable-menu .burger-line{transition-duration:.01ms}.portable-star.is-spinning{animation-duration:1.4s}}
/* Framer's expanded placeholder menu is replaced by the native menu above. */
nav[data-framer-name^="Phone"] > [data-framer-name="Links"] {display:none!important}
