/* ═══════════════════════════════════════════════════════
   英子婚礼摄影工作室 — 简洁排版风（手机优化版）
   ═══════════════════════════════════════════════════════ */

/* ── 变量 ────────────────────────────────────────────────── */
:root {
  --color-black:    #0a0a0a;
  --color-dark:     #1a1a1a;
  --color-charcoal: #2a2a2a;
  --color-grey:     #888888;
  --color-silver:   #c0c0c0;
  --color-white:    #f5f5f3;
  --color-cream:    #fafaf7;
  --color-gold:     #c9a96e;
  --color-gold-light:#dfc9a0;
  --font-serif: 'Cormorant Garamond', 'Noto Serif SC', 'Songti SC', serif;
  --font-sans:  'Noto Serif SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 2rem;
  --space-lg: 4rem;
  --space-xl: 8rem;
  --transition: 0.4s cubic-bezier(.25,.46,.45,.94);
}

/* ── Reset ──────────────────────────────────────────────── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  font-family: var(--font-sans);
  color: var(--color-charcoal);
  background: var(--color-cream);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; height:auto; }
button { cursor:pointer; border:none; background:none; font:inherit; }

.container { max-width:1100px; margin:0 auto; padding:0 var(--space-md); }

/* ── 导航 ──────────────────────────────────────────────── */
.nav {
  position:fixed; top:0; left:0; width:100%; z-index:1000;
  display:flex; align-items:center; justify-content:space-between;
  padding: 1.2rem 2.5rem;
  background: rgba(10,10,10,0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  transition: background var(--transition), padding var(--transition);
}
.nav.scrolled { background:rgba(10,10,10,0.95); padding:0.8rem 2.5rem; }
.nav-logo {
  display:flex; flex-direction:column; line-height:1.2;
  text-decoration:none; gap:1px;
}
.logo-cn {
  font-family: var(--font-serif); font-size:1.1rem; font-weight:400;
  letter-spacing:0.2em; color:var(--color-gold);
}
.logo-en {
  font-family: var(--font-serif); font-size:0.58rem; font-weight:300;
  letter-spacing:0.42em; color:var(--color-gold-light); text-transform:uppercase;
}
.nav-links { display:flex; gap:2.2rem; align-items:center; }
.nav-links a {
  font-size:0.78rem; letter-spacing:0.2em; text-transform:uppercase;
  color:var(--color-silver); transition:color .3s;
}
.nav-links a:hover, .nav-links a.active { color:var(--color-gold); }
.nav-toggle { display:none; flex-direction:column; gap:5px; padding:5px; }
.nav-toggle span { display:block; width:22px; height:1.5px; background:var(--color-silver); transition:all .3s; }

/* ── HERO：无图片，纯文字 + 渐变 ─────────────────────── */
.hero-textonly {
  min-height:100vh;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center;
  background: linear-gradient(160deg, #0a0a0a 0%, #1a1a2e 40%, #16213e 100%);
  color:var(--color-cream);
  padding: 6rem var(--space-md) 4rem;
  position:relative;
  overflow:hidden;
}
.hero-textonly::before {
  content:'';
  position:absolute; top:-20%; left:50%; transform:translateX(-50%);
  width:80vw; height:80vw;
  background: radial-gradient(ellipse, rgba(201,169,110,0.08) 0%, transparent 70%);
  pointer-events:none;
}
.hero-textonly::after {
  content:'';
  position:absolute; bottom:0; left:0; width:100%; height:200px;
  background: linear-gradient(to top, var(--color-cream) 0%, transparent 100%);
  pointer-events:none;
}
.hero-inner { position:relative; z-index:1; max-width:800px; padding:0 1rem; }
.hero-eyebrow {
  font-size:0.72rem; letter-spacing:0.45em; text-transform:uppercase;
  color:var(--color-gold); margin-bottom:1.5rem;
  opacity:0; animation: fadeUp 1s 0.2s forwards;
}
.hero-title {
  font-family: var(--font-serif); font-weight:300;
  font-size: clamp(2.8rem, 7vw, 5.5rem);
  line-height:1.1; letter-spacing:0.02em;
  margin-bottom:1.5rem;
  opacity:0; animation: fadeUp 1s 0.5s forwards;
}
.hero-title i {
  font-style:italic; font-weight:300; color:var(--color-gold-light);
}
.hero-sub {
  font-size:0.85rem; letter-spacing:0.3em; color:var(--color-silver);
  margin-bottom:2.5rem;
  opacity:0; animation: fadeUp 1s 0.8s forwards;
}
.hero-textonly .btn-gold {
  opacity:0; animation: fadeUp 1s 1.1s forwards;
}
.hero-scrollhint {
  position:absolute; bottom:2.5rem; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:0.6rem;
  color:var(--color-grey); font-size:0.68rem; letter-spacing:0.25em;
  z-index:1; cursor:pointer;
}
.hero-scrollhint span {
  padding-bottom:0.3rem;
  border-bottom:1px solid rgba(136,136,136,0.3);
  transition:border-color .3s, color .3s;
}
.hero-scrollhint:hover span {
  border-bottom-color:var(--color-gold);
  color:var(--color-gold);
}
.scroll-line {
  width:1px; height:40px; background:var(--color-grey); position:relative; overflow:hidden;
}
.scroll-line::after {
  content:''; position:absolute; top:-100%; left:0; width:100%; height:100%;
  background:var(--color-gold); animation: scrollDown 2s infinite;
}
@keyframes scrollDown { to { top:100%; } }

@keyframes fadeUp {
  from { opacity:0; transform:translateY(25px); }
  to   { opacity:1; transform:translateY(0); }
}

/* ── 通用段落样式 ──────────────────────────────────────── */
.section-label {
  display:block; font-size:0.68rem; letter-spacing:0.4em; text-transform:uppercase;
  color:var(--color-gold); margin-bottom:1rem;
}
.section-title {
  font-family:var(--font-serif); font-weight:300; font-size:clamp(1.8rem,4vw,3rem);
  line-height:1.2; color:var(--color-black); margin-bottom:1.5rem;
}
.section-desc {
  font-size:0.95rem; color:var(--color-charcoal); line-height:2;
  max-width:600px;
}

/* ── 理念介绍 ──────────────────────────────────────────── */
.philosophy {
  padding: var(--space-xl) 0;
  background: var(--color-cream);
}
.philosophy-grid {
  display:grid; grid-template-columns:1.3fr 0.7fr; gap:4rem; align-items:center;
}
.philosophy-stats { display:flex; flex-direction:column; gap:2.5rem; }
.stat-item { border-left:2px solid var(--color-gold); padding-left:1.5rem; }
.stat-number {
  display:block; font-family:var(--font-serif); font-size:2.8rem; font-weight:300;
  color:var(--color-black); line-height:1;
}
.stat-label { display:block; font-size:0.78rem; color:var(--color-grey); margin-top:0.3rem; letter-spacing:0.15em; }
.link-gold {
  display:inline-block; margin-top:1.5rem;
  font-size:0.82rem; letter-spacing:0.15em; color:var(--color-gold);
  border-bottom:1px solid transparent; transition:border-color .3s;
}
.link-gold:hover { border-bottom-color:var(--color-gold); }

/* ── 精选作品：小图网格 ───────────────────────────────── */
.works-preview {
  padding: var(--space-xl) 0;
  background: var(--color-white);
}
.works-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:12px;
  margin-top:2rem;
}
.work-thumb {
  position:relative; overflow:hidden; aspect-ratio:3/4;
  background:var(--color-charcoal);
}
.work-thumb img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .6s cubic-bezier(.25,.46,.45,.94);
}
.work-thumb:hover img { transform:scale(1.06); }
.work-caption {
  position:absolute; bottom:0; left:0; width:100%;
  padding:1.2rem 1rem 0.8rem;
  background:linear-gradient(to top, rgba(10,10,10,0.85), transparent);
  color:var(--color-cream); font-size:0.82rem; letter-spacing:0.1em;
  transform:translateY(100%); transition:transform .4s;
}
.work-thumb:hover .work-caption { transform:translateY(0); }

