/* =========================================================
   PINGPANG Studio — site-like (structure + vibe), original code
   ========================================================= */

:root{
  --ink:#201b16;
  --paper:#f2efe8;
  --line:#726a61;
  --stone:#e5dfd3;
  --orange:#BA612D;
  --cream:#f7f2ea;
  --cream2:#efe7db;
  --cream3:#e7ddd1;
  --white:#ffffff;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font-family:"DengXian","等线","Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;
}

a{ color:inherit; text-decoration:none; }
img{ display:block; max-width:100%; }

.serif{
  font-family:"STSong","Songti SC","Noto Serif SC",Georgia,"Times New Roman",serif;
}

#top{ position:absolute; top:0; left:0; }

/* ===================== Header ===================== */
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:#ffffff;
  border-bottom:1px solid var(--line);
}

.header-grid{
  min-height:70px;
  display:grid;
  grid-template-columns: 1.6fr 1fr auto auto;
  align-items:stretch;
}

.logo-wrap,
.main-nav,
.cta-wrap{
  border-right:1px solid var(--line);
}

.logo-wrap{
  display:flex;
  align-items:center;
  padding:0 34px;
}

.logo{
  font-size:34px;
  line-height:1;
  letter-spacing:-0.02em;
  font-family:"STSong","Songti SC","Noto Serif SC",Georgia,"Times New Roman",serif;
}

.main-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:42px;
  font-size:15px;
  font-weight:700;
  letter-spacing:1.50em;
}

.nav-link{
  text-transform:uppercase;
  opacity:0.95;
}

.nav-link:hover{ opacity:0.65; }
.nav-link.is-active{ text-decoration:underline; text-underline-offset:6px; }

.cta-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 28px;
  background:var(--stone);
}

.consult-btn{
  display:inline-flex;
  align-items:center;
  gap:14px;
  font-size:15px;
  font-weight:700;
  letter-spacing:0.28em;
  text-transform:uppercase;
}

.consult-btn:hover{ opacity:0.7; }
.arrow{ font-size:22px; }

.social-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  min-width:140px;
  padding:0 18px;
}

.icon-btn{
  width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.icon-btn img{ width:100%; height:100%; object-fit:contain; }

.mobile-menu{
  display:none;
  border-top:1px solid var(--line);
  padding:12px 18px;
}
.mobile-menu summary{
  cursor:pointer;
  font-weight:700;
  letter-spacing:0.28em;
  text-transform:uppercase;
  font-size:15px;
  list-style:none;
}
.mobile-menu summary::-webkit-details-marker{ display:none; }
.mobile-links{
  margin-top:12px;
  display:flex;
  flex-wrap:wrap;
  gap:16px 20px;
  font-size:14px;
  letter-spacing:0.12em;
}

/* ===================== Hero ===================== */
.hero{
  position:relative;
  min-height:700px;
  background:#bb6432;
  color:#fbf3e6;
  padding:40px 28px 26px;
  overflow:hidden;
}

.grain::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    radial-gradient(rgba(255,255,255,0.10) 0.7px, transparent 0.7px),
    radial-gradient(rgba(255,255,255,0.06) 0.9px, transparent 0.9px);
  background-size:22px 22px, 30px 30px;
  background-position:0 0, 11px 13px;
  opacity:0.95;
  mix-blend-mode:screen;
}

.hero-inner{
  position:relative;
  z-index:1;
  max-width:1600px;
  margin:0 auto;
  min-height:calc(100vh - 170px);
  display:grid;
  grid-template-columns: 1fr 1.12fr 1fr;
  align-items:center;
  gap:34px;
}

.work-card{
  justify-self:center;
  width:296px;
  height:472px;
  background:#332720;
  overflow:hidden;
  box-shadow: 0 18px 50px rgba(0,0,0,0.18);
}

.work-left{
  justify-self:start;
  margin-left:100px;      /* 左边再往里收一点 */
  transform:translateY(-35px);  /* 左图上移 */
}

.work-right{
  justify-self:end;
  margin-right:100px;     /* 右边再往里收一点 */
  transform:translateY(35px);   /* 右图下移 */
}
.work-card img{ width:100%; height:100%; object-fit:cover; }

