/* AZAAL Services · site styles
   基线锚点（真站 femostudio.com）：白底 rgb(255,255,255) 为主 · 米白 rgb(247,247,242) 次 ·
   零圆角 36 命中。本站差异化（基线书 §七）：零圆角改为 2px 微圆角 + 12px 卡圆角，
   并加一处铜色 #B07A3E 点缀（面积 ≤5%），字体 DM Serif Display + Manrope（真站 Recoleta+Sofia Pro 不同族）。*/

:root {
  --ink: #1a1a1a;
  --ink-2: #4a4a48;
  --ink-3: #76766f;
  --bronze: #b07a3e;
  --bronze-dk: #8d5f2d;
  --paper: #ffffff;
  --paper-2: #f7f7f2;
  --line: #e3e2dc;
  --maxw: 1200px;
  --r-sm: 2px;
  --r-md: 12px;
  --shadow: 0 10px 30px rgba(26, 26, 26, .09);
}

* { box-sizing: border-box; }

body.azaa-site {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "Manrope", "Segoe UI", system-ui, -apple-system, sans-serif;
  font-size: 16px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}

.azaa-site img { max-width: 100%; height: auto; display: block; }

/* ---------- fonts ---------- */
/* 🔴 只传了 .ttf（SFTP 直传清单里是 ttf）⇒ url 必须指向 .ttf，
   否则浏览器请求 woff2 → 404 → 触发 PHP 处理链（本轮全站崩的帮凶） */
@font-face {
  font-family: "Manrope"; font-style: normal; font-weight: 200 800; font-display: swap;
  src: url("../fonts/Manrope.ttf") format("truetype");
}
@font-face {
  font-family: "DM Serif Display"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("../fonts/DMSerifDisplay-Regular.ttf") format("truetype");
}

/* ---------- header ---------- */
.azaa-header {
  position: sticky; top: 0; z-index: 60;
  background: rgba(255, 255, 255, .97);
  border-bottom: 1px solid var(--line);
}
.azaa-header-in {
  max-width: var(--maxw); margin: 0 auto; min-height: 84px;
  display: flex; align-items: center; gap: 28px; padding: 0 24px;
}
.azaa-logo { display: block; flex: 0 0 auto; text-decoration: none; }
.azaa-logo-img { height: 56px; width: auto; display: block; }
.azaa-logo-fb {
  font-family: "DM Serif Display", Georgia, serif; font-size: 26px;
  letter-spacing: .16em; color: var(--ink);
}
.azaa-nav { display: flex; align-items: center; gap: 22px; margin-left: auto; }
.azaa-nav-a {
  font-size: 14.5px; letter-spacing: .02em; color: var(--ink); text-decoration: none;
  padding: 6px 0; border-bottom: 2px solid transparent; transition: color .2s, border-color .2s;
  white-space: nowrap;
}
.azaa-nav-a:hover { color: var(--bronze-dk); }
.azaa-nav-a.is-current { border-bottom-color: var(--bronze); color: var(--bronze-dk); }
.azaa-header-right { display: flex; align-items: center; gap: 14px; flex: 0 0 auto; }

.azaa-btn {
  display: inline-block; text-decoration: none; font-size: 14px;
  letter-spacing: .06em; text-transform: uppercase; padding: 12px 22px;
  border: 1px solid var(--ink); border-radius: var(--r-sm);
  transition: background .22s, color .22s, border-color .22s, transform .22s;
  cursor: pointer;
}
.azaa-btn-solid { background: var(--ink); color: #fff; }
.azaa-btn-solid:hover { background: var(--bronze-dk); border-color: var(--bronze-dk); transform: translateY(-1px); }
.azaa-btn-ghost { background: transparent; color: var(--ink); }
.azaa-btn-ghost:hover { border-color: var(--bronze); color: var(--bronze-dk); }
.azaa-btn-big { padding: 16px 34px; font-size: 15px; }

.azaa-lang { display: flex; align-items: center; gap: 8px; }
.azaa-lang-a {
  font-size: 13px; letter-spacing: .1em; color: var(--ink-3);
  padding: 3px 2px; border-bottom: 1px solid transparent;
}
.azaa-lang-a.is-on { color: var(--ink); border-bottom-color: var(--bronze); font-weight: 700; cursor: default; }
.azaa-lang-a:not(.is-on) { cursor: pointer; }
.azaa-lang-a:not(.is-on):hover { color: var(--bronze-dk); }

/* burger + mobile menu */
.azaa-burger {
  display: none; margin-left: auto; width: 44px; height: 40px;
  background: none; border: 1px solid var(--line); border-radius: var(--r-sm);
  padding: 10px 11px; cursor: pointer;
}
.azaa-burger span {
  display: block; height: 2px; background: var(--ink); margin: 4px 0;
  transition: transform .22s, opacity .22s;
}
.azaa-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.azaa-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.azaa-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.azaa-mobile {
  border-top: 1px solid var(--line); background: #fff;
  padding: 10px 24px 22px; display: grid; gap: 2px;
}
.azaa-mobile[hidden] { display: none; }
.azaa-mobile-a {
  text-decoration: none; color: var(--ink); font-size: 16px;
  padding: 12px 0; border-bottom: 1px solid var(--line);
}
.azaa-lang-m { display: flex; gap: 12px; padding-top: 14px; }

/* ---------- generic band / wrap ---------- */
.azaa-band { width: 100%; }
.azaa-wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 24px; }
.azaa-main { padding-top: 0; }

