/* ============================================================
   zaixian-yuyue.css —— 在线预约报名（L1 斜切对角）
   深绿斜块压图、阶梯错落卡片、错位表单
   ============================================================ */

/* ---------- Hero：斜切对角 ---------- */
.hero1{
  position:relative; min-height:92vh; display:flex; align-items:center;
  padding:calc(var(--header-h) + 40px) 0 70px; overflow:hidden;
}
.hero1__bg{ position:absolute; inset:0; }
.hero1__bg img{ width:100%; height:100%; object-fit:cover; }
.hero1__veil{
  position:absolute; inset:0;
  background:linear-gradient(100deg,rgba(27,42,33,.92) 0%,rgba(34,57,46,.78) 42%,rgba(34,57,46,.25) 100%);
}
.hero1__cut{
  position:absolute; right:-6%; bottom:-40px; width:60%; height:120px;
  background:var(--cream-50);
  clip-path:polygon(18% 0,100% 0,100% 100%,0 100%);
}
.hero1__content{ position:relative; z-index:3; }
.hero1 .breadcrumb{ color:rgba(251,248,241,.7); margin-bottom:22px; }
.hero1 .breadcrumb a{ color:var(--cream-100); }
.hero1__eyebrow{
  font-size:13px; letter-spacing:.36em; color:var(--brown-500);
  text-transform:uppercase; margin-bottom:18px;
}
.hero1 h1{ color:var(--cream-50); font-size:clamp(34px,5vw,60px); margin-bottom:22px; }
.hero1__lead{
  color:rgba(251,248,241,.82); max-width:560px; font-size:17px; margin-bottom:32px;
}
.hero1__actions{ display:flex; flex-wrap:wrap; gap:14px; }
.hero1__seal{
  position:absolute; right:7%; top:24%; z-index:3;
  width:118px; height:118px; border-radius:50%;
  border:2px solid var(--brown-500); color:var(--cream-100);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  transform:rotate(12deg); background:rgba(176,141,102,.16); backdrop-filter:blur(3px);
}
.hero1__seal span{ font-family:var(--font-serif); font-size:26px; }
.hero1__seal b{ font-size:13px; letter-spacing:.3em; font-weight:400; margin-top:4px; }

/* ---------- 三步流程：阶梯卡片 ---------- */
.steps1__grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:26px;
}
.step1{
  position:relative; background:var(--white); border:1px solid var(--line);
  border-radius:var(--radius-m); padding:38px 28px 32px; box-shadow:var(--shadow-sm);
}
.step1:nth-child(2){ transform:translateY(26px); }
.step1:nth-child(3){ transform:translateY(52px); }
.step1__no{
  position:absolute; top:22px; right:22px;
  font-family:var(--font-serif); font-size:44px; color:rgba(176,141,102,.22); line-height:1;
}
.step1__icon{
  width:58px; height:58px; border-radius:16px; display:flex; align-items:center; justify-content:center;
  background:var(--green-900); color:var(--cream-50); margin-bottom:20px;
}
.step1__icon svg{ width:26px; height:26px; }
.step1 h3{ margin-bottom:10px; }
.step1 p{ font-size:14.5px; }
.step1 p a{ color:var(--green-700); text-decoration:underline; text-underline-offset:3px; }

/* ---------- 预约表单区 ---------- */
.book1__grid{
  display:grid; grid-template-columns:1fr 1.15fr; gap:clamp(30px,5vw,70px); align-items:start;
}
.book1__copy{ padding-top:10px; }
.book1__lead{ margin:14px 0 22px; }
.book1__points{ margin-bottom:26px; }
.book1__points li{
  position:relative; padding-left:24px; margin-bottom:12px; color:var(--ink-soft); font-size:14.5px;
}
.book1__points li::before{
  content:""; position:absolute; left:0; top:11px; width:12px; height:2px; background:var(--brown-500);
}
.book1__hotline{
  border-left:3px solid var(--green-800); padding:6px 0 6px 16px; display:flex; flex-direction:column;
}
.book1__hotline span{ font-size:13px; color:var(--muted); }
.book1__hotline a{
  font-family:var(--font-serif); font-size:28px; color:var(--green-800); letter-spacing:.04em;
}
.book1__form{
  background:var(--white); border-radius:var(--radius-l); padding:clamp(26px,3.4vw,44px);
  box-shadow:var(--shadow-md); border:1px solid var(--line);
  transform:rotate(-.6deg);
}
.book1__row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.book1__form .field{ margin-bottom:16px; }
.book1__agree{ text-align:center; font-size:12.5px; color:var(--muted); margin-top:14px; }