.hero-copy{
  position:relative;
  min-height:620px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.hero-copy h1{
  margin:0;
  text-align:center;
  font-family:"DengXian","等线","Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;
  font-weight:500;
  line-height:1.02;
  letter-spacing:0;
}

.hero-copy h1 span{ display:block; }
.hero-copy h1 span:nth-child(1){ font-size:60px; }
.hero-copy h1 span:nth-child(2){ font-size:60px; }
.hero-copy h1 span:nth-child(3){ font-size:65px; }

.sparkle{
  position:absolute;
  color:#fff7ec;
  opacity:0.96;
  line-height:1;
  font-size:46px;
}
.sparkle-left{ left:14%; top:60%; }
.sparkle-top{ right:23%; top:21%; }
.sparkle-top-small{ right:18%; top:16%; font-size:28px; }

.hero-footnote{
  position:relative;
  z-index:1;
  width:fit-content;
  margin:-70px 0 0 260px;   /* 控制整体靠左的位置 */
  text-align:left;
  color:#fff4e7;
  font-size:16px;
  font-weight:700;
  letter-spacing:0.28em;
  line-height:1.9;
}

.hero-footnote span{
  display:block;
}

.hero-footnote .line2{
  width:100%;
  text-align:right;   /* 让“爱情”右边和上一行“境内”右边对齐 */
}

/* ===================== Shared Sections ===================== */
.page{
  padding:84px 28px 110px;
  background:var(--cream);
}
.page.alt{ background:var(--cream2); }
.page.alt2{ background:var(--cream3); }

.page-inner{
  max-width:1200px;
  margin:0 auto;
}

.page-title{
  margin:0 0 18px;
  font-size:40px;
  font-weight:400;
  font-family:"STSong","Songti SC","Noto Serif SC",Georgia,"Times New Roman",serif;
}

.lede{
  max-width:840px;
  font-size:18px;
  line-height:1.9;
  color:#5c5147;
  margin:0 0 26px;
}

.card{
  background:rgba(255,255,255,0.42);
  border:1px dashed #8d8276;
  border-radius:28px;
  padding:44px 38px;
}

.grid{
  display:grid;
  gap:18px;
}

.grid.two{
  grid-template-columns: 1fr 1fr;
}

.grid.three{
  grid-template-columns: repeat(3, 1fr);
}

.tile{
  border:1px solid rgba(114,106,97,0.45);
  background:rgba(255,255,255,0.25);
  border-radius:20px;
  overflow:hidden;
}

.tile .tile-body{
  padding:16px 16px 18px;
}

.tile h4{
  margin:0;
  font-size:16px;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.tile p{
  margin:8px 0 0;
  color:#5c5147;
  line-height:1.6;
  font-size:14px;
}

.badge-row{
  margin-top:14px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.badge{
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(114,106,97,0.6);
  font-size:12px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#3b332c;
  background:rgba(255,255,255,0.28);
}

/* ===================== Portfolio specifics ===================== */
.masonry{
  columns:4 260px;
  column-gap:16px;
}

.masonry img{
  width:100%;
  margin:0 0 16px;
  border-radius:14px;
  border:1px solid rgba(114,106,97,0.4);
  background:rgba(255,255,255,0.25);
}

.gallery-cards{
  margin-top:26px;
}

/* ===================== Forms ===================== */
.form{
  display:grid;
  gap:14px;
  max-width:760px;
}

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

label{
  font-size:12px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  font-weight:700;
  color:#4f463d;
}

input, textarea, select{
  border:1px solid rgba(114,106,97,0.6);
  border-radius:14px;
  padding:12px 12px;
  font-size:16px;
  background:rgba(255,255,255,0.6);
  outline:none;
}

textarea{ min-height:140px; resize:vertical; }

button{
  border:none;
  border-radius:14px;
  padding:12px 14px;
  font-size:14px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  font-weight:800;
  background:#1f1c17;
  color:#f2efe8;
  cursor:pointer;
}

button:hover{ opacity:0.85; }

/* ===================== Footer ===================== */
.site-footer{
  background:#f1ece3;
  border-top:1px solid var(--line);
}

.footer-cta{
  padding:42px 28px 20px;
}

.footer-cta-inner{
  max-width:1200px;
  margin:0 auto;
  text-align:center;
}

.cta-pill{
  display:inline-block;
  padding:10px 18px;
  border:1px solid rgba(31,28,23,0.7);
  border-radius:999px;
  font-weight:800;
  letter-spacing:0.22em;
  text-transform:uppercase;
  background:rgba(255,255,255,0.35);
}

.cta-pill:hover{ opacity:0.75; }

.footer-cta h3{
  margin:18px 0 18px;
  font-family:"STSong","Songti SC","Noto Serif SC",Georgia,"Times New Roman",serif;
  font-size:48px;
  font-weight:400;
  line-height:1.05;
  color:#201b16;
}

.footer-images{
  display:flex;
  gap:16px;
  justify-content:center;
  flex-wrap:wrap;
}
.footer-images img{
  width:min(420px, 92vw);
  border-radius:18px;
  border:1px solid rgba(114,106,97,0.4);
  background:rgba(255,255,255,0.25);
}

.footer-meta{
  max-width:1200px;
  margin:0 auto;
  padding:26px 28px 10px;
  display:flex;
  justify-content:space-between;
  gap:22px;
  align-items:flex-start;
  border-top:1px solid rgba(114,106,97,0.35);
}

.meta-title{
  margin:10px 0 0;
  font-weight:800;
  letter-spacing:0.12em;
  text-transform:uppercase;
}
.meta-em{ font-family:"STSong","Songti SC","Noto Serif SC",Georgia,"Times New Roman",serif; font-weight:400; text-transform:none; letter-spacing:-0.02em; }

.footer-nav{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  font-size:12px;
  letter-spacing:0.24em;
  text-transform:uppercase;
  font-weight:800;
}

.footer-nav a:hover{ opacity:0.7; }

.meta-small{
  margin:0;
  font-size:12px;
  letter-spacing:0.20em;
  text-transform:uppercase;
  color:#5c5147;
  font-weight:700;
}

.footer-bottom{
  padding:18px 28px 34px;
  text-align:center;
  color:#5c5147;
  font-size:13px;
  letter-spacing:0.10em;
}

/* ===================== Responsive ===================== */
@media (max-width: 1280px){
  .work-card{ width:300px; height:500px; }
  .hero-copy{ min-height:540px; }
  .hero-copy h1 span:nth-child(1){ font-size:98px; }
  .hero-copy h1 span:nth-child(2){ font-size:86px; }
  .hero-copy h1 span:nth-child(3){ font-size:82px; }
  .hero-footnote{ font-size:16px; letter-spacing:0.22em; }
}

@media (max-width: 980px){
  .header-grid{ grid-template-columns: 1fr; }
  .logo-wrap,.main-nav,.cta-wrap{ border-right:none; }
  .logo-wrap,.main-nav,.cta-wrap,.social-wrap{
    border-bottom:1px solid var(--line);
    min-height:72px;
  }
  .logo-wrap{ justify-content:center; }
  .logo{ font-size:30px; }

  .main-nav{ display:none; }
  .mobile-menu{ display:block; }

  .hero{ min-height:auto; padding-top:32px; }
  .hero-inner{
    min-height:auto;
    grid-template-columns:1fr;
    gap:26px;
  }
  .work-left,.work-right{ justify-self:center; }
  .work-card{
    width:min(88vw, 360px);
    height:auto;
    aspect-ratio: 0.63 / 1;
  }
  .hero-copy{ min-height:360px; }
  .hero-copy h1 span:nth-child(1){ font-size:clamp(58px, 14vw, 84px); }
  .hero-copy h1 span:nth-child(2){ font-size:clamp(48px, 11.5vw, 72px); }
  .hero-copy h1 span:nth-child(3){ font-size:clamp(46px, 11vw, 70px); }

  .sparkle-left{ left:8%; top:68%; }
  .sparkle-top{ right:14%; top:14%; }
  .sparkle-top-small{ right:9%; top:10%; }

  .hero-footnote{
    font-size:14px;
    letter-spacing:0.18em;
    padding:0 8px;
  }

  .page-title{ font-size:46px; }
  .grid.two,.grid.three{ grid-template-columns:1fr; }
  .footer-cta h3{ font-size:38px; }
  .footer-meta{ flex-direction:column; }
  .footer-nav{ letter-spacing:0.18em; }
}

@media (max-width: 560px){
  .hero-footnote{ letter-spacing:0.08em; font-size:13px; }
  .mobile-links{ letter-spacing:0.08em; }
}

.qr-page{
  text-align:center;
  padding-top:20px;
  padding-bottom:20px;
}

.qr-intro{
  margin-left:auto;
  margin-right:auto;
  max-width:720px;
}

.qr-grid{
  margin-top:40px;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  gap:40px;
  flex-wrap:wrap;
}

.qr-card{
  width:320px;
  background:rgba(255,255,255,0.42);
  border:1px solid rgba(114,106,97,0.35);
  border-radius:24px;
  padding:28px 24px 24px;
}

.qr-image{
  width:220px;
  height:220px;
  object-fit:contain;
  margin:0 auto 20px;
  background:#fff;
  padding:10px;
  border-radius:12px;
}

.qr-card h2{
  margin:0 0 10px;
  font-size:28px;
  font-weight:500;
  color:#201b16;
}

.qr-card p{
  margin:0;
  font-size:15px;
  line-height:1.7;
  color:#5c5147;
}

@media (max-width: 768px){
  .qr-grid{
    gap:24px;
  }

  .qr-card{
    width:min(92vw, 320px);
  }

  .qr-image{
    width:200px;
    height:200px;
  }
}


.featured-slider-section{
  background:#E5E2D8;
  padding:0 0 110px;
  position:relative;
}

.featured-slider{
  position:relative;
  width:min(1500px, 92%);
  height:480px;
  margin:0 auto;
}

/* 主图：往上提，轻微压住上面的橙色区域 */
.slider-main{
  position:absolute;
  left:50%;
  top:-45px;
  transform:translateX(-50%);
  z-index:3;
  width:700px;
  height:520px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}

.slider-main img{
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
}
/* 左右小预览图 */
.slider-side{
  position:absolute;
  top:120px;                     /* 控制小图上下位置 */
  width:230px;                   /* 小图宽度 */
  height:460px;                  /* 小图高度 */
  overflow:hidden;
  z-index:2;
}

.slider-side img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.slider-side-left{
  left:80px;
  top:50px;
}

.slider-side-right{
  right:80px;
  top:50px;
}
/* 箭头按钮 */
.slider-arrow{
  position:absolute;
  bottom:-70px;
  width:98px;
  height:58px;
  border:1px solid #8D857B;
  background:transparent;
  cursor:pointer;
  z-index:4;
  padding:0;
}

.slider-arrow:hover{
  background:rgba(255,255,255,0.22);
}

/* 隐藏原文字箭头 */
.slider-arrow span{
  display:none;
}

/* 左箭头 */
.slider-arrow-left{
  left:350px;
}

.slider-arrow-left::before{
  content:"";
  position:absolute;
  left:31px;
  top:50%;
  width:42px;
  height:1px;
  background:#7A746B;
  transform:translateY(-50%);
}

.slider-arrow-left::after{
  content:"";
  position:absolute;
  left:31px;
  top:50%;
  width:12px;
  height:12px;
  border-left:1px solid #7A746B;
  border-bottom:1px solid #7A746B;
  transform:translateY(-50%) rotate(45deg);
}

/* 右箭头 */
.slider-arrow-right{
  right:350px;
}

.slider-arrow-right::before{
  content:"";
  position:absolute;
  left:24px;
  top:50%;
  width:42px;
  height:1px;
  background:#7A746B;
  transform:translateY(-50%);
}

.slider-arrow-right::after{
  content:"";
  position:absolute;
  right:31px;
  top:50%;
  width:12px;
  height:12px;
  border-right:1px solid #7A746B;
  border-top:1px solid #7A746B;
  transform:translateY(-50%) rotate(45deg);
}

/* 响应式 */
@media (max-width: 1400px){
  .featured-slider{
    height:580px;
  }

  .slider-main{
    width:820px;
    height:490px;
  }

  .slider-side-left{
    left:120px;
  }

  .slider-side-right{
    right:120px;
  }

  .slider-arrow-left{
    left:130px;
  }

  .slider-arrow-right{
    right:130px;
  }
}

@media (max-width: 980px){
  .featured-slider{
    height:auto;
    display:flex;
    justify-content:center;
    padding:0 20px 20px;
  }

  .slider-main{
    position:relative;
    left:auto;
    top:auto;
    transform:none;
    width:100%;
    height:auto;
    aspect-ratio:4/5;
  }

  .slider-side{
    display:none;
  }

  .slider-arrow{
    bottom:20px;
  }

  .slider-arrow-left{
    left:20px;
  }

  .slider-arrow-right{
    right:20px;
  }
}


.intro-panel-section{
  background:#bb6432;
  position:relative;
  overflow:hidden;
  padding:90px 0 90px;
}

.intro-panel-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    radial-gradient(rgba(255,255,255,0.10) 0.7px, transparent 0.7px),
    radial-gradient(rgba(255,255,255,0.05) 0.9px, transparent 0.9px);
  background-size:22px 22px, 30px 30px;
  background-position:0 0, 11px 13px;
  opacity:0.45;
  mix-blend-mode:screen;
}

.intro-panel{
  position:relative;
  z-index:1;
  width:min(1200px, 90%);
  margin:0 auto;
  display:grid;
  grid-template-columns: 420px 1fr;
  gap:70px;
  align-items:center;
}

.intro-panel-image{
  width:340px;
  margin-left:130px;
}

.intro-panel-image img{
  display:block;
  width:100%;
  height:auto;
}

.intro-panel-text{
  color:#f8f1e6;
  max-width:560px;
  margin-left:50px;
}

.intro-script{
  margin:0 0 6px;
  font-size:60px;
  line-height:0.9;
  font-family:"STSong","Songti SC","Noto Serif SC",Georgia,"Times New Roman",serif;
  font-style:italic;
  font-weight:400;
}

.intro-title{
  margin:0 0 22px;
  font-size:48px;
  line-height:1.6;
  letter-spacing:-0.03em;
  font-family:"STSong","Songti SC","Noto Serif SC",Georgia,"Times New Roman",serif;
  font-weight:400;
  color:#fff6ea;
}

.intro-desc{
  margin:0 0 70px;
  font-size:15px;
  line-height:1.9;
  letter-spacing:0.14em;
  color:#fff4e7;
  max-width:680px;
}

.intro-links{
  display:flex;
  flex-direction:column;
  gap:28px;
  align-items:flex-start;
}

.intro-links a{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 0 12px 0;
  width:320px;
  font-size:15px;
  font-weight:700;
  letter-spacing:0.22em;
  color:#fff8ef;
  text-decoration:none;
  border-bottom:1px solid rgba(255,248,239,0.75);
  text-align:center;
}

.intro-links a::before{
  content:"+";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-60%);
  font-size:22px;
  line-height:1;
  font-weight:400;
}

.intro-links a:hover{
  opacity:0.78;
}

@media (max-width: 980px){
  .intro-panel{
    grid-template-columns:1fr;
    gap:36px;
  }

  .intro-panel-image{
    width:min(100%, 420px);
    margin:0 auto;
  }

  .intro-panel-image img{
    height:auto;
    aspect-ratio: 2 / 3;
  }

  .intro-panel-text{
    max-width:100%;
    text-align:left;
  }

  .intro-script{
    font-size:35px;
  }

  .intro-title{
    font-size:28px;
  }

  .intro-desc{
    font-size:16px;
    margin-bottom:42px;
  }

  .intro-links a{
    min-width:260px;
    font-size:14px;
  }
}


.featured-galleries-section{
  background:#E5E2D8;
  padding:90px 0 110px;
}

.featured-galleries-inner{
  width:min(1280px, 92%);
  margin:0 auto;
  text-align:center;
}

.featured-galleries-label{
  margin:0 0 10px;
  font-size:14px;
  letter-spacing:0.35em;
  font-weight:700;
  color:#1f1c17;
}

.featured-galleries-title{
  margin:0 0 56px;
  font-family:"STSong","Songti SC","Noto Serif SC",Georgia,"Times New Roman",serif;
  font-weight:400;
  font-size:60px;
  line-height:1.20;
  color:#1f1c17;
}

.featured-galleries-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:56px;
  align-items:start;
}

