/* =========================================================
   MS Hobbies — Reference Stylesheet v1.0
   Locked for archival stability
   ========================================================= */

/* ---------------------------------------------------------
   Fonts
   --------------------------------------------------------- */

@font-face {
  font-family: 'Helvetica LT Neue Head';
  src:
    url('/assets/fonts/HelveticaLTNeue-Head.woff2') format('woff2'),
    url('/assets/fonts/HelveticaLTNeue-Head.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* ---------------------------------------------------------
   Base layout
   --------------------------------------------------------- */

body {
  margin: 0;
  background: #f6f3ea;
  color: #111;
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.55;
}

header,
main,
footer {
  max-width: 860px;
  margin: auto;
  padding: 1.25rem;
}

header {
  border-bottom: 1px solid #111;
}

/* ---------------------------------------------------------
   Typography
   --------------------------------------------------------- */

h1,
h2,
h3,
h4,
.site-title,
.page-title {
  font-family: 'Helvetica LT Neue Head', Helvetica, Arial, sans-serif;
  font-weight: 400;
}

h1 {
  margin: 0;
  letter-spacing: 0.12em;
}

h2 {
  margin-top: 2.2rem;
  margin-bottom: 0.6rem;
}

h3 {
  margin-top: 1.6rem;
  margin-bottom: 0.4rem;
}

p {
  margin: 0.6em 0 0.9em;
}

.tagline {
  margin: 0.3rem 0 0;
  letter-spacing: 0.06em;
}

.byline,
.authority,
.revision {
  font-size: 0.95rem;
  letter-spacing: 0.02em;
}

/* ---------------------------------------------------------
   Sections and editorial blocks
   --------------------------------------------------------- */

.hero {
  border-bottom: 1px solid #111;
  padding-bottom: 1rem;
}

.section {
  border-bottom: 1px solid #111;
  padding: 1.25rem 0;
}

.workshop-note {
  border-top: 1px solid #111;
  border-bottom: 1px solid #111;
  padding: 1rem 0;
  margin: 1.5rem 0;
}

.authority-strip {
  border-top: 1px solid #111;
  padding-top: 1rem;
  margin-top: 2rem;
}

section.editorial {
  margin: 2em 0;
  padding-left: 1em;
  border-left: 3px solid #ccc;
}

section.editorial p {
  margin-top: 0.5em;
}

p.note {
  font-size: 0.9em;
  color: #555;
  margin: 1em 0;
}

/* ---------------------------------------------------------
   Links
   --------------------------------------------------------- */

a {
  color: #111;
  text-decoration: underline;
}

/* ---------------------------------------------------------
   Tables
   --------------------------------------------------------- */

table.price-list {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5em 0;
  font-size: 0.95em;
}

table.price-list th,
table.price-list td {
  padding: 0.5em 0.6em;
  border-bottom: 1px solid #ccc;
  text-align: left;
  vertical-align: top;
}

table.price-list th {
  font-weight: bold;
  border-bottom: 2px solid #999;
}

table.price-list tbody tr:hover {
  background-color: #f7f7f7;
}

/* ---------------------------------------------------------
   Galleries
   --------------------------------------------------------- */

section.gallery {
  margin: 2em 0;
}

section.gallery figure {
  margin: 1.5em 0;
}

section.gallery img {
  max-width: 100%;
  height: auto;
  display: block;
  border: 1px solid #ccc;
}

section.gallery figcaption {
  font-size: 0.9em;
  margin-top: 0.4em;
  color: #444;
}

section.gallery figcaption em {
  color: #666;
}

/* ---------------------------------------------------------
   Technical drawings and plates
   --------------------------------------------------------- */

.minox-line {
  margin: 1.25em 0;
}

.minox-line svg {
  max-width: 100%;
  height: auto;
  display: block;
}

.minox-line figcaption {
  font-size: 0.95em;
  margin-top: 0.5em;
}

.minox-svg {
  color: #111;
}

.technical-plate {
  margin: 1.5rem 0;
}

.technical-plate * {
  box-sizing: border-box;
}

.technical-plate svg {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.technical-plate + ul {
  margin-top: 0.75rem;
}

.diagram-caption {
  margin-top: 0.5rem;
  font-size: 0.9rem;
  text-align: center;
  color: #555;
}

/* ---------------------------------------------------------
   Glossary
   --------------------------------------------------------- */

.glossary dt {
    font-weight: bold;
    margin-top: 1em;
}



  margin-top: 1em;
}

.glossary dd {
  margin-left: 0;
  margin-bottom: 0.6em;
}

.glossary-index {
  text-align: center;
  margin: 1em 0 2em;
  font-size: 0.95em;
}

.glossary-index a {
  text-decoration: none;
  color: #444;
  padding: 0 0.3em;
}

.glossary h2 {
  margin-top: 2em;
  border-bottom: 1px solid #ccc;
  padding-bottom: 0.2em;
  font-size: 1.3em;
}

/* ---------------------------------------------------------
   Footer
   --------------------------------------------------------- */

#site-footer {
  margin-top: 3em;
  padding-top: 1em;
  border-top: 1px solid #ccc;
  font-size: 0.9em;
  color: #555;
  text-align: center;
}

#footer-nav {
  margin-top: 2em;
  font-size: 0.85em;
  color: #666;
  text-align: center;
}

