/* Inner pages (gallery, quote). Nav, footer, buttons, forms come from main.css */
.banner{background:linear-gradient(120deg,rgba(10,37,64,.97),rgba(30,111,217,.88)),repeating-linear-gradient(45deg,#0A2540 0 14px,#0d2c4d 14px 28px);color:#fff;padding:70px 0 80px}
.banner h1{color:#fff;font-size:clamp(28px,5vw,44px)}.banner p{max-width:620px;color:#D5E4F7;margin:12px 0 0}
.banner .sub{font:600 12px var(--hf);letter-spacing:4px;text-transform:uppercase;color:var(--sky);margin-bottom:10px}
main.pg{display:block;padding:64px 0 90px}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}
.filters button{font:500 14px var(--hf);border:1px solid var(--line);background:var(--card);color:var(--head);padding:8px 18px;border-radius:4px;cursor:pointer;transition:.3s}
.filters button:hover{border-color:var(--blue)}.filters button.on{background:var(--blue);border-color:var(--blue);color:#fff}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:22px}
.gi{position:relative;isolation:isolate;overflow:hidden;border-radius:6px;aspect-ratio:4/3;cursor:pointer;display:flex;align-items:flex-end;padding:18px;color:#fff;border:0;text-align:left;font:inherit;width:100%;transition:transform .35s,box-shadow .35s;scroll-margin-top:100px}
.gi:hover{transform:translateY(-6px);box-shadow:0 16px 36px rgba(30,111,217,.25)}
.gi img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s}.gi:hover img{transform:scale(1.08)}
.gi:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,37,64,0) 40%,rgba(10,37,64,.88))}
.gi small{display:block;font:600 11px var(--hf);letter-spacing:2px;text-transform:uppercase;color:var(--sky)}.gi b{font:600 17px/1.3 var(--hf)}
.gi.hide{display:none}
.lb{position:fixed;inset:0;background:rgba(5,14,27,.92);display:none;align-items:center;justify-content:center;flex-direction:column;gap:14px;padding:24px;z-index:50}
.lb.open{display:flex}.lb img{max-width:min(1000px,100%);max-height:70vh;border-radius:6px}.lb h3{color:#fff}.lb p{color:#C7D6EA;margin:0;max-width:640px;text-align:center}
.lb button{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));right:18px;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:6px;width:42px;height:42px;font-size:20px;cursor:pointer}
.qside p{margin:0 0 18px}
.cform label i{color:var(--sky);font-style:normal}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.msg{padding:14px 18px;border-radius:4px;margin-bottom:22px;font-size:14px;border-left:4px solid}
.msg.ok{background:rgba(31,157,85,.12);border-color:#1F9D55;color:var(--head)}.msg.err{background:rgba(214,69,69,.12);border-color:#D64545;color:var(--head)}