.gallery-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-decoration:none;
  color:inherit;
}

.gallery-card-image{
  width:100%;
  max-width:340px;
  overflow:hidden;
}

.gallery-card-image img{
  display:block;
  width:100%;
  height:480px;
  object-fit:cover;
  transition:transform 0.35s ease, opacity 0.35s ease;
}

.gallery-card-name{
  margin:26px 0 24px;
  font-size:18px;
  font-weight:700;
  letter-spacing:0.28em;
  color:#1f1c17;
}

.gallery-card-arrow{
  font-size:42px;
  line-height:1;
  color:#7a746b;
  transition:transform 0.25s ease, opacity 0.25s ease;
}

.gallery-card:hover .gallery-card-image img{
  transform:scale(1.02);
  opacity:0.92;
}

.gallery-card:hover .gallery-card-arrow{
  transform:translateX(6px);
  opacity:0.75;
}

@media (max-width: 980px){
  .featured-galleries-title{
    font-size:60px;
  }

  .featured-galleries-grid{
    grid-template-columns:1fr;
    gap:42px;
  }

  .gallery-card-image{
    max-width:360px;
  }

  .gallery-card-image img{
    height:auto;
    aspect-ratio: 2 / 3;
  }
}


.closing-footer-section{
  position:relative;
  background:#bb6432;
  overflow:hidden;
  padding-top:28px;
  color:#fff6ea;
}

.closing-footer-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    radial-gradient(rgba(255,255,255,0.10) 0.7px, transparent 0.7px),
    radial-gradient(rgba(255,255,255,0.05) 0.9px, transparent 0.9px);
  background-size:22px 22px, 30px 30px;
  background-position:0 0, 11px 13px;
  opacity:0.45;
  mix-blend-mode:screen;
}

.closing-footer-inner{
  position:relative;
  z-index:1;
  width:min(1500px, 94%);
  margin:0 auto;
  display:grid;
  grid-template-columns: 1fr 2fr 1fr;
  align-items:start;
  gap:32px;
  padding:0 0 24px;
}

.closing-footer-left,
.closing-footer-center,
.closing-footer-right{
  height:250px;
}

.closing-footer-left,
.closing-footer-right{
  padding:10px 30px 0;
}

.closing-footer-left{
  border-right:1px solid rgba(255,246,234,0.75);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
}

.closing-side-text{
  margin:0;
  text-align:center;
  font-size:18px;
  line-height:2.2;
  letter-spacing:0.28em;
  font-weight:700;
  text-transform:uppercase;
  font-family:"DengXian","等线","Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;
}

.closing-enquire-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:130px;
  height:42px;
  border:1px solid rgba(255,246,234,0.9);
  color:#fff6ea;
  text-decoration:none;
  font-size:14px;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
}

