/* ============================================================
   yikeyichi.com · anquan-fa.html 专属样式
   布局原型：L10 墨绿渐变 + 错位画廊（三图不同高度交错）
   ============================================================ */

/* ---------- Hero：墨绿渐变 + 细金线 ---------- */
.sf-hero{
  position:relative; overflow:hidden; color:var(--cream-50);
  padding:calc(var(--header-h) + 80px) 0 110px;
  background:
    radial-gradient(1200px 600px at 85% -10%, rgba(100,137,110,.55), transparent 60%),
    linear-gradient(155deg, var(--green-950) 0%, var(--green-900) 45%, var(--green-800) 100%);
}
.sf-hero__inner{ position:relative; z-index:2; max-width:880px; }
.sf-hero .breadcrumb{ margin-bottom:26px; }
.sf-hero .breadcrumb a{ color:rgba(251,248,241,.62); }
.sf-hero .breadcrumb .cur{ color:rgba(251,248,241,.92); }
.sf-hero__eyebrow{
  font-size:13px; letter-spacing:.42em; color:var(--brown-500); margin-bottom:20px;
}
.sf-hero h1{
  color:var(--cream-50); font-size:clamp(32px,4.8vw,58px); line-height:1.32;
  margin-bottom:22px;
}
.sf-hero h1 em{
  font-style:normal; color:var(--brown-500);
}
.sf-hero__lead{
  color:rgba(251,248,241,.82); font-size:16px; line-height:2.05;
  max-width:680px; margin-bottom:34px;
}
.sf-hero__rule{
  display:block; width:120px; height:2px; margin-top:8px;
  background:linear-gradient(90deg,var(--brown-500),transparent);
}

/* ---------- 立法背景 ---------- */
.bg-sec{ background:var(--cream-50); }
.bg__grid{
  display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(30px,5vw,64px);
  align-items:center;
}
.bg__copy .eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-size:13px; letter-spacing:.32em; color:var(--brown-600); margin-bottom:14px;
}
.bg__copy .eyebrow::before{ content:""; width:34px; height:1px; background:var(--brown-500); }
.bg__copy h2{ margin-bottom:18px; }
.bg__copy p{ margin-bottom:16px; font-size:15.5px; }
.bg__points{ margin-top:22px; border-top:1px solid var(--line); }
.bg__points li{
  padding:13px 0 13px 22px; border-bottom:1px solid var(--line);
  position:relative; font-size:14.5px; color:var(--green-800); font-weight:600;
}
.bg__points li::before{
  content:""; position:absolute; left:0; top:22px; width:10px; height:10px;
  background:var(--brown-500); border-radius:2px; transform:rotate(45deg);
}
.bg__pic img{
  width:100%; height:440px; object-fit:cover; border-radius:var(--radius-l);
  box-shadow:var(--shadow-lg);
}

/* ---------- 相关要点：中式序号卡 ---------- */
.points__grid{
  display:grid; grid-template-columns:repeat(2,1fr); gap:22px;
}
.pt{
  position:relative; padding:34px 30px 30px; background:var(--cream-100);
  border:1px solid var(--line); border-radius:var(--radius-m);
  transition:all .4s var(--ease);
}
.pt:hover{ transform:translateY(-5px); box-shadow:var(--shadow-md); border-color:var(--green-600); }
.pt__no{
  font-family:var(--font-serif); font-size:34px; color:var(--brown-500);
  line-height:1; opacity:.8;
}
.pt h3{ margin:14px 0 10px; }
.pt p{ font-size:14.5px; line-height:1.95; }

/* ---------- 企业 / 个人责任 ---------- */
.duties__cols{
  display:grid; grid-template-columns:1fr 1fr; gap:clamp(22px,3vw,36px);
}
.duty{
  background:var(--cream-50); border-radius:var(--radius-l); padding:34px 32px;
  border-top:3px solid var(--green-800); box-shadow:var(--shadow-sm);
}
.duty:last-child{ border-top-color:var(--brown-600); }
.duty h3{ margin-bottom:18px; }
.duty ul{ margin-bottom:22px; }
.duty li{
  position:relative; padding-left:26px; margin-bottom:11px;
  font-size:14.5px; color:var(--ink-soft); line-height:1.85;
}
.duty li::before{
  content:""; position:absolute; left:0; top:9px; width:8px; height:8px;
  border:1.5px solid var(--green-700); transform:rotate(45deg);
}
.duties__intro{
  max-width:860px; margin:0 auto 30px; font-size:15px; line-height:2.05;
  color:var(--ink-soft); padding:18px 22px;
  background:var(--cream-50); border-radius:var(--radius-m); border:1px solid var(--line);
}

