.depth-frame {

    position:relative;
    overflow:hidden;
    background:var(--sheet);
    isolation:isolate;
}
.depth-layer {
    position:absolute;
    inset:-8% 0;
    z-index:0;
}
.depth-layer img {
    width:100%;
    height:100%;
    object-fit:cover;
}
.depth-frame::after {
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:var(--vignette);
    pointer-events:none;
}

.page-section { padding-block: var(--section); }
.page-section--tight { padding-block: var(--section-tight); }
.page-section + .page-section { border-top: var(--hair); }
.ticker + .page-section,
.page-section + .ticker { border-top: 0; }

.front { padding-block: var(--s-3) var(--section-tight); }
.front__grid {
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    border-top:1px solid var(--brass);
}
.front__grid > * { min-width: 0; }
.front__lead { padding-block: var(--s-3) var(--s-4); }
.front__rail { padding-block: var(--s-3); border-top: var(--hair); }
.front__sub { padding-block: var(--s-3); border-top: var(--hair); }
.front__rail-head {
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    justify-content:space-between;
    gap:4px 12px;
    margin-bottom:var(--s-2);
}
.front__rail-title {
    font-family:var(--kova-542);
    font-style:italic;
    font-weight:400;
    font-size:var(--kova-9ed);
    line-height:1.1;
}
.front__rail-foot { margin-top: var(--s-2); }

@media (min-width: 768px) {
    .front__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .front__lead,
    .front__rail { grid-column: 1 / -1; }
    .front__sub--a { padding-right: var(--col-gap); }
    .front__sub--b { padding-left: var(--col-gap); border-left: var(--hair); }
}
@media (min-width: 1024px) {
    .front__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
    .front__lead { grid-column: 1 / 9; grid-row: 1; padding-right: var(--col-gap); }
    .front__rail {
        grid-column:9 / 13;
        grid-row:1 / 3;
        border-top:0;
        border-left:var(--hair);
        padding-left:var(--col-gap);
    }
    .front__sub--a { grid-column: 1 / 6; grid-row: 2; }
    .front__sub--b { grid-column: 6 / 9; grid-row: 2; padding-right: var(--col-gap); }
}

.lead__media {
    aspect-ratio:16 / 10;
    box-shadow:var(--shadow-deep);
}
.lead__plate {
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:auto minmax(0, 1fr);
    gap:4px 14px;
    padding:14px 16px;
    background:var(--sheet);
    border-top:1px solid var(--brass);
    font-size:var(--step--1);
    line-height:1.45;
    color:var(--muted);
}
.lead__plate-no {
    font-family:var(--kova-751);
    font-size:0.75rem;
    letter-spacing:var(--track-mono);
    text-transform:uppercase;
    color:var(--brass);
    padding-top:0.15em;
}
@media (min-width: 900px) {
    .lead__plate {
        width:min(420px, 62%);
        margin:-56px 0 0 auto;
        box-shadow:var(--shadow-plate);
    }
}
.lead__copy {
    display:grid;
    gap:var(--s-2);
    padding-top:var(--s-3);
}
.lead__kicker { display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: center; }
.lead__title { max-width: 15ch; }
.lead__title em { font-weight: 400; color: var(--paper-dim); }
.lead__dek { max-width: 46ch; font-size: var(--kova-e6e); }
.lead__actions { display: flex; flex-wrap: wrap; gap: 12px; padding-top: var(--s-1); }
.lead__actions .btn { flex: 0 1 auto; }
@media (max-width: 419px) {
    .lead__actions .btn { flex: 1 1 100%; }
}

.front__sub .tile__media { aspect-ratio: 4 / 3; }
.front__sub--a .tile__media { aspect-ratio: 3 / 2; }

.lineup {
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:1px;
    background:var(--rule);
    border-top:1px solid var(--brass);
    border-bottom:var(--hair);
}
.lineup__tile {
    position:relative;
    display:flex;
    flex-direction:column;
    min-width:0;
    background:var(--ink);
    transition:background-color var(--dur) var(--ease-std);
}
.lineup__tile:hover { background: var(--sheet); }
.lineup__tile:focus-within { background: var(--sheet); box-shadow: inset 0 2px 0 var(--emerald-hi); }
.lineup__media {
    position:relative;
    aspect-ratio:4 / 3;
    overflow:hidden;
    background:var(--sheet);
}
.lineup__media img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform var(--dur-slower) var(--ease-editorial);
}
.lineup__tile:hover .lineup__media img { transform: scale(1.03); }
.lineup__body {
    display:flex;
    flex-direction:column;
    gap:10px;
    flex:1 1 auto;
    padding:var(--s-3) clamp(16px, 1.8vw, 24px);
    min-width:0;
}
.lineup__no {
    font-family:var(--kova-751);
    font-size:0.6875rem;
    letter-spacing:var(--track-mono);
    text-transform:uppercase;
    color:var(--muted-2);
}
.lineup__title { font-size: var(--kova-9ed); line-height: 1.1; }
.lineup__body > *:not(.lineup__title) { position: relative; z-index: 2; }
.lineup__title a {
    color:inherit;
    text-decoration:none;
    background-image:linear-gradient(var(--brass), var(--brass));
    background-size:0 1px;
    background-position:0 100%;
    background-repeat:no-repeat;
    transition:background-size var(--dur-slow) var(--ease-out), color var(--dur-fast) var(--ease-std);

}
.lineup__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.lineup__title a:hover { background-size: 100% 1px; color: var(--paper); }
.lineup__title a:active { color: var(--paper-dim); }
.lineup__title a:focus-visible { outline: none; background-size: 100% 1px; }
.lineup__specs {
    list-style:none;
    margin:0;
    padding:0;
    font-family:var(--kova-751);
    font-size:0.75rem;
    letter-spacing:0.04em;
    color:var(--paper-dim);
}
.lineup__specs li { padding: 6px 0; border-top: var(--hair); }
.lineup__foot {
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    justify-content:space-between;
    gap:6px 12px;
    margin-top:auto;
    padding-top:12px;
    border-top:1px solid var(--brass-dim);
}
.lineup__go {
    position:relative;
    z-index:2;
    display:inline-flex;
    align-items:center;
    gap:0.4em;
    min-height:44px;
    font-family:var(--kova-751);
    font-size:0.75rem;
    letter-spacing:var(--track-mono);
    text-transform:uppercase;
    color:var(--emerald-hi);
    text-decoration:none;
    transition:color var(--dur-fast) var(--ease-std), transform var(--dur-fast) var(--ease-std);
}
.lineup__go:hover { color: var(--paper); transform: translateX(2px); }
.lineup__go:active { color: var(--muted); transform: none; }
.lineup__go:focus-visible { outline: 2px solid var(--emerald-hi); outline-offset: 2px; }
.lineup__tile--feature .lineup__title { font-size: var(--kova-8f0); }
.lineup__tile--feature .lineup__media { aspect-ratio: 3 / 2; }