/* ── 服务特色 ──────────────────────────────────────────── */
.services {
  padding: var(--space-xl) 0;
  background: var(--color-cream);
}
.services-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:2rem;
  margin-top:2.5rem;
}
.service-card {
  padding:2rem 1.5rem;
  background:var(--color-white);
  border:1px solid #e8e8e4;
  transition:border-color .3s, transform .3s;
}
.service-card:hover { border-color:var(--color-gold); transform:translateY(-4px); }
.service-icon { font-size:2rem; margin-bottom:1.2rem; }
.service-card h3 {
  font-family:var(--font-serif); font-weight:400; font-size:1.15rem;
  margin-bottom:0.8rem; color:var(--color-black);
}
.service-card p { font-size:0.85rem; color:var(--color-grey); line-height:1.8; }

/* ── 客户评价 ──────────────────────────────────────────── */
.testimonials {
  padding: var(--space-xl) 0;
  background: var(--color-black);
  color:var(--color-cream);
}
.testimonials .section-label { color:var(--color-gold); }
.testimonials .section-title { color:var(--color-cream); }
.testimonial-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:2rem;
  margin-top:2.5rem;
}
.testimonial-card {
  padding:2rem; background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
}
.testimonial-text {
  font-family:var(--font-serif); font-size:1.05rem; font-style:italic;
  line-height:1.9; color:var(--color-silver); margin-bottom:1.2rem;
}
.testimonial-author { font-size:0.78rem; color:var(--color-gold); letter-spacing:0.1em; }

