:root {
    --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-serif: Georgia, "Times New Roman", serif;
    --bg: #f7f3ed;
    --bg-elevated: #fffdf9;
    --bg-soft: #eee7de;
    --surface: #ffffff;
    --text: #1d2421;
    --text-muted: #666c68;
    --line: #d9d2c8;
    --line-strong: #bcb3a8;
    --accent: #a95235;
    --accent-strong: #813b27;
    --accent-soft: #eed8cc;
    --forest: #172a24;
    --forest-soft: #26443a;
    --light: #fffaf1;
    --success: #2c6d54;
    --danger: #9b3434;
    --shadow-sm: 0 8px 28px rgb(28 34 31 / .08);
    --shadow-lg: 0 28px 80px rgb(22 32 28 / .16);
    --radius-sm: .55rem;
    --radius: 1rem;
    --radius-lg: 1.75rem;
    --shell: min(1400px, calc(100vw - 3rem));
    color-scheme: light;
}

html[data-theme="dark"] {
    --bg: #101613;
    --bg-elevated: #151d19;
    --bg-soft: #1b2521;
    --surface: #1a221e;
    --text: #f0ece4;
    --text-muted: #a8afa9;
    --line: #34423b;
    --line-strong: #516259;
    --accent: #df8867;
    --accent-strong: #efa080;
    --accent-soft: #4b2c22;
    --forest: #0a0f0d;
    --forest-soft: #223c33;
    --light: #f7f1e7;
    --success: #61b590;
    --danger: #ee8383;
    --shadow-sm: 0 8px 28px rgb(0 0 0 / .25);
    --shadow-lg: 0 28px 80px rgb(0 0 0 / .4);
    color-scheme: dark;
}

*,
*::before,
*::after { box-sizing: border-box; }

html {
    scroll-behavior: smooth;
    text-size-adjust: 100%;
}

body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font-family: var(--font-sans);
    font-size: 1rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.025'/%3E%3C/svg%3E");
}

img { display: block; max-width: 100%; }
[hidden] { display: none !important; }
a { color: inherit; text-decoration: none; }
button,
input,
select,
textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
h1,
h2,
h3,
p { margin-top: 0; }
h1,
h2,
h3 {
    font-family: var(--font-serif);
    font-weight: 500;
    line-height: 1.04;
    text-wrap: balance;
}
h1 { font-size: clamp(3rem, 6vw, 6.6rem); letter-spacing: -.045em; }
h2 { font-size: clamp(2.1rem, 3.5vw, 4rem); letter-spacing: -.035em; }
h3 { font-size: 1.45rem; letter-spacing: -.02em; }

.shell { width: var(--shell); margin-inline: auto; }
.narrow { max-width: 860px; }
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.skip-link {
    position: fixed;
    left: 1rem;
    top: 1rem;
    z-index: 1000;
    padding: .7rem 1rem;
    background: var(--surface);
    border: 2px solid var(--accent);
    transform: translateY(-150%);
}
.skip-link:focus { transform: translateY(0); }