@media (min-width: 640px) {
    .lineup { grid-template-columns: repeat(6, minmax(0, 1fr)); }
    .lineup__tile { grid-column: span 3; }
    .lineup__tile--feature { grid-column: 1 / -1; }
}
@media (min-width: 1024px) {
    .lineup { grid-template-columns: repeat(12, minmax(0, 1fr)); }
    .lineup__tile { grid-column: span 3; }
    .lineup__tile--feature { grid-column: span 6; grid-row: span 2; }
    .lineup__tile--feature .lineup__media { flex: 1 1 auto; aspect-ratio: auto; min-height: 340px; }
    .lineup__tile--third { grid-column: span 4; }
    .lineup__tile--third .lineup__media { aspect-ratio: 16 / 9; }
}

.field-notes {
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:var(--s-4) var(--col-gap);
}
.field-notes > * { min-width: 0; }
.field-notes__media { aspect-ratio: 4 / 3; }
.field-notes__caption { margin-top: 0; }
.field-notes__body { display: grid; gap: var(--s-3); align-content: start; }
.field-notes__title { font-size: var(--kova-b2f); max-width: 18ch; }
.field-notes__body .prose { font-size: var(--kova-1ff); }
.field-notes__figures {

    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    border-top:1px solid var(--brass);
}
.field-notes__figures > div { padding: 14px 12px 14px 0; border-bottom: var(--hair); min-width: 0; }
.field-notes__figures > div:nth-child(2n) { padding-left: 12px; border-left: var(--hair); }
.field-notes__figures dt {
    font-family:var(--kova-751);
    font-size:0.6875rem;
    letter-spacing:var(--track-mono);
    text-transform:uppercase;
    color:var(--muted);
}
.field-notes__figures dd {
    margin:4px 0 0;
    font-family:var(--kova-542);
    font-size:var(--kova-8f0);
    line-height:1;
    color:var(--paper);
}
@media (min-width: 1024px) {
    .field-notes { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); }
    .field-notes__aside { position: sticky; top: calc(var(--header-h) + 24px); align-self: start; }
    .field-notes__media { aspect-ratio: 4 / 5; }
    .field-notes__body { padding-left: var(--col-gap); border-left: var(--hair); }
}

.estimator {
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:var(--s-4) var(--col-gap);
    border-top:1px solid var(--brass);
    padding-top:var(--s-3);
}
.estimator > * { min-width: 0; }
.est-form { display: grid; gap: var(--s-3); }
.est-group {
    display:grid;
    gap:10px;
    margin:0;
    padding:0 0 var(--s-3);
    border:0;
    border-bottom:var(--hair);
    min-width:0;
}
.est-group legend,
.est-group__label {
    padding:0;
    margin-bottom:4px;
    font-family:var(--kova-751);
    font-size:0.75rem;
    font-weight:500;
    letter-spacing:var(--track-mono);
    text-transform:uppercase;
    color:var(--paper-dim);
}
.est-group__row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.est-group__row .range { flex: 1 1 200px; }
.est-num {
    flex:0 0 auto;
    width:96px;
    min-height:48px;
    padding:10px 12px;
    border:1px solid var(--rule-strong);
    border-radius:var(--radius-input);
    background:var(--ink);
    color:var(--paper);
    font-family:var(--kova-751);
    font-variant-numeric:tabular-nums;
    text-align:right;
    transition:border-color var(--dur-fast) var(--ease-std), box-shadow var(--dur-fast) var(--ease-std), background-color var(--dur-fast) var(--ease-std);
}
.est-num:hover { border-color: var(--muted-2); background: var(--sheet); }
.est-num:active { border-color: var(--brass); }
.est-num:focus-visible { outline: none; border-color: var(--emerald-hi); box-shadow: 0 0 0 3px rgba(18, 122, 88, 0.45); }
.est-group .seg { width: 100%; }
.est-group .seg__opt { flex: 1 1 120px; }
.est-group__hint { font-size: var(--step--1); color: var(--muted); }

