:root {
  --paper: #f6f3ec;
  --canvas: #ded8cc;
  --ink: #1d1d1b;
  --oxide: #b65a3c;
  --stone: #8a8f86;
  --depth: #20201e;
  --deep: var(--depth);
  --paper-dark: #20201e;
  --canvas-dark: #2b2b28;
  --light-ink: #f2ede4;
  --oxide-dark: #c66a4b;
  --stone-dark: #a5a79f;
  --depth-dark: #2b2b28;
  --white: var(--paper);
  --line: rgba(29, 29, 27, .18);
  --line-strong: rgba(29, 29, 27, .38);
  --sans: "Avenir Next", Avenir, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --gutter: clamp(1.25rem, 4.2vw, 5rem);
  --max: 1560px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
.no-js .intro-scene { display: none; }
a { color: inherit; }
img { display: block; width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--oxide); outline-offset: 4px; }
.skip-link { position: fixed; z-index: 1000; top: .5rem; left: .5rem; padding: .7rem 1rem; transform: translateY(-150%); background: var(--ink); color: var(--white); text-decoration: none; }
.skip-link:focus { transform: none; }

.brand-lockup { display: inline-flex; align-items: center; gap: .55rem; }
.brand-mark { width: 2.25rem; height: 2.25rem; fill: none; stroke: currentColor; stroke-width: 5; stroke-linecap: square; }
.brand-word { font-size: 1.05rem; font-weight: 600; line-height: 1; letter-spacing: .16em; }
.brand-mark--intro .bar { stroke-dasharray: 60; stroke-dashoffset: 60; animation: draw-bar .8s cubic-bezier(.3,.7,.2,1) forwards; }
.brand-mark--intro .bar-2 { animation-delay: .08s; }
.brand-mark--intro .bar-3 { animation-delay: .16s; }
.brand-mark--intro .bar-4 { animation-delay: .24s; }
.brand-mark--intro.is-seen .bar { animation: none; stroke-dashoffset: 0; }
@keyframes draw-bar { to { stroke-dashoffset: 0; } }

.site-header { position: sticky; z-index: 100; top: 0; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; min-height: 88px; padding: 0 var(--gutter); border-bottom: 1px solid transparent; background: var(--paper); transition: min-height .25s ease, border-color .25s ease; }
.site-header.is-scrolled { min-height: 72px; border-color: var(--line); }
.site-logo { justify-self: start; text-decoration: none; }
.site-nav { display: flex; align-items: center; justify-content: flex-end; gap: clamp(1rem, 2.2vw, 2.55rem); }
.nav-link, .portal-link, .submenu a { font-size: .69rem; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; text-decoration: none; }
.nav-link { position: relative; padding: 1.8rem 0; white-space: nowrap; }
.nav-link::after { position: absolute; right: 0; bottom: 1.35rem; left: 0; height: 1px; content: ""; transform: scaleX(0); transform-origin: left; background: var(--oxide); transition: transform .2s ease; }
.nav-link:hover::after, .nav-link.is-active::after, .nav-group.is-active .nav-link::after { transform: scaleX(1); }
.nav-group { position: relative; }
.nav-group-row { display: flex; align-items: center; }
.submenu-toggle { width: 1.7rem; height: 2rem; border: 0; background: transparent; cursor: pointer; }
.submenu-toggle::before { display: block; width: .38rem; height: .38rem; margin: auto; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; content: ""; transform: rotate(45deg) translateY(-2px); transition: transform .18s ease; }
.submenu-toggle[aria-expanded="true"]::before { transform: rotate(225deg) translateY(-2px); }
.submenu { position: absolute; top: calc(100% - .75rem); left: -1rem; min-width: 15.5rem; padding: .8rem 1rem; visibility: hidden; opacity: 0; border: 1px solid var(--line); background: var(--white); transform: translateY(.5rem); transition: opacity .18s ease, transform .18s ease, visibility .18s; }
.submenu a { display: block; padding: .72rem 0; border-bottom: 1px solid var(--line); letter-spacing: .07em; }
.submenu a:last-child { border: 0; }
.submenu a:hover { color: var(--oxide); }
.nav-group:hover .submenu, .nav-group:focus-within .submenu { visibility: visible; opacity: 1; transform: none; }
.portal-link { padding: .8rem 1rem; border: 1px solid var(--ink); }
.menu-toggle { display: none; }

main { min-width: 0; }
.home-hero { display: block; min-height: calc(100svh - 88px); border-bottom: 1px solid var(--line); }
.hero-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(5rem, 10vh, 8rem) var(--gutter); }
.eyebrow, .meta-label { margin: 0 0 1.5rem; color: var(--oxide); font-size: .65rem; font-weight: 650; letter-spacing: .18em; text-transform: uppercase; }
.hero-copy h1, .page-hero h1, .fund-hero h1, .error-page h1, .login-card h1, .setup-card h1, .admin-title h1 { max-width: 12ch; margin: 0; font-size: clamp(3.55rem, 7.8vw, 8.4rem); font-weight: 500; line-height: .92; letter-spacing: -.065em; }
.hero-copy .hero-lead, .hero-lead { max-width: 42rem; margin: 2rem 0 0; color: rgba(29,29,27,.74); font-size: clamp(1.03rem, 1.35vw, 1.3rem); line-height: 1.7; }
.hero-proof { display: grid; grid-template-columns: auto 1fr; gap: .8rem 1rem; max-width: 28rem; margin-top: 3.2rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.hero-proof span { color: var(--oxide); font-size: .62rem; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
.hero-proof p { margin: 0; color: rgba(29,29,27,.62); font-size: .78rem; }
.button-row { display: flex; align-items: center; gap: 1.8rem; margin-top: 2.6rem; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .85rem 1.2rem; border: 1px solid var(--ink); border-radius: 0; background: var(--ink); color: var(--white); font-size: .7rem; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; cursor: pointer; }
.button--outline { background: transparent; color: var(--ink); }
.button--outline:hover { background: var(--ink); color: var(--white); }
.button--solid { background: var(--deep); border-color: var(--deep); }
.text-link { display: inline-flex; align-items: center; gap: 2.5rem; padding: .65rem 0; border-bottom: 1px solid var(--ink); font-size: .72rem; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; }
.text-link span:last-child { color: var(--oxide); transition: transform .2s ease; }
.text-link:hover span:last-child { transform: translate(.2rem,-.2rem); }
.hero-image { position: relative; min-height: 620px; overflow: hidden; background: var(--canvas); }
.hero-image .art-fragment-wrap, .hero-image .art-fragment-svg { width: 100%; height: 100%; }
.image-index { position: absolute; right: 1.5rem; bottom: 1.35rem; padding: .45rem .6rem; background: var(--paper); font-size: .6rem; font-weight: 600; letter-spacing: .14em; }

.section { position: relative; max-width: var(--max); margin: 0 auto; padding: clamp(5rem, 10vw, 10rem) var(--gutter); }
.section + .section { border-top: 1px solid var(--line); }
.section-index { position: absolute; top: clamp(5rem,10vw,10rem); left: var(--gutter); color: var(--stone); font-size: .64rem; font-weight: 600; letter-spacing: .16em; }
.section-intro { max-width: 58rem; margin-left: clamp(3.6rem, 9vw, 11rem); margin-bottom: clamp(3rem, 7vw, 7rem); }
.section h2, .page-hero h1, .fund-hero h1 { margin: 0; font-size: clamp(2.6rem, 5.3vw, 5.8rem); font-weight: 500; line-height: .96; letter-spacing: -.055em; }
.section h3 { font-size: clamp(1.3rem, 2vw, 2rem); font-weight: 500; line-height: 1.12; letter-spacing: -.025em; }
.lead-copy { margin-top: 0; font-size: clamp(1.35rem, 2.1vw, 2.15rem); font-weight: 450; line-height: 1.35; letter-spacing: -.025em; }
.muted { color: rgba(29,29,27,.6); }
.strategy-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(3rem, 8vw, 9rem); align-items: start; }
.strategy-grid > div { padding-left: clamp(3.6rem, 9vw, 11rem); }
.strategy-grid p:not(.lead-copy) { max-width: 35rem; color: rgba(29,29,27,.68); }
.section-note { max-width: 42rem; margin: 1.4rem 0 0; color: rgba(29,29,27,.64); font-size: .95rem; line-height: 1.6; }
.princips { display: flex; flex-wrap: wrap; gap: .65rem; margin: 2rem 0; }
.princips span { padding: .48rem .7rem; border: 1px solid var(--line-strong); font-size: .63rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.material-picture { display: block; aspect-ratio: 4/3; overflow: hidden; background: var(--canvas); }
.material-picture img { height: 100%; object-fit: cover; }

.platform-section { background: var(--canvas); }
.platform-section .section-intro { max-width: 64rem; }
.platform-hierarchy { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.8fr); border-top: 1px solid var(--line-strong); }
.platform-uses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.platform-card { min-height: 18rem; padding: 1.7rem; border-right: 1px solid var(--line); }
.platform-uses .platform-card:last-child { border-right: 0; }
.platform-card > span, .audience-card > span { color: var(--oxide); font-size: .63rem; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
.platform-card h3 { margin: 4rem 0 1rem; }
.platform-card p { max-width: 28rem; margin: 0; color: rgba(29,29,27,.66); }
.platform-card--primary { background: var(--paper); }

.product-rows, .fund-rows, .service-list { border-top: 1px solid var(--line-strong); }
.product-rows a { display: grid; grid-template-columns: 4rem minmax(0,.7fr) minmax(0,1fr) 2rem; gap: 1.5rem; align-items: center; padding: 2rem 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.product-rows h3, .product-rows p { margin: 0; }
.product-rows > a > span, .product-rows b { color: var(--oxide); font-size: .7rem; }
.product-rows p { color: rgba(29,29,27,.65); }
.product-rows a:hover h3, .service-list a:hover h2, .fund-rows a:hover h3 { color: var(--oxide); }
.audience-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--line-strong); }
.audience-grid article, .audience-card { min-height: 18rem; padding: 2rem; border-right: 1px solid var(--line); }
.audience-grid article:last-child, .audience-card:last-child { border-right: 0; }
.audience-card { display: flex; flex-direction: column; text-decoration: none; }
.audience-grid h3 { margin: 4rem 0 1rem; }
.audience-grid p { margin: 0; color: rgba(29,29,27,.65); }
.audience-card b { margin-top: auto; padding-top: 2rem; color: var(--oxide); font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.audience-card:hover h3 { color: var(--oxide); }
.process { background: var(--deep); color: var(--white); max-width: none; }
.process .section-index { color: rgba(242,237,228,.4); }
.process .eyebrow { color: var(--oxide); }
.process-list { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); margin: 0 0 0 clamp(3.6rem,9vw,11rem); padding: 0; border-top: 1px solid rgba(242,237,228,.28); list-style: none; }
.process-list li { min-height: 9rem; padding: 1.3rem 1rem; border-right: 1px solid rgba(242,237,228,.18); border-bottom: 1px solid rgba(242,237,228,.18); }
.process-list li:nth-child(5n) { border-right: 0; }
.process-list span { display: block; margin-bottom: 2.7rem; color: var(--oxide); font-size: .62rem; letter-spacing: .15em; }
.process-list strong { font-size: .92rem; font-weight: 500; }
.people-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--line-strong); }
.people-grid article { min-height: 25rem; padding: 1.7rem; border-right: 1px solid var(--line); }
.people-grid article:last-child { border-right: 0; }
.portrait-index { display: grid; width: 7rem; height: 7rem; margin-bottom: 5.5rem; place-items: center; background: var(--canvas); color: var(--paper); font-size: 4rem; font-weight: 500; line-height: 1; }
.people-grid h3, .people-grid p { margin: .4rem 0; }
.people-grid article > div > p:last-child { max-width: 25rem; color: rgba(29,29,27,.62); }
.leadership > .text-link, .home-funds > .text-link { margin-top: 3rem; margin-left: clamp(3.6rem,9vw,11rem); }