.eyebrow {
    display: inline-block;
    color: var(--text-muted);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .14em;
    line-height: 1.2;
    text-transform: uppercase;
}
.eyebrow--accent { color: var(--accent); }
.eyebrow--light { color: #d6c7b7; }

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.1rem;
    padding: .75rem 1.35rem;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: .88rem;
    font-weight: 700;
    line-height: 1;
    transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
}
.button:hover { transform: translateY(-2px); }
.button:focus-visible,
.icon-button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--accent) 60%, transparent);
    outline-offset: 3px;
}
.button--primary { background: var(--accent); color: #fff; }
.button--primary:hover { background: var(--accent-strong); }
.button--quiet { border-color: var(--line); background: transparent; }
.button--quiet:hover { border-color: var(--text); background: var(--bg-elevated); }
.button--light { background: var(--light); color: var(--forest); }
.button--small { min-height: 2.55rem; padding: .6rem 1rem; }
.button--block { width: 100%; margin-top: .8rem; }
.text-link {
    display: inline-flex;
    gap: .5rem;
    align-items: center;
    color: var(--accent);
    font-size: .85rem;
    font-weight: 700;
}
.text-link span { transition: transform .2s ease; }
.text-link:hover span { transform: translateX(4px); }
.icon-button {
    display: inline-grid;
    place-items: center;
    width: 2.7rem;
    height: 2.7rem;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: var(--bg-elevated);
}
.icon-button svg {
    width: 1.2rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-width: 1.7;
}

.announcement {
    background: var(--forest);
    color: #d9ddd9;
    font-size: .72rem;
    letter-spacing: .055em;
}
.announcement__inner {
    display: flex;
    justify-content: space-between;
    padding-block: .48rem;
}
.announcement__meta { color: #9eb2a8; }
.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    border-bottom: 1px solid color-mix(in srgb, var(--line) 70%, transparent);
    background: color-mix(in srgb, var(--bg) 91%, transparent);
    backdrop-filter: blur(18px);
}
.nav-shell {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    min-height: 5.25rem;
    gap: 2rem;
}
.brand {
    display: inline-flex;
    align-items: center;
    gap: .8rem;
}
.brand img { width: 138px; height: auto; object-fit: contain; }
.brand span { display: grid; }
.brand strong {
    font-family: var(--font-serif);
    font-size: 1.35rem;
    font-weight: 600;
    letter-spacing: .08em;
    line-height: 1;
}
.brand small {
    margin-top: .3rem;
    color: var(--text-muted);
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.primary-nav {
    display: flex;
    justify-content: center;
    gap: clamp(1rem, 2vw, 2.2rem);
}
.primary-nav a {
    position: relative;
    font-size: .86rem;
    font-weight: 600;
}
.primary-nav a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 100%;
    bottom: -.5rem;
    height: 2px;
    background: var(--accent);
    transition: right .2s ease;
}
.primary-nav a:hover::after { right: 0; }
.nav-actions {
    display: flex;
    align-items: center;
    gap: .65rem;
}
.saved-actions {
    display: flex;
    align-items: center;
    gap: .35rem;
}
.saved-action {
    position: relative;
    display: grid;
    width: 2.55rem;
    height: 2.55rem;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: var(--bg-elevated);
    place-items: center;
    transition: border-color .2s ease, background .2s ease, color .2s ease;
}
.saved-action:hover {
    border-color: var(--accent);
    background: var(--accent-soft);
    color: var(--accent);
}
.saved-action svg {
    width: 1.15rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}
.saved-action__count {
    position: absolute;
    top: -.35rem;
    right: -.35rem;
    display: grid;
    min-width: 1.25rem;
    height: 1.25rem;
    padding-inline: .22rem;
    border: 2px solid var(--bg);
    border-radius: 999px;
    background: var(--accent);
    color: #fff;
    place-items: center;
    font-size: .58rem;
    font-weight: 800;
    line-height: 1;
}
.language-link {
    display: grid;
    place-items: center;
    width: 2.65rem;
    height: 2.65rem;
    font-size: .72rem;
    font-weight: 800;
}
.theme-picker { position: relative; }
.theme-menu {
    position: absolute;
    right: 0;
    top: calc(100% + .65rem);
    min-width: 9rem;
    padding: .4rem;
    border: 1px solid var(--line);
    border-radius: .8rem;
    background: var(--surface);
    box-shadow: var(--shadow-sm);
}
.theme-menu button {
    width: 100%;
    padding: .6rem .8rem;
    border: 0;
    border-radius: .5rem;
    background: transparent;
    text-align: left;
}
.theme-menu button:hover,
.theme-menu button.is-active { background: var(--bg-soft); }
.nav-toggle { display: none; }

.flash-stack { position: relative; z-index: 90; }
.flash {
    margin-top: 1rem;
    padding: .9rem 1.2rem;
    border: 1px solid var(--line);
    border-radius: .8rem;
    background: var(--surface);
    box-shadow: var(--shadow-sm);
}
.flash--success { border-color: var(--success); }
.flash--error { border-color: var(--danger); }

.hero {
    position: relative;
    min-height: calc(100svh - 7.5rem);
    overflow: hidden;
    background:
        radial-gradient(circle at 82% 32%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 28%),
        linear-gradient(125deg, var(--bg) 48%, var(--bg-soft));
}
.hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 1px;
    background: var(--line);
}
.hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(400px, .92fr);
    align-items: center;
    min-height: calc(100svh - 7.5rem);
    gap: clamp(3rem, 8vw, 9rem);
    padding-block: clamp(4rem, 8vh, 7rem);
}
.hero__content { position: relative; z-index: 2; }
.hero h1 { max-width: 810px; margin: 1.2rem 0 1.5rem; }
.hero h1 em { color: var(--accent); font-weight: 400; }
.hero__content > p {
    max-width: 650px;
    margin-bottom: 2.2rem;
    color: var(--text-muted);
    font-size: clamp(1.05rem, 1.4vw, 1.3rem);
}
.hero-search {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    max-width: 720px;
    padding: .5rem;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: var(--surface);
    box-shadow: var(--shadow-sm);
}
.hero-search svg {
    width: 1.4rem;
    margin-left: 1rem;
    fill: none;
    stroke: var(--text-muted);
    stroke-width: 1.7;
}
.hero-search input {
    min-width: 0;
    padding: .8rem 1rem;
    border: 0;
    outline: 0;
    background: transparent;
}
.search-autocomplete {
    position: relative;
    min-width: 0;
}
.search-autocomplete > input { width: 100%; }
.search-suggestions {
    position: absolute;
    top: calc(100% + .7rem);
    left: 0;
    z-index: 120;
    width: min(520px, calc(100vw - 3rem));
    max-height: 390px;
    padding: .4rem;
    overflow-y: auto;
    border: 1px solid var(--line);
    border-radius: .9rem;
    background: var(--surface);
    box-shadow: var(--shadow-lg);
}
.search-suggestion {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .25rem 1rem;
    padding: .8rem .9rem;
    border-radius: .65rem;
}
.search-suggestion:hover,
.search-suggestion.is-active {
    background: var(--bg-soft);
}
.search-suggestion strong {
    overflow: hidden;
    color: var(--text);
    font: 600 .9rem/1.25 var(--font-serif);
    text-overflow: ellipsis;
    white-space: nowrap;
}
.search-suggestion small {
    grid-column: 1;
    overflow: hidden;
    color: var(--text-muted);
    font-size: .68rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.search-suggestion span {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    color: var(--accent);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.hero__metrics {
    display: flex;
    gap: clamp(1.5rem, 4vw, 4rem);
    margin-top: 3rem;
}
.hero__metrics div { display: grid; }
.hero__metrics strong { font-family: var(--font-serif); font-size: 2rem; font-weight: 500; }
.hero__metrics span { color: var(--text-muted); font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.hero__visual { position: relative; display: grid; place-items: center; min-height: 600px; }
.hero__visual figure {
    position: relative;
    z-index: 2;
    width: min(92%, 520px);
    margin: 0;
    transform: rotate(1.5deg);
}
.hero__visual figure::before {
    content: "";
    position: absolute;
    inset: 5% 3% -3%;
    z-index: -1;
    border-radius: 50%;
    background: rgb(0 0 0 / .18);
    filter: blur(35px);
}
.hero__visual img {
    width: 100%;
    max-height: 610px;
    object-fit: contain;
    filter: drop-shadow(0 30px 25px rgb(0 0 0 / .18));
}
.hero__visual figcaption {
    position: absolute;
    right: -1rem;
    bottom: 2rem;
    display: grid;
    min-width: 12rem;
    padding: 1rem 1.2rem;
    border: 1px solid color-mix(in srgb, var(--line) 80%, transparent);
    border-radius: .8rem;
    background: color-mix(in srgb, var(--surface) 90%, transparent);
    box-shadow: var(--shadow-sm);
    backdrop-filter: blur(12px);
    font-family: var(--font-serif);
    font-size: 1.05rem;
}
.hero__visual figcaption span { color: var(--accent); font: 700 .68rem var(--font-sans); letter-spacing: .1em; }
.artifact-orbit {
    position: absolute;
    border: 1px solid color-mix(in srgb, var(--accent) 45%, transparent);
    border-radius: 50%;
}
.artifact-orbit--one { width: 580px; height: 580px; }
.artifact-orbit--two { width: 440px; height: 440px; transform: rotate(25deg); border-style: dashed; opacity: .6; }

.section { padding-block: clamp(5rem, 9vw, 9rem); }
.section--soft { background: var(--bg-soft); }
.section--periods { overflow: hidden; background: var(--bg-elevated); }
.section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 3.2rem;
}
.section-heading h2 { margin: .7rem 0 0; }
.section-heading--small { margin-bottom: 1.5rem; }
.section-heading--small h2 { font-size: 2.4rem; }
.period-rail {
    display: grid;
    grid-auto-columns: minmax(250px, 1fr);
    grid-auto-flow: column;
    gap: 1.25rem;
    overflow-x: auto;
    padding: 0 max(0px, calc((100vw - min(1400px, 100vw - 3rem)) / 2)) 1.5rem 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
}
.period-card {
    position: relative;
    min-height: 460px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--surface);
    scroll-snap-align: start;
    transition: transform .25s ease, box-shadow .25s ease;
}
.period-card:hover { transform: translateY(-7px); box-shadow: var(--shadow-lg); }
.period-card__image { height: 315px; overflow: hidden; background: var(--bg-soft); }
.period-card__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 1.5rem;
    transition: transform .5s ease;
}
.period-card:hover img { transform: scale(1.05); }
.period-card__index {
    position: absolute;
    top: 1rem;
    left: 1rem;
    display: grid;
    place-items: center;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 50%;
    background: var(--forest);
    color: #fff;
    font-size: .65rem;
    font-weight: 700;
}
.period-card h3 { margin: 1.3rem 1.3rem .3rem; }
.period-card p { margin: 0 1.3rem; color: var(--text-muted); font-size: .8rem; }

