:root{
  --bg:#f7f5f1;
  --surface:#ffffff;
  --surface-2:#f0ece4;
  --text:#161616;
  --muted:#5f5c57;
  --line:rgba(22,22,22,0.08);
  --primary:#1a1a1a;
  --accent:#b89f73;
  --shadow:0 18px 50px rgba(0,0,0,0.08);
  --radius:24px;
  --radius-sm:18px;
  --container:1180px;
  --font-scale:1;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;font-size:calc(16px * var(--font-scale));}
body{
  margin:0;
  font-family:"Heebo",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at top right, rgba(184,159,115,0.12), transparent 24%),
    radial-gradient(circle at bottom left, rgba(184,159,115,0.08), transparent 22%),
    var(--bg);
  color:var(--text);
  line-height:1.7;
}
body.high-contrast{
  --bg:#fff;--surface:#fff;--surface-2:#fff;--text:#000;--muted:#111;--line:rgba(0,0,0,0.28);--primary:#000;--accent:#7a4f00;
  background:#fff;
}
body.links-highlight a{text-decoration:underline !important;text-underline-offset:3px;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
button{font:inherit;}
.container{width:min(var(--container), calc(100% - 32px));margin-inline:auto;}

.skip-link{
  position:absolute;top:-48px;right:16px;background:#000;color:#fff;padding:10px 14px;border-radius:12px;z-index:1000;
}
.skip-link:focus{top:16px;}

.site-header{
  position:sticky;top:0;z-index:20;backdrop-filter:blur(12px);background:rgba(247,245,241,0.76);border-bottom:1px solid var(--line);
}
.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:5px;}
.logo{font-size:1.55rem;font-weight:800;letter-spacing:0.02em;}
.logo span{color:var(--accent);}
.main-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.main-nav a{
  padding:10px 14px;border-radius:999px;color:var(--muted);transition:0.25s ease;
}
.main-nav a:hover,
.main-nav a:focus-visible,
.main-nav a.active-link{background:rgba(0,0,0,0.05);color:var(--text);}
.main-nav .nav-cta{background:var(--primary);color:#fff;}
.main-nav .nav-cta:hover,.main-nav .nav-cta:focus-visible{background:#000;color:#fff;}

.hero,.page-hero{padding:88px 0 48px;}
.hero-grid{display:grid;grid-template-columns:1.2fr 0.8fr;gap:32px;align-items:center;}
.home-hero{
  padding-bottom:56px;
  position:relative;
  background-image:url('webp/Background/20260410-DSC00773-HDR.webp');
  background-size:cover;
  background-position:center center;
  background-attachment:fixed;
  background-repeat:no-repeat;
}
.home-hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(
    to bottom,
    rgba(247,245,241,0.10) 0%,
    rgba(247,245,241,0.25) 50%,
    rgba(247,245,241,0.80) 100%
  );
  pointer-events:none;
  z-index:0;
}
.home-hero .container{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  min-height:58vh;
}
.home-hero .hero-content{
  background:rgba(247,245,241,0.74);
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
  border-radius:28px;
  padding:40px 46px;
  border:1px solid rgba(255,255,255,0.70);
  box-shadow:0 12px 48px rgba(0,0,0,0.11);
  max-width:580px;
}
@media (max-width:768px){
  .home-hero{
    background-attachment:scroll;
  }
}
.eyebrow,.section-tag,.card-kicker{
  display:inline-block;margin:0 0 10px;color:var(--accent);font-weight:700;letter-spacing:0.04em;
}
h1,h2,h3{margin:0 0 14px;line-height:1.15;}
h1{font-size:clamp(2.3rem, 5vw, 4.6rem);letter-spacing:-0.03em;}
h2{font-size:clamp(1.8rem, 3vw, 3rem);letter-spacing:-0.02em;}
h3{font-size:1.2rem;}
.hero-text,.muted{color:var(--muted);max-width:64ch;margin-bottom:86px;}
.narrow{max-width:54ch;}
.hero-actions,.path-actions,.contact-mini{
  display:flex;gap:12px;flex-wrap:wrap;align-items:center;
}
.hero-actions{margin:28px 0 22px;}
.btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:52px; padding:0 22px;border-radius:999px;font-weight:700;transition:0.25s ease;
}
.btn-primary{background:var(--primary);color:#fff;box-shadow:var(--shadow);}
.btn-primary:hover,.btn-primary:focus-visible{transform:translateY(-1px);}
.btn-secondary{background:#f7f5f1;border:3px solid var(--line);}
.btn-secondary:hover,.btn-secondary:focus-visible{background:rgba(0,0,0,0.03);}
.hero-points{display:flex;gap:10px;flex-wrap:wrap;}
.hero-points span{
  padding:8px 12px;border-radius:999px;background:rgba(255,255,255,0.72);border:1px solid var(--line);color:var(--muted);font-size:0.95rem;
}

.hero-card,.info-card,.contact-card,.service-card,.cta-panel,.legal-card,.path-card{
  background:rgba(255,255,255,0.78);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);
}
.hero-card{padding:24px;display:grid;gap:14px;}
.stat-box{
  padding:18px;border-radius:var(--radius-sm);background:linear-gradient(180deg, rgba(255,255,255,0.95), rgba(240,236,228,0.9));border:1px solid var(--line);
}
.stat-box strong{display:block;margin-bottom:4px;font-size:1.05rem;}
.stat-box span{color:var(--muted);}
.section{padding:42px 0;}
.section.alt{background:rgba(255,255,255,0.45);border-block:1px solid var(--line);}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start;}
.info-card,.path-card,.service-card,.legal-card{padding:28px;place-self:center;}
.info-card ul,.legal-card ul{margin:0;padding-right:20px;}
.cards{display:grid;grid-template-columns:repeat(3, 1fr);gap:18px;margin-top:28px;}
.section-head{text-align:center;}
.cta-panel{
  padding:28px;display:flex;align-items:center;justify-content:space-between;gap:18px;
}

