.section-nav a[aria-current="page"] {
  color: var(--color-ink);
  font-weight: 690;
  text-decoration: underline;
  text-decoration-color: var(--color-seal);
  text-decoration-thickness: 1.5px;
}

.product-hero {
  display: grid;
  position: relative;
  align-items: center;
  isolation: isolate;
  min-height: clamp(31rem, 44vw, 41rem);
  border-bottom: 1px solid var(--color-deep-rule);
}
.product-landscape {
  position: absolute;
  inset: 0 0 0 auto;
  z-index: -1;
  width: max(62%, calc((100% - var(--frame)) / 2 + 46rem));
  overflow: hidden;
  mix-blend-mode: multiply;
  mask-image: linear-gradient(90deg, transparent 3%, #000 62%);
}
.product-landscape img { width: 100%; height: 100%; object-fit: cover; object-position: right 57%; }
.product-hero-content { padding-block: 4rem 4.4rem; }
.product-hero h1 { max-width: 100%; font-size: clamp(3.1rem, 5.9vw, 5.85rem); line-height: 1; }
html[lang="ko"] .product-hero h1 { font-size: clamp(2.9rem, 5.6vw, 5.2rem); line-height: 1.1; }
.product-lede { max-width: 39ch; margin-block-start: 1.45rem; color: var(--color-ink); font-size: clamp(1.05rem, 1.4vw, 1.25rem); }
.product-chain ol, .workflow-steps, .install-packets ul { list-style: none; padding: 0; margin: 0; }
.product-chain ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--color-deep-rule); }
.product-chain li { padding: 1.45rem 1.2rem 1.45rem 0; }
.product-chain li + li { border-inline-start: 1px solid var(--color-rule); padding-inline-start: 1.2rem; }
.product-chain h2 { font: 680 1rem/1.48 var(--font-sans); letter-spacing: 0; }
.product-chain p { margin-block-start: .3rem; color: var(--color-secondary); font-size: .92rem; }
.engine-example { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.engine-example > .section-head, .home-install .section-head { margin-block-end: 0; }
.engine-example .text-link { margin-block-start: .7rem; }
.example-sheet { padding: 1.45rem clamp(1.2rem, 3vw, 2.4rem) 1.3rem; background: var(--color-sheet); border-block: 1px solid var(--color-deep-rule); }
.example-sheet h3 { font-family: var(--font-heading); font-size: clamp(1.35rem, 2vw, 1.85rem); font-weight: 500; margin-bottom: .6rem; }
.example-sheet dl > div { display: grid; grid-template-columns: minmax(6.5rem, .75fr) minmax(0, 2fr); gap: .8rem; padding-block: .7rem; border-top: 1px solid var(--color-rule); }
.example-sheet dt, .proof-fields dt, .workflow-roles dt, .detail-label { font-weight: 660; }
.example-sheet dd, .workflow-roles dd { color: var(--color-secondary); }
.example-result { border-top: 1px solid var(--color-rule); padding-block-start: .85rem; color: var(--color-seal); font-size: .92rem; }
.product-band { background: var(--color-sheet); border-block: 1px solid var(--color-rule); }
.method-expanded { display: grid; grid-template-columns: minmax(0, .81fr) minmax(0, 1.45fr); gap: clamp(1.2rem, 6vw, 5.5rem); align-items: start; }
.method-expanded .section-head { margin: 0; }
.workflow-steps { counter-reset: workflow; border-top: 1px solid var(--color-deep-rule); }
.workflow-steps li { display: grid; grid-template-columns: 2.65rem minmax(0, 1fr); gap: .75rem; padding-block: 1.25rem; border-bottom: 1px solid var(--color-rule); counter-increment: workflow; }
.workflow-steps li::before { content: counter(workflow, decimal-leading-zero); color: var(--color-seal); font-size: .89rem; font-variant-numeric: tabular-nums; font-weight: 640; padding-block-start: .25rem; }
.workflow-steps h3, .case-list h3 { font-size: 1.25rem; line-height: 1.35; margin-block-end: .25rem; }
.workflow-steps p { max-width: 67ch; }
.workflow-roles { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem 1.25rem; margin-block-start: .85rem; font-size: .88rem; }
.case-list { border-top: 1px solid var(--color-deep-rule); }
.case-entry { display: grid; grid-template-columns: minmax(9rem, .7fr) minmax(0, 1.45fr) minmax(7rem, .53fr); gap: clamp(.7rem, 3vw, 2.4rem); align-items: start; border-bottom: 1px solid var(--color-rule); padding-block: 1.25rem; }
.case-kind { font-size: .87rem; color: var(--color-seal); }
.case-result { font-weight: 620; margin-block-start: .34rem; }
.case-limit { font-size: .9rem; color: var(--color-secondary); margin-block-start: .28rem; }
.case-entry > .text-link { justify-self: end; }
.next-surface { margin-block-start: 1.3rem; }
.home-install { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem; }
.page-intro { padding-block: clamp(2.85rem, 6vw, 5rem) 1.95rem; }
.page-intro h1, html[lang="ko"] .page-intro h1 { font-size: clamp(2.75rem, 6.3vw, 5rem); line-height: 1.06; }
.page-intro p { max-width: 69ch; margin-block-start: .95rem; color: var(--color-secondary); font-size: clamp(1rem, 1.45vw, 1.17rem); }
.bench { padding-block-end: clamp(3rem, 7vw, 6rem); }
.bench-controls {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) auto;
  align-items: end;
  gap: .4rem 1.35rem;
  background: var(--color-sheet);
  border-block: 1px solid var(--color-deep-rule);
  padding: 1.25rem clamp(1rem, 3vw, 2rem);
}
.bench-controls label { display: block; font-weight: 665; margin-block-end: .35rem; }
.bench-controls select { font: inherit; background: var(--color-paper); color: var(--color-ink); width: 100%; min-height: 2.85rem; padding-inline: .55rem; border: 1px solid var(--color-deep-rule); border-radius: 3px; }
.bench-controls button { grid-column: 3; grid-row: 1; }
.bench-controls .bench-scope { grid-column: 1 / -1; min-height: 1.65em; margin-top: .35rem; color: var(--color-secondary); font-size: .9rem; }
.bench-controls button:disabled { opacity: .75; cursor: wait; }
.bench-mode { font-size: .88rem; color: var(--color-secondary); padding-block: .85rem 1rem; }
.bench-output { border-block: 1px solid var(--color-deep-rule); padding-block: 1.5rem; }
.bench-output-heading { display: flex; flex-wrap: wrap; gap: .65rem 1rem; align-items: baseline; justify-content: space-between; }
.bench-output-heading > p { color: var(--color-seal); font-weight: 650; }
.bench-output-heading > p[data-state="ready_for_trial"] { color: var(--color-accepted); }
.bench-output > [data-run-body] { margin-top: .8rem; }
.proof-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.65rem; }
.proof-fields > div { padding-block: .7rem; border-bottom: 1px solid var(--color-rule); }
.proof-fields dd { margin-top: .15rem; color: var(--color-secondary); }
.proof-fields .proof-wide { grid-column: 1 / -1; }
.run-note { margin-top: 1rem; max-width: 70ch; color: var(--color-secondary); }
.run-evidence, .run-input-changes { margin-top: 1.45rem; }
.run-evidence h3, .run-input-changes h3 { font-size: 1.1rem; }
.run-evidence details { border-bottom: 1px solid var(--color-rule); }
.run-evidence h3 + details { border-top: 1px solid var(--color-rule); margin-top: .45rem; }
.run-evidence summary { padding-block: .67rem; cursor: pointer; font-weight: 600; }
.run-evidence details > div { padding: 0 .65rem .75rem 1.1rem; }
.run-evidence details p, .run-evidence ul { margin-block: .3rem; color: var(--color-secondary); }
.evidence-ref { display: block; padding-block: .35rem; overflow-wrap: anywhere; }
.evidence-ref code, .hash-line code, .install-contents code, .research-artifact code { font-size: .83rem; overflow-wrap: anywhere; }
.hash-line { margin-top: 1rem; font-size: .9rem; color: var(--color-secondary); }
.bench-links { display: flex; flex-wrap: wrap; gap: .1rem 1.25rem; padding-top: .65rem; }
.research-index { margin-block-end: clamp(2.7rem, 6vw, 5.25rem); }
.research-results table + table { margin-top: 2.05rem; }
.research-results td, .research-results th { overflow-wrap: anywhere; }
.research-results small { display: block; color: var(--color-secondary); }
.research-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; color: var(--color-secondary); padding-top: 1rem; }
.research-source { padding-block: clamp(2.7rem, 6vw, 5.25rem); }
.research-artifact { margin-top: 2rem; padding-top: 1.35rem; border-top: 1px solid var(--color-deep-rule); }
.research-artifact h3 { font-size: 1.24rem; }
.research-artifact p { margin-top: .35rem; max-width: 70ch; }
.install-contents { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.5fr); gap: 1.35rem clamp(2rem, 7vw, 6.5rem); padding-block: 1rem clamp(3rem, 7vw, 6rem); }
.install-packets { border-top: 1px solid var(--color-deep-rule); padding-top: 1.05rem; }
.install-packets h2 { font-size: clamp(1.75rem, 3.2vw, 2.7rem); }
.install-packets p { margin-block: .7rem; color: var(--color-secondary); }
.install-methods article { border-top: 1px solid var(--color-deep-rule); padding-block: 1.1rem 1.5rem; }
.local-demo { padding: 0 0 1.3rem; }
.local-demo p { margin-top: .5rem; color: var(--color-secondary); }
.install-methods h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); }
.install-methods p { margin-block: .65rem; }
.install-methods pre, .research-artifact pre { padding: .9rem 1.1rem; background: var(--color-sheet); white-space: pre-wrap; overflow-wrap: anywhere; margin: .75rem 0 0; border-top: 1px solid var(--color-rule); }
.install-scope { grid-column: 1 / -1; border-top: 1px solid var(--color-rule); padding-top: .85rem; color: var(--color-secondary); }

