/* ============================================================
   文景传媒 · 官网
   概念：一部正在放映的纪录片 —— 滚动即放映，区块即场次
   幕布黑 / 绢纸白 / 朱砂红 / 奖杯金
   ============================================================ */

/* —— 主页大标题品牌字：与公司标识一致的粗黑体（思源黑体/Noto Sans SC Black 900，OFL 开源授权，已打包本地、离线可用）—— */
@font-face{
  font-family:"SJ Hei";
  src:url("../assets/fonts/sj-hei-900.woff2") format("woff2");
  font-weight:900;
  font-style:normal;
  font-display:block;
}

:root{
  --bg:      #0E131B;   /* 幕布黑 */
  --bg-alt:  #101724;   /* 场次交替黑 */
  --paper:   #F4EFE6;   /* 绢纸白 */
  --ink:     #F4EFE6;
  --sub:     #8C9AAB;   /* 青灰 */
  --line:    #253040;   /* 暗线 */
  --red:     #C43D2B;   /* 朱砂 */
  --red-br:  #E05A44;   /* 朱砂-亮 */
  --gold:    #C8A45D;   /* 奖杯金 */
  --body-t:  #C2CBD6;   /* 深底正文 */

  --f-display: "Noto Serif SC","Source Han Serif SC","STZhongsong","SimSun",serif;
  --f-body:    "Noto Sans SC","Microsoft YaHei","PingFang SC",sans-serif;
  --f-mono:    "Consolas","SFMono-Regular","Courier New",monospace;

  --head-h: 76px;
}