/* ── CTA ──────────────────────────────────────────────── */
.cta-simple {
  padding: var(--space-xl) 0;
  text-align:center;
  background: var(--color-cream);
}
.cta-simple h2 {
  font-family:var(--font-serif); font-weight:300;
  font-size:clamp(2rem,5vw,3.5rem); color:var(--color-black);
  margin-bottom:1rem; line-height:1.2;
}
.cta-simple p { color:var(--color-grey); margin-bottom:2rem; letter-spacing:0.1em; }

/* ── 按钮 ──────────────────────────────────────────────── */
.btn-gold {
  display:inline-block; padding:0.9rem 2.8rem;
  background:transparent; color:var(--color-gold);
  border:1px solid var(--color-gold);
  font-size:0.8rem; letter-spacing:0.3em; text-transform:uppercase;
  transition:all .4s;
}
.btn-gold:hover { background:var(--color-gold); color:var(--color-black); }
.btn-outline {
  display:inline-block; padding:0.8rem 2.2rem;
  border:1px solid var(--color-charcoal);
  font-size:0.78rem; letter-spacing:0.2em; color:var(--color-charcoal);
  transition:all .3s;
}
.btn-outline:hover { background:var(--color-charcoal); color:var(--color-cream); }

/* ── 页脚 ──────────────────────────────────────────────── */
.footer {
  padding:var(--space-lg) 0 var(--space-md);
  background:var(--color-black); color:var(--color-silver);
}
.footer-grid {
  display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:2.5rem;
  padding-bottom:var(--space-lg); border-bottom:1px solid var(--color-charcoal);
}
.footer-brand h3 { font-family:var(--font-serif); font-size:1.3rem; font-weight:300; color:var(--color-gold); letter-spacing:0.3em; margin-bottom:0.8rem; }
.footer-brand p { font-size:0.82rem; line-height:1.8; }
.footer-links h4 { font-size:0.72rem; letter-spacing:0.25em; text-transform:uppercase; color:var(--color-grey); margin-bottom:1.2rem; }
.footer-links a, .footer-links p { display:block; font-size:0.82rem; color:var(--color-silver); margin-bottom:0.6rem; transition:color .3s; }
.footer-links a:hover { color:var(--color-gold); }
.footer-bottom { padding-top:var(--space-md); display:flex; justify-content:space-between; font-size:0.72rem; color:var(--color-charcoal); }
.footer-bottom a { color:var(--color-grey); }
.footer-bottom a:hover { color:var(--color-gold); }