/* =========================================================
   PRINT STYLES — FINAL CONSOLIDATED BLOCK
   ========================================================= */

@media print {

  body {
    color: #000;
    background: #fff;
  }

  #site-header,
  #site-nav {
    display: none;
  }

  #site-footer {
    text-align: center;
    margin-top: 2em;
    font-size: 0.85em;
    color: #444;
  }

  .glossary {
    column-count: 2;
    column-gap: 2.5em;
    column-fill: balance;
  }

  .glossary h2 {
    break-before: column;
    break-after: avoid;
    page-break-after: avoid;
    margin-top: 0;
    padding-top: 0.5em;
    border-bottom: 1px solid #000;
  }

  .glossary dt,
  .glossary dd {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .glossary-index {
    display: none;
  }

  .bio-panel {
    break-inside: avoid;
    page-break-inside: avoid;
    break-before: page;
  }

  .print-title-block {
    text-align: center;
    margin-top: 3em;
    margin-bottom: 4em;
    page-break-after: always;
  }

  .print-title-block h1 {
    margin: 0;
    font-size: 2em;
  }

  .print-title-block p {
    margin: 0.5em 0 0;
    font-size: 1em;
  }

  .minox-svg {
    color: #000;
  }
}

#site-nav {
  margin: 1rem 0;
  font-size: 0.95em;
}

#site-nav a {
  text-decoration: none;
  color: #111;
}

#site-nav a:hover {
  text-decoration: underline;
}
<style>
  /* Harmonised table spacing */
  table.system-overview,
  table.specifications,
  table.dimensions {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5em 0;
  }

  table.system-overview th,
  table.specifications th,
  table.dimensions th {
    text-align: left;
    padding: 6px 4px;
    border-bottom: 1px solid #ccc;
  }

  table.system-overview td,
  table.specifications td,
  table.dimensions td {
    padding: 4px 4px;
    vertical-align: top;
  }

  /* Harmonised section spacing */
  h2 {
    margin-top: 2.5em;
    margin-bottom: 0.5em;
  }

  h3 {
    margin-top: 2em;
    margin-bottom: 0.3em;
  }

  p {
    margin: 0.4em 0 1em 0;
  }

  /* Placeholder technical diagrams */
  .tech-elevation {
    font-family: monospace;
    background: #f4f4f4;
    padding: 12px;
    margin: 1em 0;
    border: 1px solid #ddd;
    white-space: pre;
  }
</style>
<style>
  .minox-diagram {
    max-width: 640px;
    margin: 1.5em 0;
    display: block;
  }

  .minox-diagram svg {
    width: 100%;
    height: auto;


    background: #111;          /* “negative plate” charcoal */
  }

  .minox-diagram .shell {
    fill: none;
    stroke: #f5f5f5;
    stroke-width: 1.2;
  }

  .minox-diagram .engraving {
    fill: none;
    stroke: #f5f5f5;
    stroke-width: 0.7;
  }

  .minox-diagram .text {
    fill: #f5f5f5;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 8px;
  }

  .minox-diagram .guide {
    stroke: #777;
    stroke-width: 0.4;
    stroke-dasharray: 2 2;
  }
