/* Mahonie concierge: compact, softly framed and keyboard accessible. */
html body#html-body .mh-concierge-panel{width:336px;right:90px;bottom:26px;padding:18px;border-radius:24px;border:1px solid #c3b68d8a;background:linear-gradient(145deg,#fffefbf7,#f6f3eaf5);box-shadow:0 24px 80px #26302129,0 2px 12px #26302112;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);max-height:calc(100dvh - 100px);overflow:auto;overscroll-behavior:contain;isolation:isolate}
html body#html-body .mh-concierge-panel:not([hidden]){animation:mh-panel-arrive .28s cubic-bezier(.2,.75,.3,1) both;transform-origin:bottom right}
html body#html-body .mh-concierge-panel .mh-concierge-heading{display:flex;align-items:center;justify-content:space-between;border:0;padding:0 0 14px;margin:0 0 4px;position:static;background:transparent;box-shadow:none;min-height:44px}
.mh-concierge-identity{display:flex;align-items:center;gap:10px}.mh-concierge-identity>img{width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 2px 3px #28302120)}
html body#html-body .mh-concierge-panel header .mh-concierge-kicker{font-size:8px!important;letter-spacing:.16em!important;font-weight:600;color:#727861;margin:0 0 4px!important}
html body#html-body .mh-concierge-panel header strong{font-size:15px!important;line-height:1.3!important;font-weight:500!important;color:#303c2b}
html body#html-body #mh-concierge-close{display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border:1px solid #6a715424;border-radius:50%;background:#ffffff90;color:#45513c;transition:background .2s,transform .2s;flex:0 0 44px}
#mh-concierge-close svg{fill:none;stroke:currentColor;stroke-width:1.4}#mh-concierge-close:hover{transform:rotate(90deg);background:#eee9dc!important}
html body#html-body .mh-chat-log{padding:14px;border:1px solid #78826422;background:#fffdfa;border-radius:16px;min-height:75px;max-height:min(230px,35dvh);scrollbar-width:thin;scrollbar-color:#bdc2b0 transparent;box-shadow:inset 0 1px 2px #30402504;overflow:auto}
html body#html-body .mh-chat-log p{font-size:12px;line-height:1.75;margin:0}.mh-chat-welcome>span{display:block;font-size:11px;line-height:1.7;color:#727566;margin-top:5px}.mh-chat-log>p,.mh-chat-log>.mh-chat-answer{animation:mh-message-arrive .22s ease-out both}
html body#html-body .mh-chat-user{background:#e9eddf;border:1px solid #ccd3be55;border-radius:14px 14px 4px 14px;padding:9px 11px;margin:12px 0 10px!important;color:#37432e}.mh-chat-answer{font-size:12px;line-height:1.75;white-space:pre-line;padding:8px 0;color:#444e3b}.mh-chat-answer nav{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px;white-space:normal}.mh-chat-answer nav a{font-size:10px;padding:5px 8px;border:1px solid #78826444;border-radius:9px;text-decoration:none}.mh-chat-answer small{display:block;color:#737969;font-size:10px;line-height:1.5;margin-top:7px}
.mh-chat-prompts{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 14px}html body#html-body .mh-chat-prompts button{border:1px solid #77835d38;border-radius:999px;background:#fffdf8;color:#596249;min-height:34px;padding:6px 10px;font-size:9px;font-weight:500;letter-spacing:.015em;transition:background .2s,border-color .2s,transform .2s}.mh-chat-prompts button:hover{background:#e8eddf!important;border-color:#79845e!important;transform:translateY(-1px)}
html body#html-body #mh-chat-form{display:flex;gap:7px;margin:0;padding:5px;border:1px solid #8a947552;border-radius:16px;background:#fffefa;box-shadow:0 3px 10px #26302106;transition:border-color .2s,box-shadow .2s}
html body#html-body #mh-chat-form:focus-within{border-color:#8d9064;box-shadow:0 0 0 3px #a1a87517}
html body#html-body #mh-chat-form input{min-width:0;width:0;flex:1;min-height:42px;height:42px;background:transparent;border:0;border-radius:11px;padding:9px 8px;font-size:13px;box-shadow:none;outline:none;color:#34422e}
html body#html-body #mh-chat-form button{display:flex;align-items:center;gap:5px;justify-content:center;min-height:42px;height:42px;padding:0 12px;border:0;border-radius:12px;background:linear-gradient(140deg,#4b5c3f,#34432e);color:#fff;font-size:10px;box-shadow:0 3px 7px #26302114;transition:transform .2s,box-shadow .2s}
#mh-chat-form button svg{fill:none;stroke:currentColor;stroke-width:1.6}#mh-chat-form button:hover{transform:translateY(-1px);box-shadow:0 5px 12px #26302120}#mh-chat-form[aria-busy=true] button{animation:mh-thinking 1.4s ease-in-out infinite;cursor:wait;opacity:.8}
html body#html-body .mh-chat-note{font-size:9px!important;line-height:1.65!important;color:#858879;margin:10px 3px!important}.mh-chat-footer{display:flex;justify-content:center;align-items:center;gap:10px;margin:11px 0 0;padding:10px 0 0!important;background:transparent!important;border-top:1px solid #6d795b20;color:#8b8d7c;font-size:9px}.mh-chat-footer a{font-size:9px!important;letter-spacing:.02em;color:#657154}.mh-concierge-panel :is(button,a):focus-visible{outline:2px solid #9b9a6d;outline-offset:3px}
/* A quiet, image-led Journal with all article text following the hero. */
html body#html-body .mh-journal-article>.mh-article-hero{height:clamp(280px,39vw,510px);margin:0;border-radius:0;position:relative;background:#e9e6dc}.mh-journal-article>.mh-article-hero img{object-position:center;animation:mh-hero-arrive .7s ease-out both}
html body#html-body .mh-article-heading{padding:54px 28px 28px;min-height:0;max-width:970px;margin:0 auto;background:transparent;text-align:center;display:block;box-sizing:border-box}
html body#html-body .mh-article-heading h1{font-family:var(--mahonie-ui-font)!important;font-size:clamp(29px,3.5vw,48px);line-height:1.18;font-weight:400;letter-spacing:-.025em;margin:18px auto;max-width:850px}
html body#html-body .mh-article-heading .mh-eyebrow{font-size:10px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:#7d8067;margin:0}.mh-article-heading .mh-article-deck{max-width:690px;margin:0 auto;font-size:15px;line-height:1.85;color:#666d5e}
html body#html-body .mh-article-byline{margin:22px auto 0;padding-top:18px;border-top:1px solid #747e5e24;gap:8px 18px;font-size:9px;letter-spacing:.035em;color:#8a8c7a}
html body#html-body .mh-article-crumbs{justify-content:center;padding:12px 24px 20px;gap:8px;font-size:9px;color:#898e7c;line-height:1.6;max-width:970px}.mh-article-crumbs a{text-decoration:none}.mh-article-crumbs a:hover{text-decoration:underline}
html body#html-body .mh-reading-layout{grid-template-columns:180px minmax(0,700px);gap:54px;max-width:1110px;padding:20px 30px 70px}.mh-reading-aside{top:calc(var(--mh-chrome-offset,92px) + 24px);padding:12px 0;font-size:11px}.mh-reading-aside nav{gap:11px}.mh-reading-aside nav a{font-size:10px;line-height:1.7;border-left-color:#b7bba444}.mh-reading-aside summary{font-size:9px;letter-spacing:.12em}.mh-reading-aside .mh-copy-article{border-radius:999px;background:transparent;font-size:10px;padding:9px 12px;min-height:40px}
html body#html-body .mh-reading-copy{font-family:var(--mahonie-ui-font)!important;font-size:16px;line-height:1.95;letter-spacing:.003em;color:#414a39;max-width:700px}.mh-reading-copy p{margin:0 0 24px}.mh-reading-copy h2{font-size:clamp(23px,2.5vw,29px);line-height:1.35;font-weight:400;letter-spacing:-.02em;margin:42px 0 18px}.mh-reading-copy h3{font-size:18px;font-weight:500;line-height:1.5;letter-spacing:-.012em}.mh-reading-copy :is(h2,h3)[id]{scroll-margin-top:calc(var(--mh-chrome-offset,92px) + 24px)}
html body#html-body .journal-answer{padding:26px 28px;background:linear-gradient(130deg,#e9ecdf,#f2f1e6);border:1px solid #89966c25;border-radius:18px;margin:0 0 34px;box-shadow:none}.journal-answer .mh-eyebrow{font-size:9px;letter-spacing:.13em}.journal-answer p:not(.mh-eyebrow){font-size:15px;line-height:1.85}.mh-reading-copy .journal-practical{margin:0}.mh-reading-copy .journal-faq{margin:52px 0 34px;padding:30px;border:1px solid #7e8b5b2b;border-radius:22px;background:#fffdf877}.journal-faq>h2{margin:0 0 24px!important;font-size:25px}.journal-faq h3{padding-top:22px;border-top:1px solid #7e8b5b20;margin:26px 0 12px;font-size:16px!important;font-weight:500!important}.journal-faq p{font-size:14px;line-height:1.9}.journal-faq p:last-child{margin-bottom:0}.mh-reading-copy .journal-sources{font-size:11px;line-height:1.85;color:#818675;padding-top:20px}.journal-sources h2{font-size:14px!important;margin:0 0 12px!important}
html body#html-body .mh-journal-pairings,html body#html-body .mh-journal-related{padding:50px 30px;max-width:1280px}.mh-journal-section-title h2{font-size:30px}.mh-journal-grid{gap:30px}.mh-story-image{border-radius:12px;overflow:hidden}.mh-story-image img{transition:transform .65s}.mh-story-image:hover img{transform:scale(1.025)}.mh-story-info{padding-top:18px}.mh-story-info h2,.mh-story-info h3{font-size:23px!important;line-height:1.4!important;font-weight:400;letter-spacing:-.02em}.mh-story-info>p:not(.mh-story-meta){font-size:13px;line-height:1.85;color:#69715f}.mh-story-meta{font-size:9px;letter-spacing:.08em}.mh-journal-topics a{border-radius:999px;font-size:11px;padding:9px 15px;min-height:40px}.mh-journal-tools input,.mh-journal-tools button{border-radius:12px}
@keyframes mh-panel-arrive{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes mh-message-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes mh-thinking{0%,100%{filter:brightness(1)}50%{filter:brightness(1.2)}}@keyframes mh-hero-arrive{from{opacity:.75}to{opacity:1}}
@media(max-width:900px){html body#html-body .mh-reading-layout{grid-template-columns:1fr;gap:18px;max-width:760px;padding:12px 26px 48px}.mh-reading-aside{position:static;max-height:none;border-top:1px solid #7e8b5b25;border-bottom:1px solid #7e8b5b25;padding:14px 0}.mh-reading-aside nav{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mh-reading-aside button{margin-top:12px}.mh-reading-copy{max-width:none}.mh-reading-aside details:not([open])~.mh-copy-article{display:none}}
@media(max-width:600px){html body#html-body .mh-concierge-panel{right:12px;bottom:132px;width:min(336px,calc(100vw - 24px));padding:15px;border-radius:22px;max-height:calc(100dvh - 160px)}html body#html-body #mh-chat-form input{font-size:16px}html body#html-body .mh-chat-prompts button{font-size:9px;min-height:40px}.mh-chat-prompts{gap:5px;margin:10px 0}.mh-concierge-panel .mh-chat-log{max-height:28dvh!important}.mh-chat-footer{margin-top:8px}.mh-journal-article>.mh-article-hero{height:280px!important}html body#html-body .mh-article-heading{padding:32px 22px 20px}.mh-article-heading .mh-article-deck{font-size:13px;line-height:1.9}.mh-article-byline{font-size:8px!important;gap:7px 12px!important}.mh-article-crumbs{font-size:8px!important;padding:6px 22px 16px!important}html body#html-body .mh-reading-copy{font-size:15px;line-height:1.95}.mh-reading-copy h2{font-size:23px}.mh-reading-copy .journal-answer{padding:20px;border-radius:15px}.journal-answer p:not(.mh-eyebrow){font-size:14px}.mh-reading-copy .journal-faq{padding:22px 20px;border-radius:18px}.journal-faq h3{font-size:15px!important}.journal-faq p{font-size:13px}.mh-reading-aside nav{grid-template-columns:1fr}.mh-journal-pairings,.mh-journal-related{padding:36px 22px!important}.mh-journal-grid{gap:25px}.mh-story-info h2,.mh-story-info h3{font-size:21px!important}}
@media(prefers-reduced-motion:reduce){html body#html-body .mh-concierge-panel,html body#html-body .mh-chat-log>*,html body#html-body #mh-chat-form button,.mh-journal-article>.mh-article-hero img{animation:none!important}.mh-concierge-panel *,.mh-story-image img{transition:none!important}}

html body#html-body #mh-chat-form input,html body#html-body #mh-chat-form button{height:44px;min-height:44px}html body#html-body .mh-chat-prompts button{font-size:10px}html body#html-body .mh-chat-note{font-size:10px!important}.mh-chat-footer a{font-size:10px!important}
@media(max-width:600px){html body#html-body .mh-concierge-panel{bottom:var(--mh-chat-bottom,132px);max-height:var(--mh-chat-available-height,calc(100dvh - 160px))}html body#html-body .mh-chat-prompts button{min-height:44px;font-size:10px}}

html body#html-body .mh-reading-copy h2{font-size:clamp(23px,2.5vw,29px);font-weight:400;line-height:1.35;margin:42px 0 18px}html body#html-body .mh-reading-aside{top:calc(var(--mh-chrome-offset,92px) + 24px)}
@media(max-width:900px){html body#html-body .mh-reading-aside{position:static;max-height:none}}
@media(max-width:600px){html body#html-body .mh-reading-copy h2{font-size:23px}html body#html-body .mh-reading-layout{display:grid}}