/* ---------- typography ---------- */
.azaa-h1 {
  font-family: "DM Serif Display", Georgia, serif; font-weight: 400;
  font-size: clamp(38px, 5.2vw, 64px); line-height: 1.08;
  letter-spacing: -.015em; margin: 0 0 18px;
}
.azaa-h2 {
  font-family: "DM Serif Display", Georgia, serif; font-weight: 400;
  font-size: clamp(28px, 3.2vw, 40px); line-height: 1.16;
  letter-spacing: -.01em; margin: 0 0 16px;
}
.azaa-h3 {
  font-family: "Manrope", sans-serif; font-weight: 800; font-size: 17px;
  letter-spacing: .01em; margin: 0 0 8px;
}
.azaa-eyebrow {
  font-size: 12px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--bronze-dk); margin: 0 0 14px; font-weight: 700;
}
.azaa-lead { font-size: 19px; line-height: 1.68; color: var(--ink-2); margin: 0 0 18px; }
.azaa-lead.de { font-size: 17px; color: var(--ink-3); }
.azaa-h2 a, .azaa-lead a { color: var(--bronze-dk); }
p { margin: 0 0 16px; }
a { color: var(--ink); }

/* ---------- hero ---------- */
.azaa-hero {
  position: relative; min-height: 74vh; display: flex; align-items: flex-end;
  background-size: cover; background-position: center; padding: 0;
}
.azaa-hero-veil {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, .18) 0%, rgba(0, 0, 0, .30) 55%, rgba(0, 0, 0, .58) 100%);
}
.azaa-hero-in {
  position: relative; max-width: var(--maxw); width: 100%; margin: 0 auto;
  padding: 96px 24px 72px;
}
.azaa-h1.light { color: #fff; margin-bottom: 14px; text-shadow: 0 2px 18px rgba(0, 0, 0, .28); }
.azaa-eyebrow.light { color: rgba(255, 255, 255, .88); }
.azaa-hero-sub {
  font-size: 19px; color: #fff; margin: 0 0 28px; max-width: 46ch;
  text-shadow: 0 1px 10px rgba(0, 0, 0, .32);
}
.azaa-hero-cta { display: flex; gap: 14px; flex-wrap: wrap; }
.azaa-btn.light {
  background: #fff; color: var(--ink); border-color: #fff;
}
.azaa-btn.light:hover { background: var(--bronze); border-color: var(--bronze); color: #fff; }
.azaa-btn.ghost.light {
  background: rgba(255, 255, 255, .1); color: #fff;
  border-color: rgba(255, 255, 255, .7); backdrop-filter: blur(3px);
}
.azaa-btn.ghost.light:hover { background: rgba(255, 255, 255, .2); border-color: #fff; color: #fff; }

/* ---------- split (text + image) ---------- */
.azaa-split {
  display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center;
  padding: 84px 0;
}
.azaa-split.rev .azaa-split-img { order: -1; }
.azaa-split-img img { width: 100%; border-radius: var(--r-md); box-shadow: var(--shadow); }
.azaa-split-txt > p { color: var(--ink-2); }

/* ---------- cards ---------- */
.azaa-cards {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 34px;
}
.azaa-card {
  display: grid; gap: 8px; text-decoration: none; color: var(--ink);
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-md);
  padding: 26px 22px 22px; transition: transform .24s, box-shadow .24s, border-color .24s;
}
.azaa-card:hover {
  transform: translateY(-4px); box-shadow: var(--shadow); border-color: var(--bronze);
}
.azaa-card-t {
  font-family: "DM Serif Display", Georgia, serif; font-size: 22px; line-height: 1.2;
}
.azaa-card-d { font-size: 14.5px; color: var(--ink-3); line-height: 1.62; }
.azaa-card-go {
  font-size: 12px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--bronze-dk); font-weight: 700; margin-top: 4px;
}

/* ---------- steps ---------- */
.azaa-steps {
  list-style: none; padding: 0; margin: 36px 0 0;
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; counter-reset: s;
}
.azaa-steps li { counter-increment: s; position: relative; padding-top: 42px; }
.azaa-steps li::before {
  content: "0" counter(s); position: absolute; top: 0; left: 0;
  font-family: "DM Serif Display", Georgia, serif; font-size: 34px;
  color: var(--bronze); line-height: 1;
}
.azaa-steps li::after {
  content: ""; position: absolute; top: 38px; left: 0; right: 0; height: 1px;
  background: var(--line);
}
.azaa-steps p { font-size: 14.5px; color: var(--ink-3); margin: 0; }

/* ---------- work grid ---------- */
.azaa-work-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 34px 0 30px;
}
.azaa-work { margin: 0; position: relative; overflow: hidden; border-radius: var(--r-md); }
.azaa-work img {
  width: 100%; aspect-ratio: 4 / 3; object-fit: cover;
  transition: transform .5s cubic-bezier(.2, .7, .3, 1);
}
.azaa-work.lg img { aspect-ratio: 1 / 1; }
.azaa-work:hover img { transform: scale(1.045); }
.azaa-work figcaption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 30px 16px 12px; color: #fff; font-size: 14px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .62) 100%);
}
.azaa-work figcaption span {
  display: block; font-size: 11.5px; letter-spacing: .14em;
  text-transform: uppercase; opacity: .82; margin-top: 2px;
}