.split-cards{
  display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px;margin-bottom:28px;margin-right:22px; place-self: center;
}
.path-card p:last-of-type{margin-bottom:20px;}

.gallery-page .small{padding-bottom:20px;}
.gallery-grid{
  display:grid;grid-template-columns:repeat(3, 1fr);grid-auto-rows:220px;gap:16px;
}
.gallery-item{
  position:relative;overflow:hidden;border-radius:24px;border:1px solid var(--line);
  background:
    linear-gradient(145deg, rgba(255,255,255,0.9), rgba(234,229,220,0.95)),
    radial-gradient(circle at top left, rgba(184,159,115,0.18), transparent 35%);
  box-shadow:var(--shadow);
}
.gallery-item::after{
  content:"";position:absolute;inset:0;background:linear-gradient(to top, rgba(0,0,0,0.24), transparent 50%);
}
.gallery-item span{
  position:absolute;right:18px;bottom:16px;z-index:1;color:#fff;font-weight:700;
}
.gallery-item.tall{grid-row:span 2;}
.gallery-item.wide{grid-column:span 2;}

.legal-page{max-width:900px;}
.legal-card{margin-top:18px;}
.contact-card{padding:28px;display:grid;gap:12px;}
.contact-card a{
  display:block;padding:14px 16px;border-radius:16px;background:var(--surface-2);font-weight:500;
}

.site-footer{padding:22px 0 34px;}
.footer-row{
  display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);border-top:1px solid var(--line);padding-top:18px;
}
.footer-links{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}

.floating-accessibility,.back-to-top{
  position:fixed;z-index:90;border:0;border-radius:999px;background:var(--primary);color:#fff;box-shadow:var(--shadow);cursor:pointer;transition:transform 0.2s ease, opacity 0.2s ease;
}
.floating-accessibility{left:20px;top:50%;transform:translateY(-50%);min-width:92px;min-height:48px;padding:0 18px;}
.back-to-top{left:20px;bottom:20px;width:52px;height:52px;font-size:1.35rem;opacity:0;pointer-events:none;}
.back-to-top.show{opacity:1;pointer-events:auto;}
.floating-accessibility:hover,.floating-accessibility:focus-visible,.back-to-top:hover,.back-to-top:focus-visible{transform:translateY(-2px);}

.accessibility-panel{
  position:fixed;left:20px;top:50%;transform:translateY(-50%);width:min(300px, calc(100vw - 40px));padding:18px;border-radius:24px;border:1px solid var(--line);background:rgba(255,255,255,0.98);box-shadow:var(--shadow);z-index:95;opacity:0;pointer-events:none;
}
.accessibility-panel.open{opacity:1;pointer-events:auto;}
.accessibility-panel__head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;
}
.accessibility-close{
  width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;
}
.accessibility-actions{display:grid;gap:10px;}
.accessibility-actions button,.accessibility-link{
  display:flex;align-items:center;justify-content:center;min-height:46px;padding:0 14px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);
}
.accessibility-link{font-weight:700;}