.est-out {
    position:relative;
    display:grid;
    gap:var(--s-2);
    align-content:start;
    padding:var(--s-3);
    background:var(--sheet);
    border-top:2px solid var(--emerald);
    box-shadow:var(--shadow-plate);
}
.est-out__label {
    font-family:var(--kova-751);
    font-size:0.6875rem;
    letter-spacing:var(--track-mono);
    text-transform:uppercase;
    color:var(--muted);
}
.est-out__band {
    font-family:var(--kova-751);
    font-weight:500;
    font-size:clamp(1.45rem, 1.1rem + 1.6vw, 2.4rem);
    line-height:1.12;
    letter-spacing:-0.02em;
    font-variant-numeric:tabular-nums;
    color:var(--paper);
    overflow-wrap:anywhere;
}
.est-out__band--total { font-size: clamp(1.2rem, 1rem + 1vw, 1.7rem); color: var(--paper-dim); }
.est-out__sep { color: var(--brass); padding: 0 0.2em; }
.est-out__lines { margin: 0; border-top: var(--hair); }
.est-out__lines > div {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:2px 12px;
    padding:8px 0;
    border-bottom:var(--hair);
    font-size:var(--step--1);
}
.est-out__lines dt { color: var(--muted); min-width: 0; }
.est-out__lines dd { margin: 0; font-family: var(--kova-751); font-variant-numeric: tabular-nums; color: var(--paper); }
.est-out__discount { color: var(--emerald-hi); }
.est-out__note {
    padding:12px 14px;
    border-left:1px solid var(--brass);
    background:var(--ink);
    font-size:var(--step--1);
    line-height:1.5;
    color:var(--paper-dim);
}
.est-out__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.est-out__actions .btn { flex: 1 1 200px; }
.est-out [aria-live] { min-height: 1.2em; }
@media (min-width: 1024px) {
    .estimator { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
    .est-out { position: sticky; top: calc(var(--header-h) + 24px); }
}

.est-teaser {
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:var(--s-3) var(--col-gap);
    padding:var(--s-4) 0;
    border-top:1px solid var(--brass);
    border-bottom:var(--hair);
}
.est-teaser > * { min-width: 0; }
.est-teaser__intro { display: grid; gap: var(--s-2); align-content: start; }
.est-teaser .est-form { gap: var(--s-2); }
.est-teaser .est-group { padding-bottom: var(--s-2); }
.est-teaser .est-out { box-shadow: none; }
@media (min-width: 1024px) {
    .est-teaser { grid-template-columns: minmax(0, 3fr) minmax(0, 5fr) minmax(0, 4fr); }
    .est-teaser .est-out { position: static; }
}

.desks {
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:var(--s-4) var(--col-gap);
    align-items:start;
}
.desks > * { min-width: 0; }
.desks__media { aspect-ratio: 3 / 2; }
.desks__body { display: grid; gap: var(--s-3); }
.advice {
    list-style:none;
    margin:0;
    padding:0;
    counter-reset:advice;
    border-top:1px solid var(--brass);
}
.advice li {
    counter-increment:advice;
    display:grid;
    grid-template-columns:3ch minmax(0, 1fr);
    gap:4px 12px;
    padding:14px 0;
    border-bottom:var(--hair);
}
.advice li::before {
    content:counter(advice, decimal-leading-zero);
    font-family:var(--kova-751);
    font-size:0.75rem;
    color:var(--brass);
    padding-top:0.3em;
}
.advice strong { display: block; font-family: var(--kova-542); font-weight: 500; font-size: var(--kova-e6e); line-height: 1.2; margin-bottom: 4px; }
@media (min-width: 1024px) {
    .desks { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
    .desks__body { padding-left: var(--col-gap); border-left: var(--hair); }
}

.qa-cols {
    border-top:1px solid var(--brass);
    padding-top:var(--s-3);
}
@media (min-width: 900px) {
    .qa-cols { column-count: 2; column-gap: calc(var(--col-gap) * 2); column-rule: 1px solid var(--rule); }
}
.qa {
    break-inside:avoid;
    padding:0 0 var(--s-3);
    margin-bottom:var(--s-3);
    border-bottom:var(--hair);
}
.qa__q {
    font-family:var(--kova-542);
    font-weight:500;
    font-size:var(--kova-e6e);
    line-height:1.22;
    margin-bottom:8px;
}
.qa__q::before {
    content:'Q.';
    margin-right:0.4em;
    font-family:var(--kova-751);
    font-size:0.7em;
    color:var(--brass);
    letter-spacing:0.04em;
}
.qa__a { color: var(--paper-dim); max-width: 60ch; }

.faq { border-top: 1px solid var(--brass); }
.faq__item { border-bottom: var(--hair); }
.faq__q {
    display:grid;
    grid-template-columns:minmax(0, 1fr) 44px;
    align-items:center;
    gap:12px;
    min-height:60px;
    padding:12px 0;
    list-style:none;
    cursor:pointer;
    font-family:var(--kova-542);
    font-weight:500;
    font-size:var(--kova-e6e);
    line-height:1.25;
    color:var(--paper);
    transition:color var(--dur-fast) var(--ease-std), background-color var(--dur-fast) var(--ease-std), padding-left var(--dur) var(--ease-std);
}
.faq__q::-webkit-details-marker { display: none; }
.faq__q::marker { content: ""; }
.faq__q::after {
    content:'+';
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border:var(--hair-strong);
    font-family:var(--kova-751);
    font-size:1.1rem;
    color:var(--brass);
    transition:transform var(--dur) var(--ease-out), border-color var(--dur-fast) var(--ease-std), background-color var(--dur-fast) var(--ease-std);
}
.faq__item[open] > .faq__q::after { content: "\2212"; border-color: var(--emerald); color: var(--emerald-hi); }
.faq__q:hover { background: var(--sheet); padding-left: 10px; }
.faq__q:hover::after { border-color: var(--brass); }
.faq__q:active { background: var(--sheet-2); }
.faq__q:focus-visible { outline: 2px solid var(--emerald-hi); outline-offset: 2px; }
.faq__a { padding: 0 0 var(--s-3); max-width: var(--measure); color: var(--paper-dim); }
.faq__a > * + * { margin-top: 0.8em; }

.inquiry {
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:var(--s-4) var(--col-gap);
    border-top:1px solid var(--brass);
    padding-top:var(--s-3);
}
.inquiry > * { min-width: 0; }
.inquiry__head { display: grid; gap: var(--s-2); margin-bottom: var(--s-3); }
.inquiry__aside { display: grid; gap: var(--s-4); align-content: start; }
.inquiry__media { aspect-ratio: 3 / 2; }
@media (min-width: 1024px) {
    .inquiry { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
    .inquiry__aside { padding-left: var(--col-gap); border-left: var(--hair); }
}
.hours { margin: 0; border-top: var(--hair); }
.hours > div {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:2px 16px;
    padding:10px 0;
    border-bottom:var(--hair);
}
.hours dt { font-family: var(--kova-751); font-size: 0.75rem; letter-spacing: var(--track-mono); text-transform: uppercase; color: var(--muted); }
.hours dd { margin: 0; font-family: var(--kova-751); font-size: var(--step--1); color: var(--paper); }

.page-head {
    padding-block:var(--s-4) var(--section-tight);
    border-bottom:var(--hair);
}
.page-head__grid {
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:var(--s-2) var(--col-gap);
}
.page-head__grid > * { min-width: 0; }
.page-head__title { max-width: 20ch; }
.page-head__dek { max-width: 44ch; }
.page-head__meta {
    display:flex;
    flex-wrap:wrap;
    gap:8px 24px;
    margin-top:var(--s-3);
    padding-top:12px;
    border-top:1px solid var(--brass-dim);
    font-family:var(--kova-751);
    font-size:0.75rem;
    letter-spacing:var(--track-mono);
    text-transform:uppercase;
    color:var(--muted);
}
.page-head__meta strong { color: var(--paper); font-weight: 500; }
@media (min-width: 1024px) {
    .page-head__grid { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); align-items: end; }
    .page-head__grid .crumbs,
    .page-head__grid .kicker { grid-column: 1 / -1; }
    .page-head__aside { padding-left: var(--col-gap); border-left: var(--hair); }
}

.product-hero {
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:0 var(--col-gap);
    padding-block:var(--s-3) var(--section-tight);
}
.product-hero > * { min-width: 0; }
.product-hero__media { aspect-ratio: 3 / 2; box-shadow: var(--shadow-deep); }
.product-hero__copy { display: grid; gap: var(--s-2); padding-top: var(--s-3); align-content: start; }
.product-hero__plate {
    position:relative;
    z-index:2;
    display:grid;
    gap:10px;
    padding:var(--s-3);
    background:var(--sheet);
    border-top:1px solid var(--brass);
    box-shadow:var(--shadow-plate);
}
@media (min-width: 1024px) {
    .product-hero { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: end; }
    .product-hero__copy { padding-top: 0; padding-bottom: var(--s-3); }
    .product-hero__plate { margin-left: -64px; margin-top: var(--s-3); }
}

.product {
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:var(--s-3) var(--col-gap);
    padding-block:var(--section-tight);
    border-top:1px solid var(--brass);
}
.product > * { min-width: 0; }
.product__media { aspect-ratio: 3 / 2; }
.product__head { display: grid; gap: 10px; }
.product__head .model-code { justify-self: start; }
.product__body { display: grid; gap: var(--s-3); align-content: start; }
.product__price {
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    justify-content:space-between;
    gap:8px 16px;
    padding:14px 16px;
    background:var(--sheet);
    border-left:2px solid var(--emerald);
}
.product__price .price-band { font-size: var(--kova-e6e); }
.product__actions { display: flex; flex-wrap: wrap; gap: 12px; }
@media (min-width: 1024px) {
    .product { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); }
    .product--flip .product__figure { order: 2; }
    .product__body { padding-left: var(--col-gap); border-left: var(--hair); }
    .product--flip .product__body { padding-left: 0; border-left: 0; padding-right: var(--col-gap); border-right: var(--hair); }
}

.catalogue-bar {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:var(--s-2);
    padding:var(--s-2) 0;
    border-top:1px solid var(--brass);
    border-bottom:var(--hair);
    margin-bottom:var(--s-3);
}
.catalogue-bar__label {
    font-family:var(--kova-751);
    font-size:0.75rem;
    letter-spacing:var(--track-mono);
    text-transform:uppercase;
    color:var(--muted);
}
.catalogue-bar__count { font-family: var(--kova-751); font-size: var(--step--1); color: var(--paper-dim); }
.catalogue-grid {
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:1px;
    background:var(--rule);
    border-bottom:var(--hair);
}
@media (min-width: 640px) { .catalogue-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .catalogue-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1440px) { .catalogue-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.catalogue-grid .lineup__tile { grid-column: auto; grid-row: auto; }
.catalogue-grid .lineup__media { aspect-ratio: 3 / 2; }
.catalogue-empty {
    padding:var(--s-4) 0;
    font-family:var(--kova-542);
    font-style:italic;
    font-size:var(--kova-e6e);
    color:var(--muted);
}
.cat-meta { margin: 0; display: grid; gap: 0; font-size: var(--step--1); }
.cat-meta > div { display: grid; grid-template-columns: minmax(0, 9ch) minmax(0, 1fr); gap: 10px; padding: 6px 0; border-top: var(--hair); }
.cat-meta dt { font-family: var(--kova-751); font-size: 0.6875rem; letter-spacing: var(--track-mono); text-transform: uppercase; color: var(--muted); padding-top: 0.15em; }
.cat-meta dd { margin: 0; color: var(--paper-dim); }

.diagram {
    margin:0;
    padding:var(--s-3);
    background:var(--sheet);
    border:var(--hair);
    border-top:1px solid var(--brass);
}
.diagram svg { width: 100%; height: auto; overflow: visible; }
.diagram__caption { margin-top: var(--s-2); font-size: var(--step--1); color: var(--muted); }
.diagrams { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--col-gap); }
@media (min-width: 768px) { .diagrams { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.dg-axis { stroke: var(--rule-strong); stroke-width: 1; fill: none; }
.dg-wall { stroke: var(--muted-2); stroke-width: 2; fill: none; }
.dg-cone { fill: rgba(18, 122, 88, 0.22); stroke: var(--emerald-hi); stroke-width: 1.5; }
.dg-cone--alt { fill: rgba(180, 145, 90, 0.16); stroke: var(--brass); }
.dg-dot { fill: var(--paper); }
.dg-label { fill: var(--paper-dim); font-family: var(--kova-751); font-size: 13px; letter-spacing: 0.06em; }
.dg-label--accent { fill: var(--emerald-hi); }
.dg-note { fill: var(--muted); font-family: var(--kova-751); font-size: 11px; }

.callout {
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:var(--s-2);
    padding:var(--s-3);
    border-top:1px solid var(--brass);
    border-bottom:var(--hair);
}
.callout__figure {
    font-family:var(--kova-542);
    font-size:clamp(2.4rem, 1.6rem + 3.6vw, 4.8rem);
    line-height:0.95;
    letter-spacing:var(--track-hero);
    color:var(--paper);
}
.callout__figure small { font-family: var(--kova-751); font-size: 0.8125rem; letter-spacing: var(--track-mono); color: var(--brass); text-transform: uppercase; display: block; margin-top: 10px; }
@media (min-width: 768px) {
    .callout { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: center; }
    .callout__text { padding-left: var(--col-gap); border-left: var(--hair); }
}

.steps { list-style: none; margin: 0; padding: 0; counter-reset: step; border-top: 1px solid var(--brass); }
.step {
    counter-increment:step;
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:var(--s-2) var(--col-gap);
    padding-block:var(--s-4);
    border-bottom:var(--hair);
}
.step > * { min-width: 0; }
.step__no::before {
    content:counter(step, decimal-leading-zero);
    display:block;
    font-family:var(--kova-542);
    font-size:clamp(2.6rem, 2rem + 2.6vw, 4.4rem);
    line-height:0.9;
    color:var(--brass);
}
.step__no span { display: block; margin-top: 8px; font-family: var(--kova-751); font-size: 0.75rem; letter-spacing: var(--track-mono); text-transform: uppercase; color: var(--muted); }
.step__body { display: grid; gap: var(--s-2); }
.step__media { aspect-ratio: 3 / 2; }
@media (min-width: 1024px) {
    .step { grid-template-columns: minmax(0, 2fr) minmax(0, 6fr) minmax(0, 4fr); }
    .step__body { padding-left: var(--col-gap); border-left: var(--hair); }
    .step:not(:has(.step__media)) .step__body { grid-column: 2 / -1; }
}

.refuse { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); border-top: 1px solid var(--brass); }
.refuse li { display: grid; gap: 6px; padding: var(--s-3) 0; border-bottom: var(--hair); min-width: 0; }
.refuse__what {
    font-family:var(--kova-542);
    font-size:var(--kova-9ed);
    line-height:1.12;
    text-decoration:line-through;
    text-decoration-color:var(--emerald-hi);
    text-decoration-thickness:2px;
}
.refuse__why { color: var(--paper-dim); max-width: 56ch; }
@media (min-width: 900px) {
    .refuse { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .refuse li:nth-child(2n) { padding-left: var(--col-gap); border-left: var(--hair); }
    .refuse li:nth-child(2n + 1) { padding-right: var(--col-gap); }
}

.legal-figure { aspect-ratio: 21 / 9; margin-top: var(--s-3); }
@media (max-width: 767px) { .legal-figure { aspect-ratio: 3 / 2; } }
.legal-layout { padding-block: var(--section-tight) var(--section); }
.legal-intro { max-width: var(--measure); margin-bottom: var(--s-4); color: var(--paper-dim); }
.legal-intro > * + * { margin-top: 0.9em; }

.disclosures { border-top: 1px solid var(--brass); }
.disclosures__bar {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:10px var(--s-3);
    padding:12px 0;
    border-bottom:var(--hair);
}
.disclosures__count { font-family: var(--kova-751); font-size: 0.75rem; letter-spacing: var(--track-mono); text-transform: uppercase; color: var(--muted); }
.disclosures__ctl { display: flex; flex-wrap: wrap; gap: 8px; }
html:not(.js) .disclosures__ctl { display: none; }
.disclosure { border-bottom: var(--hair); }
.disclosure__summary {
    display:grid;
    grid-template-columns:3.2ch minmax(0, 1fr) 44px;
    align-items:start;
    gap:4px clamp(10px, 2vw, 24px);
    min-height:64px;
    padding:18px 0;
    list-style:none;
    cursor:pointer;
    transition:background-color var(--dur-fast) var(--ease-std), box-shadow var(--dur-fast) var(--ease-std);
}
.disclosure__summary::-webkit-details-marker { display: none; }
.disclosure__summary::marker { content: ""; }
.disclosure__no {
    font-family:var(--kova-751);
    font-size:0.75rem;
    letter-spacing:var(--track-mono);
    color:var(--brass);
    padding-top:0.45em;
}
.disclosure__title {
    font-family:var(--kova-542);
    font-weight:500;
    font-size:var(--kova-e6e);
    line-height:1.25;
    color:var(--paper);
    text-wrap:pretty;
}
.disclosure__title small {
    display:block;
    margin-top:4px;
    font-family:var(--kova-751);
    font-size:0.6875rem;
    letter-spacing:var(--track-mono);
    text-transform:uppercase;
    color:var(--muted);
}
.disclosure__sign {
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border:var(--hair-strong);
    color:var(--brass);
    transition:transform var(--dur) var(--ease-out), border-color var(--dur-fast) var(--ease-std), color var(--dur-fast) var(--ease-std);
}
.disclosure__sign .icon { width: 1.1rem; height: 1.1rem; }
.disclosure[open] > .disclosure__summary .disclosure__sign { transform: rotate(45deg); border-color: var(--emerald); color: var(--emerald-hi); }
.disclosure[open] > .disclosure__summary { box-shadow: inset 0 -1px 0 var(--rule); }
.disclosure__summary:hover { background: var(--sheet); }
.disclosure__summary:hover .disclosure__sign { border-color: var(--brass); }
.disclosure__summary:active { background: var(--sheet-2); }
.disclosure__summary:focus-visible { outline: 2px solid var(--emerald-hi); outline-offset: -2px; }
.disclosure:target > .disclosure__summary { box-shadow: inset 3px 0 0 var(--emerald-hi); background: var(--sheet); }
.disclosure__body {
    padding:var(--s-3) 0 var(--s-4) calc(3.2ch + clamp(10px, 2vw, 24px));
    max-width:calc(var(--measure) + 6ch);
}
.disclosure__body .spec-table-wrap { margin-top: var(--s-2); }
@media (max-width: 479px) {
    .disclosure__summary { grid-template-columns: minmax(0, 1fr) 44px; }
    .disclosure__no { grid-column: 1 / -1; padding-top: 0; }
    .disclosure__body { padding-left: 0; }
}

.clause-ledger { width: 100%; border-top: 1px solid var(--brass); font-size: var(--step--1); }
.clause-ledger caption {
    caption-side:top;
    text-align:left;
    padding:0 0 12px;
    font-family:var(--kova-751);
    font-size:0.75rem;
    letter-spacing:var(--track-mono);
    text-transform:uppercase;
    color:var(--brass);
}
.clause-ledger thead th {
    padding:12px 16px 12px 0;
    font-family:var(--kova-751);
    font-weight:500;
    font-size:0.6875rem;
    letter-spacing:var(--track-mono);
    text-transform:uppercase;
    color:var(--muted);
    text-align:left;
    border-bottom:var(--hair-strong);
}
.clause-ledger tbody th,
.clause-ledger td {
    padding:16px 16px 16px 0;
    text-align:left;
    vertical-align:top;
    border-bottom:var(--hair);
    line-height:1.55;
}
.clause-ledger tbody th {
    font-family:var(--kova-542);
    font-weight:500;
    font-size:var(--kova-e6e);
    line-height:1.2;
    color:var(--paper);
    width:24%;
}
.clause-ledger__id {
    display:block;
    margin-bottom:6px;
    font-family:var(--kova-751);
    font-size:0.6875rem;
    letter-spacing:var(--track-mono);
    color:var(--brass);
}
.clause-ledger td { color: var(--paper-dim); }
.clause-ledger td:last-child { color: var(--muted); }
.clause-ledger code {
    font-family:var(--kova-751);
    font-size:0.86em;
    padding:1px 5px;
    border:var(--hair);
    background:var(--sheet-2);
    color:var(--paper);
    overflow-wrap:anywhere;
}
.clause-ledger tbody tr { transition: background-color var(--dur-fast) var(--ease-std); }
.clause-ledger tbody tr:hover { background: var(--sheet); }
.clause-ledger tbody tr:target { background: var(--sheet); box-shadow: inset 3px 0 0 var(--emerald-hi); }
.clause-ledger a { color: var(--paper); text-decoration-color: var(--emerald-hi); }
.clause-ledger__section th {
    padding-top:var(--s-4);
    font-family:var(--kova-751);
    font-size:0.75rem;
    letter-spacing:var(--track-mono);
    text-transform:uppercase;
    color:var(--brass);
    border-bottom:1px solid var(--brass-dim);
}
.ledger-prose { max-width: var(--measure); margin-top: var(--s-4); }
.ledger-prose > * + * { margin-top: 1em; }
@media (max-width: 767px) {
    .clause-ledger thead {
        display:none !important;
        position:absolute;
        width:1px;
        height:1px;
        overflow:hidden;
        clip:rect(0 0 0 0);
        clip-path:inset(50%);
        white-space:nowrap;
    }
    .clause-ledger,
    .clause-ledger tbody,
    .clause-ledger tr,
    .clause-ledger tbody th,
    .clause-ledger td { display: block !important; width: auto !important; min-width: 0 !important; }
    .rumi4ab { overflow: visible; }
    .clause-ledger tbody tr { padding: var(--s-3) 0; border-bottom: var(--hair); }
    .clause-ledger tbody th,
    .clause-ledger td { padding: 0; border-bottom: 0; }
    .clause-ledger tbody th { margin-bottom: 12px; }
    .clause-ledger td + td { margin-top: 12px; }
    .clause-ledger td[data-label]::before {
        content:attr(data-label);
        display:block;
        margin-bottom:4px;
        font-family:var(--kova-751);
        font-size:0.6875rem;
        letter-spacing:var(--track-mono);
        text-transform:uppercase;
        color:var(--brass);
    }
    .clause-ledger__section th { padding-top: var(--s-3); padding-bottom: 8px; border-bottom: 1px solid var(--brass-dim); }
    .clause-ledger tr.clause-ledger__section { padding: 0; border-bottom: 0; }
}

.parts { border-top: 1px solid var(--brass); }
.parts__tablist {
    display:none;
    flex-wrap:wrap;
    border-bottom:var(--hair);
}
.parts__tab {
    position:relative;
    flex:1 1 0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:4px;
    min-width:0;
    min-height:64px;
    padding:12px 16px;
    border-right:var(--hair);
    background:var(--ink);
    color:var(--paper-dim);
    font-family:var(--kova-542);
    font-size:1.0625rem;
    font-weight:500;
    line-height:1.2;
    text-align:left;
    white-space:normal;
    overflow-wrap:anywhere;
    transition:background-color var(--dur-fast) var(--ease-std), color var(--dur-fast) var(--ease-std), box-shadow var(--dur-fast) var(--ease-std);
}
.parts__tab:last-child { border-right: 0; }
.parts__tab-no {
    font-family:var(--kova-751);
    font-size:0.6875rem;
    letter-spacing:var(--track-mono);
    text-transform:uppercase;
    color:var(--brass);
}
.parts__tab:hover { background: var(--sheet); color: var(--paper); box-shadow: inset 0 -2px 0 var(--brass); }
.parts__tab:active { background: var(--sheet-2); }
.parts__tab:focus-visible { outline: 2px solid var(--emerald-hi); outline-offset: -2px; }
.parts__tab[aria-selected='true'] { background: var(--sheet); color: var(--paper); box-shadow: inset 0 2px 0 var(--emerald-hi); }
.parts__tab[aria-selected='true'] .parts__tab-no { color: var(--emerald-hi); }
.parts__panel { border-bottom: var(--hair); }
.parts__panel:focus-visible { outline: 2px solid var(--emerald-hi); outline-offset: 4px; }
.parts__toggle {
    display:none;
    width:100%;
    grid-template-columns:minmax(0, 1fr) 44px;
    align-items:center;
    gap:12px;
    min-height:60px;
    padding:12px 0;
    text-align:left;
    color:var(--paper);
    font-family:var(--kova-542);
    font-size:var(--kova-e6e);
    font-weight:500;
    line-height:1.2;
    transition:background-color var(--dur-fast) var(--ease-std), padding-left var(--dur) var(--ease-std);
}
.parts__toggle small { display: block; margin-bottom: 2px; font-family: var(--kova-751); font-size: 0.6875rem; letter-spacing: var(--track-mono); text-transform: uppercase; color: var(--brass); }
.parts__toggle::after {
    content:'+';
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border:var(--hair-strong);
    font-family:var(--kova-751);
    color:var(--brass);
    transition:border-color var(--dur-fast) var(--ease-std), color var(--dur-fast) var(--ease-std);
}
.parts__toggle[aria-expanded='true']::after { content: "\2212"; border-color: var(--emerald); color: var(--emerald-hi); }
.parts__toggle:hover { background: var(--sheet); padding-left: 10px; }
.parts__toggle:active { background: var(--sheet-2); }
.parts__toggle:focus-visible { outline: 2px solid var(--emerald-hi); outline-offset: -2px; }
.parts__inner {
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:var(--s-3) var(--col-gap);
    padding:var(--s-4) 0;
}
.parts__inner > * { min-width: 0; }
.parts__head { display: grid; gap: 8px; align-content: start; }
.parts__no { font-family: var(--kova-751); font-size: 0.75rem; letter-spacing: var(--track-mono); text-transform: uppercase; color: var(--brass); }
.parts__title { font-size: var(--kova-8f0); }
.parts__summary { font-family: var(--kova-542); font-style: italic; font-size: var(--kova-1ff); color: var(--muted); }
.parts__pager { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: var(--s-4); padding-top: var(--s-2); border-top: var(--hair); }
@media (min-width: 768px) {
    .js .parts__tablist { display: flex; }
    .parts__inner { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); padding: var(--s-5) 0; }
    .parts__head { position: sticky; top: calc(var(--header-h) + 24px); align-self: start; }
    .parts__inner .prose { padding-left: var(--col-gap); border-left: var(--hair); }
    .js .parts__panel { border-bottom: 0; }
}
@media (max-width: 767px) {
    .js .parts__toggle { display: grid; }
    .parts__panel[hidden] { display: block !important; }
    .js .parts__toggle[aria-expanded='false'] + .parts__inner { display: none; }
    .js .parts__inner { padding-top: var(--s-2); }
    .js .parts__head .parts__no,
    .js .parts__head .parts__title { display: none; }
    .parts__pager { display: none; }
}

.lost {
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:var(--s-4) var(--col-gap);
    padding-block:var(--section);
}
.lost > * { min-width: 0; }
.lost__code {
    font-family:var(--kova-542);
    font-weight:400;
    font-style:italic;
    font-size:clamp(5rem, 3rem + 14vw, 15rem);
    line-height:1;
    letter-spacing:-0.05em;
    color:var(--paper);
    border-bottom:1px solid var(--brass);
    padding-bottom:var(--s-2);
}
.lost__code span { color: var(--emerald-hi); }
.lost .kicker { position: relative; z-index: 2; }
.lost__code { position: relative; z-index: 1; padding-top: 0.08em; }
.lost__body { display: grid; gap: var(--s-3); align-content: start; }
.routes { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--brass); }
.routes li { border-bottom: var(--hair); }
.routes a {
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    align-items:center;
    gap:12px;
    min-height:56px;
    padding:10px 4px;
    color:var(--paper);
    text-decoration:none;
    font-family:var(--kova-542);
    font-size:var(--kova-e6e);
    line-height:1.2;
    transition:background-color var(--dur-fast) var(--ease-std), padding-left var(--dur) var(--ease-std), color var(--dur-fast) var(--ease-std);
}
.routes a small { display: block; font-family: var(--kova-751); font-size: 0.6875rem; letter-spacing: var(--track-mono); text-transform: uppercase; color: var(--muted); margin-top: 2px; }
.routes a .icon { color: var(--emerald-hi); transition: transform var(--dur) var(--ease-out); }
.routes a:hover { background: var(--sheet); padding-left: 14px; }
.routes a:hover .icon { transform: translateX(3px); }
.routes a:active { background: var(--sheet-2); color: var(--paper-dim); }
.routes a:focus-visible { outline: 2px solid var(--emerald-hi); outline-offset: -2px; }
@media (min-width: 1024px) {
    .lost { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); align-items: end; }
    .lost__body { padding-left: var(--col-gap); border-left: var(--hair); }
}

