/* Page-specific portfolio. Shared styles own navigation, footer and appearance. */
.case-studies main { overflow-wrap: anywhere; }
.case-studies main :is(h1, h2, h3, h4, p, figure, dl, dd) { margin: 0; }
.case-studies main :is(a, h1, article, section) { scroll-margin-top: 7rem; }
.case-studies main a { color: inherit; text-underline-offset: .3em; }
.case-studies main a:focus-visible { outline: 2px solid var(--focus); outline-offset: 6px; }
.case-studies main :is(h1, h2, h3) { font-weight: 400; }
.case-studies main :is(h1, h2, h3) em { font-family: var(--font-serif); font-weight: 400; }
.cs-label, .cs-folio, .cs-plate-label, .cs-micro, .cs-index-category, .cs-index-number, .cs-figure > figcaption, .cs-invitation-foot { font-family: var(--font-mono); font-weight: 400; font-size: .6875rem; line-height: 1.65; letter-spacing: .065em; text-transform: uppercase; }
.cs-label { color: var(--text-muted); }
.cs-hero { padding-block: 3rem 0; }
.cs-folio { display: flex; justify-content: space-between; gap: 1rem; color: var(--text-muted); border-bottom: 1px solid var(--border-strong); padding-bottom: 1.25rem; }
.case-studies main h1 { font-size: clamp(5rem, 11.6vw, 10.5rem); line-height: .97; letter-spacing: -.075em; padding-block: 2.5rem 3.5rem; }
.case-studies main h1 em { display: block; margin-left: 23%; line-height: .95; letter-spacing: -.06em; color: var(--accent); }
.cs-introduction { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; padding-block: 1rem 3.5rem; }
.cs-introduction > .cs-label { align-self: end; }
.cs-introduction > div { max-width: 38rem; }
.cs-introduction > div > p:first-child { font-size: clamp(1.5rem, 2.3vw, 2rem); line-height: 1.25; letter-spacing: -.035em; margin-bottom: 1.25rem; }
.cs-introduction > div > p:last-child { font-size: 1rem; color: var(--text-muted); }
.cs-index { border-top: 1px solid var(--border-strong); }
.cs-index a { display: grid; grid-template-columns: 2.25rem 4rem 1.6fr 1fr 2rem; align-items: center; gap: 1.75rem; min-height: 6.5rem; padding-block: 1rem; border-bottom: 1px solid var(--border-soft); text-decoration: none; }
.cs-index-number { color: var(--text-muted); }
.cs-index-title { font-size: clamp(1rem, 1.7vw, 1.375rem); line-height: 1.2; letter-spacing: -.035em; }
.cs-index-category { font-size: .625rem; color: var(--text-muted); text-transform: none; letter-spacing: 0; }
.cs-index-arrow { font-size: 1.75rem; text-align: right; color: var(--accent); }
.cs-index a:hover .cs-index-title { color: var(--accent); }
.cs-index-mark { display: flex; justify-content: center; align-items: center; width: 4rem; height: 3rem; gap: 3px; }
.cs-index-mark--region { background: #d3dbbd; }
.cs-index-mark--region i { width: 12px; height: 24px; border-radius: 20px 20px 0 0; background: #45634b; }
.cs-index-mark--region i:nth-child(2) { height: 34px; background: #879b78; }
.cs-index-mark--product { background: #1c3036; }
.cs-index-mark--product i { width: 10px; height: 20px; border: 1px solid #a9d9d5; }
.cs-index-mark--product i:nth-child(2) { height: 30px; }
.cs-index-mark--editorial { background: #c7a289; flex-direction: column; align-items: start; padding: 10px; }
.cs-index-mark--editorial i { display: block; width: 100%; height: 1px; background: #523a2c; }
.cs-index-mark--editorial i:first-child { width: 60%; height: 10px; background: #f5eedf; }
.cs-study { padding-top: clamp(4.5rem, 8vw, 7.5rem); }
.cs-study-header { display: grid; grid-template-columns: .65fr 2fr 1fr; gap: 2rem; align-items: end; margin-bottom: 2.5rem; }
.cs-study-meta { display: flex; flex-direction: column; gap: 1.25rem; align-self: stretch; }
.cs-chapter { font-family: var(--font-serif); font-size: 3.5rem; line-height: 1; letter-spacing: -.065em; }
.case-studies main h2 { font-size: clamp(2.75rem, 4.7vw, 4.25rem); line-height: 1.05; letter-spacing: -.055em; }
.case-studies main h2 em { color: var(--accent); letter-spacing: -.055em; }
.cs-lead { color: var(--text-muted); font-size: .9375rem; line-height: 1.55; }
.cs-figure > figcaption { display: flex; justify-content: space-between; gap: .5rem 2rem; margin-top: .9rem; color: var(--text-muted); font-size: .625rem; text-transform: none; letter-spacing: 0; }
.cs-plate-label { display: flex; justify-content: space-between; gap: 2rem; border-bottom: 1px solid; padding-bottom: 1rem; font-size: .625rem; }
.cs-micro { font-size: .5625rem; }
.cs-pin { display: inline-flex; flex: 0 0 1.25rem; align-items: center; justify-content: center; width: 1.25rem; height: 1.25rem; border: 1px solid currentColor; border-radius: 50%; font-family: var(--font-mono); font-size: .625rem; line-height: 1; }
/* 01 — layered regional editions, connected by a common interface grammar. */
.cs-region-stage { background: #dfe7d9; color: #253d32; padding: 2rem; }
.cs-region-stage .cs-plate-label { border-color: #8a9c86; }
.cs-region-system { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 4rem; padding-block: 2rem 2.5rem; }
.cs-region-system > p { font-size: 1.875rem; line-height: 1.15; letter-spacing: -.04em; }
.cs-region-system i { font-family: var(--font-serif); }
.cs-system-map { max-width: 30rem; }
.cs-system-root { font-family: var(--font-mono); font-size: .75rem; padding: .8rem 1rem; border: 1px solid #80907c; background: #edf1e5; }
.cs-dot { display: inline-block; width: .5rem; height: .5rem; background: #47634a; border-radius: 50%; margin-right: .5rem; }
.cs-system-root small { display: block; margin-left: 1rem; font-size: .5625rem; color: #4d6453; }
.cs-system-branches { display: flex; gap: .5rem; justify-content: space-between; padding-top: 1.5rem; position: relative; }
.cs-system-branches::before { content: ''; position: absolute; top: .75rem; left: 12%; width: 76%; height: .75rem; border: 1px solid #80907c; border-bottom: 0; }
.cs-system-branches::after { content: ''; position: absolute; left: 50%; top: 0; height: .75rem; border-left: 1px solid #80907c; }
.cs-system-branches > span { background: #edf1e5; border: 1px solid #80907c; padding: .3rem .6rem; font-family: var(--font-mono); font-size: .5625rem; }
.cs-regional-gallery { display: grid; grid-template-columns: 3fr 1fr; gap: 2rem; align-items: start; }
.cs-region-desktop { background: #fffdf5; color: #253d32; border: 1px solid #80907c; margin-top: 2rem; }
.cs-screen-nav { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 1.25rem; border-bottom: 1px solid #d3dbca; font-size: .5625rem; }
.cs-screen-brand { font-family: var(--font-mono); font-size: .75rem; letter-spacing: .1em; }
.cs-screen-nav b { font-weight: 500; border: 1px solid #80907c; padding: .25rem .4rem; }
.cs-region-cover { display: grid; grid-template-columns: 1.2fr 1fr; min-width: 0; padding: 1.25rem; }
.cs-region-cover > div { padding: 1.25rem .5rem 1rem 0; }
.cs-region-cover p { font-size: clamp(2.25rem, 4.3vw, 3.75rem); line-height: 1; letter-spacing: -.055em; margin-top: 2rem !important; }
.cs-region-cover i { font-family: var(--font-serif); }
.cs-screen-button { display: inline-block; padding: .65rem .75rem; color: #fffdf5; background: #2b4a3b; font-size: .5625rem; margin-top: 1.5rem; }
.cs-cover-footnote { display: block; margin-top: 2.25rem; max-width: 10rem; font-size: .625rem; }
.cs-regional-art { display: block; width: 100%; height: auto; align-self: stretch; object-fit: cover; }
.cs-regional-path { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #d3dbca; margin: 0 1.25rem 1.25rem; }
.cs-regional-path > span { position: relative; padding: .8rem .5rem 0 0; font-size: .625rem; }
.cs-regional-path > span + span { border-left: 1px solid #d3dbca; padding-left: .75rem; }
.cs-regional-path small { display: block; font-family: var(--font-mono); font-size: .5rem; margin-bottom: .5rem; }
.cs-regional-path b { font-weight: 400; margin-left: .3rem; }
.cs-regional-editions { display: grid; grid-template-columns: 1fr; gap: 1rem; }
.cs-edition-caption { display: flex; gap: .65rem; align-items: start; font-size: .625rem; line-height: 1.5; }
.cs-edition { padding: 1rem; border: 1px solid #80907c; }
.cs-edition > div:first-child { display: flex; justify-content: space-between; font-family: var(--font-mono); font-size: .5625rem; }
.cs-edition p { font-size: 1.5rem; line-height: 1.05; letter-spacing: -.04em; margin-top: 1.5rem !important; }
.cs-edition p i { font-family: var(--font-serif); }
.cs-edition > span:last-child { display: block; margin-top: 1rem; font-size: .5625rem; }
.cs-edition--ochre { background: #e0c68e; color: #4c3b23; border-color: #9c855c; }
.cs-edition-arcs { display: flex; gap: 4px; height: 6rem; align-items: end; margin-top: 1rem; }
.cs-edition-arcs i { width: 33.333%; height: 80%; border-radius: 5rem 5rem 0 0; background: #8b7341; }
.cs-edition-arcs i:nth-child(2) { height: 100%; background: #554d2d; }
.cs-edition-arcs i:nth-child(3) { height: 60%; background: #b09c61; }
.cs-edition--ink { background: #2b443e; color: #eceddb; border-color: #2b443e; margin-right: 1.5rem; }
.cs-edition-orbit { display: flex; align-items: center; justify-content: center; height: 5rem; margin-top: 1rem; background: #36584b; }
.cs-edition-orbit i { width: 3.75rem; height: 3.75rem; border: 1px solid #d5dfb5; border-radius: 50%; position: relative; }
.cs-edition-orbit i::after { content: ''; position: absolute; width: 2.25rem; height: 2.25rem; background: #b6c99b; border-radius: 50%; top: -.5rem; right: -.5rem; }
.cs-region-annotations { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid #8a9c86; margin-top: 2rem; padding-top: 1rem; font-size: .625rem; }
.cs-region-annotations b { font-family: var(--font-mono); font-weight: 400; margin-right: .5rem; }
.cs-regional-story { display: grid; grid-template-columns: 1fr 1.5fr 1fr; gap: 3rem; padding-block: 3rem 0; }
.case-studies main h3 { font-size: clamp(1.5rem, 2.2vw, 2rem); line-height: 1.2; letter-spacing: -.035em; }
.cs-regional-story h3 { margin-top: 1rem; }
.cs-story-copy { font-size: .9375rem; color: var(--text-muted); }
.cs-story-copy p + p { margin-top: 1rem; }
.cs-principles { border-top: 1px solid var(--border-strong); }
.cs-principles > div { padding-block: .8rem; border-bottom: 1px solid var(--border-soft); }
.cs-principles dt { font-size: .8125rem; margin-bottom: .3rem; }
.cs-principles dd { font-size: .8125rem; color: var(--text-muted); line-height: 1.5; }
/* 02 — a precise commerce workspace and a readable model of a buying decision. */
.cs-study--discovery { margin-top: clamp(4.5rem, 8vw, 7.5rem); padding-block: clamp(4.5rem, 8vw, 7.5rem); background: var(--surface-alt); border-block: 1px solid var(--border-soft); }
.cs-discovery-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; margin: 0 0 2.5rem 19%; max-width: 56rem; font-size: .9375rem; color: var(--text-muted); }
.cs-engineering-stage { padding: 2rem; color: #e8f0e8; background: #1c3036; }
.cs-engineering-stage .cs-plate-label { border-color: #71888c; color: #c1d5d5; }
.cs-engineering-layout { display: grid; grid-template-columns: 3.2fr 1fr; gap: 2rem; padding-block: 2.5rem; }
.cs-catalogue { background: #f3f3eb; color: #283f43; border: 1px solid #8d9e9a; }
.cs-catalogue-nav { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem; font-family: var(--font-mono); font-size: .5625rem; border-bottom: 1px solid #bcc8c1; }
.cs-catalogue-nav b { font-weight: 400; }
.cs-catalogue-title { padding: 1.25rem 1rem 0; }
.cs-catalogue-title p { font-size: 1.75rem; line-height: 1.1; letter-spacing: -.04em; margin-top: .5rem !important; }
.cs-search-illustration { display: flex; align-items: center; gap: .75rem; margin: 1.25rem 1rem; padding: .7rem; border: 1px solid #829795; background: #fffef7; font-size: .75rem; }
.cs-search-illustration svg { fill: none; stroke: currentColor; flex-shrink: 0; }
.cs-search-illustration > span:last-child { margin-left: auto; font-size: .5625rem; }
.cs-catalogue-main { display: grid; grid-template-columns: 1fr 3.2fr; gap: 1rem; padding: 0 1rem 1rem; }
.cs-filter-column { padding-right: .75rem; border-right: 1px solid #bcc8c1; font-size: .5625rem; }
.cs-filter-column > div:not(.cs-filter-note) { display: grid; gap: .5rem; margin-top: 1.1rem; }
.cs-filter-column b { font-weight: 600; }
.cs-filter-column > div > span { display: flex; align-items: baseline; gap: .35rem; }
.cs-filter-column > div > span::before { content: ''; width: .5rem; height: .5rem; flex: 0 0 .5rem; border: 1px solid #687e7b; }
.cs-filter-column > div > .cs-check::before { background: #325e64; border-color: #325e64; }
.cs-filter-note { margin-top: 2rem; padding-top: .75rem; border-top: 1px solid #bcc8c1; font-family: var(--font-serif); font-size: .75rem; font-style: italic; }
.cs-results-header { display: flex; justify-content: space-between; gap: .5rem; font-size: .5625rem; margin-bottom: .75rem; }
.cs-component-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; }
.cs-component { min-width: 0; padding: .65rem; background: #fffef7; border: 1px solid #bcc8c1; }
.cs-component--selected { border-color: #325e64; }
.cs-component-id { display: flex; justify-content: space-between; font-family: var(--font-mono); font-size: .5625rem; }
.cs-component svg { display: block; width: 100%; height: auto; margin-block: .5rem; color: #325e64; }
.cs-component > b { display: block; font-size: .6875rem; line-height: 1.3; font-weight: 600; }
.cs-component > span { display: block; font-size: .5rem; margin-top: .3rem; }
.cs-component dl { font-size: .5rem; border-top: 1px solid #bcc8c1; margin-top: .75rem !important; padding-top: .5rem; }
.cs-component dl > div { display: flex; justify-content: space-between; gap: .25rem; }
.cs-component dd { text-align: right; }
.cs-component > .cs-component-link { border-top: 1px solid #bcc8c1; padding-top: .6rem; margin-top: .6rem; }
.cs-compare-strip { display: flex; align-items: center; gap: .65rem; margin-top: 1rem; font-size: .5625rem; line-height: 1.5; }
.cs-specification { align-self: center; }
.cs-specification > .cs-micro { color: #bed5d2; }
.cs-specification > p:first-of-type { font-size: 1.75rem; line-height: 1.15; letter-spacing: -.04em; margin-block: 1rem 2rem; }
.cs-specification i { font-family: var(--font-serif); color: #b8ddd4; }
.cs-spec-sheet { border: 1px solid #7f999b; }
.cs-spec-sheet > div:first-child { background: #2c454b; padding: .85rem; }
.cs-spec-sheet > div:first-child > span:first-child { font-family: var(--font-mono); font-size: 1.25rem; display: block; }
.cs-spec-sheet > div:first-child > span:last-child { font-size: .5625rem; color: #c5d9d6; }
.cs-spec-sheet dl { padding: .75rem; }
.cs-spec-sheet dl > div { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .2rem .5rem; padding-block: .3rem; font-size: .5625rem; border-bottom: 1px solid #526d73; }
.cs-spec-sheet dt { color: #bed5d2; }
.cs-fit-path { padding: .5rem .75rem .75rem; text-align: center; }
.cs-fit-path > span { display: block; padding: .5rem; border: 1px solid #7f999b; font-family: var(--font-mono); font-size: .5625rem; }
.cs-fit-path > i { display: block; font-style: normal; padding-block: .2rem; }
.cs-fit-path > .cs-fit-selected { background: #bbded2; border-color: #bbded2; color: #1c3036; }
.cs-specification > .cs-spec-note { color: #bed5d2; font-size: .625rem; margin-top: 1rem; }
.cs-decision-path { border-top: 1px solid #71888c; padding-top: 1.25rem; }
.cs-decision-path > .cs-micro { color: #bed5d2; }
.cs-decision-path ol { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); padding: 0; margin: 1rem 0 0; gap: 1.5rem; }
.cs-decision-path li { border-top: 1px solid #71888c; padding-top: .75rem; font-size: .8125rem; position: relative; }
.cs-decision-path li + li::before { content: '→'; position: absolute; left: -1.2rem; top: .6rem; color: #bed5d2; }
.cs-decision-path li > span { color: #bed5d2; font-family: var(--font-mono); font-size: .625rem; margin-right: .5rem; }
.cs-engineering-story { display: grid; grid-template-columns: 1fr 1.2fr; gap: 6rem; padding-top: 3.5rem; }
.cs-engineering-story h3 { margin-block: 1rem 1.5rem; }
.cs-engineering-story > div > p:last-child { font-size: .9375rem; color: var(--text-muted); max-width: 30rem; }
.cs-technical-notes { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--border-strong); }
.cs-technical-notes li { display: grid; grid-template-columns: 2rem 1fr; gap: 1.5rem; padding-block: 1.25rem; border-bottom: 1px solid var(--border-soft); }
.cs-technical-notes li > span { font-family: var(--font-mono); font-size: .6875rem; color: var(--text-muted); padding-top: .2rem; }
.case-studies main h4 { font-size: 1rem; font-weight: 500; line-height: 1.4; letter-spacing: -.015em; }
.cs-technical-notes p { font-size: .875rem; color: var(--text-muted); margin-top: .5rem; }
/* 03 — a broad editorial spread, with a marginal note and a separate content map. */
.cs-publishing-header { display: grid; grid-template-columns: 1fr 4fr; gap: 2rem; margin-bottom: 2.75rem; }
.cs-publishing-header h2 { font-size: clamp(2.75rem, 5.1vw, 4.6rem); }
.cs-publishing-header .cs-lead { margin-top: 1.5rem; }
.cs-publishing-presentation { display: grid; grid-template-columns: 5fr 1fr; gap: 2.5rem; }
.cs-publishing-stage { padding: 1.5rem; background: #c7a289; color: #422e23; }
.cs-publishing-stage .cs-plate-label { border-color: #82614c; }
.cs-journal { background: #f7f1e4; color: #3b3027; margin-top: 1.5rem; padding: 1.5rem; border: 1px solid #967760; }
.cs-journal-topline { display: flex; justify-content: space-between; gap: 1rem; font-family: var(--font-mono); font-size: .5rem; }
.cs-journal-masthead { font-family: var(--font-serif); font-size: clamp(3rem, 6.75vw, 6rem); line-height: 1.05; text-align: center; letter-spacing: -.065em; padding-block: 1rem; }
.cs-journal-masthead > span { color: #9a442a; }
.cs-journal-nav { display: flex; justify-content: space-between; gap: .5rem; padding-block: .65rem; border-block: 1px solid #a18a73; font-size: .5625rem; }
.cs-editorial-feature { display: grid; grid-template-columns: 1.25fr 1fr; gap: 1.5rem; padding-block: 1.5rem; }
.cs-editorial-cover { align-self: stretch; display: flex; flex-direction: column; }
.cs-editorial-cover svg { width: 100%; height: 100%; object-fit: cover; display: block; flex: 1; }
.cs-editorial-cover > span { font-family: var(--font-mono); font-size: .5rem; margin-top: .5rem; }
.cs-editorial-feature-copy { padding-top: .5rem; }
.cs-editorial-title { font-family: var(--font-serif); font-size: clamp(2rem, 3.9vw, 3.5rem); line-height: .98; letter-spacing: -.05em; margin-block: 1rem !important; }
.cs-editorial-feature-copy > p:not(.cs-editorial-title) { font-size: .6875rem; line-height: 1.6; }
.cs-editorial-read { display: flex; justify-content: space-between; font-size: .625rem; border-bottom: 1px solid #a18a73; padding-block: 1.25rem; }
.cs-editorial-read b { font-weight: 400; }
.cs-editorial-sidebar { margin-top: 1.25rem; }
.cs-editorial-sidebar > div { padding-block: .75rem; border-bottom: 1px solid #c5b39e; }
.cs-editorial-sidebar small { display: block; font-size: .5rem; margin-bottom: .3rem; }
.cs-editorial-sidebar b { display: block; font-family: var(--font-serif); font-size: 1.0625rem; line-height: 1.25; font-weight: 400; }
.cs-journal-stories { display: grid; grid-template-columns: 1fr 1fr 1fr; border-top: 1px solid #a18a73; padding-top: 1rem; }
.cs-journal-stories > div { padding-right: 1rem; }
.cs-journal-stories > div + div { border-left: 1px solid #c5b39e; padding-left: 1rem; }
.cs-journal-stories .cs-micro { font-size: .4375rem; }
.cs-journal-stories p { font-family: var(--font-serif); font-size: 1.625rem; letter-spacing: -.04em; line-height: 1.1; margin-block: .75rem 1rem; }
.cs-journal-stories > div > span:not(.cs-micro) { display: block; font-size: .5rem; margin-top: .4rem; }
.cs-journal-bottom { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid #a18a73; padding-top: 1rem; margin-top: 1.5rem; font-size: .5rem; }
.cs-journal-bottom > span:last-child { font-family: var(--font-mono); }
.cs-editorial-margin { align-self: center; border-top: 1px solid var(--border-strong); padding-top: 1.25rem; }
.cs-editorial-margin > p:first-of-type { font-size: clamp(1.375rem, 2vw, 1.75rem); line-height: 1.2; letter-spacing: -.04em; margin-block: 1.5rem; }
.cs-editorial-margin em { font-family: var(--font-serif); color: var(--accent); }
.cs-margin-rule { display: block; width: 2rem; border-top: 1px solid var(--border-strong); margin-bottom: 1.5rem; }
.cs-editorial-margin > p:last-child { font-size: .8125rem; color: var(--text-muted); }
.cs-publishing-story { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 3rem; padding-top: 3rem; }
.cs-publishing-story h3 { margin-block: 1rem 1.25rem; }
.cs-publishing-story > div > p:last-child, .cs-publishing-principles p { font-size: .875rem; color: var(--text-muted); }
.cs-publishing-principles { padding-top: .25rem; }
.cs-publishing-principles > div + div { margin-top: 1.75rem; }
.cs-publishing-principles p { margin-top: .65rem; }
.cs-taxonomy { border-top: 1px solid var(--border-strong); padding-top: 1rem; }
.cs-taxonomy > figcaption { font-size: .625rem; }
.cs-taxonomy ol { list-style: none; padding: 0 0 0 1rem; margin: 1.25rem 0 0; border-left: 1px solid var(--border-strong); }
.cs-taxonomy li { padding-bottom: 1.25rem; position: relative; }
.cs-taxonomy li:last-child { padding-bottom: 0; }
.cs-taxonomy li::before { content: ''; position: absolute; top: .3rem; left: -1.2rem; width: .375rem; height: .375rem; background: var(--accent); }
.cs-taxonomy li span { display: block; font-family: var(--font-mono); font-size: .5625rem; text-transform: uppercase; color: var(--text-muted); margin-bottom: .2rem; }
.cs-taxonomy li b { font-size: .8125rem; font-weight: 400; }
/* Final invitation, grounded in the three forms of complexity above. */
.cs-invitation { margin-top: clamp(4.5rem, 8vw, 7.5rem); padding-block: 3rem 1.25rem; border-block: 1px solid var(--border-strong); }
.cs-invitation > div { display: grid; grid-template-columns: 1.7fr 1fr; gap: 4rem; align-items: end; margin-top: 1.5rem; }
.case-studies main .cs-invitation h2 { font-size: clamp(2.5rem, 5.3vw, 4.75rem); }
.cs-invitation > div > div { max-width: 24rem; color: var(--text-muted); font-size: .9375rem; }
.cs-invitation p + p { margin-top: 1rem; }
.cs-invitation a { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: 1.75rem; padding-block: .8rem; border-block: 1px solid var(--border-strong); text-decoration: none; color: var(--text) !important; }
.cs-invitation a > span { color: var(--accent); font-size: 1.5rem; }
.cs-invitation a:hover { color: var(--accent) !important; }
.cs-invitation-foot { display: block; margin-top: 4rem; color: var(--text-muted); font-size: .5625rem; }
@media (max-width: 1023px) {
  .cs-index a { grid-template-columns: 1.5rem 3rem 1.7fr 1fr 1.5rem; gap: 1rem; }
  .cs-index-mark { width: 3rem; }
  .cs-study-header { grid-template-columns: .6fr 2fr; gap: 1.5rem; }
  .cs-study-header > .cs-lead { grid-column: 2; }
  .cs-region-stage, .cs-engineering-stage { padding: 1.5rem; }
  .cs-region-system { gap: 2rem; }
  .cs-region-system > p { font-size: 1.5rem; }
  .cs-regional-gallery { grid-template-columns: 1fr; gap: 1.5rem; }
  .cs-region-desktop { margin-top: 0; }
  .cs-regional-editions { grid-template-columns: 1fr 1fr; gap: 1.5rem; }
  .cs-edition-caption { grid-column: 1 / -1; }
  .cs-edition--ink { margin: 0; }
  .cs-edition-arcs { height: 5rem; }
  .cs-regional-story { grid-template-columns: 1fr 1.5fr; gap: 2rem; }
  .cs-principles { grid-column: 2; }
  .cs-engineering-layout { grid-template-columns: 1fr; gap: 2rem; }
  .cs-specification { display: grid; grid-template-columns: 1fr 1fr; gap: 0 2rem; }
  .cs-spec-sheet { grid-column: 2; grid-row: 1 / 4; }
  .cs-specification > p:first-of-type { margin-block: 1rem; }
  .cs-specification > .cs-spec-note { grid-column: 1; }
  .cs-engineering-story { gap: 3rem; }
  .cs-discovery-intro { margin-left: 24%; gap: 2rem; }
  .cs-publishing-header { grid-template-columns: .6fr 2fr; gap: 1.5rem; }
  .cs-publishing-presentation { grid-template-columns: 1fr; gap: 2rem; }
  .cs-editorial-margin { display: grid; grid-template-columns: 1fr 1.5fr 1.5fr; align-items: start; gap: 2rem; }
  .cs-editorial-margin > p:first-of-type { margin: 0; }
  .cs-margin-rule { display: none; }
  .cs-publishing-story { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .cs-taxonomy { grid-column: 1 / -1; }
  .cs-taxonomy ol { display: grid; grid-template-columns: repeat(4, 1fr); border-left: 0; border-top: 1px solid var(--border-strong); padding: 1rem 0 0; gap: 1.5rem; }
  .cs-taxonomy li { padding: 0; }
  .cs-taxonomy li::before { top: -1.2rem; left: 0; }
  .cs-invitation > div { gap: 2rem; }
}
@media (max-width: 767px) {
  .cs-hero { padding-top: 1.75rem; }
  .cs-folio { font-size: .5625rem; gap: 1.5rem; }
  .cs-folio > span { max-width: 8rem; text-align: right; }
  .case-studies main h1 { font-size: clamp(3.25rem, 12.8vw, 6rem); padding-block: 2.5rem 2rem; line-height: 1.03; }
  .case-studies main h1 em { margin-left: 6%; line-height: 1; }
  .cs-introduction { grid-template-columns: 1fr; gap: 1.5rem; padding-block: .5rem 2.5rem; }
  .cs-introduction > .cs-label { font-size: .5625rem; }
  .cs-introduction > .cs-label br { display: none; }
  .cs-introduction > div > p:first-child { font-size: 1.5rem; max-width: 20rem; }
  .cs-introduction > div > p:last-child { font-size: .9375rem; }
  .cs-index a { grid-template-columns: 1.25rem 2.5rem 1fr 1rem; gap: .75rem; padding-block: 1.25rem; min-height: 7rem; }
  .cs-index-number { font-size: .625rem; align-self: start; padding-top: .25rem; }
  .cs-index-mark { width: 2.5rem; height: 2.75rem; grid-row: 1 / 3; grid-column: 2; }
  .cs-index-title { grid-column: 3; font-size: 1.125rem; }
  .cs-index-category { grid-column: 3; grid-row: 2; font-size: .5625rem; }
  .cs-index-arrow { grid-column: 4; grid-row: 1 / 3; font-size: 1.5rem; }
  .cs-study { padding-top: 4.5rem; }
  .cs-study-header { grid-template-columns: 1fr; gap: 1.5rem; margin-bottom: 2rem; }
  .cs-study-meta { flex-direction: row; align-items: center; gap: 1rem; }
  .cs-chapter { font-size: 2.5rem; }
  .cs-study-meta .cs-label { font-size: .5625rem; }
  .case-studies main h2 { font-size: clamp(2rem, 8.8vw, 3.5rem); }
  .cs-study-header > .cs-lead { grid-column: 1; }
  .cs-lead { font-size: .875rem; }
  .cs-figure > figcaption { flex-direction: column; font-size: .625rem; gap: .35rem; }
  .cs-region-stage, .cs-engineering-stage { padding: 1rem; }
  .cs-plate-label { gap: 1rem; font-size: .5rem; }
  .cs-plate-label > span:last-child { text-align: right; max-width: 8rem; }
  .cs-region-system { grid-template-columns: 1fr; gap: 1.5rem; padding-block: 1.5rem; }
  .cs-region-system > p { font-size: 1.625rem; }
  .cs-system-root { font-size: .6875rem; }
  .cs-system-branches > span { font-size: .5rem; padding-inline: .5rem; }
  .cs-region-cover { grid-template-columns: 1fr; padding: .875rem; }
  .cs-region-cover > div { padding: .5rem 0 1.25rem; }
  .cs-region-cover p { font-size: 2.75rem; margin-top: 1.25rem !important; }
  .cs-screen-nav { padding: .875rem; align-items: start; }
  .cs-screen-nav > span:last-child { max-width: 8rem; text-align: right; font-size: .5rem; }
  .cs-screen-nav b { display: inline-block; margin-top: .25rem; }
  .cs-screen-brand { font-size: .625rem; white-space: nowrap; }
  .cs-cover-footnote { margin-top: 1rem; max-width: none; }
  .cs-regional-art { height: 15rem; object-fit: cover; object-position: center 60%; }
  .cs-regional-path { margin-inline: .875rem; }
  .cs-regional-path > span { font-size: .5625rem; }
  .cs-regional-path > span + span { padding-left: .5rem; }
  .cs-regional-path small { font-size: .4375rem; }
  .cs-regional-path b { display: block; margin-left: 0; }
  .cs-regional-editions { gap: .75rem; }
  .cs-edition { padding: .75rem; }
  .cs-edition p { font-size: 1.25rem; margin-top: 1.25rem !important; }
  .cs-edition > div:first-child { font-size: .5rem; }
  .cs-edition > span:last-child { font-size: .5rem; }
  .cs-edition-arcs, .cs-edition-orbit { height: 5rem; }
  .cs-region-annotations { flex-direction: column; gap: .5rem; margin-top: 1.5rem; font-size: .5625rem; }
  .cs-regional-story { grid-template-columns: 1fr; gap: 1.5rem; padding-top: 2rem; }
  .cs-principles { grid-column: 1; }
  .cs-principles > div { display: grid; grid-template-columns: 1fr 1.5fr; gap: 1rem; }
  .cs-principles dt { margin: 0; }
  .cs-story-copy { font-size: .9375rem; }
  .cs-study--discovery { margin-top: 4.5rem; padding-block: 4.5rem; }
  .cs-discovery-intro { grid-template-columns: 1fr; gap: 1rem; margin: 0 0 2rem; }
  .cs-engineering-layout { padding-block: 1.5rem 2rem; }
  .cs-catalogue-nav { font-size: .5rem; padding: .75rem; }
  .cs-catalogue-nav > span:last-child { max-width: 7rem; text-align: right; }
  .cs-catalogue-title { padding: 1rem .75rem 0; }
  .cs-catalogue-title p { font-size: 1.75rem; }
  .cs-search-illustration { margin: 1rem .75rem; font-size: .6875rem; gap: .5rem; }
  .cs-search-illustration > span:last-child { font-size: .5rem; }
  .cs-catalogue-main { grid-template-columns: 1fr; gap: 1rem; padding: 0 .75rem .75rem; }
  .cs-filter-column { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; border: 0; border-bottom: 1px solid #bcc8c1; padding: 0 0 1rem; }
  .cs-filter-column > .cs-micro { grid-column: 1 / -1; }
  .cs-filter-column > div:not(.cs-filter-note) { margin: 0; }
  .cs-filter-note { margin: 0; border: 0; padding: 0; align-self: end; }
  .cs-results-header { font-size: .5rem; }
  .cs-component-grid { grid-template-columns: 1fr; }
  .cs-component { display: grid; grid-template-columns: 5.5rem 1fr; gap: 0 .5rem; padding: .75rem; }
  .cs-component > :not(svg) { grid-column: 2; }
  .cs-component svg { grid-column: 1; grid-row: 1 / 6; align-self: center; margin: 0; }
  .cs-component > b { font-size: .75rem; margin-top: .35rem; }
  .cs-component > span { font-size: .5625rem; }
  .cs-component dl { font-size: .5625rem; }
  .cs-component > .cs-component-link { font-size: .5625rem; }
  .cs-compare-strip { font-size: .5625rem; }
  .cs-specification { grid-template-columns: 1fr; gap: 0; }
  .cs-specification > p:first-of-type { font-size: 1.875rem; margin-block: 1rem 1.5rem; }
  .cs-spec-sheet { grid-column: 1; grid-row: auto; display: grid; grid-template-columns: 1fr 1fr; }
  .cs-spec-sheet > div:first-child { grid-column: 1 / -1; }
  .cs-spec-sheet dl { align-self: center; }
  .cs-spec-sheet dl > div { display: block; font-size: .5625rem; }
  .cs-spec-sheet dd { margin-top: .15rem !important; }
  .cs-fit-path { padding: .75rem .75rem .75rem 0; }
  .cs-specification > .cs-spec-note { margin-top: .75rem; }
  .cs-decision-path ol { grid-template-columns: 1fr 1fr; gap: 1.5rem; }
  .cs-decision-path li { font-size: .6875rem; }
  .cs-decision-path li:nth-child(3)::before { display: none; }
  .cs-engineering-story { grid-template-columns: 1fr; gap: 2rem; padding-top: 2rem; }
  .cs-technical-notes li { grid-template-columns: 1rem 1fr; gap: 1rem; }
  .cs-publishing-header { grid-template-columns: 1fr; gap: 1.5rem; margin-bottom: 2rem; }
  .cs-publishing-header h2 { font-size: clamp(2rem, 8.8vw, 3.5rem); }
  .cs-publishing-stage { padding: 1rem; }
  .cs-journal { padding: .875rem; margin-top: 1rem; }
  .cs-journal-topline { font-size: .4375rem; }
  .cs-journal-topline > span:last-child { text-align: right; max-width: 6rem; }
  .cs-journal-masthead { font-size: clamp(2.5rem, 13vw, 4.5rem); padding-block: 1rem; }
  .cs-journal-nav { font-size: .4375rem; flex-wrap: wrap; justify-content: start; gap: .5rem .75rem; }
  .cs-editorial-feature { grid-template-columns: 1fr; gap: 1rem; padding-block: 1rem; }
  .cs-editorial-cover svg { height: auto; max-height: 23rem; object-fit: cover; object-position: center; }
  .cs-editorial-title { font-size: 3rem; }
  .cs-editorial-feature-copy > p:not(.cs-editorial-title) { font-size: .75rem; }
  .cs-editorial-sidebar { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; margin-top: 1rem; }
  .cs-editorial-sidebar > .cs-micro { grid-column: 1 / -1; }
  .cs-editorial-sidebar b { font-size: 1rem; }
  .cs-journal-stories { grid-template-columns: 1fr 1fr; }
  .cs-journal-stories > div { padding-right: .75rem; }
  .cs-journal-stories > div + div { padding-left: .75rem; }
  .cs-journal-stories > div:nth-child(3) { grid-column: 1 / -1; border: 0; border-top: 1px solid #c5b39e; padding: 1rem 0 0; margin-top: 1rem; }
  .cs-journal-stories p { font-size: 1.5rem; }
  .cs-journal-stories .cs-journal-index p { font-size: 2rem; }
  .cs-journal-index p br { display: none; }
  .cs-journal-index > span:not(.cs-micro) { display: inline-block !important; margin-right: .5rem; }
  .cs-journal-bottom { flex-direction: column; font-size: .5rem; gap: .5rem; }
  .cs-editorial-margin { grid-template-columns: 1fr 1fr; gap: 1rem; }
  .cs-editorial-margin > .cs-label { grid-column: 1 / -1; font-size: .5625rem; }
  .cs-editorial-margin > p:first-of-type { font-size: 1.5rem; }
  .cs-publishing-story { grid-template-columns: 1fr; padding-top: 2.5rem; gap: 2rem; }
  .cs-taxonomy { grid-column: 1; }
  .cs-taxonomy ol { grid-template-columns: 1fr; border-left: 1px solid var(--border-strong); border-top: 0; padding: 0 0 0 1rem; gap: 1.25rem; }
  .cs-taxonomy li::before { left: -1.2rem; top: .3rem; }
  .cs-invitation { margin-top: 4.5rem; padding-top: 2rem; }
  .cs-invitation > div { grid-template-columns: 1fr; gap: 2rem; }
  .case-studies main .cs-invitation h2 { font-size: clamp(2rem, 8.8vw, 3.5rem); }
  .cs-invitation-foot { margin-top: 3rem; }
}
