/* 杭州赞成广告策划有限公司 — 1b Cinematic Dark 前端
   编辑式 · 电影感 · 黑金视觉系统。仅前端：不改任何路由/后端逻辑。 */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@200;300;400;500&family=Noto+Serif+SC:wght@400;500;600&display=swap');

@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;
  src:url('/static/fonts/cormorant-500.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;
  src:url('/static/fonts/cormorant-600.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:700;font-display:swap;
  src:url('/static/fonts/cormorant-700.woff2') format('woff2');}

:root{
  --ink:#111111;            /* 主背景（深） */
  --paper:#F7F7F5;          /* 亮色文字 / 亮版块 */
  --gold:#C2A15E;           /* 香槟金 */
  --gold-dim:rgba(194,161,94,0.6);
  --red:#db0833;            /* 品牌红：极少量点缀 */
  --fg:rgba(247,247,245,0.92);
  --fg-soft:rgba(247,247,245,0.6);
  --fg-faint:rgba(247,247,245,0.45);
  --line:rgba(247,247,245,0.14);
  --line-soft:rgba(247,247,245,0.1);
  --serif:'Noto Serif SC','Songti SC',Georgia,serif;
  --display:'Cormorant Garamond','Noto Serif SC',Georgia,serif;
  --sans:'Noto Sans SC','PingFang SC',sans-serif;
  --pad:64px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
html,body{margin:0;padding:0;}
body{font-family:var(--sans);font-size:15px;line-height:1.9;color:var(--fg-soft);background:var(--ink);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
a{color:inherit;text-decoration:none;transition:color .3s;}
a:hover{color:var(--gold);}
img{max-width:100%;display:block;}

/* ---------- 滚动显现 ---------- */
.reveal{opacity:0;transform:translateY(40px);
  transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1);}
.reveal.show{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}

/* ---------- 导航 ---------- */
.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;height:96px;
  display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);
  background:linear-gradient(to bottom,rgba(17,17,17,.88),rgba(17,17,17,0));}
.navbar .brand img{height:32px;filter:brightness(0) invert(1);}
.navbar .nav-links{display:flex;gap:48px;align-items:center;
  font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:rgba(247,247,245,.85);}
.navbar .nav-links a.admin-link{color:var(--gold);border:0;padding:0;}
.navbar .nav-links a.admin-link:hover{background:none;color:var(--paper)!important;}

.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px;}
.nav-toggle span{display:block;width:24px;height:1.5px;background:var(--paper);margin:6px 0;transition:.25s;}
.nav-toggle.active span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.nav-toggle.active span:nth-child(2){opacity:0;}
.nav-toggle.active span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}

/* ---------- 首页 Hero ---------- */
.hero{position:relative;height:84vh;min-height:600px;overflow:hidden;background:#000;}
.hero .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;
  animation:heroZoom 2.4s cubic-bezier(.2,.7,.2,1) both;}
@keyframes heroZoom{from{transform:scale(1.08);}to{transform:scale(1);}}
.hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,#111111 4%,rgba(17,17,17,.2) 60%);}
.hero .hero-content{position:absolute;left:var(--pad);right:var(--pad);bottom:9%;z-index:2;}
.eyebrow{display:block;font-size:12px;letter-spacing:.5em;text-transform:uppercase;color:var(--gold);}
.hero .eyebrow{margin-bottom:36px;}
.hero h1{font-family:var(--display);font-weight:500;font-size:clamp(56px,8.5vw,118px);
  line-height:.9;margin:0;color:var(--paper);}
.hero h1 em{font-style:italic;color:var(--gold);}
.hero .hero-foot{display:flex;justify-content:space-between;align-items:flex-end;margin-top:60px;flex-wrap:wrap;gap:32px;}
.hero .hero-foot p{max-width:460px;font-size:15px;line-height:2.2;color:var(--fg-soft);margin:0;}
.scroll-cue{display:flex;align-items:center;gap:14px;font-size:11px;letter-spacing:.4em;
  text-transform:uppercase;color:var(--fg-faint);}
.scroll-cue::after{content:"";width:1px;height:56px;background:linear-gradient(var(--gold),transparent);display:block;}

