/* Photo gallery: loaded only on its index, knowledge index and linked articles. */
.mk-gallery-page{--gallery-ink:#28483e;--gallery-paper:#fbf8f2;--gallery-line:#d8d2c5;color:var(--gallery-ink)}
.mk-gallery-page [hidden],.mk-gallery-related [hidden],.mk-photo-viewer [hidden]{display:none!important}
.mk-gallery-hero{display:grid;grid-template-columns:1.4fr 1fr;gap:9%;padding:38px 0 48px;border-bottom:1px solid #d8d2c5}
.mk-gallery-hero .backlink{display:block;margin-bottom:28px;font-size:14px}
.mk-gallery-hero h1{font-size:clamp(42px,5.8vw,78px);line-height:1.03;letter-spacing:-.035em;margin:18px 0 24px;max-width:700px}
.mk-gallery-hero h1 em{color:#ad462e;font-style:italic;font-weight:400}
.mk-gallery-hero p{max-width:650px;font-size:17px;line-height:1.8}
.mk-gallery-intro{align-self:center;padding:20px 0 20px 34px;border-left:1px solid #cfc8bb}
.mk-gallery-total{font-family:Georgia,serif;font-size:76px;line-height:1;display:block;letter-spacing:-.04em}
.mk-gallery-total small{display:block;font-family:inherit;letter-spacing:0;font-size:22px;margin:12px 0 22px}
.mk-gallery-intro p{font-size:15px;line-height:1.75}
.mk-gallery-fineprint{display:block;font-size:12px;line-height:1.7;color:#625f53}
.mk-gallery-browser{padding-top:40px;scroll-margin-top:30px}
.mk-gallery-search-row{display:flex;gap:24px;align-items:end;justify-content:space-between;margin-bottom:25px}
.mk-gallery-search-row>div{width:min(100%,640px)}
.mk-gallery-search-row label{display:block;font-size:16px;font-weight:650;margin-bottom:10px}
.mk-gallery-search-row input{width:100%;min-height:56px;padding:15px 18px;border:1px solid #bcb9ab;border-radius:8px;background:#fffdf9;color:#28483e;font:inherit;font-size:16px}
.mk-gallery-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.mk-gallery-filters button{appearance:none;font:inherit;font-size:13px;line-height:1.4;padding:11px 15px;min-height:44px;border:1px solid #d8d2c5;border-radius:30px;background:transparent;color:#28483e;cursor:pointer;box-shadow:none}
.mk-gallery-filters button[aria-pressed=true]{background:#28483e;color:#fff;border-color:#28483e}
.mk-gallery-filters button:hover{border-color:#28483e}
.mk-gallery-count{font-size:13px;color:#625f53;margin:24px 0 18px;min-height:20px}
.mk-gallery-active-guide{display:flex;gap:15px;justify-content:space-between;align-items:center;padding:14px 18px;background:#e9ede5;border-left:3px solid #547a60;border-radius:4px;font-size:14px}
.mk-gallery-active-guide button{border:0;padding:10px;background:transparent;color:#28483e;text-decoration:underline;cursor:pointer;white-space:nowrap;font:inherit;font-size:13px}
.mk-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 26px}
.mk-gallery-card{min-width:0;padding:0;background:#fffdf9;border:1px solid #ded7ca;border-radius:10px;overflow:hidden;box-shadow:0 5px 16px #30272004;transition:border-color .18s}
.mk-gallery-card:hover{border-color:#9b9f8f}
.mk-gallery-cover{display:block;position:relative;overflow:hidden;aspect-ratio:3/2;background:#d7d6c9}
.mk-gallery-cover img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0;transition:transform .25s}
.mk-gallery-cover:hover img{transform:scale(1.025)}
.mk-gallery-photo-count{position:absolute;right:12px;bottom:12px;padding:7px 10px;border-radius:5px;background:#fcfaf3f2;color:#28483e;font-size:12px;box-shadow:0 2px 10px #0001}
.mk-gallery-photo-count span{margin-left:8px}
.mk-gallery-card-body{padding:22px 23px 24px}
.mk-gallery-category{font-size:10px;letter-spacing:.095em;text-transform:uppercase;color:#775c44;font-weight:650}
.mk-gallery-card h3{font-size:25px;line-height:1.2;margin:10px 0 12px;color:#28483e}
.mk-gallery-card h3 a{text-decoration:none;color:inherit}
.mk-gallery-card h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.mk-gallery-card p{font-size:14px;line-height:1.65;color:#665f53;margin:0}
.mk-gallery-more-wrap{display:flex;justify-content:center;margin:36px 0 12px}
.mk-gallery-more-wrap button{min-width:260px;min-height:48px;cursor:pointer}
.mk-gallery-empty{text-align:center;background:#eee9de;padding:40px 24px;border-radius:10px}
.mk-gallery-empty h2{font-size:30px}
.mk-gallery-bottom{padding:48px 0;margin-top:46px;border-top:1px solid #d8d2c5;max-width:760px}
.mk-gallery-bottom h2{font-size:clamp(32px,3.6vw,46px);line-height:1.15;margin:18px 0}
.mk-gallery-bottom p{line-height:1.8;margin-bottom:25px}
.mk-gallery-section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}
.mk-gallery-section-heading h2{font-size:clamp(30px,3.4vw,42px);margin:12px 0 0}
.mk-gallery-related{margin:48px 0;padding:42px 0;border-top:1px solid #d8d2c5;border-bottom:1px solid #d8d2c5}
.mk-gallery-related .mk-gallery-card h3{font-size:25px}
.mk-gallery-related .textlink{font-size:13px}
.mk-gallery-invite{display:grid;grid-template-columns:1fr 1.45fr;gap:42px;align-items:center;padding:32px;background:#eee9df;border:1px solid #dbd4c6;border-radius:12px;margin:38px 0 48px}
.mk-gallery-invite-image{display:block;aspect-ratio:3/2;border-radius:8px;overflow:hidden}
.mk-gallery-invite-image img{display:block;width:100%;height:100%;object-fit:cover}
.mk-gallery-invite h2{font-size:clamp(28px,3vw,40px);line-height:1.15;margin:12px 0 18px}
.mk-gallery-invite p{font-size:15px;line-height:1.8}
.mk-gallery-invite .textlink{display:inline-block;margin-top:8px}
/* The native dialog keeps focus inside and supports Escape without a library. */
dialog.mk-photo-viewer{box-sizing:border-box;width:min(1120px,calc(100vw - 48px));max-width:1120px;max-height:calc(100dvh - 40px);padding:0;border:1px solid #807c6e;border-radius:14px;background:#f7f3eb;color:#28483e;overflow:auto;box-shadow:0 20px 100px #0005}
dialog.mk-photo-viewer::backdrop{background:#15221dec;backdrop-filter:blur(3px)}
html.mk-gallery-open{overflow:hidden}
.mk-viewer-top{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:20px 24px}
.mk-viewer-kicker{font-size:10px;letter-spacing:.15em;color:#686551}
.mk-viewer-top h2{font-family:Georgia,serif;line-height:1.2;letter-spacing:-.02em;font-size:27px;margin:6px 0 0}
.mk-viewer-close{flex-shrink:0;width:44px;height:44px;border:1px solid #cfc8ba;border-radius:50%;background:transparent;color:#28483e;font-size:20px;cursor:pointer}
.mk-viewer-stage{height:min(56dvh,620px);position:relative;background:#1e2c25;display:flex;align-items:center;justify-content:center;touch-action:pan-y pinch-zoom}
.mk-viewer-stage>img{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;border-radius:0}
.mk-viewer-prev,.mk-viewer-next{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border:1px solid #fff8;border-radius:50%;background:#15221dde;color:#fff;font:inherit;font-size:25px;cursor:pointer;box-shadow:0 2px 15px #0002}
.mk-viewer-prev{left:14px}.mk-viewer-next{right:14px}
.mk-viewer-prev:disabled,.mk-viewer-next:disabled{opacity:.28;cursor:default}
.mk-viewer-info{display:flex;align-items:start;justify-content:space-between;gap:24px;padding:20px 24px 16px}
#mk-viewer-position{font-size:13px;font-weight:650;margin:0 0 7px}
#mk-viewer-caption{font-size:14px;line-height:1.7;color:#5c5b4e;margin:0}
#mk-viewer-error{color:#a13a29;font-size:13px}
#mk-viewer-original{font-size:13px;white-space:nowrap;padding:8px 0;text-underline-offset:4px;color:#28483e}
.mk-viewer-related{margin:0 24px 22px;padding-top:14px;border-top:1px solid #d6d0c3}
.mk-viewer-related>span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}
#mk-viewer-guides{display:flex;flex-wrap:wrap;gap:8px}
#mk-viewer-guides a{display:inline-block;border:1px solid #cfc8ba;border-radius:20px;padding:9px 13px;font-size:12px;line-height:1.45;color:#28483e;text-decoration:none;min-height:38px}
#mk-viewer-guides a:hover{background:#e8e4d8}
.mk-gallery-page :focus-visible,.mk-gallery-related :focus-visible,.mk-photo-viewer :focus-visible{outline:3px solid #b25635;outline-offset:4px}
@media(max-width:980px){
 .mk-gallery-hero{gap:40px;grid-template-columns:1.3fr 1fr}
 .mk-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
 .mk-gallery-article-grid .mk-gallery-card:last-child{grid-column:1/-1;max-width:calc(50% - 11px)}
 .mk-gallery-invite{gap:26px;padding:24px}
 .mk-gallery-section-heading{align-items:start;flex-direction:column;gap:14px}
}
@media(max-width:640px){
 .mk-gallery-hero{display:block;padding:18px 0 28px}
 .mk-gallery-hero h1{font-size:49px;margin-top:15px}
 .mk-gallery-hero p{font-size:15px;line-height:1.8}
 .mk-gallery-hero .backlink{margin-bottom:24px}
 .mk-gallery-intro{border-left:0;border-top:1px solid #d8d2c5;padding:23px 0 0;margin-top:26px}
 .mk-gallery-total{font-size:42px;display:flex;align-items:center;gap:16px}
 .mk-gallery-total small{font-size:18px;margin:0;letter-spacing:0}
 .mk-gallery-intro p{font-size:14px}
 .mk-gallery-browser{padding-top:26px}
 .mk-gallery-search-row{display:block;margin-bottom:20px}
 .mk-gallery-search-row>.textlink{display:inline-block;font-size:13px;margin-top:16px}
 .mk-gallery-filters{gap:7px}
 .mk-gallery-filters button{font-size:12px;padding:10px 12px}
 .mk-gallery-grid{grid-template-columns:1fr;gap:22px}
 .mk-gallery-article-grid .mk-gallery-card:last-child{max-width:none;grid-column:auto}
 .mk-gallery-card-body{padding:20px}
 .mk-gallery-card h3{font-size:27px}
 .mk-gallery-active-guide{align-items:start;flex-direction:column;gap:4px}
 .mk-gallery-active-guide button{padding:8px 0}
 .mk-gallery-invite{display:block;padding:20px}
 .mk-gallery-invite-image{aspect-ratio:2/1;margin-bottom:24px}
 .mk-gallery-related{margin:32px 0;padding:30px 0}
 dialog.mk-photo-viewer{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:10px}
 .mk-viewer-top{padding:16px;gap:12px}
 .mk-viewer-top h2{font-size:23px}
 .mk-viewer-stage{height:43dvh;min-height:220px}
 .mk-viewer-prev,.mk-viewer-next{width:42px;height:42px}
 .mk-viewer-prev{left:7px}.mk-viewer-next{right:7px}
 .mk-viewer-info{padding:16px;gap:12px}
 #mk-viewer-position{font-size:12px}
 #mk-viewer-caption{font-size:13px}
 #mk-viewer-original{font-size:12px}
 .mk-viewer-related{margin:0 16px 18px}
 .mk-gallery-bottom{margin-top:26px;padding:32px 0}
}
@media(prefers-reduced-motion:reduce){.mk-gallery-cover img,.mk-gallery-card{transition:none}}
