
:root{--leaf:#1f5e46;--deep:#111c16;--ink:#f6f2e8;--muted:#b9c8be;--gold:#f2d8a9;--line:rgba(255,255,255,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--deep);color:#fff;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}button,a{font:inherit}.container{width:min(1180px,calc(100% - 40px));margin:0 auto}
.gallery-page-header{padding:28px 0 20px;border-bottom:1px solid var(--line);background:#14231b}.gallery-page-header .header-row{display:flex;align-items:end;justify-content:space-between;gap:24px}.gallery-brand{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.55rem,3vw,2.2rem);font-weight:700;line-height:1.06}.gallery-subtitle{margin-top:6px;color:#b8cbbf;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800}.gallery-contact{display:flex;gap:10px;flex-wrap:wrap}.gallery-contact a{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.24);padding:10px 14px;border-radius:999px;font-weight:800}.gallery-contact a.primary{background:#fff;color:#174832;border-color:#fff}
.full-gallery{background:#111c16;color:#fff;padding:54px 0 64px}.section-head{margin-bottom:26px}.section-head h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,4.5vw,3.5rem);line-height:1.03;margin:6px 0 12px;color:#fff;max-width:820px}.section-head p{color:#c6d3ca;max-width:820px;line-height:1.65;margin:0;font-size:1rem}.section-head .intro-phone{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(242,216,169,.55);font-weight:800}.section-head .intro-phone:hover{border-bottom-color:var(--gold)}.eyebrow{color:#a9ceb7;text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:900}.gallery-heading{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}.gallery-count{text-align:right;border-left:1px solid var(--line);padding-left:30px;margin-bottom:34px}.gallery-count strong{display:block;font-family:Georgia,serif;font-size:3rem;color:var(--gold);line-height:1}.gallery-count span{color:#b9cabf;font-size:.9rem}.gallery-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px;position:sticky;top:0;z-index:5;background:#111c16;padding:10px 0}.gallery-tab{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#d9e5dd;padding:11px 15px;border-radius:999px;font-weight:850;cursor:pointer}.gallery-tab span{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;background:rgba(255,255,255,.12);width:24px;height:24px;border-radius:50%;font-size:.75rem}.gallery-tab.active{background:#fff;color:#1f5e46;border-color:#fff}.gallery-tab.active span{background:#edf4ef}.gallery-panel{display:none}.gallery-panel.active{display:block}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-item{display:block;border:0;padding:0;text-align:left;background:#18261f;color:#fff;border-radius:22px;overflow:hidden;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease}.gallery-item:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(0,0,0,.28)}.gallery-image{display:block;height:265px;overflow:hidden}.gallery-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.gallery-item:hover .gallery-image img{transform:scale(1.025)}.gallery-copy{display:block;padding:15px 16px 17px}.gallery-copy strong{display:block;font-family:Georgia,serif;font-size:1.05rem;line-height:1.2}.gallery-copy small{display:block;color:#b9c8be;margin-top:5px;line-height:1.45;font-size:.78rem}.gallery-switches{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.gallery-switch-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff;padding:12px 18px;border-radius:999px;font-weight:900;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.gallery-switch-button:hover{background:#fff;color:#174832;border-color:#fff;transform:translateY(-1px)}
.gallery-footer{margin-top:24px;padding:22px 0 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px}.gallery-footer p{color:#bac9bf;max-width:720px;margin:0}.cta{display:inline-flex;align-items:center;justify-content:center;padding:12px 17px;background:#fff;color:#174832;border-radius:999px;text-decoration:none;font-weight:900}
.lightbox{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.9);z-index:100}.lightbox.open{display:flex}.lightbox img{max-width:min(1200px,95vw);max-height:88vh;object-fit:contain;border-radius:14px}.lightbox button{position:absolute;top:18px;right:22px;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.45);color:#fff;font-size:2rem;cursor:pointer;line-height:1}
.mobile-intro{display:none}

/* v1.7 desktop parity with the refined mobile gallery */
@media(min-width:761px){
  .gallery-brand{white-space:nowrap}
  .full-gallery{padding-top:38px}
  .section-head{margin-bottom:14px}
  .desktop-intro .eyebrow{margin-bottom:10px}
  .desktop-intro p{margin:0;max-width:900px;font-size:1rem;line-height:1.55}
  .gallery-heading{display:block}
  .gallery-count{display:none}
  .gallery-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}
  .gallery-tab{width:100%;display:flex;align-items:center;justify-content:center;min-height:48px;white-space:nowrap}
}

@media(max-width:1000px){.gallery-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.desktop-intro{display:none}.mobile-intro{display:block}.mobile-intro .eyebrow{margin-bottom:12px}.mobile-intro p{margin:0;color:#c6d3ca;line-height:1.6;font-size:.96rem}.container{width:min(100% - 28px,1180px)}.gallery-page-header{padding:20px 0 16px}.gallery-page-header .header-row{align-items:flex-start;flex-direction:column;gap:14px}.gallery-contact{width:100%}.gallery-contact a{flex:1}.full-gallery{padding:38px 0 48px}.gallery-heading{grid-template-columns:1fr;gap:12px}.gallery-count{text-align:left;border-left:0;border-top:1px solid var(--line);padding:16px 0 0;margin:0}.gallery-tabs{top:0;overflow-x:auto;flex-wrap:nowrap;margin-bottom:18px}.gallery-tab{white-space:nowrap}.gallery-grid{grid-template-columns:1fr}.gallery-image{height:260px}.gallery-footer{align-items:flex-start;flex-direction:column}.gallery-footer .cta{width:100%}.gallery-switches{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gallery-switch-button{width:100%;padding:11px 10px;font-size:.92rem}.section-head h2{font-size:2.25rem}.section-head p{font-size:.95rem}.lightbox{padding:12px}.lightbox img{max-width:96vw;max-height:82vh}}

/* Top-five gallery preview + reveal control */
.gallery-panel.gallery-collapsed .gallery-extra{display:none}
.gallery-more-wrap{display:flex;justify-content:center;margin-top:24px}
.gallery-more-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.28);background:#fff;color:#174832;padding:12px 20px;border-radius:999px;font-weight:900;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}
.gallery-more-button:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,0,0,.18)}
.gallery-panel:not(.gallery-collapsed) .gallery-more-wrap{display:none}
@media(max-width:760px){.gallery-more-button{width:100%;padding:12px 14px}}

/* v1.5 mobile layout refinement */
@media(max-width:760px){
  .container{width:calc(100% - 32px)}

  .gallery-page-header{padding:16px 0 14px}
  .gallery-page-header .header-row{gap:10px}
  .gallery-brand{font-size:clamp(1.22rem,5.6vw,1.48rem);line-height:1.02;max-width:none;white-space:nowrap}
  .gallery-subtitle{margin-top:5px;font-size:.72rem;line-height:1.35;letter-spacing:.07em}
  .gallery-contact{gap:8px}
  .gallery-contact a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 12px;font-size:.94rem;line-height:1.1;text-align:center}

  .full-gallery{padding:24px 0 42px}
  .section-head{margin-bottom:10px}
  .mobile-intro .eyebrow{margin-bottom:7px;font-size:.7rem;line-height:1.35;letter-spacing:.12em}
  .mobile-intro p{font-size:.89rem;line-height:1.48}
  .gallery-heading{gap:0}
  .gallery-count{display:none}

  .gallery-tabs{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
    overflow:visible;
    padding:7px 0 10px;
    margin-bottom:14px;
  }
  .gallery-tab{
    min-width:0;
    width:100%;
    min-height:44px;
    padding:7px 5px;
    border-radius:18px;
    font-size:.72rem;
    line-height:1;
    white-space:nowrap;
    text-align:center;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:3px;
  }
  .gallery-tab span{
    width:20px;
    height:20px;
    margin-left:0;
    flex:0 0 auto;
    font-size:.64rem;
    vertical-align:middle;
  }

  .gallery-grid{gap:13px}
  .gallery-item{border-radius:18px}
  .gallery-image{height:235px}
  .gallery-copy{padding:12px 14px 14px}
  .gallery-copy strong{font-size:1rem}
  .gallery-copy small{margin-top:4px;font-size:.75rem;line-height:1.38}

  .gallery-more-wrap{margin-top:18px}
  .gallery-more-button{min-height:48px;padding:0 14px}
  .gallery-switches{margin-top:18px;padding-top:16px;gap:8px}
  .gallery-switch-button{min-height:46px;padding:8px 8px;font-size:.86rem;line-height:1.15}

  .gallery-footer{margin-top:20px;padding-top:18px;gap:14px}
}

