/* ==========================================================================
   contact.html · 联系我们 — F14 纵书侧栏
   设计：左侧竖排联系侧栏 → 右侧联系表单（真实提交反馈）→ 服务区域简图 → 到访指南 → CTA
   命名空间：ct-
   ========================================================================== */

/* ===== ① Banner ===== */
.ct-hero{position:relative;height:min(56vh,480px);min-height:360px;display:flex;align-items:flex-end;overflow:hidden}
.ct-hero .hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ct-hero .mask-ink{background:linear-gradient(180deg,rgba(29,52,38,.2),rgba(29,52,38,.6) 80%)}
.ct-hero-inner{position:relative;z-index:2;color:#F7F5EE;padding-block:46px 56px}
.ct-hero-inner h1{color:#FCFBF7;font-size:clamp(28px,4vw,46px);letter-spacing:.06em;margin-top:16px}
.ct-hero-inner .sub{max-width:620px;margin-top:16px;color:rgba(247,245,238,.88);line-height:1.9}

/* ===== ② 纵书侧栏 + 表单 ===== */
.ct-main{background:var(--moon-100)}
.ct-grid{display:grid;grid-template-columns:230px 1fr;gap:clamp(28px,4vw,56px);align-items:start}

/* 竖排侧栏 */
.ct-rail{
  background:linear-gradient(180deg,var(--bamboo-900),var(--bamboo-700));
  border-radius:var(--radius-lg);padding:34px 22px;color:var(--moon-100);
  position:sticky;top:100px;box-shadow:var(--shadow-lift);
}
.ct-rail-title{
  writing-mode:vertical-rl;letter-spacing:.5em;font-size:15px;color:var(--cinnabar-400);
  margin:0 auto 20px;font-weight:600;
}
.ct-rail-items{display:flex;flex-direction:column;gap:22px}
.ct-rail a,.ct-rail div{display:block}
.ct-rail-label{
  display:inline-block;font-size:12px;letter-spacing:.3em;color:rgba(247,245,238,.55);
  margin-bottom:6px;border-bottom:1px solid rgba(247,245,238,.2);padding-bottom:4px;
}
.ct-rail-phone{
  background:rgba(192,47,43,.16);border:1px solid rgba(192,47,43,.5);
  border-radius:10px;padding:12px 14px;
}
.ct-rail-num{font-family:var(--serif);font-size:21px;color:#fff;letter-spacing:.04em;display:block}
.ct-rail-phone:hover .ct-rail-num{color:var(--cinnabar-400)}
.ct-rail-mail span:last-child,.ct-rail-wechat span:last-child,.ct-rail-addr span:last-child{font-size:13.5px;line-height:1.85;color:rgba(247,245,238,.9)}
.ct-rail-hours{margin-top:18px;font-size:12.5px;color:rgba(247,245,238,.6);border-top:1px dashed rgba(247,245,238,.25);padding-top:14px;line-height:1.9}

/* 表单区 */
.ct-form-wrap{
  background:#fff;border-radius:var(--radius-lg);padding:clamp(26px,4vw,44px);
  box-shadow:var(--shadow-soft);border:1px solid var(--line-soft);
}
.ct-form-desc{margin-top:12px;color:var(--ink-500);font-size:14.5px;line-height:1.9}
.ct-form-desc strong{color:var(--cinnabar-600)}
.ct-form{margin-top:26px}
.ct-submit{width:100%;margin-top:24px}
.field-tip{color:var(--cinnabar-600);font-size:12.5px;margin-top:4px}

/* 提交成功块 */
.ct-form-ok{
  margin-top:26px;text-align:center;padding:44px 24px;
  background:rgba(78,124,91,.06);border:1px dashed var(--bamboo-400);border-radius:var(--radius-lg);
}
.ct-form-ok h3{margin-top:18px;font-size:24px}
.ct-form-ok p{max-width:520px;margin:12px auto 0;color:var(--ink-700);line-height:2}
.ct-form-ok a{color:var(--cinnabar-600);font-weight:600}

/* ===== ③ 服务区域 ===== */
.ct-area{background:var(--moon-50)}
.ct-area-map{
  margin-top:44px;display:grid;grid-template-columns:280px 1fr;gap:clamp(24px,4vw,48px);
  align-items:center;max-width:900px;margin-inline:auto;
}
.ct-map{width:100%;max-width:280px;height:auto}
.ct-area-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ct-area-list li{
  font-size:14.5px;color:var(--ink-700);background:#fff;border:1px solid var(--line-soft);
  border-radius:8px;padding:10px 14px;text-align:center;transition:border-color .25s;
}
.ct-area-list li:first-child{border-color:var(--cinnabar-500);color:var(--cinnabar-600);font-weight:600}
.ct-area-list li:hover{border-color:var(--bamboo-500)}
.ct-area-note{margin-top:26px;text-align:center;color:var(--ink-500);font-size:14px}

/* ===== ④ 到访指南 ===== */
.ct-visit{background:var(--moon-100)}
.ct-visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,60px);align-items:center}
.ct-visit-fig img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lift);aspect-ratio:4/3;object-fit:cover}
.ct-p{margin-top:14px;font-size:15.5px;color:var(--ink-700);line-height:2.05}
.ct-p a{color:var(--cinnabar-600);font-weight:600}

/* ===== ⑤ CTA ===== */
.ct-cta{background:linear-gradient(120deg,var(--bamboo-900),var(--bamboo-700));text-align:center;position:relative;overflow:hidden}
.ct-cta::before{content:"";position:absolute;right:-70px;top:-70px;width:220px;height:220px;border-radius:50%;border:1px solid rgba(192,47,43,.45);box-shadow:0 0 0 28px rgba(192,47,43,.1)}
.ct-cta-inner{position:relative;z-index:2;padding-block:clamp(50px,7vw,80px)}
.ct-cta-inner h2{color:#FCFBF7;font-size:clamp(22px,3vw,34px)}
.ct-cta-phone{
  display:inline-block;margin-top:20px;font-family:var(--serif);
  font-size:clamp(34px,5.6vw,58px);color:#F3D9A4;letter-spacing:.06em;
}
.ct-cta-phone:hover{color:#fff}
.ct-cta-inner p{max-width:520px;margin:16px auto 0;color:rgba(247,245,238,.8);line-height:2}

/* ===== 响应式 ===== */
.ct-form .field-need{margin-top:18px}
/* 提交成功块：默认隐藏，由 main.js 切换为 inline display:block */
.ct-form-ok{display:none}

@media (max-width:920px){
  .ct-grid{grid-template-columns:1fr}
  .ct-rail{position:static;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding:22px}
  .ct-rail-title{writing-mode:horizontal-tb;margin:0}
  .ct-rail-items{flex-direction:row;flex-wrap:wrap;gap:16px}
  .ct-rail-hours{margin-top:0;border-top:none;padding-top:0}
  .ct-area-map{grid-template-columns:1fr;justify-items:center}
  .ct-area-list{width:100%}
  .ct-visit-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .ct-area-list{grid-template-columns:repeat(2,1fr)}
  .ct-rail{grid-template-columns:1fr;text-align:left}
  .ct-rail-items{flex-direction:column}
}
