/* ============================================================
   page-shigongyuan.css · 施工员 · 时间轴职业成长
   母题：荷叶舒展 + 纵向时间轴
   ============================================================ */

/* ---------- 首屏 ---------- */
.sg-hero{
  position:relative;overflow:hidden;
  padding:140px 0 80px;
  background:linear-gradient(180deg,#f6fafe 0%,#ffffff 80%);
}
.sg-hero-glow{
  position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;pointer-events:none;
}
.sg-glow-1{width:420px;height:420px;background:radial-gradient(circle,#bcdcf5,transparent 70%);top:-120px;right:-80px;}
.sg-glow-2{width:360px;height:360px;background:radial-gradient(circle,#dcd4f5,transparent 70%);bottom:-100px;left:-60px;}
.sg-hero-inner{position:relative}
.sg-hero-grid{
  display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;
}
.sg-hero-title{
  font-size:clamp(1.9rem,3.6vw,2.8rem);font-weight:800;line-height:1.3;letter-spacing:.5px;margin:18px 0 18px;
}
.sg-hero-title b{
  background:linear-gradient(120deg,var(--blue),var(--purple));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.sg-hero-sub{color:var(--ink-2);font-size:1.05rem;max-width:560px}
.sg-hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0 22px}
.sg-hero-meta{display:flex;flex-wrap:wrap;gap:18px;color:var(--ink-2);font-size:.92rem}
.sg-hero-meta li{display:flex;align-items:center;gap:6px}
.sg-hero-meta .ico{color:var(--blue);width:18px;height:18px}

.sg-hero-figure{position:relative}
.sg-hero-figure img:first-child{
  border-radius:var(--r-lg) var(--r-sm) var(--r-lg) var(--r-sm);
  box-shadow:var(--shadow-2);aspect-ratio:3/2;object-fit:cover;width:100%;
}
.sg-hero-banner{
  position:absolute;right:-30px;bottom:-46px;width:56%;
  border-radius:var(--r-sm) var(--r-lg) var(--r-sm) var(--r-lg);
  border:6px solid #fff;box-shadow:var(--shadow);aspect-ratio:16/9;object-fit:cover;
}

/* ---------- 职责四卡 ---------- */
.sg-duty-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:22px;
}
.sg-duty-card{
  background:#fff;border:1px solid var(--line);padding:28px 22px;
  border-radius:var(--r-lg) var(--r-sm) var(--r-lg) var(--r-sm);
  box-shadow:var(--shadow);transition:transform .3s,box-shadow .3s;
}
.sg-duty-card:hover{transform:translateY(-6px) rotate(-.6deg);box-shadow:var(--shadow-2)}
.sg-duty-ico{
  width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  background:var(--blue-bg);color:var(--blue);margin-bottom:16px;
}
.sg-duty-ico svg{width:24px;height:24px}
.sg-duty-card h3{font-size:1.05rem;margin-bottom:10px}
.sg-duty-card p{color:var(--ink-2);font-size:.92rem;line-height:1.8}

/* ---------- 时间轴 ---------- */
.sg-timeline-section{background:var(--mix-bg)}
.sg-timeline{
  position:relative;max-width:860px;margin:0 auto;padding-left:0;
}
.sg-timeline::before{
  content:"";position:absolute;left:38px;top:8px;bottom:8px;width:3px;
  background:linear-gradient(180deg,var(--blue-2),var(--purple-2));border-radius:3px;
}
.sg-tl-item{
  position:relative;display:grid;grid-template-columns:80px 1fr;gap:24px;
  padding:22px 0;
}
.sg-tl-dot{
  width:52px;height:52px;border-radius:50%;
  background:#fff;border:3px solid var(--blue);
  display:flex;align-items:center;justify-content:center;
  font-weight:800;color:var(--blue);font-size:.95rem;
  box-shadow:0 0 0 6px rgba(59,143,212,.12);z-index:1;
}
.sg-tl-item:nth-child(even) .sg-tl-dot{border-color:var(--purple);color:var(--purple);box-shadow:0 0 0 6px rgba(124,111,208,.14)}
.sg-tl-body{
  background:#fff;border:1px solid var(--line);padding:22px 26px;
  border-radius:var(--r-lg) var(--r-sm) var(--r-lg) var(--r-sm);
  box-shadow:var(--shadow);transition:transform .3s;
}
.sg-tl-body:hover{transform:translateX(6px)}
.sg-tl-stage{color:var(--purple);font-weight:600;font-size:.85rem;letter-spacing:1px}
.sg-tl-body h3{font-size:1.15rem;margin:6px 0 8px}
.sg-tl-body p{color:var(--ink-2);font-size:.95rem;line-height:1.85}

/* ---------- 报考条件/考试科目 ---------- */
.sg-exam-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.sg-exam-card{
  background:#fff;border:1px solid var(--line);padding:34px 30px;
  border-radius:var(--r-lg);box-shadow:var(--shadow);
}
.sg-exam-card h3{display:flex;align-items:center;gap:10px;font-size:1.2rem;margin-bottom:18px}
.sg-exam-card .ico{color:var(--blue);width:22px;height:22px}
.sg-exam-card ul{padding-left:18px}
.sg-exam-card li{color:var(--ink-2);font-size:.95rem;margin-bottom:10px;list-style:disc}
.sg-exam-link{
  display:inline-block;margin-top:16px;color:var(--blue);font-weight:600;
}
.sg-exam-link:hover{color:var(--purple)}

/* ---------- 证书用途 ---------- */
.sg-usage-section{background:#fafbff}
.sg-usage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sg-usage-card{
  position:relative;background:#fff;border:1px solid var(--line);padding:34px 26px;
  border-radius:var(--r-lg) var(--r-sm) var(--r-lg) var(--r-sm);
  box-shadow:var(--shadow);transition:transform .3s,box-shadow .3s;
}
.sg-usage-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-2)}
.sg-usage-tag{
  display:inline-block;background:var(--purple-bg);color:var(--purple);
  padding:4px 12px;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:1px;margin-bottom:14px;
}
.sg-usage-card h3{font-size:1.15rem;margin-bottom:10px}
.sg-usage-card p{color:var(--ink-2);font-size:.93rem;line-height:1.8}

/* ---------- 备考建议 ---------- */
.sg-study{
  display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;
  background:var(--blue-bg);padding:44px;border-radius:var(--r-lg);
}
.sg-study-text h2{font-size:1.7rem;margin:10px 0 16px}
.sg-study-text p{color:var(--ink-2);margin-bottom:12px}
.sg-study-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.sg-study-figure img{
  border-radius:var(--r-lg) var(--r-sm) var(--r-lg) var(--r-sm);
  box-shadow:var(--shadow-2);aspect-ratio:3/2;object-fit:cover;width:100%;
}

/* ---------- 常见问题 ---------- */
.sg-faq-list{max-width:820px;margin:0 auto;display:grid;gap:14px}
.sg-faq{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-md);
  padding:18px 22px;transition:box-shadow .3s;
}
.sg-faq[open]{box-shadow:var(--shadow)}
.sg-faq summary{
  cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center;
}
.sg-faq summary::-webkit-details-marker{display:none}
.sg-faq summary::after{content:"+";color:var(--blue);font-size:1.3rem;font-weight:400}
.sg-faq[open] summary::after{content:"–"}
.sg-faq p{color:var(--ink-2);margin-top:12px;line-height:1.85}
.sg-faq p a{color:var(--blue);text-decoration:underline}
.sg-faq-more{text-align:center;margin-top:26px;color:var(--ink-2)}
.sg-faq-more a{color:var(--blue);font-weight:600}

/* ---------- 资讯 ---------- */
.sg-news-section{background:#fff}
.sg-news-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.sg-news-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-md);
  overflow:hidden;box-shadow:var(--shadow);transition:transform .3s,box-shadow .3s;
  display:flex;flex-direction:column;
}
.sg-news-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-2)}
.sg-news-card img{aspect-ratio:3/2;object-fit:cover;width:100%}
.sg-news-body{padding:16px 16px 20px}
.sg-news-body h3{font-size:.98rem;margin:10px 0 8px;line-height:1.5}
.sg-news-body p{color:var(--ink-3);font-size:.85rem;line-height:1.7}
.sg-news-more{text-align:center;margin-top:28px}
.sg-news-more a{color:var(--blue);font-weight:600}