.fund-rows a { display: grid; grid-template-columns: minmax(0,.55fr) minmax(0,.85fr) minmax(0,1fr) 2rem; gap: 1.4rem; align-items: center; padding: 2rem 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.fund-rows h3, .fund-rows p { margin: 0; }
.fund-type { color: var(--oxide); font-size: .65rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.fund-rows p { color: rgba(29,29,27,.62); }
.fund-rows b { color: var(--oxide); }
.catalog-intro { padding-bottom: 0; }
.catalog-note { max-width: 58rem; margin-left: clamp(3.6rem, 9vw, 11rem); padding: 1.7rem 2rem; border-left: 5px solid var(--oxide); background: rgba(242,237,228,.28); }
.catalog-note .lead-copy { max-width: 45rem; margin-bottom: .8rem; }
.catalog-note p:last-child { margin-bottom: 0; }
.empty-state { display: grid; grid-template-columns: 4rem minmax(0,1fr); align-items: center; min-height: 9rem; border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line); color: rgba(29,29,27,.6); }
.empty-state span { color: var(--oxide); }
.news-list { max-width: 72rem; border-top: 1px solid var(--line-strong); }
.news-card { display: grid; grid-template-columns: 9rem minmax(0, .7fr) minmax(0, 1fr); gap: 2rem; padding: 2.4rem 0; border-bottom: 1px solid var(--line); }
.news-card time { color: var(--stone); font-size: .68rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.news-card h2, .news-card p { margin: 0; }
.news-card h2 { font-size: clamp(1.5rem, 2.8vw, 2.4rem); font-weight: 500; line-height: 1.02; letter-spacing: -.04em; }
.news-card p { color: rgba(29,29,27,.68); }
.entry-grid, .link-panels { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--line-strong); }
.home-next .entry-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.entry-grid a, .link-panels a { min-height: 22rem; padding: 2rem; border-right: 1px solid var(--line); text-decoration: none; }
.entry-grid a:last-child, .link-panels a:last-child { border-right: 0; }
.entry-grid span, .link-panels span { color: var(--oxide); font-size: .65rem; letter-spacing: .14em; }
.entry-grid h3, .link-panels h3 { max-width: 16ch; margin: 5rem 0 1rem; }
.entry-grid p, .link-panels p { max-width: 28rem; color: rgba(29,29,27,.63); }
.entry-grid b { display: block; margin-top: 3rem; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }

.page-hero, .fund-hero { max-width: var(--max); min-height: 66svh; margin: 0 auto; padding: clamp(6rem,12vw,12rem) var(--gutter) clamp(5rem,8vw,8rem); border-bottom: 1px solid var(--line); }
.page-hero--compact { min-height: 48svh; padding-top: clamp(5rem,8vw,8rem); padding-bottom: clamp(3.5rem,6vw,6rem); }
.page-hero h1, .fund-hero h1 { max-width: 13ch; }
.page-hero .hero-lead, .fund-hero .hero-lead { margin-left: clamp(0rem, 27vw, 30rem); }
.page-hero { position: relative; isolation: isolate; overflow: clip; }
.page-hero::after { position: absolute; z-index: -1; right: -8vw; bottom: -18vw; width: 46vw; height: 46vw; border: 1px solid currentColor; border-radius: 50%; opacity: .18; content: ""; box-shadow: -3rem -3rem 0 -2.9rem currentColor, -6rem -6rem 0 -5.9rem currentColor; }
.page-hero--oxide { background: var(--oxide); color: var(--white); }
.page-hero--oxide .eyebrow, .page-hero--dark .eyebrow, .page-hero--ink .eyebrow, .page-hero--deep .eyebrow { color: var(--oxide); }
.page-hero--oxide .hero-lead, .page-hero--dark .hero-lead, .page-hero--ink .hero-lead, .page-hero--deep .hero-lead { color: rgba(242,237,228,.72); }
.page-hero--deep { background: var(--deep); color: var(--white); }
.page-hero--stone { background: var(--stone); color: var(--ink); }
.page-hero--stone .eyebrow { color: var(--deep); }
.page-hero--clay { background: var(--canvas); }
.page-hero--ink { background: var(--ink); color: var(--paper); }
.page-hero--blue { background: var(--canvas); color: var(--deep); }
.page-hero--blue .eyebrow { color: var(--deep); }
.page-hero--warm { background: var(--canvas); }
.page-hero--dark { background: var(--deep); color: var(--paper); }
.page-hero--service-01 { background: var(--canvas); }
.page-hero--service-02 { background: var(--stone); }
.page-hero--service-03 { background: var(--canvas); color: var(--deep); }
.page-hero--service-04 { background: var(--oxide); color: var(--paper); }
.page-hero--service-04 .eyebrow, .page-hero--service-04 .hero-lead { color: rgba(242,237,228,.75); }
.detail-context { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 1px; padding-top: clamp(3rem, 6vw, 6rem); padding-bottom: 0; background: var(--line); }
.context-card { min-height: 18rem; padding: 2rem; background: var(--paper); }
.context-card--canvas { background: var(--canvas); }
.context-card .lead-copy { max-width: 32rem; }
.context-card > p:not(.eyebrow) { max-width: 32rem; color: rgba(29,29,27,.7); }
.context-card .text-link { margin-top: 2rem; }
.split-copy, .detail-grid, .fund-detail, .contact-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(3rem,9vw,10rem); }
.split-copy p:not(.lead-copy), .detail-grid p, .fund-strategy > p { color: rgba(29,29,27,.68); }
.editorial-copy { padding-top: 0; }
.editorial-copy p { max-width: 53rem; margin: 0 0 0 auto; font-size: clamp(1.2rem,1.8vw,1.75rem); line-height: 1.55; }
.link-panels { grid-template-columns: repeat(3,minmax(0,1fr)); }
.link-panels a { min-height: 20rem; }
.thesis { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(3rem,9vw,10rem); }
.thesis blockquote { margin: 0; font-size: clamp(2rem,4.2vw,4.8rem); line-height: 1.05; letter-spacing: -.05em; }
.princip-list article { display: grid; grid-template-columns: 3rem 1fr; column-gap: 1rem; padding: 1.5rem 0; border-top: 1px solid var(--line); }
.princip-list article:last-child { border-bottom: 1px solid var(--line); }
.princip-list span { grid-row: 1/3; color: var(--oxide); font-size: .65rem; }
.princip-list h3, .princip-list p { margin: 0; }
.princip-list p { color: rgba(29,29,27,.62); }
.service-list a { display: grid; grid-template-columns: 5rem minmax(0,1fr) 2rem; gap: 2rem; align-items: start; min-height: 12rem; padding: 2rem 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.service-list h2, .service-list p { margin: 0; }
.service-list a > span, .service-list b { color: var(--oxide); font-size: .68rem; }
.service-list p { margin-top: .8rem; color: rgba(29,29,27,.64); }
.feature-list { margin: 0; padding: 0; list-style: none; }
.feature-list li { display: grid; grid-template-columns: 4rem minmax(0,1fr); min-height: 6.5rem; padding: 1.2rem 0; border-top: 1px solid var(--line); }
.feature-list li:last-child { border-bottom: 1px solid var(--line); }
.feature-list span { color: var(--oxide); font-size: .65rem; }
.feature-list p { margin: 0; font-size: 1.1rem; }
.fund-strategy h3 { margin-top: 4rem; }
.fund-facts { border-top: 1px solid var(--line-strong); }
.fund-facts > .eyebrow { padding-top: 1.5rem; }
.fund-facts > div { display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: 1rem; padding: 1rem 0; border-top: 1px solid var(--line); }
.fund-facts span { color: rgba(29,29,27,.58); font-size: .72rem; }
.fund-facts strong { font-size: .85rem; font-weight: 550; }
.nav-module { display: flex; align-items: end; justify-content: space-between; max-width: var(--max); margin: 0 auto; padding: 3.5rem var(--gutter); background: var(--canvas); }
.nav-module h2 { margin: 0; font-size: clamp(2.5rem,5vw,5rem); font-weight: 500; letter-spacing: -.05em; }
.nav-module h2 small { font-size: .22em; letter-spacing: .1em; }
.nav-module > p { max-width: 20rem; margin: 0; color: rgba(29,29,27,.65); }
.disclaimer, .go-live-note, .open-gate, .legal-statement { margin-top: 4rem; padding: 2rem; border: 1px solid var(--line); }
.legal-layout { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: clamp(3rem,9vw,10rem); }
.legal-layout > div:first-child h2 { margin: 0; font-size: clamp(2.4rem,4.5vw,5rem); line-height: 1; letter-spacing: -.055em; }
.legal-copy { max-width: 48rem; }
.legal-copy h3 { margin: 0; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.legal-copy p { color: rgba(29,29,27,.68); }

.archive { padding-top: 4rem; }
.archive-orientation { display: grid; grid-template-columns: auto minmax(0,1fr); gap: .4rem 1.5rem; max-width: 50rem; margin-bottom: 2.8rem; padding-bottom: 1.3rem; border-bottom: 1px solid var(--line); }
.archive-orientation strong { font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.archive-orientation span { color: var(--oxide); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.archive-orientation p { grid-column: 1 / -1; margin: .4rem 0 0; color: rgba(29,29,27,.62); font-size: .85rem; }
.archive-filters { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.65fr) auto; gap: 1rem; align-items: end; }
.archive-filters label { display: grid; gap: .5rem; margin: 0; }
.archive-filters label span { font-size: .63rem; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
input, textarea, select { width: 100%; min-height: 47px; padding: .75rem .85rem; border: 1px solid var(--line-strong); border-radius: 0; background: var(--white); color: var(--ink); }
textarea { resize: vertical; }
.archive-summary { display: flex; justify-content: space-between; margin: 3rem 0 1rem; color: rgba(29,29,27,.62); font-size: .72rem; }
.document-table { border-top: 1px solid var(--line-strong); }
.document-head, .document-row { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1fr) minmax(0,1.8fr) minmax(0,1.25fr) minmax(0,.45fr) 1.5rem; gap: 1rem; align-items: center; }
.document-head { min-height: 3rem; color: rgba(29,29,27,.54); font-size: .6rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.document-row { min-height: 5.5rem; padding: 1rem 0; border-top: 1px solid var(--line); text-decoration: none; }
.document-row time, .document-row span { font-size: .75rem; }
.document-row strong { font-size: .91rem; font-weight: 550; }
.document-row b { color: var(--oxide); }
.document-row:hover strong { color: var(--oxide); }
.pagination { display: flex; gap: .45rem; margin-top: 2rem; }
.pagination a { display: grid; min-width: 2.6rem; min-height: 2.6rem; padding: .6rem; place-items: center; border: 1px solid var(--line); font-size: .7rem; text-decoration: none; }
.pagination [aria-current="page"] { background: var(--ink); color: var(--white); }
.contact-grid h2 { max-width: 14ch; }
.contact-start { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(3rem,9vw,10rem); background: var(--canvas); }
.contact-start h2 { max-width: 12ch; }
.contact-start-copy { max-width: 46rem; }
.contact-start-copy ul { margin: 1.5rem 0 0; padding-left: 1.2rem; color: rgba(29,29,27,.68); }
.contact-start-copy li { margin: .5rem 0; }
.contact-lines { border-top: 1px solid var(--line-strong); }
.contact-lines a { display: grid; grid-template-columns: 7rem minmax(0,1fr); gap: 1rem; padding: 1.4rem 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.contact-lines span { color: var(--oxide); font-size: .65rem; text-transform: uppercase; }
.open-contact { padding: 2rem 0; }
.open-contact span { color: var(--oxide); font-size: .65rem; letter-spacing: .1em; }
.error-page { min-height: 70svh; padding: clamp(6rem,12vw,12rem) var(--gutter); }
.error-page p { max-width: 36rem; }
.error-logo { display: inline-block; margin-bottom: 5rem; font-weight: 600; letter-spacing: .16em; text-decoration: none; }

.site-footer { padding: clamp(4rem,7vw,7rem) var(--gutter) 2rem; background: var(--ink); color: var(--paper); }
.footer-lead { display: flex; align-items: start; justify-content: space-between; min-height: 10rem; border-bottom: 1px solid rgba(242,237,228,.2); }
.footer-lead p { max-width: 18rem; margin: 0; font-size: 1.4rem; letter-spacing: -.025em; }
.footer-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 2rem; max-width: 46rem; margin: 3rem 0 4rem auto; }
.footer-grid > div { display: flex; flex-direction: column; align-items: flex-start; }
.footer-grid a, .footer-grid p { margin: .35rem 0; color: rgba(242,237,228,.7); font-size: .8rem; text-decoration: none; }
.footer-grid a:hover { color: var(--white); }
.footer-grid .meta-label { color: var(--oxide); }
.footer-bottom { display: flex; justify-content: space-between; padding-top: 1.2rem; border-top: 1px solid rgba(242,237,228,.2); color: rgba(242,237,228,.52); font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; }

/* Administration */
.admin-body { background: var(--canvas); }
.admin-header { display: flex; align-items: center; justify-content: space-between; min-height: 76px; padding: 0 clamp(1.2rem,4vw,4rem); border-bottom: 1px solid var(--line); background: var(--ink); color: var(--white); }
.admin-header > a { text-decoration: none; }
.admin-header nav { display: flex; gap: 1.5rem; }
.admin-header nav a { color: rgba(242,237,228,.72); font-size: .7rem; letter-spacing: .09em; text-transform: uppercase; text-decoration: none; }
.admin-header nav a:hover { color: var(--paper); }
.admin-shell { max-width: 1420px; min-height: calc(100vh - 76px); margin: 0 auto; padding: clamp(2rem,6vw,5rem) clamp(1.2rem,4vw,4rem); overflow: visible; }
.admin-title { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 3rem; }
.admin-title h1, .login-card h1, .setup-card h1 { font-size: clamp(2.8rem,5vw,5rem); }
.admin-title p { color: rgba(29,29,27,.62); }
.stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--line-strong); }
.stats a { display: flex; min-height: 12rem; padding: 1.5rem; flex-direction: column; justify-content: space-between; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); text-decoration: none; }
.stats a:last-child { border-right: 0; }
.stats strong { font-size: 3.5rem; font-weight: 500; letter-spacing: -.05em; }
.stats span { color: var(--oxide); font-size: .68rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.admin-notice { max-width: 50rem; margin-top: 2rem; padding: 1.4rem; border-left: 3px solid var(--oxide); background: var(--white); }
.admin-notice p { margin-bottom: 0; color: rgba(29,29,27,.65); }
.admin-grid { display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: clamp(2rem,5vw,5rem); align-items: start; }
.editor, .login-card, .setup-card { display: grid; gap: .7rem; padding: clamp(1.5rem,3vw,2.7rem); border: 1px solid var(--line); background: var(--white); }
.editor--wide { max-width: 900px; }
.editor h2 { margin: 0 0 1rem; font-size: 1.7rem; font-weight: 500; }
.editor label, .login-card label, .setup-card label { display: grid; gap: .45rem; margin-top: .45rem; font-size: .7rem; font-weight: 600; letter-spacing: .055em; }
.editor small, .setup-card small { color: rgba(29,29,27,.55); font-weight: 400; }
.form-columns { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 1rem; }
.check { display: flex !important; min-height: 42px; align-items: center; grid-template-columns: auto 1fr !important; gap: .7rem !important; }
.check input { width: 1rem; min-height: 1rem; }
.form-details { margin-top: .8rem; border-top: 1px solid var(--line); }
.form-details summary { padding: 1rem 0; color: var(--oxide); font-size: .7rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.records { border-top: 1px solid var(--line-strong); }
.records article { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 8rem; padding: 1.2rem 0; border-bottom: 1px solid var(--line); }
.records h2 { margin: .45rem 0; font-size: 1.25rem; font-weight: 550; }
.records small { color: rgba(29,29,27,.55); }
.status { color: var(--stone); font-size: .61rem; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; }
.status.published { color: var(--deep); }
.record-actions { display: flex; flex: 0 0 auto; gap: .5rem; }
.record-actions form { display: block; }
.secondary, .danger { min-height: 39px; padding: .55rem .75rem; border: 1px solid var(--line-strong); border-radius: 0; background: transparent; font-size: .66rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.danger { color: var(--oxide); }
.flash { max-width: 1420px; margin: 0 auto 1.5rem; padding: 1rem 1.2rem; border-left: 3px solid var(--deep); background: var(--white); }
.flash.error { border-left-color: var(--oxide); color: var(--oxide); }
.empty-admin { padding: 3rem 0; color: rgba(29,29,27,.6); }
.login-card, .setup-card { max-width: 650px; margin: 6vh auto; }
.login-card .button, .setup-card .button { margin-top: 1rem; justify-self: start; }
.setup-brand { margin-bottom: 3rem; }
code { padding: .1rem .3rem; background: rgba(29,29,27,.08); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .86em; }

@media (max-width: 1120px) {
  .site-nav { gap: 1rem; }
  .nav-link { letter-spacing: .07em; }
  .archive-filters { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .archive-filters .button { justify-self: start; }
}

@media (max-width: 960px) {
  .site-header { min-height: 72px; grid-template-columns: minmax(0,1fr) auto; }
  .menu-toggle { display: flex; align-items: center; gap: .7rem; min-height: 44px; padding: .5rem 0 .5rem 1rem; border: 0; background: transparent; font-size: .67rem; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
  .menu-toggle i, .menu-toggle i::after { display: block; width: 1.4rem; height: 1px; background: currentColor; transition: transform .2s ease; }
  .menu-toggle i { position: relative; }
  .menu-toggle i::after { position: absolute; top: .4rem; content: ""; }
  .menu-toggle[aria-expanded="true"] i { transform: rotate(45deg); }
  .menu-toggle[aria-expanded="true"] i::after { top: 0; transform: rotate(90deg); }
  .site-nav { position: fixed; z-index: 99; top: 72px; right: 0; bottom: 0; left: 0; display: none; overflow-y: auto; padding: 2rem var(--gutter) 5rem; background: var(--paper); }
  .site-nav.is-open { display: block; }
  .no-js .menu-toggle { display: none; }
  .no-js .site-nav { position: static; display: block; padding: 1rem var(--gutter) 2rem; }
  .no-js .submenu-toggle { display: none; }
  .no-js .submenu { position: static; display: block; min-width: 0; padding: 0 0 .8rem 1rem; visibility: visible; opacity: 1; border: 0; background: transparent; transform: none; }
  .nav-group, .site-nav > .nav-link, .portal-link { display: block; border-bottom: 1px solid var(--line); }
  .nav-group-row { justify-content: space-between; }
  .nav-link { display: block; padding: 1.1rem 0; font-size: .82rem; }
  .nav-link::after { display: none; }
  .submenu-toggle { width: 3rem; height: 3rem; }
  .submenu { position: static; display: none; min-width: 0; padding: 0 0 .8rem 1rem; visibility: visible; opacity: 1; border: 0; background: transparent; transform: none; }
  .submenu.is-open { display: block; }
  .submenu a { font-size: .72rem; }
  .portal-link { padding: 1.1rem 0; margin-top: 1rem; }
  .home-hero { min-height: 0; }
  .hero-copy { min-height: 70svh; }
  .hero-image { min-height: 55svh; }
  .strategy-grid, .split-copy, .detail-grid, .detail-context, .fund-detail, .contact-grid, .contact-start, .thesis, .legal-layout { grid-template-columns: minmax(0,1fr); }
  .platform-hierarchy, .platform-uses { grid-template-columns: minmax(0,1fr); }
  .platform-card { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .platform-uses .platform-card:last-child { border-bottom: 0; }
  .strategy-grid > div { padding-left: 0; }
  .section-intro { margin-left: 3.5rem; }
  .process-list { grid-template-columns: repeat(2,minmax(0,1fr)); margin-left: 3.5rem; }
  .process-list li:nth-child(5n) { border-right: 1px solid rgba(242,237,228,.18); }
  .process-list li:nth-child(2n) { border-right: 0; }
  .audience-grid, .people-grid { grid-template-columns: minmax(0,1fr); }
  .audience-grid article, .audience-card, .people-grid article { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .audience-grid h3 { margin-bottom: 3rem; }
  .catalog-note { margin-left: 3.5rem; }
  .people-grid article { display: grid; grid-template-columns: 7rem minmax(0,1fr); gap: 2rem; }
  .portrait-index { margin: 0; }
  .product-rows a, .fund-rows a { grid-template-columns: 3rem minmax(0,1fr) 2rem; }
  .product-rows p, .fund-rows p { grid-column: 2/3; }
  .product-rows b, .fund-rows b { grid-column: 3; grid-row: 1/3; }
  .news-card { grid-template-columns: 7rem minmax(0,1fr); gap: 1rem; }
  .news-card p { grid-column: 2; }
  .entry-grid, .link-panels { grid-template-columns: minmax(0,1fr); }
  .home-next .entry-grid { grid-template-columns: minmax(0,1fr); }
  .entry-grid a, .link-panels a { min-height: 17rem; border-right: 0; border-bottom: 1px solid var(--line); }
  .page-hero .hero-lead, .fund-hero .hero-lead { margin-left: 0; }
  .document-head { display: none; }
  .document-row { grid-template-columns: 7rem minmax(0,1fr) 1.5rem; gap: .6rem 1rem; }
  .document-row strong { grid-column: 2; grid-row: 1; }
  .document-row time { grid-column: 1; grid-row: 1; }
  .document-row span:nth-of-type(1) { grid-column: 1; grid-row: 2; }
  .document-row span:nth-of-type(2) { grid-column: 2; grid-row: 2; }
  .document-row span:nth-of-type(3) { display: none; }
  .document-row b { grid-column: 3; grid-row: 1/3; }
  .admin-header { align-items: flex-start; flex-direction: column; padding-top: 1rem; padding-bottom: 1rem; }
  .admin-header nav { flex-wrap: wrap; gap: .7rem 1.2rem; }
  .admin-grid { grid-template-columns: minmax(0,1fr); }
}

@media (max-width: 560px) {
  body { font-size: 15px; }
  .brand-word { font-size: .95rem; }
  .brand-mark { width: 2rem; height: 2rem; }
  .hero-copy h1 { font-size: clamp(3.2rem,16vw,5rem); }
  .hero-copy { min-height: calc(100svh - 72px); padding-top: 4rem; padding-bottom: 4rem; }
  .hero-image { min-height: 46svh; }
  .button-row { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .section { padding-top: 5.5rem; padding-bottom: 5.5rem; }
  .section-index { top: 5.5rem; }
  .section-intro { margin-left: 2.6rem; margin-bottom: 3rem; }
  .hero-proof { grid-template-columns: 1fr; gap: .35rem; }
  .section h2, .page-hero h1, .fund-hero h1 { font-size: clamp(2.7rem,14vw,4.2rem); }
  .lead-copy { font-size: 1.35rem; }
  .material-picture { aspect-ratio: 3/4; }
  .product-rows a, .fund-rows a { grid-template-columns: 2.2rem minmax(0,1fr) 1.2rem; gap: .8rem; padding: 1.5rem 0; }
  .product-rows h3, .fund-rows h3 { font-size: 1.25rem; }
  .news-card { display: block; padding: 1.5rem 0; }
  .news-card h2 { margin: .7rem 0; }
  .process-list { margin-left: 0; }
  .process-list li { min-height: 8.5rem; }
  .people-grid article { grid-template-columns: 5rem minmax(0,1fr); gap: 1.2rem; padding: 1.5rem 0; }
  .portrait-index { width: 5rem; height: 5rem; font-size: 2.7rem; }
  .leadership > .text-link, .home-funds > .text-link { margin-left: 0; }
  .page-hero, .fund-hero { min-height: 64svh; }
  .nav-module { align-items: flex-start; flex-direction: column; gap: 2rem; }
  .catalog-note { margin-left: 0; padding: 1.4rem; }
  .archive-orientation { grid-template-columns: 1fr; gap: .35rem; }
  .archive-filters, .form-columns { grid-template-columns: minmax(0,1fr); }
  .archive-filters .button { width: 100%; }
  .document-row { grid-template-columns: minmax(0,1fr) 1.3rem; }
  .document-row time { grid-column: 1; grid-row: 2; }
  .document-row strong { grid-column: 1; grid-row: 1; }
  .document-row span:nth-of-type(1) { grid-column: 1; grid-row: 3; }
  .document-row span:nth-of-type(2) { grid-column: 1; grid-row: 4; }
  .document-row b { grid-column: 2; grid-row: 1/5; }
  .footer-lead { flex-direction: column; gap: 3rem; padding-bottom: 2rem; }
  .footer-grid { grid-template-columns: minmax(0,1fr); margin-left: 0; }
  .footer-bottom { gap: 1rem; flex-direction: column; }
  .admin-title { align-items: flex-start; flex-direction: column; }
  .stats { grid-template-columns: minmax(0,1fr); }
  .stats a { min-height: 8rem; border-right: 0; }
  .records article { align-items: flex-start; flex-direction: column; }
}

/* TARGETED FIX — veřejné podstránky: obsah před dekorací, schválená paleta. */
:root {
  --paper: #f2ede4;
  --canvas: #d9d1c3;
  --ink: #1d1d1b;
  --oxide: #b65a3c;
  --stone: #8a8f86;
  --depth: #2e3d4f;
  --deep: #2e3d4f;
  --paper-dark: #2e3d4f;
  --canvas-dark: #2e3d4f;
  --light-ink: #f2ede4;
  --oxide-dark: #b65a3c;
  --stone-dark: #d9d1c3;
  --depth-dark: #2e3d4f;
}

/* Žádná dekorativní podstránka nevytváří samostatnou obrazovku před obsahem. */
.page-hero, .fund-hero {
  display: block;
  min-height: 0;
  padding-top: clamp(2.35rem, 4vw, 4rem);
  padding-bottom: clamp(2.5rem, 4.5vw, 4.5rem);
}
.page-hero h1, .fund-hero h1 { position: relative; z-index: 1; }
.page-hero .hero-lead, .fund-hero .hero-lead {
  position: relative;
  z-index: 1;
  max-width: min(42rem, 56vw);
  margin: 1rem 0 0 clamp(0rem, 12vw, 12rem);
}
.page-hero .eyebrow, .fund-hero .eyebrow { position: relative; z-index: 1; }
.page-hero-art { pointer-events: none; }

/* Kontrastní plochy používají blue/ecru/oxide místo tmavé béžové či černé. */
.page-hero--dark, .page-hero--ink, .page-hero--deep,
.page-hero--development, .page-hero--special, .page-hero--blue,
.process, .development-ledger, .development-conclusion,
.special-diagnostic, .special-resolution { background: #2e3d4f; color: #f2ede4; }
.page-hero--dark .hero-lead, .page-hero--ink .hero-lead, .page-hero--deep .hero-lead,
.page-hero--development .hero-lead, .page-hero--special .hero-lead, .page-hero--blue .hero-lead { color: #d9d1c3; }
.page-hero--dark .eyebrow, .page-hero--ink .eyebrow, .page-hero--deep .eyebrow,
.page-hero--development .eyebrow, .page-hero--special .eyebrow, .page-hero--blue .eyebrow,
.process .eyebrow, .development-ledger .eyebrow, .development-conclusion .eyebrow,
.special-diagnostic .eyebrow, .special-resolution .eyebrow { color: #b65a3c; }
.page-hero--service-04 { background: #b65a3c; color: #1d1d1b; }
.page-hero--service-04 .hero-lead { color: #2e3d4f; }
.page-hero--service-04 .eyebrow { color: #1d1d1b; }

/* Kompaktní editorialní rytmus mimo homepage. */
.section { padding-top: clamp(3rem, 5vw, 5rem); padding-bottom: clamp(3rem, 5vw, 5rem); }
.section h2 + p, .section h2 + .lead-copy { margin-top: 1rem; }
.section p + p { margin-top: .9em; }
.fund-strategy h3 { margin-top: 2.5rem; }
.detail-context { padding-top: clamp(2.5rem, 4vw, 4rem); }
.context-card { min-height: 0; }
.disclaimer, .go-live-note, .open-gate, .legal-statement { margin-top: 2.5rem; }

/* Povinné informace jsou rozcestník fondů + výhradně firemní archiv. */
.information-funds .section-intro, .company-documents .section-intro { max-width: 48rem; margin-bottom: 2rem; }
.document-table--compact .document-head, .document-table--compact .document-row { grid-template-columns: minmax(0,.75fr) minmax(0,1fr) minmax(0,2fr) minmax(0,.45fr) 1.5rem; }
.company-documents { background: var(--canvas); }
.fund-edit { width: 100%; margin-top: 1.25rem; border-top: 1px solid var(--line); }
.fund-edit summary { padding: 1rem 0; cursor: pointer; font-size: .72rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.fund-edit .editor { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; padding: 1rem 0; }

@media (max-width: 960px) {
  .page-hero .hero-lead, .fund-hero .hero-lead { max-width: min(40rem, 76vw); margin-left: 0; }
}
@media (max-width: 560px) {
  .page-hero, .fund-hero { padding-top: 2.5rem; padding-bottom: 2.75rem; }
  .page-hero .hero-lead, .fund-hero .hero-lead { max-width: 100%; }
  .document-table--compact .document-head { display: none; }
  .document-table--compact .document-row { grid-template-columns: 1fr auto; gap: .35rem 1rem; padding: 1.1rem 0; }
  .document-table--compact .document-row strong { grid-column: 1 / -1; }
  .fund-edit .editor { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .brand-mark--intro .bar { stroke-dashoffset: 0; }
}

/* BOLD VISUAL SPRINT — konstrukce, odhalení a materiál */
:root {
  --motion-fast: 180ms;
  --motion-base: 420ms;
  --motion-slow: 760ms;
  --motion-stagger: 80ms;
  --ease-ecru: cubic-bezier(.22,.61,.36,1);
  --ease-mark: cubic-bezier(.3,.7,.2,1);
}

.intro-scene { position: fixed; z-index: 500; inset: 0; display: grid; place-items: center; overflow: hidden; background: var(--paper); color: var(--ink); opacity: 1; visibility: visible; transition: opacity .76s var(--ease-ecru), visibility .76s; }
.intro-scene[hidden] { display: none; }
.intro-scene::before { position: absolute; top: 50%; right: 0; left: 0; height: 1px; content: ""; background: var(--oxide); opacity: .2; transform: scaleX(0); transform-origin: left; animation: intro-axis 1.1s .15s var(--ease-mark) forwards; }
.intro-frame { position: relative; display: grid; width: min(78vw, 54rem); min-height: 12rem; place-items: center; }
.intro-logo { position: relative; z-index: 1; padding: 2rem 3rem; background: var(--paper); transform: scale(.96); opacity: 0; animation: intro-logo-in .9s .42s var(--ease-mark) forwards; }
.intro-logo .brand-lockup { gap: 1rem; }
.intro-logo .brand-mark { width: clamp(4rem, 9vw, 6.8rem); height: clamp(4rem, 9vw, 6.8rem); stroke-width: 4; }
.intro-logo .brand-word { font-size: clamp(3rem, 8vw, 7rem); font-weight: 500; letter-spacing: .18em; }
.intro-line { position: absolute; right: 0; left: 0; height: 1px; background: var(--ink); opacity: .24; transform: scaleX(0); transform-origin: left; }
.intro-line--top { top: 0; animation: intro-line-in 1.2s .15s var(--ease-mark) forwards; }
.intro-line--bottom { bottom: 0; animation: intro-line-in 1.2s .6s var(--ease-mark) forwards; }
.intro-scene.is-closing { opacity: 0; visibility: hidden; }
@keyframes intro-axis { to { transform: scaleX(1); } }
@keyframes intro-line-in { to { transform: scaleX(1); } }
@keyframes intro-logo-in { to { opacity: 1; transform: none; } }

.home-hero { position: relative; isolation: isolate; }
.hero-copy { position: relative; z-index: 1; }
.hero-copy h1 { max-width: 9ch; font-size: clamp(4.1rem, 9.8vw, 10.5rem); line-height: .86; }
.hero-copy .hero-lead { max-width: 36rem; }
.hero-image { isolation: isolate; }
.hero-image::after { position: absolute; z-index: 1; right: 0; bottom: 0; width: 38%; height: 1px; content: ""; background: var(--oxide); transform: scaleX(0); transform-origin: right; transition: transform 1s .45s var(--ease-ecru); }
.hero-image.is-visible::after { transform: scaleX(1); }
.hero-geometry { position: absolute; z-index: 2; pointer-events: none; }
.hero-geometry--arc { top: -18%; right: -14%; width: 66%; aspect-ratio: 1; border: 1px solid rgba(242,237,228,.78); border-radius: 50%; opacity: .7; transform: rotate(-18deg); }
.hero-geometry--arc::after { position: absolute; top: 18%; right: 18%; bottom: 18%; left: 18%; border: 1px solid rgba(182,90,60,.78); border-radius: 50%; content: ""; }
.hero-geometry--axis { top: 12%; bottom: 12%; left: 14%; width: 1px; background: var(--paper); opacity: .55; }
.image-index { z-index: 3; }

.section-intro { position: relative; }
.section-intro::before { position: absolute; top: .25rem; left: clamp(-3.6rem, -9vw, -11rem); width: 1.4rem; height: 1px; content: ""; background: var(--oxide); box-shadow: 0 .42rem 0 var(--oxide), 0 .84rem 0 var(--oxide); }
.section-intro::after { position: absolute; top: -.1rem; left: clamp(-2rem, -5vw, -5.6rem); width: 1px; height: .6rem; content: ""; background: var(--oxide); }
.strategy-section { overflow: clip; }
.strategy-section::after { position: absolute; right: -8rem; bottom: -12rem; width: 28rem; height: 28rem; border: 1px solid var(--line); border-radius: 50%; content: ""; pointer-events: none; }
.platform-section { background: var(--canvas); }
.platform-hierarchy { position: relative; }
.platform-hierarchy::after { position: absolute; top: -1px; right: 16%; width: 4rem; height: 1px; content: ""; background: var(--oxide); }

.js .reveal:not(.is-visible),
.js [data-reveal]:not(.is-visible),
.js .motion-reveal:not(.is-visible) { opacity: 0; transform: translateY(24px); }
.js [data-reveal="image"]:not(.is-visible),
.js .motion-reveal--image:not(.is-visible) { opacity: .3; clip-path: inset(0 0 0 12%); transform: none; }
.reveal, [data-reveal], .motion-reveal { transition: opacity var(--motion-slow) var(--ease-ecru), transform var(--motion-slow) var(--ease-ecru), clip-path var(--motion-slow) var(--ease-ecru); }
[data-reveal="up"]:nth-child(2) { transition-delay: var(--motion-stagger); }
[data-reveal="up"]:nth-child(3) { transition-delay: calc(var(--motion-stagger) * 2); }
.motion-reveal.is-visible, .reveal.is-visible, [data-reveal].is-visible { opacity: 1; transform: none; clip-path: inset(0); }
.product-rows > a, .service-list > a, .fund-rows > a { position: relative; transition: color var(--motion-fast) ease, background var(--motion-fast) ease; }
.product-rows > a::before, .service-list > a::before, .fund-rows > a::before { position: absolute; top: -1px; bottom: -1px; left: 0; width: 3px; content: ""; background: var(--oxide); transform: scaleY(0); transform-origin: bottom; transition: transform var(--motion-base) var(--ease-ecru); }
.product-rows > a:hover, .service-list > a:hover, .fund-rows > a:hover { background: rgba(217,209,195,.28); }
.product-rows > a:hover::before, .service-list > a:hover::before, .fund-rows > a:hover::before { transform: scaleY(1); }
.platform-card, .audience-card, .entry-grid a, .link-panels a { transition: background var(--motion-base) var(--ease-ecru), color var(--motion-base) var(--ease-ecru); }
.platform-card:hover, .audience-card:hover, .entry-grid a:hover, .link-panels a:hover { background: rgba(242,237,228,.5); }
.process-list li { transition: background var(--motion-base) var(--ease-ecru), color var(--motion-base) var(--ease-ecru); }
.process-list li:hover { background: rgba(242,237,228,.08); }
.site-logo .brand-mark, .site-logo .brand-word { transition: color var(--motion-base) var(--ease-ecru), transform var(--motion-base) var(--ease-ecru); }
.site-logo:hover .brand-mark { transform: translateX(3px); }
.site-logo:hover .brand-word { color: var(--oxide); }
.button, .portal-link { transition: background var(--motion-fast) ease, color var(--motion-fast) ease, transform var(--motion-fast) ease; }
.button:hover, .portal-link:hover { transform: translateY(-2px); }
.submenu { background: var(--paper); }

@media (max-width: 960px) {
  .intro-frame { width: 88vw; }
  .intro-logo { padding: 1.4rem 1.6rem; }
  .hero-copy h1 { max-width: 10ch; }
  .section-intro::before { left: -2.6rem; }
  .section-intro::after { left: -1.4rem; }
}

@media (max-width: 560px) {
  .intro-logo .brand-lockup { gap: .65rem; }
  .intro-logo .brand-word { font-size: clamp(2.2rem, 14vw, 4rem); }
  .hero-geometry--arc { width: 86%; right: -32%; }
  .hero-geometry--axis { left: 9%; }
  .section-intro::before { left: -2.1rem; }
  .section-intro::after { left: -1rem; }
}

@media (prefers-reduced-motion: reduce) {
  .home-body.intro-active { overflow: auto; }
  .home-body.intro-active #main, .home-body.intro-active .site-header { opacity: 1; transform: none; }
  .intro-scene { display: none; }
  .js .reveal:not(.is-visible), .js [data-reveal]:not(.is-visible), .js .motion-reveal:not(.is-visible) { opacity: 1; transform: none; clip-path: none; }
}

/* RESPONSIVE TYPOGRAPHY + OVERFLOW QA — fluidní display systém a bezpečné gridy */

/* Grid/flex children must be allowed to shrink below their content's max-content size. */
.home-hero > *,
.site-header > *,
.section > *,
.page-hero > *,
.fund-hero > *,
.strategy-grid > *,
.platform-hierarchy > *,
.platform-uses > *,
.product-rows > *,
.fund-rows > *,
.service-list > *,
.news-card > *,
.entry-grid > *,
.link-panels > *,
.audience-grid > *,
.people-grid > *,
.detail-context > *,
.split-copy > *,
.detail-grid > *,
.fund-detail > *,
.contact-grid > *,
.contact-start > *,
.legal-layout > *,
.document-row > *,
.archive-filters > *,
.admin-grid > *,
.stats > *,
.footer-lead > *,
.footer-grid > * { min-width: 0; }

h1, h2, h3 { min-width: 0; overflow-wrap: anywhere; hyphens: auto; }

/* Keep the visual scale bold while making the available inline size part of the system. */
.hero-copy h1 {
  width: 100%;
  max-width: min(100%, 12ch);
  font-size: clamp(3rem, calc(1rem + 8vw), 10.5rem);
  line-height: .88;
  overflow-wrap: anywhere;
  hyphens: auto;
}

.page-hero h1, .fund-hero h1 {
  width: 100%;
  max-width: min(100%, 13ch);
  font-size: clamp(3rem, calc(2rem + 6vw), 5.8rem);
  overflow-wrap: anywhere;
  hyphens: auto;
}

.error-page h1, .login-card h1, .setup-card h1, .admin-title h1 {
  width: 100%;
  max-width: min(100%, 12ch);
  font-size: clamp(2.8rem, calc(1.8rem + 5vw), 5rem);
  overflow-wrap: anywhere;
  hyphens: auto;
}

.section h2,
.section h3,
.nav-module h2,
.news-card h2,
.service-list h2,
.legal-layout h2,
.thesis blockquote,
.contact-start h2,
.contact-grid h2,
.entry-grid h3,
.link-panels h3,
.platform-card h3 { overflow-wrap: anywhere; hyphens: auto; }

.section h2 { font-size: clamp(2.5rem, calc(1.6rem + 5vw), 5.8rem); }
.section h3 { font-size: clamp(1.3rem, calc(1rem + 1.4vw), 2rem); }

.button-row { flex-wrap: wrap; }
.button, .text-link, .portal-link { max-width: 100%; }
.text-link { gap: clamp(1.2rem, 3vw, 2.5rem); }
.nav-module { flex-wrap: wrap; gap: 2rem clamp(2rem, 7vw, 7rem); }

/* A line break is preferable to a clipped Czech compound word or URL. */
.hero-copy h1, .page-hero h1, .fund-hero h1,
.section p, .section h2, .section h3, .page-hero p, .fund-hero p,
.news-card h2, .news-card p, .service-list h2, .service-list p,
.fund-rows h3, .fund-rows p, .product-rows h3, .product-rows p,
.document-row strong, .document-row span, .contact-lines strong,
.footer-grid a, .footer-grid p, .admin-notice p { overflow-wrap: anywhere; }

/* Keep the metadata column readable at small widths; no document field is hidden. */
@media (max-width: 960px) {
  .document-row span:nth-of-type(3) { display: block; grid-column: 1; grid-row: 3; }
  .document-row b { grid-column: 3; grid-row: 1 / 4; }
}

@media (max-width: 560px) {
  .document-row span:nth-of-type(3) { display: block; grid-column: 1; grid-row: 5; }
  .document-row b { grid-column: 2; grid-row: 1 / 6; }
}

/* FINAL VITR SYSTEM — organický fragment + přesná konstrukce */
:root {
  --line: rgba(29, 29, 27, .16);
  --line-strong: rgba(29, 29, 27, .32);
}

body.public-body { background: var(--paper); color: var(--ink); }
.site-header { background: var(--paper); }
.site-nav, .submenu { background: var(--paper); }
.page-hero .eyebrow { color: var(--ink); }

/* Dva režimy: světlo jako základ, tma pouze jako plocha/hero. */
.platform-section,
.context-card--canvas,
.catalog-note,
.contact-start,
.nav-module,
.page-hero--clay,
.page-hero--stone,
.page-hero--warm,
.page-hero--service-01,
.page-hero--service-03,
.page-hero--light { background: var(--canvas); color: var(--ink); }

.page-hero--dark,
.page-hero--ink,
.page-hero--deep,
.page-hero--oxide,
.page-hero--service-02,
.page-hero--service-04,
.process { background: var(--paper-dark); color: var(--light-ink); }

.page-hero--dark .eyebrow,
.page-hero--ink .eyebrow,
.page-hero--deep .eyebrow,
.page-hero--oxide .eyebrow,
.page-hero--service-02 .eyebrow,
.page-hero--service-04 .eyebrow,
.process .eyebrow { color: var(--light-ink); }
.page-hero--dark .hero-lead,
.page-hero--ink .hero-lead,
.page-hero--deep .hero-lead,
.page-hero--oxide .hero-lead,
.page-hero--service-02 .hero-lead,
.page-hero--service-04 .hero-lead { color: rgba(242, 237, 228, .76); }
.page-hero--service-04 .eyebrow,
.page-hero--service-04 .hero-lead { color: rgba(242, 237, 228, .76); }
.process .section-index { color: rgba(242, 237, 228, .42); }
.process-list { border-color: rgba(242, 237, 228, .26); }
.process-list li { border-color: rgba(242, 237, 228, .16); }

.page-hero,
.home-hero,
.strategy-section,
.platform-section,
.fund-catalog,
.contact-start { overflow: clip; }
.page-hero { isolation: isolate; }
.page-hero > :not(.page-hero-art) { position: relative; z-index: 2; }
.page-hero-art { position: absolute; z-index: 0 !important; top: -12%; right: -7%; width: min(72vw, 58rem); height: 124%; margin: 0 !important; pointer-events: none; opacity: .18; overflow: visible; }
.art-fragment-svg { display: block; width: 100%; height: 100%; overflow: visible; color: var(--ink); --wind-ink: var(--ink); --wind-stone: var(--stone); }
.page-hero-art .art-fragment-svg { object-fit: contain; object-position: center; }
.page-hero--dark .page-hero-art,
.page-hero--ink .page-hero-art,
.page-hero--deep .page-hero-art,
.page-hero--oxide .page-hero-art,
.page-hero--service-02 .page-hero-art,
.page-hero--service-04 .page-hero-art { opacity: .64; }
.page-hero--dark .page-hero-art .art-fragment-svg,
.page-hero--ink .page-hero-art .art-fragment-svg,
.page-hero--deep .page-hero-art .art-fragment-svg,
.page-hero--oxide .page-hero-art .art-fragment-svg,
.page-hero--service-02 .page-hero-art .art-fragment-svg,
.page-hero--service-04 .page-hero-art .art-fragment-svg { color: var(--light-ink); --wind-ink: var(--light-ink); --wind-stone: var(--stone-dark); }
.page-hero--light .page-hero-art .art-fragment-svg,
.page-hero--about .page-hero-art .art-fragment-svg,
.page-hero--funds .page-hero-art .art-fragment-svg,
.page-hero--service-01 .page-hero-art .art-fragment-svg,
.page-hero--service-03 .page-hero-art .art-fragment-svg { color: var(--ink); --wind-ink: var(--ink); --wind-stone: var(--stone); }
.oxide-construction { position: absolute !important; z-index: 1 !important; right: 8%; bottom: 14%; width: min(19vw, 18rem); aspect-ratio: 1; border: 1px solid var(--oxide); border-radius: 50%; opacity: .58; pointer-events: none; }
.oxide-construction::after { position: absolute; top: 50%; right: -4rem; width: 8rem; height: 1px; content: ""; background: var(--oxide); transform: rotate(-18deg); transform-origin: left; }
.page-hero--dark .oxide-construction,
.page-hero--ink .oxide-construction,
.page-hero--service-02 .oxide-construction,
.page-hero--service-04 .oxide-construction { border-color: var(--oxide-dark); }

.hero-image { background: var(--canvas); }
.hero-image .art-fragment-wrap { position: absolute; z-index: 1; inset: -18% -20% -10% 12%; width: 108%; height: 126%; opacity: .46; transform: rotate(-5deg) scale(1.06); animation: wind-drift 16s ease-in-out infinite alternate; }
.hero-image .art-fragment-svg { color: var(--ink); --wind-ink: var(--ink); --wind-stone: var(--stone); }
.hero-image .hero-geometry { z-index: 2; }
.hero-geometry--arc { border-color: rgba(29, 29, 27, .48); }
.hero-geometry--arc::after { border-color: rgba(182, 90, 60, .82); }
.hero-geometry--axis { background: var(--ink); opacity: .26; }
.hero-image::after { z-index: 3; background: var(--oxide); }

.art-fragment-wrap { position: relative; min-width: 0; overflow: visible; }
.art-fragment-wrap .art-fragment-svg { display: block; width: 100%; height: 100%; }
.strategy-grid > .art-fragment-wrap { min-height: clamp(22rem, 42vw, 40rem); margin-right: -12vw; overflow: visible; }
.art-fragment--dense .art-fragment-svg { opacity: .62; transform: translate(8%, -5%) rotate(7deg) scale(1.15); }
.art-fragment--sparse .art-fragment-svg { opacity: .58; }

.strategy-section::after { border-color: rgba(29, 29, 27, .18); }
.button--solid { background: var(--depth); border-color: var(--depth); }
.process .button, .page-hero--dark .button, .page-hero--ink .button { background: var(--light-ink); border-color: var(--light-ink); color: var(--paper-dark); }
.process .button--outline, .page-hero--dark .button--outline, .page-hero--ink .button--outline { background: transparent; color: var(--light-ink); }

@keyframes wind-drift { from { transform: rotate(-5deg) scale(1.06) translate3d(0, 0, 0); } to { transform: rotate(-3deg) scale(1.075) translate3d(8px, -6px, 0); } }

@media (max-width: 960px) {
  .page-hero-art { top: 18%; right: -20%; width: 92vw; height: 92%; opacity: .14; }
  .page-hero--dark .page-hero-art,
  .page-hero--ink .page-hero-art,
  .page-hero--service-02 .page-hero-art,
  .page-hero--service-04 .page-hero-art { opacity: .42; }
  .oxide-construction { right: 3%; bottom: 8%; width: 13rem; }
  .strategy-grid > .art-fragment-wrap { min-height: 24rem; margin-right: -8vw; }
}

@media (max-width: 560px) {
  .hero-image .art-fragment-wrap { inset: -6% -38% -8% 18%; width: 132%; height: 116%; opacity: .35; }
  .page-hero-art { top: 25%; right: -42%; width: 138vw; height: 78%; opacity: .1; }
  .page-hero--dark .page-hero-art,
  .page-hero--ink .page-hero-art,
  .page-hero--service-02 .page-hero-art,
  .page-hero--service-04 .page-hero-art { opacity: .28; }
  .oxide-construction { right: -2rem; bottom: 5%; width: 10rem; }
  .oxide-construction::after { right: -2rem; width: 5rem; }
  .strategy-grid > .art-fragment-wrap { min-height: 19rem; margin: 0 -16vw 0 -4vw; }
  .art-fragment--dense .art-fragment-svg { transform: translate(12%, -4%) rotate(7deg) scale(1.15); }
}

@media (prefers-reduced-motion: reduce) {
  .hero-image .art-fragment-wrap { animation: none; }
}

/* HOMEPAGE INK — SVG jsou pouze masky; pigment pochází z původních PNG. */
.home-hero--ink .hero-copy { z-index: 2; }
.home-hero--ink .hero-image { isolation: auto; }
.ink-art { position: absolute; z-index: 1; inset: 0; overflow: hidden; pointer-events: none; user-select: none; contain: layout paint; }
.ink-art {
  -webkit-mask-image: linear-gradient(90deg, rgb(0 0 0 / .05), rgb(0 0 0 / .07) 38%, rgb(0 0 0 / .2) 51%, #000 72%);
  mask-image: linear-gradient(90deg, rgb(0 0 0 / .05), rgb(0 0 0 / .07) 38%, rgb(0 0 0 / .2) 51%, #000 72%);
}
.ink-sheet { position: absolute; display: block; overflow: visible; pointer-events: none; }
.ink-sheet--dense { top: -17%; right: -14%; width: 80%; height: 138%; opacity: .78; }
.ink-sheet--sparse { top: -6%; left: -6%; width: 68%; height: 116%; opacity: .44; }
.ink-pigment { mask: none; }
[data-ink-intro] .ink-pigment { mask: var(--ink-mask); }
[data-ink-intro] .ink-trace { stroke-dasharray: 1; stroke-dashoffset: 1; }
[data-ink-intro] .ink-bloom { opacity: 0; transform: scale(.58, .64); }
[data-ink-intro] .ink-settle { opacity: 0; }
[data-ink-intro="playing"] .ink-trace {
  animation: ink-hand var(--ink-duration) var(--ink-delay) cubic-bezier(.28,.12,.35,1) both;
}
[data-ink-intro="playing"] .ink-trace--hair { animation-timing-function: cubic-bezier(.17,.43,.36,1); }
[data-ink-intro="playing"] .ink-trace--major { animation-timing-function: cubic-bezier(.35,.08,.29,1); }
[data-ink-intro="playing"] .ink-bloom {
  animation: ink-pigment-bloom var(--ink-duration) var(--ink-delay) cubic-bezier(.19,.55,.3,1) both;
}
[data-ink-intro="playing"] .ink-settle { animation: ink-paper-settle 1.4s 2.8s ease-out both; }
@keyframes ink-hand {
  0% { stroke-dashoffset: 1; }
  38% { stroke-dashoffset: .64; }
  61% { stroke-dashoffset: .33; }
  100% { stroke-dashoffset: 0; }
}
@keyframes ink-pigment-bloom {
  0% { opacity: 0; transform: scale(.58, .64); filter: blur(.6px); }
  28% { opacity: .46; transform: scale(.77, .84); filter: blur(1.2px); }
  68% { opacity: .88; transform: scale(.95, .97); filter: blur(.8px); }
  100% { opacity: 1; transform: scale(1); filter: blur(0); }
}
@keyframes ink-paper-settle { from { opacity: 0; } to { opacity: 1; } }

/* Logo má původní tahy, stagger i 3240 + 760 ms. Scéna je dekorativní,
   umístěná v obrazové ploše, takže text, navigace a CTA zůstávají dostupné. */
.home-hero--ink .intro-scene { position: absolute; z-index: 0; pointer-events: none; background: var(--canvas); }
.home-hero--ink .intro-frame { width: 90%; min-height: 12rem; }
.home-hero--ink .intro-logo { padding: 1.4rem .8rem; background: var(--canvas); }
.home-hero--ink .intro-logo .brand-word { font-size: clamp(2.2rem, 4.7vw, 5rem); }
.home-hero--ink .intro-logo .brand-mark { width: clamp(3rem, 5.5vw, 5.5rem); height: clamp(3rem, 5.5vw, 5.5rem); }
.home-hero--ink .hero-geometry { pointer-events: none; }

@media (max-width: 960px) {
  .ink-sheet--dense { top: 5%; right: -30%; width: 112%; height: 114%; opacity: .65; }
  .ink-sheet--sparse { top: -4%; left: -33%; width: 105%; height: 90%; opacity: .28; }
  .ink-art {
    -webkit-mask-image: linear-gradient(180deg, rgb(0 0 0 / .12), rgb(0 0 0 / .09) 52%, #000 76%);
    mask-image: linear-gradient(180deg, rgb(0 0 0 / .12), rgb(0 0 0 / .09) 52%, #000 76%);
  }
  /* Kompaktní logo ve volném horním okraji hero; obsah ani menu nezakrývá. */
  .home-hero--ink .hero-image { position: static; }
  .home-hero--ink .hero-geometry, .home-hero--ink .hero-image::after { display: none; }
  .home-hero--ink .intro-scene { inset: 0 0 auto; height: 60px; justify-items: end; padding-right: var(--gutter); background: transparent; }
  .home-hero--ink .intro-scene::before { right: var(--gutter); left: auto; width: 140px; }
  .home-hero--ink .intro-frame { width: 140px; min-height: 46px; }
  .home-hero--ink .intro-logo { padding: .3rem; background: var(--paper); }
  .home-hero--ink .intro-logo .brand-lockup { gap: .35rem; }
  .home-hero--ink .intro-logo .brand-word { font-size: 1.65rem; }
  .home-hero--ink .intro-logo .brand-mark { width: 1.9rem; height: 1.9rem; }
}
@media (max-width: 560px) {
  .ink-sheet--sparse { display: none; }
  .ink-sheet--dense { top: 2%; right: -58%; width: 158%; height: 115%; opacity: .58; }
  [data-ink-intro="playing"] .ink-trace--hair { animation: none; stroke-dashoffset: 0; opacity: .48; }
  [data-ink-intro="playing"] .ink-bloom { animation-name: ink-pigment-bloom-mobile; filter: none; }
}
@keyframes ink-pigment-bloom-mobile {
  from { opacity: 0; transform: scale(.66, .72); }
  to { opacity: 1; transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  [data-ink-intro] .ink-pigment { mask: none; }
  .ink-art *, [data-ink-intro] .ink-art * { animation: none !important; filter: none !important; }
  .home-hero--ink .intro-scene { display: none; }
}

/* CREATIVE LOOP / ROUND 1 — homepage je jedna editorialní plocha, ne text + image panel. */
.page-hero::after,
.strategy-section::after,
.oxide-construction { content: none; display: none; }

.home-hero.home-hero--ink {
  position: relative;
  display: block;
  /* První obrazovka je kompaktní sazební pole, ne celoviewportový plakát. */
  min-height: clamp(590px, 62svh, 700px);
  overflow: hidden;
  isolation: isolate;
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}
.home-hero--ink .ink-art {
  z-index: 1;
  inset: 0;
  contain: paint;
  -webkit-mask-image: none;
  mask-image: none;
}
.ink-raster {
  position: absolute;
  display: block;
  width: auto;
  max-width: none;
  height: auto;
  mix-blend-mode: multiply;
  pointer-events: none;
}
.ink-raster--dense {
  /* Hmota je oříznutá do pravého/středního pole; maska ji nechává
     organicky mizet před sazebním sloupcem bez podkladu za textem. */
  top: 9%;
  right: -9%;
  width: min(43vw, 700px);
  opacity: .42;
  transform: rotate(-9deg);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.08) 14%, rgba(0,0,0,.72) 39%, #000 58%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.08) 14%, rgba(0,0,0,.72) 39%, #000 58%);
}
.ink-raster--veil {
  /* Nejde o fotografii: transparentní, zeslabený fragment stejné tuše
     spojuje pravou hmotu s gridem několika vlasovými tahy. */
  top: -23%;
  right: 16%;
  width: min(33vw, 540px);
  opacity: .3;
  transform: rotate(14deg);
}
.home-hero--ink .hero-copy {
  position: relative;
  z-index: 3;
  display: block;
  width: min(48rem, 45vw);
  min-height: 0;
  padding: clamp(5.2rem, 9vh, 7.4rem) 0 10.2rem var(--gutter);
}
.home-hero--ink .hero-copy h1 {
  /* Tři klidné celé řádky: Architektura / dlouhodobého / majetku. */
  max-width: 13.25ch;
  font-size: clamp(3.55rem, 4.65vw, 6.25rem);
  line-height: .92;
  letter-spacing: -.07em;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.home-hero--ink .hero-copy .hero-lead {
  max-width: 31rem;
  margin-top: 1.5rem;
  color: rgba(29,29,27,.67);
  font-size: clamp(.95rem, 1.08vw, 1.12rem);
  line-height: 1.55;
}
.home-hero--ink .button-row { margin-top: 2rem; gap: 1.35rem; }
.button--oxide {
  gap: 2.2rem;
  border-color: var(--oxide);
  background: var(--oxide);
  color: var(--paper);
}
.button--oxide:hover { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.home-oxide-axis {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 25.5%;
  bottom: 0;
  width: 1px;
  background: var(--oxide);
  opacity: .58;
}
.home-oxide-arc {
  position: absolute;
  z-index: 2;
  top: 76%;
  right: -14vw;
  width: min(27vw, 430px);
  aspect-ratio: 1;
  border: 1px solid var(--oxide);
  border-radius: 50%;
  opacity: .7;
  transform: translateY(-50%);
}
.hero-margin-note {
  position: absolute;
  z-index: 3;
  top: 34%;
  right: max(var(--gutter), 8vw);
  display: grid;
  gap: .24rem;
  width: 8rem;
  padding-left: 1.1rem;
  border-left: 1px solid var(--line-strong);
  color: rgba(29,29,27,.62);
  font-size: .56rem;
  font-weight: 650;
  letter-spacing: .2em;
  line-height: 1.45;
  text-transform: uppercase;
}
.hero-margin-note::after {
  width: 1.5rem;
  margin-top: .8rem;
  border-top: 1px solid var(--ink);
  content: "";
}
.hero-metadata {
  position: absolute;
  z-index: 4;
  right: calc(var(--gutter) + 25.5%);
  bottom: 1.35rem;
  left: var(--gutter);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: min(54rem, 57vw);
}
.hero-metadata > div { min-height: 4.1rem; padding: .1rem 1.4rem 0; border-left: 1px solid var(--line-strong); }
.hero-metadata > div:first-child { padding-left: 0; border-left: 0; }
.hero-metadata span { display: block; margin-bottom: .35rem; color: var(--oxide); font-size: .55rem; font-weight: 650; letter-spacing: .16em; }
.hero-metadata strong { display: block; font-size: .61rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.hero-metadata p { max-width: 12rem; margin: .3rem 0 0; color: rgba(29,29,27,.58); font-size: .63rem; line-height: 1.45; }

@media (max-width: 960px) {
  .home-hero.home-hero--ink { min-height: max(650px, calc(100svh - 72px)); }
  .home-hero--ink .hero-copy { width: min(39rem, 70vw); padding-top: clamp(5.5rem, 11vh, 7.5rem); }
  .ink-raster--dense { top: 8%; right: -23%; width: min(69vw, 710px); opacity: .4; }
  .ink-raster--veil { top: -18%; right: 23%; width: 52vw; opacity: .28; }
  .home-oxide-axis { right: 13%; }
  .home-oxide-arc { right: -19vw; width: 54vw; }
  .hero-margin-note { right: var(--gutter); }
  .hero-metadata { right: 19%; max-width: 67vw; }
}
@media (max-width: 560px) {
  .home-hero.home-hero--ink { min-height: calc(100svh - 72px); }
  .home-hero--ink .hero-copy { width: auto; padding: 5.3rem var(--gutter) 15.5rem; }
  .home-hero--ink .hero-copy h1 { max-width: 9ch; font-size: clamp(3.35rem, 14.5vw, 4.8rem); }
  .home-hero--ink .hero-copy .hero-lead { max-width: 20rem; font-size: .91rem; }
  .ink-raster--dense { top: 18%; right: -72%; width: 142vw; opacity: .38; }
  .ink-raster--veil { display: none; }
  .home-oxide-axis { right: 10%; opacity: .5; }
  .home-oxide-arc { top: 63%; right: -43vw; width: 105vw; opacity: .62; }
  .hero-margin-note { top: auto; right: var(--gutter); bottom: 10.6rem; width: 6.5rem; font-size: .5rem; }
  .hero-metadata { right: var(--gutter); bottom: 1.15rem; left: var(--gutter); max-width: none; }
  .hero-metadata > div { min-height: 4.7rem; padding-left: .6rem; }
  .hero-metadata p { font-size: .55rem; }
}

/* GRAPHICS / MERTOVA TUŠ
   Raster je záměrně jedinou obrazovou vrstvou: bez rámečku, panelu nebo
   bílého podkladu. SVG zůstává vyhrazené pouze značce a konstrukčním linkám. */
.art-fragment--raster { position: relative; overflow: visible; }
.art-fragment--raster picture,
.art-fragment-raster { display: block; width: 100%; height: 100%; }
.art-fragment-raster { object-fit: contain; object-position: center; mix-blend-mode: multiply; }
.page-hero-art.art-fragment--raster {
  /* Hero kresba nesmí zdědit relativní pozici obecného rasteru. */
  position: absolute;
  top: -20%; right: -8%; width: min(74vw, 68rem); height: 140%; opacity: .45;
}
.page-hero-art.art-fragment--raster picture { height: 100%; }
.page-hero-art.art-fragment--raster .art-fragment-raster { object-fit: contain; }
.page-hero--about .page-hero-art { top: -25%; right: -16%; width: min(72vw, 68rem); height: 147%; opacity: .34; transform: rotate(-8deg); }
.page-hero--services .page-hero-art { top: -13%; right: -12%; width: min(72vw, 67rem); height: 133%; opacity: .56; transform: rotate(7deg); }
.page-hero--service-01 .page-hero-art { top: -29%; right: -18%; width: min(66vw, 62rem); height: 151%; opacity: .29; transform: rotate(-13deg); }
.page-hero--service-02 .page-hero-art { top: -16%; right: -14%; width: min(73vw, 68rem); height: 139%; opacity: .59; transform: rotate(4deg); }
.page-hero--service-03 .page-hero-art { top: -27%; right: -9%; width: min(70vw, 65rem); height: 154%; opacity: .33; transform: rotate(12deg); }
.page-hero--service-04 .page-hero-art { top: -12%; right: -13%; width: min(72vw, 67rem); height: 137%; opacity: .57; transform: rotate(-6deg); }
.page-hero--dark .page-hero-art .art-fragment-raster,
.page-hero--ink .page-hero-art .art-fragment-raster,
.page-hero--deep .page-hero-art .art-fragment-raster,
.page-hero--service-02 .page-hero-art .art-fragment-raster,
.page-hero--service-04 .page-hero-art .art-fragment-raster {
  filter: grayscale(1) invert(1) brightness(1.22) contrast(.9);
  mix-blend-mode: screen;
}
.strategy-grid > .art-fragment--raster { min-height: clamp(24rem, 43vw, 43rem); margin: -5rem -13vw -5rem 0; }
.strategy-grid > .art-fragment--raster .art-fragment-raster { opacity: .53; transform: rotate(8deg) scale(1.12); transform-origin: 62% 50%; }

@media (max-width: 960px) {
  .page-hero-art.art-fragment--raster { top: 4%; right: -28%; width: 104vw; height: 104%; opacity: .28; }
  .page-hero--services .page-hero-art,
  .page-hero--service-02 .page-hero-art,
  .page-hero--service-04 .page-hero-art { opacity: .48; }
  .strategy-grid > .art-fragment--raster { margin: -2rem -9vw -4rem 0; }
}
@media (max-width: 560px) {
  .page-hero-art.art-fragment--raster { top: 26%; right: -63%; width: 152vw; height: 76%; opacity: .19; }
  .page-hero--services .page-hero-art,
  .page-hero--service-02 .page-hero-art,
  .page-hero--service-04 .page-hero-art { opacity: .34; }
  .strategy-grid > .art-fragment--raster { min-height: 20rem; margin: -1rem -16vw -2rem -4vw; }
}

/* CREATIVE LOOP / ROUND 2 — otevřená evidence a kompaktní hero. */
@media (min-width: 961px) {
  .home-body .site-header {
    min-height: 74px;
    border-bottom-color: rgba(29,29,27,.11);
  }
  .home-body .nav-link { padding: 1.45rem 0; font-size: .62rem; }
  .home-body .nav-link::after { bottom: 1.05rem; }
  .home-body .site-nav { gap: clamp(.9rem, 1.65vw, 2rem); }
  .home-body .brand-mark { width: 2rem; height: 2rem; }
  .home-body .brand-word { font-size: .98rem; }
}

/* Marketingové vazby zůstávají řádkové a otevřené; box patří jen datům a ovládání. */
.home-body .platform-section { background: var(--paper); }
.home-body .platform-hierarchy,
.home-body .audience-grid,
.home-body .entry-grid { border-top-color: var(--line-strong); }
.home-body .platform-card,
.home-body .platform-card--primary,
.home-body .audience-card,
.home-body .entry-grid a {
  background: transparent;
}
.home-body .platform-card { min-height: 14.5rem; padding: 1.35rem 1.5rem 1.7rem 0; }
.home-body .platform-uses .platform-card { padding-left: 1.5rem; }
.home-body .platform-card h3 { margin: 2.7rem 0 .8rem; }
.home-body .audience-card { min-height: 14.5rem; padding: 1.35rem 1.5rem 1.65rem 0; }
.home-body .audience-grid > :not(:first-child) { padding-left: 1.5rem; }
.home-body .audience-grid h3 { margin: 2.8rem 0 .8rem; }
.home-body .audience-card b { padding-top: 1.4rem; }
.home-body .entry-grid a { min-height: 15rem; padding: 1.35rem 1.5rem 1.65rem 0; }
.home-body .entry-grid > :not(:first-child) { padding-left: 1.5rem; }
.home-body .entry-grid h3 { margin: 3.4rem 0 .8rem; }
.home-body .entry-grid b { margin-top: 1.7rem; }
.home-body .platform-card:hover,
.home-body .audience-card:hover,
.home-body .entry-grid a:hover { background: rgba(222,216,204,.2); }

@media (max-width: 560px) {
  .home-body .platform-card,
  .home-body .platform-uses .platform-card,
  .home-body .audience-card,
  .home-body .audience-grid > :not(:first-child),
  .home-body .entry-grid a,
  .home-body .entry-grid > :not(:first-child) { padding-right: 0; padding-left: 0; }
}

.ink-raster--hero-ink {
  top: -14%;
  right: -8%;
  width: min(49vw, 790px);
  opacity: .39;
  transform: rotate(-7deg);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.08) 24%, rgba(0,0,0,.62) 47%, #000 66%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.08) 24%, rgba(0,0,0,.62) 47%, #000 66%);
}
/* COMPACT LOOP / ROUND 2 — jediný sevřený úvodní celek.
   Kresba je transparentní pigment v ploše; obsah pod hero začíná ihned za ní. */
.home-hero.home-hero--ink {
  min-height: clamp(590px, calc(100svh - 74px), 720px);
}
.home-hero--ink .hero-copy {
  width: min(42rem, 44vw);
  padding-top: clamp(3.15rem, 5.7vh, 4.75rem);
  padding-bottom: 7rem;
}
.home-hero--ink .hero-copy h1 {
  max-width: 12.7ch;
  font-size: clamp(3.5rem, 4.35vw, 5.8rem);
  line-height: .91;
}
.home-hero--ink .hero-copy .hero-lead { margin-top: 1rem; line-height: 1.5; }
.home-hero--ink .button-row { margin-top: 1.35rem; }
.ink-raster--hero-ink { top: -10%; right: -5%; width: min(40vw, 640px); opacity: .31; }
.ink-raster--veil { top: -22%; right: 18%; width: min(23vw, 370px); opacity: .11; }
.home-oxide-axis { right: 25.5%; opacity: .42; }
.home-oxide-arc { top: 72%; right: -11vw; width: min(24vw, 370px); opacity: .5; }
.hero-margin-note { top: 31%; right: max(var(--gutter), 6vw); }
.hero-metadata { right: 26.5%; bottom: 1.1rem; max-width: min(47rem, 58vw); }

.home-continuation {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  padding: clamp(3.5rem, 6vw, 6rem) var(--gutter);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}
.home-continuation article { padding: 0 clamp(1.4rem, 3vw, 4.25rem); border-left: 1px solid var(--line-strong); }
.home-continuation article:first-child { padding-left: 0; border-left: 0; }
.home-continuation .eyebrow { margin-bottom: .85rem; }
.home-continuation h2 { max-width: 10.5ch; margin: 0; font-size: clamp(2rem, 2.6vw, 3.5rem); font-weight: 500; line-height: .97; letter-spacing: -.055em; }
.home-continuation p:not(.eyebrow) { max-width: 22rem; margin: 1rem 0 0; color: rgba(29,29,27,.68); font-size: .92rem; line-height: 1.52; }
.home-continuation .text-link { margin-top: 1.35rem; }

@media (max-width: 960px) {
  .home-hero.home-hero--ink { min-height: max(620px, calc(100svh - 74px)); }
  .home-hero--ink .hero-copy { width: min(39rem, 68vw); padding-top: clamp(4.1rem, 8vh, 5.8rem); }
  .home-continuation { grid-template-columns: 1fr; padding-top: 0; padding-bottom: 0; }
  .home-continuation article { padding: 3.25rem 0; border-top: 1px solid var(--line-strong); border-left: 0; }
  .home-continuation article:first-child { border-top: 0; }
}
@media (max-width: 560px) {
  .home-hero--ink .hero-copy { padding-top: 4.4rem; padding-bottom: 14rem; }
  .home-hero--ink .hero-copy .hero-lead { margin-top: 1rem; }
  .home-hero--ink .button-row { margin-top: 1.35rem; }
  .ink-raster--hero-ink { top: 16%; right: -68%; width: 144vw; opacity: .26; }
  .home-oxide-arc { top: 62%; }
  .home-continuation h2 { font-size: clamp(2.3rem, 10vw, 3.6rem); }
}

/* GRAPHICS / COMPACT LOOP ROUND 2
   Jeden širší crop zachovává skutečné hmotné tahy, průsvity i nepravidelný
   okraj Mertovy tuše. Kresba není trasovaná, filtrována ani uzavřená v panelu;
   mimo kompozici končí pouze ořezem hero. */
.ink-raster-picture--hero-ink {
  position: absolute;
  top: -20%;
  right: -5%;
  display: block;
  width: min(58vw, 880px);
  max-width: none;
  pointer-events: none;
}
.ink-raster-picture--hero-ink .ink-raster--hero-ink {
  position: static;
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  opacity: .34;
  transform: rotate(-6deg);
  transform-origin: 56% 43%;
  -webkit-mask-image: none;
  mask-image: none;
}
@media (max-width: 960px) {
  .ink-raster-picture--hero-ink {
    top: 8%;
    right: -31%;
    width: min(78vw, 720px);
  }
  .ink-raster-picture--hero-ink .ink-raster--hero-ink { opacity: .3; }
}

@media (max-width: 560px) {
  .ink-raster-picture--hero-ink {
    top: 24%;
    right: -73%;
    width: 142vw;
  }
  .ink-raster-picture--hero-ink .ink-raster--hero-ink { opacity: .22; }
}

/* COMPACT LOOP / ROUND 3
   Homepage končí úvodní sazbou: žádný druhý grid ani další pseudo-obrazovka.
   Metadata jsou součástí stejné kompozice a kresba zůstává pigmentem v ploše. */
@media (min-width: 961px) {
  .home-hero.home-hero--ink {
    min-height: clamp(580px, calc(100svh - 74px), 700px);
  }
  .home-hero--ink .hero-copy {
    padding-top: clamp(2.9rem, 5.1vh, 4.15rem);
    padding-bottom: 5.4rem;
  }
  .home-hero--ink .hero-copy .hero-lead { margin-top: .9rem; }
  .home-hero--ink .button-row { margin-top: 1.2rem; }
  .hero-metadata { bottom: 3.35rem; }
  .ink-raster-picture--hero-ink {
    top: -8%;
    right: -9%;
    width: min(54vw, 820px);
  }
  .ink-raster-picture--hero-ink .ink-raster--hero-ink { opacity: .28; }
  .home-oxide-axis { opacity: .36; }
  .home-oxide-arc { top: 69%; opacity: .42; }
}

@media (min-width: 561px) and (max-width: 960px) {
  .home-hero.home-hero--ink { min-height: max(610px, calc(100svh - 74px)); }
  .home-hero--ink .hero-copy { padding-top: clamp(3.4rem, 6vh, 4.8rem); padding-bottom: 8.5rem; }
  .hero-metadata { bottom: 2rem; }
  .ink-raster-picture--hero-ink { top: 13%; right: -42%; width: min(88vw, 720px); }
  .ink-raster-picture--hero-ink .ink-raster--hero-ink { opacity: .22; }
  .home-oxide-axis, .home-oxide-arc { opacity: .34; }
}

@media (max-width: 560px) {
  .home-hero.home-hero--ink { min-height: max(720px, calc(100svh - 64px)); }
  .home-hero--ink .hero-copy { padding-top: 3.5rem; padding-bottom: 13.25rem; }
  .home-hero--ink .hero-copy .hero-lead { max-width: 19rem; }
  /* Nejmenší layout má vědomě čistou textovou zónu; tuš zůstává viditelná
     na středních a větších šířkách, kde se může nadechnout mimo metadata. */
  .ink-raster-picture--hero-ink { display: none; }
  .hero-margin-note { display: none; }
  .home-oxide-axis { right: 7%; opacity: .22; }
  .home-oxide-arc { top: 68%; right: -54vw; width: 96vw; opacity: .24; }
  .hero-metadata { bottom: 1.35rem; }
  .hero-metadata > div { min-height: 4.25rem; }
}

/* GRAPHICS / COMPACT LOOP ROUND 3
   Homepage používá volnější transparentní Mertův originál v jediném cropu.
   Pravý okraj záměrně ořízne kresbu až mimo sazbu: zůstávají hmotné uzly,
   jemné průsvity a otevřený konec tahu, nikoli vyhlazená nebo trasovaná stopa. */
@media (min-width: 961px) {
  .ink-raster-picture--hero-ink {
    top: -26%;
    right: -14%;
    width: min(56vw, 850px);
  }
  .ink-raster-picture--hero-ink .ink-raster--hero-ink {
    opacity: .36;
    transform: rotate(-4deg);
    transform-origin: 62% 46%;
  }
}

@media (min-width: 561px) and (max-width: 960px) {
  .ink-raster-picture--hero-ink {
    top: 2%;
    right: -47%;
    width: min(94vw, 720px);
  }
  .ink-raster-picture--hero-ink .ink-raster--hero-ink {
    opacity: .16;
    transform: rotate(-3deg);
    transform-origin: 64% 42%;
  }
}

/* GRAPHICS / COMPACT LOOP ROUND 4
   Souvislý originální crop propojuje sazbu s pravým okrajem jedním gestem.
   Průhledný levý náběh pouze chrání textovou zónu; nevyhlazuje ani nemění
   pigment, jeho hmotné uzly a nepravidelný okraj zůstávají rastrové. */
@media (min-width: 961px) {
  .home-hero.home-hero--ink { min-height: clamp(620px, calc(100svh - 150px), 650px); }
  .home-hero--ink .hero-copy { padding-top: clamp(2.8rem, 4.6vh, 3.8rem); padding-bottom: 5rem; }
  .home-hero--ink .hero-copy .hero-lead { margin-top: .85rem; line-height: 1.48; }
  .home-hero--ink .button-row { margin-top: 1.15rem; }
  .ink-raster-picture--hero-ink {
    top: -12%;
    right: -2%;
    width: min(62vw, 900px);
  }
  .ink-raster-picture--hero-ink .ink-raster--hero-ink {
    opacity: .27;
    transform: rotate(-5deg);
    transform-origin: 57% 42%;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.16) 18%, rgba(0,0,0,.72) 39%, #000 58%);
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.16) 18%, rgba(0,0,0,.72) 39%, #000 58%);
  }
  .home-oxide-axis { right: 25.5%; opacity: .29; }
  .home-oxide-arc { top: 76%; right: -16vw; opacity: .31; }
  .hero-metadata { bottom: 3.35rem; }
}

@media (min-width: 561px) and (max-width: 960px) {
  /* Na středních šířkách je gesto odsunuté za text a metadata. */
  .ink-raster-picture--hero-ink { top: 4%; right: -52%; width: min(96vw, 740px); }
  .ink-raster-picture--hero-ink .ink-raster--hero-ink {
    opacity: .17;
    transform: rotate(-4deg);
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.1) 28%, rgba(0,0,0,.7) 55%, #000 72%);
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.1) 28%, rgba(0,0,0,.7) 55%, #000 72%);
  }
}

@media (max-width: 560px) {
  .home-hero.home-hero--ink { min-height: max(760px, calc(100svh - 64px)); }
  .home-hero--ink .hero-copy { padding-bottom: 14.75rem; }
  .hero-metadata { display: grid; grid-template-columns: 1fr; gap: 0; bottom: 1.15rem; }
  .hero-metadata > div,
  .hero-metadata > div:first-child {
    min-height: 0;
    padding: .42rem 0 .5rem;
    border-top: 1px solid var(--line-strong);
    border-left: 0;
  }
  .hero-metadata span,
  .hero-metadata strong { display: inline; }
  .hero-metadata span { margin: 0 .65rem 0 0; }
  .hero-metadata p { display: inline; margin: 0 0 0 .65rem; font-size: .58rem; }
}

/* COMPACT LOOP / ROUND 5
   Jediná úvodní plocha má sevřený sazební rytmus: text, pigment, registrace
   a metadata jsou čtyři vrstvy jedné kompozice, nikdy čtyři samostatná pole. */
@media (min-width: 961px) {
  .home-hero.home-hero--ink {
    min-height: clamp(620px, calc(100svh - 150px), 640px);
  }
  .home-hero--ink .hero-copy {
    padding-top: clamp(4.25rem, 6.5vh, 5rem);
    padding-bottom: 4.5rem;
  }
  .home-hero--ink .hero-copy .eyebrow { margin-bottom: .98rem; }
  .home-hero--ink .hero-copy .hero-lead { margin-top: .85rem; }
  .home-hero--ink .button-row { margin-top: 1.15rem; }
  .hero-metadata { bottom: 2.65rem; }

  /* Crop se posouvá k sazbě, ale jeho transparentní náběh stále chrání text. */
  .ink-raster-picture--hero-ink {
    top: -16%;
    right: 3%;
    width: min(62vw, 900px);
  }
  .ink-raster-picture--hero-ink .ink-raster--hero-ink {
    opacity: .24;
    transform: rotate(-5deg);
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.12) 18%, rgba(0,0,0,.64) 39%, #000 58%);
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.12) 18%, rgba(0,0,0,.64) 39%, #000 58%);
  }
  .home-oxide-axis { opacity: .24; }
  .home-oxide-arc { top: 75%; opacity: .26; }
}

@media (min-width: 561px) and (max-width: 960px) {
  .home-hero.home-hero--ink { min-height: clamp(640px, calc(100svh - 74px), 720px); }
  .home-hero--ink .hero-copy { padding-bottom: 7.25rem; }
  .home-hero--ink .hero-copy .eyebrow { margin-bottom: 1rem; }
  .hero-metadata { bottom: 2.4rem; }
  .ink-raster-picture--hero-ink { top: 0; right: -48%; }
  .ink-raster-picture--hero-ink .ink-raster--hero-ink { opacity: .15; }
}

/* GRAPHICS / COMPACT LOOP ROUND 5
   Nejde o nový motiv: tentýž souvislý transparentní originál se jen posouvá
   blíž k sazbě. Kratší náběh masky nechává vyniknout jeden uzel a navazující
   vlasové tahy; plošná masa se nezvyšuje ani nepřepisuje vektorovou stopou. */
@media (min-width: 961px) {
  .ink-raster-picture--hero-ink {
    top: -20%;
    right: 2%;
    width: min(64vw, 920px);
  }
  .ink-raster-picture--hero-ink .ink-raster--hero-ink {
    opacity: .24;
    transform: rotate(-6deg);
    transform-origin: 54% 40%;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.06) 8%, rgba(0,0,0,.34) 16%, rgba(0,0,0,.72) 29%, #000 42%);
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.06) 8%, rgba(0,0,0,.34) 16%, rgba(0,0,0,.72) 29%, #000 42%);
  }
}

@media (min-width: 561px) and (max-width: 960px) {
  /* Tablet ponechává textovou zónu nedotčenou; hmotný uzel zůstává oříznutý
     za pravým okrajem a viditelné jsou pouze řídké návazné tahy. */
  .ink-raster-picture--hero-ink { top: -3%; right: -51%; width: min(98vw, 760px); }
  .ink-raster-picture--hero-ink .ink-raster--hero-ink {
    opacity: .15;
    transform: rotate(-5deg);
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.08) 20%, rgba(0,0,0,.55) 44%, #000 64%);
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.08) 20%, rgba(0,0,0,.55) 44%, #000 64%);
  }
}

/* COMPACT LOOP / ROUND 6
   Poslední utažení jediné homepage plochy: pigment už netvoří pravý obrazový
   blok, osa je jen registrační stopa a metadata uzavírají stejnou sazbu. */
@media (min-width: 961px) {
  .home-hero.home-hero--ink {
    min-height: clamp(620px, calc(100svh - 150px), 640px);
  }
  .home-hero--ink .hero-copy {
    padding-top: clamp(4.25rem, 6.5vh, 5rem);
    padding-bottom: 4.5rem;
  }
  .home-hero--ink .hero-copy .eyebrow { margin-bottom: .92rem; }
  .home-hero--ink .hero-copy .hero-lead { margin-top: .85rem; }
  .home-hero--ink .button-row { margin-top: 1.2rem; }

  /* Menší, více oříznutý raster nechává bone prostor mezi sazbou a pravým
     okrajem; maska zachovává pouze lokální náběh jednoho hmotného gesta. */
  .ink-raster-picture--hero-ink {
    top: -13%;
    right: 7%;
    width: min(54vw, 790px);
  }
  .ink-raster-picture--hero-ink .ink-raster--hero-ink {
    opacity: .25;
    transform: rotate(-6deg);
    transform-origin: 51% 42%;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.08) 12%, rgba(0,0,0,.42) 23%, rgba(0,0,0,.8) 36%, #000 48%);
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.08) 12%, rgba(0,0,0,.42) 23%, rgba(0,0,0,.8) 36%, #000 48%);
  }

  /* Registrace, ne svislý předěl mezi textem a kresbou. */
  .home-oxide-axis {
    top: 18%;
    bottom: auto;
    height: 46%;
    opacity: .2;
  }
  .home-oxide-arc { top: 77%; right: -17vw; opacity: .22; }
  .hero-metadata { bottom: 2.1rem; }
}

/* SITEWIDE / ROUND 1 — kompaktní redakční rytmus pro obsah pod hero a samostatný
   charakter řešení. Pravidla jsou záměrně na konci: nahrazují historické
   experimenty bez zásahu do adminu, katalogu fondů nebo dokumentového archivu. */
.section { padding-top: clamp(3.5rem, 6vw, 6rem); padding-bottom: clamp(3.5rem, 6vw, 6rem); }
.section-index { top: clamp(3.5rem, 6vw, 6rem); }
.section-intro { margin-bottom: clamp(2rem, 4vw, 4rem); }
.page-hero, .fund-hero { min-height: clamp(29rem, 52svh, 42rem); padding-top: clamp(4.75rem, 8vw, 7rem); padding-bottom: clamp(3.5rem, 5vw, 5rem); }
.page-hero .hero-lead, .fund-hero .hero-lead { margin-top: 1.15rem; }
.page-hero h1, .fund-hero h1 { max-width: 12.5ch; }
.page-hero--solutions { background: var(--canvas); }
.page-hero--family { background: var(--paper); }
.page-hero--development { background: var(--deep); color: var(--paper); }
.page-hero--private { background: #ded8cc; }
.page-hero--special { background: var(--ink); color: var(--paper); }
.page-hero--special .hero-lead, .page-hero--development .hero-lead { color: rgba(242,237,228,.74); }
.page-hero--development .page-hero-art .art-fragment-raster, .page-hero--special .page-hero-art .art-fragment-raster { filter: grayscale(1) invert(1); mix-blend-mode: screen; }
.page-hero--private .page-hero-art { transform: rotate(14deg); opacity: .34; }
.page-hero--family .page-hero-art { transform: rotate(-12deg); opacity: .29; }

.home-editorial, .home-strategy, .home-solutions, .home-operations, .home-next, .solution-index, .solution-story, .solution-detail, .takeover-steps { position: relative; max-width: var(--max); margin: 0 auto; padding-right: var(--gutter); padding-left: var(--gutter); }
.home-editorial { display: grid; grid-template-columns: minmax(12rem,.64fr) minmax(0,1.36fr); gap: clamp(2rem,8vw,10rem); padding-top: clamp(4rem,7vw,7rem); padding-bottom: clamp(4rem,7vw,7rem); border-bottom: 1px solid var(--line); }
.editorial-label > span { color: var(--stone); font-size: 4rem; line-height: 1; letter-spacing: -.08em; }
.home-editorial h2, .home-strategy h2, .home-solutions h2, .home-operations h2, .home-next h2, .solution-story h2, .takeover-steps h2 { max-width: 14ch; margin: 0; font-size: clamp(2.5rem,5vw,5.5rem); font-weight: 500; line-height: .94; letter-spacing: -.06em; }
.home-editorial .lead-copy { max-width: 45rem; margin: 1.2rem 0; }
.home-editorial p:not(.eyebrow):not(.lead-copy) { max-width: 43rem; color: rgba(29,29,27,.67); }
.term-line { padding-top: 1.25rem; border-top: 1px solid var(--line); color: var(--oxide)!important; font-size: .7rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.home-strategy { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(18rem,.95fr); min-height: 36rem; overflow: hidden; background: var(--deep); color: var(--paper); }
.home-strategy-art { position: relative; min-height: 29rem; }
.home-strategy-ink { position: absolute; inset: -12% -10%; opacity: .54; transform: rotate(10deg); }
.home-strategy-ink .art-fragment-raster { filter: grayscale(1) invert(1); mix-blend-mode: screen; }
.home-strategy-copy { position: relative; z-index: 1; padding: clamp(4rem,8vw,8rem) 0 clamp(3.5rem,6vw,6rem) clamp(2rem,6vw,7rem); }
.home-strategy-copy .lead-copy { margin: 1.3rem 0; }
.home-strategy-copy > p:not(.eyebrow):not(.lead-copy) { max-width: 32rem; color: rgba(242,237,228,.68); }
.home-strategy .text-link { border-color: rgba(242,237,228,.45); color: var(--paper); }
.home-solutions { padding-top: clamp(4rem,7vw,7rem); padding-bottom: clamp(4rem,7vw,7rem); }
.section-heading { display: grid; grid-template-columns: minmax(13rem,.7fr) minmax(0,1.3fr); gap: 1rem clamp(2rem,8vw,10rem); max-width: 76rem; margin-bottom: clamp(2.5rem,5vw,5rem); }
.section-heading h2 { margin: 0; font-size: clamp(2.5rem,5vw,5.5rem); font-weight: 500; line-height: .94; letter-spacing: -.06em; }
.section-heading p:last-child { max-width: 33rem; margin: 0; color: rgba(29,29,27,.65); }
.solution-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid var(--line-strong); }
.solution-grid a { position: relative; display: flex; min-height: 18rem; flex-direction: column; padding: 1.25rem 1.35rem 1.4rem; border-right: 1px solid var(--line); color: inherit; text-decoration: none; }
.solution-grid a:last-child { border-right: 0; }.solution-grid span, .solution-grid b { color: var(--oxide); font-size: .65rem; letter-spacing: .12em; }.solution-grid h3 { margin: auto 0 .8rem; font-size: clamp(1.35rem,2vw,2rem); font-weight: 500; letter-spacing: -.04em; }.solution-grid p { margin: 0; color: rgba(29,29,27,.64); font-size: .85rem; }.solution-grid b { margin-top: 1.2rem; }.solution-grid a:hover { background: var(--canvas); }
.home-operations { display: grid; grid-template-columns: minmax(15rem,.8fr) minmax(0,1.2fr); gap: clamp(2rem,8vw,10rem); padding-top: clamp(4rem,7vw,7rem); padding-bottom: clamp(4rem,7vw,7rem); border-top: 1px solid var(--line); background: var(--canvas); }.operation-list { border-top: 1px solid var(--line-strong); }.operation-list a { display: grid; grid-template-columns: 3rem minmax(8rem,.55fr) minmax(0,1fr); gap: 1rem; padding: 1.3rem 0; border-bottom: 1px solid var(--line); color: inherit; text-decoration: none; }.operation-list span { color: var(--oxide); font-size: .65rem; }.operation-list strong { font-weight: 550; }.operation-list p { margin: 0; color: rgba(29,29,27,.66); font-size: .88rem; }.operation-list a:hover strong { color: var(--oxide); }
.home-next { display: grid; grid-template-columns: minmax(15rem,.8fr) minmax(0,1.2fr); gap: clamp(2rem,8vw,10rem); padding-top: clamp(4rem,7vw,7rem); padding-bottom: clamp(4rem,7vw,7rem); }.next-links { border-top: 1px solid var(--line-strong); }.next-links a { display:flex; justify-content:space-between; gap:1rem; padding: 1.1rem 0; border-bottom:1px solid var(--line); color:inherit; font-size:1rem; text-decoration:none; }.next-links b { color:var(--oxide); }.home-contact-cta { grid-column: 2; display:flex; align-items:center; justify-content:space-between; gap:2rem; margin-top:2.2rem; padding-top:1.5rem; border-top:1px solid var(--line-strong); }.home-contact-cta p { max-width:34rem; margin:0; color:rgba(29,29,27,.66); }

.solution-index { display: grid; grid-template-columns: minmax(13rem,.5fr) minmax(0,1.5fr); padding-top: clamp(3rem,5vw,5rem); padding-bottom: clamp(3rem,5vw,5rem); }.solution-index > .eyebrow { padding-top:1.25rem; }.solution-index a { display:grid; grid-template-columns: 4rem minmax(13rem,.7fr) minmax(0,1fr) 1rem; gap:1rem; align-items:center; padding:1.55rem 0; border-top:1px solid var(--line); color:inherit; text-decoration:none; }.solution-index a:last-child { border-bottom:1px solid var(--line); }.solution-index span,.solution-index b { color:var(--oxide); font-size:.65rem; }.solution-index h2,.solution-index p { margin:0; }.solution-index h2 { font-size:clamp(1.6rem,3vw,3.2rem); font-weight:500; line-height:1; letter-spacing:-.05em; }.solution-index p { color:rgba(29,29,27,.66); }.solution-index a:hover h2 { color:var(--oxide); }
.solution-story { display:grid; grid-template-columns:minmax(14rem,.8fr) minmax(0,1.2fr); gap:clamp(2rem,8vw,10rem); padding-top:clamp(4rem,7vw,7rem); padding-bottom:clamp(4rem,7vw,7rem); border-top:1px solid var(--line); }.solution-story .lead-copy { margin:0 0 1rem; }.solution-story p:not(.eyebrow):not(.lead-copy) { max-width:38rem; color:rgba(29,29,27,.66); }.solution-detail { display:grid; grid-template-columns:minmax(0,1fr) minmax(18rem,.75fr); min-height:28rem; overflow:hidden; background:var(--canvas); }.solution-detail-art { position:relative; min-height:28rem; }.solution-detail-ink { position:absolute; inset:-20% -10%; opacity:.45; }.solution-detail > div:last-child { padding:clamp(3.5rem,7vw,7rem) var(--gutter); }.solution-detail .lead-copy { max-width:31rem; }.solution-detail--development,.solution-detail--special { background:var(--deep); color:var(--paper); }.solution-detail--development .art-fragment-raster,.solution-detail--special .art-fragment-raster { filter:grayscale(1) invert(1); mix-blend-mode:screen; }.solution-detail--private { background:#ded8cc; }.solution-detail--family .solution-detail-ink { opacity:.28; transform:rotate(-9deg); }.solution-detail--private .solution-detail-ink { transform:rotate(12deg); }
.takeover-intro { display:grid; grid-template-columns:minmax(14rem,.85fr) minmax(0,1.15fr); gap:clamp(2rem,8vw,10rem); }.takeover-intro .lead-copy { margin:0; }.takeover-steps { display:grid; grid-template-columns:minmax(15rem,.8fr) minmax(0,1.2fr); gap:clamp(2rem,8vw,10rem); padding-top:clamp(4rem,7vw,7rem); padding-bottom:clamp(4rem,7vw,7rem); background:var(--ink); color:var(--paper); }.takeover-steps ol { margin:0; padding:0; border-top:1px solid rgba(242,237,228,.35); list-style:none; }.takeover-steps li { display:grid; grid-template-columns:3rem 1fr; gap:1rem; padding:1.2rem 0; border-bottom:1px solid rgba(242,237,228,.2); }.takeover-steps li span { color:var(--oxide); font-size:.65rem; }.takeover-steps li p { margin:0; }
@media (max-width: 960px) { .home-editorial,.home-strategy,.home-operations,.home-next,.solution-story,.takeover-intro,.takeover-steps { grid-template-columns:1fr; }.home-strategy-art { min-height:16rem; }.home-strategy-copy { padding:3.5rem 0 4rem; }.section-heading { grid-template-columns:1fr; }.solution-grid { grid-template-columns:repeat(2,1fr); }.solution-grid a:nth-child(2) { border-right:0; }.solution-grid a:nth-child(-n+2) { border-bottom:1px solid var(--line); }.home-contact-cta { grid-column:1; }.solution-index { grid-template-columns:1fr; }.solution-index > .eyebrow { padding-top:0; }.solution-detail { grid-template-columns:1fr; }.solution-detail-art { min-height:18rem; }.solution-detail > div:last-child { padding-right:0; padding-left:0; }.operation-list a { grid-template-columns:3rem minmax(8rem,.55fr) minmax(0,1fr); } }
@media (max-width: 560px) { .page-hero,.fund-hero { min-height:31rem; padding-top:5rem; }.page-hero .hero-lead,.fund-hero .hero-lead { margin-left:0; }.home-editorial { padding-top:3.5rem; padding-bottom:3.5rem; }.editorial-label > span { font-size:3rem; }.home-strategy-art { min-height:13rem; }.home-strategy-copy { padding-top:3rem; }.solution-grid { grid-template-columns:1fr; }.solution-grid a,.solution-grid a:nth-child(2) { min-height:12rem; border-right:0; border-bottom:1px solid var(--line); }.solution-grid h3 { margin-top:2.5rem; }.operation-list a { grid-template-columns:2.2rem 1fr; }.operation-list p { grid-column:2; }.home-contact-cta { display:block; }.home-contact-cta .button { margin-top:1.25rem; }.solution-index a { grid-template-columns:2.5rem 1fr 1rem; }.solution-index p { grid-column:2 / -1; }.solution-detail-art { min-height:14rem; }.solution-story,.takeover-intro { gap:1.5rem; }.takeover-steps { gap:2rem; } }

/* SITEWIDE / ROUND 2 — řešení mají rozdílnou kompozici, ne jen jinou barvu hero.
   Společný zůstává pouze sazební rytmus a transparentní raster Mertovy tuše. */
.family-map, .development-ledger, .private-analysis, .special-diagnostic,
.family-governance, .development-conclusion, .private-bridge, .special-resolution {
  position: relative;
  max-width: var(--max);
  margin: 0 auto;
  padding: clamp(3.5rem, 6vw, 6rem) var(--gutter);
}
.page-hero--development .eyebrow, .page-hero--special .eyebrow { color: var(--oxide-dark); }
.family-map { display: grid; grid-template-columns: minmax(15rem, .8fr) minmax(0, 1.2fr); gap: 2rem clamp(2.5rem, 8vw, 10rem); }
.family-map h2, .development-ledger h2, .private-analysis h2, .special-diagnostic h2 { max-width: 11ch; margin: 0; font-size: clamp(2.6rem, 5vw, 5.6rem); font-weight: 500; line-height: .94; letter-spacing: -.06em; }
.family-map .lead-copy, .development-ledger .lead-copy { margin: 0 0 1rem; }
.family-map > div:last-of-type > p:not(.lead-copy), .development-ledger > div > p:not(.lead-copy), .private-analysis-heading > p:not(.eyebrow), .special-diagnostic > div > p:not(.eyebrow) { max-width: 42rem; color: rgba(29,29,27,.66); }
.family-map ol { grid-column: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 1rem 0 0; padding: 0; border-top: 1px solid var(--line-strong); list-style: none; }
.family-map li { min-height: 10rem; padding: 1.1rem 1.3rem; border-right: 1px solid var(--line); }
.family-map li:first-child { padding-left: 0; }.family-map li:last-child { border-right: 0; }
.family-map li span, .private-measures span, .special-diagnostic li span { color: var(--oxide); font-size: .65rem; font-weight: 650; letter-spacing: .12em; }
.family-map li strong { display: block; margin-top: 2.3rem; font-size: .9rem; font-weight: 600; }.family-map li p { margin: .4rem 0 0; color: rgba(29,29,27,.62); font-size: .8rem; line-height: 1.45; }
.family-governance { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, .72fr); min-height: 30rem; padding-top: 0; padding-bottom: 0; overflow: hidden; background: var(--canvas); }
.family-governance-art { position: relative; min-height: 30rem; overflow: hidden; }.family-governance-ink { position: absolute; inset: -14% -18%; opacity: .31; transform: rotate(-11deg); }
.family-governance > div:last-child { padding: clamp(3.5rem, 7vw, 7rem) var(--gutter); }.family-governance .lead-copy { margin: 0 0 1rem; }.family-governance p:not(.eyebrow):not(.lead-copy) { max-width: 31rem; color: rgba(29,29,27,.66); }

.development-ledger { display: grid; grid-template-columns: minmax(15rem, .75fr) minmax(0, 1.25fr); gap: 2rem clamp(2.5rem, 8vw, 10rem); background: var(--deep); color: var(--paper); }
.development-ledger .eyebrow, .development-conclusion .eyebrow, .special-diagnostic .eyebrow, .special-resolution .eyebrow { color: var(--oxide-dark); }.development-ledger > div > p:not(.lead-copy) { color: rgba(242,237,228,.68); }
.development-ledger dl { grid-column: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 1rem 0 0; border-top: 1px solid rgba(242,237,228,.34); }.development-ledger dl > div { min-height: 10rem; padding: 1rem 1.2rem; border-right: 1px solid rgba(242,237,228,.18); }.development-ledger dl > div:first-child { padding-left: 0; }.development-ledger dl > div:last-child { border-right: 0; }.development-ledger dt { color: var(--oxide-dark); font-size: .66rem; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }.development-ledger dd { margin: 2.4rem 0 0; color: rgba(242,237,228,.75); font-size: .86rem; line-height: 1.5; }
.development-conclusion { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, .72fr); min-height: 29rem; padding-top: 0; padding-bottom: 0; overflow: hidden; background: #2b2b28; color: var(--paper); }.development-conclusion > div:first-child { position: relative; min-height: 29rem; }.development-conclusion-ink { position: absolute; inset: -18% -13%; opacity: .5; }.development-conclusion .art-fragment-raster, .special-resolution .art-fragment-raster { filter: grayscale(1) invert(1); mix-blend-mode: screen; }.development-conclusion > div:last-child { padding: clamp(3.5rem, 7vw, 7rem) var(--gutter); }.development-conclusion p:not(.eyebrow):not(.lead-copy), .special-resolution p:not(.eyebrow):not(.lead-copy) { max-width: 33rem; color: rgba(242,237,228,.68); }.development-conclusion .text-link, .special-resolution .text-link { border-color: rgba(242,237,228,.45); color: var(--paper); }

.private-analysis { display: grid; grid-template-columns: minmax(15rem, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 8vw, 10rem); background: var(--canvas); }.private-analysis-heading > p:not(.eyebrow) { margin-top: 1.25rem; }.private-measures { border-top: 1px solid var(--line-strong); }.private-measures article { display: grid; grid-template-columns: 3rem minmax(9rem, .65fr) minmax(0, 1fr); gap: 1rem; padding: 1.25rem 0; border-bottom: 1px solid var(--line); }.private-measures h3, .private-measures p { margin: 0; }.private-measures h3 { font-size: 1rem; font-weight: 600; }.private-measures p { color: rgba(29,29,27,.65); font-size: .9rem; }.private-bridge { display: grid; grid-template-columns: minmax(15rem, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 8vw, 10rem); border-top: 1px solid var(--line); }.private-bridge .lead-copy { max-width: 28rem; margin: 0; }.private-bridge > div:last-child > p { max-width: 36rem; margin-top: 0; color: rgba(29,29,27,.66); }

.special-diagnostic { display: grid; grid-template-columns: minmax(15rem, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 8vw, 10rem); background: var(--ink); color: var(--paper); }.special-diagnostic > div > p:not(.eyebrow) { color: rgba(242,237,228,.68); }.special-diagnostic ol { margin: 0; padding: 0; border-top: 1px solid rgba(242,237,228,.34); list-style: none; }.special-diagnostic li { display: grid; grid-template-columns: 3rem minmax(9rem, .65fr) minmax(0, 1fr); gap: 1rem; padding: 1.3rem 0; border-bottom: 1px solid rgba(242,237,228,.18); }.special-diagnostic li strong { font-size: .96rem; font-weight: 600; }.special-diagnostic li p { margin: 0; color: rgba(242,237,228,.7); font-size: .88rem; }.special-resolution { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, .72fr); min-height: 29rem; padding-top: 0; padding-bottom: 0; overflow: hidden; background: #2b2b28; color: var(--paper); }.special-resolution-art { position: relative; min-height: 29rem; overflow: hidden; }.special-resolution-ink { position: absolute; inset: -18% -12%; opacity: .44; transform: rotate(9deg); }.special-resolution > div:last-child { padding: clamp(3.5rem, 7vw, 7rem) var(--gutter); }.special-resolution .lead-copy { margin: 0 0 1rem; }

@media (max-width: 960px) {
  .family-map, .development-ledger, .private-analysis, .special-diagnostic, .private-bridge { grid-template-columns: 1fr; }
  .family-map ol, .development-ledger dl { grid-column: 1; }
  .family-governance, .development-conclusion, .special-resolution { grid-template-columns: 1fr; }
  .family-governance-art, .development-conclusion > div:first-child, .special-resolution-art { min-height: 17rem; }
}
@media (max-width: 560px) {
  .family-map ol, .development-ledger dl { grid-template-columns: 1fr; }.family-map li, .development-ledger dl > div { min-height: auto; padding: 1rem 0; border-right: 0; border-bottom: 1px solid var(--line); }.development-ledger dl > div { border-color: rgba(242,237,228,.18); }.family-map li strong, .development-ledger dd { margin-top: 1rem; }
  .private-measures article, .special-diagnostic li { grid-template-columns: 2.2rem 1fr; }.private-measures p, .special-diagnostic li p { grid-column: 2; }
  .family-governance > div:last-child, .development-conclusion > div:last-child, .special-resolution > div:last-child { padding-right: var(--gutter); padding-left: var(--gutter); }
}

/* SITEWIDE / ROUND 3 — poslední, záměrně úsporná sazební vrstva.
   Nezasahuje do datových obrazovek ani administrace; sjednocuje výhradně
   vertikální rytmus veřejných editoriálních rout. */
:root { --editorial-space: clamp(3.25rem, 5vw, 5.5rem); }
.section { padding-top: var(--editorial-space); padding-bottom: var(--editorial-space); }
.section + .section { border-top-color: var(--line); }
.section p + p { margin-top: .9em; }
.eyebrow { margin-bottom: .85rem; }
.lead-copy { line-height: 1.38; }

/* Podstránky začínají vysoko: H1, lead a kresba jsou jedna sazební plocha. */
.page-hero, .fund-hero {
  display: grid;
  align-content: center;
  min-height: clamp(27rem, 48svh, 37rem);
  padding-top: clamp(3.25rem, 5.5vw, 5.5rem);
  padding-bottom: clamp(3rem, 4.5vw, 4.5rem);
}
.page-hero h1, .fund-hero h1 { max-width: 11.75ch; font-size: clamp(3.1rem, 5.6vw, 6.15rem); }
.page-hero .hero-lead, .fund-hero .hero-lead { max-width: min(42rem, 52vw); margin-top: 1rem; margin-left: clamp(0rem, 18vw, 19rem); line-height: 1.55; }
.page-hero-art { opacity: .23; }
.page-hero--about .page-hero-art { top: -19%; right: -11%; width: min(62vw, 58rem); height: 136%; opacity: .28; }
.page-hero--services .page-hero-art { top: -5%; right: -8%; width: min(59vw, 55rem); height: 116%; opacity: .43; }
.page-hero--family .page-hero-art { top: -31%; right: -11%; width: min(56vw, 54rem); height: 150%; opacity: .22; }
.page-hero--development .page-hero-art { top: -18%; right: -6%; width: min(65vw, 61rem); height: 136%; opacity: .45; transform: rotate(7deg); }
.page-hero--private .page-hero-art { top: -20%; right: -14%; width: min(54vw, 51rem); height: 145%; opacity: .26; transform: rotate(15deg); }
.page-hero--special .page-hero-art { top: -14%; right: -9%; width: min(64vw, 60rem); height: 133%; opacity: .46; transform: rotate(-8deg); }
.page-hero--service-01 .page-hero-art { opacity: .22; }
.page-hero--service-02 .page-hero-art { opacity: .38; transform: rotate(8deg); }
.page-hero--takeover .page-hero-art { opacity: .48; transform: rotate(-5deg); }

/* Homepage zůstává jedinou kompaktní první obrazovkou. */
@media (min-width: 961px) {
  .home-hero.home-hero--ink { min-height: clamp(610px, calc(100svh - 104px), 690px); }
  .home-hero--ink .hero-copy { width: min(45rem, 53vw); padding-top: clamp(2.8rem, 4vh, 3.8rem); padding-bottom: 5.35rem; }
  .home-hero--ink .hero-copy h1 { max-width: 9.6ch; font-size: clamp(4rem, 5.75vw, 6.6rem); }
  .home-hero--ink .hero-copy .hero-lead { max-width: 36rem; }
  .hero-metadata { bottom: 1.65rem; }
}
.home-editorial, .home-solutions, .home-operations, .home-next { padding-top: var(--editorial-space); padding-bottom: var(--editorial-space); }
.home-strategy { min-height: 30rem; }
.home-strategy-art { min-height: 25rem; }
.home-strategy-copy { padding-top: var(--editorial-space); padding-bottom: var(--editorial-space); }
.home-solutions .section-heading { margin-bottom: clamp(1.75rem, 3vw, 3rem); }
.solution-grid a { min-height: 15.5rem; }
.home-contact-cta { margin-top: 1.5rem; }

/* Každá solution route používá vlastní skladbu, avšak bez prázdných pseudo-sekcí. */
.family-map, .development-ledger, .private-analysis, .special-diagnostic,
.family-governance, .development-conclusion, .private-bridge, .special-resolution { padding-top: var(--editorial-space); padding-bottom: var(--editorial-space); }
.family-governance, .development-conclusion, .special-resolution { min-height: 23rem; }
.family-governance-art, .development-conclusion > div:first-child, .special-resolution-art { min-height: 23rem; }
.family-governance > div:last-child, .development-conclusion > div:last-child, .special-resolution > div:last-child { padding-top: var(--editorial-space); padding-bottom: var(--editorial-space); }
.family-map li, .development-ledger dl > div { min-height: 8.5rem; }
.family-map li strong, .development-ledger dd { margin-top: 1.35rem; }
.development-conclusion-ink, .special-resolution-ink { opacity: .38; }
.private-analysis { background: var(--canvas); }
.private-bridge { background: var(--paper); }

/* Věcné route: menší hero, přímý přechod na funkci. */
.page-povinne-informace .page-hero, .page-kontakt .page-hero { min-height: 0; }
.catalog-intro { padding-top: 2.25rem; }
.archive { padding-top: 2.75rem; }
.contact-start { padding-top: var(--editorial-space); padding-bottom: var(--editorial-space); }
.contact-grid { padding-top: 3.5rem; }

@media (max-width: 960px) {
  .page-hero, .fund-hero { min-height: clamp(25rem, 50svh, 33rem); }
  .page-hero .hero-lead, .fund-hero .hero-lead { max-width: min(38rem, 78vw); margin-left: 0; }
  .home-strategy { min-height: 0; }
  .home-strategy-art { min-height: 14rem; }
  .family-governance, .development-conclusion, .special-resolution { min-height: 0; }
  .family-governance-art, .development-conclusion > div:first-child, .special-resolution-art { min-height: 14rem; }
}
@media (max-width: 560px) {
  .page-hero, .fund-hero { min-height: 0; padding-top: 3.25rem; padding-bottom: 3rem; }
  .page-hero h1, .fund-hero h1 { font-size: clamp(2.85rem, 12.8vw, 4rem); }
  .page-hero .hero-lead, .fund-hero .hero-lead { max-width: 100%; font-size: 1rem; line-height: 1.52; }
  .page-hero-art.art-fragment--raster { top: 24%; right: -57%; width: 134vw; height: 77%; opacity: .13; }
  .page-hero--development .page-hero-art, .page-hero--special .page-hero-art, .page-hero--services .page-hero-art, .page-hero--takeover .page-hero-art { opacity: .28; }
  .home-hero.home-hero--ink { min-height: max(690px, calc(100svh - 64px)); }
  .home-hero--ink .hero-copy { padding-top: 3.4rem; padding-bottom: 12.75rem; }
  .home-hero--ink .hero-copy h1 { font-size: clamp(3.1rem, 13.5vw, 4.35rem); }
  .home-editorial, .home-solutions, .home-operations, .home-next { padding-top: 3.25rem; padding-bottom: 3.25rem; }
  .home-strategy-art, .family-governance-art, .development-conclusion > div:first-child, .special-resolution-art { min-height: 11rem; }
  .solution-grid a { min-height: 10.5rem; }
  .family-governance > div:last-child, .development-conclusion > div:last-child, .special-resolution > div:last-child { padding-top: 3rem; padding-bottom: 3rem; }
  .contact-grid { padding-top: 3rem; }
}

/* TARGETED FIX FINAL OVERRIDES — this intentionally follows legacy rounds. */
:root { --paper:#f2ede4; --canvas:#d9d1c3; --ink:#1d1d1b; --oxide:#b65a3c; --stone:#8a8f86; --depth:#2e3d4f; --deep:#2e3d4f; --paper-dark:#2e3d4f; --canvas-dark:#2e3d4f; --light-ink:#f2ede4; --oxide-dark:#b65a3c; --stone-dark:#d9d1c3; --depth-dark:#2e3d4f; }
.page-hero,.fund-hero { display:block; min-height:0; padding-top:clamp(2.35rem,4vw,4rem); padding-bottom:clamp(2.5rem,4.5vw,4.5rem); }
.page-hero h1,.fund-hero h1,.page-hero .eyebrow,.fund-hero .eyebrow,.page-hero .hero-lead,.fund-hero .hero-lead { position:relative; z-index:1; }
.page-hero .hero-lead,.fund-hero .hero-lead { max-width:min(42rem,56vw); margin:1rem 0 0 clamp(0rem,12vw,12rem); }
.page-hero-art { pointer-events:none; }
.page-hero--dark,.page-hero--ink,.page-hero--deep,.page-hero--development,.page-hero--special,.page-hero--blue,.process,.development-ledger,.development-conclusion,.special-diagnostic,.special-resolution { background:#2e3d4f; color:#f2ede4; }
.page-hero--dark .hero-lead,.page-hero--ink .hero-lead,.page-hero--deep .hero-lead,.page-hero--development .hero-lead,.page-hero--special .hero-lead,.page-hero--blue .hero-lead { color:#d9d1c3; }
.page-hero--dark .eyebrow,.page-hero--ink .eyebrow,.page-hero--deep .eyebrow,.page-hero--development .eyebrow,.page-hero--special .eyebrow,.page-hero--blue .eyebrow,.process .eyebrow,.development-ledger .eyebrow,.development-conclusion .eyebrow,.special-diagnostic .eyebrow,.special-resolution .eyebrow { color:#b65a3c; }
.page-hero--service-04 { background:#b65a3c; color:#1d1d1b; }.page-hero--service-04 .hero-lead { color:#2e3d4f; }.page-hero--service-04 .eyebrow { color:#1d1d1b; }
.section { padding-top:clamp(3rem,5vw,5rem); padding-bottom:clamp(3rem,5vw,5rem); }.section h2 + p,.section h2 + .lead-copy { margin-top:1rem; }.fund-strategy h3 { margin-top:2.5rem; }.detail-context { padding-top:clamp(2.5rem,4vw,4rem); }.context-card { min-height:0; }.disclaimer,.go-live-note,.open-gate,.legal-statement { margin-top:2.5rem; }
.information-funds .section-intro,.company-documents .section-intro { max-width:48rem; margin-bottom:2rem; }.company-documents { background:var(--canvas); }.document-table--compact .document-head,.document-table--compact .document-row { grid-template-columns:minmax(0,.75fr) minmax(0,1fr) minmax(0,2fr) minmax(0,.45fr) 1.5rem; }.fund-edit { width:100%; margin-top:1.25rem; border-top:1px solid var(--line); }.fund-edit summary { padding:1rem 0; cursor:pointer; font-size:.72rem; font-weight:650; letter-spacing:.08em; text-transform:uppercase; }.fund-edit .editor { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; padding:1rem 0; }
@media (max-width:960px) { .page-hero .hero-lead,.fund-hero .hero-lead { max-width:min(40rem,76vw); margin-left:0; } }
@media (max-width:560px) { .page-hero,.fund-hero { padding-top:2.5rem; padding-bottom:2.75rem; }.page-hero .hero-lead,.fund-hero .hero-lead { max-width:100%; }.document-table--compact .document-head { display:none; }.document-table--compact .document-row { grid-template-columns:1fr auto; gap:.35rem 1rem; padding:1.1rem 0; }.document-table--compact .document-row strong { grid-column:1/-1; }.fund-edit .editor { grid-template-columns:1fr; } }

/* CONTENT INTEGRATION — věcnější sazba pro nový obsah a bezpečná pole. */
h1, h2, h3, .section h2, .section h3, .page-hero h1, .fund-hero h1,
.thesis blockquote, .nav-module h2 { hyphens: none; overflow-wrap: normal; }
.home-purpose { background: var(--paper); }
.home-purpose .lead-copy, .home-next .lead-copy { max-width: 42rem; }
.home-services { background: var(--canvas); }
.home-services .section-intro { max-width: 52rem; }
.home-solutions { background: var(--paper); }
.home-next { border-top: 1px solid var(--line); background: var(--canvas); }
.editorial-list { max-width: 42rem; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line-strong); }
.editorial-list li { padding: .85rem 0 .85rem 1.2rem; border-bottom: 1px solid var(--line); position: relative; }
.editorial-list li::before { position: absolute; top: 1.45rem; left: 0; width: .45rem; height: 1px; background: var(--oxide); content: ""; }
.example-band { display: grid; grid-template-columns: minmax(14rem,.8fr) minmax(0,1.2fr); gap: clamp(2rem,8vw,10rem); background: var(--canvas); }
.example-band h2 { max-width: 12ch; }
.example-band p { max-width: 42rem; }
.about-team .go-live-note { margin-top: 1.2rem; }
.document-meta { display: block; margin-top: .25rem; color: rgba(29,29,27,.52); font-size: .68rem; font-weight: 400; letter-spacing: .02em; }
.footer-pending { max-width: 18rem; color: rgba(242,237,228,.52) !important; }
.nav-module--unavailable { align-items: start; background: var(--canvas); }
.nav-module--unavailable h2 { font-size: clamp(2rem,4vw,4rem); }
.nav-module--unavailable .eyebrow { color: var(--oxide); }
.open-gate { padding: 1rem 0; border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line); color: rgba(29,29,27,.66); }
.fund-strategy .open-gate { margin-top: 1rem; }

@media (max-width: 960px) {
  .example-band { grid-template-columns: 1fr; gap: 1.5rem; }
}

@media (max-width: 560px) {
  .home-hero--ink .hero-copy h1 { max-width: 10ch; }
  .example-band { gap: 1rem; }
  .editorial-list li { padding-left: 1rem; }
}

/* Cílená oprava: aktivní kontrastní plochy používají BLUE, ink zůstává footerový režim. */
.page-hero--private,
.takeover-steps { background:var(--deep); color:var(--light-ink); }
.page-hero--private .eyebrow,
.takeover-steps .eyebrow { color:var(--oxide); }
.page-hero--private .hero-lead { color:var(--canvas); }
.page-hero--private .page-hero-art .art-fragment-raster { filter:grayscale(1) invert(1); mix-blend-mode:screen; }

/* TYPOGRAPHY — podstránky mají kompaktnější H1 než homepage. */
.page-hero h1,
.fund-hero h1 {
  max-width: min(100%, 16ch);
  font-size: clamp(2.4rem, 4vw, 4.8rem);
  line-height: .98;
  letter-spacing: -.055em;
  text-wrap: balance;
  hyphens: none;
}

/* ASTRA: velké světlé plochy sdílejí LIGHT; D9D1C3 zůstává sekundární text BLUE. */
.public-body { --canvas: #f2ede4; }
.solution-detail--private { background: #f2ede4; }
.page-hero--private .hero-lead { color: #d9d1c3; }

/* Fondová hierarchie: pouze rozvržení nových datových řádků, bez změny vizuálního systému. */
.fund-related { grid-column: 1 / -1; padding-top: 1.5rem; border-top: 1px solid var(--line-strong); }
.related-heading { margin-top: 1.5rem; }
.related-heading h3 { margin: .35rem 0 0; font-size: 1.35rem; font-weight: 550; }
.editor--nested { margin-top: 1rem; padding: 1rem; border: 1px solid var(--line); background: rgba(255,255,255,.55); }
.editor--nested .field-wide { grid-column: 1 / -1; }
.subfund-table, .class-table { margin-top: 1.25rem; border-top: 1px solid var(--line-strong); }
.subfund-table-head, .subfund-row, .class-table-head, .class-row { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr) minmax(0,.75fr) minmax(0,1fr) minmax(0,1fr); gap: 1rem; align-items: center; padding: .85rem 0; border-bottom: 1px solid var(--line); }
.subfund-table-head, .class-table-head { color: rgba(29,29,27,.55); font-size: .62rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.subfund-row { font-size: .78rem; }
.subfund-row .record-actions { justify-content: flex-start; }
.related-edit { grid-column: 1 / -1; border-top: 1px solid var(--line); }
.related-edit summary { padding: .65rem 0; color: var(--oxide); cursor: pointer; font-size: .66rem; font-weight: 650; text-transform: uppercase; }
.related-edit .editor { box-shadow: none; }
.related-records { display: grid; gap: .7rem; margin-top: 1rem; }
.related-record { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .7rem 1rem; padding: .9rem; border: 1px solid var(--line); background: rgba(255,255,255,.42); }
.related-record > .related-edit { grid-column: 1 / -1; }
.related-record small { display: block; margin-top: .25rem; color: rgba(29,29,27,.55); }
.dependent-fields { display: grid; gap: .7rem; }
.class-module .section-intro, .subfund-module .section-intro { max-width: 48rem; margin-bottom: 2rem; }
.class-table-head, .class-row { grid-template-columns: minmax(0,1fr) minmax(0,1.4fr) minmax(0,1fr) minmax(0,.7fr); }
.class-row { font-size: .78rem; }
.nav-record-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 1rem; }
.nav-record { padding: 1.25rem; border-top: 1px solid var(--line-strong); }
.nav-record h2 { margin: 0; font-size: clamp(2rem,4vw,3.5rem); font-weight: 500; letter-spacing: -.05em; }
.nav-record h2 small { font-size: .45em; letter-spacing: 0; }
.subfund-breadcrumb { display: flex; flex-wrap: wrap; gap: .65rem; max-width: var(--max); margin: 0 auto; padding: 1.25rem var(--gutter) 0; color: rgba(29,29,27,.6); font-size: .72rem; }
.subfund-breadcrumb a { color: inherit; }
.subfund-breadcrumb strong { color: var(--ink); font-weight: 600; }

@media (max-width: 760px) {
  .subfund-table-head { display: none; }
  .subfund-row { grid-template-columns: minmax(0,1fr) auto; gap: .45rem 1rem; }
  .subfund-row > span:nth-child(2), .subfund-row > code { grid-column: 1; }
  .subfund-row > span:nth-child(3) { grid-column: 2; grid-row: 1; }
  .subfund-row > span:nth-child(5) { grid-column: 2; grid-row: 2 / 4; }
  .class-table-head { display: none; }
  .class-row { grid-template-columns: 1fr auto; gap: .45rem 1rem; }
  .class-row span:nth-child(2) { grid-column: 1 / -1; }
}

/* DESIGN FIX — jasná hierarchie, štítky bez indexů a kompaktní obsahové sazby. */
.page-hero,
.fund-hero {
  min-height: 0;
  padding-top: clamp(2.1rem, 3.2vw, 3.25rem);
  padding-bottom: clamp(2.25rem, 3.8vw, 3.75rem);
}
.page-hero h1,
.fund-hero h1 {
  max-width: min(100%, 16ch);
  font-size: clamp(2.35rem, 3.5vw, 4.5rem);
  line-height: .99;
}
.section h2 {
  font-size: clamp(2.15rem, 3.45vw, 4.25rem);
  line-height: 1;
}
.section h3 {
  font-size: clamp(1.2rem, 1.45vw, 1.65rem);
  line-height: 1.12;
}
.section .lead-copy {
  font-size: clamp(1.15rem, 1.65vw, 1.75rem);
}
.section,
.home-purpose,
.home-services,
.home-solutions,
.home-next {
  padding-top: clamp(3rem, 4.5vw, 4.75rem);
  padding-bottom: clamp(3rem, 4.5vw, 4.75rem);
}
.home-services .section-intro,
.home-solutions .section-intro {
  max-width: 55rem;
  margin-left: 0;
  margin-bottom: clamp(1.75rem, 3vw, 3rem);
}
.home-service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line-strong);
}
.home-service-card {
  position: relative;
  display: flex;
  min-height: 16rem;
  flex-direction: column;
  padding: 1.35rem 1.5rem 1.4rem 0;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  color: inherit;
  text-decoration: none;
  transition: background var(--motion-base) var(--ease-ecru), color var(--motion-base) var(--ease-ecru);
}
.home-service-card:not(:first-child) { padding-left: 1.5rem; }
.home-service-card:last-child { border-right: 0; }
.home-service-card::before {
  position: absolute;
  top: -1px;
  right: 0;
  bottom: -1px;
  width: 3px;
  content: "";
  background: var(--oxide);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform var(--motion-base) var(--ease-ecru);
}
.home-service-card:hover,
.home-service-card:focus-visible { background: rgba(246, 243, 236, .65); }
.home-service-card:hover::before,
.home-service-card:focus-visible::before { transform: scaleY(1); }
.service-card-label {
  color: var(--oxide);
  font-size: .62rem;
  font-weight: 650;
  letter-spacing: .12em;
  line-height: 1.3;
  text-transform: uppercase;
}
.home-service-card > div { margin-top: auto; }
.home-service-card h3 { margin: 2.8rem 0 .65rem; }
.home-service-card p { max-width: 23rem; margin: 0; color: rgba(29,29,27,.66); font-size: .9rem; }
.home-service-card b { align-self: flex-end; margin-top: 1.25rem; color: var(--oxide); font-size: .85rem; }
.solution-grid a { min-height: 15.5rem; }
.solution-grid h3 { margin-top: auto; font-size: clamp(1.2rem, 1.55vw, 1.65rem); }
.solution-grid p { max-width: 18rem; }
.service-list a { grid-template-columns: minmax(0, 1fr) 2rem; }
.service-list a > span { display: none; }
.feature-list li { display: block; min-height: 0; padding: 1rem 0; }
.feature-list li > span { display: none; }
.feature-list li p { margin: 0; }
.process-list li { display: flex; align-items: flex-end; }
.process-list li > span { display: none; }
.princip-list article { display: block; }
.princip-list article > span { display: none; }
.princip-list h3 { margin: 0 0 .35rem; }
.takeover-steps li { display: block; }
.takeover-steps li > span { display: none; }
.private-measures article { grid-template-columns: minmax(9rem, .65fr) minmax(0, 1fr); }
.private-measures article > span,
.special-diagnostic li > span { display: none; }
.special-diagnostic li { grid-template-columns: minmax(9rem, .65fr) minmax(0, 1fr); }
.solution-index a { grid-template-columns: minmax(13rem, .7fr) minmax(0, 1fr) 1rem; }
.solution-index a > span { display: none; }
.solution-index h2 { font-size: clamp(1.55rem, 2.35vw, 2.7rem); }

@media (max-width: 960px) {
  .home-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-service-card:nth-child(2) { border-right: 0; }
  .home-service-card:nth-child(3) { grid-column: 1 / -1; padding-left: 0; }
  .solution-index a { grid-template-columns: minmax(11rem, .7fr) minmax(0, 1fr) 1rem; }
}

@media (max-width: 560px) {
  .page-hero h1,
  .fund-hero h1 { font-size: clamp(2.35rem, 11.5vw, 3.7rem); }
  .section h2 { font-size: clamp(2.1rem, 10.5vw, 3.25rem); }
  .home-service-grid { grid-template-columns: minmax(0, 1fr); }
  .home-service-card,
  .home-service-card:not(:first-child) { min-height: 13.5rem; padding: 1.15rem 0 1.25rem; border-right: 0; }
  .home-service-card:nth-child(3) { grid-column: auto; }
  .home-service-card h3 { margin-top: 2rem; }
  .solution-index a { grid-template-columns: minmax(0, 1fr) 1rem; gap: .75rem; }
  .solution-index p { grid-column: 1; }
  .solution-index b { grid-column: 2; grid-row: 1 / 3; }
  .private-measures article,
  .special-diagnostic li { grid-template-columns: minmax(0, 1fr); gap: .35rem; }
  .private-measures p,
  .special-diagnostic li p { grid-column: 1; }
}