.closing-enquire-btn:hover{
  background:rgba(255,255,255,0.12);
}

.closing-footer-center{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding-top:8px;
}

.closing-center-top{
  margin:0 0 16px;
  font-size:14px;
  letter-spacing:0.35em;
  font-weight:700;
  text-transform:uppercase;
}

.closing-brand-title{
  margin:0;
  font-family:"DengXian","等线","Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;
  font-size:66px;
  line-height:1;
  font-weight:400;
  color:#fff6ea;
}

.closing-footer-right{
  border-left:1px solid rgba(255,246,234,0.75);
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:22px;
}

.closing-back-top{
  color:#fff6ea;
  text-decoration:none;
  font-size:14px;
  font-weight:700;
  letter-spacing:0.24em;
  text-transform:uppercase;
  border-bottom:1px solid rgba(255,246,234,0.75);
  padding-bottom:8px;
}

.closing-find-title{
  margin:0;
  font-family:"STSong","Songti SC","Noto Serif SC",Georgia,"Times New Roman",serif;
  font-style:italic;
  font-size:30px;
  line-height:1;
  font-weight:400;
}

.closing-footer-nav{
  display:flex;
  flex-direction:column;
  gap:20px;
}

.closing-footer-nav a{
  color:#fff6ea;
  text-decoration:none;
  font-size:15px;
  font-weight:700;
  letter-spacing:0.24em;
  text-transform:uppercase;
}

.closing-footer-nav a:hover{
  opacity:0.75;
}

.closing-social{
  display:flex;
  gap:22px;
  align-items:center;
  justify-content:center;
}

.closing-social a{
  width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.closing-social img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:brightness(0) invert(1);
}

.closing-footer-bottom{
  position:relative;
  z-index:1;
  background:#111111;
  border-top:1px solid rgba(255,246,234,0.85);
}

.closing-footer-bottom-inner{
  width:min(1500px, 94%);
  margin:0 auto;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.closing-footer-bottom-inner p{
  margin:0;
  color:#fff6ea;
  font-size:14px;
  font-weight:700;
  letter-spacing:0.22em;
  text-transform:uppercase;
  font-family:"DengXian","等线","Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;
}

@media (max-width: 1100px){
  .closing-footer-inner{
    grid-template-columns:1fr;
    gap:36px;
    padding-bottom:40px;
  }

  .closing-footer-left,
  .closing-footer-right{
    border:none;
  }

  .closing-footer-left,
  .closing-footer-right,
  .closing-footer-center{
    min-height:auto;
  }

  .closing-footer-left{
    gap:30px;
  }

  .closing-brand-title{
    font-size:56px;
  }

  .closing-find-title{
    font-size:36px;
  }

  .closing-footer-bottom-inner{
    flex-direction:column;
    justify-content:center;
    padding:14px 0;
  }
}


.about-page-main{
  background:#bb6432;
  position:relative;
  overflow:hidden;
}

.about-page-main::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    radial-gradient(rgba(255,255,255,0.10) 0.7px, transparent 0.7px),
    radial-gradient(rgba(255,255,255,0.05) 0.9px, transparent 0.9px);
  background-size:22px 22px, 30px 30px;
  background-position:0 0, 11px 13px;
  opacity:0.42;
  mix-blend-mode:screen;
}

.about-hero-section{
  position:relative;
  z-index:1;
  padding:70px 0 90px;
}

.about-hero-inner{
  width:min(1280px, 92%);
  margin:0 auto;
}

.about-hero-top{
  text-align:center;
  margin-bottom:54px;
}

.about-hero-title{
  margin:0;
  font-family:"DengXian","等线","Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;
  font-weight:400;
  font-size:35px;
  line-height:1.56;
  letter-spacing:-0.03em;
  color:#fff4e8;
}

.about-hero-content{
  display:grid;
  grid-template-columns: 340px 420px;  /* 左图宽度 + 右文宽度固定 */
  gap:82px;
  align-items:start;
  justify-content:center;
}

.about-hero-image img{
  display:block;
  width:100%;
  height:auto;
}

.about-hero-text{
  max-width:360px;
  padding-top:10px;
}

.about-text-block{
  border-top:1px solid rgba(255,244,232,0.78);
  padding:28px 0 0;
  margin-bottom:15px;
}

.about-text-block p{
  margin:0;
  color:#fff6ea;
  font-size:15px;
  line-height:1.42;
  letter-spacing:0.08em;
  font-weight:500;
  font-family:"DengXian","等线","Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;
}

.about-hero-note{
  border-top:1px solid rgba(255,244,232,0.78);
  padding-top:26px;
  margin-top:12px;
}

.about-hero-note p{
  margin:0;
  font-family:"STSong","Songti SC","Noto Serif SC",Georgia,"Times New Roman",serif;
  font-style:italic;
  font-size:18px;
  line-height:1.25;
  color:#fff4e8;
}

@media (max-width: 1100px){
  .about-hero-title{
    font-size:58px;
  }

  .about-hero-content{
    grid-template-columns: 1fr;
    gap:42px;
  }

  .about-hero-image{
    max-width:420px;
    margin:0 auto;
  }

  .about-hero-text{
    max-width:100%;
  }
}

@media (max-width: 768px){
  .about-hero-section{
    padding:48px 0 64px;
  }

  .about-hero-title{
    font-size:25px;
    line-height:1.3;
  }

  .about-text-block p{
    font-size:18px;
    line-height:1.6;
    letter-spacing:0.04em;
  }

  .about-hero-note p{
    font-size:28px;
  }
}


.about-photo-wall-section{
  background:#E5E2D8;
  padding:90px 0 110px;
  border-top:1px solid #0D0D0D;
}

.about-photo-wall-inner{
  width:min(1460px, 75%);
  margin:0 auto;
}

.about-photo-wall-label{
  margin:0 0 10px;
  text-align:center;
  font-size:14px;
  font-weight:700;
  letter-spacing:0.32em;
  color:#1f1c17;
  text-transform:uppercase;
}

.about-photo-wall-title{
  margin:0 0 4px;
  text-align:center;
  font-family:"STSong","Songti SC","Noto Serif SC",Georgia,"Times New Roman",serif;
  font-weight:400;
  font-size:48px;
  line-height:1.5;
  color:#1f1c17;
}

.about-photo-wall-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:42px;
  align-items:start;
}

.about-photo-col{
  display:flex;
  flex-direction:column;
  gap:42px;
}

.about-photo-card{
  background:transparent;
}

.about-photo-card img{
  display:block;
  width:100%;
  height:auto;   /* 关键：不裁剪，横图横着，竖图竖着 */
}

/* 手机和平板适配 */
@media (max-width: 1100px){
  .about-photo-wall-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:28px;
  }

  .about-photo-col{
    gap:28px;
  }

  .about-photo-wall-title{
    font-size:58px;
  }
}

@media (max-width: 680px){
  .about-photo-wall-grid{
    grid-template-columns:1fr;
  }

  .about-photo-wall-title{
    font-size:42px;
  }
}


.about-photo-wall-subtitle-cn{
  margin:2px 0 12px;
  text-align:center;
  font-size:18px;
  line-height:1.8;
  color:#5f5a54;
  letter-spacing:0.08em;
}

.about-photo-wall-subtitle-en{
  margin:0 0 70px;
  text-align:center;
  font-size:17px;
  line-height:1.6;
  color:#6a645d;
  font-family:"STSong","Songti SC","Noto Serif SC",Georgia,"Times New Roman",serif;
  font-style:italic;
}


.about-story-section{
  background:#E5E2D8;
  padding:90px 0 110px;
}

.about-story-inner{
  width:min(1280px, 88%);
  margin:0 auto;
}

