/* Claude product-page composition, with original cloud/accounting content. */
@font-face {
  font-family: "Yuncai Editorial";
  src: url("../brand/fonts/noto-serif-sc-review-v2.woff2?v=20260906-vision") format("woff2");
  font-weight: 500;
  font-display: swap;
}
.model-product-page {
  --product-paper: #faf9f5;
  --product-ink: #242320;
  --product-muted: #6c685f;
  --product-accent: #ac5238;
  --product-rule: #dedbd2;
  --product-gutter: clamp(32px, 10.5vw, 184px);
  --product-display: "Yuncai Editorial", "Noto Serif SC", "Source Han Serif SC", "Songti SC", SimSun, serif;
}
body.review-page.model-product-page.is-technical-spec {
  padding-top: 0 !important; overflow-x: clip !important; overflow-y: visible !important;
  color: var(--product-ink); background: var(--product-paper) !important;
}
.model-product-page .review-topbar {
  min-height: 82px; padding: 0 clamp(28px, 4.4vw, 76px);
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 32px;
  border: 0; border-bottom: 1px solid rgb(70 60 45 / 7%);
  background: rgb(250 249 245 / 42%); backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px); box-shadow: none;
}
.model-product-page .review-topnav { grid-column: 2; gap: 28px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.model-product-page .review-topnav a,
.model-product-page .review-topnav a.is-active {
  min-height: 40px; padding: 0; border: 0; border-radius: 0; background: transparent;
  color: #504d46; font-size: 15px; font-weight: 400; box-shadow: none; text-decoration: none;
}
.model-product-page .review-topnav a.is-active { color: #242320; font-weight: 600; }
.model-product-page .review-topnav a:hover,
.model-product-page .review-topnav a.is-active:hover { background: transparent; color: inherit; box-shadow: none; text-decoration: none; }
.model-product-page .review-actions { grid-column: 3; align-items: center; gap: 10px; }
.model-product-page a:focus-visible,
.model-product-page button:focus-visible,
.model-product-page summary:focus-visible,
.model-product-panel:focus-visible { outline: 2px solid #706b60; outline-offset: 5px; box-shadow: none; }
body.review-page.model-product-page.is-technical-spec .review-shell,
body.review-page.model-product-page.is-technical-spec .technical-spec-board {
  width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;
  border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important;
}
.model-product-container { width: min(1160px, calc(100% - var(--product-gutter) * 2)); margin-inline: auto; }
.model-product-intro { position: relative; isolation: isolate; }
.model-product-intro [hidden] { display: none !important; }
.model-product-hero { position: relative; padding-top: 174px; min-height: 740px; min-height: min(880px, 91svh); }
.model-product-flow {
  position: absolute; z-index: -1; inset: 0 0 -115px; overflow: hidden; pointer-events: none;
  mix-blend-mode: multiply; transform: translateY(-160px);
  /* Fade the real bitmap into the page; these masks do not create the artwork. */
  mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 72%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 72%, transparent 100%);
}
.model-product-flow img, .model-product-flow canvas {
  display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center;
  mask-image: linear-gradient(to right, transparent 24%, #000 66%);
  -webkit-mask-image: linear-gradient(to right, transparent 24%, #000 66%);
}
.model-product-flow canvas { position: absolute; inset: 0; }
.model-product-eyebrow { margin: 0 0 28px; color: var(--product-muted); font-size: 14px; font-weight: 400; line-height: 1.6; letter-spacing: .05em; }
.model-product-hero h1 {
  max-width: 760px; margin: 0; color: #242320; font-family: var(--product-display) !important;
  font-size: clamp(40px, 4.25vw, 64px); font-weight: 500 !important; line-height: 1.4; letter-spacing: -.055em;
}
.model-product-description { margin-top: 26px; color: #605d55; font-size: 18px; line-height: 1.8; }
.model-product-cta { display: flex; align-items: center; gap: 30px; margin-top: 32px; }
.model-product-primary, .model-product-link {
  display: inline-flex; align-items: center; justify-content: center; gap: 13px;
  color: var(--product-ink); font-size: 15px; line-height: 1.6; font-weight: 400; text-decoration: none;
}
.model-product-primary { min-height: 48px; padding: 12px 22px; border: 1px solid #242320; border-radius: 7px; background: #242320; color: #fff; }
.model-product-primary:hover { background: #3c3933; border-color: #3c3933; color: #fff; text-decoration: none; }
.model-product-link:hover { color: #242320; text-decoration: underline; text-underline-offset: 5px; }
.model-product-arrow { width: 18px; height: 18px; flex-shrink: 0; fill: currentColor; transform: rotate(90deg); }
.model-product-meta { margin-top: 22px; color: #817b71; font-size: 12px; }
#model-capabilities-title, #model-details-title, [id^="tech-"], #model-technical-details { scroll-margin-top: 22px; }
.model-product-capabilities { padding-top: 100px; }
.model-product-section-heading { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 72px; margin-bottom: 54px; }
.model-product-section-heading h2, .model-product-details h2, .model-product-vision h2 {
  margin: 0; font-family: var(--product-display) !important; font-size: clamp(30px, 3vw, 43px);
  font-weight: 500 !important; line-height: 1.55; letter-spacing: -.04em; color: #242320;
}
.model-product-section-heading > p { margin: 0 0 8px; color: var(--product-muted); font-size: 16px; line-height: 1.9; }
.model-example { padding: 30px 38px 24px; border: 0; border-radius: 12px; background: #f1efe7; }
.model-example-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.model-example-heading h3 { margin: 0; font-size: 17px; font-weight: 500; }
.model-example-heading > span { color: #797367; font-size: 12px; }
.model-product-tabs { display: flex; gap: 30px; margin-top: 25px; border-bottom: 1px solid #d9d5c9; }
.model-product-tabs button {
  margin: 0 0 -1px; padding: 15px 2px; border: 0; border-bottom: 2px solid transparent;
  border-radius: 0; background: transparent; color: #767065; font-size: 15px; font-weight: 400; box-shadow: none; cursor: pointer;
}
.model-product-tabs button[aria-selected="true"] { color: var(--product-accent); border-bottom-color: var(--product-accent); }
.model-product-tabs button:hover { background: transparent; color: #242320; }
.model-product-panel { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 58px; min-height: 285px; padding: 32px 0; }
.model-example-copy .model-example-kicker { margin: 0 0 13px; color: #81796d; font-size: 12px; }
.model-example-copy h4 { margin: 0 0 18px; color: #2d2a24; font-size: clamp(19px, 1.55vw, 23px); font-weight: 400; line-height: 1.7; }
.model-example-copy > p:last-child { max-width: 360px; color: #756f64; font-size: 13px; line-height: 1.85; }
.model-example-facts, .model-example-calculation { margin: 0; }
.model-example-facts > div, .model-example-calculation > div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 15px 0; border-bottom: 1px solid #dcd7ca; }
.model-example-facts > div:last-child { border-bottom: 0; }
.model-example-facts dt, .model-example-calculation dt { color: #756e62; font-size: 13px; }
.model-example-facts dd, .model-example-calculation dd { margin: 0; color: #373229; font-size: 15px; text-align: right; font-variant-numeric: tabular-nums; }
.model-example-facts small, .model-example-calculation small, .model-example-ledger small { font-size: 11px; }
.model-example-calculation > div { padding: 10px 0; border: 0; }
.model-example-calculation > .model-example-total { padding-top: 16px; border-top: 1px solid #d7d1c2; }
.model-example-total dd { color: var(--product-accent); font-size: 22px; }
.model-example-ledger { width: 100%; margin: 0; background: transparent; border-collapse: collapse; color: #373229; }
.model-example-ledger caption { text-align: left; margin-bottom: 18px; color: #81796d; font-size: 12px; }
.model-example-ledger th, .model-example-ledger td { padding: 22px 7px; border: 0; border-bottom: 1px solid #dcd7ca; background: transparent; text-align: left; font-size: 15px; font-weight: 400; }
.model-example-ledger tr:last-child > * { border: 0; }
.model-example-ledger td:last-child { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.model-example-footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 12px; }
.model-example-footer a { color: #756e62; font-size: 13px; }
.model-example-next { display: inline-flex; align-items: center; gap: 16px; padding: 9px 0 9px 12px; background: transparent; border: 0; color: #514b40; font-size: 13px; font-weight: 400; box-shadow: none; cursor: pointer; }
.model-example-next:hover { color: #a14b32; background: transparent; }
.model-example-note { margin: 16px 0 0; max-width: 720px; font-size: 11px; line-height: 1.8; color: #817b70; }
.model-product-details { display: grid; grid-template-columns: 1fr 1.1fr; align-items: start; gap: 80px; padding-top: 145px; padding-bottom: 140px; }
.model-product-details-intro > p:last-child { max-width: 325px; margin-top: 25px; color: var(--product-muted); font-size: 14px; line-height: 1.9; }
.model-product-notes details { border-bottom: 1px solid var(--product-rule); }
.model-product-notes details:first-child { border-top: 1px solid var(--product-rule); }
.model-product-notes summary { padding: 24px 2px; color: #403b31; font-size: 16px; cursor: pointer; list-style-position: inside; }
.model-product-notes summary::marker { color: #867d6e; font-size: 11px; }
.model-product-note-body { padding: 0 3px 26px 19px; font-size: 14px; line-height: 1.85; color: #6b655a; }
.model-product-note-body > p + p { margin-top: 15px; }
.model-product-method { padding-left: 20px; margin: 20px 0; }
.model-product-method li { padding: 6px 0 6px 6px; }
.model-product-method strong { display: block; font-weight: 500; color: #494237; }
.model-product-method span { font-size: 13px; }
.model-product-score-pair { display: flex; align-items: center; gap: 30px; margin: 24px 0; }
.model-product-score-pair > div { display: grid; gap: 3px; }
.model-product-score-pair span { font-size: 12px; }
.model-product-score-pair strong { color: #423b30; font-size: 38px; line-height: 1.4; font-weight: 400; font-variant-numeric: tabular-nums; }
.model-product-score-pair > div:last-child strong { color: var(--product-accent); }
.model-product-note-body .model-product-limit { font-size: 12px; line-height: 1.8; }
.model-product-vision { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 60px; padding-block: 90px 130px; border-top: 1px solid var(--product-rule); }
.model-product-vision-art { margin: 0; }
.model-product-vision-art img { display: block; width: 100%; height: auto; border-radius: 12px; }
.model-product-vision-copy .model-product-eyebrow { margin-bottom: 20px; }
.model-product-vision h2 { font-size: clamp(29px, 2.5vw, 38px); }
.model-product-vision-copy > p:not(.model-product-eyebrow) { max-width: 390px; margin-top: 22px; color: var(--product-muted); font-size: 15px; line-height: 1.9; }
@media (max-width: 1200px) {
  .model-product-page { --product-gutter: 7vw; }
  .model-product-page .review-topbar { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 18px; padding-inline: 28px; }
  .model-product-page .review-topnav { gap: 22px; }
  .model-product-hero h1 { font-size: 52px; }
  .model-product-section-heading { gap: 40px; }
  .model-product-details { gap: 50px; }
  .model-product-panel { gap: 35px; }
  .model-product-vision { gap: 40px; }
}
@media (max-width: 1160px) {
  .model-product-page .review-topbar { grid-template-columns: 1fr !important; gap: 8px 20px !important; padding: 12px 28px 8px !important; }
  .model-product-page .review-actions { grid-column: 1 / -1; grid-row: 1; justify-self: end; }
  .model-product-page .review-topnav { grid-column: 1 / -1; grid-row: 2; justify-content: center; padding: 0 !important; border-radius: 0 !important; }
}
@media (max-width: 900px) {
  .model-product-page { --product-gutter: 32px; }
  .model-product-page .review-topnav { justify-content: flex-start; }
  .model-product-hero { padding-top: 190px; min-height: 770px; }
  .model-product-flow { opacity: .75; transform: translateY(-100px); }
  .model-product-hero h1 { font-size: 48px; }
  .model-product-section-heading { gap: 32px; }
  .model-product-section-heading h2, .model-product-details h2 { font-size: 31px; }
  .model-product-section-heading > p { font-size: 14px; }
  .model-example { padding: 25px; }
  .model-product-panel { gap: 28px; }
  .model-example-copy h4 { font-size: 18px; }
  .model-example-facts > div { display: block; }
  .model-example-facts dd { text-align: left; margin-top: 5px; }
  .model-product-vision { grid-template-columns: 1fr; gap: 38px; padding-block: 65px 100px; }
  .model-product-vision-art { max-width: 640px; }
  .model-product-vision-copy > p:not(.model-product-eyebrow) { max-width: 530px; }
}
@media (max-width: 600px) {
  .model-product-page { --product-gutter: 24px; }
  .model-product-page .review-topbar { padding-inline: 20px !important; }
  .model-product-page .review-topnav { width: 100%; justify-content: space-between; gap: 12px; }
  .model-product-page .review-topnav a { font-size: 13px !important; padding-inline: 0 !important; }
  .model-product-hero { padding-top: 175px; min-height: 730px; }
  .model-product-hero h1 { font-size: clamp(33px, 8.2vw, 42px); letter-spacing: -.07em; line-height: 1.5; }
  .model-product-eyebrow { margin-bottom: 24px; font-size: 12px; }
  .model-product-description { margin-top: 25px; font-size: 16px; }
  .model-product-capabilities { padding-top: 55px; }
  .model-product-section-heading { display: block; margin-bottom: 30px; }
  .model-product-section-heading h2, .model-product-details h2 { font-size: 30px; }
  .model-product-section-heading > p { margin-top: 20px; }
  .model-example { padding: 23px 20px; border-radius: 9px; }
  .model-product-tabs { gap: 23px; }
  .model-product-tabs button { font-size: 13px; }
  .model-product-panel { grid-template-columns: 1fr; align-content: start; gap: 25px; min-height: 455px; padding-block: 25px; }
  .model-example-copy h4 { font-size: 19px; }
  .model-example-facts > div { display: flex; }
  .model-example-facts dd { font-size: 13px; text-align: right; }
  .model-example-facts dt { font-size: 12px; }
  .model-example-ledger th, .model-example-ledger td { padding-inline: 3px; font-size: 13px; }
  .model-example-footer { gap: 15px; }
  .model-example-footer a, .model-example-next { font-size: 12px; }
  .model-example-next { gap: 8px; }
  .model-product-details { grid-template-columns: 1fr; gap: 38px; padding-block: 100px 80px; }
  .model-product-vision { gap: 30px; padding-block: 50px 80px; }
  .model-product-vision h2 { font-size: 29px; }
}
