:root{
  --navy:#16233B; --navy-deep:#0D1524; --navy-line:#26374F;
  --cream:#F4EFE2; --paper:#ECE4D2; --ink:#252B38; --ink-soft:#4C5364;
  --red:#93362E; --red-deep:#7C2C25;
  --wood:#6E4B2A; --wood-light:#96703F;
  --brass:#C0913F; --brass-light:#DDB765;
  --white-warm:#FBF8F0;
  --radius:10px; --shadow:0 18px 40px -18px rgba(13,21,36,.35);
  --display:'Bitter',Georgia,serif; --body:'Public Sans',-apple-system,Segoe UI,sans-serif; --stencil:'Saira Stencil One',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{font-family:var(--body);color:var(--ink);background:var(--cream);line-height:1.65;font-size:16.5px}
img{max-width:100%;display:block}
a{color:inherit}
.container{max-width:1180px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--display);line-height:1.15;color:var(--navy)}
h2{font-size:clamp(1.9rem,3.4vw,2.7rem);font-weight:800}
section{padding:76px 0}
.eyebrow{font-family:var(--stencil);font-size:.82rem;letter-spacing:.22em;text-transform:uppercase;color:var(--red);display:flex;align-items:center;gap:10px;margin-bottom:14px}
.eyebrow::before{content:"★";color:var(--brass);font-size:.9rem}
.btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:.95rem;padding:15px 28px;border-radius:6px;text-decoration:none;border:2px solid transparent;transition:transform .15s ease,background .15s ease;cursor:pointer;font-family:var(--body)}
.btn:focus-visible{outline:3px solid var(--brass);outline-offset:3px}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--red);color:var(--white-warm);box-shadow:0 10px 24px -10px rgba(147,54,46,.6)}
.btn-primary:hover{background:var(--red-deep)}
.btn-ghost{border-color:var(--brass);color:var(--brass-light)}
.btn-ghost:hover{background:rgba(192,145,63,.12)}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.btn-ghost.on-light{color:var(--wood);border-color:var(--wood)}
.btn-ghost.on-light:hover{background:rgba(110,75,42,.08)}
/* Header */
header{position:sticky;top:0;z-index:50;background:rgba(13,21,36,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--navy-line)}
.nav{display:flex;align-items:center;gap:28px;height:74px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo-seal{width:46px;height:46px;border-radius:50%;border:2px solid var(--brass);object-fit:cover;background:var(--white-warm);flex-shrink:0}
.logo-text{font-family:var(--display);font-weight:800;color:var(--white-warm);font-size:1.05rem;line-height:1.1}
.logo-text small{display:block;font-family:var(--stencil);font-weight:400;font-size:.58rem;letter-spacing:.28em;color:var(--brass-light)}
.nav-links{display:flex;gap:24px;list-style:none;margin-left:auto}
.nav-links a{color:#CBD3E0;text-decoration:none;font-size:.9rem;font-weight:600;padding:6px 2px;border-bottom:2px solid transparent}
.nav-links a:hover,.nav-links a:focus-visible{color:var(--white-warm);border-bottom-color:var(--brass)}
.nav-links a[aria-current="page"]{color:var(--white-warm);border-bottom-color:var(--brass)}
.nav-phone{color:var(--brass-light);font-weight:700;font-size:.9rem;text-decoration:none;white-space:nowrap}
.nav .btn{padding:11px 20px;font-size:.85rem}
.nav-toggle{display:none;background:none;border:1px solid var(--navy-line);color:var(--white-warm);font-size:1.4rem;line-height:1;padding:8px 12px;border-radius:6px;cursor:pointer;margin-left:auto}
.nav-toggle:focus-visible{outline:3px solid var(--brass);outline-offset:2px}
/* Hero */
.hero{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-deep) 70%);color:var(--white-warm);padding:72px 0 80px;text-align:center}
.hero h1{color:var(--white-warm);font-size:clamp(2.1rem,4.2vw,3.2rem);font-weight:900}
.hero-sub{color:#C5CEDD;font-size:1.08rem;margin:20px auto 0;max-width:660px}
.trust-line{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;margin-top:24px;font-family:var(--stencil);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brass-light)}
.trust-line span{display:flex;align-items:center;gap:8px}
.trust-line span::before{content:"★";font-size:.7rem}
/* Filters */
.filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 auto 40px;max-width:900px}
.filter-btn{font-family:var(--stencil);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;padding:10px 16px;border-radius:99px;border:1px solid #CBBF9F;background:var(--white-warm);color:var(--wood);cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.filter-btn:hover{border-color:var(--brass)}
.filter-btn:focus-visible{outline:3px solid var(--brass);outline-offset:2px}
.filter-btn[aria-pressed="true"]{background:var(--red);border-color:var(--red);color:var(--white-warm)}
/* Masonry gallery */
.masonry{columns:3 300px;column-gap:18px}
.g-item{break-inside:avoid;margin-bottom:18px;border-radius:9px;overflow:hidden;position:relative;display:block;width:100%;border:none;padding:0;background:var(--navy-deep);cursor:zoom-in;text-align:left}
.g-item img{width:100%;display:block;transition:transform .25s ease}
.g-item::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(13,21,36,.55),transparent 45%);pointer-events:none}
.g-item:hover img,.g-item:focus-visible img{transform:scale(1.04)}
.g-item:focus-visible{outline:3px solid var(--brass);outline-offset:3px}
.g-cap{position:absolute;left:14px;right:14px;bottom:12px;z-index:1;color:var(--white-warm);font-size:.85rem;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.g-cap small{display:block;font-family:var(--stencil);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-light);margin-top:3px}
.g-item.hidden{display:none}
@media (prefers-reduced-motion:reduce){.g-item img{transition:none}.g-item:hover img{transform:none}}
/* Lightbox */
dialog.lightbox{border:none;background:rgba(13,21,36,.96);max-width:100vw;max-height:100vh;width:100vw;height:100vh;padding:32px;display:none}
dialog.lightbox[open]{display:grid;place-items:center}
dialog.lightbox::backdrop{background:rgba(13,21,36,.85)}
.lb-inner{max-width:min(1100px,94vw);text-align:center}
.lb-inner img{max-width:100%;max-height:78vh;margin:0 auto;border-radius:8px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.lb-cap{color:var(--white-warm);margin-top:16px;font-size:.95rem}
.lb-cap small{display:block;font-family:var(--stencil);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brass-light);margin-top:4px}
.lb-controls{display:flex;justify-content:center;gap:16px;margin-top:18px}
.lb-btn{width:46px;height:46px;border-radius:50%;border:2px solid var(--brass);background:none;color:var(--brass-light);font-size:1.2rem;cursor:pointer;display:grid;place-items:center}
.lb-btn:hover{background:rgba(192,145,63,.15)}
.lb-btn:focus-visible{outline:3px solid var(--brass);outline-offset:3px}
/* Final CTA */
.final-cta {
    background: #ece4d2;
    color: var(--white-warm);
    text-align: center;
    padding: 96px 0;
}.final-cta h2{color:var(--navy);font-size:clamp(2rem,4vw,2.9rem)}
.final-cta p{color:#4c5364;max-width:620px;margin:20px auto 0}
.final-cta .btn-row{justify-content:center}
/* Footer */
footer{background:var(--navy-deep);color:#9AA6B8;padding:64px 0 36px;border-top:3px solid var(--brass)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px}
footer h3{color:var(--white-warm);font-size:1rem;margin-bottom:16px}
footer ul{list-style:none}
footer li{margin-bottom:10px;font-size:.92rem}
footer a{color:#9AA6B8;text-decoration:none}
footer a:hover,footer a:focus-visible{color:var(--brass-light);text-decoration:underline}
.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.footer-brand img{width:44px;height:44px;border-radius:50%;border:2px solid var(--brass);object-fit:cover;background:var(--white-warm)}
.footer-line{margin-top:52px;padding-top:24px;border-top:1px solid var(--navy-line);text-align:center;font-family:var(--stencil);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--brass-light)}
.social-icons{display:flex;gap:14px}
.social-icons a{width:44px;height:44px;border-radius:50%;border:1px solid var(--navy-line);display:grid;place-items:center;color:#9AA6B8}
.social-icons a:hover,.social-icons a:focus-visible{color:var(--brass-light);border-color:var(--brass)}
.social-icons svg{width:20px;height:20px}

.logo {
  display: flex;
  align-items: center;
}

.logo-img {
  height: 60px; 
  width: 60px;
  display: block;
  border-radius: 50px;
}

.footer-logo{
    display:inline-block;
    margin-bottom:18px;
}

.footer-logo img{
    width:100px;      /* Adjust as needed */
    height:auto;
    display:block;
}

.footer-grid h3{
    margin-bottom:16px;
}
.hero{
    background: url("../images/gallery-banner.png") right center/cover no-repeat;
    padding:150px 80px;
    position:relative;
    overflow:hidden;
}
.g-item.hidden{
  display:none !important;
}

/* Mobile - 2 images per row */
@media (max-width:768px){
  .masonry{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
  }
}

.view-more-wrap{
    text-align:center;
    margin-top:30px;
}


@media (max-width:1020px){
  .nav-links,.nav-phone,.nav .btn{display:none}
  .nav-toggle{display:block}
  .nav.open .nav-links{display:flex;flex-direction:column;position:absolute;top:74px;left:0;right:0;background:var(--navy-deep);padding:22px 24px;gap:16px;border-bottom:1px solid var(--navy-line)}
}
@media (max-width:820px){
  section{padding:56px 0}
  .footer-grid{grid-template-columns:1fr;gap:36px}
  dialog.lightbox{padding:16px}
}
@media (max-width:820px){
  section{padding:58px 0}
    .hero {
        padding: 100px 0 66px;
        background: url(../images/gallery-banner.png) 20% center / cover no-repeat;
    }  .custom-grid,.pgrid,.prompts{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:36px}
}