/* ---------- 版块通用 ---------- */
.section-head{padding:0 var(--pad);display:flex;justify-content:space-between;align-items:baseline;gap:24px;flex-wrap:wrap;}
.section-head h2{font-family:var(--display);font-size:24px;letter-spacing:.4em;
  text-transform:uppercase;color:var(--gold);margin:0;font-weight:500;}
.section-head .counter{font-family:var(--display);font-size:24px;color:rgba(247,247,245,.4);}

/* ---------- 首页：案例影格 ---------- */
.works{padding:120px 0 0;max-width:1600px;margin:0 auto;}
.work-frame{display:block;position:relative;height:460px;margin-top:56px;overflow:hidden;color:inherit;}
.work-frame.short{height:400px;margin-top:0;}
.work-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform 1.4s cubic-bezier(.2,.7,.2,1);}
.work-frame:hover img{transform:scale(1.03);}
.work-frame::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(17,17,17,.85),transparent 55%);}
.work-frame .caption{position:absolute;left:var(--pad);bottom:64px;z-index:2;}
.work-frame .caption .eyebrow{letter-spacing:.4em;}
.work-frame .caption h3{font-family:var(--serif);font-size:clamp(28px,3vw,42px);font-weight:500;margin:16px 0 0;color:#fff;}
.work-frame .pill{position:absolute;right:var(--pad);bottom:72px;z-index:2;font-size:13px;letter-spacing:.3em;
  color:rgba(255,255,255,.75);text-transform:uppercase;border:1px solid rgba(255,255,255,.3);
  padding:16px 28px;border-radius:40px;transition:.3s;}
.work-frame:hover .pill{border-color:var(--gold);color:var(--gold);}

.work-split{display:grid;grid-template-columns:1fr 1fr;align-items:center;}
.work-split .text{padding:72px 72px 72px var(--pad);}
.work-split.flip .text{padding:72px var(--pad) 72px 72px;}
.work-split .num{font-family:var(--display);font-size:20px;color:var(--gold);}
.work-split h3{font-family:var(--serif);font-size:clamp(34px,4vw,54px);font-weight:500;margin:20px 0 12px;color:var(--paper);}
.work-split .cat{font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:rgba(247,247,245,.5);margin-bottom:36px;}
.work-split p{font-size:15px;line-height:2.2;color:rgba(247,247,245,.65);margin:0;}
.work-split .media{display:block;height:400px;overflow:hidden;}
.work-split .media img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.2,1);}
.work-split .media:hover img{transform:scale(1.04);}

.text-link{display:inline-block;margin-top:40px;font-size:12px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--paper);border-bottom:1px solid var(--gold);padding-bottom:6px;}
.btn-pill{display:inline-block;font-size:12px;letter-spacing:.4em;text-transform:uppercase;color:var(--paper);
  border:1px solid rgba(247,247,245,.35);padding:20px 44px;border-radius:48px;transition:.3s;}
.btn-pill:hover{border-color:var(--gold);color:var(--gold);}
.section-cta{text-align:center;padding:100px 0 0;}

/* ---------- 宣言 ---------- */
.manifesto{padding:200px var(--pad);text-align:center;position:relative;}
.manifesto .mark{font-family:var(--display);font-size:300px;line-height:0;color:rgba(194,161,94,.12);
  position:absolute;top:170px;left:50%;transform:translateX(-50%);}
.manifesto p{font-family:var(--serif);font-size:clamp(28px,3.6vw,46px);line-height:1.8;font-weight:400;
  max-width:980px;margin:0 auto;color:var(--paper);}
.manifesto p em{font-style:normal;color:var(--gold);}
.manifesto .sub{margin-top:64px;font-size:12px;letter-spacing:.4em;text-transform:uppercase;color:var(--fg-faint);}

/* ---------- 数据带 ---------- */
.stats{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));}
.stats .stat{min-width:0;padding:clamp(40px,4vw,80px) clamp(24px,3vw,56px);border-right:1px solid var(--line);}
.stats .stat:last-child{border-right:0;}
.stats .stat b{display:block;font-family:var(--display);font-size:clamp(44px,4.6vw,84px);
  font-weight:500;line-height:1;color:var(--paper);}