.about-story-title{
  margin:0 0 70px;
  text-align:center;
  font-family:"DengXian","等线","Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;
  font-weight:400;
  font-style:italic;
  font-size:35px;
  line-height:1.2;
  color:#1f1c17;
}

.about-story-content{
  display:grid;
  grid-template-columns: 480px 1fr;
  gap:60px;
  align-items:start;
  justify-content:center;
}

.about-story-image{
  transform:translateX(220px);
}

.about-story-image img{
  display:block;
  width:80%;
  height:auto;
}

.about-story-text{
  max-width:350px;
  color:#6f6961;
  margin-left:150px;
}

.about-story-text p{
  margin:0 0 25px;
  font-size:15px;
  line-height:1.25;
  letter-spacing:0.02em;
  font-family:"DengXian","等线","Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;
}

@media (max-width: 1100px){
  .about-story-title{
    font-size:48px;
    margin-bottom:48px;
  }

  .about-story-content{
    grid-template-columns:1fr;
    gap:40px;
  }

  .about-story-image{
    max-width:480px;
    margin:0 auto;
  }

  .about-story-text{
    max-width:100%;
  }
}

@media (max-width: 768px){
  .about-story-section{
    padding:60px 0 80px;
  }

  .about-story-title{
    font-size:34px;
    line-height:1.35;
  }

  .about-story-text p{
    font-size:16px;
    line-height:1.9;
    margin-bottom:22px;
  }
}


.gallery-detail-page{
  background:#ffffff;
}

.gallery-detail-hero{
  padding:54px 0 40px;
}

.gallery-detail-inner{
  width:min(1320px, 90%);
  margin:0 auto;
}

.gallery-back-link{
  display:inline-block;
  margin-bottom:18px;
  color:#1f1c17;
  text-decoration:none;
  font-size:14px;
  font-weight:700;
  letter-spacing:0.26em;
}

.gallery-back-link:hover{
  opacity:0.72;
}

.gallery-detail-heading{
  display:grid;
  grid-template-columns: 1fr auto;
  gap:24px;
  align-items:end;
  margin-bottom:22px;
}

.gallery-detail-title{
  margin:40px;
  font-family:"DengXian","等线","Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;
  font-weight:400;
  font-size:60px;
  line-height:0.92;
  color:#1f1c17;

}

.gallery-detail-title-centered{
  text-align:center;
  margin:24px 0 34px;
}

.gallery-detail-meta-right{
  text-align:right;
  margin-bottom:24px;
}

.gallery-detail-meta{
  text-align:right;
  padding-bottom:8px;
}

.gallery-detail-couple,
.gallery-detail-location{
  margin:0;
  font-size:14px;
  font-weight:700;
  letter-spacing:0.26em;
  color:#1f1c17;
  text-transform:uppercase;
}

.gallery-detail-location{
  margin-top:6px;

}

.gallery-detail-cover img{
  display:block;
  width:10%;
  height:auto;
}

/* 下方滑动区 */
.gallery-slider-section{
  background:#ffffff;
  padding:40px 0 100px;
}

.gallery-slider-wrap{
  position:relative;
  width:min(1480px, 94%);
  height:560px;
  margin:0 auto;
}

.gallery-slider-main{
  position:absolute;
  left:50%;
  top:0;
  transform:translateX(-50%);
  width:540px;
  height:720px;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:3;
}

.gallery-slider-main img{
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
}

.gallery-slider-side{
  position:absolute;
  top:110px;
  width:230px;
  height:430px;
  overflow:hidden;
  z-index:2;
}

.gallery-slider-side img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.gallery-slider-side-left{
  left:170px;
}

.gallery-slider-side-right{
  right:170px;
}

.gallery-slider-arrow{
  position:absolute;
  bottom:-50px;
  width:92px;
  height:56px;
  border:1px solid #8d857b;
  background:transparent;
  cursor:pointer;
  z-index:4;
  padding:0;
}

.gallery-slider-arrow:hover{
  background:rgba(255,255,255,0.2);
}

.gallery-slider-arrow span{
  display:none;
}

.gallery-slider-arrow-left{
  left:300px;
}

.gallery-slider-arrow-left::before{
  content:"";
  position:absolute;
  left:30px;
  top:50%;
  width:34px;
  height:1px;
  background:#7a746b;
  transform:translateY(-50%);
}

.gallery-slider-arrow-left::after{
  content:"";
  position:absolute;
  left:30px;
  top:50%;
  width:11px;
  height:11px;
  border-left:1px solid #7a746b;
  border-bottom:1px solid #7a746b;
  transform:translateY(-50%) rotate(45deg);
}

.gallery-slider-arrow-right{
  right:300px;
}

.gallery-slider-arrow-right::before{
  content:"";
  position:absolute;
  left:26px;
  top:50%;
  width:34px;
  height:1px;
  background:#7a746b;
  transform:translateY(-50%);
}

.gallery-slider-arrow-right::after{
  content:"";
  position:absolute;
  right:30px;
  top:50%;
  width:11px;
  height:11px;
  border-right:1px solid #7a746b;
  border-top:1px solid #7a746b;
  transform:translateY(-50%) rotate(45deg);
}

.gallery-slider-caption{
  margin-top:18px;
  text-align:center;
}

.gallery-slider-caption p{
  margin:0;
  color:#6f6961;
  font-size:14px;
  font-weight:700;
  letter-spacing:0.22em;
}

@media (max-width: 1200px){
  .gallery-detail-title{
    font-size:72px;
  }

  .gallery-slider-wrap{
    height:680px;
  }

  .gallery-slider-main{
    width:460px;
    height:620px;
  }

  .gallery-slider-side{
    width:180px;
    height:360px;
  }

  .gallery-slider-side-left{
    left:90px;
  }

  .gallery-slider-side-right{
    right:90px;
  }

  .gallery-slider-arrow-left{
    left:110px;
  }

  .gallery-slider-arrow-right{
    right:110px;
  }
}

@media (max-width: 900px){
  .gallery-detail-heading{
    grid-template-columns:1fr;
  }

  .gallery-detail-meta{
    text-align:left;
    padding-bottom:0;
  }

  .gallery-detail-title{
    font-size:50px;
  }

  .gallery-slider-wrap{
    height:auto;
    padding:0 20px 90px;
  }

  .gallery-slider-main{
    position:relative;
    left:auto;
    top:auto;
    transform:none;
    width:100%;
    height:auto;
  }

  .gallery-slider-main img{
    max-width:100%;
    max-height:none;
    width:100%;
    height:auto;
  }

  .gallery-slider-side{
    display:none;
  }

  .gallery-slider-arrow{
    bottom:10px;
  }

  .gallery-slider-arrow-left{
    left:20px;
  }

  .gallery-slider-arrow-right{
    right:20px;
  }
}

.gallery-detail-cover-wrap{
  display:grid;
  grid-template-columns: minmax(0, 760px) 320px;
  gap:20px;
  align-items:center;   /* 让右侧文字垂直居中到照片中间 */
}

.gallery-detail-cover{
  margin-left:250px;     /* 整张照片往右移 */
}

.gallery-detail-cover img{
  display:block;
  width:80%;
  height:auto;
}

.gallery-detail-quote{
  margin-left:-30px;    /* 右侧文字整体往左移 */
  padding-top:0;        /* 去掉原来顶部空隙 */
  align-self:center;    /* 再次确保它居中对齐 */
}

.gallery-detail-quote-label{
  margin:0 0 16px;
  font-size:13px;
  font-weight:700;
  letter-spacing:0.24em;
  color:#1f1c17;
  text-transform:uppercase;
}

.gallery-detail-quote-text{
  margin:0;
  font-size:18px;
  line-height:1.9;
  color:#6f6961;
  letter-spacing:0.03em;
}

.gallery-detail-quote-sign{
  margin:18px 0 0;
  font-size:15px;
  line-height:1.6;
  color:#7b756d;
  letter-spacing:0.06em;
  text-align:right;
}