.ceramic-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.35rem;
}
.ceramic-card {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--surface);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.ceramic-card:hover { transform: translateY(-5px); border-color: var(--line-strong); box-shadow: var(--shadow-sm); }
.ceramic-card__media {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background:
        linear-gradient(45deg, color-mix(in srgb, var(--bg-soft) 75%, transparent) 25%, transparent 25%) 0 0 / 16px 16px,
        var(--bg-soft);
}
.ceramic-card__media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 1rem;
    transition: transform .45s ease;
}
.ceramic-card:hover .ceramic-card__media img { transform: scale(1.045); }
.ceramic-card__id {
    position: absolute;
    top: .8rem;
    right: .8rem;
    padding: .35rem .55rem;
    border-radius: 999px;
    background: rgb(23 42 36 / .88);
    color: #fff;
    font-size: .63rem;
    font-weight: 700;
    backdrop-filter: blur(8px);
}
.ceramic-card__body { padding: 1.25rem; }
.ceramic-card__body h3 { min-height: 2.9rem; margin: .5rem 0 .6rem; font-size: 1.3rem; }
.ceramic-card__body > p {
    min-height: 2.7rem;
    margin-bottom: 1.2rem;
    color: var(--text-muted);
    font-size: .78rem;
}
.card-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .7rem;
    padding-top: 1rem;
    border-top: 1px solid var(--line);
}
.compare-check { display: inline-flex; align-items: center; gap: .35rem; color: var(--text-muted); font-size: .7rem; font-weight: 600; }
.compare-check input { accent-color: var(--accent); }
.card-actions form { margin: 0; }
.card-favorite-button {
    display: grid;
    width: 1.9rem;
    height: 1.9rem;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: transparent;
    color: var(--accent);
    place-items: center;
}
.card-favorite-button:hover {
    border-color: var(--accent);
    background: var(--accent-soft);
}

