:root{
    --ink:#1b1730;
    --indigo:#5b3df5;
    --indigo-dark:#241b64;
    --cream:#fbfaf8;
    --paper:#ffffff;
    --line:#e7e4f0;
    --muted:#63607a;
    --pink:#ec6ea6;
    --gold:#d9a441;
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  body{
    font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif;
    color:var(--ink);
    background:var(--cream);
  }
  a{text-decoration:none;color:inherit;}
  ul{list-style:none;margin:0;padding:0;}
  img,svg{display:block;max-width:100%;}
  svg.icon-svg{display:inline-block;vertical-align:-2px;margin-right:2px;}
  button{font-family:inherit;cursor:pointer;}

  /* ---------- Utility bar ---------- */
  .utility-bar{background:var(--indigo-dark);color:#e9e6ff;font-size:13px;}
  .utility-inner{
    max-width:1280px;margin:0 auto;padding:8px 24px;
    display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;
  }
  .utility-left{display:flex;align-items:center;gap:8px;font-weight:500;}
  .utility-right{display:flex;align-items:center;gap:20px;}
  .utility-right span{display:flex;align-items:center;gap:6px;white-space:nowrap;}

  /* ---------- Header ---------- */
  header.main-nav{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;}
  .nav-inner{max-width:1280px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;}
  .logo{font-size:26px;font-weight:800;color:var(--indigo);display:flex;align-items:center;gap:11px;line-height:1;}
  .logo-mark{width:48px;height:48px;flex:0 0 48px;border-radius:12px;object-fit:cover;box-shadow:0 4px 12px rgba(27,23,48,.18);}
  .logo-copy{display:flex;flex-direction:column;}
  .logo .tag{font-size:10px;letter-spacing:3px;color:var(--muted);font-weight:600;margin-top:4px;}
  nav.links{display:flex;gap:36px;font-size:15px;font-weight:600;color:var(--ink);}
  nav.links a.active{color:var(--indigo);border-bottom:2px solid var(--indigo);padding-bottom:22px;margin-bottom:-23px;}
  .nav-actions{display:flex;align-items:center;gap:20px;}
  .btn-quote{background:var(--indigo);color:#fff;padding:11px 22px;border-radius:8px;font-weight:700;font-size:14px;}

  /* ---------- Page header ---------- */
  .page-head{max-width:1280px;margin:0 auto;padding:44px 24px 8px;}
  .breadcrumb{font-size:13px;color:var(--muted);margin-bottom:14px;}
  .breadcrumb a{color:var(--indigo);font-weight:600;}
  .page-head h1{font-size:36px;margin:0 0 10px;font-weight:800;}
  .page-head p{color:var(--muted);font-size:15px;max-width:620px;line-height:1.6;margin:0;}

  /* ---------- Quote layout ---------- */
  .quote-wrap{
    max-width:1280px;margin:32px auto 80px;padding:0 24px;
    display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:start;
  }
  .quote-form{
    background:#fff;border:1px solid var(--line);border-radius:16px;padding:36px;
  }
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;}
  .field{display:flex;flex-direction:column;gap:6px;}
  .field.full{grid-column:1 / -1;}
  .field label{font-size:13px;font-weight:700;}
  .field label .req{color:var(--pink);}
  .field input,.field select,.field textarea{
    border:1.5px solid var(--line);border-radius:8px;padding:11px 13px;
    font-size:14px;font-family:inherit;color:var(--ink);background:var(--cream);
  }
  .field input:focus,.field select:focus,.field textarea:focus{
    outline:none;border-color:var(--indigo);background:#fff;
  }
  .field textarea{resize:vertical;min-height:110px;}
  .checkbox-group{display:flex;flex-wrap:wrap;gap:10px;}
  .checkbox-item{
    display:flex;align-items:center;gap:7px;border:1.5px solid var(--line);
    border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600;background:var(--cream);
  }
  .checkbox-item input{margin:0;}
  .submit-btn{
    background:var(--indigo);color:#fff;border:none;padding:14px 30px;border-radius:8px;
    font-weight:700;font-size:15px;margin-top:6px;
  }
  .submit-btn:hover{background:#4c31d6;}
  .submit-btn:disabled{background:#7567ba;cursor:wait;}
  .form-note{font-size:12px;color:var(--muted);margin-top:10px;}
  .form-note-mobile{display:none;}
  .sending-notice{
    position:fixed;left:50%;bottom:28px;z-index:100;transform:translate(-50%,18px);
    display:flex;align-items:center;gap:10px;background:var(--ink);color:#fff;
    padding:13px 18px;border-radius:999px;font-size:14px;font-weight:700;
    box-shadow:0 12px 30px rgba(27,23,48,.25);opacity:0;pointer-events:none;
    transition:opacity .2s ease,transform .2s ease;
  }
  .sending-notice.is-visible{opacity:1;transform:translate(-50%,0);}
  .sending-notice::before{content:"";width:15px;height:15px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:sending-spin .8s linear infinite;}
  @keyframes sending-spin{to{transform:rotate(360deg);}}

  /* ---------- Sidebar ---------- */
  .quote-side{display:flex;flex-direction:column;gap:20px;}
  .side-card{
    background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;
  }
  .side-card h3{margin:0 0 14px;font-size:16px;font-weight:800;}
  .side-item{display:flex;gap:12px;margin-bottom:16px;align-items:flex-start;}
  .side-item:last-child{margin-bottom:0;}
  .side-item .icon{
    width:36px;height:36px;flex:0 0 36px;border-radius:9px;background:#f1edff;
    display:flex;align-items:center;justify-content:center;color:var(--indigo);font-size:16px;
  }
  .side-item h5{margin:0 0 3px;font-size:14px;}
  .side-item p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.4;}
  .side-card.contact p{margin:0 0 8px;font-size:13.5px;}
  .side-card.contact a{color:var(--indigo);font-weight:700;}

  /* ---------- Success state ---------- */
  .success-msg{
    display:none;background:#eefaf1;border:1.5px solid #bfe8cb;color:#1c6b34;
    border-radius:10px;padding:16px 18px;font-size:14px;font-weight:600;margin-bottom:20px;
  }
  .success-msg.show{display:block;}

  /* ---------- WhatsApp floating button ---------- */
  .whatsapp-widget{position:fixed;top:50%;right:24px;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:12px;}
  .contact-float-row{display:flex;align-items:center;gap:10px;}
  .whatsapp-label{position:relative;background:#fff;color:var(--ink);padding:10px 18px;border-radius:14px;font-size:13px;font-weight:700;white-space:nowrap;box-shadow:0 6px 16px rgba(0,0,0,0.16);border:1.5px solid var(--ink);}
  .whatsapp-label::before{content:"";position:absolute;top:50%;right:-9px;transform:translateY(-50%);width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:9px solid var(--ink);}
  .whatsapp-label::after{content:"";position:absolute;top:50%;right:-6.5px;transform:translateY(-50%);width:0;height:0;border-top:5.5px solid transparent;border-bottom:5.5px solid transparent;border-left:7px solid #fff;}
  .whatsapp-label span{display:block;font-weight:500;color:var(--muted);font-size:11.5px;margin-top:1px;}
  .whatsapp-float{
    width:60px;height:60px;flex-shrink:0;border-radius:50%;background:#25D366;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 6px 18px rgba(0,0,0,0.22);
    animation:wa-shake 3s ease-in-out infinite;
    transform-origin:50% 100%;
  }
  .whatsapp-float:hover{
    animation-play-state:paused;
    transform:scale(1.12);
    box-shadow:0 8px 22px rgba(0,0,0,0.3);
  }
  .whatsapp-float svg{width:32px;height:32px;}
  .telegram-float{width:60px;height:60px;border-radius:50%;background:#229ED9;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.22);transition:transform .2s ease,box-shadow .2s ease;}
  .telegram-float:hover{transform:scale(1.12);box-shadow:0 8px 22px rgba(0,0,0,.3);}
  .telegram-float svg{width:30px;height:30px;}
  @keyframes wa-shake{
    0%, 16%, 100%{ transform:rotate(0deg); }
    2%{ transform:rotate(-16deg); }
    4%{ transform:rotate(14deg); }
    6%{ transform:rotate(-11deg); }
    8%{ transform:rotate(9deg); }
    10%{ transform:rotate(-6deg); }
    12%{ transform:rotate(4deg); }
    14%{ transform:rotate(-2deg); }
  }
  @media (prefers-reduced-motion: reduce){ .whatsapp-float{animation:none;} }

  @media (max-width: 980px){
    nav.links{display:none;}
    .whatsapp-label{display:none;}
    .quote-wrap{grid-template-columns:1fr;}
    .form-row{grid-template-columns:1fr;}
  }
  @media (max-width: 720px){
    .page-head{display:none;}
    .quote-wrap{max-width:100%;margin:18px auto 64px;padding:0 14px;}
    .quote-form{border-radius:14px;padding:24px 18px;}
    .quote-side{display:none;}
    .form-note-desktop{display:none;}
    .form-note-mobile{display:block;font-size:13px;line-height:1.6;margin-top:12px;}
    .submit-btn{width:100%;padding:14px 18px;}
  }
  @media (prefers-color-scheme: dark){
    :root{color-scheme:dark;--ink:#f5f2ff;--indigo:#8e79ff;--indigo-dark:#100c24;--cream:#121021;--paper:#1d1933;--line:#3a3453;--muted:#c8c2dc;}
    .quote-form,.side-card,.whatsapp-label{background:#211d39;}
    .field input:focus,.field select:focus,.field textarea:focus{background:#211d39;}
    .side-item .icon{background:#30294e;}
  }
  :root[data-theme="dark"]{color-scheme:dark;--ink:#f5f2ff;--indigo:#8e79ff;--indigo-dark:#100c24;--cream:#121021;--paper:#1d1933;--line:#3a3453;--muted:#c8c2dc;}
  :root[data-theme="dark"] .quote-form,:root[data-theme="dark"] .side-card,:root[data-theme="dark"] .whatsapp-label{background:#211d39;}
  :root[data-theme="dark"] .field input:focus,:root[data-theme="dark"] .field select:focus,:root[data-theme="dark"] .field textarea:focus{background:#211d39;}
  :root[data-theme="dark"] .side-item .icon{background:#30294e;}
  /* ---------- Contact package ---------- */
  .whatsapp-widget{right:18px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:13px 10px 10px;background:var(--paper);border:1px solid var(--line);border-radius:28px;box-shadow:0 10px 26px rgba(27,23,48,.18);animation:contact-package-shake 4s ease-in-out infinite;}
  .contact-float-row{display:contents;}
  .contact-reminder{color:var(--ink);font-size:11px;font-weight:800;line-height:1.25;text-align:center;max-width:92px;}
  .contact-reminder span{display:block;font-size:10px;font-weight:500;color:var(--muted);margin-top:2px;}
  .whatsapp-float{animation:none;}
  @keyframes contact-package-shake{0%,82%,100%{transform:translateY(-50%) rotate(0deg);}84%{transform:translateY(-50%) rotate(-4deg);}86%{transform:translateY(-50%) rotate(4deg);}88%{transform:translateY(-50%) rotate(-3deg);}90%{transform:translateY(-50%) rotate(2deg);}}
  @media (prefers-reduced-motion: reduce){.whatsapp-widget{animation:none;}}
  @media (max-width:560px){.whatsapp-widget{right:12px;gap:8px;padding:10px 8px 8px;border-radius:22px;}.contact-reminder{font-size:10px;max-width:76px;}.whatsapp-float,.telegram-float{width:52px;height:52px;}.whatsapp-float svg,.telegram-float svg{width:26px;height:26px;}}

.honeypot{display:none;}
.message-field{margin-bottom:22px;}

/* 针对手机端：强制所有表单元素字号 >= 16px，彻底防止点击聚焦时页面自动放大 */
@media (max-width: 720px) {
  .field input,
  .field textarea,
  .field select {
    font-size: 16px !important;
  }
}