@media (max-width: 900px){
  .gallery-detail-cover-wrap{
    grid-template-columns:1fr;
    gap:24px;
  }

  .gallery-detail-quote{
    padding-top:0;
  }
}

.gallery-cta-section{
  background:#E5E2D8;
  padding:84px 0 90px;
  border-top:1px solid #0D0D0D;
}

.gallery-cta-inner{
  width:min(1280px, 90%);
  margin:0 auto;
  display:grid;
  grid-template-columns: 1fr 1.2fr;
  gap:80px;
  align-items:center;
}

.gallery-cta-left{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding-left:180px;
}

.gallery-cta-title{
  margin:0 0 60px;
  font-family:"DengXian","等线","Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;
  font-style:italic;
  font-weight:400;
  font-size:50px;
  line-height:1.20;
  color:#2c2a25;
}

.gallery-cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:350px;
  height:58px;
  border:1px solid #7e776e;
  color:#2c2a25;
  text-decoration:none;
  font-size:20px;
  font-weight:700;
  letter-spacing:0.28em;
  text-transform:uppercase;
  background:transparent;
}

.gallery-cta-btn:hover{
  background:rgba(255,255,255,0.35);
}

.gallery-cta-right{
  display:flex;
  align-items:center;
  gap:46px;
  justify-content:center;
}

.gallery-cta-image img{
  display:block;
  width:100%;
  height:auto;
}

.gallery-cta-image-main{
  width:350px;
}

.gallery-cta-image-side{
  width:210px;
}

@media (max-width: 980px){
  .gallery-cta-inner{
    grid-template-columns:1fr;
    gap:42px;
  }

  .gallery-cta-left{
    padding-left:0;
    align-items:center;
    text-align:center;
  }

  .gallery-cta-title{
    font-size:52px;
  }

  .gallery-cta-btn{
    width:min(100%, 320px);
  }

  .gallery-cta-right{
    gap:24px;
  }

  .gallery-cta-image-main{
    width:58%;
  }

  .gallery-cta-image-side{
    width:32%;
  }
}

.portfolio-hero{
  position:relative;
  width:100%;
  height:480px;                  /* 先把高度降下来 */
  background-image:url("assets/portfolio-hero.jpg");
  background-size:contain;       /* 不再强行裁切放大 */
  background-position:center center;
  background-repeat:no-repeat;
  background-color:#c8d2e2;      /* 用接近雾蓝灰的底色补两边空白 */
  overflow:hidden;
}

.portfolio-hero-overlay{
  position:absolute;
  inset:0;
  background:rgba(20, 16, 12, 0.38); /* 这一层就是你图里那种压暗效果 */
}

.portfolio-hero-content{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
}

.portfolio-hero h1{
  position:absolute;
  left:50%;
  top:48%;
  transform:translate(-50%, -50%);
  margin:0;
  font-family:"DengXian","等线","Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;
  font-size:75px;
  font-weight:400;
  color:#f7f2ea;
  line-height:1;
  letter-spacing:-0.03em;
}

.hero-tag{
  position:absolute;
  left:14%;
  bottom:34px;
  margin:0;
  font-size:16px;
  font-weight:700;
  letter-spacing:0.30em;
  color:#f7f2ea;
}

.shanxi-callout-section{
  position:relative;
  width:100%;
  min-height:620px;
  background-image:url("assets/your-background.jpg");
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  overflow:hidden;
}

.shanxi-callout-overlay{
  position:absolute;
  inset:0;
  background:rgba(20, 20, 20, 0.48);
}

.shanxi-callout-content{
  position:relative;
  z-index:2;
  width:min(1200px, 90%);
  margin:0 auto;
  min-height:600px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#f7f2ea;
}

.shanxi-callout-kicker{
  margin:0 0 18px;
  font-size:18px;
  font-weight:700;
  letter-spacing:0.35em;
  text-transform:uppercase;
}

.shanxi-callout-divider{
  width:100%;
  max-width:1920px;
  border-top:1px solid rgba(247,242,234,0.75);
  margin-bottom:40px;
}

.shanxi-callout-quote{
  font-size:110px;
  line-height:1;
  margin:0 0 20px;
  font-family:"DengXian","等线","Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;
  color:#fff;
}

.shanxi-callout-title{
  margin:0;
  font-family:"DengXian","等线","Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;
  font-weight:400;
  font-size:65px;
  line-height:1.12;
  color:#fff;
  letter-spacing:0.02em;
}

.shanxi-callout-subtitle{
  margin:54px 0 0;
  font-size:26px;
  line-height:1.6;
  letter-spacing:0.12em;
  color:#f7f2ea;
}

.price-highlight{
  color:#fff3cf;
  font-weight:700;
  font-size:1.4em;
}

@media (max-width: 980px){
  .site-header{
    position: sticky;
    top: 0;
    z-index: 200;
    overflow: visible;
  }

  /* 顶部只保留 logo 这一行 */
  .header-grid{
    grid-template-columns: 1fr;
    min-height: 72px;
    position: relative;
  }

  .logo-wrap{
    display: flex;
    align-items: center;
    justify-content: flex-start;   /* 左对齐，不再居中 */
    min-height: 72px;
    padding: 0 18px;
    border-right: none;
    border-bottom: none;
  }

  .logo{
    font-size: 28px;
  }

  /* 手机端隐藏原本的桌面导航、咨询、社交 */
  .main-nav,
  .cta-wrap,
  .social-wrap{
    display: none;
  }

  /* 把菜单固定到右上角 */
  .mobile-menu{
    display: block;
    position: absolute;
    top: 38px;
    right: 0;
    padding: 0 18px;
    border-top: none;
    z-index: 210;
  }

  .mobile-menu summary{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 72px;
    padding-left: 44px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.22em;
    line-height: 1;
    list-style: none;
    text-transform: uppercase;
  }

  .mobile-menu summary::-webkit-details-marker{
    display: none;
  }

  /* 三条横杠 */
  .mobile-menu summary::before{
    content: "";
    position: absolute;
    left: 0;
    top: 27px;
    width: 28px;
    height: 1.5px;
    background: var(--ink);
    box-shadow:
      0 8px 0 var(--ink),
      0 16px 0 var(--ink);
  }

  /* 右侧下拉面板 */
  .mobile-links{
    position: absolute;
    top: 72px;
    right: 0;
    width: 190px;
    margin-top: 0;
    padding: 18px 22px 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    background: #ffffff;
    border-left: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    box-shadow: 0 10px 24px rgba(0,0,0,0.06);
  }

  .mobile-links a{
    display: block;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.22em;
    line-height: 1.8;
  }
}

@media (max-width: 980px){
  .hero{
    min-height: auto;
    border-top: 74px solid #E5E2D8;   /* 这条就是中间那段淡黄色空余 */
    padding-top: 32px;
  }
}

@media (max-width: 980px){
  /* 1. 顶部黑色横条 */
  .site-header{
    position: sticky;
    top: 0;
    z-index: 200;
    background: #fff;
  }

  .site-header::before{
    content: "";
    display: block;
    width: 100%;
    height: 38px;              /* 黑条高度，可改成 34~42px 微调 */
    background: #37382c;       /* 接近参考图的深橄榄黑 */
  }

  /* 2. 白色 header 下方的浅米色留白 */
  .hero{
    min-height: auto;
    border-top: 74px solid #E5E2D8;
    padding: 32px 28px 26px;
  }

  .hero-inner{
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 26px;
  }

  /* 3. 清掉桌面端残留位移，再把首图下移 */
  .work-left,
  .work-right{
    justify-self: center;
    margin-left: 0;
    margin-right: 0;
    transform: none;
  }

  .work-left{
    margin-top: 32px;          /* 让第一张图再往下走一些 */
  }

  .work-card{
    width: min(88vw, 360px);
    height: auto;
    aspect-ratio: 0.63 / 1;
  }
}