.research-callout { padding-block: clamp(4rem, 8vw, 7rem); background: var(--forest); color: #f3eee6; }
.research-callout__grid { display: grid; grid-template-columns: 1.1fr .9fr; align-items: end; gap: 6rem; }
.research-callout h2 { margin: .8rem 0 0; font-size: clamp(2.7rem, 5vw, 5.5rem); }
.research-callout p { color: #bdc9c3; font-size: 1.1rem; }

.page-hero {
    padding-block: clamp(5rem, 10vw, 9rem);
    border-bottom: 1px solid var(--line);
    background:
        radial-gradient(circle at 75% 15%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 30%),
        var(--bg-elevated);
}
.page-hero--compact { padding-block: clamp(3rem, 7vw, 6rem); }
.page-hero h1 { max-width: 950px; margin: 1rem 0; font-size: clamp(3rem, 6vw, 6rem); }
.page-hero p { max-width: 760px; margin: 0; color: var(--text-muted); font-size: 1.15rem; }
.breadcrumbs { display: flex; gap: .6rem; margin-bottom: 2rem; color: var(--text-muted); font-size: .75rem; }
.breadcrumbs a:hover { color: var(--accent); }

.catalog-section { padding-block: 3rem 7rem; }
.catalog-layout { display: grid; grid-template-columns: 285px minmax(0, 1fr); gap: 3rem; align-items: start; }
.filter-panel {
    position: sticky;
    top: 8rem;
    max-height: calc(100vh - 9rem);
    overflow-y: auto;
    padding-right: .5rem;
    scrollbar-width: thin;
}
.filter-panel__header { display: flex; align-items: start; justify-content: space-between; padding-bottom: 1.3rem; border-bottom: 1px solid var(--line); }
.filter-panel__header h2 { margin: .35rem 0 0; font-size: 2rem; }
.filter-close { display: none; }
.filter-search { display: grid; gap: .45rem; padding-block: 1.25rem; }
.filter-search .search-suggestions {
    top: calc(100% + .35rem);
    width: min(420px, calc(100vw - 3rem));
}
.filter-search label,
.editorial-form label,
.auth-card label { display: grid; gap: .45rem; font-size: .78rem; font-weight: 700; }
input,
select,
textarea {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: .65rem;
    background: var(--bg-elevated);
}
input,
select { min-height: 3rem; padding: .65rem .85rem; }
textarea { padding: .85rem; resize: vertical; }
.filter-group { border-bottom: 1px solid var(--line); }
.filter-group summary,
.data-accordion summary {
    display: flex;
    justify-content: space-between;
    padding: 1rem 0;
    list-style: none;
    cursor: pointer;
    font-size: .82rem;
    font-weight: 700;
}
.filter-group summary::-webkit-details-marker,
.data-accordion summary::-webkit-details-marker { display: none; }
.filter-group[open] summary span,
.data-accordion[open] summary span { transform: rotate(45deg); }
.filter-options {
    display: grid;
    max-height: 270px;
    overflow-y: auto;
    padding-bottom: 1rem;
}
.filter-options label {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: .6rem;
    padding: .42rem 0;
    color: var(--text-muted);
    cursor: pointer;
    font-size: .75rem;
}
.filter-options input { width: 1rem; min-height: auto; accent-color: var(--accent); }
.filter-options small { font-size: .65rem; }
.results-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.5rem;
    color: var(--text-muted);
    font-size: .8rem;
}
.results-toolbar strong { color: var(--text); font-size: 1.1rem; }
.results-toolbar form { display: flex; align-items: center; gap: .7rem; }
.results-toolbar select { width: auto; min-height: 2.55rem; }
.filter-open { display: none; }
.ceramic-grid--catalog { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pagination { display: flex; justify-content: center; align-items: center; gap: .35rem; margin-top: 3rem; }
.pagination a,
.pagination span { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; font-size: .8rem; }
.pagination a:hover,
.pagination a.is-active { background: var(--forest); color: #fff; }
.empty-state {
    display: grid;
    place-items: center;
    min-height: 300px;
    padding: 3rem;
    border: 1px dashed var(--line-strong);
    border-radius: var(--radius);
    text-align: center;
}
.empty-state h2 { margin-bottom: .5rem; }
.empty-state p { color: var(--text-muted); }
.compare-bar {
    position: fixed;
    left: 50%;
    bottom: 1.5rem;
    z-index: 80;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: min(720px, calc(100vw - 2rem));
    padding: .7rem .8rem .7rem 1.1rem;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: var(--surface);
    box-shadow: var(--shadow-lg);
    transform: translateX(-50%);
}
.compare-bar__selection {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .8rem;
}
.compare-bar__summary {
    display: flex;
    flex: 0 0 auto;
    align-items: baseline;
    gap: .35rem;
}
.compare-bar span { color: var(--text-muted); font-size: .76rem; }
.compare-bar__items {
    display: flex;
    min-width: 0;
    gap: .35rem;
}
.compare-bar__item {
    display: inline-flex;
    min-height: 2rem;
    align-items: center;
    gap: .35rem;
    padding: .35rem .55rem;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: var(--bg-soft);
    color: var(--text);
    font-size: .7rem;
    font-weight: 700;
}
.compare-bar__item span {
    color: var(--accent);
    font-size: 1rem;
    line-height: 1;
}
.compare-bar__actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .5rem;
}
.compare-bar__clear {
    padding: .45rem;
    border: 0;
    background: transparent;
    color: var(--text-muted);
    font-size: .7rem;
    text-decoration: underline;
    text-underline-offset: .2em;
}
.compare-bar__clear:hover { color: var(--accent); }

.detail-hero { padding-block: 3.5rem 2.5rem; border-bottom: 1px solid var(--line); }
.detail-heading { display: flex; justify-content: space-between; align-items: end; gap: 3rem; }
.detail-heading h1 { margin: .7rem 0 .5rem; font-size: clamp(2.7rem, 5vw, 5rem); }
.detail-heading p { margin: 0; color: var(--text-muted); }
.detail-actions { display: flex; flex-wrap: wrap; justify-content: end; gap: .6rem; }
.detail-actions .button.is-active {
    border-color: var(--accent);
    background: var(--accent-soft);
    color: var(--accent);
}
.detail-section { padding-block: 3rem 6rem; }
.detail-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(320px, .6fr); gap: 3rem; align-items: start; }
.gallery__stage { position: relative; min-height: 580px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--bg-soft); overflow: hidden; }
.gallery__slide { display: none; width: 100%; height: 100%; min-height: 580px; padding: 2rem; border: 0; background: transparent; }
.gallery__slide.is-active { display: grid; place-items: center; }
.gallery__slide img { width: 100%; height: 100%; max-height: 650px; object-fit: contain; }
.gallery__thumbs { display: flex; gap: .7rem; margin-top: .8rem; overflow-x: auto; }
.gallery__thumbs button { width: 95px; height: 74px; padding: .25rem; border: 1px solid var(--line); border-radius: .6rem; background: var(--surface); }
.gallery__thumbs button.is-active { border-color: var(--accent); }
.gallery__thumbs img { width: 100%; height: 100%; object-fit: contain; }
.drawing-panel { margin-top: 2.5rem; padding: 2rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.drawing-panel h2 { margin: .5rem 0 1.5rem; }
.drawing-panel img { max-height: 650px; margin: auto; object-fit: contain; }
.detail-sidebar { position: sticky; top: 8rem; }
.detail-summary { padding: 1.5rem; border-radius: var(--radius); background: var(--forest); color: #fff; }
.detail-summary .eyebrow { color: #a9b9b2; }
.detail-summary dl { margin: 1rem 0 0; }
.detail-summary dl div { display: grid; grid-template-columns: 1fr 1.4fr; gap: 1rem; padding: .8rem 0; border-top: 1px solid rgb(255 255 255 / .14); }
.detail-summary dt { color: #a9b9b2; font-size: .72rem; }
.detail-summary dd { margin: 0; text-align: right; font-size: .8rem; }
.data-accordion { border-bottom: 1px solid var(--line); }
.data-accordion dl { margin: 0 0 1rem; }
.data-accordion dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .35rem 0; }
.data-accordion dt { color: var(--text-muted); font-size: .72rem; }
.data-accordion dd { margin: 0; font-size: .72rem; text-align: right; }
.content-columns { display: grid; grid-template-columns: .75fr 1.25fr; gap: 6rem; }
.prose { color: var(--text-muted); font-family: var(--font-serif); font-size: 1.1rem; line-height: 1.8; }
.prose h2,
.prose h3 { color: var(--text); margin: 2.2rem 0 .7rem; }
.prose h3 { font-size: 1.5rem; }
.prose--large { font-size: 1.25rem; }
.publication-citation { display: grid; grid-template-columns: auto 1fr; gap: 2rem; max-width: 980px; }
.publication-citation__mark { color: var(--accent); font: 8rem/.7 var(--font-serif); }
.publication-citation h2 { margin: .8rem 0 1rem; font-size: 2.8rem; }

.compare-section { padding-top: clamp(2.5rem, 5vw, 5rem); }
.compare-overview {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    margin-bottom: 2rem;
}
.compare-overview__item {
    display: grid;
    grid-template-columns: minmax(180px, .8fr) minmax(0, 1fr);
    align-items: center;
    gap: 1.5rem;
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--surface);
}
.compare-overview__item > a {
    display: block;
    overflow: hidden;
    border-radius: calc(var(--radius) - .35rem);
    background: var(--bg-soft);
}
.compare-overview__item img {
    width: 100%;
    height: 250px;
    object-fit: contain;
}
.compare-overview__item h2 {
    margin: .65rem 0 1.2rem;
    font-size: clamp(1.5rem, 2.5vw, 2.4rem);
}
.compare-overview__actions {
    display: flex;
    align-items: center;
    gap: 1rem;
}
.compare-remove-button {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .35rem .6rem;
    border: 1px solid color-mix(in srgb, var(--danger) 35%, var(--line));
    border-radius: 999px;
    background: transparent;
    color: var(--danger);
    font-size: .68rem;
    font-weight: 750;
}
.compare-remove-button:hover {
    border-color: var(--danger);
    background: color-mix(in srgb, var(--danger) 10%, transparent);
}
.compare-remove-button > span {
    font-size: 1rem;
    line-height: .7;
}
.compare-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--surface);
}
.compare-table {
    width: 100%;
    min-width: 780px;
    border-collapse: collapse;
    table-layout: fixed;
}
.compare-table th,
.compare-table td {
    padding: 1rem 1.15rem;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    vertical-align: top;
    overflow-wrap: anywhere;
    text-align: left;
}
.compare-table tr > :last-child { border-right: 0; }
.compare-table tbody:last-child tr:last-child > * { border-bottom: 0; }
.compare-table thead th {
    background: var(--forest);
    color: #fff;
    font-family: var(--font-serif);
    font-size: 1.05rem;
    font-weight: 500;
}
.compare-table thead th:first-child {
    width: 190px;
    color: #b8c5bf;
    font-family: var(--font-sans);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.compare-table thead small {
    display: block;
    margin-top: .35rem;
    color: #b8c5bf;
    font-family: var(--font-sans);
    font-size: .62rem;
}
.compare-table__section th {
    padding-block: .7rem;
    background: var(--bg-soft);
    color: var(--accent);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.compare-table tbody th[scope="row"] {
    color: var(--text-muted);
    font-size: .72rem;
    font-weight: 750;
}
.compare-table tbody th[scope="row"] small {
    display: inline-flex;
    margin-top: .45rem;
    padding: .2rem .4rem;
    border-radius: 999px;
    background: var(--accent);
    color: #fff;
    font-size: .52rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.compare-table td {
    color: var(--text);
    font-family: var(--font-serif);
    font-size: .92rem;
    line-height: 1.65;
}
.compare-table tr.is-different > * {
    background: color-mix(in srgb, var(--accent-soft) 42%, var(--surface));
}
.compare-table__prose > :first-child { margin-top: 0; }
.compare-table__prose > :last-child { margin-bottom: 0; }
.compare-table__empty { color: var(--text-muted); opacity: .55; }

.publication-list { display: grid; }
.publication-list article {
    display: grid;
    grid-template-columns: 100px 1fr auto;
    align-items: start;
    gap: 2rem;
    padding: 2rem 0;
    border-bottom: 1px solid var(--line);
}
.publication-list time { color: var(--accent); font: 2rem var(--font-serif); }
.publication-list h2 { margin: .5rem 0; font-size: 1.75rem; }
.publication-list p { margin: 0; color: var(--text-muted); }
.document-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.document-card { display: flex; gap: 1rem; min-width: 0; padding: 1.3rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.document-card.is-unavailable { opacity: .58; }
.document-card__icon { display: grid; place-items: center; flex: 0 0 3rem; width: 3rem; height: 3.5rem; border-radius: .4rem; background: var(--accent-soft); color: var(--accent); font-size: .65rem; font-weight: 800; }
.document-card h2 { margin: .4rem 0; overflow-wrap: anywhere; font: 600 .9rem var(--font-sans); }
.document-card p { margin: 0; color: var(--text-muted); font-size: .72rem; }
.glossary-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 4rem; }
.glossary-list article { display: grid; grid-template-columns: 3rem 1fr; gap: 1.2rem; padding: 2rem 0; border-bottom: 1px solid var(--line); }
.glossary-list article > span { color: var(--accent); font: 2.5rem var(--font-serif); }
.glossary-list h2 { margin-bottom: .5rem; font-size: 1.7rem; }
.glossary-list p { margin: 0; color: var(--text-muted); }

.auth-section { min-height: calc(100svh - 7.5rem); background: var(--forest); color: #f5f0e8; }
.auth-grid { display: grid; grid-template-columns: 1fr 520px; align-items: center; min-height: calc(100svh - 7.5rem); gap: 7rem; padding-block: 5rem; }
.auth-intro h1 { max-width: 720px; margin: 1rem 0; font-size: clamp(3.5rem, 6vw, 6.5rem); }
.auth-intro p { max-width: 560px; color: #b5c1bb; font-size: 1.1rem; }
.auth-card { padding: clamp(2rem, 4vw, 3.5rem); border-radius: var(--radius-lg); background: var(--bg-elevated); color: var(--text); box-shadow: var(--shadow-lg); }
.auth-card h2 { margin: .7rem 0 2rem; font-size: 2.4rem; }
.auth-card form { display: grid; gap: 1rem; }
.auth-card label small { color: var(--text-muted); font-weight: 400; }
.auth-card__foot { margin: 1.5rem 0 0; color: var(--text-muted); text-align: center; font-size: .8rem; }
.auth-card__foot a { color: var(--accent); font-weight: 700; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.profile-hero { padding-block: 4rem; border-bottom: 1px solid var(--line); background: var(--bg-elevated); }
.profile-heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; }
.profile-heading h1 { margin: .7rem 0 .3rem; font-size: 4rem; }
.profile-heading p { margin: 0; color: var(--text-muted); }
.profile-heading > div:last-child { display: flex; gap: .6rem; }
.profile-layout { display: grid; grid-template-columns: 220px 1fr; gap: 4rem; align-items: start; }
.profile-nav { position: sticky; top: 8rem; display: grid; border-top: 1px solid var(--line); }
.profile-nav a { display: flex; justify-content: space-between; padding: 1rem .4rem; border-bottom: 1px solid var(--line); color: var(--text-muted); font-size: .82rem; }
.profile-nav a.is-active { color: var(--accent); font-weight: 700; }
.profile-content { display: grid; gap: 5rem; }
.ceramic-grid--compact { grid-template-columns: repeat(3, 1fr); }
.contribution-list article { padding: 1.2rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.contribution-list h3 { margin: .6rem 0 .3rem; }
.contribution-list p { margin: 0; color: var(--text-muted); font-size: .8rem; }
.status { padding: .25rem .5rem; border-radius: 999px; background: var(--accent-soft); color: var(--accent); font-size: .62rem; font-weight: 800; text-transform: uppercase; }
.form-shell { max-width: 880px; }
.editorial-form { display: grid; gap: 1.3rem; padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); }
.form-actions { display: flex; justify-content: end; gap: .7rem; padding-top: 1rem; }
.error-page { min-height: 70svh; display: grid; place-items: center; text-align: center; }
.error-page span { color: var(--accent); font: 7rem var(--font-serif); }
.error-page h1 { max-width: 750px; margin: 0 auto 1rem; font-size: 3.5rem; }
.error-page p { color: var(--text-muted); }

.site-footer { padding-top: 5rem; border-top: 1px solid var(--line); background: var(--bg-elevated); }
.footer-grid { display: grid; grid-template-columns: 1.8fr 1fr 1fr 1fr; gap: 4rem; padding-bottom: 4rem; }
.brand--footer { margin-bottom: 1.2rem; }
.footer-grid > div:first-child p { max-width: 420px; color: var(--text-muted); }
.footer-grid h2 { margin-bottom: 1rem; font: 700 .72rem var(--font-sans); letter-spacing: .1em; text-transform: uppercase; }
.footer-grid > div:not(:first-child) { display: flex; flex-direction: column; gap: .55rem; }
.footer-grid a { color: var(--text-muted); font-size: .83rem; }
.footer-grid a:hover { color: var(--accent); }
.footer-stat strong { color: var(--accent); font: 3rem var(--font-serif); }
.footer-stat span { color: var(--text-muted); font-size: .75rem; }
.footer-bottom { display: flex; justify-content: space-between; padding-block: 1.2rem; border-top: 1px solid var(--line); color: var(--text-muted); font-size: .7rem; }
.footer-credit a {
    color: var(--text);
    font-weight: 750;
}
.footer-credit a:hover { color: var(--accent); }

@media (max-width: 1180px) {
    .primary-nav { gap: 1rem; }
    .primary-nav a { font-size: .78rem; }
    .hero__grid { grid-template-columns: 1fr .8fr; gap: 2rem; }
    .hero__visual { min-height: 500px; }
    .ceramic-grid { grid-template-columns: repeat(3, 1fr); }
    .catalog-layout { grid-template-columns: 250px 1fr; gap: 2rem; }
    .ceramic-grid--catalog { grid-template-columns: repeat(2, 1fr); }
    .document-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
    :root { --shell: min(100% - 2rem, 760px); }
    .announcement__meta { display: none; }
    .nav-shell { grid-template-columns: 1fr auto auto; gap: .6rem; min-height: 4.6rem; }
    .nav-toggle { display: grid; }
    .primary-nav {
        position: absolute;
        left: 1rem;
        right: 1rem;
        top: calc(100% + .5rem);
        display: none;
        flex-direction: column;
        padding: 1.2rem;
        border: 1px solid var(--line);
        border-radius: var(--radius);
        background: var(--surface);
        box-shadow: var(--shadow-lg);
    }
    .primary-nav.is-open { display: flex; }
    .nav-actions .button { display: none; }
    .hero { min-height: auto; }
    .hero__grid { grid-template-columns: 1fr; min-height: auto; }
    .hero__content { padding-top: 2rem; }
    .hero__visual { min-height: 420px; }
    .hero__visual figure { width: min(75%, 430px); }
    .hero__visual figcaption { right: 0; }
    .artifact-orbit--one { width: 430px; height: 430px; }
    .artifact-orbit--two { width: 330px; height: 330px; }
    .section-heading { align-items: start; flex-direction: column; }
    .ceramic-grid { grid-template-columns: repeat(2, 1fr); }
    .research-callout__grid { grid-template-columns: 1fr; gap: 2rem; }
    .catalog-layout { display: block; }
    .filter-panel {
        position: fixed;
        inset: 0 auto 0 0;
        z-index: 200;
        width: min(390px, 92vw);
        max-height: none;
        padding: 1.5rem;
        background: var(--surface);
        box-shadow: var(--shadow-lg);
        transform: translateX(-105%);
        transition: transform .25s ease;
    }
    .filter-panel.is-open { transform: translateX(0); }
    .filter-close,
    .filter-open { display: inline-flex; }
    .detail-heading { align-items: start; flex-direction: column; }
    .detail-actions { justify-content: start; }
    .detail-grid { grid-template-columns: 1fr; }
    .detail-sidebar { position: static; }
    .content-columns { grid-template-columns: 1fr; gap: 2rem; }
    .compare-overview__item { grid-template-columns: 1fr; }
    .auth-grid { grid-template-columns: 1fr; min-height: auto; gap: 2rem; }
    .auth-intro { padding-top: 2rem; }
    .profile-layout { grid-template-columns: 1fr; gap: 2rem; }
    .profile-nav { position: static; display: flex; }
    .profile-nav a { flex: 1; }
    .footer-grid { grid-template-columns: 2fr 1fr 1fr; }
    .footer-stat { display: none !important; }
}

@media (max-width: 640px) {
    :root { --shell: calc(100% - 1.25rem); }
    h1 { font-size: clamp(2.8rem, 15vw, 4.6rem); }
    .announcement { text-align: center; }
    .announcement__inner { justify-content: center; }
    .brand small { display: none; }
    .brand img { width: 110px; height: auto; }
    .nav-actions { gap: .2rem; }
    .hero__grid { padding-block: 3rem; }
    .hero-search { grid-template-columns: auto 1fr; border-radius: var(--radius); }
    .hero-search .button { grid-column: 1 / -1; width: 100%; }
    .hero__metrics { justify-content: space-between; gap: .6rem; }
    .hero__metrics strong { font-size: 1.5rem; }
    .hero__metrics span { max-width: 90px; font-size: .58rem; }
    .hero__visual { min-height: 340px; }
    .hero__visual figcaption { bottom: .5rem; }
    .artifact-orbit--one { width: 330px; height: 330px; }
    .artifact-orbit--two { width: 260px; height: 260px; }
    .section { padding-block: 4.5rem; }
    .period-rail { grid-auto-columns: 78vw; }
    .ceramic-grid,
    .ceramic-grid--catalog,
    .ceramic-grid--compact { grid-template-columns: 1fr; }
    .results-toolbar { align-items: start; gap: 1rem; }
    .results-toolbar form { display: grid; }
    .gallery__stage,
    .gallery__slide { min-height: 380px; }
    .gallery__slide { padding: .8rem; }
    .detail-actions .button { flex: 1; }
    .compare-overview { gap: .65rem; }
    .compare-overview__item { gap: .8rem; padding: .65rem; }
    .compare-overview__item img { height: 180px; }
    .compare-overview__item h2 { font-size: 1.2rem; }
    .compare-overview__item .text-link { font-size: .68rem; }
    .compare-bar {
        bottom: .65rem;
        align-items: stretch;
        flex-direction: column;
        gap: .65rem;
        padding: .75rem;
        border-radius: 1rem;
    }
    .compare-bar__selection { justify-content: space-between; }
    .compare-bar__actions { justify-content: flex-end; }
    .compare-bar__actions .button { flex: 1; }
    .compare-table-wrap {
        margin-inline: -.625rem;
        border-radius: 0;
    }
    .compare-table { min-width: 700px; }
    .publication-list article { grid-template-columns: 1fr auto; gap: 1rem; }
    .publication-list time { grid-column: 1 / -1; }
    .document-grid,
    .glossary-list { grid-template-columns: 1fr; }
    .auth-card { padding: 1.5rem; }
    .form-row { grid-template-columns: 1fr; }
    .profile-heading { align-items: start; flex-direction: column; }
    .profile-heading h1 { font-size: 3rem; }
    .profile-heading > div:last-child { width: 100%; }
    .profile-heading .button { flex: 1; }
    .profile-nav { overflow-x: auto; }
    .profile-nav a { min-width: 145px; }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
    .footer-grid > div:first-child { grid-column: 1 / -1; }
    .footer-bottom { gap: 1rem; flex-direction: column; }
}

.print-header { display: none; }

@media print {
    @page {
        size: A4 portrait;
        margin: 13mm 14mm 16mm;
        background: #fff;
    }

    :root,
    html,
    html[data-theme],
    body {
        --bg: #fff;
        --bg-elevated: #fff;
        --bg-soft: #fff;
        --surface: #fff;
        --text: #171714;
        --text-muted: #555;
        --line: #bbb;
        color-scheme: light !important;
        background: #fff !important;
        background-color: #fff !important;
    }

    *,
    *::before,
    *::after {
        box-shadow: none !important;
        text-shadow: none !important;
    }

    body,
    main,
    main section,
    .detail-hero,
    .detail-section,
    .section--soft,
    .detail-summary,
    .drawing-panel,
    .gallery__stage,
    .gallery__slide,
    .data-accordion,
    .publication-citation {
        background: #fff !important;
        color: #171714 !important;
    }

    body {
        margin: 0;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 9.5pt;
        line-height: 1.45;
        print-color-adjust: economy;
        -webkit-print-color-adjust: economy;
    }

    body::before { display: none !important; }

    .announcement,
    .skip-link,
    .site-header,
    .site-footer,
    .flash-stack,
    .detail-actions,
    .compare-remove-button,
    .compare-bar,
    .gallery__thumbs,
    .publication-citation__mark { display: none !important; }

    .print-header {
        display: flex;
        align-items: center;
        gap: 4mm;
        margin: 0 0 7mm;
        padding: 0 0 4mm;
        border-bottom: .4mm solid #1f4d3a;
        font-family: Arial, sans-serif;
    }

    .print-header img {
        width: 29mm;
        height: auto;
    }

    .print-header div {
        display: grid;
        gap: .5mm;
    }

    .print-header strong {
        color: #1f4d3a !important;
        font-size: 13pt;
        letter-spacing: .08em;
    }

    .print-header span {
        color: #555 !important;
        font-size: 8pt;
    }

    .shell,
    .narrow {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding-inline: 0 !important;
    }

    a,
    a:visited {
        color: #171714 !important;
        text-decoration: none !important;
    }

    .eyebrow {
        color: #496558 !important;
        font-family: Arial, sans-serif;
        font-size: 7pt;
        letter-spacing: .1em;
    }

    .breadcrumbs {
        margin-bottom: 3mm;
        color: #666 !important;
        font: 7.5pt/1.3 Arial, sans-serif;
    }

    .detail-hero {
        padding: 0 0 5mm;
        border-bottom: .2mm solid #aaa;
    }

    .detail-heading {
        display: block;
    }

    .detail-heading h1 {
        margin: 1.5mm 0 1mm;
        color: #171714 !important;
        font-size: 23pt;
        line-height: 1.1;
    }

    .detail-heading p {
        margin: 0;
        color: #555 !important;
    }

    .detail-section {
        padding: 7mm 0 0;
    }

    .detail-grid {
        display: grid;
        grid-template-columns: minmax(0, 1.45fr) minmax(52mm, .8fr);
        gap: 7mm;
        align-items: start;
    }

    .gallery__stage,
    .gallery__slide {
        min-height: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .gallery__slide:not(.is-active) { display: none !important; }
    .gallery__slide.is-active { display: block !important; }

    .gallery__slide img {
        display: block;
        width: 100%;
        height: 102mm;
        margin: 0 auto;
        object-fit: contain;
        object-position: center top;
    }

    .detail-sidebar { position: static; }

    .detail-summary,
    .data-accordion {
        margin: 0 0 3mm;
        padding: 3.5mm;
        border: .2mm solid #bbb;
        border-radius: 0;
        break-inside: avoid;
    }

    .detail-summary dl { margin-bottom: 0; }
    .detail-summary dl div,
    .data-accordion dl div { border-color: #d5d5d5; }

    .detail-summary dt,
    .detail-summary dd,
    .data-accordion summary,
    .data-accordion dt,
    .data-accordion dd {
        color: #171714 !important;
    }

    .data-accordion summary {
        padding: 0 0 2mm;
        font-family: Arial, sans-serif;
        font-size: 9pt;
        font-weight: 700;
    }

    .data-accordion summary span { display: none; }
    .data-accordion > dl { display: block !important; }

    .drawing-panel {
        margin-top: 6mm;
        padding: 4mm 0 0;
        border: 0;
        border-top: .2mm solid #aaa;
        border-radius: 0;
        break-inside: avoid;
    }

    .drawing-panel img {
        max-height: 90mm;
        object-fit: contain;
    }

    .section {
        padding: 7mm 0 0;
        break-before: auto;
    }

    .content-columns {
        display: block;
    }

    .content-columns > div:first-child {
        margin-bottom: 3mm;
        padding-bottom: 2mm;
        border-bottom: .2mm solid #aaa;
    }

    .content-columns h2 {
        margin: 1mm 0;
        font-size: 16pt;
    }

    .prose h3 {
        margin: 5mm 0 1.5mm;
        font-size: 11pt;
        break-after: avoid;
    }

    .prose p {
        orphans: 3;
        widows: 3;
    }

    .publication-citation {
        display: block;
        padding: 4mm 0 0;
        border: 0;
        border-top: .4mm solid #1f4d3a;
        border-radius: 0;
        break-inside: avoid;
    }

    .publication-citation h2 {
        margin: 1mm 0;
        font-size: 13pt;
    }

    .compare-overview { break-inside: avoid; }
    .compare-overview__item { grid-template-columns: 32mm 1fr; }
    .compare-overview__item img { height: 28mm; }
    .compare-table-wrap { overflow: visible; }
    .compare-table {
        min-width: 0;
        font-family: Arial, sans-serif;
        font-size: 7.5pt;
    }
    .compare-table th,
    .compare-table td { padding: 2.2mm; }
    .compare-table thead th:first-child { width: 31mm; }
    .compare-table tr { break-inside: avoid; }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