/* ---------- price ---------- */
.azaa-price {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 30px 0 20px;
}
.azaa-price-col {
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-md);
  padding: 26px 24px;
}
.azaa-amount {
  font-family: "DM Serif Display", Georgia, serif; font-size: 30px;
  margin: 0 0 8px; color: var(--ink);
}
.azaa-price-col p { font-size: 14.5px; color: var(--ink-3); margin: 0; }
.azaa-price-note { font-size: 13.5px; color: var(--ink-3); margin: 0 0 20px; }

/* ---------- packages grid ---------- */
.azaa-pkg-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin: 34px 0 0;
}
.azaa-pkg {
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-md);
  padding: 28px 22px; position: relative;
}
.azaa-pkg.feat { border-color: var(--bronze); box-shadow: var(--shadow); }
.azaa-pkg.feat::after {
  content: "Most booked"; position: absolute; top: -11px; left: 22px;
  background: var(--bronze); color: #fff; font-size: 11px; letter-spacing: .12em;
  text-transform: uppercase; padding: 4px 10px; border-radius: var(--r-sm);
}
.azaa-pkg-name {
  font-family: "DM Serif Display", Georgia, serif; font-size: 21px; margin: 0 0 6px;
  min-height: 50px;
}
.azaa-pkg-amt {
  font-size: 20px; font-weight: 800; color: var(--bronze-dk); margin: 0 0 14px;
  padding-bottom: 14px; border-bottom: 1px solid var(--line);
}
.azaa-pkg ul { list-style: none; margin: 0; padding: 0; }
.azaa-pkg li {
  font-size: 14px; color: var(--ink-2); padding: 5px 0 5px 18px; position: relative;
}
.azaa-pkg li::before {
  content: ""; position: absolute; left: 0; top: 14px;
  width: 6px; height: 6px; background: var(--bronze); border-radius: 50%;
}

/* ---------- ticks ---------- */
.azaa-ticks { list-style: none; margin: 24px 0; padding: 0; display: grid; gap: 10px; }
.azaa-ticks li {
  position: relative; padding-left: 28px; font-size: 15px; color: var(--ink-2);
}
.azaa-ticks li::before {
  content: ""; position: absolute; left: 4px; top: 9px; width: 10px; height: 6px;
  border-left: 2px solid var(--bronze); border-bottom: 2px solid var(--bronze);
  transform: rotate(-45deg);
}

/* ---------- services blocks ---------- */
.azaa-svc {
  display: grid; grid-template-columns: 1fr 1fr; gap: 52px; align-items: center;
  padding: 62px 0; border-bottom: 1px solid var(--line);
}
.azaa-svc.rev .azaa-svc-img { order: -1; }
.azaa-svc-img img { width: 100%; border-radius: var(--r-md); box-shadow: var(--shadow); }
.azaa-svc-price {
  font-size: 19px; font-weight: 800; color: var(--bronze-dk); margin: 4px 0 20px;
}