.stats .stat b i{font-style:normal;color:var(--gold);}
.stats .stat span{display:block;margin-top:18px;font-size:13px;letter-spacing:.2em;color:var(--fg-faint);}

/* ---------- 服务（首页三卡 / 服务页三柱） ---------- */
.services{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
.service-card{display:block;min-width:0;padding:90px 56px;border-right:1px solid var(--line);
  transition:background .4s;color:inherit;}
.service-card:last-child{border-right:0;}
.service-card:hover{background:rgba(194,161,94,.07);color:inherit;}
.service-card .num{font-family:var(--display);font-size:64px;color:var(--gold);line-height:1;}
.service-card h4{font-family:var(--serif);font-size:30px;font-weight:500;margin:36px 0 18px;color:var(--paper);}
.service-card p{font-size:14px;line-height:2.1;color:rgba(247,247,245,.55);margin:0;}

/* ---------- 首页新闻预览 ---------- */
.journal{border-top:1px solid var(--line);padding:150px var(--pad);}
.journal-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:80px;}
.journal-card{display:block;color:inherit;}
.journal-card .media{overflow:hidden;height:420px;}
.journal-card .media img,.journal-card .media .bg{width:100%;height:100%;object-fit:cover;
  background-size:cover;background-position:center;transition:transform 1.2s cubic-bezier(.2,.7,.2,1);}
.journal-card:hover .media img,.journal-card:hover .media .bg{transform:scale(1.04);}
.journal-card .head{display:flex;align-items:baseline;gap:24px;margin-top:32px;flex-wrap:wrap;}
.journal-card .date{font-family:var(--display);font-size:17px;color:var(--gold);white-space:nowrap;}
.journal-card h4{font-family:var(--serif);font-size:28px;font-weight:500;margin:0;color:var(--paper);line-height:1.5;}
.journal-card p{font-size:14px;line-height:2.1;color:rgba(247,247,245,.55);margin:16px 0 0;}

/* ---------- 客户跑马灯 ---------- */
.clients-marquee{border-top:1px solid var(--line);padding:150px 0;overflow:hidden;}
.clients-marquee .eyebrow{text-align:center;margin-bottom:70px;}
.marquee-row{white-space:nowrap;display:flex;gap:80px;width:max-content;
  font-family:var(--serif);font-size:clamp(48px,6vw,78px);font-weight:500;color:rgba(247,247,245,.92);
  animation:marqueeX 34s linear infinite;}
.marquee-row.alt{font-family:var(--display);font-style:italic;color:var(--gold-dim);margin-top:40px;
  animation-duration:40s;animation-direction:reverse;}