/* ---------- 基础 ---------- */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0 }
html{ scroll-behavior:smooth }
body{
  font-family:var(--f-body);
  font-size:16px; line-height:1.7;
  background:var(--bg); color:var(--body-t);
  -webkit-font-smoothing:antialiased;
}
img{ display:block; max-width:100% }
a{ color:inherit; text-decoration:none }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer }
[id]{ scroll-margin-top:calc(var(--head-h) + 12px) }
::selection{ background:var(--red); color:#FFF6EC }

:focus-visible{ outline:2px solid var(--red); outline-offset:3px; border-radius:2px }

.skip{
  position:fixed; left:16px; top:-60px; z-index:200;
  padding:10px 18px; background:var(--red); color:#FFF6EC;
  font-size:14px; transition:top .2s;
}
.skip:focus-visible{ top:14px }

.wrap{ max-width:1180px; margin:0 auto; padding:0 28px }

/* ---------- 顶栏 ---------- */
.site-head{
  position:fixed; inset:0 0 auto 0; z-index:100;
  height:var(--head-h);
  transition:background .3s, border-color .3s, backdrop-filter .3s;
  border-bottom:1px solid transparent;
}
.site-head.is-solid{
  background:rgba(14,19,27,.86);
  backdrop-filter:blur(10px);
  border-bottom-color:var(--line);
}
.head-in{ display:flex; align-items:center; gap:34px; height:100% }
.brand{ display:flex; align-items:center; line-height:1.25; margin-right:auto }
/* 橙色横版锁版 logo（assets/logo.png，取自「文景Logo」01横板橙） */
.brand__logo{ height:44px; width:auto; display:block }
.nav{ display:flex; gap:26px }
.nav a{ font-size:14px; letter-spacing:.06em; color:var(--sub); transition:color .2s; padding:6px 0 }
.nav a:hover{ color:var(--ink) }
.head-tel{
  font-family:var(--f-mono); font-size:13px; letter-spacing:.08em;
  color:var(--red-br); border:1px solid rgba(196,61,43,.55);
  padding:7px 16px; border-radius:2px; white-space:nowrap;
  transition:background .2s,color .2s;
}
.head-tel:hover{ background:var(--red); color:#FFF6EC }
.burger{ display:none; width:40px; height:40px; position:relative }
.burger span,.burger span::before{
  content:""; position:absolute; left:9px; right:9px; height:2px;
  background:var(--ink); transition:transform .25s, top .25s;
}
.burger span{ top:16px }
.burger span::before{ top:8px; left:0; right:0 }

/* ---------- HERO · 取景框 ---------- */
.hero{
  position:relative; min-height:100vh; min-height:100svh;
  display:flex; flex-direction:column; justify-content:center; align-items:center;
  padding:calc(var(--head-h) + 30px) 0 40px;
  background:
    radial-gradient(120% 90% at 50% 8%, #131B27 0%, var(--bg) 58%, #0A0E14 100%);
  overflow:hidden;
}
/* 实景底图（大山大水），压暗保证文字可读 */
.hero__bg{
  position:absolute; inset:0; z-index:1;
  background:
    radial-gradient(60% 42% at 50% 46%, rgba(6,9,15,.6) 0%, rgba(6,9,15,.26) 48%, rgba(6,9,15,0) 74%),
    linear-gradient(180deg, rgba(14,19,27,.74) 0%, rgba(14,19,27,.46) 40%, rgba(10,14,20,.9) 100%),
    url(../assets/hero.jpg) center 38%/cover no-repeat;
}
/* 四角取景框 */
.vf{ position:absolute; width:46px; height:46px; z-index:3; opacity:.62 }
.vf--tl{ top:22px; left:22px;   border-top:2px solid var(--ink); border-left:2px solid var(--ink) }
.vf--tr{ top:22px; right:22px;  border-top:2px solid var(--ink); border-right:2px solid var(--ink) }
.vf--bl{ bottom:22px; left:22px;  border-bottom:2px solid var(--ink); border-left:2px solid var(--ink) }
.vf--br{ bottom:22px; right:22px; border-bottom:2px solid var(--ink); border-right:2px solid var(--ink) }
/* 胶片颗粒 */
.grain{
  position:absolute; inset:0; z-index:2; pointer-events:none; opacity:.05;
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="140" height="140"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.85" numOctaves="2" stitchTiles="stitch"/></filter><rect width="140" height="140" filter="url(%23n)" opacity="0.6"/></svg>');
}
/* REC + 时码 */
.hero__meta{
  position:absolute; top:calc(var(--head-h) + 26px); left:6vw; right:6vw; z-index:3;
  display:flex; justify-content:space-between;
  font-family:var(--f-mono); font-size:12px; letter-spacing:.22em; color:var(--sub);
}
.rec{ display:inline-flex; align-items:center; gap:8px; color:#E8B4A8 }
.rec__dot{
  width:9px; height:9px; border-radius:50%; background:var(--red);
  box-shadow:0 0 0 0 rgba(196,61,43,.5); animation:recPulse 1.6s ease-out infinite;
}
@keyframes recPulse{
  0%{ box-shadow:0 0 0 0 rgba(196,61,43,.55) }
  70%{ box-shadow:0 0 0 9px rgba(196,61,43,0) }
  100%{ box-shadow:0 0 0 0 rgba(196,61,43,0) }
}
.tc{ font-variant-numeric:tabular-nums }

.hero__core{ position:relative; z-index:3; text-align:center }
.hero__eyebrow{
  font-family:var(--f-mono); font-size:11px; letter-spacing:.3em;
  color:var(--sub); margin-bottom:34px;
}
.hero__title{
  font-family:"SJ Hei","Noto Sans SC","Source Han Sans SC","Microsoft YaHei",sans-serif; font-weight:900;
  font-size:clamp(3.4rem, 10.5vw, 8rem);
  letter-spacing:.14em; text-indent:.14em;  /* 抵消末字距，保持光学居中 */
  color:#FFFCF1; line-height:1.12;
  text-shadow:0 2px 26px rgba(5,8,13,.68), 0 0 3px rgba(5,8,13,.42), 0 0 52px rgba(5,8,13,.5);
  animation:heroIn 1.1s cubic-bezier(.2,.65,.25,1) both;
}
.hero__thesis{
  font-family:var(--f-display);
  font-size:clamp(1.2rem, 2.4vw, 1.8rem);
  letter-spacing:.18em; color:#FBF6E9; margin-top:30px;
  text-shadow:0 1px 16px rgba(5,8,13,.6);
  animation:heroIn 1.1s .18s cubic-bezier(.2,.65,.25,1) both;
}
.hero__sub{
  font-family:var(--f-mono); font-size:13px; letter-spacing:.32em;
  color:var(--sub); margin-top:22px;
  animation:heroIn 1.1s .34s cubic-bezier(.2,.65,.25,1) both;
}
@keyframes heroIn{ from{ opacity:0; transform:translateY(26px) } to{ opacity:1; transform:none } }

/* 竖排侧诗 */
.hero__poem{
  position:absolute; right:6.5vw; top:50%; transform:translateY(-50%); z-index:3;
  writing-mode:vertical-rl;
  font-family:var(--f-display); font-size:15px; letter-spacing:.55em;
  color:rgba(140,154,171,.75);
}
/* 数据行 */
.hero__stats{
  position:relative; z-index:3; width:100%;
  display:grid; grid-template-columns:repeat(4,1fr);
  margin-top:clamp(48px, 9vh, 92px);
}
.stat{
  padding:6px 26px;
  border-left:1px solid var(--line);
  animation:heroIn 1s .5s cubic-bezier(.2,.65,.25,1) both;
}
.stat:first-child{ border-left:0; padding-left:0 }
.stat__num{
  display:block; font-family:var(--f-display); font-weight:400;
  font-size:clamp(1.7rem, 3vw, 2.5rem); color:var(--ink); line-height:1.2;
}
.stat__num i{ font-style:normal; color:var(--red-br); margin-left:2px }
.stat__label{
  display:block; font-size:12px; letter-spacing:.14em; color:var(--sub); margin-top:6px;
}
.hero__cue{
  position:absolute; bottom:34px; left:50%; transform:translateX(-50%); z-index:3;
  font-family:var(--f-mono); font-size:11px; letter-spacing:.3em; color:var(--sub);
  animation:cueBob 2.6s ease-in-out infinite;
}
@keyframes cueBob{ 0%,100%{ transform:translate(-50%,0) } 50%{ transform:translate(-50%,7px) } }

/* ---------- 场次区块 ---------- */
.sec{ padding:104px 0 }
.sec--alt{ background:var(--bg-alt) }
.sec--paper{
  --ink:#2A2620; --sub:#6B6353; --line:#E0D7C2;
  background:var(--paper); color:#4A4438;
}
.sc{
  font-family:var(--f-mono); font-size:12px; letter-spacing:.22em;
  color:var(--sub); margin-bottom:20px;
}
.sc b{ color:var(--red-br); font-weight:400 }
.sec__title{
  font-family:var(--f-display); font-weight:400;
  font-size:clamp(1.85rem, 3.6vw, 2.75rem);
  letter-spacing:.06em; color:var(--ink); line-height:1.35;
}
.sec__sub{ margin-top:16px; font-size:15px; color:var(--sub); max-width:620px }

/* ---------- SC.01 关于 ---------- */
.about{ display:grid; grid-template-columns:1.45fr 1fr; gap:60px; margin-top:14px }
.about__text p{ margin-top:20px; font-size:15.5px; line-height:2 }
.pull{
  margin-top:34px; padding:6px 0 6px 26px;
  border-left:2px solid var(--red);
  font-family:var(--f-display); font-size:1.12rem; line-height:2;
  letter-spacing:.04em; color:var(--ink);
}
.kw{
  border:1px solid var(--line); background:#121A28;
  padding:18px 20px; margin-bottom:14px;
}
.kw b{ display:block; font-family:var(--f-display); font-weight:400; font-size:1.08rem; letter-spacing:.08em; color:var(--ink) }
.kw span{ display:block; font-size:13px; color:var(--sub); margin-top:6px; line-height:1.75 }
.chips__label{
  font-family:var(--f-mono); font-size:11px; letter-spacing:.26em;
  color:var(--sub); margin:26px 0 12px;
}
.chips{ display:flex; flex-wrap:wrap; gap:8px }
.chip{
  font-size:12px; letter-spacing:.04em; color:var(--sub);
  border:1px solid var(--line); border-radius:999px; padding:5px 14px;
}
.sec--paper .chip{ background:#FFFDF8 }

/* ---------- SC.02 业务 ---------- */
.tiles{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
  margin-top:48px;
}
.tile{
  background:var(--bg-alt); padding:26px 24px 30px;
  display:flex; flex-direction:column; min-height:212px;
  transition:background .25s;
}
/* 卷首符号：八枚线刻图形置于篇首，只作引领，不与文字争位 */
.tile__head{
  display:flex; align-items:flex-start; justify-content:space-between; gap:12px;
}
.tile__glyph{
  width:48px; height:48px; flex:0 0 auto;
  color:rgba(232,226,212,.85);
  transition:transform .3s ease;
}
.tile__glyph .gd{
  fill:none; stroke:currentColor; stroke-width:1.6;
  stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:1 1; stroke-dashoffset:1;
  transition:stroke-dashoffset .9s ease calc(var(--d,0s) + .2s);
}
.tile__glyph .ga{ stroke:var(--red-br) }
.tile__glyph .gf{
  fill:var(--red-br); opacity:0;
  transform:scale(.5); transform-box:fill-box; transform-origin:center;
  transition:opacity .35s ease calc(var(--d,0s) + .9s), transform .35s ease calc(var(--d,0s) + .9s);
}
.tile.in .tile__glyph .gd{ stroke-dashoffset:0 }
.tile.in .tile__glyph .gf{ opacity:1; transform:scale(1) }
.tile:hover{ background:#16202F }
.tile:hover .tile__glyph{ transform:translateY(-3px) }
.tile:hover .tile__desc{ color:#A9B5C4 }
.tile__code{
  font-family:var(--f-mono); font-size:11px; letter-spacing:.24em;
  color:var(--red-br); padding-top:3px;
}
.tile__name{
  font-family:var(--f-display); font-weight:400; font-size:1.32rem;
  letter-spacing:.06em; color:var(--ink);
  margin:auto 0 10px; padding-top:20px;
}
.tile__desc{ font-size:13px; line-height:1.85; color:var(--sub) }

/* ---------- SC.03 作品卷 ---------- */
.filters{ display:flex; flex-wrap:wrap; gap:10px; margin-top:44px }
.fbtn{
  font-family:var(--f-mono); font-size:12px; letter-spacing:.12em;
  color:var(--sub); border:1px solid var(--line);
  padding:8px 18px; border-radius:999px;
  transition:color .2s, border-color .2s, background .2s;
}
.fbtn:hover{ color:var(--ink); border-color:var(--sub) }
.fbtn.is-on{ background:var(--red); border-color:var(--red); color:#FFF6EC }

.works{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(248px,1fr));
  gap:18px; margin-top:30px;
}
.wcard{
  --h:210;
  position:relative; display:flex; flex-direction:column;
  padding:0; text-align:left;
  border:1px solid var(--line);
  background:linear-gradient(168deg, hsl(var(--h) 22% 14%), hsl(var(--h) 26% 9%));
  transition:transform .28s, border-color .28s;
  overflow:hidden;
}
.wcard:hover,.wcard:focus-visible{ transform:translateY(-4px); border-color:hsl(var(--h) 34% 42%) }
/* 顶部剧照（截自对应成片，与作品一一对应） */
.wcard__media{
  position:relative; display:block; aspect-ratio:16/9;
  overflow:hidden; background:#0B1017;
}
.wcard__media::after{
  content:""; position:absolute; inset:auto 0 0 0; height:46%;
  background:linear-gradient(180deg, transparent, rgba(8,11,17,.5));
}
.wcard__img{
  width:100%; height:100%; object-fit:cover; opacity:.94;
  transition:transform .5s ease, opacity .3s;
}
.wcard:hover .wcard__img,.wcard:focus-visible .wcard__img{ transform:scale(1.05); opacity:1 }
.wcard__cat{
  display:block; padding:15px 20px 0;
  font-family:var(--f-mono); font-size:11px; letter-spacing:.22em;
  color:hsl(var(--h) 40% 66%);
}
.wcard__body{ padding:6px 20px 20px }
.wcard__badge{
  display:inline-block; font-size:11px; letter-spacing:.06em;
  color:var(--gold); border:1px solid rgba(200,164,93,.45);
  padding:2px 9px; margin:2px 0 10px;
}
.wcard__title{
  font-family:var(--f-display); font-weight:400;
  font-size:1.22rem; letter-spacing:.03em; line-height:1.5; color:var(--ink);
}
.wcard__sub{ display:block; font-size:12.5px; color:var(--sub); margin-top:8px }
.wcard__play{
  position:absolute; left:50%; top:50%; z-index:2;
  width:46px; height:46px; border-radius:50%;
  transform:translate(-50%,-50%);
  border:1px solid rgba(244,239,230,.55);
  background:rgba(10,14,20,.38);
  display:grid; place-items:center;
  opacity:0; transition:opacity .25s, border-color .25s, background .25s;
}
.wcard__play::after{
  content:""; margin-left:3px;
  border-left:9px solid var(--ink); border-top:6px solid transparent; border-bottom:6px solid transparent;
}
.wcard:hover .wcard__play,.wcard:focus-visible .wcard__play{ opacity:1 }
.wcard__play:hover{ background:var(--red); border-color:var(--red) }
/* 触屏无悬停 → 播放钮常显 */
@media (hover:none){ .wcard__play{ opacity:.9 } }
.wcard.hide{ display:none }

.moreworks{ margin-top:64px; border-top:1px solid var(--line); padding-top:38px }
.moreworks__label{
  font-family:var(--f-mono); font-size:12px; letter-spacing:.26em; color:var(--sub);
  margin-bottom:20px;
}
.moreworks__list{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(212px,1fr));
  gap:16px;
}
.mw{
  border:1px solid var(--line);
  background:linear-gradient(168deg,#141C29,#0F1520);
  transition:transform .25s, border-color .25s;
}
.mw:hover{ transform:translateY(-3px); border-color:var(--sub) }
.mw__img{
  display:block; width:100%; aspect-ratio:16/9; object-fit:cover;
  object-position:50% 42%;
}
.mw__cap{
  padding:12px 14px 14px;
  font-family:var(--f-display); font-size:.96rem; letter-spacing:.03em;
  line-height:1.65; color:#D9D3C5;
}
/* 暂缺剧照的作品：文字卡，保留朱砂圆点 */
.mw--text{ display:flex; align-items:flex-end; min-height:150px; padding:16px 18px }
.mw--text .mw__cap{ padding:0 }
.mw--text .mw__cap::before{ content:"· "; color:var(--red) }

/* ---------- SC.04 荣誉墙 ---------- */
.hl{ display:flex; flex-wrap:wrap; gap:10px; margin-top:30px }
.hl__chip{
  font-family:var(--f-mono); font-size:12px; letter-spacing:.14em;
  color:var(--gold); border:1px solid rgba(200,164,93,.5);
  padding:7px 18px;
}
/* 胶片墙 */
.strip-wrap{
  position:relative; margin-top:52px;
  background:#151E2E; border-block:1px solid #2A3548;
}
.strip-wrap::before,.strip-wrap::after{
  content:""; display:block; height:16px;
  background-image:radial-gradient(circle 3.2px at 13px 50%, var(--bg-alt) 97%, transparent);
  background-size:26px 16px; background-repeat:repeat-x;
}
.strip{
  display:flex; gap:20px; overflow-x:auto;
  padding:24px 32px;
  scroll-snap-type:x proximity;
  scrollbar-width:thin; scrollbar-color:var(--red) #1A2434;
  cursor:grab;
}
.strip.dragging{ cursor:grabbing; scroll-snap-type:none }
.award{ flex:0 0 auto; width:420px; scroll-snap-align:start }
.award__img{
  width:100%; aspect-ratio:3/2; object-fit:contain; object-position:center;
  border:1px solid #2A3548; background:#0F1622;
  transition:transform .3s, border-color .3s;
}
.award:hover .award__img{ transform:translateY(-4px); border-color:var(--gold) }
.award__cap{ margin-top:13px; font-size:11px; line-height:1.75; letter-spacing:.04em }
.award__cap b{
  display:block; font-family:var(--f-display); font-weight:400;
  font-size:13.5px; color:#E8E2D4; letter-spacing:.02em; margin-bottom:3px;
}
.award__cap span{ font-family:var(--f-mono); color:var(--gold) }

/* ---------- SC.05 信任伙伴 ---------- */
.cwall{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(158px,1fr));
  gap:14px; margin-top:48px;
}
.client{
  background:#FFFDF8; border:1px solid var(--line);
  min-height:92px; padding:18px 12px;
  display:flex; align-items:center; justify-content:center;
}
.client img{
  max-width:80%; max-height:54px; object-fit:contain;
  transition:transform .3s;
}
.client:hover img,.client:focus-within img{ transform:scale(1.05) }
.sec--paper .sec__sub{ color:var(--sub) }

/* ---------- SC.06 联系 ---------- */
#contact{ position:relative; overflow:hidden }
.contact__bg{
  position:absolute; inset:0; z-index:0;
  background:
    linear-gradient(180deg, rgba(14,19,27,.92) 0%, rgba(14,19,27,.8) 45%, rgba(11,16,23,.95) 100%),
    url(../assets/contact.jpg) center 30%/cover no-repeat;
}
#contact .wrap{ position:relative; z-index:1 }
.contact__grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:36px;
  margin-top:52px; padding-top:38px; border-top:1px solid var(--line);
}
.citem__k{
  display:block; font-family:var(--f-mono); font-size:11px;
  letter-spacing:.26em; color:var(--sub); margin-bottom:12px;
}
.citem__v{
  font-family:var(--f-display); font-size:1.18rem; letter-spacing:.04em; color:var(--ink);
}
.citem__v--tel{
  font-size:1.62rem; color:var(--ink);
  background:linear-gradient(var(--red-br),var(--red-br)) left bottom / 100% 2px no-repeat;
  padding-bottom:6px;
}
.citem__v--tel:hover{ color:var(--red-br) }
.cta{ display:flex; flex-wrap:wrap; gap:16px; margin-top:52px }
.btn{
  display:inline-flex; align-items:center;
  font-size:14px; letter-spacing:.14em;
  padding:15px 34px; border:1px solid var(--red);
  transition:background .2s, color .2s;
}
.btn--red{ background:var(--red); color:#FFF6EC }
.btn--red:hover{ background:#A93322; border-color:#A93322 }
.btn--ghost{ color:var(--red-br) }
.btn--ghost:hover{ background:rgba(196,61,43,.12) }

/* ---------- 页脚 ---------- */
.site-foot{ border-top:1px solid var(--line); padding:44px 0 40px; background:#0B1017 }
.foot-in{ display:flex; flex-wrap:wrap; align-items:baseline; gap:10px 36px }
.foot__brand{ display:flex; align-items:center }
.foot__logo{ height:30px; width:auto; display:block; opacity:.92 }
.foot__legal{ font-family:var(--f-mono); font-size:11.5px; letter-spacing:.06em; color:var(--sub); margin-left:auto }
.foot__icp{ color:inherit; text-decoration:underline dotted; text-underline-offset:3px }
.foot__icp:hover{ color:var(--ink) }
.foot__motto{ width:100%; font-family:var(--f-mono); font-size:11px; letter-spacing:.3em; color:#5A6678 }

/* ---------- 弹窗 ---------- */
dialog:not([open]){ display:none }
.modal{
  position:fixed; inset:0; margin:auto;
  max-width:min(920px,92vw); max-height:92vh;
  background:#0E131B; color:var(--ink);
  border:1px solid var(--line); padding:0;
}
.modal::backdrop{ background:rgba(6,9,14,.85); backdrop-filter:blur(4px) }
.modal__x{
  position:absolute; top:10px; right:10px; z-index:2;
  width:38px; height:38px; border-radius:50%;
  border:1px solid var(--line); background:rgba(14,19,27,.7);
  font-size:15px; color:var(--ink);
  transition:background .2s, border-color .2s;
}
.modal__x:hover{ background:var(--red); border-color:var(--red) }
#playerVideo{ display:block; width:min(88vw,880px); max-height:66vh; background:#000 }
.modal__cap{
  padding:18px 24px 20px; font-family:var(--f-display);
  font-size:1.05rem; letter-spacing:.04em; color:var(--ink);
}

/* ---------- 滚动显现 ---------- */
.rv{ opacity:0; transform:translateY(16px); transition:opacity .7s ease var(--d,0s), transform .7s ease var(--d,0s) }
.rv.in{ opacity:1; transform:none }

/* ---------- 响应式 ---------- */
@media (max-width:1040px){
  .about{ grid-template-columns:1fr; gap:44px }
  .hero__poem{ display:none }
  .tiles{ grid-template-columns:repeat(2,1fr) }
  .contact__grid{ grid-template-columns:repeat(2,1fr); gap:30px }
}
@media (max-width:860px){
  :root{ --head-h:64px }
  .nav{
    position:fixed; inset:0; z-index:-1;
    flex-direction:column; justify-content:center; align-items:center; gap:22px;
    background:rgba(10,14,20,.97); backdrop-filter:blur(8px);
    font-size:19px;
    opacity:0; visibility:hidden; transition:opacity .3s, visibility .3s;
  }
  .nav a{ font-size:19px; letter-spacing:.14em }
  .site-head.nav-open .nav{ opacity:1; visibility:visible; z-index:99 }
  .site-head.nav-open{ background:transparent; backdrop-filter:none; border-bottom-color:transparent }
  .site-head.nav-open.is-solid{ background:transparent }
  .head-tel{ display:none }
  .brand__logo{ height:34px }
  .burger{ display:block }
  .site-head.nav-open .burger span{ top:20px; transform:rotate(45deg) }
  .site-head.nav-open .burger span::before{ top:0; transform:rotate(90deg) }
  .hero__meta{ left:16px; right:16px; font-size:10px; letter-spacing:.14em }
  .vf{ width:30px; height:30px }
  .hero__stats{ grid-template-columns:repeat(2,1fr); row-gap:26px }
  .stat:nth-child(3){ border-left:0; padding-left:0 }
  .sec{ padding:78px 0 }
}
@media (max-width:560px){
  .wrap{ padding:0 20px }
  .tiles{ grid-template-columns:1fr }
  .works{ grid-template-columns:1fr }
  .contact__grid{ grid-template-columns:1fr }
  .award{ width:300px }
  .strip{ padding:20px 22px }
  .foot-in{ flex-direction:column; align-items:flex-start; gap:12px }
  .foot__legal{ margin-left:0 }
}

/* ---------- 减少动效 ---------- */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto }
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  .rv{ opacity:1; transform:none }
}