.thanks { padding-block: var(--section); display: grid; gap: var(--s-3); max-width: 760px; }
.thanks__ref {
    display:inline-grid;
    justify-self:start;
    gap:4px;
    padding:16px 22px;
    background:var(--sheet);
    border-top:2px solid var(--emerald);
    box-shadow:var(--shadow-plate);
}
.thanks__ref-label { font-family: var(--kova-751); font-size: 0.6875rem; letter-spacing: var(--track-mono); text-transform: uppercase; color: var(--muted); }
.thanks__ref-no { font-family: var(--kova-751); font-weight: 500; font-size: clamp(1.6rem, 1.2rem + 2vw, 2.6rem); font-variant-numeric: tabular-nums; color: var(--paper); overflow-wrap: anywhere; }
.thanks__next { list-style: none; margin: 0; padding: 0; counter-reset: next; border-top: 1px solid var(--brass); }
.thanks__next li { counter-increment: next; display: grid; grid-template-columns: 3ch minmax(0, 1fr); gap: 12px; padding: 14px 0; border-bottom: var(--hair); color: var(--paper-dim); }
.thanks__next li::before { content: counter(next, decimal-leading-zero); font-family: var(--kova-751); font-size: 0.75rem; color: var(--brass); padding-top: 0.3em; }

