/* Shared public-page shell. Legacy utility classes remain only for page content. */
.mw-page { --ink:#1c2119; --pine:#17231b; --moss:#354934; --gold:#d5a946; --paper:#f8f1df; --line:#d7c8a9; min-height:100vh; display:flex; flex-direction:column; margin:0; color:var(--ink); background:var(--paper); font-family:'DM Sans',sans-serif; }
.mw-page *, .mw-page *::before, .mw-page *::after { box-sizing:border-box; }
.mw-page a { color:inherit; text-underline-offset:.16em; }
.mw-page a:focus-visible, .mw-page summary:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
.mw-skip { position:absolute; left:1rem; top:-4rem; z-index:10; padding:.65rem 1rem; background:var(--paper); color:var(--pine); }
.mw-skip:focus { top:1rem; }
.mw-header { position:relative; color:#fff; background:#07100d url('/site-assets/home/atmosphere-v4.webp') center 38% / cover no-repeat; border-bottom:1px solid rgb(213 169 70 / .42); }
.mw-nav { position:relative; z-index:1; width:min(1180px,100%); min-height:76px; margin:auto; padding:12px 24px; display:flex; align-items:center; gap:22px; }
.mw-brand { display:inline-flex; align-items:center; gap:10px; margin-right:auto; color:#fff; font:700 clamp(1.55rem,3vw,2rem)/1 'Cormorant Garamond',serif; text-decoration:none; letter-spacing:.01em; }
.mw-header .mw-brand, .mw-header .mw-brand span { color:#f7f0dd!important; font:400 1.65rem/1 'Cormorant Garamond',serif!important; }
.mw-brand img { width:42px; height:42px; border-radius:12px; box-shadow:0 4px 16px rgb(0 0 0 /.32); }
.mw-nav-links { display:flex; align-items:center; gap:18px; }
.mw-nav-links a { color:#f9f1de; font-size:.86rem; font-weight:600; text-decoration:none; }
.mw-nav-links a:hover { color:#f6cf71; }
.mw-button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:.55rem .9rem; border:1px solid var(--gold); border-radius:999px; font:700 .82rem/1 'DM Sans',sans-serif; letter-spacing:.025em; text-decoration:none; }
.mw-page .mw-button--gold { background:var(--gold); color:#182014; box-shadow:0 7px 18px rgb(0 0 0 / .22); }
.mw-button--gold:hover { background:#f0ca69; }
.mw-menu { display:none; position:relative; }
.mw-menu summary { list-style:none; cursor:pointer; color:#f9f1de; font-weight:700; }
.mw-menu summary::-webkit-details-marker { display:none; }
.mw-menu div { position:absolute; right:0; top:2.2rem; width:170px; padding:.5rem; background:#112017; border:1px solid rgb(213 169 70 / .7); box-shadow:0 14px 30px rgb(0 0 0 / .35); }
.mw-menu a { display:block; padding:.65rem .7rem; color:#f9f1de; text-decoration:none; }
.mw-main { width:min(900px,100%); flex:1; margin:0 auto; padding:clamp(2.4rem,6vw,5rem) 24px; }
.mw-breadcrumbs { margin:0 0 1rem; color:#67705f; font-size:.8rem; line-height:1.35; }
.mw-breadcrumbs ol { display:flex; flex-wrap:wrap; align-items:center; gap:.35rem; margin:0; padding:0; list-style:none; }
.mw-breadcrumbs a { color:inherit; font-weight:500; }
.mw-breadcrumbs [aria-hidden="true"] { color:#9a9e91; }
.mw-breadcrumbs [aria-current="page"] { color:#586050; }
.mw-header .mw-breadcrumbs { color:#e7e0c9; }
.mw-header .mw-breadcrumbs [aria-hidden="true"] { color:#bdb6a2; }
.mw-header .mw-breadcrumbs [aria-current="page"] { color:#f7f0dd; }
.mw-main.text-center .mw-breadcrumbs ol { justify-content:center; }
.mw-main h1 { margin:0 0 .35em; color:var(--pine); font:400 clamp(2.65rem,7vw,5rem)/1.05 'Cormorant Garamond',serif; letter-spacing:-.035em; }
.mw-main > h1 + p { max-width:650px; color:#586050; font-size:1.05rem; }
.mw-main h2 { color:var(--pine); font:400 clamp(1.75rem,4vw,2.35rem)/1.05 'Cormorant Garamond',serif; letter-spacing:-.02em; }
.mw-main h3 { color:#283827; font:700 1.05rem/1.25 'DM Sans',sans-serif; }
.mw-main p, .mw-main li { color:#40483c; line-height:1.7; }
.mw-main a:not(.mw-button) { color:#71591e; font-weight:600; }
.mw-main h1, .mw-main h2, .mw-main h3, .mw-main p, .mw-main li, .mw-main td, .mw-main th, .mw-main a { overflow-wrap:anywhere; }
.mw-main .flex > *, .mw-main .inline-flex > * { min-width:0; }
.mw-about-art { position:relative; margin:2rem 0 2.8rem; padding:10px; background:#e9dfc5; border:1px solid var(--line); box-shadow:8px 10px 0 #d8c8a8; transform:rotate(-.5deg); }
.mw-about-art img { display:block; width:100%; height:auto; max-height:420px; object-fit:cover; object-position:center; }
.mw-about-art figcaption { position:absolute; right:1.1rem; bottom:1.1rem; margin:0; padding:.42rem .65rem; color:#f7f0dd; background:rgb(17 28 21 / .8); font:italic 1.05rem/1 'Cormorant Garamond',serif; }
.mw-main .bg-white, .mw-main .bg-gray-50, .mw-main details { background:rgb(255 253 246 / .8)!important; border:1px solid var(--line)!important; border-radius:4px!important; box-shadow:0 8px 24px rgb(51 43 22 / .07)!important; }
.mw-main details { padding:1.1rem 1.25rem!important; }
.mw-main details + details { margin-top:.8rem; }
.mw-main summary { color:var(--pine); font-family:'Cormorant Garamond',serif; font-size:1.35rem; font-weight:700; }
.mw-main #faqList > h2, .mw-main > section > h2 { margin-top:2.5rem; padding-top:1.5rem; border-top:1px solid var(--line); }
.mw-main #faqList .mw-faq-item, .mw-main > section > details { margin:0!important; padding:0!important; background:transparent!important; border:0!important; border-bottom:1px solid var(--line)!important; border-radius:0!important; box-shadow:none!important; }
.mw-main #faqList .mw-faq-item + .mw-faq-item, .mw-main > section > details + details { margin-top:0!important; }
.mw-main #faqList .mw-faq-item summary, .mw-main > section > details summary { display:flex; align-items:center; gap:1rem; padding:1.1rem 0; cursor:pointer; list-style:none; }
.mw-main #faqList .mw-faq-item summary::-webkit-details-marker, .mw-main > section > details summary::-webkit-details-marker { display:none; }
.mw-main #faqList .mw-faq-item summary::after, .mw-main > section > details summary::after { content:'+'; flex:0 0 auto; margin-left:auto; color:var(--gold); font:400 1.8rem/1 'Cormorant Garamond',serif; }
.mw-main #faqList .mw-faq-item[open] summary::after, .mw-main > section > details[open] summary::after { content:'−'; }
.mw-main #faqList .mw-faq-item summary i, .mw-main > section > details summary > span:last-child { display:none; }
.mw-faq-answer, .mw-main > section > details > p { padding:0 0 1.25rem; }
.mw-main .app-download-cta { background:#eee3c9!important; border-color:var(--line)!important; border-radius:4px!important; box-shadow:none!important; }
.mw-main table { width:100%!important; table-layout:fixed; border-color:var(--line); background:rgb(255 253 246 / .6); }
.mw-main th { color:var(--pine); }
.mw-page .font-body { font-family:'DM Sans',sans-serif!important; }
.mw-page .text-\[\#E87461\] { color:#71591e!important; }
.mw-page .hover\:text-\[\#E87461\]:hover { color:var(--gold)!important; }
.mw-page .text-gray-900 { color:var(--pine)!important; }
.mw-page .text-gray-600, .mw-page .text-gray-500 { color:#40483c!important; }
.mw-page .text-gray-400 { color:#67705f!important; }
.mw-footer { margin-top:auto; padding:2rem 24px 1.25rem; color:#c9c5b0; background:#111c15; border-top:1px solid rgb(213 169 70 / .5)!important; }
.mw-footer a { color:#e7e0c9!important; text-decoration:none; }
.mw-footer a:hover { color:#f2ca6a!important; }
.mw-footer .flex { flex-wrap:wrap; min-width:0; max-width:100%; }
.mw-footer .flex > * { min-width:0; overflow-wrap:anywhere; }
.mw-footer .max-w-7xl { width:min(1180px,100%); }
.mw-footer .max-w-7xl:first-child { display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:1.5rem; }
.mw-footer .max-w-7xl:first-child > .flex:first-child { flex:0 0 auto; flex-wrap:nowrap; gap:.65rem!important; }
.mw-footer .max-w-7xl:first-child > .flex:first-child img { width:40px; height:40px; flex:0 0 40px; }
.mw-footer .max-w-7xl:first-child > .flex:first-child .text-gray-900 { color:#f7f0dd!important; font:600 1.75rem/1 'Cormorant Garamond',serif!important; letter-spacing:.01em; white-space:nowrap; }
.mw-footer .max-w-7xl:first-child > .flex:last-child { flex:1 1 auto; justify-content:flex-end; gap:.35rem 1.25rem!important; }
.mw-footer .text-gray-900 { color:#f7f0dd!important; }
.mw-footer .text-gray-500, .mw-footer .text-gray-400, .mw-footer .text-gray-300 { color:#aeb3a6!important; }
.mw-footer .text-xs { color:#899286!important; font-size:.72rem!important; }
@media (max-width:900px) { .mw-nav { min-height:68px; padding:10px 16px; gap:12px; } .mw-brand img { width:36px; height:36px; } .mw-nav-links { display:none; } .mw-menu { display:block; } .mw-button { min-height:38px; padding:.48rem .7rem; font-size:.72rem; white-space:nowrap; } .mw-main { padding:2.4rem 16px 3rem; } .mw-footer { padding:1.75rem 16px 1.15rem; } .mw-footer .max-w-7xl:first-child { align-items:flex-start; flex-direction:column; gap:1rem; } .mw-footer .max-w-7xl:first-child > .flex:last-child { justify-content:flex-start; gap:.3rem 1rem!important; } .mw-footer .flex { gap:.55rem!important; justify-content:flex-start!important; } }
@media (max-width:380px) { .mw-nav { padding:9px 12px; gap:8px; } .mw-header .mw-brand, .mw-header .mw-brand span { font-size:1.35rem!important; } .mw-brand img { width:28px; height:28px; border-radius:8px; } .mw-menu summary { font-size:.8rem; } .mw-button { padding:.45rem .58rem; } }
@media (prefers-reduced-motion:reduce) { .mw-page *, .mw-page *::before, .mw-page *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