</style>
css
#last-modified {
  font-size: 0.85em;
  color: #666;
  margin-top: 0.8em;
}

.site-nav {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 1.2em;
}

.site-nav li {
  margin: 0;
}

.site-nav a {
  text-decoration: none;
}
.sidebar-box {
  border: 1px solid #ccc;
  padding: 1em;
  margin-bottom: 1.5em;
  background: #f8f8f8;
}
.sidebar-box h3 {
  margin-top: 0;
  font-size: 1.1em;
}

nav ul {
  display: flex;
  gap: 1rem;
}
nav ul {
  display: flex;
  gap: 1rem;        /* spacing between items */
  align-items: center;
  list-style: none; /* removes bullets if any browser adds them */
  padding: 0;
  margin: 0;
}

nav ul li a {
  text-decoration: none;
  padding: 0.25rem 0.5rem;  /* optional: improves click area */
}


/* ---------------------------------------------------------
   Primary navigation (header)
   --------------------------------------------------------- */

header nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 1.2rem;
  align-items: center;
}

header nav li {
  margin: 0;
  padding: 0;
}

header nav a {
  text-decoration: none;
  color: #111;
}

header nav a:hover {
  text-decoration: underline;
}


/* ---------------------------------------------------------
   Primary navigation (header)
   --------------------------------------------------------- */

header nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 1.2rem;          /* spacing between items */
  align-items: center;  /* vertical alignment */
}

header nav li {
  margin: 0;
  padding: 0;
}

header nav a {
  text-decoration: none;
  color: #111;
}

header nav a:hover {
  text-decoration: underline;
}

/* Restore vertical navigation */
header nav ul {
  display: block;
}

header nav li {
  margin-bottom: 0.4rem; /* optional spacing between items */
}

/* Vertical navigation with UK-style spacing */
header nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

header nav li {
  margin-bottom: 0.6rem;   /* spacing between items */
}

header nav a {
  display: block;
  padding: 0.25rem 0;      /* improves click area and vertical rhythm */
  text-decoration: none;
  color: #111;
}

header nav a:hover {
  text-decoration: underline;
}

/* Vertical navigation with UK-style spacing */
header nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

header nav li {
  margin: 0 0 0.6rem 0;   /* spacing between items */
}

header nav a {
  display: block;
  padding: 0.25rem 0;     /* gives the same vertical rhythm as UK inline links */
  text-decoration: none;
  color: #111;
}

header nav a:hover {
  text-decoration: underline;
}


/* ---------------------------------------------------------
   Horizontal navigation (matches UK look)
   --------------------------------------------------------- */

header nav ul {
  list-style: none;
  margin: 0;
  padding: 0;

  display: flex;          /* makes it horizontal */
  gap: 1.2rem;            /* spacing between items */
  align-items: center;    /* vertical alignment */
}

header nav li {
  margin: 0;
  padding: 0;
}

header nav a {
  display: block;
  padding: 0.25rem 0;     /* improves click area */
  text-decoration: none;
  color: #111;
}

header nav a:hover {
  text-decoration: underline;
}
/* =========================================================
   Optics section – documentation styling
   ========================================================= */


main table {
  width: 100%;
  border-collapse: collapse;
  margin: 8px 0 12px 0;
}

main th {
  text-align: left;
  font-weight: bold;
  border-bottom: 1px solid #000;
  padding: 4px 6px;
}

main td {
  border-bottom: 1px solid #ccc;
  padding: 4px 6px;
  vertical-align: top;
}

main tr:last-child td {
  border-bottom: none;
}

main .small {
  font-size: 12px;
  color: #333;
}
main {
    max-width: 48em;
    margin: 2em auto;
    padding: 0 1em;
}

h1 {
    font-size: 1.6em;
    margin-bottom: 1em;
}

h2 {
    font-size: 1.2em;
    margin-top: 2em;
    margin-bottom: 0.75em;
}

p {
    line-height: 1.5;
    margin-bottom: 1em;
}

p.example {
    margin-left: 1.5em;
    font-style: italic;
}

p.small {
    font-size: 0.85em;
    color: #555;
}

h2 + p {
    margin-top: 0.5em;
}


