/*
 * A9 官网改版候选。
 * 该文件只服务独立预览版本：沿用现有品牌资产和交互，把页面叙事收口到
 * “承接营销内容生产—五项承诺—六类服务—真实交付”。
 */

.announcement {
  gap: 10px;
  min-height: 36px;
  padding-block: 6px;
  background: var(--a9-green);
  color: #0a160c;
  letter-spacing: .02em;
}

.announcement strong { font-weight: 820; }
.site-header { background: color-mix(in srgb, #050605 94%, transparent); }
.brand em { color: #858a84; font-size: 12px; font-style: normal; font-weight: 650; letter-spacing: .06em; }

.hero-redesign {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(440px, 1.05fr);
  gap: 56px;
  padding-top: 84px;
  padding-bottom: 0;
}

.hero-redesign-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 570px;
  padding-bottom: 42px;
}

.hero-redesign .eyebrow { margin-bottom: 34px; }

.hero-redesign h1 {
  max-width: 690px;
  margin: 0;
  font-size: clamp(48px, 5.2vw, 78px);
  line-height: 1.05;
  letter-spacing: -.065em;
}

.hero-redesign-lede {
  margin: 34px 0 36px;
  color: #afb3ae;
  font-size: clamp(18px, 1.6vw, 23px);
  font-weight: 560;
  line-height: 1.65;
  letter-spacing: -.02em;
}

.hero-redesign-visual {
  position: relative;
  min-height: 570px;
  overflow: hidden;
  border: 1px solid #3d443e;
  border-radius: 18px 18px 0 0;
  background: #111711;
}

.hero-redesign-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 30%, #071008e8 100%), linear-gradient(90deg, #07100840, transparent 45%);
  pointer-events: none;
}

.hero-redesign-visual figure { position: absolute; inset: 0; margin: 0; }
.hero-redesign-visual img { width: 100%; height: 100%; object-fit: cover; object-position: 62% center; filter: brightness(.72) saturate(.75); }

.hero-visual-label {
  position: absolute;
  z-index: 2;
  left: 36px;
  right: 36px;
  bottom: 36px;
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.hero-visual-label span { color: #abb2ab; font-size: 14px; }
.hero-visual-label strong { max-width: 520px; font-size: clamp(26px, 2.5vw, 38px); line-height: 1.2; letter-spacing: -.035em; }

.hero-signal { position: absolute; z-index: 2; top: 28px; right: 28px; display: flex; gap: 6px; }
.hero-signal i { width: 7px; height: 7px; border-radius: 50%; background: #687069; }
.hero-signal i:first-child { background: var(--a9-green); box-shadow: 0 0 16px #69df78; }

.hero-commitments {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border: 1px solid var(--a9-line-dark);
  border-bottom: 0;
}

.hero-commitments span {
  min-height: 92px;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 20px 24px;
  border-right: 1px solid var(--a9-line-dark);
  color: #e7eae6;
  font-size: 16px;
  font-weight: 720;
}

.hero-commitments span:last-child { border-right: 0; }
.hero-commitments b { color: var(--a9-green); font-size: 11px; letter-spacing: .1em; }

.responsibility-section {
  padding: 112px 0;
  background: var(--a9-green-soft);
  color: #111711;
}

.responsibility-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 110px; align-items: start; }
.responsibility-title .section-kicker { color: #227a34; }
.responsibility-title h2 { margin: 0; font-size: clamp(36px, 4vw, 60px); line-height: 1.12; letter-spacing: -.055em; }
.responsibility-title h2 strong { color: #1b7c30; font-weight: 820; }

.responsibility-list { border-top: 1px solid #b8ceb7; }
.responsibility-list article { min-height: 86px; display: grid; grid-template-columns: 44px .8fr 1.2fr; align-items: center; gap: 20px; border-bottom: 1px solid #b8ceb7; }
.responsibility-list span { color: #398447; font-size: 11px; letter-spacing: .12em; }
.responsibility-list p { margin: 0; color: #677467; }
.responsibility-list strong { font-size: clamp(18px, 1.6vw, 23px); letter-spacing: -.02em; }

.promise-section { padding: 120px 0; background: #0b0d0b; }
.promise-head > p { color: #989d97; }
.promise-board { display: grid; grid-template-columns: 1fr 1fr .8fr; border: 1px solid #303430; }
.promise-group { min-width: 0; border-right: 1px solid #303430; }
.promise-group:last-child { border-right: 0; }
.promise-group > header { display: flex; justify-content: space-between; align-items: center; min-height: 76px; padding: 0 28px; border-bottom: 1px solid #303430; }
.promise-group > header span { color: var(--a9-green); font-size: 11px; letter-spacing: .12em; }
.promise-group > header p { margin: 0; color: #888d87; font-size: 13px; font-weight: 720; }
.promise-items { display: grid; grid-template-columns: repeat(2, 1fr); }
.promise-contract .promise-items { grid-template-columns: 1fr; }
.promise-items article { min-height: 300px; display: flex; flex-direction: column; justify-content: flex-end; padding: 30px; border-right: 1px solid #303430; background: linear-gradient(145deg, #141714, #090b09); }
.promise-items article:last-child { border-right: 0; }
.promise-items b { color: #f5f7f4; font-size: clamp(24px, 2.2vw, 34px); line-height: 1.2; letter-spacing: -.035em; }
.promise-items p { max-width: 260px; min-height: 48px; margin: 16px 0 0; color: #828782; line-height: 1.7; }
.promise-contract .promise-items article { background: linear-gradient(145deg, #27472d, #101711); }
.promise-contract .promise-items b { color: var(--a9-green); }

.services-section { padding: 120px 0; background: var(--a9-paper); color: #121512; }
.services-head { display: grid; grid-template-columns: 1fr 1fr; column-gap: 90px; align-items: end; }
.services-head .section-kicker { grid-column: 1 / -1; color: #247d36; }
.services-head h2 { margin: 0; font-size: clamp(38px, 4vw, 58px); line-height: 1.08; letter-spacing: -.055em; }
.services-head > p { max-width: 460px; margin: 0 0 5px; color: #666b66; line-height: 1.8; }
.service-list { border-top: 1px solid #cfd4ce; }
.service-card { min-height: 206px; display: grid; grid-template-columns: 190px 1fr 1fr; gap: 44px; align-items: center; padding: 32px; border-bottom: 1px solid #cfd4ce; transition: background .2s ease, transform .2s ease; }
.service-card:hover { background: #fff; transform: translateX(5px); }
.service-index { align-self: stretch; display: flex; flex-direction: column; justify-content: space-between; }
.service-index span { color: #1e7e34; font-size: 14px; font-weight: 780; }
.service-index small { color: #7b817a; font-size: 10px; font-weight: 760; letter-spacing: .12em; }
.service-copy h3 { margin: 0 0 12px; font-size: clamp(25px, 2.3vw, 34px); line-height: 1.2; letter-spacing: -.035em; }
.service-copy p { max-width: 460px; margin: 0; color: #666c66; font-size: 15px; line-height: 1.7; }
.service-output { align-self: stretch; display: flex; flex-direction: column; justify-content: flex-end; padding-left: 28px; border-left: 1px solid #d8dcd7; }
.service-output b { color: #2d7c3c; font-size: 11px; letter-spacing: .12em; }
.service-output p { margin: 12px 0 0; color: #303530; line-height: 1.8; }
.service-featured { background: #dff3dc; }

.work-section { padding: 120px 0; }
.work-section .split-head > p { color: #8e938d; }
.work-section .workflow article { min-height: 300px; }

.factory-section { padding: 120px 0; }
.factory-redesign { display: grid; grid-template-columns: .72fr 1.28fr; min-height: 640px; overflow: hidden; border: 1px solid #414841; border-radius: 18px; background: linear-gradient(145deg, #263e2b, #0c100d 50%); }
.factory-redesign-copy { display: flex; flex-direction: column; justify-content: center; padding: 54px; }
.factory-redesign-copy h2 { margin: 0; font-size: clamp(34px, 3.3vw, 48px); line-height: 1.14; letter-spacing: -.045em; }
.factory-redesign-copy > p:not(.section-kicker) { margin: 24px 0 30px; color: #bcc3bb; font-size: 16px; line-height: 1.8; }
.factory-redesign-copy .button { width: fit-content; }
.factory-redesign-screen { position: relative; margin: 18px; overflow: hidden; border: 1px solid #303630; border-radius: 12px; background: #060806; box-shadow: 0 35px 90px #0009; }
.factory-redesign-screen::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #05080540, transparent 42%); pointer-events: none; }
.factory-redesign-screen img { width: 100%; height: 100%; object-fit: cover; object-position: left top; filter: brightness(.74) saturate(.72); transition: filter .25s ease, transform .5s ease; }
.factory-redesign-screen:hover img { filter: brightness(.9) saturate(.82); transform: scale(1.008); }
.factory-redesign-screen span { position: absolute; z-index: 2; top: 24px; right: 24px; display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border: 1px solid #ffffff30; border-radius: 999px; background: #080b08cc; font-size: 12px; font-weight: 720; }
.factory-redesign-screen i { width: 7px; height: 7px; border-radius: 50%; background: var(--a9-green); box-shadow: 0 0 14px var(--a9-green); }

.cases-section { padding: 120px 0; }
.cases-section .split-head > p { color: #8f938e; }
.audience-redesign-grid article { min-height: 470px; }
.contact-redesign { min-height: 390px; background: radial-gradient(circle at 80% 20%, #375a3f 0, transparent 34%), linear-gradient(110deg, #1b2f20, #0c100d 68%); }
.contact-redesign h2 { font-size: clamp(36px, 4vw, 56px); }
.footer-redesign { min-height: 660px; }

@media (max-width: 1080px) {
  .hero-redesign { grid-template-columns: minmax(0, .9fr) minmax(380px, 1.1fr); gap: 34px; }
  .hero-commitments span { padding-inline: 18px; }
  .responsibility-layout { gap: 65px; }
  .promise-board { grid-template-columns: 1fr 1fr; }
  .promise-contract { grid-column: 1 / -1; border-top: 1px solid #303430; }
  .promise-organization { border-right: 0; }
  .promise-contract .promise-items article { min-height: 220px; }
  .service-card { grid-template-columns: 125px 1fr 1fr; gap: 30px; }
}

@media (max-width: 820px) {
  .hero-redesign { grid-template-columns: 1fr; padding-top: 60px; }
  .hero-redesign-copy { min-height: 440px; }
  .hero-redesign-visual { min-height: 520px; }
  .hero-commitments { grid-template-columns: repeat(2, 1fr); }
  .hero-commitments span { border-bottom: 1px solid var(--a9-line-dark); }
  .hero-commitments span:nth-child(even) { border-right: 0; }
  .hero-commitments span:last-child { grid-column: 1 / -1; border-bottom: 0; }
  .responsibility-layout, .services-head, .factory-redesign { grid-template-columns: 1fr; }
  .responsibility-layout { gap: 55px; }
  .promise-board { grid-template-columns: 1fr; }
  .promise-group, .promise-organization { border-right: 0; border-bottom: 1px solid #303430; }
  .promise-contract { grid-column: auto; border-top: 0; border-bottom: 0; }
  .services-head { gap: 24px; }
  .services-head .section-kicker { grid-column: auto; }
  .service-card { grid-template-columns: 72px 1fr; gap: 24px; }
  .service-output { grid-column: 2; min-height: auto; padding: 22px 0 0; border-left: 0; border-top: 1px solid #d8dcd7; }
  .factory-redesign-copy { padding: 42px; }
  .factory-redesign-screen { min-height: 480px; }
}

@media (max-width: 560px) {
  .announcement { justify-content: center; font-size: 11px; }
  .brand em { display: none; }
  .hero-redesign { padding-top: 36px; }
  .hero-redesign-copy { min-height: 460px; padding-bottom: 20px; }
  .hero-redesign h1 { font-size: clamp(40px, 12vw, 56px); }
  .hero-redesign-lede { margin-block: 26px 30px; font-size: 17px; }
  .hero-redesign-visual { min-height: 430px; }
  .hero-visual-label { left: 24px; right: 24px; bottom: 24px; }
  .hero-commitments { grid-template-columns: 1fr; }
  .hero-commitments span, .hero-commitments span:nth-child(even), .hero-commitments span:last-child { grid-column: auto; min-height: 68px; border-right: 0; border-bottom: 1px solid var(--a9-line-dark); }
  .hero-commitments span:last-child { border-bottom: 0; }
  .responsibility-section, .promise-section, .services-section, .work-section, .factory-section, .cases-section { padding-block: 72px; }
  .responsibility-list article { grid-template-columns: 34px 1fr; gap: 12px; padding: 16px 0; }
  .responsibility-list strong { grid-column: 2; }
  .promise-items { grid-template-columns: 1fr; }
  .promise-items article { min-height: 230px; border-right: 0; border-bottom: 1px solid #303430; }
  .promise-items article:last-child { border-bottom: 0; }
  .service-card { grid-template-columns: 1fr; gap: 18px; padding: 28px 20px; }
  .service-index { min-height: 34px; flex-direction: row; }
  .service-output { grid-column: 1; }
  .factory-redesign-copy { padding: 32px 24px; }
  .factory-redesign-screen { min-height: 330px; margin: 8px; }
  .contact-redesign h2 { font-size: 36px; }
}