@media (max-width: 980px){
  .site-header{
    position: sticky;
    top: 0;
    z-index: 200;
    background: #fff;
    overflow: visible;
  }

  /* 顶部黑色横条 */
  .site-header::before{
    content: "";
    display: block;
    width: 100%;
    height: 38px;
    background: #37382c;
  }

  .header-grid{
    grid-template-columns: 1fr;
    min-height: 72px;
    position: relative;
  }

  .logo-wrap{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 72px;
    padding: 0 18px;
    border-right: none;
    border-bottom: none;
  }

  .logo{
    font-size: 28px;
  }

  .main-nav,
  .cta-wrap,
  .social-wrap{
    display: none;
  }

  /* 菜单下移到白色这一行 */
  .mobile-menu{
    display: block;
    position: absolute;
    top: 38px;              /* 和黑条高度一致 */
    right: 0;
    padding: 0 18px;
    border-top: none;
    z-index: 210;
  }

  .mobile-menu summary{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 72px;
    padding-left: 44px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.22em;
    line-height: 1;
    list-style: none;
  }

  .mobile-menu summary::-webkit-details-marker{
    display: none;
  }

  .mobile-menu summary::before{
    content: "";
    position: absolute;
    left: 0;
    top: 27px;
    width: 28px;
    height: 1.5px;
    background: var(--ink);
    box-shadow:
      0 8px 0 var(--ink),
      0 16px 0 var(--ink);
  }

  .mobile-links{
    position: absolute;
    top: 72px;
    right: 0;
    width: 190px;
    margin-top: 0;
    padding: 18px 22px 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    background: #ffffff;
    border-left: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    box-shadow: 0 10px 24px rgba(0,0,0,0.06);
  }

  .mobile-links a{
    display: block;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.22em;
    line-height: 1.8;
  }

  /* 白色头部和橙色背景之间的浅米色留白 */
  .hero{
    min-height: auto;
    border-top: 74px solid #E5E2D8;
    padding: 32px 28px 26px;
  }

  .hero-inner{
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .work-left,
  .work-right{
    margin-left: 0;
    margin-right: 0;
    transform: none;
  }

  .work-left{
    justify-self: end;      /* 上图靠右 */
    margin-top: 32px;
  }

  .work-right{
    justify-self: start;    /* 下图靠左 */
    margin-top: 8px;
  }

  .work-card{
    width: min(74vw, 320px);
    height: auto;
    aspect-ratio: 0.63 / 1;
  }
}


@media (max-width: 980px){
  .hero{
    position: relative;
  }

  .hero-footnote{
    position: absolute;
    left: 50%;
    top: 910px;                  /* 只调这一句的位置 */
    transform: translateX(-50%);
    width: min(82vw, 360px);
    margin: 0;
    padding: 0;
    text-align: center;
    font-size: 13px;
    line-height: 1.8;
    letter-spacing: 0.08em;
    color: #fff4e7;
    z-index: 5;
  }

  .hero-footnote .line1,
  .hero-footnote .line2{
    display: block;
    text-align: center;
    width: auto;
  }
}

@media (max-width: 900px){
  /* 整个轮播区改成你参考图那种浅黄色底 */
  .gallery-slider-section{
    background:#E5E2D8;
    padding:0 0 34px;
    overflow:hidden;
  }

  .gallery-slider-wrap{
    width:100%;
    height:auto;
    margin:0;
    padding:0;
  }

  /* 手机端彻底去掉左右箭头和两侧预览图 */
  .gallery-slider-side,
  .gallery-slider-arrow{
    display:none !important;
  }

  /* 主图不再绝对定位，改为正常流 */
  .gallery-slider-main{
    position:relative;
    left:auto;
    top:auto;
    transform:none;
    width:100%;
    height:auto;
    display:flex;
    justify-content:center;
    align-items:flex-start;
    padding:0;
  }

  .gallery-slider-main img{
    display:block;
    height:auto;
    max-width:none;
    max-height:none;
    object-fit:contain;
  }

  /* 横图：铺满整个手机界面宽度 */
  .gallery-slider-main img.is-landscape{
    width:100vw;
    margin:0;
  }

  /* 竖图：保持正常尺寸，和你第三张图那种感觉接近 */
  .gallery-slider-main img.is-portrait{
    width:min(64vw, 310px);
    margin:0 auto;
  }

  /* 方图或接近方图时的过渡处理 */
  .gallery-slider-main img.is-square{
    width:min(86vw, 420px);
    margin:0 auto;
  }
}

@media (max-width: 980px){
  .featured-slider-section{
    background:#E5E2D8;
    padding:0 0 30px;   /* 这里控制黄色框大小 */
    overflow:hidden;
  }

  .featured-slider{
    width:100%;
    height:auto;
    margin:0;
    padding:0;
    display:block;
  }

  .slider-side,
  .slider-arrow{
    display:none !important;
  }

  .slider-main{
    position:relative;
    left:auto;
    top:auto;
    transform:none;
    width:100%;
    height:auto;
    aspect-ratio:auto;
    display:flex;
    justify-content:center;
    align-items:flex-start;
    overflow:visible;
  }

  .slider-main img{
    display:block;
    height:auto;
    max-width:none;
    max-height:none;
    object-fit:contain;
  }

  .slider-main img.is-landscape{
    width:100vw;
    margin:0;
  }

  .slider-main img.is-portrait{
    width:min(58vw, 280px);
    margin:0 auto;
  }

  .slider-main img.is-square{
    width:min(86vw, 430px);
    margin:0 auto;
  }
}

/* 手机端专用首页轮播：默认隐藏 */
.featured-slider-mobile{
  display:none;
}

@media (max-width: 980px){
  /* 手机端隐藏旧的桌面轮播 */
  .featured-slider{
    display:none !important;
  }

  /* 手机端显示新的滑动轮播 */
  .featured-slider-mobile{
    display:block;
    position:relative;
    z-index:3;
    margin-top:-26px;              /* 整体轻微压住上面的橙色区域 */
    padding:0 0 18px;              /* 底部浅黄色空白 */
    background:#E5E2D8;
    overflow:visible;
  }

  .featured-slider-mobile-track{
    display:flex;
    gap:0;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:0;
  }

  .featured-slider-mobile-track::-webkit-scrollbar{
    display:none;
  }

  .mobile-slide{
    flex:0 0 100%;
    scroll-snap-align:center;
    display:flex;
    justify-content:center;
    align-items:flex-start;
    padding:0 18px;
    box-sizing:border-box;
  }

  /* 统一图片展示框尺寸：不随图片比例变化 */
  .mobile-slide-frame{
    position:relative;
    width:100%;
    max-width:460px;
    height:clamp(320px, 78vw, 430px);
    background:#E5E2D8;
    display:flex;
    justify-content:center;
    align-items:flex-start;
    overflow:visible;
  }

  .mobile-slide-frame img{
    display:block;
    transition:transform 0.25s ease;
  }

  /* 横图：占满整个统一框 */
  .mobile-slide.is-landscape .mobile-slide-frame img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  /* 方图：也占满统一框 */
  .mobile-slide.is-square .mobile-slide-frame img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  /* 竖图：框不变，图本身窄一些，并轻微上移盖住橙色区 */
  .mobile-slide.is-portrait .mobile-slide-frame img{
    width:auto;
    height:calc(100% + 34px);
    max-width:100%;
    object-fit:cover;
    transform:translateY(-18px);
  }
}

@media (max-width: 980px){
  .shanxi-callout-title{
    font-size: 56px;
    line-height: 1.16;
  }

  .shanxi-callout-subtitle{
    font-size: 18px;
    line-height: 1.8;
  }

  .price-highlight{
    font-size: 1.2em;
  }
}

@media (max-width: 980px){
  .gallery-cta-section{
    padding: 26px 0 62px;
  }

  .gallery-cta-inner{
    grid-template-columns: 1fr;
    gap: 28px;
  }

  /* 图片放上面 */
  .gallery-cta-right{
    order: 1;
    gap: 14px;
    align-items: flex-start;
    justify-content: center;
  }

  /* 文字和按钮放下面 */
  .gallery-cta-left{
    order: 2;
    padding-left: 0;
    align-items: center;
    text-align: center;
  }

  .gallery-cta-title{
    margin: 0 0 22px;
    font-size: 40px;
    line-height: 1.08;
  }

  .gallery-cta-btn{
    width: min(86vw, 380px);
    height: 64px;
    font-size: 25px;
    letter-spacing: 0.26em;
  }

  .gallery-cta-image-main{
    width: 52%;
  }

  .gallery-cta-image-side{
    width: 30%;
    margin-top: 36px;   /* 右侧小图略微下沉，接近参考图 */
  }
}

@media (max-width: 980px){
  .closing-footer-section{
    padding-top: 18px;
  }

  .closing-footer-inner{
    width: min(86vw, 420px);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 0 0 34px;
  }

  /* 取消原来的三栏边框和固定高度 */
  .closing-footer-left,
  .closing-footer-center,
  .closing-footer-right{
    border: none !important;
    height: auto;
    min-height: auto;
    padding: 0;
  }

  /* 1. 最上面：Taiyuan & Shanxi + 品牌名 */
  .closing-footer-center{
    order: 1;
    text-align: center;
    align-items: center;
    justify-content: center;
    padding: 14px 0 28px;
  }

  .closing-center-top{
    margin: 0 0 14px;
    font-size: 13px;
    letter-spacing: 0.34em;
  }

  .closing-brand-title{
    font-size: 44px;
    line-height: 1.02;
    letter-spacing: -0.02em;
  }

  /* 第一条白线 */
  .closing-footer-center::after{
    content: "";
    display: block;
    width: 100%;
    margin: 30px 0 0;
    border-top: 1px solid rgba(255,246,234,0.88);
  }

  /* 2. 中间：婚礼摄影文案 + 咨询 */
  .closing-footer-left{
    order: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 34px;
    padding: 30px 0 34px;
    text-align: center;
  }

  .closing-side-text{
    font-size: 22px;
    line-height: 1.85;
    letter-spacing: 0.26em;
  }

  .closing-enquire-btn{
    width: min(72vw, 240px);
    min-width: 0;
    height: 58px;
    font-size: 22px;
    letter-spacing: 0.24em;
  }

  /* 第二条白线 */
  .closing-footer-left::after{
    content: "";
    display: block;
    width: 100%;
    margin: 6px 0 0;
    border-top: 1px solid rgba(255,246,234,0.88);
  }

  /* 3. 最下面：导航区，整体左对齐 */
  .closing-footer-right{
    order: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    gap: 0;
    padding: 28px 0 0;
  }

  .closing-find-title{
    order: 1;
    margin: 0 0 26px;
    font-size: 34px;
    line-height: 1;
    text-align: left;
  }

  .closing-footer-nav{
    order: 2;
    gap: 26px;
    align-items: flex-start;
    margin-bottom: 30px;
  }

  .closing-footer-nav a{
    font-size: 15px;
    letter-spacing: 0.22em;
    text-align: left;
  }

  /* 回到顶部放到最后 */
  .closing-back-top{
    order: 3;
    margin: 0 0 30px;
    padding-bottom: 10px;
    font-size: 14px;
    letter-spacing: 0.22em;
    border-bottom: 1px solid rgba(255,246,234,0.75);
  }

  .closing-social{
    order: 4;
    justify-content: flex-start;
    gap: 34px;
    margin-top: 0;
  }

  .closing-social a{
    width: 30px;
    height: 30px;
  }

  /* 手机端隐藏最底部黑条，更接近参考图 */
  .closing-footer-bottom{
    display: none;
  }
}

@media (max-width: 980px){
  .closing-footer-right{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 28px 0 0;
  }

  /* “导航”这个标题整体居中 */
  .closing-find-title{
    width: fit-content;
    margin: 0 auto 30px;
    text-align: center;
    font-size: 40px;
  }

  /* 导航这一整组作为一个块居中 */
  .closing-footer-nav{
    width: fit-content;
    margin: 0 auto 34px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
  }

  .closing-footer-nav a{
    display: block;
    width: fit-content;
    margin: 0 auto;
    text-align: center;
    font-size: 18px;
    letter-spacing: 0.24em;
  }

  .closing-back-top{
    width: fit-content;
    margin: 0 auto 30px;
    align-self: center;
    text-align: center;
  }

  .closing-social{
    width: fit-content;
    margin: 0 auto;
    justify-content: center;
  }
}

@media (max-width: 768px){
  .about-hero-text{
    max-width: 82%;
    margin: 0 auto;
    padding-top: 0;
  }

  .about-text-block{
    padding: 22px 0 0;
    margin-bottom: 18px;
  }

  .about-text-block p{
    font-size: 16px;
    line-height: 1.9;
    letter-spacing: 0.02em;
  }
}

@media (max-width: 768px){
  .about-story-content{
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    gap: 28px;
  }

  .about-story-image{
    transform: none;
    margin: 0 auto;
    max-width: 320px;
  }

  .about-story-image img{
    width: 100%;
    margin: 0 auto;
  }

  .about-story-text{
    margin-left: 0;
    margin-right: 0;
    max-width: 80%;
  }

  .about-story-text p{
    text-align: left;
  }
}

@media (max-width: 980px){
  .portfolio-hero{
    height: 280px;                 /* 缩小外框高度 */
    background-size: cover;        /* 让图片铺满框，不再出现大片灰底 */
    background-position: center;
    background-color: transparent; /* 去掉明显灰色底 */
  }

  .portfolio-hero h1{
    font-size: 58px;               /* 调小 PORTFOLIO */
    line-height: 1;
    top: 50%;
  }

  .hero-tag{
    font-size: 12px;               /* HIGHLIGHTS 也缩小一点 */
    letter-spacing: 0.26em;
    left: 50%;
    transform: translateX(-50%);
    bottom: 20px;
    text-align: center;
  }
}

@media (max-width: 900px){
  .gallery-detail-inner{
    display:flex;
    flex-direction:column;
    align-items:center;
  }

  .gallery-back-link{
    order:1;
    align-self:flex-start;
    margin-bottom:26px;
  }

  .gallery-detail-meta{
    order:2;
    text-align:center;
    margin-bottom:12px;
    padding-bottom:0;
  }

  .gallery-detail-meta-right{
    text-align:center;
    margin-bottom:12px;
  }

  .gallery-detail-title,
  .gallery-detail-title-centered{
    order:3;
    text-align:center;
    margin:0 0 28px;
    font-size:44px;
    line-height:1;
  }

  .gallery-detail-cover-wrap{
    order:4;
    width:100%;
    display:grid;
    grid-template-columns: minmax(0, 1fr) 140px;
    gap:18px;
    align-items:center;
  }

  .gallery-detail-cover{
    margin-left:0;
  }

  .gallery-detail-cover img{
    width:100%;
    max-width:240px;
    margin:0 auto;
  }

  .gallery-detail-quote{
    margin-left:0;
    padding-top:0;
    align-self:center;
  }

  .gallery-detail-quote-label{
    margin:0 0 12px;
  }

  .gallery-detail-quote-text{
    font-size:15px;
    line-height:1.8;
  }

  .gallery-detail-quote-sign{
    margin-top:14px;
    text-align:right;
  }
}

@media (max-width: 900px){
  .gallery-detail-title,
  .gallery-detail-title-centered{
    font-size: 25px;
    line-height: 1.18;
    margin: 0 0 18px;
  }
}