/* ---------- 其他岗位 ---------- */
.sg-other-section{background:var(--mix-bg)}
.sg-other-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:880px;margin:0 auto;
}
.sg-other-card{
  background:#fff;border:1px solid var(--line);padding:18px 10px;text-align:center;
  border-radius:999px;font-weight:600;color:var(--ink-2);
  transition:all .25s;
}
.sg-other-card:hover{color:var(--blue);border-color:var(--blue);box-shadow:var(--shadow)}
.sg-other-card.is-active{background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff;border-color:transparent}
.sg-other-county{text-align:center;margin-top:26px;color:var(--ink-2);font-size:.92rem}
.sg-other-county a{color:var(--blue);margin:0 4px}
.sg-other-county a:hover{text-decoration:underline}

/* ---------- 底部 CTA ---------- */
.sg-cta{
  position:relative;overflow:hidden;padding:90px 0;
  background:linear-gradient(135deg,var(--blue) 0%,var(--purple) 100%);color:#fff;
}
.sg-cta-glow{
  position:absolute;width:400px;height:400px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.35),transparent 70%);
  top:-160px;right:-100px;
}
.sg-cta-inner{position:relative;text-align:center;max-width:720px}
.sg-cta-inner h2{font-size:clamp(1.6rem,3vw,2.3rem);margin-bottom:14px}
.sg-cta-inner p{opacity:.92;margin-bottom:24px}
.sg-cta-contact{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;margin-bottom:26px}
.sg-cta-line{
  display:inline-flex;align-items:center;gap:8px;font-weight:600;
  background:rgba(255,255,255,.15);padding:10px 20px;border-radius:999px;
}
.sg-cta-line:hover{background:rgba(255,255,255,.28)}
.sg-cta-line .ico{width:18px;height:18px}
.sg-cta .btn-primary{background:#fff;color:var(--blue)}

/* ---------- 响应式 ---------- */
@media (max-width:1023px){
  .sg-hero-grid{grid-template-columns:1fr;gap:36px}
  .sg-hero-figure{max-width:560px}
  .sg-hero-banner{right:0}
  .sg-duty-grid{grid-template-columns:repeat(2,1fr)}
  .sg-exam-grid,.sg-usage-grid{grid-template-columns:1fr 1fr}
  .sg-news-grid{grid-template-columns:repeat(2,1fr)}
  .sg-study{grid-template-columns:1fr;padding:32px}
}
@media (max-width:767px){
  .sg-hero{padding:110px 0 60px}
  .sg-duty-grid,.sg-exam-grid,.sg-usage-grid,.sg-news-grid{grid-template-columns:1fr}
  .sg-timeline::before{left:22px}
  .sg-tl-item{grid-template-columns:56px 1fr;gap:16px}
  .sg-tl-dot{width:44px;height:44px;font-size:.8rem}
  .sg-other-grid{grid-template-columns:repeat(2,1fr)}
  .sg-hero-banner{position:static;width:100%;margin-top:14px}
}

/* ---------- 本地报考节奏 ---------- */
.sg-rhythm-section{background:var(--mix-bg)}
.sg-rhythm{max-width:820px;margin:0 auto;display:grid;gap:16px}
.sg-rhythm p{
  background:#fff;border-radius:var(--r-sm);padding:20px 24px;
  color:var(--ink-2);font-size:.95rem;line-height:1.9;
  border-left:3px solid var(--blue);
}
.sg-rhythm a{color:var(--blue);font-weight:600}

/* ---------- 本地岗位观察 ---------- */
.sg-local-section{background:#fff}
.sg-local{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.sg-local-card{
  background:var(--blue-bg);border-radius:var(--r-md);padding:26px 24px;
  transition:transform .3s;
}
.sg-local-card:nth-child(2){background:var(--purple-bg)}
.sg-local-card:nth-child(3){background:var(--mix-bg)}
.sg-local-card:hover{transform:translateY(-4px)}
.sg-local-card h3{font-size:1.05rem;margin-bottom:8px;color:var(--ink)}
.sg-local-card p{color:var(--ink-2);font-size:.92rem;line-height:1.8}
.sg-local-note{text-align:center;margin-top:24px;color:var(--ink-2);font-size:.92rem}
.sg-local-note a{color:var(--blue);font-weight:600}
@media (max-width:1023px){
  .sg-local{grid-template-columns:1fr}
}