/* ---------- 预约后时间轴 ---------- */
.after1__list{ display:grid; gap:0; max-width:860px; margin-inline:auto; }
.after1__item{
  display:grid; grid-template-columns:120px 30px 1fr; gap:18px; align-items:start;
  position:relative; padding-bottom:34px;
}
.after1__item:not(:last-child)::before{
  content:""; position:absolute; left:134px; top:26px; bottom:0; width:1px; background:var(--line-strong);
}
.after1__time{
  font-family:var(--font-serif); color:var(--brown-600); font-size:17px; text-align:right; padding-top:2px;
}
.after1__dot{
  width:15px; height:15px; border-radius:50%; background:var(--cream-50);
  border:3px solid var(--green-700); margin:6px 0 0 7px; position:relative; z-index:1;
}
.after1__body h3{ margin-bottom:6px; }
.after1__body p{ font-size:14.5px; }
.after1__body a{ color:var(--green-700); text-decoration:underline; text-underline-offset:3px; }

/* ---------- 其他联系卡片 ---------- */
.contact1__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:40px; }
.c1-card{
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius-m);
  padding:30px 26px; transition:all .35s var(--ease); display:block;
}
.c1-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-md); }
.c1-card:nth-child(2){ margin-top:26px; }
.c1-card__icon{
  width:52px; height:52px; border-radius:50%; background:rgba(44,74,58,.1);
  color:var(--green-800); display:flex; align-items:center; justify-content:center; margin-bottom:16px;
}
.c1-card__icon svg{ width:24px; height:24px; }
.c1-card h3{ margin-bottom:8px; }
.c1-card p{ font-size:14px; margin-bottom:14px; }
.c1-card em{ font-style:normal; color:var(--brown-600); font-size:13.5px; letter-spacing:.05em; }
.contact1__pic{ max-width:640px; margin-inline:auto; }
.contact1__pic img{ border-radius:var(--radius-m); box-shadow:var(--shadow-md); }

/* ---------- 服务承诺 ---------- */
.pledge1__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.pledge1__item{
  border-top:2px solid var(--green-800); padding:22px 18px; background:rgba(255,255,255,.6);
}
.pledge1__item b{ font-family:var(--font-serif); font-size:22px; color:var(--green-900); display:block; margin-bottom:8px; }
.pledge1__item p{ font-size:14px; }

/* ---------- FAQ ---------- */
.faq1__list{ max-width:820px; margin-inline:auto; display:grid; gap:14px; }
.faq1-item{
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius-m); overflow:hidden;
}
.faq1-item summary{
  cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px;
  padding:18px 22px; font-weight:600; color:var(--green-900); font-size:15.5px;
}
.faq1-item summary span{
  flex:none; width:22px; height:22px; position:relative;
}
.faq1-item summary span::before,.faq1-item summary span::after{
  content:""; position:absolute; inset:0; margin:auto; background:var(--brown-500); transition:transform .3s;
}
.faq1-item summary span::before{ width:14px; height:2px; }
.faq1-item summary span::after{ width:2px; height:14px; }
.faq1-item[open] summary span::after{ transform:rotate(90deg); }
.faq1-item p{ padding:0 22px 18px; font-size:14.5px; }
.faq1-item p a{ color:var(--green-700); text-decoration:underline; text-underline-offset:3px; }

/* ---------- CTA ---------- */
.cta1{ padding-top:30px; }
.cta1__inner{
  background:var(--green-900); border-radius:var(--radius-l); padding:clamp(34px,5vw,64px);
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:26px;
  position:relative; overflow:hidden;
}
.cta1__inner::after{
  content:""; position:absolute; right:-80px; top:-80px; width:260px; height:260px; border-radius:50%;
  border:36px solid rgba(176,141,102,.18);
}
.cta1__copy h2{ color:var(--cream-50); margin-bottom:10px; }
.cta1__copy p{ color:rgba(251,248,241,.72); max-width:480px; }
.cta1__actions{ display:flex; gap:14px; flex-wrap:wrap; position:relative; z-index:1; }
.cta1__line{ border-color:var(--cream-50); color:var(--cream-50); }
.cta1__line:hover{ background:var(--cream-50); color:var(--green-900); }

/* ---------- 响应式 ---------- */
@media (max-width:1024px){
  .steps1__grid{ grid-template-columns:1fr; gap:18px; }
  .step1:nth-child(2),.step1:nth-child(3){ transform:none; }
  .book1__grid{ grid-template-columns:1fr; }
  .book1__form{ transform:none; }
  .contact1__grid{ grid-template-columns:1fr; }
  .c1-card:nth-child(2){ margin-top:0; }
  .pledge1__grid{ grid-template-columns:1fr 1fr; }
  .hero1__seal{ display:none; }
}
@media (max-width:640px){
  .book1__row{ grid-template-columns:1fr; }
  .after1__item{ grid-template-columns:84px 24px 1fr; gap:12px; }
  .after1__item:not(:last-child)::before{ left:96px; }
  .pledge1__grid{ grid-template-columns:1fr; }
}