/* ── Reveal 动画 ──────────────────────────────────────── */
.reveal { opacity:0; transform:translateY(30px); transition:opacity .8s, transform .8s; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* ── 子页面通用 Hero ──────────────────────────────────── */
.page-hero {
  padding:10rem 0 4rem; text-align:center;
  background:var(--color-black); color:var(--color-cream);
}
.page-hero h1 {
  font-family:var(--font-serif); font-weight:300;
  font-size:clamp(2.2rem,5vw,3.5rem); margin-bottom:1rem;
}
.page-hero p { font-size:0.85rem; letter-spacing:0.3em; color:var(--color-gold); }

/* ── 作品集过滤 ──────────────────────────────────────── */
.filter-bar { display:flex; justify-content:center; gap:0.8rem; flex-wrap:wrap; margin:2rem 0; }
.filter-btn {
  padding:0.5rem 1.5rem; font-size:0.78rem; letter-spacing:0.15em;
  border:1px solid var(--color-silver); color:var(--color-grey);
  background:transparent; cursor:pointer; transition:all .3s;
}
.filter-btn:hover, .filter-btn.active {
  border-color:var(--color-gold); color:var(--color-gold);
  background:rgba(201,169,110,0.08);
}

/* ── 作品集卡片 ──────────────────────────────────────── */
.gallery-grid {
  display:grid; grid-template-columns:repeat(auto-fill, minmax(300px,1fr)); gap:1.5rem;
  padding:2rem 0 var(--space-xl);
}
.gallery-card {
  position:relative; overflow:hidden; aspect-ratio:3/4;
  background:var(--color-charcoal); cursor:pointer;
}
.gallery-card img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.gallery-card:hover img { transform:scale(1.05); }
.gallery-card-label {
  position:absolute; bottom:0; left:0; width:100%;
  padding:1.5rem 1.2rem 1rem;
  background:linear-gradient(to top, rgba(10,10,10,0.9), transparent);
  color:var(--color-cream); font-size:0.85rem; letter-spacing:0.1em;
}

/* ── 关于页 ──────────────────────────────────────────── */
.about-section { padding:var(--space-xl) 0; }
.about-section.alt { background:var(--color-white); }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.about-grid.reverse { direction:rtl; }
.about-grid.reverse > * { direction:ltr; }
.about-pic { aspect-ratio:4/5; background:var(--color-charcoal); overflow:hidden; }
.about-pic img { width:100%; height:100%; object-fit:cover; }
.about-text h2 { font-family:var(--font-serif); font-weight:300; font-size:2rem; margin-bottom:1.5rem; color:var(--color-black); }
.about-text p { color:var(--color-charcoal); line-height:2; margin-bottom:1rem; font-size:0.92rem; }

/* ── 下载页 ──────────────────────────────────────────── */
.download-hero {
  padding:10rem 0 4rem; text-align:center;
  background:var(--color-black); color:var(--color-cream);
}
.download-box {
  max-width:460px; margin:3rem auto; padding:2.5rem 2rem;
  background:var(--color-white); border:1px solid #e8e8e4;
}
.download-box input {
  width:100%; padding:0.9rem 1rem; margin-bottom:1rem;
  border:1px solid #d0d0cc; background:var(--color-cream);
  font-size:0.9rem; font-family:var(--font-sans);
}
.download-box input:focus { outline:none; border-color:var(--color-gold); }
.dl-file {
  display:flex; align-items:center; justify-content:space-between;
  padding:1rem 0; border-bottom:1px solid #eee;
}
.dl-file .name { flex:1; font-size:0.88rem; }
.dl-file .size { font-size:0.78rem; color:var(--color-grey); margin:0 1rem; }
.dl-file a {
  padding:0.4rem 1rem; background:var(--color-gold); color:var(--color-black);
  font-size:0.75rem; letter-spacing:0.1em; transition:opacity .3s;
}
.dl-file a:hover { opacity:0.8; }
.error-msg { color:#c0392b; font-size:0.82rem; margin-bottom:1rem; display:none; }

/* ═══════════════════════════════════════════════════════
   响应式：手机端 (≤768px) — 所有覆盖统一管理
   ═══════════════════════════════════════════════════════ */
@media (max-width:768px) {

  /* 容器 */
  .container { padding:0 1rem; }

  /* ── 导航 ── */
  .nav { padding:0.8rem 1.2rem; }
  .nav.scrolled { padding:0.6rem 1.2rem; }
  .nav-toggle { display:flex; }
  .nav-links {
    display:none; position:absolute; top:100%; left:0; width:100%;
    flex-direction:column; background:rgba(10,10,10,0.97);
    padding:1rem 1.2rem; gap:0.8rem;
  }
  .nav-links.open { display:flex; }
  .logo-cn { font-size:0.95rem; }
  .logo-en { font-size:0.52rem; letter-spacing:0.35em; }

  /* ── Hero：大幅缩小 ── */
  .hero-textonly {
    min-height:100vh; min-height:100dvh;
    padding:5rem 1rem 5rem;
    justify-content:center;
  }
  .hero-textonly::before {
    top:-30%; width:100vw; height:100vw;
  }
  .hero-inner { max-width:100%; }
  .hero-eyebrow {
    font-size:0.6rem; letter-spacing:0.35em;
    margin-bottom:1.2rem;
  }
  .hero-title {
    font-size:1.75rem;   /* 手机上紧凑的标题尺寸 */
    line-height:1.15;
    margin-bottom:1rem;
  }
  .hero-sub {
    font-size:0.72rem; letter-spacing:0.25em;
    margin-bottom:1.8rem;
  }
  .hero-scrollhint {
    bottom:1.5rem;
    font-size:0.62rem;
  }
  .scroll-line { height:30px; }

  /* 按钮 */
  .btn-gold {
    padding:0.75rem 2rem;
    font-size:0.75rem; letter-spacing:0.25em;
  }

  /* ── 理念区 ── */
  .philosophy { padding:3.5rem 0; }
  .philosophy-grid {
    grid-template-columns:1fr; gap:2rem;
  }
  .philosophy-text .section-title {
    font-size:1.5rem;   /* 手机上缩小 */
    line-height:1.25;
  }
  .section-desc { font-size:0.85rem; line-height:1.8; }
  .philosophy-stats { gap:1.5rem; flex-direction:row; flex-wrap:wrap; }
  .stat-item { flex:1; min-width:80px; padding-left:1rem; }
  .stat-number { font-size:1.8rem; }
  .stat-label { font-size:0.7rem; }
  .link-gold { font-size:0.8rem; }

  /* ── 作品网格 ── */
  .works-preview { padding:3rem 0; }
  .works-grid {
    grid-template-columns:repeat(2,1fr); gap:6px;
    margin-top:1.5rem;
  }
  .work-thumb { aspect-ratio:3/4; }
  .work-caption {
    font-size:0.7rem; padding:0.6rem 0.5rem 0.4rem;
    transform:translateY(0); /* 手机上始终显示标题 */
  }
  .section-label { font-size:0.62rem; letter-spacing:0.3em; }

  /* ── 服务 ── */
  .services { padding:3rem 0; }
  .services-grid {
    grid-template-columns:repeat(2,1fr); gap:0.8rem;
    margin-top:1.5rem;
  }
  .service-card { padding:1.2rem 0.8rem; }
  .service-icon { font-size:1.5rem; margin-bottom:0.8rem; }
  .service-card h3 { font-size:0.95rem; margin-bottom:0.5rem; }
  .service-card p { font-size:0.75rem; line-height:1.6; }

  /* ── 评价 ── */
  .testimonials { padding:3.5rem 0; }
  .testimonial-grid { grid-template-columns:1fr; gap:1.2rem; margin-top:1.5rem; }
  .testimonial-card { padding:1.5rem; }
  .testimonial-text { font-size:0.9rem; line-height:1.7; }

  /* ── CTA ── */
  .cta-simple { padding:3.5rem 0; }
  .cta-simple h2 { font-size:1.6rem; line-height:1.25; }
  .cta-simple p { font-size:0.8rem; margin-bottom:1.5rem; }

  /* ── 页脚 ── */
  .footer { padding:2.5rem 0 1.5rem; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:1.5rem; padding-bottom:2rem; }
  .footer-brand { grid-column:1/-1; }
  .footer-brand h3 { font-size:1.1rem; }
  .footer-bottom { flex-direction:column; gap:0.5rem; text-align:center; font-size:0.68rem; }

  /* ── 子页面 Hero ── */
  .page-hero { padding:8rem 0 3rem; }
  .page-hero h1 { font-size:1.8rem; }
  .page-hero p { font-size:0.75rem; }

  /* ── 作品集 ── */
  .gallery-grid { grid-template-columns:repeat(2,1fr); gap:0.6rem; }
  .filter-bar { gap:0.4rem; }
  .filter-btn { padding:0.4rem 1rem; font-size:0.7rem; }

  /* ── 关于页 ── */
  .about-section { padding:3rem 0; }
  .about-grid { grid-template-columns:1fr; gap:2rem; }
  .about-grid.reverse { direction:inherit; }
  .about-text h2 { font-size:1.6rem; }
  .about-text p { font-size:0.85rem; }

  /* ── 下载页 ── */
  .download-hero { padding:8rem 0 3rem; }
  .download-box { margin:2rem 1rem; padding:1.5rem 1.2rem; }
  .dl-file .name { font-size:0.78rem; }
  .dl-file a { padding:0.35rem 0.8rem; font-size:0.7rem; }

}

/* ═══════════════════════════════════════════════════════
   灯箱大图浏览
   ═══════════════════════════════════════════════════════ */
.lightbox {
  display:none; position:fixed; inset:0; z-index:9999;
  background:rgba(0,0,0,0.95);
  animation: lbFadeIn .3s ease;
}
.lightbox.active { display:block; }

.lightbox-bg {
  position:absolute; inset:0;
  z-index:0;
}

.lightbox-content {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  z-index:2; text-align:center; max-width:90vw; max-height:85vh;
}
.lightbox-content img {
  max-width:90vw; max-height:75vh;
  object-fit:contain; display:block; margin:0 auto;
  box-shadow:0 4px 40px rgba(0,0,0,0.5);
  border-radius:2px;
}
.lightbox-caption {
  color:var(--color-gold); font-size:0.85rem;
  letter-spacing:0.15em; margin-top:1rem;
}
.lightbox-counter {
  color:var(--color-grey); font-size:0.7rem;
  letter-spacing:0.1em; margin-top:0.3rem;
}

.lightbox-close {
  position:absolute; top:1rem; right:1rem; z-index:3;
  color:#fff; font-size:2rem; font-weight:300;
  background:none; border:none; cursor:pointer;
  width:44px; height:44px; display:flex; align-items:center; justify-content:center;
  opacity:0.7; transition:opacity .3s;
}
.lightbox-close:hover { opacity:1; }

.lightbox-prev, .lightbox-next {
  position:absolute; top:50%; transform:translateY(-50%); z-index:3;
  color:#fff; font-size:1.5rem;
  background:rgba(255,255,255,0.08); border:none; cursor:pointer;
  width:48px; height:48px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  opacity:0.5; transition:opacity .3s, background .3s;
}
.lightbox-prev { left:1rem; }
.lightbox-next { right:1rem; }
.lightbox-prev:hover, .lightbox-next:hover { opacity:1; background:rgba(255,255,255,0.15); }

@media (max-width:768px) {
  .lightbox-close { top:0.5rem; right:0.5rem; font-size:1.8rem; }
  .lightbox-prev, .lightbox-next {
    width:40px; height:40px; font-size:1.2rem;
  }
  .lightbox-prev { left:0.3rem; }
  .lightbox-next { right:0.3rem; }
  .lightbox-content { max-width:95vw; }
  .lightbox-content img { max-width:95vw; max-height:70vh; }
  .lightbox-caption { font-size:0.78rem; }
}

@keyframes lbFadeIn {
  from { opacity:0; }
  to { opacity:1; }
}
