:root { --bg:#0c0b09; --bg2:#14120e; --gold:#c9a65a; --gold-dim:#967c46; --cream:#e8e0cd; --grey:#787062; }
* { margin:0; padding:0; box-sizing:border-box; }
body { background:var(--bg); color:var(--cream); font-family:Baskerville, 'Times New Roman', serif; line-height:1.6; }
.wrap { max-width:1200px; margin:0 auto; padding:0 32px; }
header { display:flex; justify-content:space-between; align-items:center; padding:22px 0; }
.logo { display:flex; align-items:center; gap:14px; text-decoration:none; }
.logo img { width:44px; height:44px; border-radius:50%; }
.logo .name { font-size:20px; letter-spacing:5px; color:var(--cream); }
.logo .name span { color:var(--gold); }
nav a { color:var(--grey); text-decoration:none; margin-left:34px; font-size:14px; letter-spacing:2px; }
nav a:hover, nav a.on { color:var(--gold); }
.hero { text-align:center; padding:64px 0 40px; }
.hero h1 { font-size:56px; font-style:italic; font-weight:normal; }
.hero p.sub { color:var(--grey); font-size:20px; margin:18px 0 34px; }
.hero video { width:100%; max-width:960px; border:1px solid #2a251c; }
.cta { display:inline-block; margin-top:28px; padding:15px 44px; border:1px solid var(--gold); color:var(--gold); text-decoration:none; letter-spacing:3px; font-size:14px; }
.cta:hover { background:var(--gold); color:var(--bg); }
.cta.solid { background:var(--gold); color:var(--bg); }
section { padding:72px 0; }
.eyebrow { color:var(--gold-dim); letter-spacing:4px; font-size:13px; text-align:center; margin-bottom:10px; }
h2 { text-align:center; font-size:36px; font-style:italic; font-weight:normal; margin-bottom:36px; }
h2.left, .eyebrow.left { text-align:left; }
.howimg { width:100%; border:1px solid #2a251c; }
.steps { display:flex; gap:40px; margin-top:44px; }
.step { flex:1; text-align:center; }
.step .n { color:var(--gold); font-size:28px; font-style:italic; }
.step h3 { font-weight:normal; font-size:20px; margin:8px 0 6px; }
.step p { color:var(--grey); font-size:14.5px; }
.pkgs { display:flex; gap:26px; flex-wrap:wrap; }
.pkg { flex:1 1 300px; background:var(--bg2); border:1px solid #2a251c; }
.pkg img, .pkg video { width:100%; display:block; }
.pkg .body { padding:22px; }
.pkg h3 { font-weight:normal; font-size:21px; }
.pkg .occ { color:var(--gold-dim); font-size:12.5px; letter-spacing:3px; margin-bottom:5px; }
.pkg p { color:var(--grey); font-size:14px; margin:9px 0 14px; }
.pkg .price { color:var(--gold); font-size:24px; }
.pkg .len { color:var(--grey); font-size:13px; margin-left:8px; }
.pkg .soon { color:var(--grey); letter-spacing:2px; font-size:13px; }
.band { background:var(--bg2); border-top:1px solid #2a251c; border-bottom:1px solid #2a251c; text-align:center; }
.band p { color:var(--grey); max-width:660px; margin:0 auto 24px; }
.band a.mail { color:var(--gold); text-decoration:none; letter-spacing:2px; border-bottom:1px solid var(--gold-dim); }
table.tiers { width:100%; border-collapse:collapse; margin-top:10px; }
table.tiers th, table.tiers td { border:1px solid #2a251c; padding:14px 18px; text-align:left; font-size:15px; }
table.tiers th { color:var(--gold-dim); letter-spacing:2px; font-size:13px; font-weight:normal; }
table.tiers td.y { color:var(--gold); }
table.tiers td.dim { color:var(--grey); }
.form { max-width:760px; margin:0 auto; }
.form .row { margin-bottom:26px; }
.form label { display:block; color:var(--gold-dim); letter-spacing:2px; font-size:13px; margin-bottom:8px; }
.form input[type=text], .form select { width:100%; background:var(--bg2); border:1px solid #2a251c; color:var(--cream); padding:13px 14px; font-family:inherit; font-size:16px; }
.slots { display:flex; gap:16px; }
.slot { flex:1; border:1px dashed #3a331f; padding:26px 10px; text-align:center; color:var(--grey); font-size:13.5px; }
.slot b { display:block; color:var(--cream); font-size:15px; font-weight:normal; margin-bottom:4px; }
.note { color:var(--grey); font-size:13.5px; }
.about { display:flex; gap:48px; align-items:center; }
.about .txt { flex:1.2; }
.about .txt p { color:var(--grey); margin-bottom:16px; font-size:16px; }
.about img { flex:1; max-width:420px; border:1px solid #2a251c; }
.faq h3 { font-weight:normal; font-size:19px; margin:26px 0 6px; color:var(--cream); }
.faq p { color:var(--grey); font-size:15px; }
footer { padding:46px 0 64px; color:#565044; font-size:13px; text-align:center; }
footer .line { max-width:820px; margin:0 auto 8px; }
footer a { color:var(--gold-dim); text-decoration:none; }

/* ─────────── 手机版(≤760px) ─────────── */
img, video { max-width: 100%; height: auto; }
body { overflow-x: hidden; }
@media (max-width: 760px) {
  .wrap { padding: 0 18px; }
  header { flex-direction: column; gap: 14px; padding: 18px 0 6px; }
  .logo { justify-content: center; }
  .logo .name { font-size: 17px; letter-spacing: 3px; }
  .logo img { width: 38px; height: 38px; }
  nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 20px; width: 100%; }
  nav a { margin-left: 0 !important; font-size: 13px; }
  nav a.cta { margin-left: 0 !important; width: 100%; text-align: center; padding: 13px 0 !important; margin-top: 4px; }
  .hero { padding: 30px 0 24px; }
  .hero h1 { font-size: 32px; line-height: 1.25; }
  .hero p.sub { font-size: 16px; margin: 14px 0 24px; }
  .hero .cta { display: block; margin: 12px 0 0; }
  h2 { font-size: 25px; margin-bottom: 26px; }
  h2 + .note { font-size: 14px; }
  section { padding: 46px 0; }
  .eyebrow { font-size: 12px; letter-spacing: 3px; }
  .steps { flex-direction: column; gap: 28px; margin-top: 34px; }
  .pkgs { flex-direction: column; gap: 20px; }
  .pkg { flex: 1 1 auto; }
  .about { flex-direction: column; }
  .about img { max-width: 100%; }
  .slots { flex-direction: column; }
  table.tiers { display: block; overflow-x: auto; white-space: nowrap; }
  table.tiers th, table.tiers td { padding: 11px 13px; font-size: 14px; }
  .band p { font-size: 15px; }
  footer { padding: 40px 0 54px; }
  .form .row > div[style*="flex:1"] { width: 100%; }
  .form .row[style*="display:flex"] { flex-direction: column; gap: 0 !important; }
}
@media (max-width: 420px) {
  .hero h1 { font-size: 27px; }
  h2 { font-size: 22px; }
  .logo .name { font-size: 15px; letter-spacing: 2px; }
}
