/* Shared responsive design for all 20 public site pages. */
:root{--wine:#713c2b;--wine-d:#51291f;--green:#3d5143;--bg:#f7f5f0;--dark:#303b34;--muted:#656b63;--line:#e4ddcf}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{min-height:100vh;overflow-wrap:break-word}
.site-top{position:relative;z-index:15;background:#51291f}
.site-top .top-inner{max-width:1240px;padding:14px 24px;gap:25px}
.brand{flex-shrink:0}
.brand-name{white-space:nowrap}
.site-nav{display:flex;align-items:center;gap:3px;flex-wrap:wrap;font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif}
.site-nav .nav-item,.site-nav .nav-group>summary{display:block;color:#fff0e5;padding:11px 10px;font-size:13px;line-height:1.35;font-weight:650;text-decoration:none;border-radius:4px;cursor:pointer;white-space:nowrap}
.site-nav .nav-item:hover,.site-nav .nav-group>summary:hover,.site-nav .nav-item[aria-current="page"]{background:#ffffff23;color:#fff}
.site-nav .nav-item:focus-visible,.site-nav .nav-group>summary:focus-visible,.site-nav .nav-panel a:focus-visible{outline:3px solid #e0a245;outline-offset:2px}
.site-nav .nav-group{position:relative}
.site-nav .nav-group>summary{list-style:none;user-select:none}
.site-nav .nav-group>summary::-webkit-details-marker{display:none}
.site-nav .nav-group>summary::after{content:'⌄';font-size:15px;margin-left:5px;display:inline-block;vertical-align:1px}
.site-nav .nav-group[open]>summary{background:#ffffff20;color:#fff}
.site-nav .nav-panel{position:absolute;top:calc(100% + 8px);left:0;width:max-content;min-width:215px;max-width:min(90vw,320px);display:grid;gap:3px;padding:10px;background:#fff;color:#363930;border-radius:6px;box-shadow:0 12px 30px #110b093b;border:1px solid #dfd4c1;z-index:25}
.site-nav .nav-panel a{color:#513324;padding:10px 12px;line-height:1.4;font-size:13px;font-weight:600;text-decoration:none;border-radius:3px;white-space:normal}
.site-nav .nav-panel a:hover,.site-nav .nav-panel a[aria-current="page"]{background:#f3ebe1;color:#51291f}
.site-nav .nav-group:nth-last-child(-n+4) .nav-panel{left:auto;right:0}
.footer{padding:45px 0 26px;background:#2c312b}
.footer-grid{max-width:1240px;grid-template-columns:minmax(200px,1fr) minmax(0,2fr);gap:55px}
.footer h2{color:#fff}
.footer-about p{max-width:360px}
.footer-nav-title{font:700 15px/1.35 system-ui,sans-serif!important;margin:0 0 9px!important;color:#e9dcc8!important}
.footer .site-nav{align-items:flex-start;gap:3px 7px}
.footer .site-nav .nav-item,.footer .site-nav .nav-group>summary{font-size:12px;padding:9px 7px;color:#f4eadc}
.footer .site-nav .nav-panel{top:auto;bottom:calc(100% + 7px)}
.footer .site-nav .nav-panel a{color:#513324}
.footer .copyright{max-width:1192px}
.breadcrumbs{padding-top:17px;padding-bottom:17px}
.breadcrumbs ol{max-width:100%;min-width:0}
.breadcrumbs li:last-child{overflow-wrap:anywhere}
.hero-inner{max-width:1200px;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)}
.hero-visual{min-height:260px}
.hero-visual .primary{min-height:270px;max-height:420px;object-position:center}
.hero h1{overflow-wrap:break-word}
.hero .dek{max-width:660px}
main .main-grid{max-width:1200px;gap:55px}
.legacy-article .archive-body{font-size:16px;line-height:1.86;color:#414941}
.legacy-article .archive-body>h2:first-child{margin-top:0}
.legacy-article .archive-body h2{font:700 clamp(1.5rem,2.3vw,1.85rem)/1.3 Georgia,serif;color:#653422;margin:34px 0 14px}
.legacy-article .archive-body h2 br{display:none}
.legacy-article .archive-body img{max-width:100%;height:auto}
.legacy-article .archive-body img:not([src*='title_']){border-radius:4px}
.legacy-article .archive-body img[src*='title_']{max-height:40px;width:auto;margin:6px 0;object-fit:contain}
.legacy-article .archive-body table{width:auto;max-width:100%;border:0;background:transparent;margin:18px 0}
.legacy-article .archive-body table td{padding:8px;border:0;background:transparent;font-size:inherit;vertical-align:top}
.legacy-article .archive-body table img{max-width:100%;height:auto}
.legacy-article .archive-body table.archive-gallery-table{width:100%;table-layout:fixed}
.legacy-article .archive-body table.archive-gallery-table td{width:50%}
.legacy-article .archive-body table.archive-gallery-table img{width:100%;object-fit:contain;max-height:260px}
.legacy-article .archive-body div[style*='text-align: center']{text-align:center}
.legacy-article .archive-body .h1{font:700 23px/1.3 Georgia,serif;color:#653422}
.archive-feature{background:#fff;border:1px solid var(--line);border-radius:6px;padding:21px;margin-top:32px}
.archive-feature h2{margin-top:0!important}
.archive-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.archive-gallery h2{grid-column:1/-1}
.archive-gallery .archive-thumbnail{display:block}
.archive-gallery .archive-thumbnail img{width:100%;height:85px;object-fit:cover;border-radius:4px}
.archive-gallery .archive-thumbnail:hover img{outline:2px solid #b1876c}
.sidebar .side-card a[aria-current="page"]{font-weight:800;text-decoration:underline}
@media(max-width:1150px){.site-top .top-inner{flex-direction:column;align-items:flex-start;gap:8px}.site-nav{width:100%;gap:4px}.hero-inner{gap:32px}}
@media(max-width:850px){.main-grid{gap:26px!important}}
@media(max-width:660px){.site-top .top-inner{padding:13px 18px;gap:12px}.site-nav{gap:4px 3px}.site-nav .nav-item,.site-nav .nav-group>summary{padding:8px 8px;font-size:12px}.site-nav .nav-panel{min-width:180px;max-width:80vw;top:100%}.site-nav .nav-group:nth-child(4) .nav-panel,.site-nav .nav-group:nth-child(5) .nav-panel{left:auto;right:0}.hero-visual .primary{min-height:0;height:260px}.hero-inner{padding-bottom:24px}.sidebar{order:0!important}.side-card:first-child{display:block!important}.footer-grid{grid-template-columns:1fr;gap:22px}.footer .site-nav .nav-item,.footer .site-nav .nav-group>summary{padding:9px 7px}.legacy-article .archive-body{font-size:15px}.legacy-article .archive-body table.archive-gallery-table td{padding:4px}.archive-feature{padding:15px}.article h2{scroll-margin-top:15px}}
@media(max-width:370px){.brand-name{font-size:17px}.site-nav .nav-item,.site-nav .nav-group>summary{font-size:11px;padding:7px 6px}}
@media print{.site-top,.footer,.sidebar{display:none!important}.hero-visual{display:none!important}}
.archive-welcome{margin-top:34px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:5px}
.archive-welcome h2{margin:0 0 12px!important}
.archive-welcome p:last-child{margin-bottom:0}
/* Do not depend on user-agent details styling to hide closed dropdowns. */
.site-nav .nav-group:not([open])>.nav-panel{display:none!important}
.site-nav .nav-group[open]>.nav-panel{display:grid}
/* Flex avoids narrow headings in engines with partial CSS Grid support. */
.archive-gallery{display:flex;flex-wrap:wrap;align-items:start;gap:9px}
.archive-gallery h2{width:100%;flex:0 0 100%;overflow-wrap:normal}
.archive-gallery .archive-thumbnail{flex:0 0 calc(50% - 5px);max-width:calc(50% - 5px)}
