.gallery-skip{position:fixed;z-index:999;top:10px;left:10px;padding:10px 15px;color:#fff;background:#092831;border-radius:6px;transform:translateY(-150%)}.gallery-skip:focus{transform:none}.gallery-page{background:#f5f2e9}.gallery-page .desktop-nav [aria-current=page],.gallery-page .mobile-nav [aria-current=page]{color:#f5ab2a}.gallery-hero{position:relative;overflow:hidden;padding:clamp(64px,8vw,112px) 0;background:radial-gradient(circle at 80% 18%,rgba(245,171,42,.22),transparent 25%),radial-gradient(circle at 12% 82%,rgba(232,75,43,.14),transparent 32%),linear-gradient(145deg,#092831,#00414f 68%,#0c606c)}.gallery-hero:after{position:absolute;inset:0;content:"";pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='44'%3E%3Ctext x='8' y='30' fill='%23fff8ec' fill-opacity='.045' font-family='sans-serif' font-size='15' font-weight='800' letter-spacing='4'%3EALFA%3C/text%3E%3C/svg%3E")}.gallery-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:end;gap:clamp(40px,8vw,100px)}.gallery-hero h1{max-width:900px;margin-bottom:22px;color:#fff;font-size:clamp(3.1rem,7vw,6.8rem);letter-spacing:-.06em}.gallery-hero .lead{max-width:780px;color:#d9ecec;font-size:clamp(1.06rem,2vw,1.26rem)}.gallery-hero-stat{padding:30px;color:#fff;background:rgba(255,248,236,.08);border:1px solid rgba(245,171,42,.38);border-radius:18px;backdrop-filter:blur(10px)}.gallery-hero-stat strong,.gallery-hero-stat span,.gallery-hero-stat small{display:block}.gallery-hero-stat strong{color:#f5ab2a;font-size:clamp(4.6rem,9vw,7.4rem);line-height:.85;letter-spacing:-.08em}.gallery-hero-stat span{margin-top:18px;font-size:1rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.gallery-hero-stat small{margin-top:9px;color:#bcd4d4}.gallery-section{padding:clamp(72px,9vw,124px) 0}.gallery-intro{display:grid;grid-template-columns:1fr minmax(280px,480px);align-items:end;gap:40px;margin-bottom:30px}.gallery-intro h2{max-width:780px;margin:0;font-size:clamp(2.3rem,5vw,4.7rem);letter-spacing:-.055em}.gallery-intro>p{margin:0;font-size:1.03rem}.gallery-disclosure{display:grid;grid-template-columns:auto 1fr;gap:14px;margin:0 0 28px;padding:16px 18px;color:#35575c;background:#fff8ec;border:1px solid #e6cd93;border-radius:10px;font-size:.86rem}.gallery-disclosure b{color:#7a5000}.gallery-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}.gallery-filters button{min-height:46px;padding:10px 14px;color:#183f46;background:#fff;border:1px solid #bdd1d2;border-radius:999px;font:inherit;font-size:.84rem;font-weight:800;cursor:pointer;transition:.2s ease}.gallery-filters button span{display:inline-grid;min-width:23px;height:23px;margin-left:5px;place-items:center;color:#fff;background:#477277;border-radius:50%;font-size:.7rem}.gallery-filters button:hover,.gallery-filters button.is-active{color:#fff;background:#00414f;border-color:#00414f}.gallery-filters button.is-active span{color:#092831;background:#f5ab2a}.gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}.gallery-card{grid-column:span 4;min-width:0;background:#fff;border:1px solid #c9dadb;border-radius:17px;overflow:hidden;box-shadow:0 12px 32px rgba(9,40,49,.08);transition:transform .28s ease,box-shadow .28s ease}.gallery-card-wide{grid-column:span 8}.gallery-card-tall .gallery-image{aspect-ratio:4/5}.gallery-card:hover{transform:translateY(-5px);box-shadow:0 22px 44px rgba(9,40,49,.14)}.gallery-card[hidden]{display:none}.gallery-open{width:100%;height:100%;display:grid;padding:0;color:inherit;background:none;border:0;text-align:left;cursor:zoom-in}.gallery-image{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:#d7e3df}.gallery-card-wide .gallery-image{aspect-ratio:16/9}.gallery-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.gallery-card:hover .gallery-image img{transform:scale(1.025)}.gallery-before,.gallery-after{position:absolute;top:14px;padding:6px 10px;color:#fff;background:rgba(9,40,49,.78);border:1px solid rgba(255,255,255,.3);border-radius:999px;font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(8px)}.gallery-before{left:14px}.gallery-after{right:14px;color:#092831;background:rgba(245,171,42,.92);border-color:#f5ab2a}.gallery-zoom{position:absolute;right:14px;bottom:14px;padding:7px 10px;color:#fff;background:rgba(9,40,49,.82);border-radius:7px;font-size:.7rem;font-weight:800;opacity:0;transform:translateY(6px);transition:.2s ease}.gallery-card:hover .gallery-zoom,.gallery-open:focus-visible .gallery-zoom{opacity:1;transform:none}.gallery-copy{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:21px 22px 24px}.gallery-copy small,.gallery-copy b,.gallery-copy em{display:block}.gallery-copy small{margin-bottom:5px;color:#04798c;font-size:.68rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.gallery-copy b{color:#092831;font-size:1.15rem;line-height:1.2}.gallery-copy em{max-width:145px;color:#64787a;font-size:.72rem;font-style:normal;text-align:right}.gallery-count{margin:28px 0 0;color:#5c6e70;font-size:.82rem;text-align:center}.gallery-process{padding:clamp(68px,8vw,108px) 0;background:#e7f1ef}.gallery-process>.shell{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,8vw,100px)}.gallery-process h2{font-size:clamp(2.2rem,4vw,4rem)}.gallery-process ol{margin:0;padding:0;display:grid;gap:13px;counter-reset:gallery-steps;list-style:none}.gallery-process li{position:relative;padding:22px 22px 22px 74px;background:#fff;border:1px solid #c9dadb;border-radius:12px;counter-increment:gallery-steps}.gallery-process li:before{position:absolute;top:20px;left:20px;width:37px;height:37px;display:grid;place-items:center;content:counter(gallery-steps);color:#092831;background:#f5ab2a;border-radius:50%;font-size:.8rem;font-weight:900}.gallery-process li b,.gallery-process li span{display:block}.gallery-process li b{color:#092831}.gallery-process li span{margin-top:4px;color:#5c6e70;font-size:.9rem}.gallery-lightbox{width:min(1100px,calc(100% - 32px));max-height:calc(100vh - 32px);padding:0;background:#fff;border:0;border-radius:18px;box-shadow:0 30px 100px rgba(0,0,0,.4);overflow:auto}.gallery-lightbox::backdrop{background:rgba(2,18,23,.88);backdrop-filter:blur(8px)}.gallery-lightbox[open]{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr)}.lightbox-media{position:relative;min-height:420px;background:#d8e3df}.lightbox-media img{width:100%;height:100%;object-fit:cover}.lightbox-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(26px,4vw,48px)}.lightbox-copy h2{font-size:clamp(1.8rem,3vw,2.8rem)}.lightbox-copy .button{align-self:flex-start;margin-top:12px}.lightbox-close{position:fixed;z-index:2;top:calc((100vh - min(720px,calc(100vh - 32px)))/2 + 14px);right:calc((100vw - min(1100px,calc(100vw - 32px)))/2 + 14px);width:44px;height:44px;color:#fff;background:#092831;border:1px solid rgba(255,255,255,.4);border-radius:50%;font-size:1.65rem;line-height:1;cursor:pointer}.gallery-open:focus-visible,.gallery-filters button:focus-visible,.lightbox-close:focus-visible{outline:3px solid #f5ab2a;outline-offset:3px}@media(max-width:900px){.gallery-hero-grid,.gallery-intro,.gallery-process>.shell{grid-template-columns:1fr}.gallery-hero-stat{display:flex;align-items:center;gap:18px}.gallery-hero-stat strong{font-size:4.5rem}.gallery-hero-stat span{margin:0}.gallery-hero-stat small{margin:0 0 0 auto}.gallery-card,.gallery-card-wide{grid-column:span 6}.gallery-lightbox[open]{grid-template-columns:1fr}.lightbox-media{min-height:0;aspect-ratio:1/1}.lightbox-copy{padding:24px}.lightbox-close{top:24px;right:24px}}@media(max-width:640px){.gallery-hero{padding-top:46px}.gallery-hero h1{font-size:clamp(2.65rem,14vw,4.4rem)}.gallery-hero-stat{display:grid;grid-template-columns:auto 1fr;padding:22px}.gallery-hero-stat small{grid-column:1/-1;margin:0}.gallery-disclosure{grid-template-columns:1fr}.gallery-filters{flex-wrap:nowrap;margin-right:-14px;padding-right:14px;overflow-x:auto;scrollbar-width:none}.gallery-filters::-webkit-scrollbar{display:none}.gallery-filters button{flex:none}.gallery-card,.gallery-card-wide{grid-column:1/-1}.gallery-card-tall .gallery-image,.gallery-card-wide .gallery-image{aspect-ratio:1/1}.gallery-copy{padding:17px 18px 20px}.gallery-copy em{display:none}.gallery-lightbox{width:calc(100% - 18px);max-height:calc(100vh - 18px)}.lightbox-close{top:18px;right:18px}.lightbox-copy .button{width:100%}}

/* Homepage gallery preview */
.gallery-preview{position:relative;overflow:hidden;background:#f5f2e9}.gallery-preview:before{position:absolute;inset:0;content:"";pointer-events:none;background:radial-gradient(circle at 12% 16%,rgba(245,171,42,.15),transparent 25%),radial-gradient(circle at 88% 80%,rgba(4,121,140,.12),transparent 28%)}.gallery-preview .container{position:relative}.gallery-preview-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}.gallery-preview-head .section-heading{margin:0;text-align:left}.gallery-preview-link{flex:none;color:#88230a;font-weight:850;text-decoration:none}.gallery-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.gallery-preview-card{position:relative;aspect-ratio:1/1;overflow:hidden;background:#d9e4e0;border-radius:14px;box-shadow:0 14px 34px rgba(9,40,49,.12)}.gallery-preview-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.gallery-preview-card:hover img{transform:scale(1.035)}.gallery-preview-card span{position:absolute;right:12px;bottom:12px;left:12px;padding:10px 12px;color:#fff;background:rgba(9,40,49,.84);border:1px solid rgba(255,255,255,.2);border-radius:8px;font-size:.78rem;font-weight:850;backdrop-filter:blur(7px)}.gallery-preview-cta{display:none}@media(max-width:800px){.gallery-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.gallery-preview-head{display:block}.gallery-preview-head>.gallery-preview-link{display:none}.gallery-preview-grid{gap:10px}.gallery-preview-card{border-radius:10px}.gallery-preview-card span{right:8px;bottom:8px;left:8px;padding:8px;font-size:.7rem}.gallery-preview-cta{display:flex;margin-top:20px}}
