.hero-banner{position:relative;height:clamp(220px,36vw,50px);display:grid;place-items:center;isolation:isolate;overflow:hidden;color:#ffffff}.hero-media{position:absolute;inset:0;background-image:url(/images/contactbanner.png);background-size:cover;background-position:50%;will-change:transform;transform:scale(1.02)}.hero-overlay{position:absolute;inset:0;background:radial-gradient(50% 30% at 50% 50%,rgba(0,0,0,.15),rgba(0,0,0,.55)),linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.65) 50%);mix-blend-mode:multiply}.hero-content{position:relative;width:100%;max-width:1100px;padding:24px 16px;z-index:1}.hero-title{margin:8px 0 0;font-weight:800;letter-spacing:-.02em;font-size:clamp(26px,4vw,44px);line-height:1.1}.breadcrumb{display:flex;align-items:center;gap:10px;font-size:clamp(12px,1.6vw,14px);opacity:.95}.breadcrumb a{color:#ffffff;text-decoration:none;border-bottom:1px dashed rgba(255,255,255,.55)}.breadcrumb a:hover{border-bottom-color:rgba(255,255,255,.9)}.crumb-sep{opacity:.8}.container{width:100%;max-width:1100px;margin:0 auto;padding:24px 16px}.gallery-intro{text-align:center;margin:36px auto 8px}.intro-heading{font-size:clamp(22px,3.6vw,32px);font-weight:800;letter-spacing:-.02em;margin-bottom:10px}.intro-text{font-size:clamp(14px,1.8vw,16px);color:#444;line-height:1.65;max-width:820px;margin:0 auto 6px}.gallery-wrap{margin:18px auto 60px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}@media (max-width:980px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.gallery-grid{grid-template-columns:1fr}}.gallery-card{background:#fff;border-radius:16px;box-shadow:0 10px 24px rgba(0,0,0,.06);transform:translateY(14px);opacity:0;animation:slideUp .52s cubic-bezier(.2,.65,.2,1) forwards;animation-delay:calc(var(--i, 0) * 60ms);will-change:transform,opacity}.card-media,.gallery-card{position:relative;overflow:hidden}.card-media{aspect-ratio:4/3}.card-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform .4s ease,filter .4s ease}.gallery-card:hover .card-media img{transform:scale(1.06);filter:saturate(1.08) contrast(1.02)}.card-body{padding:14px 14px 16px}.card-title{margin:0 0 4px;font-weight:700;font-size:16px;letter-spacing:-.01em}.card-caption{margin:0;font-size:13px;color:#666}@keyframes slideUp{0%{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}.loadmore-row{display:grid;place-items:center;margin-top:22px}.btn-load{appearance:none;border:0;background:#0f62fe;color:#fff;font-weight:700;padding:12px 18px;border-radius:999px;box-shadow:0 8px 20px rgba(15,98,254,.28);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.btn-load:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(15,98,254,.34)}.btn-load:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.lb-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.75);display:grid;place-items:center;z-index:9999;animation:lbFadeIn .18s ease-out forwards}@keyframes lbFadeIn{0%{opacity:0}to{opacity:1}}.lb-content{position:relative;max-width:min(92vw,1200px);max-height:88vh;width:auto;padding:0;display:flex;align-items:center;gap:10px;animation:lbZoomIn .22s cubic-bezier(.2,.75,.2,1) forwards}@keyframes lbZoomIn{0%{transform:scale(.96);opacity:.98}to{transform:scale(1);opacity:1}}.lb-img{max-width:100%;max-height:88vh;display:block;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.4)}.lb-close{position:absolute;top:-44px;right:-6px;width:36px;height:36px;border:none;border-radius:999px;background:rgba(255,255,255,.9);color:#000;font-size:22px;line-height:1;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.25)}.lb-close:hover{background:#fff}.lb-nav{appearance:none;border:none;background:rgba(255,255,255,.9);color:#000;width:40px;height:56px;border-radius:12px;cursor:pointer;font-size:28px;display:grid;place-items:center;box-shadow:0 8px 20px rgba(0,0,0,.25);transition:transform .12s ease,background .12s ease}.lb-nav:hover{transform:translateY(-1px);background:#fff}.lb-prev{margin-right:6px}.lb-next{margin-left:6px}@media (max-width:640px){.lb-close{top:-40px;right:0}.lb-nav{width:36px;height:48px;font-size:24px}}