/* =========================================================
   威虹音响 WEIHONG AUDIO — 极简白 · 灵动感
   ========================================================= */

:root{
  --bg:        #ffffff;
  --bg-soft:   #f7f6f3;   /* 暖白 */
  --ink:       #16130f;   /* 近黑·暖 */
  --ink-soft:  #6b635a;
  --line:      #ecebe6;
  --accent:    #c9a24b;   /* 金 · 声学温度 */
  --accent-2:  #e7cd8e;
  --indigo:    #6366f1;
  --cyan:      #22d3ee;
  --coral:     #fb7185;
  --r:         20px;
  --ease:      cubic-bezier(.22,.61,.36,1);
  --maxw:      1180px;
  --font:      "Manrope","PingFang SC","Microsoft YaHei","Hiragino Sans GB",sans-serif;
  --display:   "Space Grotesk","Manrope","PingFang SC","Microsoft YaHei",sans-serif;
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-font-smoothing:antialiased; overscroll-behavior:none; }
body{
  font-family:var(--font);
  color:var(--ink);
  background:var(--bg);
  line-height:1.65;
  overflow-x:hidden;
}
body.no-scroll{ overflow:hidden; position:fixed; width:100%; }
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
em{ font-style:normal; }

/* 光标光晕（桌面） */
.cursor-glow{
  position:fixed; top:0; left:0; width:420px; height:420px;
  border-radius:50%; pointer-events:none; z-index:1;
  background:radial-gradient(circle, rgba(201,162,75,.10), transparent 60%);
  transform:translate(-50%,-50%); opacity:0;
  transition:opacity .4s ease; mix-blend-mode:multiply;
  will-change:transform;
}
@media(hover:hover) and (pointer:fine){
  .cursor-glow.show{ opacity:1; }
}

/* 进度条 */
.scroll-progress{
  position:fixed; top:0; left:0; height:2px; width:0%; z-index:120;
  background:linear-gradient(90deg,var(--accent),var(--accent-2));
}

