
/* ===== Site layer (2026-10-08): contact form, header fit. Outside 01–06 only. ===== */
/* header tabs: tighten before they overflow (ja / en labels are longer) */
/* the header row is capped at 1280px, so the room for tabs is the same on every large screen: tighten at all widths */
header.top .top-in{gap:12px}
header.top .tab{padding:8px 8px;gap:6px}
nav.tabs{justify-content:safe center}
@media (max-width:1320px){header.top .tab{font-size:14.5px;padding:8px 7px}}
/* search sits in the upper site row (beside 首页 / 业务介绍 …), so it never covers the section tabs */
.util-in{gap:10px}
.util .cmdbtn{height:28px;font-size:13.5px;padding:0 5px 0 10px;flex:none}
.util .cmdbtn kbd{font-size:12.5px;padding:2px 5px}
@media (min-width:761px){.util .cmdbtn{width:auto;justify-content:flex-start}.util .cmdbtn span,.util .cmdbtn kbd{display:inline-block}}
@media (max-width:760px){.util .cmdbtn{width:30px;height:28px;padding:0;justify-content:center}}
/* narrow windows: the tab row scrolls; fade whichever edge still has tabs beyond it */
nav.tabs.ovf-r{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent)}
nav.tabs.ovf-l{-webkit-mask-image:linear-gradient(90deg,transparent,#000 36px);mask-image:linear-gradient(90deg,transparent,#000 36px)}
nav.tabs.ovf-l.ovf-r{-webkit-mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 36px),transparent)}
/* contact form */
.cform{border:1px solid var(--rule);border-radius:14px;background:var(--glass);padding:22px 24px;margin-top:6px;
  backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5)}
.cf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px}
@media (max-width:980px){.cf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.cf-grid{grid-template-columns:1fr}}
.cf-f{display:flex;flex-direction:column;gap:6px;min-width:0}
.cf-f.wide{grid-column:1/-1}
.cf-f span{font-size:14px;font-weight:600;color:var(--ink-2)}
.cf-f input,.cf-f select,.cf-f textarea{font:inherit;font-size:15px;color:var(--ink);background:var(--panel);border:1px solid var(--rule);border-radius:10px;padding:9px 12px;width:100%;min-width:0}
.cf-f textarea{resize:vertical;line-height:1.65;min-height:120px}
.cf-f input:focus,.cf-f select:focus,.cf-f textarea:focus{outline:2px solid var(--own);outline-offset:0;border-color:transparent}
.cf-f .bad{border-color:var(--tbd);box-shadow:0 0 0 1px var(--tbd)}
.cf-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:18px}
.cf-bar button,.cf-call{appearance:none;font-size:15px;font-weight:600;padding:10px 20px;border-radius:999px;cursor:pointer;text-decoration:none;
  border:1px solid var(--rule);background:var(--glass);color:var(--ink);transition:transform .22s var(--zoom),background .2s,color .2s,border-color .2s}
.cf-bar .cf-go{background:var(--own);border-color:var(--own);color:#fff}
.cf-call{color:var(--own);border-color:color-mix(in srgb,var(--own) 45%,transparent)}
.cf-bar button:hover,.cf-call:hover{transform:scale(1.08)}
.cf-hint{flex:1 1 260px;font-size:14px;font-weight:500;color:var(--ink-3);line-height:1.6}
.cf-hint.ok{color:#16A34A}.cf-hint.err{color:var(--tbd)}