.marquee-row span:nth-child(even){color:rgba(247,247,245,.25);}
.marquee-row.alt span:nth-child(even){color:var(--gold-dim);}
@keyframes marqueeX{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media(prefers-reduced-motion:reduce){.marquee-row{animation:none;}}

/* ---------- 页脚 ---------- */
.footer{border-top:1px solid var(--line);padding:150px var(--pad) 60px;background:var(--ink);color:var(--fg-faint);}
.footer h2{font-family:var(--display);font-size:clamp(64px,10vw,150px);font-weight:500;margin:0;line-height:.95;color:var(--paper);}
.footer h2 em{font-style:italic;color:var(--gold);}
.footer .cols{display:flex;justify-content:space-between;align-items:flex-end;margin-top:90px;
  font-size:13px;line-height:2.2;flex-wrap:wrap;gap:24px;}
.footer .cols .meta{letter-spacing:.3em;text-transform:uppercase;}
.footer a{color:var(--fg-faint);}
.footer a:hover{color:var(--paper);}

/* ---------- 子页页头 ---------- */
.page-hero{padding:150px var(--pad) 90px;background:var(--ink);border:0;text-align:left;margin:0;}
.page-hero .eyebrow{margin-bottom:36px;}
.page-hero h1{font-family:var(--display);font-weight:500;font-size:clamp(64px,9.5vw,140px);
  line-height:.95;margin:0;color:var(--paper);}
.page-hero h1 em{font-style:italic;color:var(--gold);}
.page-hero p{max-width:560px;margin:52px 0 0;font-size:15px;line-height:2.2;color:var(--fg-soft);}
.page-hero .client-logo img{max-height:70px;max-width:200px;object-fit:contain;filter:brightness(0) invert(1);margin-bottom:24px;}

/* ---------- 案例列表 ---------- */
.cases-filter{display:flex;flex-wrap:wrap;gap:14px;justify-content:flex-start;padding:0 var(--pad);margin-bottom:70px;}
.cases-filter .chip{background:transparent;border:1px solid rgba(247,247,245,.3);color:rgba(247,247,245,.75);
  cursor:pointer;padding:14px 30px;font-size:12px;letter-spacing:.24em;font-family:inherit;border-radius:40px;transition:.3s;}
.cases-filter .chip:hover{border-color:var(--gold);color:var(--gold);}
.cases-filter .chip.active{background:var(--gold);border-color:var(--gold);color:var(--ink);}
.cases-empty{text-align:center;color:var(--fg-soft);padding:80px 0;}

.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 36px;padding:0 var(--pad);max-width:1520px;margin:0 auto;}
.gallery-item{position:relative;display:block;color:inherit;background:none;aspect-ratio:auto;overflow:visible;}
.gallery-item .media{overflow:hidden;aspect-ratio:4/3;background:#1a1a1a;}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1);}
.gallery-item:hover img{transform:scale(1.05);opacity:1;}
.gallery-item .overlay{position:static;opacity:1;display:block;padding:0;text-align:left;}
.gallery-item .overlay h4{font-family:var(--serif);font-size:24px;font-weight:500;margin:22px 0 0;color:var(--paper);}
.gallery-item .overlay span{display:block;color:var(--fg-faint);font-size:11px;letter-spacing:.28em;
  text-transform:uppercase;border:0;padding:10px 0 0;}
/* 首页案例：等大网格（4 列，无主次） */
.works-gallery{grid-template-columns:repeat(4,1fr);margin-top:52px;}

/* ---------- 案例详情（编辑式） ---------- */
.case-hero{position:relative;height:88vh;min-height:600px;overflow:hidden;}
.case-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6;}
.case-hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,#111111 6%,rgba(17,17,17,.25) 65%);}
.case-hero .inner{position:absolute;left:var(--pad);right:var(--pad);bottom:80px;z-index:2;}
.case-hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(56px,8.5vw,120px);line-height:1;margin:0;color:var(--paper);}
.case-hero .meta{display:flex;gap:80px;margin-top:56px;font-size:13px;color:var(--fg-soft);letter-spacing:.14em;flex-wrap:wrap;}
.case-hero .meta b{color:var(--gold);display:block;font-weight:400;font-size:11px;letter-spacing:.34em;text-transform:uppercase;margin-bottom:10px;}

.case-body{padding:150px var(--pad);display:grid;grid-template-columns:4fr 8fr;gap:64px;}
.case-body .side .num{font-family:var(--display);font-size:22px;color:var(--gold);}
.case-body .side h2{font-family:var(--serif);font-size:44px;font-weight:500;margin:20px 0 0;color:var(--paper);}
.case-body .side h2 small{font-family:var(--display);font-style:italic;font-size:30px;font-weight:500;color:rgba(247,247,245,.4);}
.case-body .content .lead{font-family:var(--serif);font-size:26px;line-height:2;color:var(--paper);margin:0 0 32px;}
.case-body .content p{font-size:15px;line-height:2.3;color:var(--fg-soft);margin:0 0 24px;}
.back-link{display:inline-block;margin-top:40px;font-size:12px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--paper);border-bottom:1px solid var(--gold);padding-bottom:6px;}
.back-link:hover{color:var(--gold);}

.case-figure{padding:0;background:none;border:0;margin:0;}
.case-figure img{width:100%;max-height:none;height:auto;}