/* MS Hobbies – Form Styling (German pages)
   Calm, archival, print‑friendly, no visual noise
*/

form {
    max-width: 520px;
    margin: 0 auto 2rem auto;
    font-family: Calibri, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.35;
    color: #000;
}

fieldset {
    border: 1px solid #999;
    padding: 12px 14px;
    margin-bottom: 18px;
    background: #fafafa;
}

legend {
    font-weight: bold;
    padding: 0 6px;
    font-size: 15px;
}

label {
    display: block;
    margin-bottom: 6px;
}

input[type="text"],
input[type="email"],
input[type="number"],
textarea {
    width: 100%;
    max-width: 100%;
    padding: 6px;
    border: 1px solid #999;
    background: #fff;
    font-size: 14px;
    box-sizing: border-box;
}

textarea {
    resize: vertical;
}

input[type="checkbox"],
input[type="radio"] {
    margin-right: 6px;
}

input[type="submit"],
input[type="reset"] {
    padding: 8px 14px;
    margin-right: 10px;
    border: 1px solid #666;
    background: #e6e6e6;
    cursor: pointer;
    font-size: 14px;
}

input[type="submit"]:hover,
input[type="reset"]:hover {
    background: #dcdcdc;
}
p {
  hyphens: auto;
}

.container {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 1rem;
}
.site-footer {
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px solid #ccc;
}
/* Order Enquiry Form — MS Hobbies */

form, .enquiry-block {
  max-width: 60rem;
  margin: 0 auto;
  padding: 0;
}

.enquiry-block p {
  margin: 0 0 1.2rem 0;
  line-height: 1.5;
}

.enquiry-block .line {
  display: block;
  border-bottom: 1px solid #999;
  height: 1.4rem;
  margin: 0.4rem 0 1.2rem 0;
}

.enquiry-block h2 {
  margin-top: 2rem;
  font-size: 1.3rem;
  font-weight: normal;
  border-bottom: 1px solid #ccc;
  padding-bottom: 0.3rem;
}

.enquiry-block .revision {
  margin-top: 3rem;
  font-size: 0.9rem;
  color: #555;
}
.main-nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
body {
    background-color: #F2F2F2;
    color: #222222;
    font-family: "Univers", "Helvetica Neue", Arial, sans-serif;
}

.panel, .card {
    background-color: #FFFFFF;
    border: 1px solid #E0E0E0;
}

.sidebar, .dashboard {
    background-color: #F2F2F2;
}

/* ================================
   MS Hobbies – Global Base
   ================================ */

:root {
    --mh-bg-grey: #F2F2F2;      /* Failsafe museum grey */
    --mh-text-main: #111111;    /* Primary text */
    --mh-text-body: #222222;    /* Body text */
    --mh-text-soft: #444444;    /* Secondary / metadata */
    --mh-line: #D0D0D0;         /* Dividers / borders */
    --mh-card-bg: #FFFFFF;      /* Cards / panels */
    --mh-font-stack: "Univers", "Helvetica Neue", Arial, sans-serif;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    font-size: 16px;
}

body {
    margin: 0;
    padding: 0;
    background-color: var(--mh-bg-grey);
    color: var(--mh-text-body);
    font-family: var(--mh-font-stack);
    line-height: 1.55;
}

/* ================================
   Layout
   ================================ */

.mh-page-wrapper {
    max-width: 1100px;
    margin: 0 auto;
    padding: 2.5rem 1.5rem 3rem;
}

/* Optional: if you wrap main content */
main {
    background: transparent;
}

/* ================================
   Typography
   ================================ */

h1, h2, h3, h4 {
    margin: 0 0 1.25rem;
    color: var(--mh-text-main);
    font-family: var(--mh-font-stack);
}

h1 {
    font-weight: 700;           /* Univers 65 Bold equivalent */
    font-size: 2.6rem;
    letter-spacing: 0.04em;
}

h2 {
    font-weight: 700;
    font-size: 2.0rem;
    letter-spacing: 0.03em;
    margin-top: 3.0rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--mh-line);
}

h3 {
    font-weight: 400;           /* Univers 55 Roman equivalent */
    font-size: 1.6rem;
    letter-spacing: 0.02em;
    margin