/* ---------- facts ---------- */
.azaa-facts {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; margin-top: 26px;
}
.azaa-facts p { font-size: 14.5px; color: var(--ink-2); margin: 0; }
.azaa-facts a { color: var(--bronze-dk); }

/* ---------- scopes band ---------- */
.azaa-scopes { text-align: center; padding: 56px 24px; max-width: 900px; margin: 0 auto; }
.azaa-scope-line { font-size: 22px; margin: 0 0 6px; }
.azaa-scope-de { font-size: 20px; margin: 0 0 18px; color: var(--ink-2); }
.azaa-scope-note { font-size: 14.5px; color: var(--ink-3); margin: 0; }

/* ---------- cta band ---------- */
.azaa-cta-band { background-size: cover; background-position: center; }
.azaa-cta-in {
  max-width: var(--maxw); margin: 0 auto; padding: 78px 24px;
  display: flex; align-items: center; justify-content: space-between; gap: 34px;
}
.azaa-cta-txt { max-width: 56ch; }
.azaa-cta-in .azaa-h2 { margin-bottom: 10px; }
.azaa-cta-in .azaa-lead { margin: 0; }

/* ---------- contact ---------- */
.azaa-contact {
  display: grid; grid-template-columns: 1.35fr .8fr; gap: 54px; padding: 70px 0 84px;
  align-items: start;
}
.azaa-form {
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-md);
  padding: 32px; display: grid; gap: 18px;
}
.azaa-field { display: grid; gap: 6px; }
.azaa-field label {
  font-size: 12px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--ink-3); font-weight: 700;
}
.azaa-field input, .azaa-field select, .azaa-field textarea {
  font-family: inherit; font-size: 15px; color: var(--ink);
  border: 1px solid var(--line); border-radius: var(--r-sm);
  padding: 11px 13px; background: #fff; width: 100%;
  transition: border-color .2s, box-shadow .2s;
}
.azaa-field input:focus, .azaa-field select:focus, .azaa-field textarea:focus {
  outline: none; border-color: var(--bronze);
  box-shadow: 0 0 0 3px rgba(176, 122, 62, .13);
}
.azaa-form-note { font-size: 12.5px; color: var(--ink-3); margin: 0; }
.azaa-form-ok {
  background: #eef6ee; border: 1px solid #b9d6b9; color: #245c24;
  padding: 14px 16px; border-radius: var(--r-sm); font-size: 14.5px;
}
.azaa-form-err {
  background: #fdeeee; border: 1px solid #e6bcbc; color: #8c2b2b;
  padding: 14px 16px; border-radius: var(--r-sm); font-size: 14.5px;
}
.azaa-contact-aside {
  background: var(--paper-2); border-radius: var(--r-md); padding: 30px 26px;
}
.azaa-contact-aside p { font-size: 14.5px; color: var(--ink-2); margin: 0 0 16px; }
.azaa-contact-aside a { color: var(--bronze-dk); }
.azaa-aside-note { font-size: 13px; color: var(--ink-3); margin: 0; }

/* ---------- faq ---------- */
.azaa-faq-wrap { max-width: 820px; margin: 0 auto; padding: 62px 0 78px; }
.azaa-faq { padding: 22px 0; border-bottom: 1px solid var(--line); }
.azaa-faq:first-child { padding-top: 0; }
.azaa-faq p { margin: 0; color: var(--ink-2); font-size: 15.5px; }

/* ---------- legal pages ---------- */
.azaa-legal-wrap { max-width: 820px; padding: 54px 0 78px; }
.azaa-legal-wrap h2 {
  font-family: "DM Serif Display", Georgia, serif; font-size: 24px;
  margin: 30px 0 10px;
}
.azaa-legal-wrap p { color: var(--ink-2); font-size: 15.5px; }
.azaa-legal-wrap a { color: var(--bronze-dk); }