/* 长图滚动：逐张居中，单张一屏可见，像翻阅作品集 */
.case-scroll{display:block;background:#0d0d0d;padding:56px var(--pad);}
.case-scroll-img{margin:0 auto;display:block;}
.case-scroll-img+.case-scroll-img{margin-top:56px;}
.case-scroll-img img{width:100%;max-width:1040px;height:auto;max-height:90vh;object-fit:contain;display:block;margin:0 auto;}

/* 过程 Process 步骤 */
.process-step{display:flex;gap:32px;padding:36px 0;border-bottom:1px solid var(--line-soft);}
.process-step:last-child{border-bottom:0;}
.process-step .rn{font-family:var(--display);font-size:19px;color:var(--gold);min-width:44px;}
.process-step .pt{font-family:var(--serif);font-size:22px;color:var(--paper);margin-bottom:10px;}
.process-step p{font-size:14px;line-height:2.1;color:rgba(247,247,245,.55);margin:0;}

/* 指标 Metrics */
.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;
  border-top:1px solid var(--line);margin-top:70px;}
.metrics .metric{min-width:0;padding:48px 24px 0;border-right:1px solid var(--line);}
.metrics .metric:first-child{padding-left:0;}
.metrics .metric:last-child{border-right:0;}
.metrics .metric b{display:block;font-family:var(--display);font-size:clamp(40px,4vw,72px);
  color:var(--paper);line-height:1;font-weight:500;}
.metrics .metric span{display:block;font-size:12px;letter-spacing:.2em;color:var(--fg-faint);margin-top:14px;}

.next-case{display:block;position:relative;height:480px;overflow:hidden;border-top:1px solid var(--line);color:inherit;}
.next-case img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35;
  transition:opacity .6s,transform 1.4s cubic-bezier(.2,.7,.2,1);}
.next-case:hover img{opacity:.55;transform:scale(1.03);}
.next-case .inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;z-index:2;}
.next-case .inner b{font-family:var(--serif);font-size:clamp(34px,5vw,64px);font-weight:500;color:var(--paper);}

/* ---------- 服务页工作流 ---------- */
.workflow{border-top:1px solid var(--line);padding:150px var(--pad);}
.workflow-row{display:grid;grid-template-columns:90px 240px 1fr;gap:32px;align-items:baseline;
  padding:42px 0;border-bottom:1px solid var(--line-soft);transition:.3s;}
.workflow-row:hover{padding-left:20px;background:rgba(194,161,94,.05);}
.workflow-row .num{font-family:var(--display);font-size:20px;color:var(--gold);}
.workflow-row .name{font-family:var(--serif);font-size:28px;font-weight:500;color:var(--paper);}
.workflow-row .desc{font-size:14px;line-height:2.1;color:rgba(247,247,245,.55);}

.cta-band{border-top:1px solid var(--line);padding:150px var(--pad);text-align:center;}
.cta-band p{font-family:var(--serif);font-size:clamp(26px,3.4vw,40px);line-height:1.9;max-width:900px;margin:0 auto;color:var(--paper);}
.cta-band p em{font-style:normal;color:var(--gold);}
.cta-band .btn-pill{margin-top:70px;}

/* ---------- 新闻列表（编辑式行） ---------- */
.news-list{display:block;border-top:1px solid var(--line);}
.news-card{display:grid;grid-template-columns:280px 1fr 480px;gap:56px;align-items:center;
  padding:80px var(--pad);border-bottom:1px solid var(--line-soft);color:inherit;background:none;border-left:0;border-right:0;
  transition:background .4s;transform:none;box-shadow:none;}
.news-card:hover{background:rgba(194,161,94,.05);transform:none;box-shadow:none;}
.news-card .news-date{font-family:var(--display);font-size:26px;color:var(--gold);letter-spacing:0;text-transform:none;}
.news-card h4{font-family:var(--serif);font-size:clamp(26px,3vw,40px);font-weight:500;margin:0 0 20px;color:var(--paper);line-height:1.4;}
.news-card p{font-size:14px;line-height:2.2;color:rgba(247,247,245,.55);margin:0;max-width:560px;}
.news-thumb{overflow:hidden;height:300px;background-size:cover;background-position:center;}
.news-body{padding:0;}

