@charset "UTF-8";

/* Visual system matched to research.nvidia.com/labs/aie/. */
.page-canto{ color: var(--ink); background: white; }
.page-canto a{ color: inherit; text-decoration: none; }
.page-canto button{ color: inherit; font: inherit; cursor: pointer; }
.page-canto button, .page-canto a, .page-canto summary{ -webkit-tap-highlight-color: transparent; }
.page-canto img{ display: block; max-width: 100%; height: auto; }
.page-canto h1, .page-canto h2, .page-canto h3, .page-canto p, .page-canto figure{ margin: 0; }
.page-canto h1, .page-canto h2, .page-canto h3{ font-weight: 700; }
.page-canto p{ color: var(--muted); }
.page-canto h2{ font-size: clamp(2.25rem, 3.5vw, 3.25rem); line-height: 1.08; letter-spacing: -.04em; font-weight: 680; }
.page-canto h3{ font-size: 1.65rem; line-height: 1.1; letter-spacing: -.03em; }
.page-canto ::selection{ background: #c8e59c; color: var(--ink); }
.page-canto sup{ font-size: 11px; line-height: 0; margin-left: 3px; }
.page-canto .section{ padding-block: clamp(3.5rem, 5vw, 5rem); }
.page-canto .eyebrow, .page-canto .micro-label{ font-size: .72rem; line-height: 1.4; letter-spacing: .11em; font-weight: 800; text-transform: uppercase; }
.page-canto .section-label{ color: var(--green-dark); margin-bottom: 24px; }
.page-canto .text-link{ display: inline-flex; align-items: center; gap: .45rem; width: fit-content; padding: 0 0 .28rem; border-bottom: 1px solid #a4b78d; color: var(--green-dark); font-size: .76rem; line-height: 1.5; font-weight: 800; letter-spacing: .065em; text-transform: uppercase; transition: color .15s, border-color .15s; }
.page-canto .text-link:hover{ color: #2f4a00; border-color: #2f4a00; }
.page-canto .text-link span{ font-size: 1em; line-height: 1; font-weight: 700; letter-spacing: 0; }

/* Project introduction and contents, followed by a wide design loop. */
.page-canto .project-hero{ color: white; background: linear-gradient(112deg, rgba(118,185,0,.075), transparent 38%), var(--graphite-950); }
.page-canto .hero-grid{ display: grid; grid-template-columns: minmax(0,1.18fr) minmax(18rem,.52fr); gap: clamp(3rem,8vw,8rem); align-items: center; padding-block: clamp(3.5rem,6vw,6rem) 3rem; }
.page-canto .hero-copy{ min-width: 0; }
.page-canto .hero-copy h1{ color: white; font-size: clamp(5rem,8.2vw,8rem); font-weight: 700; letter-spacing: -.055em; line-height: .91; }
.page-canto .hero-headline{ margin-top: 1.65rem; max-width: 42rem; color: #91cc34; font-size: clamp(1.6rem,2.5vw,2.15rem); font-weight: 500; line-height: 1.3; letter-spacing: -.02em; }
.page-canto .hero-headline > span{ display: block; text-wrap: balance; }
.page-canto .hero-description{ margin-top: 1.5rem; max-width: 43rem; color: #b7bdc0; font-size: clamp(.98rem,1.3vw,1.08rem); line-height: 1.65; }
.page-canto .hero-actions{ display: flex; flex-direction: row; align-items: center; justify-content: flex-start; flex-wrap: wrap; gap: 1rem 1.5rem; margin-top: 2rem; }
.page-canto .hero-actions .text-link{ color: #eef1ef; border-color: #69726d; font-size: .78rem; letter-spacing: .08em; }
.page-canto .hero-actions .text-link:hover{ color: #8fd028; border-color: #8fd028; }
.page-canto .hero-research-index{ display: block; align-self: center; max-width: 25rem; padding: 0 0 .35rem 1.75rem; border-left: 1px solid #4a524e; transform: none; }
.page-canto .hero-research-index > p{ margin-bottom: 1.15rem; color: var(--green); font-size: .72rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.page-canto .hero-research-index ul{ margin: 0; padding: 0; list-style: none; border-top: 1px solid #424a46; }
.page-canto .hero-research-index li{ padding: 0; border-bottom: 1px solid #424a46; }
.page-canto .hero-research-index li a{ display: block; padding-block: 11px; color: #d5dad7; font-size: clamp(.95rem,1.2vw,1.1rem); font-weight: 620; line-height: 1.2; letter-spacing: -.018em; }
.page-canto .hero-research-index a:hover{ color: #8fd028; }
.page-canto .hero-research-index li span{ display: block; margin-top: 4px; color: #a9b0ac; font-size: .78rem; font-weight: 400; letter-spacing: 0; line-height: 1.45; }
.page-canto .hero-workflow{ padding-block: 3.5rem 3.25rem; border-top: 1px solid #29302b; }
.page-canto .hero-cycle{ --cycle-connector: 6rem; --cycle-gap: 1.5rem; position: relative; max-width: 66rem; margin-inline: auto; }
.page-canto .cycle-stages{ display: grid; grid-template-columns: minmax(0,1fr) var(--cycle-connector) minmax(0,1fr) var(--cycle-connector) minmax(0,1fr); align-items: start; column-gap: var(--cycle-gap); }
.page-canto .cycle-stage{ min-width: 0; text-align: center; }
.page-canto .cycle-stage h2{ color: #eef2ef; font-size: clamp(1.4rem,2.2vw,2rem); font-weight: 550; line-height: 1.2; letter-spacing: -.025em; }
.page-canto .cycle-stage p{ max-width: 18rem; margin: .85rem auto 0; color: #a8b5ac; font-size: .92rem; line-height: 1.6; }
.page-canto .cycle-outcome h2{ color: #b8dc86; }
.page-canto .cycle-forward{ position: relative; display: flex; align-items: center; height: 2.4rem; }
.page-canto .cycle-forward svg{ display: block; width: 100%; fill: none; stroke: #819c6c; stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; }
.page-canto .cycle-forward strong{ position: absolute; bottom: calc(50% + .85rem); left: 50%; transform: translateX(-50%); color: #b8dc86; font-size: .75rem; font-weight: 600; line-height: 1.2; letter-spacing: .09em; }
.page-canto .cycle-return{ position: relative; height: 2rem; margin: 1.75rem calc((100% - var(--cycle-connector) * 2 - var(--cycle-gap) * 4) / 6) 0; border: 1px solid #485f37; border-top: 0; border-radius: 0 0 1.3rem 1.3rem; }
.page-canto .cycle-return::before{ content: ""; position: absolute; top: 0; left: -4px; width: 7px; height: 7px; border-top: 1px solid #9aba79; border-right: 1px solid #9aba79; transform: rotate(-45deg); }
.page-canto .cycle-return > span{ position: absolute; bottom: 0; left: 50%; transform: translate(-50%,50%); padding: 0 1rem; background: var(--graphite-950); color: #afc59c; font-size: .8rem; line-height: 1.5; text-align: center; white-space: nowrap; }

/* Scientific overview and original CAD figure. */
.page-canto .introduction{ display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem,6vw,6rem); align-items: center; }
.page-canto .intro-copy h2{ font-size: clamp(2.25rem,3.5vw,3.25rem); margin-bottom: 24px; }
.page-canto .intro-copy > p:not(.eyebrow){ font-size: 1.08rem; line-height: 1.6; margin-bottom: 20px; }
.page-canto .intro-copy .text-link{ margin-top: 8px; }
.page-canto .hero-figure{ width: 94%; justify-self: end; min-width: 0; }
.page-canto .hero-figure img{ width: 100%; }
.page-canto .hero-figure-legend{ display: flex; justify-content: center; gap: 26px; font-size: .78rem; color: var(--muted); margin-top: 20px; }
.page-canto .hero-figure-legend span{ display: flex; gap: 8px; align-items: center; }
.page-canto .net-dot{ width: 6px; height: 6px; border: 1px solid #345667; border-radius: 50%; }
.page-canto .surface-swatch{ width: 9px; height: 9px; background: #54798a; }
.page-canto .hero-figure figcaption{ font-size: .78rem; line-height: 1.6; margin: 17px auto 0; text-align: center; max-width: 420px; color: var(--muted); }
.page-canto .hero-figure figcaption a{ text-decoration: underline; text-underline-offset: 3px; }
.page-canto .section-heading{ display: grid; grid-template-columns: .9fr 1.1fr; align-items: end; gap: clamp(3rem,6vw,6rem); margin-bottom: 32px; }
.page-canto .section-heading > p{ font-size: 1.08rem; line-height: 1.6; max-width: 39rem; padding-bottom: 3px; }
.page-canto .section-heading > p br{ display: none; }

/* Flat, ruled method columns. Scientific diagrams retain their own colors. */
.page-canto .method-section{ background: var(--surface); }
.page-canto .method-grid{ display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; border-block: 1px solid var(--line); }
.page-canto .method-step{ min-width: 0; padding: 22px 26px 30px; }
.page-canto .method-step + .method-step{ border-left: 1px solid var(--line); }
.page-canto .step-header{ display: flex; justify-content: space-between; align-items: center; }
.page-canto .step-number{ color: var(--green-dark); font-size: .8rem; font-weight: 700; }
.page-canto .step-header .micro-label{ color: var(--muted); }
.page-canto .step-art{ height: 296px; position: relative; margin-block: 16px 27px; }
.page-canto .method-step h3{ font-size: 1.65rem; }
.page-canto .method-step > p{ font-size: .94rem; line-height: 1.65; margin-top: 16px; }
.page-canto .aircraft-art > img{ width: 100%; height: 235px; object-fit: contain; mix-blend-mode: multiply; }
.page-canto .view-toggle{ position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); display: flex; width: max-content; border: 1px solid #b8c0bb; background: white; }
.page-canto .view-toggle button{ padding: 7px 13px; border: 0; background: transparent; font-size: .78rem; white-space: nowrap; }
.page-canto .view-toggle button[aria-pressed=true]{ background: var(--graphite-900); color: white; }
.page-canto .token-art{ display: flex; flex-direction: column; align-items: center; padding-top: 20px; }
.page-canto .token-art > *{ flex-shrink: 0; }
.page-canto .encoder-inputs, .page-canto .encoder-pools, .page-canto .encoder-arrows{ display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 9px; width: 100%; text-align: center; }
.page-canto .encoder-inputs span{ display: flex; flex-direction: column; }
.page-canto .encoder-inputs i{ color: #264855; font-family: Georgia,serif; font-size: 27px; line-height: 1; font-weight: 400; }
.page-canto .encoder-inputs b{ font-size: 12px; line-height: 1.4; color: var(--muted); font-weight: 400; margin-top: 8px; text-wrap: balance; }
.page-canto .encoder-arrows{ font-size: 18px; color: #80959e; margin-block: 4px; }
.page-canto .encoder-pools span{ border: 1px solid #becdd3; font-size: 12px; padding: 9px 4px; background: white; }
.page-canto .fuse-line{ width: 73%; height: 21px; border: 1px solid #a6b9c2; border-top: 0; position: relative; }
.page-canto .fuse-line::after{ content: ""; height: 12px; width: 1px; background: #a6b9c2; position: absolute; bottom: -12px; left: 50%; }
.page-canto .fuse-label{ font-size: 12px; margin-top: 16px; }
.page-canto .patch-token{ width: 26px; height: 27px; background: #254c60; display: block; margin-block: 10px 5px; box-shadow: 4px -4px 0 #cddce2; }
.page-canto .token-caption{ font-size: 12px; color: var(--muted); }
.page-canto .fields-art{ display: flex; flex-direction: column; align-items: center; padding-top: 20px; }
.page-canto .geometry-context{ display: flex; align-items: center; gap: 14px; font-size: 12px; }
.page-canto .mini-tokens{ font-size: 29px; line-height: 1; letter-spacing: 3px; color: #254c60; white-space: nowrap; }
.page-canto .flow-arrow{ font-size: 23px; color: #91a5af; line-height: 1.3; margin-top: 5px; }
.page-canto .physics-box{ border: 1px solid #bacbd3; background: #e8eef1; padding: 15px 21px; font-size: 13px; }
.page-canto .query-line{ font-size: 12px; margin-block: 9px 14px; color: var(--muted); }
.page-canto .field-pair{ display: flex; width: 100%; justify-content: center; gap: 18px; }
.page-canto .field-pair > div{ border-top: 1px solid #80978b; width: 40%; padding-top: 12px; }
.page-canto .field-pair span{ display: block; font-size: .72rem; letter-spacing: .11em; color: #456f00; margin-bottom: 5px; }
.page-canto .field-pair b{ font-size: 14px; font-weight: 400; line-height: 1.5; }
.page-canto summary{ cursor: pointer; list-style: none; }
.page-canto summary::-webkit-details-marker{ display: none; }
.page-canto .citation > summary{ display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 22px 0; font-size: .94rem; font-weight: 700; }
.page-canto .citation > summary > span:first-child{ display: flex; align-items: center; gap: 17px; }
.page-canto .detail-plus{ display: inline-block; color: var(--green-dark); font-size: 24px; font-weight: 400; line-height: 1; transition: transform .2s; }
.page-canto details[open] > summary .detail-plus{ transform: rotate(45deg); }

/* Quantitative results. */
.page-canto .benchmark-layout{ display: grid; grid-template-columns: minmax(15rem,.78fr) minmax(0,1.72fr); gap: clamp(2.5rem,5vw,5rem); align-items: start; margin-top: 42px; }
.page-canto .result-callout{ padding: 24px 22px 0 0; border-top: 2px solid var(--green); }
.page-canto .result-callout .micro-label{ color: var(--green-dark); }
.page-canto .result-number{ margin-block: 24px 14px; color: var(--ink); font-size: clamp(4rem,6vw,5rem); font-weight: 700; line-height: 1; letter-spacing: -.055em; white-space: nowrap; }
.page-canto .result-number > span{ font-size: .42em; letter-spacing: -.02em; }
.page-canto .result-number .down-arrow{ margin-left: 12px; color: var(--green-dark); font-size: .55em; vertical-align: .12em; font-weight: 400; }
.page-canto .result-callout h3{ font-size: 1.35rem; }
.page-canto .result-callout > p:not(.micro-label){ margin-top: 13px; font-size: .9rem; line-height: 1.65; }
.page-canto .result-callout .text-link{ margin-top: 22px; }
.page-canto #benchmark-explorer{ min-width: 0; }
.page-canto .benchmark-tabs{ display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-bottom: 1px solid var(--line); }
.page-canto .benchmark-tab{ background: transparent; border: 0; border-bottom: 3px solid transparent; padding: 14px 10px; margin-bottom: -1px; color: var(--muted); font-size: .78rem; font-weight: 700; text-align: center; white-space: nowrap; }
.page-canto .benchmark-tab[aria-selected=true]{ border-bottom-color: var(--green); color: var(--ink); }
.page-canto .benchmark-tab:hover{ color: var(--green-dark); background: var(--surface); }
.page-canto .benchmark-panel[hidden]{ display: none; }
.page-canto .benchmark-panel-header{ display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 64px; padding: 14px 8px; border-bottom: 1px solid var(--line); }
.page-canto .benchmark-metric{ color: var(--muted); font-size: .76rem; font-weight: 600; }
.page-canto .dataset-action{ flex: 0 0 auto; color: var(--green-dark); font-size: .76rem; font-weight: 800; letter-spacing: .065em; text-transform: uppercase; text-decoration: underline; text-underline-offset: 3px; }
.page-canto .benchmark-table-wrap{ overflow-x: auto; border-bottom: 1px solid var(--line); }
.page-canto .benchmark-table{ border-collapse: collapse; width: 100%; font-size: .87rem; font-variant-numeric: tabular-nums; }
.page-canto .benchmark-table th, .page-canto .benchmark-table td{ padding: 17px 12px; text-align: right; border-bottom: 1px solid #e5e8e6; vertical-align: middle; }
.page-canto .benchmark-table th:first-child, .page-canto .benchmark-table td:first-child{ width: 42%; text-align: left; padding-left: 12px; }
.page-canto .benchmark-table thead th{ padding-block: 13px; color: var(--muted); background: var(--surface); font-size: .75rem; line-height: 1.5; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; white-space: nowrap; }
.page-canto .benchmark-table tbody th{ color: var(--ink); font-size: .83rem; font-weight: 500; }
.page-canto .benchmark-table tbody tr:hover{ background: #fafbf9; }
.page-canto .benchmark-table td:nth-child(3){ color: var(--ink); background: rgba(118,185,0,.07); font-weight: 800; }
.page-canto .benchmark-table .change-value{ display: inline-block; min-width: 4.4rem; padding: .3rem .55rem; border-radius: 999px; font-size: .75rem; font-weight: 800; text-align: center; }
.page-canto .benchmark-table .improvement .change-value{ color: var(--green-dark); background: var(--green-pale); }
.page-canto .benchmark-table .regression .change-value{ color: #7f3e23; background: #f7e8df; }
.page-canto .benchmark-note{ margin-top: 16px; color: var(--muted); font-size: .78rem; line-height: 1.7; }
.page-canto .benchmark-note a{ text-decoration: underline; text-underline-offset: 3px; }
.page-canto .sampling-note{ margin-top: 34px; padding-top: 24px; border-top: 1px solid var(--line); }
.page-canto .sampling-note h3{ font-size: 1.25rem; }
.page-canto .sampling-note p{ max-width: 55rem; margin-top: 10px; font-size: .84rem; line-height: 1.7; }
.page-canto .sampling-note .text-link{ margin-top: 16px; }

/* Dark research feature, following the AIE Highlighted Work section. */
.page-canto .design-section{ background: var(--graphite-900); color: white; }
.page-canto .design-grid{ display: grid; grid-template-columns: .85fr 1.15fr; gap: 3rem 75px; align-items: center; }
.page-canto .design-section .section-label{ color: var(--green); }
.page-canto .design-section h2{ font-size: clamp(2.25rem,3.5vw,3.25rem); }
.page-canto .design-copy > p:not(.eyebrow){ color: #bfc5c1; font-size: 1.04rem; margin-top: 25px; line-height: 1.65; }
.page-canto .design-result{ border-top: 1px solid #414942; padding-top: 26px; margin-top: 32px; display: flex; flex-direction: column; gap: 10px; }
.page-canto .design-result > span{ font-size: 58px; font-weight: 700; letter-spacing: -.055em; line-height: 1.1; }
.page-canto .design-result > strong{ font-size: .96rem; font-weight: 400; color: #bed995; }
.page-canto .design-achievement a{ color: #bed995; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.page-canto .design-copy > p.design-qualifier{ font-size: .78rem; margin-top: 17px; color: #abb5ae; }
.page-canto .optimization-loop{ grid-column: 1 / -1; padding-top: 2rem; border-top: 1px solid #414942; }
.page-canto .optimization-loop > figcaption{ color: #a9b79b; }
.page-canto .optimization-flow{ position: relative; max-width: 64rem; margin: 2rem auto 0; }
.page-canto .optimization-stages{ display: grid; grid-template-columns: minmax(0,1fr) 3rem minmax(0,1fr) 3rem minmax(0,1fr); align-items: start; }
.page-canto .optimization-stage{ min-width: 0; text-align: center; }
.page-canto .optimization-stage h3{ color: #edf1ee; font-size: clamp(1.1rem,1.8vw,1.4rem); font-weight: 550; line-height: 1.3; letter-spacing: -.02em; }
.page-canto .optimization-stage p{ margin-top: .6rem; color: #abb7af; font-size: .8rem; line-height: 1.5; }
.page-canto .optimization-model h3{ color: #b8dc86; letter-spacing: .025em; }
.page-canto .optimization-forward{ color: #8ea779; font-size: 1.6rem; font-weight: 400; line-height: 1.15; text-align: center; }
.page-canto .optimization-return{ position: relative; height: 1.6rem; margin: 1.4rem auto 0; border: 1px solid #536746; border-top: 0; border-radius: 0 0 1rem 1rem; width: calc((100% + 3rem) * 2 / 3); }
.page-canto .optimization-return::before{ content: ""; position: absolute; top: 0; left: -4px; width: 7px; height: 7px; border-top: 1px solid #91ae75; border-right: 1px solid #91ae75; transform: rotate(-45deg); }
.page-canto .optimization-return span{ position: absolute; bottom: 0; left: 50%; transform: translate(-50%,50%); padding: 0 1rem; background: var(--graphite-900); color: #b7c7a7; font-size: .78rem; line-height: 1.5; white-space: nowrap; }
.page-canto .optimization-note{ margin-top: 2rem; color: #929e96; font-size: .78rem; line-height: 1.6; text-align: center; }
.page-canto .design-figure{ padding: 24px 21px 22px; background: white; border: 1px solid #cfd4d1; color: var(--ink); align-self: center; }
.page-canto .figure-topline{ font-size: .72rem; font-weight: 800; letter-spacing: .11em; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; color: var(--muted); gap: .35rem .75rem; }
.page-canto .design-figure .figure-topline{ margin-bottom: 15px; }
.page-canto .design-figure img{ width: 100%; }
.page-canto .design-figure figcaption{ font-size: .78rem; line-height: 1.7; color: var(--muted); margin: 15px 10px 0; }
.page-canto .design-figure figcaption a{ white-space: nowrap; text-decoration: underline; margin-left: 4px; }

/* Paper, contributors, and citation. */
.page-canto .research-grid{ display: grid; grid-template-columns: 1.55fr 1fr; gap: 90px; }
.page-canto .research-grid h2{ font-size: clamp(2.25rem,3.2vw,3rem); line-height: 1.12; }
.page-canto .publication{ font-size: .8rem; margin-top: 24px; }
.page-canto .research-actions{ display: flex; align-items: center; flex-wrap: wrap; gap: 26px; margin-top: 30px; }
.page-canto .authors h3{ color: var(--green-dark); margin-top: 5px; margin-bottom: 21px; }
.page-canto .author-list{ display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; color: var(--ink); font-size: .95rem; line-height: 1.9; }
.page-canto .author-list li:not(:last-child)::after{ content: ","; margin-right: .4em; }
.page-canto .authors a{ text-decoration: underline; text-decoration-color: #a4b78d; text-underline-offset: 3px; }
.page-canto .authors a:hover{ color: var(--green-dark); text-decoration-color: currentColor; }
.page-canto .citation{ margin-top: 50px; border-block: 1px solid var(--line); }
.page-canto .citation .micro-label{ color: var(--muted); }
.page-canto .citation-content{ padding: 0 0 25px; }
.page-canto .citation-tools{ display: flex; justify-content: space-between; gap: 10px; align-items: center; font-size: .75rem; color: var(--muted); margin-bottom: 12px; }
.page-canto .copy-button{ background: var(--surface); border: 1px solid #b9c0bb; padding: 9px 16px; font-size: .75rem; font-weight: 700; }
.page-canto .copy-button:hover{ background: #e8eddf; }
.page-canto pre{ font: 12px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace; white-space: pre-wrap; overflow-wrap: anywhere; background: var(--surface); padding: 24px; margin: 0; }
@media (max-width: 1100px) {
  
  .page-canto .hero-grid{ column-gap: 48px; grid-template-columns: minmax(0,1fr) minmax(250px,.6fr); }
  .page-canto .hero-actions{ gap: 16px 22px; }
  .page-canto .method-step{ padding-inline: 19px; }
  .page-canto .method-step h3{ font-size: 1.45rem; }
  .page-canto .method-step > p{ font-size: .88rem; }
  .page-canto .benchmark-layout{ gap: 38px; grid-template-columns: minmax(14rem,.75fr) minmax(0,1.75fr); }
  .page-canto .benchmark-tab{ padding-inline: 9px; }
  .page-canto .design-grid{ gap: 42px; }
  .page-canto .design-result > span{ font-size: 49px; }
  .page-canto .research-grid{ gap: 45px; }
}
@media (max-width: 800px) {
  .page-canto .section{ padding-block: 56px; }
  .page-canto h2{ font-size: clamp(2rem,6vw,2.75rem); }
  .page-canto .section-label{ margin-bottom: 21px; }

  .page-canto .hero-grid{ grid-template-columns: 1fr; gap: 32px; padding-block: 48px 32px; }
  .page-canto .hero-copy h1{ font-size: clamp(4.5rem,16vw,6.5rem); }
  .page-canto .hero-headline{ font-size: clamp(1.5rem,4vw,1.9rem); margin-top: 24px; }
  .page-canto .hero-research-index{ max-width: none; padding: 24px 0 0; border-left: 0; border-top: 1px solid #4a524e; }
  .page-canto .hero-research-index > p{ margin-bottom: .7rem; }
  .page-canto .hero-research-index ul{ display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 0; }
  .page-canto .hero-research-index li:nth-child(odd){ padding-right: 14px; border-right: 1px solid #424a46; }
  .page-canto .hero-research-index li:nth-child(even){ padding-left: 14px; }
  .page-canto .hero-workflow{ padding-block: 2.75rem 2.75rem; }
  .page-canto .hero-cycle{ --cycle-connector: 2.5rem; --cycle-gap: .8rem; }
  .page-canto .cycle-stage h2{ font-size: 1.2rem; }
  .page-canto .cycle-stage p{ margin-top: .65rem; font-size: .8rem; }
  .page-canto .cycle-forward{ height: 1.5rem; }
  .page-canto .hero-description{ font-size: 1rem; line-height: 1.6; }
  .page-canto .hero-actions{ gap: 16px 27px; }
  .page-canto .introduction{ grid-template-columns: 1fr; gap: 38px; }
  .page-canto .intro-copy h2{ font-size: clamp(2rem,6vw,2.75rem); max-width: 680px; }
  .page-canto .intro-copy > p:not(.eyebrow){ font-size: 1rem; }
  .page-canto .hero-figure{ width: 100%; max-width: 600px; justify-self: center; }
  .page-canto .hero-figure figcaption{ max-width: 440px; }
  .page-canto .section-heading{ grid-template-columns: 1fr; gap: 24px; margin-bottom: 32px; }
  .page-canto .section-heading > p{ font-size: 1rem; }
  .page-canto .method-grid{ grid-template-columns: 1fr; }
  .page-canto .method-step{ padding: 24px 0 32px; }
  .page-canto .method-step + .method-step{ border-left: 0; border-top: 1px solid var(--line); }
  .page-canto .step-art{ width: 100%; max-width: 400px; margin: 14px auto 25px; }
  .page-canto .aircraft-art > img{ height: 235px; }
  .page-canto .view-toggle button{ padding: 9px 17px; }
  .page-canto .method-step h3{ font-size: 1.75rem; }
  .page-canto .method-step > p{ font-size: 1rem; max-width: 640px; margin-top: 14px; }
  .page-canto .encoder-inputs, .page-canto .encoder-arrows, .page-canto .encoder-pools{ max-width: 345px; }
  .page-canto .fuse-line{ max-width: 255px; }
  .page-canto .field-pair{ max-width: 340px; }
  .page-canto .benchmark-layout{ grid-template-columns: 1fr; gap: 34px; }
  .page-canto .result-callout{ max-width: 31rem; padding-right: 0; }
  .page-canto .benchmark-tab{ padding-inline: 17px; font-size: .8rem; }
  .page-canto .design-grid{ grid-template-columns: 1fr; gap: 36px; }
  .page-canto .design-section h2{ font-size: clamp(2rem,6vw,2.75rem); max-width: 620px; }
  .page-canto .design-copy > p:not(.eyebrow){ font-size: 1rem; }
  .page-canto .design-result > span{ font-size: clamp(3rem,8vw,3.75rem); }
  .page-canto .design-copy > p.design-qualifier{ font-size: .78rem; max-width: 650px; }
  .page-canto .optimization-stages{ grid-template-columns: minmax(0,1fr) 1.5rem minmax(0,1fr) 1.5rem minmax(0,1fr); }
  .page-canto .optimization-stage h3{ font-size: 1.05rem; }
  .page-canto .optimization-return{ width: calc((100% + 1.5rem) * 2 / 3); }
  .page-canto .design-figure{ max-width: 690px; }
  .page-canto .research-grid{ grid-template-columns: 1fr; gap: 35px; }
  .page-canto .research-grid h2{ font-size: clamp(2rem,6vw,2.75rem); }
}
@media (max-width: 576px) {
  
  .page-canto .hero-actions{ gap: 18px 24px; }
  .page-canto .hero-workflow{ padding-block: 2rem 2rem; }
  .page-canto .hero-cycle{ max-width: 25rem; padding-left: 2.25rem; }
  .page-canto .cycle-stages{ grid-template-columns: minmax(0,1fr); gap: .8rem; }
  .page-canto .cycle-stage{ text-align: left; padding-left: .5rem; }
  .page-canto .cycle-stage h2{ font-size: 1.5rem; }
  .page-canto .cycle-stage p{ max-width: 19rem; margin: .55rem 0 0; font-size: .88rem; }
  .page-canto .cycle-forward{ height: 2.75rem; justify-content: center; }
  .page-canto .cycle-forward svg{ width: 3rem; transform: rotate(90deg); }
  .page-canto .cycle-forward strong{ top: 50%; bottom: auto; left: calc(50% + 1.1rem); transform: translateY(-50%); }
  .page-canto .cycle-return{ position: absolute; top: .9rem; bottom: 1.5rem; left: .65rem; width: 1rem; height: auto; margin: 0; border: 1px solid #485f37; border-right: 0; border-radius: 1rem 0 0 1rem; }
  .page-canto .cycle-return::before{ top: -4px; right: 0; left: auto; transform: rotate(45deg); }
  .page-canto .cycle-return > span{ top: 50%; bottom: auto; left: 0; transform: translate(-50%,-50%) rotate(-90deg); padding: 0 .8rem; font-size: .75rem; }
  .page-canto .hero-figure-legend{ gap: 18px; }
  .page-canto .token-art{ padding-inline: 12px; }
  .page-canto .method-step h3{ font-size: 1.6rem; }
  .page-canto .citation > summary{ font-size: .86rem; }
  .page-canto .benchmark-tabs{ display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; border: 1px solid var(--line); }
  .page-canto .benchmark-tab{ padding: 13px 8px; margin: 0; border: 0; font-size: .78rem; }
  .page-canto .benchmark-tab[aria-selected=true]{ background: var(--graphite-900); color: white; box-shadow: inset 0 -3px var(--green); }
  .page-canto .benchmark-panel-header{ align-items: flex-start; min-height: auto; padding-inline: 4px; }
  .page-canto .benchmark-table{ min-width: 36rem; font-size: .76rem; }
  .page-canto .benchmark-table th, .page-canto .benchmark-table td{ padding: 13px 5px; }
  .page-canto .benchmark-table thead th{ white-space: normal; }
  .page-canto .benchmark-table tbody th{ font-size: .78rem; max-width: 110px; }
  .page-canto .design-result > strong{ font-size: .94rem; }
  .page-canto .optimization-loop{ padding-top: 1.5rem; }
  .page-canto .optimization-flow{ margin-top: 1.5rem; padding-left: 2rem; }
  .page-canto .optimization-stages{ grid-template-columns: minmax(0,1fr); gap: .8rem; }
  .page-canto .optimization-stage{ text-align: left; }
  .page-canto .optimization-stage h3{ font-size: 1.15rem; }
  .page-canto .optimization-stage p{ margin-top: .35rem; font-size: .78rem; }
  .page-canto .optimization-forward{ justify-self: start; width: 1.25rem; font-size: 1.3rem; transform: rotate(90deg); }
  .page-canto .optimization-return{ position: absolute; top: .7rem; bottom: 1.8rem; left: .4rem; width: .8rem; height: auto; margin: 0; border: 1px solid #536746; border-right: 0; border-radius: .8rem 0 0 .8rem; }
  .page-canto .optimization-return::before{ top: -4px; right: 0; left: auto; transform: rotate(45deg); }
  .page-canto .optimization-return span{ top: 50%; bottom: auto; left: 0; transform: translate(-50%,-50%) rotate(-90deg); padding: 0 .7rem; font-size: .75rem; }
  .page-canto .optimization-note{ margin-top: 1.5rem; text-align: left; }
  .page-canto .design-figure{ padding: 17px 10px; }
  .page-canto .design-figure figcaption{ margin-inline: 5px; }
  .page-canto .research-actions{ gap: 23px; }
  .page-canto .author-list{ font-size: .86rem; }
  .page-canto .citation{ margin-top: 35px; }
  .page-canto pre{ padding: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .page-canto *{ transition: none !important; animation: none !important; }
}
@media print {
  .page-canto .hero-actions, .page-canto .view-toggle, .page-canto .research-actions{ display: none; }
  .page-canto .section{ padding-block: 30px; }
  .page-canto{ font-size: 12px; }
  .page-canto .project-hero{ background: white; color: var(--ink); }
  .page-canto .hero-grid{ padding-block: 30px; min-height: 0; grid-template-columns: 1fr; }
  .page-canto .hero-copy h1, .page-canto .hero-headline{ color: var(--ink); }
  .page-canto .hero-description{ color: var(--muted); }
  .page-canto .hero-copy h1{ font-size: 70px; }
  .page-canto .hero-workflow, .page-canto .hero-research-index{ display: none; }
  .page-canto a{ text-decoration: underline; }
  .page-canto .design-section{ background: white; color: var(--ink); }
  .page-canto .design-section p, .page-canto .design-result strong{ color: var(--muted) !important; }
  .page-canto section, .page-canto figure, .page-canto article{ break-inside: avoid; }
  .page-canto .benchmark-panel[hidden]{ display: block; }
  .page-canto .benchmark-tabs{ display: none; }
}

/* Interactive controls are only shown when their behavior is available. */
.page-canto .view-toggle, .page-canto .copy-button{
  display: none;
}

.js .page-canto .view-toggle{
  display: flex;
}

.js .page-canto .copy-button{
  display: inline-block;
}
