/* Homepage colors, typography and site chrome come from home.css. */
.guide-page { padding-bottom: 0; }
.guide-page .section-shell { width: min(1216px, calc(100% - 112px)); margin-inline: auto; }
.guide-page .main-nav [aria-current] { color: var(--accent); }
.guide-breadcrumbs { padding-top: 28px; color: var(--text); font-size: 12px; line-height: 1.8; overflow-wrap: anywhere; }
.guide-breadcrumbs span[aria-hidden] { margin-inline: 7px; color: #879bb1; }
.guide-breadcrumbs a:hover { text-decoration: underline; text-underline-offset: 4px; }
.guide-index-hero, .guide-hero { padding-block: 64px 56px; border-bottom: 1px solid var(--line); }
.guide-page h1 { max-width: 880px; font-size: clamp(36px, 4.1vw, 60px); line-height: 1.15; letter-spacing: -.045em; }
html:lang(zh-Hans) .guide-page h1 { font-size: clamp(32px, 3.5vw, 50px); line-height: 1.4; letter-spacing: -.04em; }
.guide-index-hero .eyebrow, .guide-hero .eyebrow { display: block; margin-bottom: 22px; color: #627d9c; }
.guide-index-hero > p, .guide-hero > div > p { max-width: 740px; margin-top: 24px; color: var(--text); font-size: 16px; }
.guide-hero { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, .8fr); align-items: center; gap: 68px; }
.guide-hero h1 { font-size: clamp(36px, 3.6vw, 52px); }
.guide-layout { display: grid; grid-template-columns: minmax(0, 260px) minmax(0, 760px); gap: 72px; padding-block: 56px 72px; }
.guide-layout > * { min-width: 0; }
.guide-summary { align-self: start; border: 1px solid var(--line); background: #eaf0f7; padding: 24px; border-radius: 10px; }
.guide-summary strong { display: block; font-size: 12px; letter-spacing: .05em; margin-bottom: 12px; }
.guide-summary p { color: var(--text); font-size: 13px; line-height: 1.9; }
.guide-prose { min-width: 0; }
.guide-prose section + section { margin-top: 48px; }
.guide-prose h2 { font-size: 28px; line-height: 1.4; letter-spacing: -.035em; margin-bottom: 19px; }
.guide-prose p { color: var(--text); font-size: 16px; line-height: 1.9; }
.guide-prose p + p { margin-top: 18px; }
.guide-prose a:not(.button), .guide-byline a { color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }
.guide-prose .guide-formula { background: #eaf0f7; border-left: 3px solid #7390af; padding: 20px 24px; border-radius: 0 8px 8px 0; overflow-wrap: anywhere; }
.ratio-example { margin-block: 24px; }
.ratio-bar { display: grid; grid-template-columns: 3fr 2fr; border-radius: 7px; overflow: hidden; }
.ratio-bar span { padding: 18px 8px; text-align: center; color: white; background: var(--ink); font-size: 14px; }
.ratio-bar span + span { background: var(--blue); color: var(--ink); }
.ratio-example figcaption { margin-top: 12px; font-size: 12px; color: var(--text); line-height: 1.8; }
.guide-table-wrap { width: 100%; overflow-x: auto; margin-block: 26px; }
.guide-table-wrap:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; border-radius: 4px; }
.guide-table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.85; color: var(--text); }
.guide-table caption { text-align: left; font-size: 12px; padding-bottom: 14px; }
.guide-table th, .guide-table td { text-align: left; vertical-align: top; padding: 18px 14px; border-bottom: 1px solid var(--line); }
.guide-table th { color: var(--ink); font-weight: 600; }
.guide-table thead { background: #e6edf6; }
.guide-table tbody th { min-width: 5em; }
.guide-callout { background: #e6edf6; padding: 32px; border-radius: 12px; }
.guide-callout h2 { font-size: 26px; }
.guide-callout p { font-size: 14px; }
.guide-callout .button { margin-top: 24px; }
.guide-byline { width: min(1216px, calc(100% - 112px)); margin: 0 auto; border-top: 1px solid var(--line); padding-block: 24px; font-size: 12px; color: var(--text); }
.guide-index { padding-block: 56px 72px; }
.guide-index > h2 { font-size: 26px; margin-bottom: 30px; }
.guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.guide-card { min-width: 0; display: flex; flex-direction: column; padding: 28px; background: #fff; border: 1px solid var(--line); border-radius: 10px; }
.guide-card-number { font-family: var(--serif); color: #7390af; font-size: 40px; line-height: 1; margin-bottom: 26px; }
.guide-card-type { color: #627d9c; font-size: 10px; letter-spacing: .07em; margin-bottom: 13px; text-transform: uppercase; }
.guide-card h3 { font-size: 22px; line-height: 1.5; margin-bottom: 15px; }
.guide-card > p:not(.guide-card-type) { color: var(--text); font-size: 13px; margin-bottom: 26px; }
.guide-card a { margin-top: auto; font-size: 13px; font-weight: 600; line-height: 1.7; text-decoration: underline; text-underline-offset: 5px; }
.guide-card a:hover { color: var(--accent); }
.guide-page .boundary { background: #e6edf6; border-radius: 12px; padding: 40px; display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.guide-page .boundary h2 { font-size: 28px; }
.guide-page .boundary p { max-width: 780px; margin-top: 16px; font-size: 14px; color: var(--text); }
.guide-page .boundary .text-button { flex-shrink: 0; }
/* Existing diagrams are explanatory figures, with the same quiet blue palette. */
.guide-visual { border: 1px solid var(--line); border-radius: 12px; padding: 22px; background: #eaf0f7; }
.guide-visual-register { display: flex; justify-content: space-between; gap: 12px; color: #627d9c; font-size: 9px; letter-spacing: .08em; }
.guide-visual figcaption { color: var(--text); font-size: 11px; line-height: 1.8; margin-top: 22px; }
.measure-card, .capture-frame { width: 142px; height: 194px; margin: 30px auto 0; position: relative; border: 1px solid #7390af; border-radius: 9px; background: var(--paper); }
.measure-card i { position: absolute; inset: 23px 20px; background: #d8e5f4; border: 1px solid #a6bdd8; border-radius: 3px; }
.measure-axis { position: absolute; z-index: 1; color: var(--ink); font-size: 10px; font-weight: 600; }
.axis-horizontal { top: 5px; left: 0; right: 0; text-align: center; }
.axis-vertical { right: -8px; top: 50%; transform: translate(50%, -50%); writing-mode: vertical-rl; }
.capture-frame { border: 1px dashed #7390af; display: grid; place-items: center; }
.capture-frame::before { content: ''; position: absolute; inset: 20px; border: 1px solid #a6bdd8; border-radius: 5px; background: #d8e5f4; }
.capture-frame i { position: relative; font-family: var(--serif); font-size: 32px; font-style: normal; color: #627d9c; }
@media (max-width: 1100px) {
  .guide-page .section-shell, .guide-byline { width: calc(100% - 72px); }
  .guide-layout { grid-template-columns: minmax(0, 220px) minmax(0, 1fr); gap: 40px; }
  .guide-hero { gap: 36px; }
  .guide-grid { gap: 18px; }
  .guide-card { padding: 22px; }
  .guide-card h3 { font-size: 20px; }
}
@media (max-width: 850px) {
  .guide-page .section-shell, .guide-byline { width: calc(100% - 48px); }
  .guide-layout { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .guide-summary { max-width: 760px; }
  .guide-hero { grid-template-columns: minmax(0, 1fr); }
  .guide-visual { display: none; }
  .guide-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .guide-card { padding: 26px; }
  .guide-card h3 { font-size: 22px; }
  .guide-card-number { margin-bottom: 18px; }
  .guide-card > p:not(.guide-card-type) { max-width: 600px; }
  .guide-page .boundary { display: block; }
  .guide-page .boundary .text-button { margin-top: 20px; }
}
@media (max-width: 600px) {
  .guide-page .section-shell, .guide-byline { width: calc(100% - 40px); }
  .guide-breadcrumbs { padding-top: 23px; font-size: 10px; }
  .guide-breadcrumbs span[aria-hidden] { margin-inline: 3px; }
  .guide-index-hero, .guide-hero { padding-block: 38px 34px; }
  .guide-page h1 { font-size: 35px; line-height: 1.2; }
  html:lang(zh-Hans) .guide-page h1 { font-size: 30px; line-height: 1.45; }
  .guide-index-hero .eyebrow, .guide-hero .eyebrow { margin-bottom: 17px; font-size: 9px; }
  .guide-index-hero > p, .guide-hero > div > p { margin-top: 20px; font-size: 14px; }
  .guide-layout { padding-block: 32px 44px; gap: 36px; }
  .guide-summary { padding: 22px; }
  .guide-prose h2 { font-size: 23px; line-height: 1.5; margin-bottom: 16px; }
  .guide-prose p { font-size: 14px; line-height: 1.95; }
  .guide-prose section + section { margin-top: 38px; }
  .guide-prose .guide-formula { padding: 17px; font-size: 13px; }
  .guide-table { min-width: 480px; font-size: 13px; }
  .guide-table th, .guide-table td { padding: 14px 12px; }
  .guide-callout { padding: 25px; }
  .guide-callout h2 { font-size: 24px; }
  .guide-callout .button { min-height: 48px; font-size: 13px; }
  .guide-byline { font-size: 11px; }
  .guide-index { padding-block: 34px 44px; }
  .guide-index > h2 { font-size: 23px; margin-bottom: 24px; }
  .guide-page .boundary { padding: 26px; }
  .guide-page .boundary h2 { font-size: 25px; }
  .guide-page .boundary p { font-size: 13px; }
}