/* ---------- 新闻详情 ---------- */
.article-hero{padding:150px var(--pad) 90px;max-width:1100px;}
.article-hero .date{font-family:var(--display);font-size:22px;color:var(--gold);margin-bottom:32px;display:block;}
.article-hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(40px,5.5vw,76px);line-height:1.25;margin:0;color:var(--paper);}
.news-hero{margin:0;height:640px;overflow:hidden;}
.news-hero img{width:100%;height:100%;object-fit:cover;border:0;}
.article-body{padding:120px var(--pad) 150px;max-width:960px;font-size:16px;line-height:2.4;color:rgba(247,247,245,.65);}
.article-body .lead{font-family:var(--serif);font-size:26px;line-height:2;color:var(--paper);margin-bottom:56px;}
.article-body p{margin:0 0 28px;}

/* ---------- 客户页（清单式） ---------- */
.clients-intro{padding:0 var(--pad) 90px;display:grid;grid-template-columns:7fr 5fr;gap:64px;align-items:end;}
.clients-intro p{font-size:15px;line-height:2.3;color:var(--fg-soft);margin:0;}
.brand-grid{display:block;border-top:1px solid var(--line);}
.brand-item{display:grid;grid-template-columns:100px 1fr 160px;align-items:center;gap:24px;
  padding:44px var(--pad);border-bottom:1px solid var(--line-soft);border-left:0;border-right:0;border-top:0;
  background:none;text-align:left;color:inherit;transition:.35s;transform:none;box-shadow:none;}
.brand-item:hover{background:var(--paper);color:var(--ink);border-color:var(--line-soft);transform:none;box-shadow:none;}
.brand-item .brand-logo{height:auto;order:0;justify-content:flex-start;}
.brand-item .brand-logo img{max-height:48px;max-width:100px;}
.brand-item .brand-name{font-family:var(--serif);font-size:clamp(26px,3vw,38px);color:inherit;font-weight:500;}
.brand-item:hover .brand-name{color:var(--ink);}
.brand-item .brand-count{font-family:var(--display);font-size:17px;letter-spacing:0;text-transform:none;
  color:inherit;opacity:.6;text-align:right;}

