
*, *::before, *::after { box-sizing: border-box; }
body {
  margin: 0; background: #f4f1ea; color: #1c1917;
  font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 17px; line-height: 1.6;
}
a { color: #be123c; }
:focus-visible { outline: 2px solid #be123c; outline-offset: 3px; }
.skip { position: absolute; left: -999px; }
.skip:focus { left: 10px; top: 10px; background: #fff; padding: 8px 12px; }
.bar { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 18px 28px; }
.logo { font-weight: 800; letter-spacing: -0.04em; text-decoration: none; color: inherit; font-size: 20px; }
.bar nav { display: flex; gap: 16px; flex-wrap: wrap; }
.bar nav a { color: #1c1917; text-decoration: none; font-weight: 600; }
.bar nav a[aria-current="page"] { color: #be123c; }
.hero { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 36px; align-items: center; padding: 10px 28px 40px; max-width: 1080px; }
h1 { font-size: 64px; line-height: 0.96; letter-spacing: -0.045em; margin: 0 0 12px; }
.kicker { font-weight: 700; color: #be123c; letter-spacing: 0.14em; font-size: 13px; }
.phone {
  width: 280px; border: 10px solid #1c1917; border-radius: 36px;
  background: #fff; padding: 18px 16px 6px; box-shadow: 0 16px 40px rgba(28,25,23,0.08);
}
.phone i { display: block; width: 84px; height: 8px; border-radius: 8px; background: #1c1917; margin: 0 auto 16px; }
.phone li { list-style: none; border-bottom: 1px solid #ece7e2; padding: 12px 0; }
.phone ul { margin: 0; padding: 0; }
.phone small { color: #78716c; }
main { max-width: 1080px; padding: 0 28px 48px; }
.sub h1 { font-size: 46px; }
h2 { font-size: 28px; letter-spacing: -0.03em; margin: 1.6rem 0 0.4rem; }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.card { background: #fff; border-radius: 28px; padding: 20px; }
.card h2 { margin-top: 0; }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; vertical-align: top; padding: 10px 8px; border-bottom: 1px solid #e7e5e4; }
.cta { display: inline-block; background: #be123c; color: #fff; text-decoration: none; border-radius: 999px; padding: 12px 18px; font-weight: 700; }
.ghost { display: inline-block; margin-left: 8px; border-radius: 999px; padding: 11px 16px; border: 1px solid #1c1917; color: #1c1917; text-decoration: none; }
.crumbs ol { display: flex; gap: 8px; list-style: none; padding: 0; color: #78716c; font-size: 14px; }
.dock { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 16px 28px 28px; border-top: 1px solid #e7e5e4; font-size: 14px; }
::selection { background: #be123c; color: #fff; }
@media (max-width: 800px) {
  .bar { flex-direction: column; align-items: flex-start; gap: 8px; }
  .hero, .split { grid-template-columns: 1fr; }
  h1 { font-size: 40px; }
  .phone { margin: 0 auto; }
}
