/* Rosie 1400 mounting interfaces: CAD-generated drawings of the base and tool flange (inline SVG,
   themed by the site tokens), key dimensions as real text, and the STEP / PDF / SVG downloads. */
.iface { display: grid; gap: 1.25rem; margin-top: 2.5rem; }
.iface + .iface { margin-top: clamp(3rem, 6vw, 4.5rem); }
.iface-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding-top: .7rem; border-top: 2px solid var(--ink); }
.iface-head h3 { font-size: clamp(1.4rem, 2.2vw, 1.9rem); letter-spacing: -.02em; }

.iface-sheet { gap: 1rem; }
.iface-views { display: grid; gap: clamp(1.25rem, 3vw, 2.5rem); justify-items: center; align-items: center; }
.iface-view { width: 100%; }
.iface-svg { display: block; width: 100%; height: auto; }
.iface-views-stack .iface-view:first-child { max-width: 800px; }
.iface-views-stack .iface-view:last-child { max-width: 900px; }
.iface-views-side { grid-template-columns: minmax(0, 555fr) minmax(0, 372fr); width: 100%; max-width: 1040px; margin: 0 auto; }
@media (max-width: 760px) { .iface-views-side { grid-template-columns: minmax(0, 1fr); } }

.iface-data { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: start; }
@media (max-width: 900px) { .iface-data { grid-template-columns: minmax(0, 1fr); } }

.iface-dims { border-top: 1px solid var(--ink); }
.iface-dims div { display: grid; grid-template-columns: 10.5rem minmax(0, 1fr); gap: 1.25rem; padding: .6rem 0; border-bottom: 1px solid var(--line-2); font-size: .93rem; }
.iface-dims dt { color: var(--ink-2); }
.iface-dims dd { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; }
.iface-dims small { display: block; margin-top: .1rem; font-size: .82rem; font-weight: 400; color: var(--ink-2); }
@media (max-width: 520px) { .iface-dims div { grid-template-columns: minmax(0, 1fr); gap: .1rem; } }

.iface-files { list-style: none; padding: 0; display: grid; gap: .5rem; }
.iface-dl { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: .85rem; row-gap: .1rem; align-items: center;
  padding: .8rem 1rem; border: 1px solid var(--ink); border-left: 4px solid var(--red); background: var(--paper); text-decoration: none; }
.iface-dl:hover { background: var(--ink); color: var(--paper); }
.iface-dl:hover .iface-dl-meta { color: inherit; }
.iface-dl-icon { grid-row: span 2; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.iface-dl-name { font-weight: 600; font-size: .95rem; line-height: 1.2; }
.iface-dl-meta { font-size: .8rem; color: var(--ink-2); font-variant-numeric: tabular-nums; }
.iface-dl-meta b { font-size: .66rem; letter-spacing: .12em; margin-right: .35rem; color: var(--red); }
.iface-dl:hover .iface-dl-meta b { color: inherit; }
.iface-note { margin-top: 2.5rem; max-width: 52rem; }