/* ================= 管理后台（保留全部类名与交互钩子，仅换皮） ================= */
body.admin{background:#F4F2EE;color:#3d3a35;}
.admin-wrap{max-width:1080px;margin:56px auto;padding:0 32px;font-family:var(--sans);}
.admin-topbar{display:flex;align-items:center;margin-bottom:30px;gap:10px;flex-wrap:wrap;}
.admin-topbar h2{font-family:var(--serif);color:#111111;font-size:30px;margin:0;font-weight:500;}
.admin-topbar .spacer{flex:1;}
.btn{display:inline-block;background:#111111;color:#F7F7F5;border:none;cursor:pointer;
  padding:13px 24px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;transition:.3s;font-family:inherit;}
.btn:hover{background:var(--gold);color:#111111;}
.btn.ghost{background:transparent;color:#111111;border:1px solid #DDD8CC;}
.btn.ghost:hover{background:#111111;color:#fff;border-color:#111111;}
.btn.danger{background:transparent;color:#9A3B3B;border:1px solid #E3CDC9;}
.btn.danger:hover{background:#9A3B3B;color:#fff;border-color:#9A3B3B;}
.btn.sm{padding:8px 16px;font-size:11px;letter-spacing:.14em;}
table.cases{width:100%;border-collapse:collapse;background:#fff;border:1px solid #DDD8CC;}
table.cases th,table.cases td{padding:14px 16px;border-bottom:1px solid #EEEAE0;text-align:left;
  font-size:14px;color:#5d584f;vertical-align:middle;}
table.cases th{background:#F7F7F5;color:#8a8478;font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;}
table.cases img{width:52px;height:66px;object-fit:cover;}
table.cases a{color:#A8863D;}
.actions{display:flex;gap:8px;}
.drag-tip{color:#8a8478;font-size:13px;margin:0 0 14px;}
table.sortable tbody tr[data-id]{cursor:grab;transition:background .2s;}
table.sortable tbody tr[data-id]:hover{background:#FAF8F3;}
table.sortable tbody tr.dragging{opacity:.5;background:#F0EDE5;}
.drag-handle{color:#C9C2B4;font-size:18px;text-align:center;cursor:grab;user-select:none;}
.drag-handle:active{cursor:grabbing;}
#drag-toast{position:fixed;left:50%;bottom:34px;transform:translateX(-50%) translateY(20px);
  background:#111111;color:#fff;padding:11px 22px;font-size:13px;letter-spacing:.05em;
  opacity:0;pointer-events:none;transition:.3s;z-index:2000;}
#drag-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
#drag-toast.err{background:#9A3B3B;}
.login-box{max-width:420px;margin:11vh auto;background:#F7F7F5;padding:64px 56px;border:0;}
.login-box h2{font-family:var(--serif);color:#111111;text-align:center;font-weight:500;margin:0 0 10px;font-size:26px;}
.login-box .sub{text-align:center;color:#8a8478;margin-bottom:44px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;}
.form-group{margin-bottom:24px;}
.form-group label{display:block;margin-bottom:9px;color:#111111;font-size:13px;font-weight:400;letter-spacing:.08em;}
.form-group input[type=text],.form-group input[type=password],.form-group input[type=number],.form-group textarea{
  width:100%;padding:13px 15px;border:1px solid #DDD8CC;font-size:14px;font-family:inherit;background:#fff;}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--gold);}
.form-group textarea{min-height:150px;resize:vertical;line-height:1.9;}
.form-group .hint{color:#A29B8C;font-size:12px;margin-top:8px;}
.flash{padding:12px 16px;margin-bottom:20px;font-size:14px;}
.flash.ok{background:#EFF3EC;color:#2c7a3d;}
.flash.error{background:#F7ECEA;color:#9A3B3B;}
.thumb-preview{height:70px;margin-top:12px;}
.card{background:#fff;padding:44px;border:1px solid #DDD8CC;}
/* 组合框（forms.js 依赖的钩子类保持不变） */
.combobox{position:relative;}
.combobox .cb-input{width:100%;padding:13px 40px 13px 15px;border:1px solid #DDD8CC;
  font-size:14px;font-family:inherit;background:#fff;transition:.2s;}
.combobox .cb-input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(194,161,94,.12);}
.combobox .cb-arrow{position:absolute;right:14px;top:50%;width:8px;height:8px;pointer-events:auto;
  border-right:1.6px solid #A29B8C;border-bottom:1.6px solid #A29B8C;
  transform:translateY(-70%) rotate(45deg);transition:.25s;cursor:pointer;}
.combobox.open .cb-arrow{transform:translateY(-30%) rotate(225deg);border-color:var(--gold);}
.combobox .cb-list{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:50;margin:0;padding:6px;
  list-style:none;background:#fff;border:1px solid #DDD8CC;
  box-shadow:0 16px 40px rgba(20,20,30,.14);max-height:260px;overflow:auto;display:none;}
.combobox.open .cb-list{display:block;animation:cbIn .16s ease;}
@keyframes cbIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}
.combobox .cb-list li{padding:10px 12px;font-size:14px;color:#111111;cursor:pointer;transition:.15s;}
.combobox .cb-list li:hover{background:#F4F2EE;color:#A8863D;}

/* 后台可重复条目编辑器 */
.cms-field{border:1px solid #DDD8CC;background:#FAF8F3;padding:14px;}
.cms-row{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px;background:#fff;border:1px solid #E7E2D6;padding:10px;}
.cms-cells{flex:1;display:flex;flex-direction:column;gap:8px;}
.cms-input{width:100%;box-sizing:border-box;padding:9px 11px;border:1px solid #DDD8CC;font-size:14px;font-family:inherit;background:#fff;}
.cms-input:focus{outline:none;border-color:var(--gold);}
textarea.cms-input{resize:vertical;line-height:1.7;}
.cms-ctrl{display:flex;flex-direction:column;gap:4px;}
.cms-btn{width:30px;height:26px;border:1px solid #DDD8CC;background:#fff;cursor:pointer;font-size:13px;color:#5d584f;transition:.2s;}
.cms-btn:hover{background:#111;color:#fff;border-color:#111;}
.cms-btn.del:hover{background:#9A3B3B;border-color:#9A3B3B;}
.cms-add{margin-top:4px;}

/* ================= 响应式 ================= */
@media(max-width:1100px){
  :root{--pad:40px;}
  .work-split .text,.work-split.flip .text{padding:80px var(--pad);}
  .work-split .media{height:460px;}
  .gallery{grid-template-columns:repeat(2,1fr);}
  .news-card{grid-template-columns:200px 1fr;gap:32px;}
  .news-card .news-thumb{grid-column:1/-1;height:340px;order:-1;}
  .case-body{grid-template-columns:1fr;gap:48px;padding:100px var(--pad);}
  .clients-intro{grid-template-columns:1fr;gap:32px;}
  .workflow-row{grid-template-columns:70px 1fr;gap:16px;}
  .workflow-row .desc{grid-column:2;}
}
@media(max-width:820px){
  :root{--pad:24px;}
  .navbar{padding:0 var(--pad);height:80px;background:rgba(17,17,17,.92);}
  .nav-toggle{display:block;}
  .navbar .nav-links{position:fixed;top:80px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;
    background:#111111;max-height:0;overflow:hidden;transition:max-height .3s ease;}
  .navbar .nav-links.open{max-height:400px;border-bottom:1px solid var(--line);}
  .navbar .nav-links a{padding:18px var(--pad);border-top:1px solid var(--line-soft);letter-spacing:.2em;}
  .hero{min-height:560px;}
  .hero .hero-foot{margin-top:40px;}
  .scroll-cue{display:none;}
  .works{padding-top:100px;}
  .work-frame{height:440px;margin-top:48px;}
  .work-frame.short{height:380px;}
  .work-frame .pill{display:none;}
  .work-split{grid-template-columns:1fr;}
  .work-split .media{height:380px;order:-1;}
  .work-split .text,.work-split.flip .text{padding:56px var(--pad) 72px;}
  .manifesto{padding:120px var(--pad);}
  .manifesto .mark{display:none;}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));}
  .stats .stat{border-bottom:1px solid var(--line);}
  .stats .stat:nth-child(even){border-right:0;}
  .services{grid-template-columns:1fr;}
  .service-card{border-right:0;border-bottom:1px solid var(--line);padding:64px var(--pad);}
  .service-card:last-child{border-bottom:0;}
  .journal{padding:100px var(--pad);}
  .journal-grid{grid-template-columns:1fr;gap:56px;margin-top:56px;}
  .journal-card .media{height:300px;}
  .footer{padding:100px var(--pad) 48px;}
  .footer .cols{margin-top:56px;}
  .page-hero{padding:110px var(--pad) 64px;}
  .gallery{grid-template-columns:1fr;gap:48px;}
  .cases-filter{margin-bottom:48px;}
  .case-hero{height:70vh;min-height:480px;}
  .case-scroll{padding:36px var(--pad);}
  .case-scroll-img+.case-scroll-img{margin-top:36px;}
  .case-scroll-img img{max-height:80vh;}
  .case-hero .meta{gap:32px;margin-top:36px;}
  .metrics{grid-template-columns:1fr;gap:0;}
  .metrics .metric{padding:36px 0 0;border-right:0;border-top:1px solid var(--line-soft);}
  .metrics .metric:first-child{border-top:0;}
  .process-step{gap:20px;}
  .news-card{grid-template-columns:1fr;padding:56px var(--pad);}
  .news-card .news-thumb{height:240px;}
  .brand-item{grid-template-columns:1fr auto;padding:32px var(--pad);}
  .brand-item .brand-logo{display:none;}
  .article-hero{padding:110px var(--pad) 56px;}
  .news-hero{height:320px;}
  .article-body{padding:72px var(--pad) 100px;}
  .workflow{padding:100px var(--pad);}
  .cta-band{padding:100px var(--pad);}
  .next-case{height:340px;}
  .admin-wrap{margin:32px auto;padding:0 16px;}
  table.cases th:nth-child(4),table.cases td:nth-child(4){display:none;}
}