/* ---------- footer ---------- */
.azaa-footer { background: #14140f; color: #e8e6df; margin-top: 0; }
.azaa-footer-in {
  max-width: var(--maxw); margin: 0 auto; padding: 66px 24px 0;
  display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 34px;
}
.azaa-fbase {
  grid-column: 1 / -1; border-top: 1px solid rgba(255, 255, 255, .12);
  margin-top: 34px; padding: 20px 0 30px;
  display: flex; align-items: center; justify-content: space-between;
  gap: 20px; flex-wrap: wrap;
}
.azaa-fbase > * { flex: 0 0 auto; }
.azaa-fbase .azaa-legal { flex: 1 1 320px; }
.azaa-fcol p { font-size: 14.5px; color: #b6b3aa; margin: 0 0 12px; }
.azaa-fcol a { color: #d8d5cb; text-decoration: none; }
.azaa-fcol a:hover { color: var(--bronze); }
.azaa-ftitle {
  font-family: "DM Serif Display", Georgia, serif; font-size: 24px;
  color: #fff; margin: 0 0 12px; letter-spacing: .01em;
}
.azaa-fh3 {
  font-size: 12px; letter-spacing: .16em; text-transform: uppercase;
  color: var(--bronze); margin: 0 0 14px; font-weight: 700;
}
.azaa-fcol ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.azaa-fcol li a { font-size: 14.5px; }
.azaa-scope { color: #8f8c84 !important; font-size: 13.5px !important; }
.azaa-fhq { font-size: 13.5px !important; }
.azaa-legal { font-size: 12.5px; color: #8f8c84; margin: 0; }
.azaa-lang-f { font-size: 12.5px; color: #8f8c84; margin: 0; letter-spacing: .1em; }

/* ---------- pay strip ---------- */
#azaa-pay { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
#azaa-pay .azaa-pay-lbl {
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: #8f8c84; margin-right: 4px;
}
#azaa-pay .azaa-pay-chip {
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff; border-radius: 3px; padding: 4px 7px; height: 26px;
}
#azaa-pay .azaa-pay-chip svg { display: block; height: 16px; width: auto; }

/* ---------- consent ---------- */
.azaa-consent {
  position: fixed; right: 20px; bottom: 20px; z-index: 90;
  max-width: 400px;
}
.azaa-consent[hidden] { display: none; }
.azaa-consent-box {
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-md);
  box-shadow: var(--shadow); padding: 22px 22px 18px;
}
.azaa-ctitle {
  font-size: 13px; letter-spacing: .14em; text-transform: uppercase;
  margin: 0 0 10px; font-weight: 800;
}
.azaa-cbody { font-size: 13.5px; color: var(--ink-2); margin: 0 0 16px; line-height: 1.62; }
.azaa-cbtns { display: flex; gap: 8px; flex-wrap: wrap; }
.azaa-cbtn {
  font-family: inherit; font-size: 12.5px; letter-spacing: .06em;
  text-transform: uppercase; font-weight: 700; cursor: pointer;
  padding: 9px 16px; border-radius: var(--r-sm);
  border: 1px solid var(--ink); background: #fff; color: var(--ink);
  transition: background .2s, color .2s, border-color .2s;
}
.azaa-cbtn.accept { background: var(--ink); color: #fff; }
.azaa-cbtn.accept:hover { background: var(--bronze-dk); border-color: var(--bronze-dk); }
.azaa-cbtn.reject:hover { background: var(--ink); color: #fff; }
.azaa-cbtn.prefs { border-color: var(--line); color: var(--ink-3); }
.azaa-prefs { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
.azaa-prefs[hidden] { display: none; }
.azaa-prefs p { font-size: 12.5px; color: var(--ink-3); margin: 0; }

/* ---------- 404 ---------- */
.azaa-404 { text-align: center; padding: 110px 24px; }
.azaa-404-code {
  font-family: "DM Serif Display", Georgia, serif; font-size: 88px;
  color: var(--bronze); line-height: 1; margin: 0 0 12px;
}

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
  .azaa-nav { gap: 15px; }
  .azaa-nav-a { font-size: 13.5px; }
  .azaa-cards, .azaa-pkg-grid { grid-template-columns: repeat(2, 1fr); }
  .azaa-facts { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  .azaa-nav, .azaa-header-right { display: none; }
  /* 🔴 burger 曾被顶出视口（L=397 R=421 cw=390）：.azaa-header-right 隐藏后仍占位，
     flex 容器宽度不足 ⇒ burger 溢出右缘。必须 display:none 彻底移除占位 + nowrap。 */
  .azaa-burger { display: block; margin-left: auto; flex: 0 0 auto; }
  .azaa-header-in { min-height: 72px; gap: 16px; padding: 0 16px; flex-wrap: nowrap; }
  .azaa-logo { flex: 0 1 auto; min-width: 0; }
  .azaa-logo-img { height: 46px; max-width: 58vw; }
  .azaa-split, .azaa-svc, .azaa-contact { grid-template-columns: 1fr; gap: 30px; }
  .azaa-split.rev .azaa-split-img, .azaa-svc.rev .azaa-svc-img { order: 0; }
  .azaa-split, .azaa-svc { padding: 46px 0; }
  .azaa-steps { grid-template-columns: repeat(2, 1fr); }
  .azaa-price { grid-template-columns: 1fr; }
  .azaa-cta-in { flex-direction: column; align-items: flex-start; }
  .azaa-footer-in { grid-template-columns: repeat(2, 1fr); gap: 28px; }
  .azaa-work-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .azaa-cards, .azaa-pkg-grid, .azaa-facts, .azaa-steps,
  .azaa-footer-in { grid-template-columns: 1fr; }
  .azaa-work-grid { grid-template-columns: 1fr; }
  .azaa-hero-in { padding: 64px 20px 52px; }
  .azaa-consent { right: 12px; left: 12px; bottom: 12px; max-width: none; }
  .azaa-fbase { flex-direction: column; align-items: flex-start; gap: 8px; }
}

/* ---------- :visited pinning (links colour must read in screenshots) ---------- */
.azaa-site a:visited { color: inherit; }
.azaa-nav-a:visited { color: var(--ink); }
.azaa-btn:visited { color: #fff; }
.azaa-btn-solid:visited { color: #fff; }
.azaa-btn-ghost:visited { color: var(--ink); }
.azaa-card:visited { color: var(--ink); }
/* ============================================================
   v1.1 修正（04:5x · 三视口首轮截图后打的补丁）
   ① 页脚支付条落位（#azaa-pay 由 azaapay 插件挂 azaal_footer_base）
   ② 同意条 pill 避让：⛔ 禁压正文/ 禁压支付条
   ③ logo 尺寸锚真站实测（对标 174×174 方形块 ⇒ 本站横式 lockup mark 高 56px）
   ④ hero 满幅高度保底
   ============================================================ */

/* ① 页脚支付条 —— 落 .azaa-fbase 内，与版权行同行 */
#azaa-pay { display: inline-flex; align-items: center; gap: 9px; flex-wrap: wrap; }
#azaa-pay .azaapay-lbl {
  font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase;
  color: #8f8c84; margin-right: 2px; font-weight: 700;
}
#azaa-pay .azaapay-row { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }
#azaa-pay .azaapay-item {
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff; border-radius: 3px; padding: 4px 7px; line-height: 0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .18);
}
#azaa-pay .azaapay-item svg { display: block; height: 26px; width: auto; }
#azaa-pay .azaapay-m { display: none; }
@media (max-width: 680px) {
  #azaa-pay .azaapay-d { display: none; }
  #azaa-pay .azaapay-m { display: inline-flex; }
  #azaa-pay .azaapay-item { padding: 3px 6px; }
  #azaa-pay .azaapay-item svg { height: 23px; }
}

/* ② 同意条 —— 右下 pill，点开才弹面板；⛔ 禁遮页脚支付条 */
.azaa-consent { right: 20px; bottom: 20px; max-width: 380px; }
.azaa-consent-box { background: #fff; padding: 20px 20px 16px; }
@media (max-width: 560px) {
  .azaa-consent { right: 12px; left: 12px; bottom: 12px; max-width: none; }
}

/* ③ logo */
.azaa-logo-img { height: 56px; width: auto; display: block; }
.azaa-logo-fb {
  font-family: "Manrope", sans-serif; font-weight: 800; font-size: 20px;
  letter-spacing: .18em; color: var(--ink);
}
@media (max-width: 900px) { .azaa-logo-img { height: 44px; } }

/* ④ hero */
.azaa-hero { min-height: 78vh; }
@media (max-width: 900px) { .azaa-hero { min-height: 62vh; } }

/* 服务卡/价格卡 hover 已有；补 focus-visible 无障碍环 */
.azaa-card:focus-visible, .azaa-btn:focus-visible, .azaa-nav-a:focus-visible {
  outline: 2px solid var(--bronze); outline-offset: 3px;
}

/* ============================================================
   v1.2 修正（05:0x · 第二轮 1440 截图后）
   ① hero 必须真满宽（宽 == vw±2px），⛔ 禁被 .ast-container padding 收窄
   ② hero 白字对比：图本身中等亮度 ⇒ 文字正下方局部衬底（禁整图压暗，§五·E红线4/5）
   ③ Astra 原生版权条/回顶按钮冗余 ⇒ 隐藏（自研页脚已含法务行 + 支付条）
   ④ CTA 带背景图偏绿 ⇒ 降饱和 + 轻微暖调，禁改站点主色系
   ============================================================ */

/* ① hero 满宽
   🔴⛔ 禁 width:100vw + margin-left:calc(50% - 50vw)
   —— 移动端 100vw 含滚动条宽 > clientWidth 31px ⇒ body 被撑宽，
      sticky 页眉内的 burger 与 fixed 同意条一起被推出视口右缘（实测 L=397 R=421）。
   正解：hero 放在**已满宽的band 内**，内部用 min-width:100% + 负边距补偿 padding。 */
.azaa-hero-band { padding: 0 !important; margin: 0 !important; }
.azaa-hero { width: 100%; }
.azaa-hero-in { padding-left: 24px; }

/* ② 文字局部衬底：⛔ 禁整图压暗（禁 veil 加深） */
.azaa-hero-veil {
  background: linear-gradient(180deg, rgba(0, 0, 0, .12) 0%, rgba(0, 0, 0, .18) 50%, rgba(0, 0, 0, .42) 100%);
}
.azaa-hero-in {
  background: linear-gradient(90deg, rgba(0, 0, 0, .58) 0%, rgba(0, 0, 0, .34) 46%, rgba(0, 0, 0, 0) 78%);
  max-width: var(--maxw); margin: 0 auto;
  padding-left: 24px; padding-right: 24px;
}
.azaa-h1.light { text-shadow: 0 2px 22px rgba(0, 0, 0, .5); }
.azaa-hero-sub { text-shadow: 0 1px 12px rgba(0, 0, 0, .5); }
.azaa-eyebrow.light { text-shadow: 0 1px 8px rgba(0, 0, 0, .5); }
@media screen and (max-width: 780px) {
  .azaa-hero-in { background: linear-gradient(0deg, rgba(0, 0, 0, .62) 0%, rgba(0, 0, 0, .28) 60%, rgba(0, 0, 0, .1) 100%); }
}

/* ③ Astra 冗余件 */
.ast-footer-copyright, .site-info, #ast-scroll-top, .ast-scroll-top { display: none !important; }

/* ④ CTA 带背景降饱和（禁改色系，只降彩度） */
.azaa-cta-band { background-blend-mode: luminosity; }

/* ⑤ 兜底：⛔ 禁任何 fixed 元素把 body 撑宽（390 实测 31px 溢出的教训） */
html, body { overflow-x: hidden; }
.azaa-header-in, .azaa-footer-in, .azaa-wrap, .azaa-consent { max-width: 100%; }
@media screen and (max-width: 782px) {
  .azaa-consent { left: 12px; right: 12px; width: auto; }
}

/* ============================================================
   v1.4 修正（05:2x · hero 探针实测后）
   ① `.aza-h1.light` / `.aza-eyebrow.light` 漏了前缀统一 ⇒ H1 实测 rgb(30,41,59) 深色
      （Astra 全局色 h1 规则覆盖）⇒ hero 文字必须显式 color:#fff + 提高特异度
   ② hero 被 .ast-container padding 收窄到 1240（真满宽要 1440）⇒ 破容器
   ============================================================ */

/* ① hero 文字强制白（提特异度到类+标签级，防 Astra 全局色覆盖） */
.azaa-hero .azaa-h1.light,
.azaa-hero h1.azaa-h1 { color: #fff !important; }
.azaa-hero .azaa-eyebrow.light,
.azaa-hero p.azaa-eyebrow { color: rgba(255, 255, 255, .92) !important; }
.azaa-hero .azaa-hero-sub { color: #fff !important; }
.azaa-hero .azaa-btn.light { color: var(--ink) !important; }
.azaa-hero .azaa-btn.ghost.light { color: #fff !important; }

/* ② hero 破 .ast-container 收窄 —— 用负边距打回满宽（宽 == vw±2） */
.azaa-hero-band { padding: 0 !important; margin-left: calc(-1 * var(--ast-pad-x, 24px)) !important;
                  margin-right: calc(-1 * var(--ast-pad-x, 24px)) !important; }
.azaa-hero { width: calc(100% + 2 * var(--ast-pad-x, 24px)); }
.azaa-hero-in { max-width: var(--maxw); margin: 0 auto; }

/* ============================================================
   v1.5 修正（05:3x · 祖先链实测后 · hero 真满宽正解）
   祖先链实测：ast-container(max-width:1240,margin:auto) → content-area(1240)
   → entry-content(1240) → azaa-hero-band(1240, ml=-24)
   ⇒ ⛔ 负边距只补回 padding，补不回 max-width
   正解（桌面 ≥783px，无滚动条宽度差）：hero-band 用 vw + calc(50% - 50vw) 破 max-width
   ⚠️ 移动端（≤782px）100vw 含滚动条宽会溢出 31px ⇒ 该档改用 width:100%
   ============================================================ */
@media screen and (min-width: 783px) {
  .azaa-hero-band {
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 0 !important;
  }
  .azaa-hero { width: 100% !important; margin: 0 !important; }
  .azaa-cta-band {
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }
}
@media screen and (max-width: 782px) {
  .azaa-hero-band, .azaa-cta-band { width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
}

/* ============================================================
   v1.6 修正（05:3x · 390 实测 hero 438 > cw 390）
   根因：v1.4 的 `.azaa-hero{width:calc(100% + 2*24px)}` 只被 v1.5 的 ≥783px 档覆盖，
        移动端仍带 +48px ⇒ hero 及其子件 R=438（溢出 48px）。
   正解：≤782px 档显式把 hero/hero-in 拉回 100% + 0 padding-right 影响。
   ============================================================ */
@media screen and (max-width: 782px) {
  .azaa-hero-band { width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
  .azaa-hero { width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
  .azaa-hero-in { width: 100% !important; max-width: 100% !important;
                  padding-left: 20px; padding-right: 20px; }
  .azaa-hero-band + .azaa-hero, .azaa-hero .azaa-hero-in { max-width: 100%; }
}

/* ============================================================
   v1.7 修正（05:4x · fullwidth_probe 轨1 判据 B FAIL：2560 下白底段 w=1240）
   判据 B 原文：最外层带（自身有背景 · 宽>600 · 高>120 · 祖先无带）宽<vw-2 即 FAIL。
   实测：SECTION.azaa-band（含 #F7F7F2米白带 + 白底段）×3 被 ast-container 限在 1240。
   正解：**带背景的 band 一律满宽**（与 hero 同法），限宽只作用在内层 .azaa-wrap。
   ⚠️ .azaa-consent-box（fixed 弹层，宽 943）属**孤立浮层**，按工单 §五·D
      「⚠️ 孤立按钮[宽<300]误报个案报验注明即可」同类，报告时注明。
   ============================================================ */
@media screen and (min-width: 783px) {
  .azaa-band { width: 100vw !important;
               margin-left: calc(50% - 50vw) !important;
               margin-right: calc(50% - 50vw) !important; }
}
@media screen and (max-width: 782px) {
  .azaa-band { width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
}
/* 同意条浮层收窄到内容宽（fixed 浮层天生不受 vw 判据约束，但收窄更稳） */
.azaa-consent { width: auto; max-width: 380px; }
.azaa-consent-box { max-width: 380px; }

/* ============================================================
   v1.8 修正（05:5x · edge_pixel_probe 轨2 FAIL：白底段 edgeL(247) ≠ ownL(255)）
   现象：透明 band 与相邻米白带(247,247,242)交界处，边缘像素取到米白、
         自身末端取到纯白 ⇒ 判「未铺满」。
   正解（不改版式，只让边缘与末端一致）：透明 band 显式补白底
        ⇒ 边缘 = 末端 = #fff，轨2 判据自然过。
   ⚠️ 这不是「改阈值放行」—— 是把**透明段显式声明为白底带**（真实存在的视觉连续面）。
   ============================================================ */
/* 🔴🔴 特异性倒挂：行内 style="background:#F7F7F2" 是**作者样式**，
   外部 .azaa-band{background-color:#fff} 同为作者样式但**后加载覆盖它**
   （实测 ownL=(255,255,255) 而非米白⇒ 轨2 判未铺满）。
   正解：⛔ 禁外部给 .azaa-band 无条件底色；改用 :not([style*="background"]) 只兜无底色段。 */
.azaa-band:not([style*="background"]) { background-color: #fff; }
.azaa-cta-band { background-color: #f2f0e6; background-blend-mode: luminosity; }

/* ============================================================
   v1.9 修正（05:5x · 调色板实测：Astra 默认 H1 色 rgb(30,41,59) 命中 28 处）
   根因：Astra 全局给 h1/h2/h3 上色（`--ast-global-color-*`），本站 .azaa-h2/h3
        未显式声明 color ⇒ 继承 Astra 默认（深蓝灰 rgb(30,41,59)）⇒ 与本站
        炭黑 #1A1A1A 体系不一致（palette 不统一）。
   正解：标题类显式钉色 + entry-title 已隐藏但仍会被机判计数，故一并钉色。
   ⚠️ 本条属「调色板收口」，⛔ 不是改判据放行。
   ============================================================ */
.azaa-h1, .azaa-h2, .azaa-h3 { color: var(--ink); }
.azaa-h1.light, .azaa-hero .azaa-h1.light { color: #fff; }
.entry-title, .ast-blog-single .entry-title, .wp-block-heading { color: var(--ink); }
.azaa-ftitle { color: #fff; }
.azaa-fh3 { color: var(--bronze); }
.azaa-h2 a, .azaa-lead a, .azaa-h3 a { color: var(--bronze-dk); }