@media (max-width: 920px){
  .hero-grid,.two-col,.cards,.gallery-grid,.split-cards{grid-template-columns:1fr;}
  .gallery-grid{grid-auto-rows:220px;}
  .gallery-item.tall,.gallery-item.wide{grid-column:auto;grid-row:auto;}
  .cta-panel,.footer-row,.nav{flex-direction:column;align-items:flex-start;}
  .main-nav{width:100%;}
}

@media (max-width: 640px){
  .hero,.page-hero{padding-top:56px;}
  .main-nav a{padding:8px 10px;}
  .btn{width:100%;}
  .floating-accessibility{left:12px;top:auto;bottom:84px;transform:none;min-width:84px;}
  .accessibility-panel{left:12px;right:12px;top:auto;bottom:144px;width:auto;transform:none;}
  .back-to-top{left:12px;bottom:16px;}
}


.home-gallery-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  grid-auto-rows:220px;
  gap:16px;
  margin-top:28px;
}

.home-gallery-card{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  border:1px solid var(--line);
  background:
    linear-gradient(145deg, rgba(255,255,255,0.94), rgba(234,229,220,0.96)),
    radial-gradient(circle at top left, rgba(184,159,115,0.2), transparent 35%);
  box-shadow:var(--shadow);
  padding:22px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:220px;
  transition:transform 0.25s ease, border-color 0.25s ease;
}

.home-gallery-card:hover,
.home-gallery-card:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(184,159,115,0.45);
}

.home-gallery-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(0,0,0,0.18), transparent 55%);
  pointer-events:none;
}

.home-gallery-card > *{
  position:relative;
  z-index:1;
}

.home-gallery-card strong{
  color:#fff;
  font-size:1.2rem;
}

.home-gallery-label{
  display:inline-flex;
  align-self:flex-start;
  margin-bottom:10px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,0.18);
  color:#fff;
  border:1px solid rgba(255,255,255,0.28);
  backdrop-filter:blur(6px);
  font-weight:700;
}

.home-gallery-card.tall{
  grid-row:span 2;
}

.home-gallery-card.wide{
  grid-column:span 2;
}

.dual-links{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:20px;
}

.text-link-box{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,0.78);
  box-shadow:var(--shadow);
  font-weight:700;
}

.text-link-box:hover,
.text-link-box:focus-visible{
  background:rgba(255,255,255,0.96);
}

@media (max-width: 920px){
  .home-gallery-grid{
    grid-template-columns:1fr;
  }

  .home-gallery-card.tall,
  .home-gallery-card.wide{
    grid-column:auto;
    grid-row:auto;
  }
}


.gallery-item,
.home-gallery-card{
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}


/* ===== New gallery system ===== */

.home-portfolio-grid{
  display:grid;
  gap:18px;
  margin-top:28px;
  margin-bottom:28px;
}
/* 2-column equal-size layout for home portfolio */
.portfolio-2col{
  grid-template-columns:1fr 1fr;
}
.portfolio-2col .portfolio-preview-media{
  height:260px;
  padding:14px 14px 0 14px;
}
.portfolio-2col .portfolio-preview-media img{
  height:100%;
  object-fit:cover;
}
@media(max-width:640px){
  .portfolio-2col{
    grid-template-columns:1fr;
  }
}

.portfolio-preview-card{
  display:block;
  background:rgba(255,255,255,0.86);
  border:1px solid var(--line);
  border-radius:28px;
  box-shadow:var(--shadow);
  overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.portfolio-preview-card:hover,
.portfolio-preview-card:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(184,159,115,.45);
}

.portfolio-preview-media{
  padding:16px 16px 0 16px;
}

.portfolio-preview-media img{
  width:100%;
  height:auto;
  display:block;
  border-radius:20px;
  background:#f3efe7;
}

.portfolio-preview-copy{
  padding:16px 18px 18px;
}

.portfolio-preview-tag{
  display:inline-flex;
  margin-bottom:8px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(184,159,115,.12);
  color:var(--accent);
  font-weight:700;
  font-size:.92rem;
}

.portfolio-preview-copy strong{
  display:block;
  font-size:1.08rem;
}

.gallery-showcase{
  column-count:2;
  column-gap:18px;
}

.gallery-showcase-card{
  break-inside:avoid;
  margin:0 0 18px;
  padding:14px;
  border-radius:28px;
  border:1px solid var(--line);
  background:rgba(255,255,255,0.88);
  box-shadow:var(--shadow);
}

.gallery-showcase-card img{
  width:100%;
  height:auto;
  display:block;
  border-radius:20px;
  background:#f3efe7;
}