.contact-layout {
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:var(--s-4) var(--col-gap);
    padding-block:var(--section-tight) var(--section);
}
.contact-layout > * { min-width: 0; }
.contact-aside { display: grid; gap: var(--s-4); align-content: start; }
.contact-aside__media { aspect-ratio: 4 / 3; }
.contact-lines { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--brass); }
.contact-lines li { padding: 12px 0; border-bottom: var(--hair); display: grid; gap: 2px; }
.contact-lines__label { font-family: var(--kova-751); font-size: 0.6875rem; letter-spacing: var(--track-mono); text-transform: uppercase; color: var(--muted); }
.contact-lines a {
    display:inline-flex;
    align-items:center;
    gap:0.5em;
    min-height:44px;
    justify-self:start;
    color:var(--paper);
    font-family:var(--kova-542);
    font-size:var(--kova-e6e);
    text-decoration:none;
    border-bottom:1px solid transparent;
    overflow-wrap:anywhere;
    transition:border-color var(--dur-fast) var(--ease-std), color var(--dur-fast) var(--ease-std);
}
.contact-lines a .icon { color: var(--brass); }
.contact-lines a:hover { border-bottom-color: var(--brass); }
.contact-lines a:active { color: var(--paper-dim); }
.contact-lines a:focus-visible { outline: 2px solid var(--emerald-hi); outline-offset: 2px; }
@media (min-width: 1024px) {
    .contact-layout { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
    .contact-aside { padding-left: var(--col-gap); border-left: var(--hair); }
}

.dsar-form {
    margin-top:var(--s-5);
    padding:var(--s-4) clamp(16px, 3vw, 40px);
    background:var(--sheet);
    border-top:2px solid var(--emerald);
    box-shadow:var(--shadow-plate);
}
.dsar-form .form input,
.dsar-form .form select,
.dsar-form .form textarea { background: var(--ink); }

.band-note {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 16px;
    padding:14px 0;
    border-top:var(--hair);
    border-bottom:var(--hair);
    font-family:var(--kova-751);
    font-size:0.75rem;
    letter-spacing:var(--track-mono);
    text-transform:uppercase;
    color:var(--muted);
}
.band-note strong { color: var(--paper); font-weight: 500; }

.gallery-pair {
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:var(--col-gap);
}
.gallery-pair > * { min-width: 0; }
.gallery-pair .figure__media { aspect-ratio: 3 / 2; }
@media (min-width: 900px) {
    .gallery-pair { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: end; }
    .gallery-pair > :last-child .figure__media { aspect-ratio: 4 / 5; }
}

@media (prefers-reduced-motion: reduce) {
    .depth-layer { inset: 0; }
    .lineup__media img,
    .tile__media img { transition: none; }
    .lineup__tile:hover .lineup__media img { transform: none; }
}

@media print {
    .disclosures__bar,
    .parts__tablist,
    .parts__toggle,
    .est-out__actions,
    .catalogue-bar { display: none !important; }
    .parts__panel[hidden],
    .parts__inner { display: grid !important; }
    details.disclosure::details-content { content-visibility: visible; display: block; }
    .depth-layer { position: static; inset: auto; }
    .depth-frame::after { display: none; }
    .clause-ledger tbody tr:hover { background: none; }
}

.disclosure,
.disclosure__summary,
.disclosure__body,
.dsar-form,
.dsar-form .field,
.dsar-form .form__row,
.dsar-form .form__foot,
.clause-ledger tbody tr { transform: none !important; opacity: 1 !important; }
.disclosure { position: relative; isolation: isolate; }