/* ============ 导航 ============ */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(0,0,0,.45);
  backdrop-filter:blur(12px) saturate(120%);
  transition:background .4s var(--ease), box-shadow .4s var(--ease), backdrop-filter .4s, color .4s;
}
.nav.scrolled{
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(14px) saturate(140%);
  box-shadow:0 1px 0 var(--line);
}
/* 导航在顶部（深底）时用白色文字 */
.nav:not(.scrolled) .brand,
.nav:not(.scrolled) .nav__links a,
.nav:not(.scrolled) .nav__toggle span{ color:#fff; }
.nav:not(.scrolled) .brand__text em{ color:rgba(255,255,255,.65); }
.nav:not(.scrolled) .nav__links a::after{ background:var(--accent); }
.nav:not(.scrolled) .btn--ghost{ color:#fff; border-color:rgba(255,255,255,.5); }
.nav:not(.scrolled) .btn--ghost:hover{ background:rgba(255,255,255,.12); border-color:#fff; }
.nav__inner{
  max-width:var(--maxw); margin:0 auto; padding:18px 28px;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.brand{ display:flex; align-items:center; gap:10px; color:var(--ink); }
.brand__mark{ color:var(--ink); display:flex; font-size:26px; line-height:1; }
.brand__text{ display:flex; flex-direction:column; line-height:1.05; }
.brand__text strong{ font-family:var(--display); font-size:21px; letter-spacing:.04em; }
.brand__text em{ font-size:11px; letter-spacing:.32em; color:var(--ink-soft); font-style:normal; }

.nav__links{ display:flex; gap:30px; }
.nav__links a{
  position:relative; font-size:14px; font-weight:500;
  color:var(--ink-soft);
  transition:color .3s var(--ease); padding:4px 0;
}
.nav__links a::after{
  content:""; position:absolute; left:0; bottom:-2px; height:1.5px; width:0;
  background:var(--accent); transition:width .35s var(--ease);
}
.nav__links a:hover{ color:var(--ink); }
.nav__links a:hover::after{ width:100%; }

.nav__actions{ display:flex; align-items:center; gap:14px; }
.nav__toggle{
  display:none; flex-direction:column; gap:5px; background:none; border:0;
  cursor:pointer; padding:6px;
}
.nav__toggle span{ width:22px; height:2px; background:var(--ink); border-radius:2px; transition:.3s var(--ease); }
.nav__toggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav__toggle.open span:nth-child(2){ opacity:0; }
.nav__toggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ============ 按钮 ============ */
.btn{
  display:inline-flex; align-items:center; gap:8px; cursor:pointer;
  font-family:var(--display); font-size:14px; font-weight:600; letter-spacing:.02em;
  border:0; border-radius:100px; padding:13px 26px; transition:transform .25s var(--ease), background .3s, color .3s, box-shadow .3s; white-space:nowrap;
}
.btn--solid{ background:var(--ink); color:#fff; box-shadow:0 10px 24px rgba(22,19,15,.14); }
.btn--solid:hover{ background:var(--accent); box-shadow:0 14px 30px rgba(201,162,75,.30); }
.btn--ghost{ border:1px solid var(--line); color:var(--ink); }
.btn--ghost:hover{ border-color:var(--ink); }
.btn--text{ background:none; color:var(--ink); padding:13px 8px; }
.btn--text svg{ transition:transform .3s var(--ease); }
.btn--text:hover svg{ transform:translateX(5px); }
.btn--full{ width:100%; justify-content:center; margin-top:4px; }

/* Hero 区按钮：半透明底 + 白字 */
.hero__cta .btn--solid{
  background:rgba(255,255,255,.15);
  color:#fff;
  border:1px solid rgba(255,255,255,.35);
  box-shadow:none;
  backdrop-filter:blur(8px);
}
.hero__cta .btn--solid:hover{
  background:rgba(255,255,255,.28);
  border-color:rgba(255,255,255,.6);
  box-shadow:0 8px 24px rgba(0,0,0,.2);
}
.hero__cta .btn--text{
  color:rgba(255,255,255,.85);
  padding:13px 12px;
}
.hero__cta .btn--text svg{ stroke:#fff; }
.hero__cta .btn--text:hover{
  color:#fff;
  background:rgba(255,255,255,.1);
}

/* ============ HERO ============ */
.hero{
  position:relative; min-height:100svh; display:flex; flex-direction:column;
  align-items:center; justify-content:center; text-align:center; padding:120px 24px 80px;
  overflow:hidden;
}

/* 轮播背景层 */
.hero__carousel{
  position:absolute; inset:0; z-index:0;
}
.hero__slide{
  position:absolute; inset:0; opacity:0;
  transition:opacity .8s var(--ease); /* 短过渡，快速完成 */
  pointer-events:none;
}
.hero__slide.active{
  opacity:1; z-index:1;
  pointer-events:auto;
}
.hero__slide img{
  width:100%; height:100%; object-fit:cover; object-position:center;
}
/* 暗色蒙层：压暗轮播图，避免泛白 */
.hero__carousel::after{
  content:""; position:absolute; inset:0;
  background:rgba(0,0,0,.35);
  pointer-events:none; z-index:2;
}

.orbs{ position:absolute; inset:0; pointer-events:none; z-index:3; }
.orb{ position:absolute; border-radius:50%; filter:blur(42px); opacity:.55; mix-blend-mode:multiply; will-change:transform; }
.orb--1{ width:380px; height:380px; left:-4%; top:8%;  background:radial-gradient(circle,#e7cd8e,transparent 70%); animation:float1 14s var(--ease) infinite; }
.orb--2{ width:320px; height:320px; right:-2%; top:18%; background:radial-gradient(circle,#a5b4fc,transparent 70%); opacity:.42; animation:float2 17s var(--ease) infinite; }
.orb--3{ width:300px;height:300px; left:14%; bottom:6%; background:radial-gradient(circle,#7dd3fc,transparent 70%); opacity:.38; animation:float3 19s var(--ease) infinite; }
.orb--4{ width:260px;height:260px; right:14%; bottom:10%; background:radial-gradient(circle,#fbcfe8,transparent 70%); opacity:.40; animation:float1 22s var(--ease) infinite reverse; }
@keyframes float1{ 0%,100%{ transform:translate(0,0) scale(1); } 50%{ transform:translate(30px,-40px) scale(1.08); } }
@keyframes float2{ 0%,100%{ transform:translate(0,0) scale(1); } 50%{ transform:translate(-36px,30px) scale(1.1); } }
@keyframes float3{ 0%,100%{ transform:translate(0,0) scale(1); } 50%{ transform:translate(26px,26px) scale(.94); } }

.hero__content{ position:relative; z-index:2; max-width:820px; }
/* 威虹透明 Logo */
.hero__logo{
  width:clamp(260px,36vw,460px); height:auto; margin:0 auto 28px;
  display:block; object-fit:contain; filter:drop-shadow(0 2px 16px rgba(0,0,0,.10));
}
.hero__eyebrow{
  font-family:var(--display); letter-spacing:.42em; font-size:12px;
  color:var(--ink-soft); margin-bottom:24px;
}
.hero__title{
  font-family:var(--display); font-weight:600; line-height:1.04;
  font-size:clamp(40px,8vw,84px); letter-spacing:-.01em;
}
.hero__title span{ display:block; }
.hero__title em{ color:var(--accent); position:relative; }
.hero__title em::after{
  content:""; position:absolute; left:0; right:0; bottom:6%; height:8px;
  background:var(--accent-2); opacity:.35; border-radius:6px; z-index:-1;
}
.hero__sub{ margin:26px auto 38px; font-size:clamp(15px,2.2vw,18px); color:var(--ink-soft); max-width:560px; }
.hero__cta{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.hero__scroll{
  position:absolute; bottom:34px; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:10px; z-index:2;
  font-family:var(--display); font-size:10px; letter-spacing:.3em; color:var(--ink-soft);
}
.hero__scroll-dot{
  width:22px; height:36px; border:1.5px solid var(--line); border-radius:20px; position:relative;
}
.hero__scroll-dot::after{
  content:""; position:absolute; left:50%; top:7px; width:4px; height:4px; border-radius:50%;
  background:var(--accent); transform:translateX(-50%); animation:scrolldot 1.8s var(--ease) infinite;
}
@keyframes scrolldot{ 0%{ top:7px; opacity:1; } 70%{ top:20px; opacity:0; } 100%{ top:7px; opacity:0; } }

/* 声波 */
.wave{
  display:flex; align-items:flex-end; justify-content:center; gap:5px;
  height:64px; margin:54px auto 0;
}
.wave span{
  width:4px; border-radius:4px; background:linear-gradient(var(--accent),var(--accent-2));
  animation:wave 1.1s var(--ease) infinite;
}
@keyframes wave{ 0%,100%{ height:10%; opacity:.5; } 50%{ height:100%; opacity:1; } }

/* ============ 品牌滚动条 ============ */
.marquee{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow:hidden; padding:18px 0; background:var(--bg-soft); }
.marquee__track{ display:inline-flex; gap:34px; white-space:nowrap; animation:marq 28s linear infinite; font-family:var(--display); letter-spacing:.16em; font-size:14px; color:var(--ink-soft); }
.marquee__track span:not(:nth-child(3n)){ color:var(--ink); opacity:.7; }
@keyframes marq{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ============ 区块通用 ============ */
.section{ max-width:var(--maxw); margin:0 auto; padding:120px 28px; }
.section__head{ margin-bottom:56px; text-align:center; }
.tag{
  display:inline-block; font-family:var(--display); font-size:12px; letter-spacing:.26em;
  color:var(--accent); margin-bottom:18px; text-transform:uppercase;
}
.section__title{ font-family:var(--display); font-weight:600; font-size:clamp(28px,4.6vw,52px); line-height:1.1; letter-spacing:-.01em; }

/* ============ 理念 ============ */
.section__desc{
  font-size:clamp(15px,1.8vw,19px); color:var(--ink-soft);
  max-width:780px; line-height:1.75; margin:18px auto 0;
}

/* 横向时光轴 */
.timeline-wrap{
  margin-top:60px; overflow:hidden;
  position:relative; padding:20px 0 40px;
}
.timeline{
  display:flex; gap:0; padding:0 28px;
  overflow-x:auto; scroll-behavior:auto;
  -webkit-overflow-scrolling:touch; scrollbar-width:none;
}
.timeline::-webkit-scrollbar{ display:none; }

.timeline__line{
  position:absolute; top:52px; left:28px; right:0; height:2px;
  background:var(--line); z-index:0;
}
.timeline__item{
  flex:0 0 auto; width:260px; padding:0 22px;
  position:relative; text-align:left;
}
.timeline__dot{
  width:12px; height:12px; border-radius:50%; background:var(--accent);
  margin:46px auto 16px; position:relative; z-index:2; box-shadow:0 0 0 4px var(--bg), 0 0 0 5px var(--accent);
  transition:transform .3s var(--ease);
}
.timeline__item:hover .timeline__dot{ transform:scale(1.3); }
.timeline__year{
  display:block; font-family:var(--display); font-size:26px;
  font-weight:700; color:var(--accent); letter-spacing:.02em; line-height:1;
}
.timeline__item h4{
  font-size:17px; font-weight:600; margin:10px 0 8px; color:var(--ink); line-height:1.35;
}
.timeline__item p{
  font-size:13px; color:var(--ink-soft); line-height:1.65; opacity:.85;
}

/* ============ 产品 ============ */
.products__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.product{
  position:relative; border:1px solid var(--line); border-radius:var(--r); overflow:hidden;
  padding:26px; background:var(--bg); cursor:pointer; transform-style:preserve-3d;
  transition:box-shadow .4s var(--ease), border-color .4s;
  --rx:0deg; --ry:0deg;
}
.product:hover{ box-shadow:0 26px 60px rgba(22,19,15,.10); border-color:transparent; }
.product__art{
  height:170px; display:flex; align-items:center; justify-content:center;
  color:var(--ink); margin-bottom:18px; transform:translateZ(30px);
}
.product__art .ill{ width:130px; height:156px; transition:transform .5s var(--ease), color .4s; }
.product:hover .ill{ color:var(--accent); transform:translateZ(30px) scale(1.06); }
.product__cat{ font-family:var(--display); font-size:11px; letter-spacing:.2em; color:var(--accent); text-transform:uppercase; }
.product__name{ font-size:21px; margin:6px 0 8px; font-weight:600; transform:translateZ(20px); }
.product__desc{ color:var(--ink-soft); font-size:14px; transform:translateZ(14px); }
.product__arrow{
  position:absolute; right:22px; bottom:20px; font-size:18px; color:var(--ink-soft);
  opacity:0; transform:translate(6px,0); transition:.35s var(--ease); transform:translateZ(24px);
}
.product:hover .product__arrow{ opacity:1; color:var(--accent); transform:translate(0,0) translateZ(24px); }

/* ============ 声学空间 ============ */
.rooms-grid{
  display:grid; grid-template-columns:repeat(2,1fr); gap:20px;
  margin-top:48px; max-width:960px; margin-left:auto; margin-right:auto;
}
.room-card{
  position:relative; border-radius:16px; overflow:hidden;
  aspect-ratio:4/3; cursor:pointer;
  transform-style:preserve-3d;
}
.room-card img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .6s var(--ease), filter .5s var(--ease);
}
.room-card:hover img{ transform:scale(1.06); filter:brightness(.75); }
.room-card__overlay{
  position:absolute; inset:0; background:linear-gradient(
    180deg, transparent 40%, rgba(0,0,0,.55) 100%
  );
  display:flex; flex-direction:column; justify-content:flex-end; padding:24px;
  color:#fff; opacity:0; transform:translateY(8px);
  transition:opacity .4s var(--ease), transform .4s var(--ease);
}
.room-card:hover .room-card__overlay{ opacity:1; transform:none; }
.room-card__no{
  font-family:var(--display); font-size:13px; letter-spacing:.18em;
  color:var(--accent); margin-bottom:6px;
}
.room-card__overlay h3{ font-size:20px; font-weight:600; line-height:1.25; }
.room-card__overlay p{ font-size:13px; opacity:.8; margin-top:4px; }

.space__cta{ text-align:center; margin-top:44px; }

/* ============ 关于 ============ */
.about__grid{ display:grid; grid-template-columns:1fr; gap:46px; }
.about__lead{ font-size:clamp(20px,3vw,30px); font-weight:500; max-width:760px; line-height:1.4; }
.stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.stat{ border-top:2px solid var(--ink); padding-top:18px; }
.stat__num{ font-family:var(--display); font-size:clamp(34px,5vw,52px); font-weight:700; line-height:1; }
.stat__suf{ font-family:var(--display); font-size:24px; font-weight:600; color:var(--accent); margin-left:2px; }
.stat p{ color:var(--ink-soft); font-size:14px; margin-top:8px; }

/* ============ 成功案例 · 宫格 ============ */
.case-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin:64px auto 0;
  max-width:1120px;
}
.case-cell{
  position:relative; margin:0; overflow:hidden;
  border-radius:16px; border:1px solid var(--line);
  background:var(--bg-soft); aspect-ratio:4/3;
  /* 灵动：渐显上浮 */
  opacity:0; transform:translateY(24px);
  transition:opacity .6s var(--ease), transform .6s var(--ease), box-shadow .4s var(--ease);
}
.case-grid.in .case-cell{ opacity:1; transform:none; }
.case-grid.in .case-cell:nth-child(2){ transition-delay:.06s; }
.case-grid.in .case-cell:nth-child(3){ transition-delay:.12s; }
.case-grid.in .case-cell:nth-child(4){ transition-delay:.18s; }
.case-grid.in .case-cell:nth-child(5){ transition-delay:.10s; }
.case-grid.in .case-cell:nth-child(6){ transition-delay:.16s; }
.case-grid.in .case-cell:nth-child(7){ transition-delay:.22s; }
.case-grid.in .case-cell:nth-child(8){ transition-delay:.28s; }
.case-grid.in .case-cell:nth-child(n+9){ transition-delay:.20s; }
.case-cell img{
  display:block; width:100%; height:100%; object-fit:cover;
  transition:transform .6s var(--ease), filter .4s var(--ease);
}
.case-cell:hover{ box-shadow:0 18px 46px rgba(22,19,15,.14); }
.case-cell:hover img{ transform:scale(1.06); filter:saturate(1.05); }

@media (max-width:820px){
  .case-grid{ grid-template-columns:repeat(2,1fr); gap:12px; margin-top:48px; }
}
@media (max-width:480px){
  .case-grid{ grid-template-columns:repeat(2,1fr); gap:10px; }
}

/* ============ 代理品牌 Logo（5列九宫格） ============ */
.brand-logos{ background:var(--bg); }
.logo-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
  max-width:1120px;
  margin:56px auto 0;
}
.logo-cell{
  margin:0;
  aspect-ratio:4 / 3;
  display:flex; align-items:center; justify-content:center;
  padding:26px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.logo-cell:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(22,19,15,.07);
}
.logo-cell img{
  max-width:100%; max-height:100%;
  width:auto; height:auto;
  object-fit:contain;
}
}
@media (max-width:980px){
  .logo-grid{ grid-template-columns:repeat(4,1fr); gap:14px; }
}
@media (max-width:680px){
  .logo-grid{ grid-template-columns:repeat(3,1fr); gap:12px; margin-top:44px; }
}
@media (max-width:420px){
  .logo-grid{ grid-template-columns:repeat(2,1fr); gap:10px; }
  .logo-cell{ padding:18px; }
}

/* ============ 服务 ============ */
.service__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.scard{
  border:1px solid var(--line); border-radius:var(--r); padding:30px 26px; background:var(--bg);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), background .4s;
}
.scard:hover{ transform:translateY(-6px); box-shadow:0 20px 44px rgba(22,19,15,.07); background:var(--bg-soft); }
.scard__ico{ font-size:26px; color:var(--accent); margin-bottom:16px; }
.scard h3{ font-size:19px; margin-bottom:10px; font-weight:600; }
.scard p{ color:var(--ink-soft); font-size:14px; }

/* ============ 联系 ============ */
.contact__card{
  border:1px solid var(--line); border-radius:28px; padding:clamp(32px,5vw,64px);
  display:grid; grid-template-columns:1fr 1fr; gap:60px; background:var(--bg-soft);
}
.contact__addr{ color:var(--ink-soft); margin:22px 0 26px; font-size:15px; }
.contact__rows{ display:grid; gap:10px; }
.contact__row{ display:flex; align-items:center; gap:16px; padding:14px 18px; border:1px solid var(--line); border-radius:14px; background:#fff; transition:.3s var(--ease); }
.contact__row:hover{ border-color:var(--accent); }
.contact__k{ font-family:var(--display); font-size:12.5px; letter-spacing:.04em; color:var(--ink); font-weight:500; min-width:110px; flex-shrink:0; }
.contact__v{ font-weight:600; font-size:14px; line-height:1.5; }
.contact__v small{ font-size:12.5px; font-weight:400; color:var(--ink-soft); display:block; margin-top:2px; }
.contact__form{ display:grid; gap:16px; background:#fff; padding:clamp(24px,3vw,34px); border-radius:20px; border:1px solid var(--line); align-content:start; }
.contact__form label{ display:grid; gap:7px; font-size:13px; color:var(--ink-soft); font-family:var(--display); letter-spacing:.04em; }
.contact__form input, .contact__form select, .contact__form textarea{
  font-family:var(--font); font-size:15px; color:var(--ink); padding:13px 14px;
  border:1px solid var(--line); border-radius:12px; background:var(--bg); transition:.3s var(--ease); outline:none;
}
.contact__form input:focus, .contact__form select:focus, .contact__form textarea:focus{ border-color:var(--accent); box-shadow:0 0 0 3px rgba(201,162,75,.14); }
.contact__form textarea{
  resize:vertical; min-height:70px; line-height:1.6;
}
.contact__hint{ font-size:12px; color:var(--ink-soft); margin-top:2px; }
.contact__hint.ok{ color:var(--accent); }

/* 姓名 + 先生/女士 横排 */
.contact__form .label--row{
  display:grid; gap:7px; font-size:13px; color:var(--ink-soft); font-family:var(--display); letter-spacing:.04em;
}
.contact__form .name-group{
  display:flex; gap:10px; align-items:center;
}
.contact__form .name-group input{
  flex:1; min-width:0;
}
/* 性别切换按钮 */
.gender-toggle{
  display:inline-flex; border-radius:10px; overflow:hidden;
  border:1px solid var(--line); background:var(--bg); flex-shrink:0;
}
.gender-toggle input[type="radio"]{
  position:absolute; opacity:0; pointer-events:none; width:0; height:0;
}
.gender-toggle label{
  display:inline-block; padding:9px 14px; font-size:13px; font-family:var(--font);
  color:var(--ink-soft); cursor:pointer; transition:.25s var(--ease);
  line-height:1; user-select:none; border-radius:9px;
}
.gender-toggle label:not(:last-child){ margin-right:2px; }
.gender-toggle input[type="radio"]:checked + label{
  background:var(--ink); color:#fff; font-weight:500;
}

.contact__tips{
  margin-top:28px; padding:20px 22px;
  border:1px solid var(--line); border-radius:14px;
  background:#faf9f6;
}
.contact__tips strong{
  display:block; font-size:15px; color:var(--accent);
  margin-bottom:10px; letter-spacing:.04em;
}
.contact__tips ul{ margin:0; padding-left:18px; }
.contact__tips li{
  font-size:13.5px; color:var(--ink-soft); line-height:1.8;
}

/* ============ 页脚 ============ */
.footer{ border-top:1px solid var(--line); background:var(--bg); }
.footer__inner{
  max-width:var(--maxw); margin:0 auto; padding:56px 28px 32px;
  display:grid; grid-template-columns:1.3fr .9fr 1.4fr .8fr; gap:36px;
}
.footer__col--brand{
  max-width:300px;
}
.footer__logo{
  display:inline-block; font-family:var(--display);
  font-size:22px; font-weight:700; color:var(--ink); margin-bottom:14px;
  letter-spacing:.02em;
}
.footer__col--brand p{
  font-size:13.5px; color:var(--ink-soft); line-height:1.75; opacity:.85;
}

/* 四栏网格 */
.footer__inner > .footer__col:not(.footer__bottom){
  display:flex; flex-direction:column; gap:6px;
}

.footer__heading{
  font-size:15px; font-weight:600; color:var(--ink);
  margin-bottom:12px; letter-spacing:.02em;
}

.footer__col nav a,
.footer__slink{
  display:inline-flex; align-items:center; gap:6px;
  font-size:14px; color:var(--ink-soft); padding:4px 0;
  transition:color .3s var(--ease);
}
.footer__col nav a:hover,
.footer__slink:hover{ color:var(--accent); }

.footer__list dt{ font-size:14px; font-weight:600; margin-top:10px; }
.footer__list dd{ font-size:13px; color:var(--ink-soft); line-height:1.65; margin:2px 0 8px; }
.footer__list strong{ color:var(--ink); }

.footer__social{
  display:flex; flex-direction:column; gap:4px; align-items:flex-start;
}
.footer__qrcode{
  width:100px; height:100px; margin-top:16px;
  border:1px solid var(--line); border-radius:8px;
  background:#f5f3ef;
  display:flex; align-items:center; justify-content:center;
  font-size:11px; color:var(--line);
  position:relative; overflow:hidden;
}
.footer__qrcode::after{
  content:"QR CODE";
  position:absolute; inset:0; display:flex;
  align-items:center; justify-content:center;
  font-size:11px; letter-spacing:.08em; color:var(--line);
}

.footer__bottom{
  grid-column:1 / -1; margin-top:40px;
  padding-top:20px; border-top:1px solid var(--line);
  text-align:center; display:flex; align-items:center; justify-content:center; gap:20px;
  flex-wrap:wrap; font-size:12px; color:var(--ink-soft); opacity:.7;
}
.footer__bottom p{
  margin:0; line-height:1.7;
}
}

/* ============ 滚动渐显 ============ */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease), transform .8s var(--ease); transition-delay:var(--d,0s); }
.reveal.in{ opacity:1; transform:none; }

/* ============ 响应式 ============ */
@media(max-width:980px){
  .service__grid{ grid-template-columns:repeat(2,1fr); }
  .timeline__item{ width:220px; padding:0 16px; }
  .products__grid{ grid-template-columns:repeat(2,1fr); }
  .stats{ grid-template-columns:repeat(2,1fr); }
  .space__inner{ grid-template-columns:1fr; gap:40px; }
  .rooms-grid{ grid-template-columns:1fr 1fr; gap:14px; }
  .contact__card{ grid-template-columns:1fr; gap:36px; }
  .footer__inner{ grid-template-columns:1fr 1fr; gap:28px; text-align:left; }
  .footer__col--brand{ grid-column:1 / -1; max-width:none; }
}
@media(max-width:640px){
  /* 手机端导航：全屏覆盖，半透明暗底 + 白字竖排 */
  .nav{
    background:rgba(0,0,0,.55) !important;  /* 始终深色半透明 */
    box-shadow:none !important;
    backdrop-filter:none !important;
  }
  .nav__links{
    position:fixed; inset:0; width:100%;
    background:rgba(15,12,10,.88);  /* 暗色半透明底 */
    flex-direction:column;
    padding:96px 32px 32px; gap:24px;
    transform:translateX(100%);
    transition:transform .4s var(--ease); z-index:99;
    overflow-y:auto; -webkit-overflow-scrolling:touch;
  }
  .nav__links.open{ transform:none; }
  /* 导航链接白字、大字号 */
  .nav__links a{ color:#fff !important; font-size:18px !important; }
  .nav__toggle{ display:flex; z-index:101; }
  /* 手机端汉堡按钮始终白色 */
  .nav__toggle span{ background:#fff !important; }
  .nav__actions .btn--ghost{ display:none; }
  .section{ padding:84px 20px; }
  .service__grid,.products__grid,.stats{ grid-template-columns:1fr; }
  .timeline__item{ width:260px; }
  .hero__scroll{ display:none; }
  .rooms-grid{ grid-template-columns:1fr; gap:16px; }
  .footer__inner{ grid-template-columns:1fr; text-align:center; }
  .footer__col--brand{ grid-column:auto; }
  .footer__social{ align-items:center; }

  /* 移动端性能优化 */
  html{ scroll-behavior:auto; }
  .cursor-glow{ display:none !important; }
  .orb{ will-change:auto; }
}
@media(prefers-reduced-motion:reduce){
  *{ animation:none !important; }
  .reveal{ opacity:1; transform:none; }
}