/* ---------- 违规定性 ---------- */
.breach{ background:var(--cream-50); }
.breach__inner{
  max-width:880px; margin-inline:auto; text-align:center;
  padding:clamp(30px,5vw,56px); border:1px solid rgba(176,141,102,.45);
  border-radius:var(--radius-l); background:linear-gradient(180deg,var(--cream-100),var(--cream-50));
}
.breach__inner .eyebrow{ justify-content:center; }
.breach__inner h2{ margin-bottom:16px; }
.breach__inner > p{ font-size:15.5px; line-height:2.05; margin-bottom:24px; }
.breach__tags{
  display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-bottom:28px;
}

/* ---------- 画廊：三图不同高度交错 ---------- */
.gallery .section-head h2,.gallery .section-head p{ color:var(--cream-100); }
.gallery__grid{
  display:grid; grid-template-columns:1fr 1fr 1fr; gap:20px;
  align-items:start;
}
.g{ position:relative; }
.g img{ width:100%; object-fit:cover; border-radius:var(--radius-m); }
.g--1 img{ height:420px; }
.g--2 img{ height:300px; margin-top:60px; }
.g--3 img{ height:360px; }
.g figcaption{
  margin-top:12px; font-size:13px; letter-spacing:.14em; color:rgba(251,248,241,.6);
}
.gallery__note{
  margin-top:40px; font-size:13px; color:rgba(251,248,241,.5); text-align:center;
}

/* ---------- FAQ：浅色底折叠 ---------- */
.faq{ background:var(--cream-50); }
.faq__list{ max-width:840px; margin-inline:auto; }
.faq-item{
  background:var(--cream-100); border-radius:var(--radius-m); padding:4px 26px;
  margin-bottom:14px; border:1px solid var(--line);
}
.faq-item summary{
  list-style:none; cursor:pointer; display:flex; align-items:center;
  justify-content:space-between; gap:20px; padding:20px 0;
  font-family:var(--font-serif); font-size:17px; color:var(--green-900);
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary span{
  width:26px; height:26px; flex:none; border-radius:50%;
  border:1.5px solid var(--brown-500); position:relative; transition:all .35s var(--ease);
}
.faq-item summary span::before,.faq-item summary span::after{
  content:""; position:absolute; background:var(--brown-600);
  left:50%; top:50%; transform:translate(-50%,-50%);
}
.faq-item summary span::before{ width:10px; height:1.5px; }
.faq-item summary span::after{ width:1.5px; height:10px; transition:transform .35s var(--ease); }
.faq-item[open] summary span::after{ transform:translate(-50%,-50%) scaleY(0); }
.faq-item p{ padding:0 0 22px; font-size:14.5px; line-height:2; }

/* ---------- CTA：渐变横幅 ---------- */
.cta{ background:var(--cream-50); padding-bottom:clamp(60px,8vw,100px); }
.cta__banner{
  border-radius:var(--radius-l); padding:clamp(36px,5vw,64px);
  background:linear-gradient(120deg,var(--green-900),var(--green-700));
  color:var(--cream-50); display:grid; grid-template-columns:1.3fr 1fr;
  gap:30px; align-items:center; overflow:hidden; position:relative;
}
.cta__banner::after{
  content:""; position:absolute; right:-60px; top:-60px; width:260px; height:260px;
  border:1.5px solid rgba(176,141,102,.4); border-radius:50%;
}
.cta__copy h2{ color:var(--cream-100); margin-bottom:12px; }
.cta__copy p{ color:rgba(251,248,241,.8); }
.cta__phone{ margin-top:16px; font-size:15px; }
.cta__phone a{ font-family:var(--font-serif); font-size:26px; color:var(--brown-500); font-weight:700; }
.cta__actions{ display:flex; flex-wrap:wrap; gap:14px; justify-content:flex-end; }

/* ---------- 响应式 ---------- */
@media (max-width:1024px){
  .bg__grid,.duties__cols,.cta__banner{ grid-template-columns:1fr; }
  .gallery__grid{ grid-template-columns:1fr 1fr; }
  .g--2 img{ margin-top:0; }
  .cta__actions{ justify-content:flex-start; }
}
@media (max-width:640px){
  .points__grid,.gallery__grid{ grid-template-columns:1fr; }
}
