/* Approved site-wide typography and spacing, based on the limited-company pages. */
:root {
  --lmy-font: "PingFang TC", "Microsoft JhengHei", Arial, sans-serif;
  --lmy-main-padding: 28px;
  --lmy-inner-padding: 20px;
}
html[lang="en"] { --lmy-font: Arial, "PingFang TC", "Microsoft JhengHei", sans-serif; }
body, body * { font-family: var(--lmy-font) !important; }
body { font-size: 16px; line-height: 1.2 !important; }
body :is(p,li,small,summary,details,.card,.service-card,.step,.lmy-plan,.lmy-quote-card,.note,.package-note,.contact-details,.site-tagline,.site-company-zh) {
  line-height: 1.2 !important;
}
body h1, body .lmy-site-header .site-company-name, body .about-copy .about-headline {
  font-size: 32px !important;
  line-height: 1.2 !important;
}
body h2 { font-size: 24px !important; line-height: 1.2 !important; }
body h3 { font-size: 20px !important; line-height: 1.2 !important; }
body :is(.lmy-quote-footer,.lmy-plan-note,.lmy-price-reference,.lmy-quote-exclusion,.audit-card-note,.tax-effective-note,.package-note,.note) {
  font-size: 13px !important;
  line-height: 1.2 !important;
}
body table { border-collapse: collapse; width: 100%; }
body table :is(th,td) {
  box-sizing: border-box;
  padding: 10px 12px !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  vertical-align: top;
}
body table tfoot td.tax-effective-note { font-size: 13px !important; }
body main.wrap { box-sizing: border-box; width: 100%; max-width: 1280px; margin-inline: auto; padding-inline: 24px; }
body main.wrap > section, body main.wrap > .card {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  padding: var(--lmy-main-padding) !important;
}
body section:is(.intro,.services,.why-choose-us,.process,.faq):not(main.wrap > section) {
  box-sizing: border-box;
  width: calc(100% - 48px);
  max-width: 1232px;
  margin-inline: auto;
  padding: var(--lmy-main-padding) !important;
}
body section:is(.intro,.services,.why-choose-us,.process,.faq) > .container {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  padding: 0;
}
body :is(.service-card,.step,.lmy-plan,.lmy-quote-card,.pros > div,.lmy-process-grid > div) {
  box-sizing: border-box;
  padding: var(--lmy-inner-padding) !important;
}
body main.wrap > section > .card { padding: 0 !important; }
body section.intro.lmy-about-services { padding: 0 !important; }
body .about-copy { padding: var(--lmy-main-padding); }
body .about-service-grid { padding: var(--lmy-main-padding) var(--lmy-main-padding) 0; }
/* Allow translated plan descriptions to wrap instead of extending beyond cards. */
body .lmy-plan .plan-description { white-space: normal !important; }
@media(max-width:700px) {
  :root { --lmy-main-padding: 20px; --lmy-inner-padding: 16px; }
  body main.wrap { padding-inline: 18px; }
  body section:is(.intro,.services,.why-choose-us,.process,.faq):not(main.wrap > section) { width: calc(100% - 36px); }
}