@media(max-width:390px){
  .gallery-brand{font-size:1.18rem}
  .gallery-subtitle{font-size:.68rem}
  .gallery-contact a{font-size:.88rem}
  .gallery-tab{font-size:.66rem;padding-left:2px;padding-right:2px;gap:2px}
  .gallery-tab span{width:19px;height:19px;font-size:.61rem;margin-left:0}
  .gallery-image{height:220px}
}


/* v1.8 lightweight per-image loading indicator */
.gallery-image{position:relative;background:rgba(255,255,255,.045)}
.gallery-image::before{content:"";position:absolute;left:50%;top:50%;width:min(46%,180px);height:4px;transform:translate(-50%,-50%);border-radius:999px;background:rgba(255,255,255,.14);z-index:1;opacity:1;transition:opacity .18s ease}
.gallery-image::after{content:"";position:absolute;left:50%;top:50%;width:min(46%,180px);height:4px;transform:translate(-50%,-50%);border-radius:999px;background:linear-gradient(90deg,transparent,rgba(242,216,169,.92),transparent);background-size:45% 100%;background-repeat:no-repeat;z-index:2;opacity:1;animation:galleryImageLoading 1.05s ease-in-out infinite;transition:opacity .18s ease}
.gallery-image img{position:relative;z-index:3;opacity:0;transition:opacity .22s ease,transform .35s ease}
.gallery-image.is-loaded img,.gallery-image.is-error img{opacity:1}
.gallery-image.is-loaded::before,.gallery-image.is-loaded::after,.gallery-image.is-error::before,.gallery-image.is-error::after{opacity:0;animation:none}
@keyframes galleryImageLoading{0%{background-position:-55% 0}100%{background-position:155% 0}}
@media(prefers-reduced-motion:reduce){.gallery-image::after{animation:none;background:rgba(242,216,169,.55)}}
