/* 页面组合层：共享控件和色板均来自 common / tokens。 */
.site-video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; background: var(--site-carbon); border-radius: var(--site-radius); }
.site-video-section > h2 { text-align: center; }
.site-why-copy { display: grid; gap: 30px; margin-block-start: 40px; }
.site-research-list { display: grid; gap: 30px; margin-block-start: 40px; }
.site-feedback-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
.site-feedback { display: flex; flex-direction: column; }
.site-feedback figcaption { display: grid; gap: 2px; }
.site-feedback figcaption strong { color: var(--site-warm-250); font-size: 18px; line-height: 25px; font-weight: 500; }
.site-feedback figcaption span { font-size: 14px; line-height: 20px; color: var(--site-warm-240); }
.site-feedback blockquote { color: var(--site-warm-220); font-size: 14px; line-height: 20px; margin-block-start: 10px; min-height: 80px; flex: 1; }
.site-stars { display: flex; gap: 4px; margin-block-start: 20px; }
.site-stars img { display: block; width: 16px; height: 16px; }
.site-capabilities { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.site-capabilities article { display: grid; grid-template-rows: minmax(72px, auto) 1fr; align-content: start; gap: 10px; min-height: 260px; padding: 20px; background: var(--site-surface); border: 1px solid var(--site-line); border-radius: var(--site-radius); }
.site-capabilities h3 { font-size: 18px; line-height: 24px; font-weight: 500; }
.site-capabilities p { font-size: 14px; line-height: 20px; }
.site-stack > header.site-maya-heading { display: block; }
.site-maya-heading h2 { margin-block-end: 20px; }
.site-intake-card { width: 100%; min-height: 240px; padding: 40px; background: var(--site-surface); border-radius: var(--site-radius); align-content: center; }
.site-intake-card .site-brand-form { height: 40px; margin-block-start: 30px; }
.site-steps { padding: 0; margin: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 40px; }
.site-steps li { padding-block-start: 24px; border-block-start: 1px solid var(--site-line); font-size: 14px; line-height: 20px; }
.site-steps h3 { margin-block-end: 10px; font-size: 16px; line-height: 24px; }
.site-steps p { font-weight: 400; }
.site-reports { display: grid; gap: 20px; }
.site-report { display: grid; grid-template-columns: minmax(0, 1fr) 100px; gap: 20px; min-height: 220px; border: 1px solid var(--site-line); border-radius: var(--site-radius); padding: 20px; background: var(--site-surface); }
.site-report-copy { min-width: 0; }
.site-report h2 { font-size: 40px; line-height: 48px; color: var(--site-teal); }
.site-report header p { color: var(--site-warm-220); font-size: 14px; line-height: 20px; }
.site-report-copy > p { color: var(--site-warm-240); font-size: 14px; line-height: 20px; margin-block: 20px; }
.site-report-button { display: inline-flex; align-items: center; justify-content: center; width: min(180px, 100%); min-height: 32px; padding: 6px 12px; border-radius: var(--site-radius); font-size: 14px; line-height: 20px; text-decoration: none; background: var(--site-surface-hover); color: var(--site-text); }
.site-report-button:hover { background: var(--site-teal); color: var(--site-black); }
.site-score { display: grid; align-content: start; justify-items: end; gap: 2px; font-family: var(--site-font-data); }
.site-score p { display: flex; align-items: baseline; white-space: nowrap; }
.site-score strong { font-size: 40px; line-height: 48px; font-weight: 500; color: var(--site-teal); }
.site-score p > span { color: var(--site-warm-220); font-size: 20px; line-height: 28px; }
.site-score > span { color: var(--site-warm-220); font-size: 12px; line-height: 17px; white-space: nowrap; }
.site-faqs details { border-block-start: 1px solid var(--site-line); }
.site-faqs details:last-child { border-block-end: 1px solid var(--site-line); }
.site-faqs summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px; cursor: pointer; min-height: 64px; list-style: none; font-size: 16px; line-height: 24px; font-weight: 500; }
.site-faqs summary::-webkit-details-marker { display: none; }
.site-faq-arrow { width: 32px; height: 32px; stroke-width: .8; flex-shrink: 0; color: var(--site-warm-240); }
.site-faqs details[open] .site-faq-arrow { transform: rotate(180deg); }
.site-faqs details[open] summary { background: linear-gradient(var(--site-surface), var(--site-surface)) center / 100% 36px no-repeat; }
.site-faq-answer { padding: 10px 20px 32px; color: var(--site-warm-220); font-size: 14px; line-height: 20px; }
.site-faq-answer:empty { padding: 0; }
[data-site-page="pricing"] .site-page-heading { margin-block-end: 40px; }
.site-pricing-intro { max-width: 820px; line-height: 30px; }
.site-pricing-intro a { display: inline-block; white-space: nowrap; text-decoration: none; }
.site-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
.site-plan { position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 540px; padding: 20px; border: 1px solid var(--site-line); border-radius: var(--site-radius); background: var(--site-surface); font-size: 14px; line-height: 24px; font-weight: 400; }
.site-plan-featured { border-color: var(--site-input-line); }
.site-plan:hover { border-color: var(--site-input-line); background: var(--site-surface-hover); }
.site-plan header { display: grid; gap: 2px; min-height: 74px; padding-block-end: 20px; border-block-end: 1px solid var(--site-line); }
.site-plan h3, .site-plan h2 { color: var(--site-white); font-size: 24px; line-height: 32px; letter-spacing: 0; }
.site-plan header p { color: var(--site-blue-190); font-size: 14px; line-height: 20px; font-weight: 400; }
.site-plan-badge { font-weight: 600; position: absolute; inset: 8px 8px auto auto; font-size: 12px; line-height: 18px; padding: 1px 12px; border-radius: 6px; background: var(--site-blue-160); color: var(--site-white); }
.site-price { font-family: var(--site-font-data); font-size: 28px; font-weight: 600; line-height: 40px; margin-block: 10px; }
.site-price small { font-size: 18px; font-weight: 400; }
.site-plan-included, .site-plan-detail { color: var(--site-warm-240); font-weight: 400; }
.site-plan-points, .site-plan-notes, .site-plan-addons { margin: 0; padding-inline-start: 20px; }
.site-plan-notes, .site-plan-addons { margin-block-start: 24px; }
.site-plan-points li, .site-plan-notes li, .site-plan-detail li { font-size: 14px; line-height: 24px; font-weight: 400; }
.site-plan-tax { margin-block: auto 20px; padding-block-start: 24px; color: var(--site-blue-190); text-align: center; }
.site-plan > .site-button { margin-block-start: auto; min-height: 40px; padding-block: 8px; line-height: 22px; font-weight: 600; }
.site-plan-tax + .site-button { margin-block-start: 0; }
.site-plan-detail { position: relative; margin-block-start: 20px; padding-block-start: 20px; }
.site-plan-detail::before { content: ""; position: absolute; inset: 0 10px auto; border-block-start: 1px solid var(--site-blue-130); }
.site-plan:is(:hover, :focus-within) header { border-block-end-color: var(--site-blue-160); }
.site-plan:is(:hover, :focus-within) .site-plan-detail::before { border-block-start-color: var(--site-blue-160); }
.site-plan-detail h3 { color: var(--site-blue-190); font-size: 14px; line-height: 20px; font-weight: 400; }
.site-plan-detail ul { padding-inline-start: 20px; margin-block: 10px 0; }
[data-site-page=pricing] .site-plan > .site-button,
.site-comparison-actions .site-button { background: var(--site-warm-240); color: var(--site-black); }
[data-site-page=pricing] .site-plan > .site-button-accent,
.site-comparison-actions .site-button-accent { color: var(--site-orange); }
[data-site-page=pricing] .site-plan > .site-button:hover,
.site-comparison-actions .site-button:hover { background: var(--site-white); }
.site-plans-detail .site-plan { min-height: 0; }
.site-plans-detail .site-plan-included { min-height: 0; }
@media (min-width: 760px) {
  .site-plans-detail .site-plan { display: grid; grid-template-rows: subgrid; grid-row: span 6; row-gap: 0; }
  .site-plans-detail .site-plan > header { grid-row: 1; }
  .site-plans-detail .site-price { grid-row: 2; }
  .site-plans-detail .site-plan-included { grid-row: 3; }
  .site-plans-detail .site-plan-detail { grid-row: 4; }
  .site-plans-detail .site-plan-tax { grid-row: 5; }
  .site-plans-detail .site-plan > .site-button { grid-row: 6; }
}
.site-plan-pitch { margin-block-end: 20px; }
.site-comparison { margin-block-start: 80px; display: grid; gap: 28px; }
.site-comparison h2 { font-size: 24px; }
.site-table-scroll { position: relative; max-width: 100%; overflow-x: auto; }
.site-comparison table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: 14px; }
.site-comparison th, .site-comparison td { padding: 16px 12px; border-block-end: 1px solid var(--site-line); text-align: center; }
.site-comparison th:first-child { width: 64%; text-align: start; font-weight: 400; }
.site-comparison thead th, .site-comparison thead th:first-child { color: var(--site-warm-250); font-weight: 600; }
.site-comparison thead th:first-child { color: var(--site-teal); }
.site-comparison td { color: var(--site-teal-light); }
.site-comparison tr { background: var(--site-blue-100); }
.site-comparison tr:hover { background: var(--site-blue-110); }
.site-comparison-price { color: var(--site-warm-250); display: block; font-size: 12px; font-weight: 400; }
.site-comparison-band th { color: var(--site-blue-190); font-size: 14px; font-weight: 400; }
.site-comparison tbody tr:not(.site-comparison-band) th { padding-inline-start: 32px; }
.site-comparison-check { display: inline-block; width: 20px; height: 20px; vertical-align: middle; }
.site-comparison tfoot td { color: var(--site-warm-250); }
.site-comparison .site-comparison-actions a { font-size: 14px; line-height: 16px; font-weight: 600; padding: 12px 8px; width: 100%; min-height: 50px; }
.site-purchase-grid { display: grid; grid-template-columns: minmax(220px, 280px) minmax(0, 1fr); align-items: start; gap: 20px; }
.site-purchase-modes, .site-purchase-summary { border: 1px solid var(--site-line); border-radius: var(--site-radius); padding: 20px; }
.site-purchase-modes { background: var(--site-surface); display: grid; gap: 20px; }
.site-purchase-modes h2 { text-align: center; font-size: 20px; }
.site-mode-options { display: grid; gap: 20px; }
.site-mode-options button { display: grid; gap: 10px; padding: 16px; color: var(--site-text); background: transparent; border: 1px solid var(--site-blue-160); text-align: start; font-size: 16px; }
.site-mode-options button span { color: var(--site-muted); font-weight: 400; font-size: 14px; }
.site-mode-options button strong { font-weight: 600; }
.site-mode-options button.on { border-color: var(--site-teal); outline: 2px solid var(--site-teal); outline-offset: -2px; }
.site-mode-options button:hover { background: var(--site-surface-hover); color: var(--site-text); }
.site-mode-options button:disabled { opacity: 1; cursor: not-allowed; }
.site-mode-options button:disabled strong { color: var(--site-muted); }
.site-purchase-summary { display: grid; gap: 24px; }
.site-purchase-summary > section { min-width: 0; }
.checkout-offers { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; min-height: 68px; }
.checkout-offer, .checkout-addon-option { position: relative; display: flex; flex-direction: column; align-items: start; justify-content: center; gap: 4px; min-width: 0; padding: 12px; background: transparent; color: var(--site-text); border: 1px solid var(--site-input-line); text-align: start; font-size: 16px; }
.checkout-offer.selected, .checkout-addon-option.selected { box-shadow: inset 0 0 0 1px var(--site-teal); border-color: var(--site-teal); }
.checkout-offer:hover:not(:disabled), .checkout-addon-option:hover:not(:disabled) { background: var(--site-surface); color: var(--site-text); }
.offer-cycle, .checkout-addon-option span { font-size: 13px; font-weight: 400; color: var(--site-muted); }
.checkout-choice-check { position: absolute; inset: 50% 12px auto auto; transform: translateY(-50%); width: 22px; height: 22px; }
.offer-price { padding-inline-end: 24px; font-weight: 600; }
.site-purchase-addon h2 { font-size: 14px; font-weight: 400; text-align: center; margin-block: 12px 20px; letter-spacing: 0; }
.checkout-addon-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(115px, 1fr)); gap: 10px; }
.site-purchase-addon > p { margin-block-start: 12px; }
.site-total { border-block-start: 1px solid var(--site-line); padding-block-start: 20px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.site-total strong { font-size: 22px; font-weight: 600; color: var(--site-teal-light); }
.site-definition-list { display: grid; gap: 12px; padding-block: 20px; border-block-start: 1px solid var(--site-line); font-size: 14px; }
.site-definition-list > div { display: grid; grid-template-columns: minmax(100px, 1fr) minmax(0, 2fr); gap: 20px; }
.site-definition-list dt { color: var(--site-muted); }
.site-definition-list dd { overflow-wrap: anywhere; }
.site-effective { border: 0; margin: 0; padding: 0; }
.site-effective label { display: flex; align-items: center; gap: 12px; min-height: 44px; font-size: 13px; }
.site-effective label, #checkout-effective-locked-text { color: var(--site-blue-190); font-size: 12px; line-height: 20px; font-weight: 400; }
#checkout-upgrade-preview-title { font-size: 14px; line-height: 20px; font-weight: 600; letter-spacing: 0; }
#checkout-submit { justify-self: center; min-width: min(100%, 240px); background: #F5F0EB; }
#checkout-submit:hover:not(:disabled) { background: #FFFFFF; }
#checkout-error:empty, #checkout-state:empty { display: none; }
.site-back { display: inline-flex; align-items: center; min-height: 44px; margin-block-end: 24px; text-decoration: none; }
.site-result { min-height: 75svh; display: grid; justify-items: center; align-content: center; gap: 32px; text-align: center; }
.site-checkout-nav .site-back { margin: 0; padding: 0; gap: 4px; color: var(--site-text); border: 0; font-weight: 400; }
.site-frame:has(.site-result) { padding-inline-start: 0; }
.site-page.site-result { min-height: 100svh; padding-block: 64px; gap: 0; }
.site-payment-result { display: flex; flex-direction: column; align-items: center; width: min(600px, 100%); min-height: 300px; padding: 39px; border: 1px solid var(--site-line); border-radius: var(--site-radius); background: var(--site-surface); font-family: var(--site-font-result-button, var(--site-font-body)); }
.site-payment-result > .site-outcome { width: 100%; margin: 0; }
.site-payment-result .checkout-result-icon { display: block; width: 80px; height: 80px; margin: 0 auto 10px; }
.site-payment-result .site-outcome h2 { max-width: 440px; margin: 0 auto; font-size: 16px; line-height: 22px; font-weight: 400; letter-spacing: 0; }
.site-payment-result > .site-actions, .site-payment-result > .site-button { margin-block-start: auto; }
.site-payment-result .site-button { width: 160px; min-height: 40px; padding: 9px 8px; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--site-black); background: var(--site-warm-240); }
.site-payment-result .site-button:hover { background: var(--site-white); color: var(--site-black); }
#checkout-result-retry { background: var(--site-teal); }
#checkout-result-retry:hover { background: var(--site-teal-light); color: var(--site-black); }
.site-outcome { text-align: center; }
.site-outcome > * + * { margin-block-start: 24px; }
.site-outcome h2, .site-outcome h1 { font-size: 24px; }
.site-outcome img { object-fit: contain; }
.site-spinner { display: inline-block; width: 44px; height: 44px; border: 3px solid var(--site-line); border-block-start-color: var(--site-teal); border-radius: 50%; animation: site-spin 1s linear infinite; }
@keyframes site-spin { to { transform: rotate(360deg); } }
.site-contact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-block-start: 40px; }
.site-field { display: grid; align-content: start; gap: 0; }
/* 仅给表单自身的内容留间距，避免 LastPass 的零高度注入节点产生额外网格间距。 */
.site-field > input, .site-field > textarea, .site-field > .site-field-error { margin-block-start: 10px; }
.site-field label { font-size: 12px; line-height: 17px; font-weight: 400; }
.site-field input:not([type=checkbox]), .site-field textarea { height: 40px; min-height: 40px; padding: 8px 10px; border-color: var(--site-line); font-weight: 400; }
.site-field input::placeholder, .site-field textarea::placeholder { color: var(--site-placeholder); }
.site-field input:focus, .site-field textarea:focus { border-color: var(--site-teal); background: var(--site-surface-hover); }
.site-field input:not(:placeholder-shown) { font-weight: 600; }
.site-field input:focus { font-weight: 400; }
.site-contact-form input:not(:placeholder-shown), .site-contact-form textarea { font-weight: 400; }
.site-field textarea { resize: vertical; height: 160px; }
.site-field-wide { grid-column: 1 / -1; }
.site-contact-form > button { justify-self: start; margin-block-start: 20px; min-height: 40px; min-width: 140px; padding-block: 8px; font-size: 14px; font-weight: 600; }
.site-field-error { font-size: 13px; }
#contact-form-state > header { display: grid; gap: 20px; }
.site-dialog.site-contact-result { width: min(600px, calc(100vw - 40px)); height: 300px; padding: 39px 40px; background: var(--site-surface); border: 1px solid var(--site-line); }
.site-contact-result[open] { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; }
.site-contact-result::backdrop { background: transparent; }
.site-contact-result .site-contact-result-copy { margin: 0; }
.site-contact-result .site-contact-result-icon { width: 80px; height: 80px; flex-shrink: 0; margin: 0 0 10px; }
.site-contact-result h2, .site-contact-result p { font-size: 16px; font-weight: 400; line-height: 22px; margin: 0; }
.site-contact-result button { width: 140px; min-height: 40px; height: 40px; flex-shrink: 0; margin-block-start: 46px; padding-block: 8px; font-family: var(--site-font-result-button, var(--site-font-body)); font-size: 14px; line-height: 20px; letter-spacing: 0; font-weight: 600; color: var(--site-black); }
body:has(.site-contact-result[open]) .site-portrait,
body:has(.site-contact-result[open]) .site-portrait *,
body:has(.site-contact-result[open]) > .site-footer { visibility: hidden; }
.site-login { min-height: 100svh; display: grid; align-content: center; padding-block: 96px; }
.site-login-methods { display: grid; grid-template-columns: minmax(0, 360px) 80px minmax(0, 360px); align-items: stretch; gap: 0; max-width: 800px; margin-block: 60px 0; }
.site-login-method { min-width: 0; min-height: 220px; height: 220px; display: flex; flex-direction: column; justify-content: flex-start; align-items: center; gap: 0; padding: 39px 59px; border: 1px solid var(--site-line); border-radius: var(--site-radius); text-align: center; }
.site-login-google { background: var(--site-surface); }
.site-login-email { background: transparent; }
.site-login-google > p { min-height: 44px; font-size: 16px; line-height: 22px; }
.site-login-method form { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: 48px 48px; gap: 44px; padding-block-start: 0; text-align: start; }
/* Password-manager decorations belong to the field, not the form's row spacing. */
.site-login-email-field { position: relative; grid-area: 1 / 1; min-width: 0; height: 48px; }
.site-login-method form > button { grid-area: 2 / 1; }
.site-login-method input { height: 48px; min-height: 48px; padding: 12px 15px; font-weight: 400; }
.site-login-method input:focus { background: var(--site-surface-hover); border-color: var(--site-teal); }
.site-login-method input::placeholder { font-weight: 400; }
.site-login-method button { width: 100%; min-height: 48px; height: 48px; padding: 12px 8px; font-size: 14px; line-height: 20px; font-weight: 500; }
.site-login-method #gbtn { display: flex; align-items: center; justify-content: center; gap: 10px; margin-block-start: auto; }
.site-login-or { align-self: center; justify-self: center; color: var(--site-muted); font-size: 18px; }
.site-login-hint { margin-block-start: 80px; font-size: 14px; line-height: 20px; }
.site-login-legal { color: var(--site-muted); font-size: 14px; line-height: 20px; }
.site-login h1 + .site-lead { margin-block-start: 20px; }
#login-card.is-sent #login-panel { display: none; }
.site-login #login-sent { width: min(600px, 100%); min-height: 300px; padding: 39px; border: 1px solid var(--site-line); border-radius: var(--site-radius); background: var(--site-surface); font-family: var(--site-font-result-button, var(--site-font-body)); }
.site-login #login-sent .site-login-sent-icon { display: block; width: 80px; height: 80px; margin: 0 auto 10px; }
.site-login #login-sent h2 { margin: 0; font-size: 16px; line-height: 22px; font-weight: 400; letter-spacing: 0; }
.site-login #login-sent-title:focus { outline: none; }
.site-login #login-sent p { margin-block-start: 10px; font-size: 14px; line-height: 20px; font-weight: 400; color: var(--site-warm-220); overflow-wrap: anywhere; }
.site-login #login-sent b { font-weight: inherit; }
#login-card.is-sent { min-height: 0; display: grid; place-items: center; }
.site-frame:has(#login-card.is-sent) { padding-inline-start: 0; }
.site-legal { display: grid; grid-template-columns: minmax(0, 3fr) minmax(180px, 1fr); align-items: start; gap: 48px; }
.site-legal-content { min-width: 0; }
.legal-sidebar { position: sticky; inset-block-start: calc(var(--site-header-height) + 24px); padding-block-start: 20px; border-block-start: 1px solid var(--site-line); }
.legal-sidebar nav { display: grid; gap: 8px; }
.legal-sidebar a { position: relative; display: block; padding: 12px; border-inline-start: 4px solid transparent; text-decoration: none; font-size: 14px; }
.legal-sidebar [aria-current]::before { content: ""; position: absolute; inset-inline-start: -4px; top: 50%; width: 4px; height: 1em; border-radius: 2px; transform: translateY(-50%); background: var(--site-teal); }
.site-legal .site-prose { display: block; }
.site-prose h1 { margin-block-end: 24px; }
.site-prose h2 { font-size: 20px; margin-block: 48px 16px; }
.site-prose h3 { font-size: 18px; margin-block: 28px 12px; }
.site-prose p, .site-prose ul, .site-prose ol { margin-block-end: 20px; }
.site-prose table { display: block; max-width: 100%; overflow-x: auto; }
.site-legal .meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-block: 24px 28px; }
.site-legal .meta .pill { margin: 0; padding: 12px 14px; background: var(--site-surface); border: 1px solid var(--site-line); border-radius: 10px; font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
.site-legal .pill b { display: block; margin-block-end: 4px; font-size: 11px; line-height: 16px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--site-muted); }
.pricing-test-option { display: grid; gap: 16px; padding-block: 20px; border-block-end: 1px solid var(--site-line); }
.pricing-test-option-price { font-size: 24px; }
@media (max-width: 1099px) {
  .site-video { max-height: none; }
  .site-plans { gap: 16px; }
  .site-legal { gap: 28px; }
}
@media (max-width: 759px) {
  .site-plans, .site-steps, .site-feedback-grid, .site-purchase-grid, .site-contact-form, .site-legal { grid-template-columns: minmax(0, 1fr); }
  .site-plans { gap: 24px; }
  .site-plan { padding: 24px; }
  .site-plan > .site-button { margin-block-start: 12px; }
  .site-plan-tax + .site-button { margin-block-start: 0; }
  .site-pricing-summary .site-plan > .site-button { margin-block-start: auto; }
  .site-pricing-summary .site-plan-tax + .site-button { margin-block-start: 0; }
  .site-plan-detail::before { inset-inline: 6px; }
  .site-plan-badge { margin: 0; }
  .site-capabilities { grid-template-columns: minmax(0, 1fr); }
  .site-capabilities article { min-height: 0; grid-template-rows: auto auto; }
  .site-intake-card { padding: 28px; }
  .site-plans-detail .site-plan { min-height: 0; }
  .site-plans-detail .site-plan-included { min-height: 0; }
  .site-report { grid-template-columns: minmax(0, 1fr) 90px; gap: 12px; }
  .site-report h2 { font-size: 28px; line-height: 36px; }
  .site-legal .meta { grid-template-columns: minmax(0, 1fr); }
  .site-comparison { margin-block-start: 48px; }
  .site-login-methods { grid-template-columns: minmax(0, 360px); margin-block-start: 32px; gap: 20px; }
  .site-login-method { padding: 32px 40px 40px; height: auto; }
  .site-login-or { line-height: 1; }
  .site-purchase-modes, .site-purchase-summary { padding: 16px; }
  .site-mode-options { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .site-mode-options button { padding: 12px; }
  .site-mode-options button span { font-size: 13px; }
  .checkout-offers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .checkout-addon-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-definition-list > div { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  #checkout-submit { width: 100%; }
  .legal-sidebar { position: static; grid-row: 1; }
  .legal-sidebar nav { display: flex; flex-wrap: wrap; gap: 8px; }
  .legal-sidebar a { padding: 8px; border-inline-start: 0; border-block-end: 3px solid transparent; }
  .legal-sidebar [aria-current] { border-color: var(--site-teal); }
  .legal-sidebar [aria-current]::before { display: none; }
  .site-score strong { font-size: 32px; }
  .site-report { padding: 20px; }
}
/* 浅色悬停面上的小字使用正文色，保持 4.5:1。 */
.site-mode-options button:hover span { color: var(--site-text); }

.site-field input:focus::placeholder, .site-field input:hover::placeholder, .site-field textarea:focus::placeholder, .site-field textarea:hover::placeholder, .site-login-method input:is(:hover, :focus)::placeholder { color: var(--site-placeholder); }

/* M5 marketing pages: type and surfaces from the design export. */
.m5-layout h1, .m5-layout h2 { color: #fffaf5; font-size: 40px; line-height: 1.2; font-weight: 600; }
.m5-layout .site-stack > h2:not(:first-child) { font-size: 24px; }
.m5-layout .site-lead, .m5-layout .site-prose { color: #f5f0eb; font-size: 18px; line-height: 30px; font-weight: 400; }
.m5-layout .site-stack { gap: 24px; }
.m5-layout a:not(.m5-action) { text-decoration: none; }
.m5-hero .site-lead { margin-top: 44px; }
.m5-brand-form { width: 100%; max-width: 500px; height: 40px; margin-top: 80px; }
.m5-brand-form button { display: block; width: auto; padding: 8px 24px; font-size: 16px; line-height: 24px; white-space: nowrap; }
.m5-note { margin-top: 20px; color: #e1dcd7; font-size: 14px; line-height: 20px; }
.m5-action { display: inline-flex; width: fit-content; align-items: center; justify-content: center; height: 40px; min-height: 40px; line-height: 20px; padding: 8px 20px; border-radius: 8px; background: #f5f0eb; color: #2d3237; font-size: 16px; font-weight: 600; text-decoration: none; }
.m5-action:hover { color: #2d3237; background: #fff; }
.m5-links { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.m5-feature-list, .m5-steps { display: grid; gap: 16px; padding: 0; margin: 0; list-style: none; }
.m5-feature-list article, .m5-steps li { display: grid; gap: 4px; }
.m5-feature-list h3, .m5-steps h3 { color: #fffaf5; font-size: 16px; line-height: 24px; font-weight: 600; }
.m5-feature-list p, .m5-steps p { color: #e1dcd7; font-size: 14px; line-height: 20px; font-weight: 400; }
.m5-scores { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.m5-scores a, .m5-price-list article { display: grid; gap: 4px; padding: 16px; border-radius: 8px; background: #3c556e; color: #fffaf5; }
.m5-scores strong { color: #fffaf5; font-size: 28px; line-height: 32px; }
.m5-price-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: auto auto auto 1fr; column-gap: 12px; row-gap: 0; align-items: stretch; }
.m5-price-list h3 { font-size: 18px; }
.m5-price-list p { color: #e1dcd7; font-size: 14px; line-height: 20px; }
.m5-layout .site-faqs summary { color: #fffaf5; font-weight: 400; }
.m5-layout .site-faq-answer { color: #e1dcd7; font-size: 14px; line-height: 20px; }
body:is([data-site-page=home],[data-site-page=how],[data-site-page=does],[data-site-page=reports],[data-site-page=faqs]) .site-portrait figcaption { color: #8ca5be; font-size: 16px; line-height: 24px; font-weight: 400; }
@media (max-width: 759px) {
  .m5-layout h1, .m5-layout h2 { font-size: 30px; }
  .m5-brand-form { margin-top: 36px; }
  .m5-price-list { grid-template-columns: 1fr; }
  body:has(.site-free-report) .site-header .site-account { gap: 8px; }
  .site-header .site-free-report { display: none; }
}
@media (max-width: 390px) {
  .site-header .site-free-report { max-width: 100px; text-align: center; line-height: 1.1; height: auto; }
  :lang(ja) .site-header .site-free-report { white-space: normal; }
}
.m5-score-bands { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px 40px; }
.m5-score-bands div { display: grid; gap: 2px; background: transparent; }
.m5-score-bands span { color: #f5f0eb; font-size: 16px; line-height: 22px; font-weight: 600; }
.m5-score-bands strong { color: #8ca5be; font-size: 18px; line-height: 25px; font-weight: 400; }
@media (max-width: 480px) { .m5-score-bands { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* M5: two-column content grids follow the artboards; the portrait stays independent. */
.m5-two-columns > .m5-feature-list, .m5-six-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 40px; }
.m5-two-columns .m5-feature-list h3 { font-size: 18px; line-height: 26px; }
.m5-two-columns .m5-feature-list article { gap: 10px; }
.m5-links > a:last-child:not(:first-child) { margin-inline-start: auto; text-align: end; }
.m5-hero .site-kicker { color: #8ca5be; font-size: 16px; line-height: 24px; font-weight: 400; margin-bottom: 10px; }
.m5-note > p { margin: 0; }
.m5-six-steps { gap: 24px 40px; }
.m5-six-steps li { border-top: 1px solid #506982; padding-top: 16px; gap: 8px; }
.m5-overview-steps { gap: 32px; }
.m5-overview-steps h3 { font-size: 18px; line-height: 26px; }
.m5-overview-steps li { gap: 10px; }
.m5-geo-prose { display: grid; gap: 24px; color: #f5f0eb; font-size: 18px; line-height: 30px; }
.m5-geo-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 40px; }
.m5-geo-comparison article:last-child { grid-column: 1; }
.m5-geo-comparison h4 { font-size: 16px; font-weight: 600; color: #fffaf5; margin-bottom: 8px; }
.m5-geo-comparison dl { display: grid; gap: 4px; }
.m5-geo-comparison dl > div { display: grid; grid-template-columns: 48px 1fr; gap: 8px; color: #e1dcd7; font-size: 14px; line-height: 20px; }
.m5-geo-comparison dt { font-weight: 600; }
.m5-geo-comparison dl > div:first-child dt { color: #8ca5be; }
.m5-geo-comparison dl > div:nth-child(2) dt { color: #78c8c8; }
.m5-geo-comparison dd { margin: 0; }
.m5-layout .site-feedback-grid { gap: 40px; }
.m5-layout .site-feedback blockquote { margin-top: 10px; }
.m5-layout .site-feedback .site-stars { margin-top: 20px; }
.m5-layout .m5-price-list article { padding: 20px; border: 1px solid #506982; gap: 0; grid-template-rows: subgrid; grid-row: span 4; align-content: start; }
.m5-layout .m5-price-list h3 { align-self: start; color: #8ca5be; font-size: 16px; font-weight: 500; margin-bottom: 12px; }
.m5-layout .m5-price-list .m5-plan-price { color: #fffaf5; font-size: 24px; line-height: 32px; font-weight: 600; }
.m5-layout .m5-price-list .m5-plan-interval { color: #8ca5be; font-size: 16px; line-height: 24px; }
.m5-layout .m5-price-list .m5-plan-description { margin-top: 24px; color: #e1dcd7; font-size: 14px; line-height: 20px; }
[data-site-page=does] .m5-weekly { border-top: 1px solid #506982; padding-top: 24px; }
#p-scans .m5-scores a { align-content: start; height: 110px; min-height: 110px; grid-template-rows: 28px 1fr; padding: 11px 20px; border: 1px solid #506982; gap: 4px; }
#p-scans .m5-note { margin: 0; }
#p-final .m5-brand-form { margin-top: 40px; }
@media (max-width: 759px) {
  .m5-two-columns > .m5-feature-list, .m5-six-steps { gap: 24px; }
}
@media (max-width: 480px) {
  .m5-two-columns > .m5-feature-list, .m5-six-steps { grid-template-columns: 1fr; }
  .m5-links { gap: 16px; }
  .m5-links > a:last-child:not(:first-child) { margin-inline-start: 0; text-align: start; }
  .m5-brand-form button { padding-inline: 12px; font-size: 14px; }
}
@media (max-width: 759px) {
  body:has(.site-free-report) .site-header { grid-template-columns: 32px minmax(0, 1fr) auto; }
  body:has(.site-free-report) .site-header .site-logo img { width: 90px; height: auto; }
}
@media (max-width: 390px) {
  body:has(.site-free-report) .site-header .site-logo img { width: 72px; }
  body:has(.site-free-report) .site-header .site-account { gap: 6px; }
  body:has(.site-free-report) .site-signin { font-size: 12px; padding-inline: 8px; }
}
/* M5 artboard details. */
.m5-geo-rule, .m5-report-rule { width: 100%; height: 1px; border: 0; margin: 0; }
.m5-geo-rule { background: var(--site-line); }
.m5-report-rule { background: #506982; }
.m5-overview-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.m5-overview-steps li { display: block; padding: 20px; min-height: 300px; border: 1px solid #506982; border-radius: 8px; background: #3c556e; }
.m5-overview-steps h3 { min-height: 72px; margin-bottom: 10px; }
.m5-score-brand { font-size: 20px; line-height: 28px; font-weight: 400; }
.m5-score-result { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 4px; border-top: 1px solid #506982; }
.m5-scores .m5-score-result strong { font-size: 40px; line-height: 56px; color: #78c8c8; font-weight: 500; }
.m5-score-result > span { margin-inline-start: auto; color: #8ca5be; font-size: 16px; line-height: 22px; }
#p-does .m5-weekly { padding-top: 24px; border-top: 1px solid #506982; }
#p-does .m5-note { margin-top: 0; }
#p-does .m5-note + a { margin-top: -12px; }
.m5-common-questions { display: grid; gap: 24px; }
.m5-common-questions h3 { font-size: 18px; line-height: 24px; font-weight: 600; color: #fffaf5; }
.m5-common-questions p { font-size: 16px; line-height: 24px; color: #e1dcd7; }
#p-final { min-height: 0; padding-block: 60px; }
.m5-final-panel { padding: 40px; text-align: center; justify-items: center; background: #3c556e; border-radius: 8px; }
.m5-layout .m5-final-panel h2 { font-size: 24px; line-height: 32px; }
.m5-final-panel .site-lead { font-size: 14px; line-height: 24px; }
.m5-final-panel .m5-brand-form { max-width: 620px; width: 100%; height: 50px; }
.m5-footer .site-footer-panel { grid-template-columns: 220px 140px minmax(120px, 1fr); min-height: 320px; padding: 40px; }
.m5-footer-brand, .m5-footer .site-footer-panel > nav { position: relative; z-index: 1; align-self: start; }
.m5-footer-description { width: 200px; max-width: 100%; margin-top: 30px; color: #8ca5be; font-size: 14px; line-height: 20px; }
.m5-footer .site-footer-art { width: min(70%, 424px); height: 260px; max-height: 260px; aspect-ratio: 1832 / 1124; max-width: none; -webkit-mask-size: contain; mask-size: contain; }
.m5-footer .site-footer-bottom > span { white-space: pre-wrap; }
[data-site-page=home] .m5-footer { padding-top: 0; }
@media (max-width: 999px) {
  .m5-footer .site-footer-panel { grid-template-columns: minmax(160px, 1.3fr) minmax(120px, 1fr) minmax(100px, 1fr); gap: 24px; }
}
@media (max-width: 759px) {
  .m5-overview-steps { grid-template-columns: 1fr; }
  .m5-overview-steps li { min-height: 0; }
  .m5-overview-steps h3 { min-height: 0; }
  .m5-price-list { grid-template-rows: none; row-gap: 16px; }
  .m5-layout .m5-price-list article { grid-template-rows: auto auto auto 1fr; grid-row: auto; }
  .m5-score-bands { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 24px; }
  .m5-final-panel { padding: 28px 20px; }
  .m5-final-panel .m5-brand-form { flex-direction: column; height: auto; overflow: visible; background: transparent; border: 0; gap: 8px; }
  .m5-final-panel .m5-brand-form input { height: 44px; min-height: 44px; background: #506982; border: 1px solid #8ca5be; border-radius: 8px; }
  .m5-final-panel .m5-brand-form button { height: 40px; border-radius: 8px; }
  .m5-footer .site-footer-panel { grid-template-columns: 1fr 1fr; min-height: 320px; padding: 28px; }
  .m5-footer-brand { grid-column: 1 / -1; }
  .m5-footer-description { width: 100%; max-width: 320px; }
  .m5-footer .site-footer-art { width: min(62%, 424px); height: auto; }
}
@media (max-width: 480px) {
  .m5-score-bands { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .m5-score-result { gap: 4px; flex-wrap: wrap; }
  .m5-score-result > span { font-size: 14px; }
  /* 和按钮挤一行时输入框放不下占位文字；上下排，和页尾表单在窄屏的样子一致。 */
  .m5-brand-form { flex-direction: column; height: auto; overflow: visible; background: transparent; border: 0; gap: 8px; }
  .m5-brand-form input { height: 44px; min-height: 44px; background: #506982; border: 1px solid #8ca5be; border-radius: 8px; }
  .m5-brand-form button { height: 40px; border-radius: 8px; }
}
/* Keep each report row's headings and descriptions aligned at their top edges.
   ID 与 class 分开列出，避免 :is() 将 ID 权重带到 weekly 分支，覆盖页面自己的间距。 */
#p-free-report .m5-feature-list, .m5-weekly > .m5-feature-list { row-gap: 3px; }
#p-free-report .m5-feature-list article, .m5-weekly > .m5-feature-list article {
  grid-template-rows: subgrid;
  grid-row: span 2;
  align-content: start;
  align-items: start;
  padding-bottom: 22px;
}
#p-free-report .m5-feature-list article:last-child, .m5-weekly > .m5-feature-list article:last-child { padding-bottom: 0; }
#p-does .m5-weekly > .m5-feature-list article { padding-bottom: 10px; }
[data-site-page=does] .m5-weekly > .m5-feature-list article { padding-bottom: 5px; }
#p-does .m5-weekly > .m5-feature-list article:last-child,
[data-site-page=does] .m5-weekly > .m5-feature-list article:last-of-type { padding-bottom: 0; }
[data-site-page=reports] .m5-action + h2 { margin-top: 16px; }
[data-site-page=faqs] .m5-layout .site-stack > h2 { font-size: 24px; }

@media (max-width: 480px) { #p-scans .m5-scores { grid-template-columns: 1fr; } }

/* 公开站桌面端按屏幕缩放：上面的尺寸都是 1280×720 画板的固定 px，大屏上内容不变、只有留白变大。
   --site-u = 画板 1px 在当前屏幕上的长度，宽度和高度取小，宽屏矮窗也不会把一屏撑出视口。
   下面每条对应上面同选择器的画板值，走 site/base.html 的页面（body.site-body）全部共用，切页时页头和内容列不跳。
   只挂 ≥1100px，窄屏仍走原规则。下面用了 CSS 嵌套：不支持的浏览器（Safari < 16.5）整块跳过、全用画板值，不会只生效一半。 */
@media (min-width: 1100px) {
  @supports selector(&) {
  :root {
    /* 下限 .9：1100 宽时文字栏比画板窄 17%，不跟着缩的话英文、日文内容最多的几屏放不进 1100×700 */
    --site-u: clamp(.9px, min(1px / 3 + 100vw / 1920, 100svh / 720), 3px);
    --site-content-max: calc(1200 * var(--site-u));
    --site-rail: calc(200 * var(--site-u));
    --site-gutter: clamp(20px, 3vw, calc(40 * var(--site-u)));
    --site-header-height: calc(96 * var(--site-u));
    --site-header-offset: clamp(16px, 6.67vh, calc(60 * var(--site-u)));
    --site-radius: calc(8 * var(--site-u));
  }
  /* 元素级规则保持原权重，页面专属规则才盖得住 */
  h1, h2 { font-size: clamp(calc(28 * var(--site-u)), 2.5vw, calc(40 * var(--site-u))); }
  h3 { font-size: calc(20 * var(--site-u)); }
  h4 { font-size: calc(16 * var(--site-u)); }
  button, .site-button { min-height: calc(44 * var(--site-u)); padding: calc(10 * var(--site-u)) calc(20 * var(--site-u)); }
  .site-button { gap: calc(10 * var(--site-u)); }
  .skip-link { padding: calc(10 * var(--site-u)) calc(16 * var(--site-u)); }
  body.site-body {
    font-size: calc(16 * var(--site-u));

    /* 页头与导航 */
    & .site-header { height: calc(32 * var(--site-u)); gap: calc(24 * var(--site-u)); }
    & .site-logo img, & .site-footer-panel .site-logo img { width: calc(118 * var(--site-u)); height: calc(20 * var(--site-u)); }
    & .site-account { gap: calc(20 * var(--site-u)); }
    & #top-plan { font-size: calc(14 * var(--site-u)); }
    & .site-avatar { width: calc(40 * var(--site-u)); height: calc(40 * var(--site-u)); min-height: calc(40 * var(--site-u)); }
    & .site-account-menu { width: min(calc(220 * var(--site-u)), calc(100vw - 40px)); padding: calc(12 * var(--site-u)); }
    & .site-account-menu a, & .site-account-menu button { gap: calc(8 * var(--site-u)); min-height: calc(44 * var(--site-u)); padding: calc(8 * var(--site-u)); font-size: calc(14 * var(--site-u)); }
    & .site-account-menu svg { width: calc(22 * var(--site-u)); height: calc(22 * var(--site-u)); }
    & .site-signin { height: calc(32 * var(--site-u)); min-height: calc(32 * var(--site-u)); padding: calc(4 * var(--site-u)) calc(16 * var(--site-u)); font-size: calc(14 * var(--site-u)); }
    & .site-nav { inset-block-start: calc(var(--site-header-offset) + 56 * var(--site-u)); width: calc(var(--site-rail) - 20 * var(--site-u)); gap: calc(8 * var(--site-u)); }
    & .site-nav a { min-height: calc(44 * var(--site-u)); padding: calc(8 * var(--site-u)) calc(12 * var(--site-u)); border-inline-start-width: calc(4 * var(--site-u)); }
    & .site-nav a::before { inset-inline-start: calc(-4 * var(--site-u)); width: calc(4 * var(--site-u)); }

    /* 分屏骨架与画像栏 */
    /* 内容最多的几屏接近一屏高，留白不能再随 u 放大，否则带浏览器工具栏的 MacBook（1440×790）放不下 */
    & .site-screen { padding-block: min(calc(64 * var(--site-u)), 4.5svh); }
    & .site-split { grid-template-columns: minmax(0, 3fr) minmax(calc(240 * var(--site-u)), 1.8fr); gap: calc(40 * var(--site-u)); }
    & .site-stack > header { gap: calc(24 * var(--site-u)); }
    & .site-portrait { gap: calc(20 * var(--site-u)); }
    & .site-portrait-rail { width: calc((100% - 40 * var(--site-u)) * .375); }
    & .site-portrait-fallback { inset: calc(16 * var(--site-u)); width: calc(100% - 32 * var(--site-u)); height: calc(100% - 32 * var(--site-u)); max-width: calc(300 * var(--site-u)); max-height: calc(300 * var(--site-u)); }
    & .site-portrait figcaption { max-width: calc(290 * var(--site-u)); font-size: calc(16 * var(--site-u)); line-height: calc(24 * var(--site-u)); }

    /* 标题与正文。h1 比其余尺寸放大得快一些（首屏只有这一组内容），44 是英文标题在文字栏里不折行的上限 */
    & .m5-layout h1 { font-size: calc(44 * var(--site-u) - 4px); }
    & .m5-layout h2 { font-size: calc(40 * var(--site-u)); }
    & .site-stack > h3 { font-size: calc(20 * var(--site-u)); }
    & .m5-layout .site-stack { gap: calc(24 * var(--site-u)); }
    & .m5-layout .site-lead, & .m5-layout .site-prose, & .m5-geo-prose { font-size: calc(18 * var(--site-u)); line-height: calc(30 * var(--site-u)); }
    & .m5-geo-prose { gap: calc(24 * var(--site-u)); }
    & .m5-hero .site-kicker { margin-bottom: calc(10 * var(--site-u)); }
    /* 首屏内容最少，竖向空余优先分给这两段间距 */
    & .m5-hero .site-lead { margin-top: max(calc(44 * var(--site-u)), 7svh); }
    & .m5-hero .m5-brand-form { margin-top: max(calc(80 * var(--site-u)), 12svh); }

    /* 表单与按钮 */
    & .m5-brand-form { max-width: calc(500 * var(--site-u)); height: calc(40 * var(--site-u)); }
    & .site-brand-form input { padding: calc(8 * var(--site-u)) calc(15 * var(--site-u)); font-size: calc(16 * var(--site-u)); }
    & .m5-brand-form button { padding: calc(8 * var(--site-u)) calc(24 * var(--site-u)); font-size: calc(16 * var(--site-u)); line-height: calc(24 * var(--site-u)); }
    & .m5-action { height: calc(40 * var(--site-u)); min-height: calc(40 * var(--site-u)); padding: calc(8 * var(--site-u)) calc(20 * var(--site-u)); font-size: calc(16 * var(--site-u)); line-height: calc(20 * var(--site-u)); }
    & .m5-links { gap: calc(24 * var(--site-u)); }

    /* 小字 14/20 与 16/24，后面同权重的规则会覆盖这里，顺序照上面的画板规则 */
    & .m5-note, & .m5-feature-list p, & .m5-steps p, & .m5-price-list p, & .m5-geo-comparison dl > div, & .site-feedback figcaption span,
    & .site-feedback blockquote, & .m5-layout .m5-price-list .m5-plan-description, & .m5-footer-description, & .site-footer-bottom {
      font-size: calc(14 * var(--site-u)); line-height: calc(20 * var(--site-u));
    }
    & .m5-feature-list h3, & .m5-steps h3, & .m5-hero .site-kicker, & .m5-layout .m5-price-list .m5-plan-interval, & .m5-common-questions p {
      font-size: calc(16 * var(--site-u)); line-height: calc(24 * var(--site-u));
    }
    & .m5-note { margin-top: calc(20 * var(--site-u)); }

    /* 免费报告、功能列表 */
    & .m5-feature-list, & .m5-steps { gap: calc(16 * var(--site-u)); }
    & .m5-feature-list article, & .m5-steps li { gap: calc(4 * var(--site-u)); }
    & .m5-two-columns > .m5-feature-list { gap: calc(32 * var(--site-u)) calc(40 * var(--site-u)); }
    & .m5-two-columns .m5-feature-list h3 { font-size: calc(18 * var(--site-u)); line-height: calc(26 * var(--site-u)); }
    & .m5-two-columns .m5-feature-list article { gap: calc(10 * var(--site-u)); }
    & #p-free-report .m5-feature-list, & .m5-weekly > .m5-feature-list { row-gap: calc(3 * var(--site-u)); }
    & #p-free-report .m5-feature-list article, & .m5-weekly > .m5-feature-list article { padding-bottom: calc(22 * var(--site-u)); }
    & #p-free-report .m5-feature-list article:last-child, & .m5-weekly > .m5-feature-list article:last-child { padding-bottom: 0; }
    & #p-does .m5-weekly > .m5-feature-list article { padding-bottom: calc(10 * var(--site-u)); }
    & #p-does .m5-weekly > .m5-feature-list article:last-child { padding-bottom: 0; }
    & #p-does .m5-weekly { padding-top: calc(24 * var(--site-u)); }
    & #p-does .m5-note { margin-top: 0; }
    & #p-does .m5-note + a { margin-top: calc(-12 * var(--site-u)); }

    & .m5-next-screen { inset-inline-start: calc((100% - 40 * var(--site-u)) * .3125); }
    & #p-scans .m5-score-result strong { line-height: calc(48 * var(--site-u)); }

    /* GEO 对比 */
    & .m5-geo-comparison { gap: calc(24 * var(--site-u)) calc(40 * var(--site-u)); }
    & .m5-geo-comparison h4 { margin-bottom: calc(8 * var(--site-u)); font-size: calc(16 * var(--site-u)); }
    & .m5-geo-comparison dl { gap: calc(4 * var(--site-u)); }
    & .m5-geo-comparison dl > div { grid-template-columns: calc(48 * var(--site-u)) 1fr; gap: calc(8 * var(--site-u)); }

    /* 三步 */
    & .m5-overview-steps { gap: calc(15 * var(--site-u)); }
    & .m5-overview-steps li { min-height: calc(300 * var(--site-u)); padding: calc(20 * var(--site-u)); }
    & .m5-overview-steps h3 { min-height: calc(72 * var(--site-u)); margin-bottom: calc(10 * var(--site-u)); font-size: calc(18 * var(--site-u)); line-height: calc(26 * var(--site-u)); }

    /* 样例分数 */
    & .m5-scores { gap: calc(12 * var(--site-u)); }
    & #p-scans .m5-scores a { height: calc(110 * var(--site-u)); min-height: calc(110 * var(--site-u)); grid-template-rows: calc(28 * var(--site-u)) 1fr; padding: calc(11 * var(--site-u)) calc(20 * var(--site-u)); gap: calc(4 * var(--site-u)); }
    & .m5-score-brand { font-size: calc(20 * var(--site-u)); line-height: calc(28 * var(--site-u)); }
    & .m5-score-result { gap: calc(12 * var(--site-u)); padding-top: calc(4 * var(--site-u)); }
    & .m5-scores .m5-score-result strong { font-size: calc(40 * var(--site-u)); line-height: calc(56 * var(--site-u)); }
    & .m5-score-result > span { font-size: calc(16 * var(--site-u)); line-height: calc(22 * var(--site-u)); }
    & .m5-score-bands { gap: calc(20 * var(--site-u)) calc(40 * var(--site-u)); }
    & .m5-score-bands div { gap: calc(2 * var(--site-u)); }
    & .m5-score-bands span { font-size: calc(16 * var(--site-u)); line-height: calc(22 * var(--site-u)); }
    & .m5-score-bands strong { font-size: calc(18 * var(--site-u)); line-height: calc(25 * var(--site-u)); }

    /* 用户反馈 */
    & .m5-layout .site-feedback-grid { gap: calc(40 * var(--site-u)); }
    & .site-feedback figcaption { gap: calc(2 * var(--site-u)); }
    & .site-feedback figcaption strong { font-size: calc(18 * var(--site-u)); line-height: calc(25 * var(--site-u)); }
    & .m5-layout .site-feedback blockquote { min-height: calc(80 * var(--site-u)); margin-top: calc(10 * var(--site-u)); }
    & .m5-layout .site-feedback .site-stars { gap: calc(4 * var(--site-u)); margin-top: calc(20 * var(--site-u)); }
    & .site-stars img { width: calc(16 * var(--site-u)); height: calc(16 * var(--site-u)); }

    /* 价格 */
    & .m5-price-list { column-gap: calc(12 * var(--site-u)); }
    & .m5-layout .m5-price-list article { padding: calc(20 * var(--site-u)); }
    & .m5-layout .m5-price-list h3 { margin-bottom: calc(12 * var(--site-u)); font-size: calc(16 * var(--site-u)); }
    & .m5-layout .m5-price-list .m5-plan-price { font-size: calc(24 * var(--site-u)); line-height: calc(32 * var(--site-u)); }
    & .m5-layout .m5-price-list .m5-plan-description { margin-top: calc(24 * var(--site-u)); }

    /* 常见问题 */
    & .m5-common-questions { gap: calc(24 * var(--site-u)); }
    & .m5-common-questions h3 { font-size: calc(18 * var(--site-u)); line-height: calc(24 * var(--site-u)); }

    /* 收尾面板与页脚 */
    /* 收尾卡片位于固定页头下方，底部仍按原始间距自然衔接 footer。 */
    & #p-final { padding-block: calc(60 * var(--site-u)); padding-block-start: calc(var(--site-header-offset) + 36 * var(--site-u) + 80px); }
    & .m5-final-panel { padding: calc(40 * var(--site-u)); }
    & .m5-layout .m5-final-panel h2 { font-size: calc(24 * var(--site-u)); line-height: calc(32 * var(--site-u)); }
    & .m5-layout .m5-final-panel .site-lead { font-size: calc(14 * var(--site-u)); line-height: calc(24 * var(--site-u)); }
    & #p-final .m5-brand-form { margin-top: calc(40 * var(--site-u)); }
    & .m5-final-panel .m5-brand-form { max-width: calc(620 * var(--site-u)); height: calc(50 * var(--site-u)); }
    & .site-footer { padding-block-end: calc(80 * var(--site-u)); }
    & .m5-footer .site-footer-panel { grid-template-columns: calc(220 * var(--site-u)) calc(140 * var(--site-u)) minmax(calc(120 * var(--site-u)), 1fr); gap: calc(40 * var(--site-u)); min-height: calc(320 * var(--site-u)); padding: calc(40 * var(--site-u)); }
    & .site-footer-panel nav { gap: calc(14 * var(--site-u)); font-size: calc(14 * var(--site-u)); }
    & .m5-footer-description { width: calc(200 * var(--site-u)); margin-top: calc(30 * var(--site-u)); }
    & .m5-footer .site-footer-art { width: min(70%, calc(424 * var(--site-u))); height: calc(260 * var(--site-u)); max-height: calc(260 * var(--site-u)); }
    & .site-footer-bottom { gap: calc(24 * var(--site-u)); padding: calc(24 * var(--site-u)) calc(40 * var(--site-u)) 0; }
    & .site-language-picker > summary { gap: calc(8 * var(--site-u)); min-height: calc(20 * var(--site-u)); }
    & .site-language-dot { width: calc(6 * var(--site-u)); height: calc(6 * var(--site-u)); }
    & .site-cookie { inset-inline: calc(24 * var(--site-u)); inset-block-end: calc(24 * var(--site-u)); max-width: calc(720 * var(--site-u)); gap: calc(24 * var(--site-u)); padding: calc(20 * var(--site-u)); font-size: calc(14 * var(--site-u)); }
    & .site-cookie button { min-height: calc(44 * var(--site-u)); padding: calc(10 * var(--site-u)) calc(20 * var(--site-u)); font-size: calc(16 * var(--site-u)); }

    /* 共用文档结构 */
    & .site-lead { font-size: calc(18 * var(--site-u)); }
    & .site-prose { gap: calc(24 * var(--site-u)); }
    & .site-small { font-size: calc(13 * var(--site-u)); }
    & .site-page { padding-block: calc(var(--site-header-height) + 16 * var(--site-u)) calc(80 * var(--site-u)); min-height: calc(100svh - 220 * var(--site-u)); }
    & .site-page-heading { gap: calc(24 * var(--site-u)); margin-block-end: calc(48 * var(--site-u)); }
    & .site-stack { gap: calc(40 * var(--site-u)); }
    & .site-footer { padding-block-start: calc(40 * var(--site-u)); }
    &[data-site-page=home] .m5-footer { padding-block-start: 0; }
    & .site-language-picker .site-languages { inset-block-start: calc(100% + 10 * var(--site-u)); gap: calc(16 * var(--site-u)); }
    & .site-brand-form svg { width: calc(24 * var(--site-u)); height: calc(24 * var(--site-u)); }
    & .m5-action, & .m5-scores a, & .m5-price-list article, & .m5-overview-steps li, & .m5-final-panel { border-radius: var(--site-radius); }

    /* 账户菜单里的小件、弹窗、提示 */
    & .site-account-menu { inset-block-start: calc(100% + 12 * var(--site-u)); }
    & .site-account-identity { padding: calc(8 * var(--site-u)); }
    & .site-account-separator { margin-block: calc(8 * var(--site-u)); }
    & .site-account-identity span, & .acct-org-role { font-size: calc(12 * var(--site-u)); }
    & .acct-org-item { gap: calc(8 * var(--site-u)); padding: calc(8 * var(--site-u)); font-size: calc(14 * var(--site-u)); }
    & .site-dialog { width: min(calc(520 * var(--site-u)), calc(100vw - 40px)); padding: calc(40 * var(--site-u)); }
    & .site-dialog h2 { font-size: calc(24 * var(--site-u)); margin-block-end: calc(20 * var(--site-u)); }
    & .site-dialog p { margin-block: calc(16 * var(--site-u)); }
    & .site-dialog-close { margin: calc(-32 * var(--site-u)) calc(-32 * var(--site-u)) calc(4 * var(--site-u)) calc(8 * var(--site-u)); min-width: calc(44 * var(--site-u)); padding: calc(4 * var(--site-u)); font-size: calc(24 * var(--site-u)); }
    & .site-dialog form { gap: calc(16 * var(--site-u)); }
    & .site-actions { gap: calc(16 * var(--site-u)); }
    & .site-toast { max-width: min(calc(420 * var(--site-u)), calc(100% - 48px)); padding: calc(16 * var(--site-u)) calc(24 * var(--site-u)); }
    & .site-notice { padding: calc(12 * var(--site-u)) calc(16 * var(--site-u)); font-size: calc(13 * var(--site-u)); }
    & .site-field-error { font-size: calc(13 * var(--site-u)); }

    /* How it works、What SoaRank does、Reports、FAQs */
    & .m5-layout .site-stack > h2:not(:first-child), &[data-site-page=faqs] .m5-layout .site-stack > h2 { font-size: calc(24 * var(--site-u)); }
    & .m5-six-steps { gap: calc(24 * var(--site-u)) calc(40 * var(--site-u)); }
    & .m5-six-steps li { padding-top: calc(16 * var(--site-u)); gap: calc(8 * var(--site-u)); }
    /* 英文这页的文字最多：标题到列表的节奏收紧 28 单位，矮窗（--site-u 跟着窗高走）才放得进一屏 */
    &[data-site-page=does] .site-stack { gap: calc(20 * var(--site-u)); }
    &[data-site-page=does] .m5-two-columns .m5-feature-list article { gap: calc(6 * var(--site-u)); }
    &[data-site-page=does] .m5-weekly { padding-top: calc(24 * var(--site-u)); }
    &[data-site-page=does] .m5-weekly > .m5-feature-list article { padding-bottom: calc(5 * var(--site-u)); }
    &[data-site-page=does] .m5-weekly > .m5-feature-list article:last-of-type { padding-bottom: 0; }
    &[data-site-page=reports] .m5-action + h2 { margin-top: calc(16 * var(--site-u)); }
    & .site-faqs summary { gap: calc(16 * var(--site-u)); padding: calc(20 * var(--site-u)); min-height: calc(64 * var(--site-u)); font-size: calc(16 * var(--site-u)); line-height: calc(24 * var(--site-u)); }
    & .site-faq-arrow { width: calc(32 * var(--site-u)); height: calc(32 * var(--site-u)); }
    & .site-faqs details[open] summary { background-size: 100% calc(36 * var(--site-u)); }
    & .site-faq-answer, & .m5-layout .site-faq-answer { padding: calc(10 * var(--site-u)) calc(20 * var(--site-u)) calc(32 * var(--site-u)); font-size: calc(14 * var(--site-u)); line-height: calc(20 * var(--site-u)); }

    /* 价格页 */
    &[data-site-page=pricing] .site-page-heading { margin-block-end: calc(40 * var(--site-u)); }
    & .site-pricing-intro { max-width: calc(820 * var(--site-u)); line-height: calc(30 * var(--site-u)); }
    & .site-plans { gap: calc(20 * var(--site-u)); }
    & .site-plan { min-height: calc(540 * var(--site-u)); padding: calc(20 * var(--site-u)); font-size: calc(14 * var(--site-u)); line-height: calc(24 * var(--site-u)); }
    & .site-plans-detail .site-plan { min-height: 0; }
    & .site-plan header { gap: calc(2 * var(--site-u)); min-height: calc(74 * var(--site-u)); padding-block-end: calc(20 * var(--site-u)); }
    & .site-plan h3, & .site-plan h2 { font-size: calc(24 * var(--site-u)); line-height: calc(32 * var(--site-u)); }
    & .site-plan header p, & .site-plan-detail h3 { font-size: calc(14 * var(--site-u)); line-height: calc(20 * var(--site-u)); }
    & .site-plan-badge { inset: calc(8 * var(--site-u)) calc(8 * var(--site-u)) auto auto; padding: calc(1 * var(--site-u)) calc(12 * var(--site-u)); border-radius: calc(6 * var(--site-u)); font-size: calc(12 * var(--site-u)); line-height: calc(18 * var(--site-u)); }
    & .site-price { font-size: calc(28 * var(--site-u)); line-height: calc(40 * var(--site-u)); margin-block: calc(10 * var(--site-u)); }
    & .site-price small { font-size: calc(18 * var(--site-u)); }
    & .site-plan-points, & .site-plan-notes, & .site-plan-addons, & .site-plan-detail ul { padding-inline-start: calc(20 * var(--site-u)); }
    & .site-plan-notes, & .site-plan-addons { margin-block-start: calc(24 * var(--site-u)); }
    & .site-plan-points li, & .site-plan-notes li, & .site-plan-detail li { font-size: calc(14 * var(--site-u)); line-height: calc(24 * var(--site-u)); }
    & .site-plan-tax { margin-block-end: calc(20 * var(--site-u)); padding-block-start: calc(24 * var(--site-u)); }
    & .site-plan > .site-button { min-height: calc(40 * var(--site-u)); padding-block: calc(8 * var(--site-u)); line-height: calc(22 * var(--site-u)); }
    & .site-plan-detail { margin-block-start: calc(20 * var(--site-u)); padding-block-start: calc(20 * var(--site-u)); }
    & .site-plan-detail::before { inset-inline: calc(10 * var(--site-u)); }
    & .site-plan-detail ul { margin-block-start: calc(10 * var(--site-u)); }
    & .site-plan-pitch { margin-block-end: calc(20 * var(--site-u)); }
    & .site-comparison { margin-block-start: calc(80 * var(--site-u)); gap: calc(28 * var(--site-u)); }
    & .site-comparison h2 { font-size: calc(24 * var(--site-u)); }
    & .site-comparison table { font-size: calc(14 * var(--site-u)); }
    & .site-comparison th, & .site-comparison td { padding: calc(16 * var(--site-u)) calc(12 * var(--site-u)); }
    & .site-comparison-price { font-size: calc(12 * var(--site-u)); }
    & .site-comparison-band th { font-size: calc(14 * var(--site-u)); }
    & .site-comparison tbody tr:not(.site-comparison-band) th { padding-inline-start: calc(32 * var(--site-u)); }
    & .site-comparison-check { width: calc(20 * var(--site-u)); height: calc(20 * var(--site-u)); }
    & .site-comparison .site-comparison-actions a { min-height: calc(50 * var(--site-u)); padding: calc(12 * var(--site-u)) calc(8 * var(--site-u)); font-size: calc(14 * var(--site-u)); line-height: calc(16 * var(--site-u)); }
    & .pricing-test-option { gap: calc(16 * var(--site-u)); padding-block: calc(20 * var(--site-u)); }
    & .pricing-test-option-price { font-size: calc(24 * var(--site-u)); }

    /* 结账 */
    & .site-purchase-grid { grid-template-columns: minmax(calc(220 * var(--site-u)), calc(280 * var(--site-u))) minmax(0, 1fr); gap: calc(20 * var(--site-u)); }
    & .site-purchase-modes, & .site-purchase-summary { padding: calc(20 * var(--site-u)); }
    & .site-purchase-modes, & .site-mode-options { gap: calc(20 * var(--site-u)); }
    & .site-purchase-modes h2 { font-size: calc(20 * var(--site-u)); }
    & .site-mode-options button { gap: calc(10 * var(--site-u)); padding: calc(16 * var(--site-u)); font-size: calc(16 * var(--site-u)); }
    & .site-mode-options button span { font-size: calc(14 * var(--site-u)); }
    & .site-purchase-summary { gap: calc(24 * var(--site-u)); }
    & .checkout-offers { grid-template-columns: repeat(auto-fit, minmax(calc(180 * var(--site-u)), 1fr)); gap: calc(12 * var(--site-u)); min-height: calc(68 * var(--site-u)); }
    & .checkout-offer, & .checkout-addon-option { gap: calc(4 * var(--site-u)); padding: calc(12 * var(--site-u)); font-size: calc(16 * var(--site-u)); }
    & .offer-cycle, & .checkout-addon-option span { font-size: calc(13 * var(--site-u)); }
    & .checkout-choice-check { inset-inline-end: calc(12 * var(--site-u)); width: calc(22 * var(--site-u)); height: calc(22 * var(--site-u)); }
    & .offer-price { padding-inline-end: calc(24 * var(--site-u)); }
    & .site-purchase-addon h2 { font-size: calc(14 * var(--site-u)); margin-block: calc(12 * var(--site-u)) calc(20 * var(--site-u)); }
    & .checkout-addon-options { grid-template-columns: repeat(auto-fit, minmax(calc(115 * var(--site-u)), 1fr)); gap: calc(10 * var(--site-u)); }
    & .site-purchase-addon > p { margin-block-start: calc(12 * var(--site-u)); }
    & .site-total { padding-block-start: calc(20 * var(--site-u)); gap: calc(24 * var(--site-u)); }
    & .site-total strong { font-size: calc(22 * var(--site-u)); }
    & .site-definition-list { gap: calc(12 * var(--site-u)); padding-block: calc(20 * var(--site-u)); font-size: calc(14 * var(--site-u)); }
    & .site-definition-list > div { grid-template-columns: minmax(calc(100 * var(--site-u)), 1fr) minmax(0, 2fr); gap: calc(20 * var(--site-u)); }
    & .site-effective label { gap: calc(12 * var(--site-u)); min-height: calc(44 * var(--site-u)); }
    & .site-effective label, & #checkout-effective-locked-text { font-size: calc(12 * var(--site-u)); line-height: calc(20 * var(--site-u)); }
    & input[type=checkbox], & input[type=radio] { width: calc(20 * var(--site-u)); height: calc(20 * var(--site-u)); }
    & #checkout-upgrade-preview-title { font-size: calc(14 * var(--site-u)); line-height: calc(20 * var(--site-u)); }
    & #checkout-submit { min-width: min(100%, calc(240 * var(--site-u))); }
    & .site-back { min-height: calc(44 * var(--site-u)); margin-block-end: calc(24 * var(--site-u)); }
    & .site-checkout-nav .site-back { margin: 0; padding: 0; gap: calc(4 * var(--site-u)); }

    /* 结果页、404、邮件批准页 */
    & .site-result { gap: calc(32 * var(--site-u)); }
    & .site-page.site-result { min-height: 100svh; padding-block: calc(64 * var(--site-u)); gap: 0; }
    & .site-payment-result { width: min(calc(600 * var(--site-u)), 100%); min-height: calc(300 * var(--site-u)); padding: calc(39 * var(--site-u)); }
    & .site-payment-result .checkout-result-icon { width: calc(80 * var(--site-u)); height: calc(80 * var(--site-u)); margin-block-end: calc(10 * var(--site-u)); }
    & .site-payment-result .site-outcome h2 { max-width: calc(440 * var(--site-u)); font-size: calc(16 * var(--site-u)); line-height: calc(22 * var(--site-u)); }
    & .site-payment-result .site-button { width: calc(160 * var(--site-u)); min-height: calc(40 * var(--site-u)); padding: calc(9 * var(--site-u)) calc(8 * var(--site-u)); font-size: calc(14 * var(--site-u)); line-height: calc(20 * var(--site-u)); }
    & .site-outcome > * + * { margin-block-start: calc(24 * var(--site-u)); }
    & .site-outcome h2, & .site-outcome h1 { font-size: calc(24 * var(--site-u)); }
    & .site-outcome > img { width: calc(80 * var(--site-u)); }
    & .site-spinner { width: calc(44 * var(--site-u)); height: calc(44 * var(--site-u)); }

    /* 联系页 */
    & .site-contact-form { gap: calc(20 * var(--site-u)); margin-block-start: calc(40 * var(--site-u)); }
    & .site-field > input, & .site-field > textarea, & .site-field > .site-field-error { margin-block-start: calc(10 * var(--site-u)); }
    & .site-field label { font-size: calc(12 * var(--site-u)); line-height: calc(17 * var(--site-u)); }
    & .site-field input:not([type=checkbox]), & .site-field textarea { height: calc(40 * var(--site-u)); min-height: calc(40 * var(--site-u)); padding: calc(8 * var(--site-u)) calc(10 * var(--site-u)); }
    & .site-field textarea { height: calc(160 * var(--site-u)); }
    & .site-contact-form > button { margin-block-start: calc(20 * var(--site-u)); min-height: calc(40 * var(--site-u)); min-width: calc(140 * var(--site-u)); padding-block: calc(8 * var(--site-u)); font-size: calc(14 * var(--site-u)); }
    & #contact-form-state > header { gap: calc(20 * var(--site-u)); }
    & .site-dialog.site-contact-result { width: min(calc(600 * var(--site-u)), calc(100vw - 40px)); height: calc(300 * var(--site-u)); padding: calc(39 * var(--site-u)) calc(40 * var(--site-u)); }
    & .site-contact-result .site-contact-result-icon { width: calc(80 * var(--site-u)); height: calc(80 * var(--site-u)); margin-block-end: calc(10 * var(--site-u)); }
    & .site-contact-result h2, & .site-contact-result p { font-size: calc(16 * var(--site-u)); line-height: calc(22 * var(--site-u)); margin: 0; }
    & .site-contact-result button { width: calc(140 * var(--site-u)); min-height: calc(40 * var(--site-u)); height: calc(40 * var(--site-u)); margin-block-start: calc(46 * var(--site-u)); padding-block: calc(8 * var(--site-u)); font-size: calc(14 * var(--site-u)); line-height: calc(20 * var(--site-u)); }

    /* 登录 */
    & .site-login { padding-block: calc(96 * var(--site-u)); min-height: 100svh; }
    & .site-login-methods { grid-template-columns: minmax(0, calc(360 * var(--site-u))) calc(80 * var(--site-u)) minmax(0, calc(360 * var(--site-u))); max-width: calc(800 * var(--site-u)); margin-block-start: calc(60 * var(--site-u)); }
    & .site-login-method { min-height: calc(220 * var(--site-u)); height: calc(220 * var(--site-u)); padding: calc(39 * var(--site-u)) calc(59 * var(--site-u)); }
    & .site-login-google > p { min-height: calc(44 * var(--site-u)); font-size: calc(16 * var(--site-u)); line-height: calc(22 * var(--site-u)); }
    & .site-login-method form { grid-template-rows: calc(48 * var(--site-u)) calc(48 * var(--site-u)); gap: calc(44 * var(--site-u)); }
    & .site-login-email-field { height: calc(48 * var(--site-u)); }
    & .site-login-method input { height: calc(48 * var(--site-u)); min-height: calc(48 * var(--site-u)); padding: calc(12 * var(--site-u)) calc(15 * var(--site-u)); }
    & .site-login-method button { min-height: calc(48 * var(--site-u)); height: calc(48 * var(--site-u)); padding: calc(12 * var(--site-u)) calc(8 * var(--site-u)); font-size: calc(14 * var(--site-u)); line-height: calc(20 * var(--site-u)); }
    & .site-login-method #gbtn { gap: calc(10 * var(--site-u)); }
    & .site-login-method #gbtn img { width: calc(20 * var(--site-u)); }
    & .site-login-or { font-size: calc(18 * var(--site-u)); }
    & .site-login-hint { margin-block-start: calc(80 * var(--site-u)); font-size: calc(14 * var(--site-u)); line-height: calc(20 * var(--site-u)); }
    & .site-login-legal { font-size: calc(14 * var(--site-u)); line-height: calc(20 * var(--site-u)); }
    & .site-login h1 + .site-lead { margin-block-start: calc(20 * var(--site-u)); }
    & .site-login #login-sent { width: min(calc(600 * var(--site-u)), 100%); min-height: calc(300 * var(--site-u)); padding: calc(39 * var(--site-u)); }
    & .site-login #login-sent .site-login-sent-icon { width: calc(80 * var(--site-u)); height: calc(80 * var(--site-u)); margin-block-end: calc(10 * var(--site-u)); }
    & .site-login #login-sent h2 { font-size: calc(16 * var(--site-u)); line-height: calc(22 * var(--site-u)); }
    & .site-login #login-sent p { margin-block-start: calc(10 * var(--site-u)); font-size: calc(14 * var(--site-u)); line-height: calc(20 * var(--site-u)); }

    /* 法律文档 */
    & .site-legal { grid-template-columns: minmax(0, 3fr) minmax(calc(180 * var(--site-u)), 1fr); gap: calc(48 * var(--site-u)); }
    & .legal-sidebar { inset-block-start: calc(var(--site-header-height) + 24 * var(--site-u)); padding-block-start: calc(20 * var(--site-u)); }
    & .legal-sidebar nav { gap: calc(8 * var(--site-u)); }
    & .legal-sidebar a { padding: calc(12 * var(--site-u)); border-inline-start-width: calc(4 * var(--site-u)); font-size: calc(14 * var(--site-u)); }
    & .legal-sidebar [aria-current]::before { inset-inline-start: calc(-4 * var(--site-u)); width: calc(4 * var(--site-u)); }
    & .site-prose h1 { margin-block-end: calc(24 * var(--site-u)); }
    & .site-prose h2 { font-size: calc(20 * var(--site-u)); margin-block: calc(48 * var(--site-u)) calc(16 * var(--site-u)); }
    & .site-prose h3 { font-size: calc(18 * var(--site-u)); margin-block: calc(28 * var(--site-u)) calc(12 * var(--site-u)); }
    & .site-prose p, & .site-prose ul, & .site-prose ol { margin-block-end: calc(20 * var(--site-u)); }
    & .site-prose ul, & .site-prose ol { padding-inline-start: calc(40 * var(--site-u)); }
    & .site-legal .meta { gap: calc(12 * var(--site-u)); margin-block: calc(24 * var(--site-u)) calc(28 * var(--site-u)); }
    & .site-legal .meta .pill { padding: calc(12 * var(--site-u)) calc(14 * var(--site-u)); border-radius: calc(10 * var(--site-u)); font-size: calc(14 * var(--site-u)); }
    & .site-legal .pill b { margin-block-end: calc(4 * var(--site-u)); font-size: calc(11 * var(--site-u)); line-height: calc(16 * var(--site-u)); }
  }
  }
}

/* M5A1：箭头对齐正文列；18px 图形底边距分屏底部固定 40px，点击区域为 44px。 */
.m5-layout .site-screen.m5-screen-guide { position: relative; }
.m5-next-screen { position: absolute; inset-block-end: 27px; inset-inline-start: calc((100% - 40px) * .3125); transform: translateX(-50%); display: none; place-items: center; width: 44px; height: 44px; color: var(--site-teal); border-radius: 4px; }
.m5-next-screen svg { width: 18px; height: 18px; }
#p-scans .m5-score-result strong { line-height: 48px; }
@media (max-width: 759px) {
  .m5-next-screen { inset-inline-start: 50%; }
}
@media (max-width: 480px) {
  .m5-geo-comparison { grid-template-columns: 1fr; }
}

/* 每周工作末行与分数区末行的报告入口。窄屏仍按内容顺序排列。 */
.m5-grid-action { display: flex; align-items: center; justify-content: flex-start; }
.m5-weekly .m5-grid-action { grid-row: span 2; }
.m5-weekly:has(.m5-grid-action) article:last-of-type { padding-bottom: 0; }
.m5-score-bands > .m5-grid-action { display: flex; grid-column: span 2; }
@media (min-width: 760px) and (max-width: 1099px) {
  .m5-next-screen { inset-inline-start: calc((100% - 32px) / 3); }
  .m5-score-bands > .m5-grid-action { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
  .m5-grid-action { justify-content: flex-start; }
  .m5-score-bands > .m5-grid-action { justify-content: flex-start; }
}

/* 与 common.css 的分屏吸附断点及减少动态效果设置一致。 */
@media (min-width: 1100px) and (min-height: 700px) and (prefers-reduced-motion: no-preference) {
  .site-snap .m5-layout .site-screen.m5-screen-guide { padding-block-end: 100px; }
  .site-snap:not(.site-free-scroll) .m5-next-screen { display: grid; }
  /* 周工作内容较密，保留箭头点击区与正文之间至少一段间隔。 */
  .site-snap body[data-site-page=does] .site-screen.m5-screen-guide { padding-block-end: 84px; }
}

/* 无脚本时，页脚锚点仍可成为滚动终点。 */
#site-footer:target { scroll-snap-align: start; }

@media (max-width: 759px) {
  /* 40px 头像在页头内居中；卡片与头像底边保持 80px 间距。 */
  #p-final { padding-block-start: calc((var(--site-header-height) - 1px) / 2 + 20px + 80px); }
}