@media (max-width: 920px){
  .home-portfolio-grid{
    grid-template-columns:1fr;
  }

  .gallery-showcase{
    column-count:1;
  }
}


.contact-section-grid{
  display:grid;
  grid-template-columns:0.9fr 1.1fr;
  gap:28px;
  align-items:start;
}

.contact-form-card{
  background:rgba(255, 255, 255, 0.744);
  border:1px solid var(--line);
  border-radius:28px;
  box-shadow:var(--shadow);
  padding:28px;
}

.lead-form{
  display:grid;
  gap:16px;
}

.form-field{
  display:grid;
  gap:8px;
}

.form-field label{
  font-weight:700;
}

.form-field input,
.form-field textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  color:var(--text);
  padding:14px 16px;
  font:inherit;
  resize:vertical;
}

.form-field input:focus,
.form-field textarea:focus{
  outline:none;
  border-color:rgba(184,159,115,0.7);
  box-shadow:0 0 0 4px rgba(184,159,115,0.12);
}

.form-note{
  margin:0;
  color:var(--muted);
  font-size:0.95rem;
}

.form-submit{
  width:100%;
}

.contact-direct-links{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:16px;
}

.contact-direct-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid var(--line);
  background:var(--surface-2);
  font-weight:700;
  background:rgba(184,159,115,0.7);
}

@media (max-width: 920px){
  .contact-section-grid{
    grid-template-columns:1fr;
  }
}

/* ===== Why + Services section (below portfolio) ===== */
.why-services-section{
  background:rgba(255,255,255,0.45);
  border-block:1px solid var(--line);
}
.why-stats-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-bottom:28px;
}
@media(max-width:920px){
  .why-stats-grid{grid-template-columns:1fr;}
}

/* ===== Instagram-style grid (legacy) ===== */
.instagram-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:4px;
}
.instagram-cell{
  position:relative;
  aspect-ratio:1;
  overflow:hidden;
  cursor:pointer;
  background:#f3efe7;
}
.instagram-cell img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform 0.5s cubic-bezier(0.25,0.46,0.45,0.94);
}
.instagram-cell::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,0.30) 0%,transparent 55%);
  opacity:0;
  transition:opacity 0.35s ease;
}
.instagram-cell:hover::after,
.instagram-cell:focus-visible::after{opacity:1;}
.instagram-cell:hover img,
.instagram-cell:focus-visible img{transform:scale(1.05);}
.instagram-cell .zoom-hint{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%) scale(0.78);
  width:52px;height:52px;
  border-radius:50%;
  background:rgba(255,255,255,0.90);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;
  opacity:0;
  transition:opacity 0.30s ease, transform 0.30s ease;
  z-index:2;
  pointer-events:none;
  box-shadow:0 4px 16px rgba(0,0,0,0.20);
}
.instagram-cell:hover .zoom-hint,
.instagram-cell:focus-visible .zoom-hint{
  opacity:1;
  transform:translate(-50%,-50%) scale(1);
}
.instagram-cell:focus-visible{
  outline:3px solid var(--accent);
  outline-offset:-3px;
}
@media(max-width:640px){
  .instagram-grid{gap:2px;}
}

/* ===== Professional Gallery System ===== */

/* Warm hero banner for gallery pages */
.gallery-hero-banner{
  background:linear-gradient(140deg,#3b2e1e 0%,#2e2318 100%);
  padding:72px 0 56px;
  position:relative;
  overflow:hidden;
}
.gallery-hero-banner::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 65% 50%,rgba(184,159,115,0.28) 0%,transparent 56%);
  pointer-events:none;
}
.gallery-hero-banner::after{
  content:'';
  position:absolute;
  bottom:0;left:0;right:0;
  height:2px;
  background:linear-gradient(to left,var(--accent),transparent 60%);
}
.gallery-hero-banner .container{position:relative;z-index:1;}
.gallery-hero-banner .eyebrow{color:var(--accent);}
.gallery-hero-banner h1{color:#fff;}
.gallery-hero-banner .hero-text{color:rgba(255,255,255,0.68);margin-bottom:0;}

/* Stats bar (image count) */
.gallery-stats-bar{
  display:flex;
  align-items:center;
  gap:20px;
  padding:16px 0 12px;
  border-bottom:1px solid var(--line);
  color:var(--muted);
  font-size:0.93rem;
  margin-bottom:20px;
}
.gallery-stats-bar strong{color:var(--text);}
.gallery-stats-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--accent);
  display:inline-block;
  flex-shrink:0;
}

