@media print {
    @page {
        size: A4;
        margin: 25mm;

        /* Best-effort only: Chrome/Edge may still require
           "Headers and footers" to be turned off in the print dialog */
        @top-left      { content: none; }
        @top-center    { content: none; }
        @top-right     { content: none; }
        @bottom-left   { content: none; }
        @bottom-center { content: none; }
        @bottom-right  { content: none; }
    }

    html,
    body {
        margin: 0 !important;
        padding: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
        font-family: Arial, sans-serif !important;
    }

    main,
    main * {
        font-family: Arial, sans-serif !important;
    }

    button,
    input,
    textarea,
    select {
        font-family: Arial, sans-serif !important;
    }

    *:has(main) {
        display: block !important;
        position: static !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        transform: none !important;
        content-visibility: visible !important;
    }

    *:has(main) > :not(main):not(:has(main)) {
        display: none !important;
    }

    body > :not(main):not(:has(main)) {
        display: none !important;
    }

    main {
        display: block !important;
        position: static !important;
        width: auto !important;
        max-width: none !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        transform: none !important;
        content-visibility: visible !important;
        break-inside: auto !important;
        page-break-inside: auto !important;
    }

    main * {
        max-height: none !important;
        overflow: visible !important;
        content-visibility: visible !important;
        break-inside: auto !important;
        page-break-inside: auto !important;
    }

    .print-note {
        display: none !important;
    }

    /* Handle framework image wrappers, e.g. Next.js Image */
    main span:has(img),
    main div:has(> img),
    main div:has(> picture) {
        display: block !important;
        position: static !important;
        width: auto !important;
        height: auto !important;
        min-width: 0 !important;
        min-height: 0 !important;
        max-width: 100% !important;
        max-height: none !important;
        overflow: visible !important;
        padding: 0 !important;
    }

    main img,
    main img[src],
    main img[class],
    main picture,
    main picture img,
    main figure,
    main figure img {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        content-visibility: visible !important;
        position: static !important;
        width: auto !important;
        height: auto !important;
        min-width: 0 !important;
        min-height: 0 !important;
        max-width: 100% !important;
        max-height: none !important;
        inset: auto !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    main a[href]::after {
        content: " (" attr(href) ")";
        font-size: 0.8em;
        color: #555;
        font-style: italic;
        word-break: break-all;
    }

    main a[href^="#"]::after,
    main a[href^="javascript"]::after,
    main a[href^="mailto"]::after,
    main a[href^="tel"]::after {
        content: none;
    }

    .sr-only {
        position: static !important;
        width: auto !important;
        height: auto !important;
        margin: 0 0 8mm 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        clip: auto !important;
        white-space: normal !important;
    }

    main h1 {
        display: block !important;
        font-size: 16pt !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
        margin: 0 0 8mm 0 !important;
    }

    main h2 {
        display: block !important;
        font-size: 14pt !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
        margin: 0 0 5mm 0 !important;
    }

    main h3 {
        display: block !important;
        font-size: 13pt !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
        margin: 0 0 3mm 0 !important;
    }

    button svg {
        display: none !important;
    }

    /* ─── Accordions ─────────────────────────────────────────────── */

    main .accordion-item {
        display: block !important;
        margin: 0 0 6mm 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    main .accordion-item__header {
        display: block !important;
        margin: 0 0 3mm 0 !important;
        padding: 0 !important;
        break-after: avoid !important;
        page-break-after: avoid !important;
    }

    main .accordion-item__control {
        appearance: none !important;
        -webkit-appearance: none !important;

        display: block !important;
        width: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;

        color: inherit !important;
        font-family: Arial, sans-serif !important;
        font-size: 13pt !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
        text-align: left !important;
        cursor: default !important;
    }

    main h3 .accordion-item__control,
    main .accordion-item__header .accordion-item__control {
        font-size: 13pt !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
    }

    main .accordion-item__control svg,
    main .accordion-item__control .svg-icon {
        display: none !important;
    }

    main .accordion-item__content {
        display: block !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        visibility: visible !important;
        opacity: 1 !important;
        padding: 0 !important;
        margin: 0 0 4mm 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    main .accordion-item__content[aria-hidden="true"],
    main .accordion-item__content[style] {
        display: block !important;
    }

    /* ─── Logos ─────────────────────────────────────────────── */

    main .print-logo-row {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 10mm !important;

        width: 100% !important;
        margin: 0 0 8mm 0 !important;
        padding: 0 !important;

        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    main .print-logo {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        width: auto !important;
        max-width: 250px !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    /* Explicit width fixes inline SVG disappearing in print */
    main svg#Layer_1 {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;

        width: 250px !important;
        max-width: 250px !important;
        height: auto !important;
        max-height: 65px !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: visible !important;
        flex-shrink: 0 !important;

        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    main svg#Layer_1 *,
    main svg#Layer_1 path,
    main svg#Layer_1 rect {
        visibility: visible !important;
        opacity: 1 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    main img.primary-nav__logo-image {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;

        width: 250px !important;
        max-width: 250px !important;
        height: auto !important;
        max-height: 65px !important;

        margin: 0 !important;
        padding: 0 !important;

        object-fit: contain !important;
        flex-shrink: 0 !important;

        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* Fallback for current markup where the logos are in separate sibling divs */
    main div:has(> svg#Layer_1),
    main div:has(> img.primary-nav__logo-image) {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        vertical-align: middle !important;

        width: auto !important;
        max-width: 250px !important;
        height: auto !important;

        margin: 0 10mm 8mm 0 !important;
        padding: 0 !important;

        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    main div:has(> svg#Layer_1) svg#Layer_1,
    main div:has(> img.primary-nav__logo-image) img.primary-nav__logo-image {
        display: block !important;

        width: 250px !important;
        max-width: 250px !important;
        height: auto !important;
        max-height: 65px !important;

        margin: 0 !important;
        padding: 0 !important;

        object-fit: contain !important;
    }

    /* ─── Tables ─────────────────────────────────────────────── */

    main table {
        width: 100% !important;
        border-collapse: collapse !important;
        border-spacing: 0 !important;
        margin: 0 0 6mm 0 !important;
        font-size: 9pt !important;
        page-break-inside: auto !important;
        break-inside: auto !important;
    }

    main thead {
        display: table-header-group !important;
    }

    main tfoot {
        display: table-footer-group !important;
    }

    main tbody {
        display: table-row-group !important;
    }

    main tr {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    main th {
        background-color: #f0f0f0 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        font-weight: 700 !important;
        font-size: 8.5pt !important;
        text-align: left !important;
        vertical-align: bottom !important;
        padding: 2mm 3mm !important;
        border: 0.5pt solid #999 !important;
    }

    main td {
        padding: 1.5mm 3mm !important;
        vertical-align: top !important;
        border: 0.5pt solid #ccc !important;
        word-break: break-word !important;
        hyphens: auto !important;
    }

    main tbody tr:nth-child(even) td {
        background-color: #f9f9f9 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    main td.numeric,
    main th.numeric {
        text-align: right !important;
        font-variant-numeric: tabular-nums !important;
    }

    main table caption {
        font-size: 8pt !important;
        font-style: italic !important;
        color: #555 !important;
        text-align: left !important;
        margin-bottom: 2mm !important;
        caption-side: top !important;
    }

    main td a[href]::after,
    main th a[href]::after {
        content: none !important;
    }
}


/* Print Button */

.btn--print {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: #ffffff;
  color: #832e87;
  padding: 12px 20px;
  border-radius: 10px;
  border: 3px solid #832e87;
  font-family: roc-grotesk, Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0.01em;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.1s ease;
}

.btn--print:hover {
  background-color: #832e87;
  color: #ffffff;
  transform: translateY(-1px);
}

.btn--print:active {
  transform: translateY(1px);
}  