﻿/* Public frontend v1. Loaded only by MasterPage.master. */
:root { --wine:#800000; --wine-dark:#570b17; --ink:#282126; --muted:#71676b; --line:#eadfe0; --paper:#fff; }
html { min-width:0; background:#800000; }
body.public-site { min-width:0; margin:0; background:#800000 url('../images/body.jpg') center repeat-y; color:var(--ink); font:16px/1.7 'Segoe UI',Tahoma,Arial,sans-serif; }
.public-site *, .public-site *::before, .public-site *::after { box-sizing:border-box; }
.public-site [hidden] { display:none !important; }
.public-site button, .public-site input, .public-site select, .public-site textarea { font:inherit; }
.public-site button { cursor:pointer; }
.public-site :focus-visible { outline:3px solid #c5893b; outline-offset:4px; }
.public-site .skip-link { position:fixed; left:12px; top:-100px; z-index:20000; background:white; padding:12px 20px; color:var(--wine); }
.public-site .skip-link:focus { top:12px; }
.public-site #header { width:min(100%,1000px); height:auto; aspect-ratio:1000 / 167; background-size:100% auto; margin:0 auto; }
.public-site .header-home { position:absolute; inset:0; }
.public-site #member-login { left:auto; right:14px; top:8px; font-size:12px; z-index:1; }
.public-site #member-login a { display:block; padding:4px 11px; background:rgba(67,0,0,.78); color:white; border-radius:20px; text-decoration:none; }
.public-site #menu { position:relative; top:auto; left:auto; width:min(100%,1000px); margin:auto; background:var(--wine); color:white; font:600 15px/1.4 'Segoe UI',Arial,sans-serif; z-index:20; box-shadow:0 4px 12px #35000b20; }
.public-site #main-navigation { display:flex; align-items:stretch; justify-content:center; padding:5px 10px; margin:0; list-style:none; gap:2px; }
.public-site #menu a, .public-site #menu a:visited { display:block; padding:15px 13px; border-radius:5px; color:#fff; text-decoration:none; transition:background .15s; }
.public-site #menu a:hover, .public-site #menu a:focus-visible { background:#ffffff19 !important; }
.public-site #menu a[aria-current] { background:#fff !important; color:var(--wine-dark); }
.public-site #menu-toggle { display:none; border:0; padding:14px 18px; min-height:48px; color:white; background:transparent; font-weight:600; align-items:center; gap:10px; }
.public-site #main { width:min(100%,1000px); min-height:0; box-shadow:0 12px 35px #40000b0c; }
.public-site #content { padding:32px 30px 20px; overflow-wrap:anywhere; }
.public-site #content a { color:var(--wine); text-underline-offset:4px; }
.public-site #content a:hover { text-decoration:underline; }
.public-site #content img { max-width:100% !important; height:auto !important; vertical-align:middle; }
.public-site #content iframe, .public-site #content video, .public-site #content object, .public-site #content embed { max-width:100%; }
.public-site #content iframe { border:0; max-width:100% !important; width:100% !important; }
.public-site .public-table { width:100%; max-width:100%; border-collapse:collapse; table-layout:fixed; }
.public-site .content-table > tbody > tr > td { width:auto !important; max-width:100%; padding:0 0 6px !important; }
.public-site .content-table > tbody > tr > td > span { max-width:100%; }
.public-site .content-table > tbody > tr > td > span[style*='width'] { width:100% !important; }
.public-site .content-table td p { margin:0 0 1em; }
.public-site .content-table td h1, .public-site .content-table td h2, .public-site .content-table td h3 { line-height:1.3; color:var(--wine-dark); }
.public-site .content-title { font-size:clamp(20px,3vw,28px); line-height:1.4; color:var(--wine-dark) !important; }
.public-site .content-title span { font-size:13px !important; letter-spacing:.02em; }
.public-site .photo-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; padding:10px 0 12px; }
.public-site .photo-grid a { display:block; position:relative; min-width:0; overflow:hidden; border-radius:7px; background:#f3ece9; }
.public-site .photo-grid a::before { content:""; display:block; padding-top:75%; }
.public-site #content .photo-grid img { position:absolute; top:0; left:0; display:block; width:100%; height:100% !important; min-width:0; min-height:0; object-fit:cover; object-position:center; transition:transform .2s; }
.public-site .photo-grid a:hover img { transform:scale(1.05); }
.public-site #content .show-summary img { border-radius:7px; }
.public-site .events-table td { width:auto !important; padding:5px 5px; vertical-align:top; }
.public-site .events-table td:nth-child(even):not([colspan]) { display:none; }
.public-site .events-table td:nth-child(1):not([colspan]) { width:18% !important; }
.public-site .events-table td:nth-child(3) { width:12% !important; }
.public-site .events-table td:nth-child(5) { width:35% !important; }
.public-site .events-table td:nth-child(7) { width:35% !important; }
.public-site .events-table tr:first-child { background:var(--wine); color:white; }
.public-site .events-table tr:first-child td { color:white !important; font-weight:600; }
.public-site .events-table td[colspan] { padding:0; height:0 !important; }
.public-site .events-table td[colspan] > span { width:100% !important; max-width:100%; }
.public-site .reservation-content { max-width:760px; margin:auto; text-align:left; }
.public-site .reservation-content > b:first-child { display:block; font-size:28px; line-height:1.3; color:var(--wine-dark); }
.public-site .reservation-table { width:100%; border-spacing:0 12px; font-size:16px !important; }
.public-site .reservation-table td { width:auto !important; padding:4px 8px 4px 0; }
.public-site .reservation-table td:first-child { width:24% !important; }
.public-site .reservation-table input:not([type=radio]):not([type=checkbox]), .public-site .reservation-table select { max-width:100%; min-height:46px; padding:9px 12px; border:1px solid #ccbfc1; border-radius:5px; background:white; font:16px 'Segoe UI',Arial,sans-serif !important; color:var(--ink); }
.public-site .reservation-table select { width:100% !important; }
.public-site .reservation-table input[type=radio] { width:18px; height:18px; accent-color:var(--wine); vertical-align:middle; }
.public-site .reservation-table label { padding:8px; display:inline-block; }
.public-site .reservation-content input[type=submit], .public-site .cookie-actions button, .public-site .embed-placeholder button { width:auto !important; min-height:46px; border:1px solid var(--wine); border-radius:5px; padding:11px 18px; color:white; background:var(--wine); font:600 15px/1.4 'Segoe UI',Arial,sans-serif !important; }
.public-site .reservation-content input[type=submit]:hover, .public-site .cookie-actions button:hover { background:var(--wine-dark); }
.public-site #footer { width:min(100%,1000px); height:auto; min-height:92px; padding:22px 28px; background-color:var(--wine); background-size:100% 40px; display:flex; justify-content:space-between; align-items:center; gap:16px; color:white; font-size:13px; }
.public-site .cookie-settings-link { background:transparent; border:0; color:white; text-decoration:underline; text-underline-offset:4px; padding:8px 0; }
.public-site .cookie-banner { position:fixed; bottom:20px; left:50%; transform:translateX(-50%); z-index:1000; width:min(940px,calc(100% - 32px)); max-height:calc(100dvh - 40px); overflow:auto; background:white; padding:24px 28px; box-shadow:0 8px 60px #23020b40; border:1px solid var(--line); border-radius:12px; }
.public-site .eyebrow { margin:0 0 4px; color:var(--wine); letter-spacing:.14em; font-size:11px; font-weight:700; }
.public-site .cookie-banner h2, .public-site dialog h2 { margin:0; font-size:23px; line-height:1.3; }
.public-site .cookie-banner p:not(.eyebrow), .public-site dialog p { margin:8px 0 18px; color:var(--muted); font-size:14px; line-height:1.6; }
.public-site .cookie-actions { display:flex; flex-wrap:wrap; gap:10px; }
.public-site .cookie-actions .button-secondary { background:white; color:var(--wine); }
.public-site .cookie-actions .button-secondary:hover { background:#f8f0f0; }
.public-site dialog { width:min(580px,calc(100% - 24px)); max-height:calc(100dvh - 32px); overflow:auto; padding:28px; border:0; border-radius:12px; color:var(--ink); box-shadow:0 20px 80px #0004; }
.public-site dialog::backdrop { background:#1b0616aa; }
.public-site .dialog-heading { display:flex; justify-content:space-between; gap:16px; align-items:center; }
.public-site .dialog-close { background:transparent; border:0; min-width:44px; min-height:44px; font-size:28px; }
.public-site .consent-option { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 0; border-top:1px solid var(--line); font-size:14px; }
.public-site .consent-option span span { display:block; color:var(--muted); }
.public-site .consent-option p { margin:2px 0; }
.public-site .consent-option > span:last-child:not(:first-child) { color:var(--muted); font-size:12px; }
.public-site .consent-option input { width:22px; height:22px; accent-color:var(--wine); flex-shrink:0; }
.public-site dialog .cookie-actions { margin-top:18px; }
.public-site .embed-wrapper { max-width:100%; margin:16px 0; }
.public-site .embed-wrapper iframe { display:block; width:100%; aspect-ratio:16/9; height:auto; }
.public-site .embed-placeholder { display:grid; justify-items:center; align-content:center; gap:12px; padding:28px; min-height:210px; text-align:center; background:#f5f0ed; border:1px solid var(--line); border-radius:8px; font-size:14px; }
.public-site .embed-placeholder p { max-width:430px; margin:0 !important; }
.public-site .noscript-notice { background:#fff4d8; padding:20px; text-align:center; }
.public-site .gslide-description { background:#171216 !important; color:#fff !important; }
.public-site .gslide-title { color:#fff !important; font:16px 'Segoe UI',Arial,sans-serif !important; }
.public-site .goverlay { background:rgba(16,8,13,.96); }
.public-site .gclose, .public-site .gnext, .public-site .gprev { min-width:46px; min-height:46px; }
@media(max-width:900px) {
 .public-site .photo-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .public-site #menu-toggle { display:flex; }
 .public-site #main-navigation { flex-wrap:wrap; justify-content:flex-start; }
 .public-site #main-navigation li { flex:1 0 29%; }
 .public-site.js #main-navigation { display:none; padding:0 12px 12px; }
 .public-site.js #menu.is-open #main-navigation { display:flex; }
}
@media(max-width:600px) {
 body.public-site { background:#800000; }
 .public-site #content { padding:24px 18px 20px; }
 .public-site #member-login { top:4px; right:6px; font-size:10px; }
 .public-site #member-login a { padding:3px 8px; }
 .public-site #main-navigation li { flex-basis:100%; }
 .public-site #menu a { padding:13px 15px; }
 .public-site .photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .public-site .events-table, .public-site .events-table > tbody { display:block; }
 .public-site .events-table tr { display:grid; grid-template-columns:1fr 1fr; gap:4px 12px; margin:0 0 14px; padding:16px; border:1px solid var(--line); border-radius:8px; }
 .public-site .events-table tr:first-child, .public-site .events-table tr.event-spacer { display:none; }
 .public-site .events-table td { display:block; padding:0; width:auto !important; }
 .public-site .events-table td:nth-child(1):not([colspan]), .public-site .events-table td:nth-child(3), .public-site .events-table td:nth-child(5), .public-site .events-table td:nth-child(7) { width:auto !important; }
 .public-site .events-table td:nth-child(5), .public-site .events-table td:nth-child(7) { grid-column:1/-1; }
 .public-site .events-table td:nth-child(5) { font-size:18px; font-weight:600; margin-top:7px; }
 .public-site .events-table td:nth-child(7) { font-size:14px; color:var(--muted) !important; }
 .public-site .events-table td:nth-child(3) { text-align:right; }
 .public-site .reservation-table, .public-site .reservation-table tbody, .public-site .reservation-table tr, .public-site .reservation-table td { display:block; width:100% !important; }
 .public-site .reservation-table td:first-child { width:100% !important; font-weight:600; }
 .public-site .reservation-table tr { margin-bottom:12px; }
 .public-site #footer { flex-direction:column; align-items:flex-start; padding:20px; gap:4px; }
 .public-site .cookie-banner { bottom:10px; width:calc(100% - 20px); padding:20px; max-height:calc(100dvh - 20px); }
 .public-site .cookie-actions { display:grid; grid-template-columns:1fr; }
 .public-site .cookie-actions button { width:100% !important; }
 .public-site dialog { padding:20px; }
}
@media(prefers-reduced-motion:reduce) { .public-site *, .public-site *::before, .public-site *::after { transition:none !important; animation:none !important; scroll-behavior:auto !important; } }
@media print {
 html, body.public-site { min-width:0; background:white; color:black; }
 .public-site #header, .public-site #menu, .public-site #footer, .public-site .cookie-banner, .public-site dialog, .public-site .skip-link, .glightbox-container { display:none !important; }
 .public-site #main { width:100%; box-shadow:none; }
 .public-site #content { padding:0; }
 .public-site .photo-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
/* Existing HTML authored in the CMS, including the Abonma programme. */
.public-site #content .cms-table { width:100% !important; max-width:100%; table-layout:fixed; }
.public-site #content .cms-layout-table td { width:auto !important; }
.public-site .cms-table-scroll { width:100%; overflow-x:auto; }
.public-site #content .cms-table-scroll table { min-width:580px; }
.gallery-counter { position:absolute; top:18px; left:22px; z-index:5; color:white; font:14px/1.4 'Segoe UI',Arial,sans-serif; padding:8px 12px; border-radius:20px; background:#0006; pointer-events:none; }
@media(max-width:600px) {
 .public-site #content .cms-layout-table, .public-site #content .cms-layout-table > tbody { display:block; }
 .public-site #content .cms-layout-table tr { display:block; margin-bottom:16px; padding:16px; border:1px solid var(--line); border-radius:7px; }
 .public-site #content .cms-layout-table td { display:block; width:100% !important; padding:4px 0; }
 .public-site #content .cms-layout-table .cms-empty { display:none; }
}/* Reserve the embed area to avoid moving links while external content loads. */
.public-site .embed-wrapper { position:relative; aspect-ratio:16/9; min-height:210px; }
.public-site .embed-wrapper iframe, .public-site .embed-wrapper .embed-placeholder { position:absolute; inset:0; width:100%; height:100% !important; margin:0; }
.public-site .embed-wrapper .embed-placeholder { overflow:auto; }
/* Footer and public navigation refinements. */
.public-site #header { background-color:var(--wine); }
.public-site #footer { min-height:64px; padding:10px 22px; flex-direction:row; justify-content:flex-end; align-items:center; }
.public-site .cookie-settings-link { position:relative; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:10px; border:1px solid #ffffff55; border-radius:50%; background:transparent; color:white; text-decoration:none; }
.public-site .cookie-settings-link:hover, .public-site .cookie-settings-link:focus-visible { background:#ffffff18; border-color:white; }
.public-site .cookie-settings-link svg { flex-shrink:0; }
.public-site .cookie-tooltip { position:absolute; bottom:calc(100% + 10px); right:0; padding:6px 10px; border-radius:4px; background:#fff; color:var(--wine); box-shadow:0 3px 15px #0002; white-space:nowrap; font-size:12px; line-height:1.5; pointer-events:none; opacity:0; visibility:hidden; }
.public-site .cookie-settings-link:hover .cookie-tooltip, .public-site .cookie-settings-link:focus-visible .cookie-tooltip { opacity:1; visibility:visible; }
.public-site .local-embed-note { margin:16px 0 8px; padding:10px 14px; border-left:3px solid var(--wine); background:#f8f2f0; color:var(--muted); font-size:13px; }

.public-site #header { background-image:url('../images/header.jpg?v=639278541182280693'); }

/* Full header image with a separate white navigation bar. */
.public-site #header { aspect-ratio:1000 / 212; background-size:100% 100%; }
.public-site #menu { background:#fff; color:var(--wine); }
.public-site #main-navigation { padding:10px 12px; gap:4px; }
.public-site #menu a, .public-site #menu a:visited { color:var(--wine); border-radius:999px; padding:12px 15px; }
.public-site #menu a:hover, .public-site #menu a:focus-visible { background:#8000000d !important; color:var(--wine); }
.public-site #menu a[aria-current], .public-site #menu a[aria-current]:hover, .public-site #menu a[aria-current]:focus-visible { background:var(--wine) !important; color:#fff; }
.public-site #menu-toggle { color:var(--wine); }
@media(max-width:900px) {
 .public-site.js #main-navigation { padding:0 12px 12px; }
}
/* Clean joins between the header, navigation and content. */
.public-site #menu { box-shadow:none; border:0; }
.public-site #header { border:0; }

/* Preserve the full header artwork, including its original transition to white. */
.public-site #header { aspect-ratio:1000 / 212; background-size:100% auto; background-position:top center; }
.public-site #main { box-shadow:none; }

/* Separator spans must not create full text-height blank rows. */
.public-site .events-table td[colspan] { font-size:0; line-height:0; }
.public-site .events-table td[colspan] > span { display:block; }
@media(max-width:600px) {
 .public-site .events-table tr { margin-bottom:8px; padding:8px 12px; gap:0 10px; }
 .public-site .events-table td { line-height:1.45; }
 .public-site .events-table td:nth-child(5) { margin-top:2px; font-size:17px; }
}
/* Compact empty presentation rows on all public content pages. */
.public-site .content-table > tbody > .public-spacer > td { height:6px !important; padding:0 !important; font-size:0; line-height:0; }
.public-site .content-table > tbody > .public-divider > td { height:1px !important; padding:0 !important; font-size:0; line-height:0; }
.public-site .content-table > tbody > .public-divider > td > span { display:block; height:1px !important; }
.public-site .embed-wrapper.embed-at-end { margin-bottom:0; }

/* Keep all premiere years and descriptions at the same readable size. */
.public-site .content-table .premiere-entry { font-size:16px !important; }
.public-site .content-table .premiere-entry span { font-size:inherit !important; }

/* Show summaries: generous copy column, compact poster, full-width mobile content. */
.public-site .content-table > tbody > .show-summary > td { width:auto !important; padding:0 0 6px !important; }
.public-site .show-layout { display:flow-root; }
.public-site .show-copy { min-width:0; text-align:left; }
.public-site .show-poster { float:right; width:150px; margin:0 0 12px 22px; text-align:right; }
.public-site .show-poster img { display:inline-block; width:auto; max-width:100%; }
@media(max-width:600px) {
 .public-site .show-layout { display:flex; flex-direction:column; gap:12px; }
 .public-site .show-poster { float:none; order:-1; align-self:center; width:100%; max-width:180px; margin:0; text-align:center; }
}
/* Spacing trial 2026-10-17: remove this block to revert only the last spacing change.
   Previous values: content spacers 6px; schedule spacers 3px; mobile event gap 8px. */
.public-site .content-table > tbody > .public-spacer:has(+ .public-divider) > td,
.public-site .content-table > tbody > .public-divider + .public-spacer > td { height:20px !important; }
.public-site .events-table tr:has(+ tr > td > span[style*="background-color:#E8E8E8"]) > td,
.public-site .events-table tr:has(> td > span[style*="background-color:#E8E8E8"]) + tr > td { height:8px !important; }
@media(max-width:600px) {
 .public-site .events-table tr:not(.event-spacer) { margin-bottom:14px; }
}
@media(max-width:600px) {
 .public-site .events-table td:first-child:not([colspan]) { padding-left:0 !important; }
}

/* Uniform typography throughout the past subscription seasons. */
.public-site .past-seasons { font-size:16px; }
.public-site .past-seasons * { font-size:inherit !important; }

.public-site .past-seasons .season-heading { margin-bottom:4px !important; }

/* Current subscription programme: full content width, no legacy blank side columns. */
.public-site #content .current-subscription-table { display:block; width:100% !important; border-collapse:collapse; border-spacing:0; margin:12px 0 16px; font-size:16px; }
.public-site #content .current-subscription-table * { font-size:inherit !important; }
.public-site #content .current-subscription-table tbody { display:block; }
.public-site #content .current-subscription-table tr { display:grid; grid-template-columns:130px 180px minmax(0,1fr); gap:20px; margin:0; padding:16px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; }
.public-site #content .current-subscription-table td { display:block; min-width:0; width:auto !important; padding:0 !important; text-align:left; }
.public-site #content .current-subscription-table .cms-empty { display:none; }
.public-site #content .current-subscription-table .subscription-number { font-weight:600; }
@media(max-width:600px) {
 .public-site #content .current-subscription-table tr { grid-template-columns:minmax(0,1fr); gap:6px; padding:14px 0; }
}
.public-site #content .current-subscription-table { margin-top:30px; margin-bottom:6px; }
.public-site #content .current-subscription-table tr:first-child { padding-top:8px; }
.public-site #content .subscription-notice { display:block; font-size:16px !important; line-height:1.45; margin:32px 0 32px; }
/* Centered toggle and a compact, aligned four-column menu at intermediate widths. */
@media(max-width:900px) {
 .public-site #menu-toggle { margin-inline:auto; }
}
@media(min-width:601px) and (max-width:900px) {
 .public-site #main-navigation { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); width:100%; max-width:640px; margin-inline:auto; gap:4px; }
 .public-site.js #menu.is-open #main-navigation { display:grid; }
 .public-site #main-navigation li { min-width:0; }
 .public-site #menu a { width:max-content; max-width:100%; margin-inline:auto; text-align:center; }
}
/* Reservation heading: reduce the measured introductory gap by approximately 40%. */
.public-site .reservation-content > b:first-child { margin-bottom:31.5px; }
.public-site .reservation-content > b:first-child + br,
.public-site .reservation-content > b:first-child + br + br { display:none; }
/* Wide logo aligned to the content, with centered navigation underneath. */
.public-site #header { position:relative; aspect-ratio:auto; height:auto; min-height:0; padding:15px 30px 0; background:#fff; }
.public-site .header-home { position:relative; inset:auto; display:block; width:100%; height:auto; margin:0 auto 15px; }
.public-site .header-home img { display:block; width:100%; height:auto; }
.public-site #member-login { top:15px; right:30px; z-index:25; }
.public-site #header #menu { position:relative; inset:auto; transform:none; width:100%; margin:0; padding:0; background:#fff; }
.public-site #header #main-navigation { justify-content:center; padding:0 0 12px; gap:4px; }
.public-site #header #menu a { padding:10px 12px; font-size:16px; white-space:nowrap; }
@media(max-width:900px) {
 .public-site #header #menu-toggle { position:static; transform:none; display:flex; justify-content:center; align-items:center; margin:0 auto; padding:0; width:44px; height:44px; min-height:44px; font-size:22.4px; line-height:1; }
 .public-site #header #menu-toggle span { display:block; margin:0; }
 .public-site #header #main-navigation { padding:0 0 12px; }
 .public-site #header #menu a { padding:12px 15px; font-size:17px; }
}
@media(max-width:600px) {
 .public-site #header { padding-inline:18px; }
 .public-site #member-login { top:15px; right:18px; }
}

/* Plain member link and 20px between the logo and navigation. */
.public-site .header-home { margin-bottom:20px; }
.public-site #member-login { text-align:right; }
.public-site #member-login a, .public-site #member-login a:visited { padding:0; border:0; border-radius:0; background:transparent; color:#000; }
.public-site #member-login a:hover, .public-site #member-login a:focus-visible { background:transparent; color:#000; }

/* Match the member link typography to the public navigation. */
.public-site #member-login { font:600 16px/1.4 'Segoe UI',Arial,sans-serif; }
@media(max-width:900px) {
 .public-site #member-login { font-size:17px; }
}

/* Reduce the gap below the public menu by 10px. */
.public-site #content { padding-top:22px; }
@media(max-width:600px) {
 .public-site #content { padding-top:14px; }
}

@media(max-width:600px) {
 .public-site #member-login { font-size:11.9px; text-align:right; right:18px; }
}

@media(max-width:900px) {
 .public-site #header #menu-toggle { font-size:26.88px; position:relative; top:-5px; }
}

/* Subtle member link and 20px top whitespace. */
.public-site #header { padding-top:20px; }
.public-site #member-login { top:20px; font-size:14.4px; }
.public-site #member-login a, .public-site #member-login a:visited, .public-site #member-login a:hover, .public-site #member-login a:focus-visible { color:#777; }
@media(max-width:900px) {
 .public-site #member-login { font-size:15.3px; }
}
@media(max-width:600px) {
 .public-site #member-login { font-size:10.71px; }
}

@media(max-width:900px) {
 .public-site #header #menu-toggle { width:auto; max-width:100%; padding-inline:8px; gap:9px; }
 .public-site #header #menu-toggle .current-section { font:600 17px/1.4 'Segoe UI',Arial,sans-serif; }
}

/* Align the icon and current section by their visible line boxes on mobile. */
@media(max-width:900px) {
 .public-site #header #menu-toggle { display:flex; align-items:center; }
 .public-site #header #menu-toggle > span { display:flex; align-items:center; align-self:center; height:32px; line-height:32px; }
 .public-site #header #menu-toggle .current-section { line-height:32px; }
}

/* Optical text alignment beside the unchanged hamburger glyph on phones. */
@media(max-width:600px) {
 .public-site #header #menu-toggle .current-section { transform:translateY(3px); }
}

/* Safari uses different hamburger glyph metrics at wider mobile widths too. */
@supports (font: -apple-system-body) or (-webkit-touch-callout: none) {
 @media(min-width:601px) and (max-width:900px) {
  .public-site #header #menu-toggle .current-section { transform:translateY(3px); }
 }
}

/* Let small centered CMS text wrap using its own font's line height. */
.public-site #content center > span[style*='font-size'] { display:inline-block; max-width:100%; line-height:1.5; }