/* Pro masonry editorial grid */
.pro-gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-auto-rows:290px;
  grid-auto-flow:dense;
  gap:10px;
}
.pro-cell{
  position:relative;
  overflow:hidden;
  border-radius:18px;
  cursor:pointer;
  background:#f0ece4;
}
.pro-cell img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform 0.55s cubic-bezier(0.25,0.46,0.45,0.94),
             opacity 0.4s ease;
}
.pro-cell::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,0.36) 0%,transparent 55%);
  opacity:0;
  transition:opacity 0.38s ease;
  border-radius:inherit;
}
.pro-cell:hover::after,
.pro-cell:focus-visible::after{opacity:1;}
.pro-cell:hover img,
.pro-cell:focus-visible img{transform:scale(1.05);}
.pro-cell .zoom-hint{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%) scale(0.78);
  width:52px;height:52px;
  border-radius:50%;
  background:rgba(255,255,255,0.90);
  backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;
  font-size:1.35rem;
  opacity:0;
  transition:opacity 0.32s ease, transform 0.32s ease;
  z-index:2;
  pointer-events:none;
  box-shadow:0 4px 16px rgba(0,0,0,0.22);
}
.pro-cell:hover .zoom-hint,
.pro-cell:focus-visible .zoom-hint{
  opacity:1;
  transform:translate(-50%,-50%) scale(1);
}
.pro-cell:focus-visible{
  outline:3px solid var(--accent);
  outline-offset:-3px;
}
.pro-cell.wide{grid-column:span 2;}
.pro-cell.tall{grid-row:span 2;}

/* Gallery CTA strip */
.gallery-cta-strip{
  background:linear-gradient(135deg,rgba(184,159,115,0.11) 0%,rgba(184,159,115,0.03) 100%);
  border:1px solid rgba(184,159,115,0.24);
  border-radius:28px;
  padding:36px 40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin:36px 0 0;
}
.gallery-cta-strip-text h3{
  margin:0 0 6px;
  font-size:1.25rem;
}
.gallery-cta-strip-text p{
  margin:0;
  color:var(--muted);
  font-size:0.97rem;
}

@media(max-width:920px){
  .pro-gallery-grid{
    grid-template-columns:repeat(2,1fr);
    grid-auto-rows:240px;
  }
  .pro-cell.wide,.pro-cell.tall{grid-column:auto;grid-row:auto;}
  .gallery-cta-strip{flex-direction:column;}
  .gallery-hero-banner{padding:52px 0 40px;}
}
@media(max-width:640px){
  .pro-gallery-grid{
    grid-template-columns:1fr;
    grid-auto-rows:270px;
  }
  .gallery-hero-banner{padding:40px 0 32px;}
  .gallery-cta-strip{padding:24px 20px;}
  .gallery-stats-bar{
    flex-wrap:wrap;
    gap:8px 14px;
    font-size:0.73rem;
    padding:8px 0 10px;
    align-items:center;
  }
  .gallery-stats-dot{
    width:5px;height:5px;
  }
}

/* ===== Lightbox ===== */
.lb-overlay{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.93);
  z-index:300;
  align-items:center;
  justify-content:center;
}
.lb-overlay.open{display:flex;}
.lb-img-wrap{
  position:relative;
  max-width:min(90vw,920px);
  max-height:88vh;
  display:flex;
  align-items:center;
  justify-content:center;
}
.lb-img{
  max-width:100%;
  max-height:88vh;
  object-fit:contain;
  border-radius:6px;
  display:block;
  user-select:none;
}
.lb-close{
  position:fixed;
  top:18px;
  left:18px;
  width:46px;height:46px;
  border-radius:50%;
  border:none;
  background:rgba(255,255,255,0.16);
  color:#fff;
  font-size:1.5rem;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  z-index:301;
  transition:background 0.2s;
}
.lb-close:hover{background:rgba(255,255,255,0.3);}
.lb-nav{
  position:fixed;
  top:50%;
  transform:translateY(-50%);
  width:50px;height:50px;
  border-radius:50%;
  border:none;
  background:rgba(255,255,255,0.16);
  color:#fff;
  font-size:1.6rem;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  z-index:301;
  transition:background 0.2s;
}
.lb-nav:hover{background:rgba(255,255,255,0.3);}
.lb-prev{right:18px;}
.lb-next{left:18px;}
.lb-counter{
  position:fixed;
  bottom:18px;
  left:50%;
  transform:translateX(-50%);
  color:rgba(255,255,255,0.75);
  font-size:0.95rem;
  z-index:301;
  background:rgba(0,0,0,0.35);
  padding:5px 14px;
  border-radius:999px;
}