@media (min-width: 761px) and (max-width: 980px) {
  .product-landscape { width: 65%; mask-image: linear-gradient(90deg, transparent, #000 75%); }
}
@media (max-width: 760px) {
  .masthead-inner .section-nav { flex-wrap: wrap; column-gap: .6rem; }
  .product-hero { min-height: 0; }
  .product-hero-content { padding-block: 2.9rem .95rem; }
  .product-hero h1 { font-size: clamp(1.97rem, 9.6vw, 3.65rem); }
  html[lang="ko"] .product-hero h1 { font-size: clamp(1.8rem, 9.25vw, 3.7rem); }
  .product-landscape { position: relative; width: 100%; max-height: 22rem; grid-row: 2; mask-image: linear-gradient(180deg, transparent, #000 23%); }
  .product-landscape img { height: clamp(11rem, 45vw, 22rem); object-position: 57% 63%; }
  .product-chain ol { grid-template-columns: 1fr; }
  .product-chain li { padding: .85rem .75rem .85rem 0; }
  .product-chain li + li { border-inline-start: 0; padding-inline-start: 0; border-top: 1px solid var(--color-rule); }
  .engine-example, .method-expanded, .install-contents, .research-notes { grid-template-columns: 1fr; gap: 1.5rem; }
  .case-entry { grid-template-columns: 1fr; gap: .35rem; }
  .case-entry > .text-link { justify-self: start; }
  .bench-controls { grid-template-columns: 1fr 1fr; }
  .bench-controls button { grid-row: auto; grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 420px) {
  .product-lede { margin-block-start: 1rem; }
  .bench-controls, .proof-fields, .workflow-roles { grid-template-columns: 1fr; gap: .45rem; }
  .bench-controls > div + div { margin-block-start: .2rem; }
  .bench-controls button { margin-block-start: .25rem; }
  .example-sheet dl > div { grid-template-columns: 1fr; gap: .15rem; }
  .research-results :is(th, td) { padding-inline: .3rem; }
  .research-results thead th { font-size: .78rem; }
}
