/* Mobile section menu */
.mobile-menu{display:none}
@media(max-width:900px){
 header .header{flex-wrap:nowrap;gap:12px;position:relative;min-height:74px;padding-top:10px;padding-bottom:10px}
 header .brand{min-width:0;gap:9px}
 header .brand-mark{flex-shrink:0}
 header .brand small{font-size:8px;letter-spacing:.06em}
 .mobile-menu{display:block;flex:0 0 auto;margin-left:auto}
 .mobile-menu summary{list-style:none;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--green);cursor:pointer;-webkit-tap-highlight-color:transparent}
 .mobile-menu summary::-webkit-details-marker{display:none}
 .mobile-menu summary:focus-visible,.mobile-menu a:focus-visible{outline:2px solid #92513c;outline-offset:3px}
 .mobile-menu summary svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
 .mobile-menu .menu-close{display:none}
 .mobile-menu[open] .menu-open{display:none}
 .mobile-menu[open] .menu-close{display:block}
 .mobile-menu[open] summary{background:var(--green);color:var(--paper)}
 .mobile-menu-panel{position:absolute;right:0;top:calc(100% + 8px);width:min(350px,100%);max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:12px 20px;box-shadow:0 16px 36px rgba(32,38,32,.14)}
 .mobile-menu-panel a{display:flex;align-items:center;min-height:48px;padding:11px 0;color:var(--green);font-size:15px;line-height:1.35;border-bottom:1px solid var(--line)}
 .mobile-menu-panel a:last-child{border-bottom:0;color:#92513c;font-weight:600}
 section[id]{scroll-margin-top:94px}
}

/* v38 — refined mobile navigation */
@media(max-width:900px){
 header:has(.mobile-menu[open])::after{content:"";position:absolute;top:100%;left:0;width:100%;height:100dvh;background:rgba(32,38,32,.18);z-index:-1;animation:menu-dim-in .18s ease-out}
 .mobile-menu-panel{width:min(330px,100%);padding:16px 24px 22px;border-color:rgba(217,209,199,.75);border-radius:22px;box-shadow:0 16px 40px rgba(32,38,32,.12)}
 .mobile-menu[open] .mobile-menu-panel{animation:menu-panel-in .2s ease-out}
 .mobile-menu-panel a{border-bottom:0;min-height:49px;padding:12px 0;font-size:16px}
 .mobile-menu-panel a:hover{color:#92513c}
 .mobile-menu-panel a:last-child{justify-content:center;min-height:48px;margin-top:14px;padding:12px 20px;border-radius:999px;background:var(--green);color:var(--paper);font-size:14px;font-weight:600}
 .mobile-menu-panel a:last-child:hover{background:#42594d;color:var(--paper)}
 @keyframes menu-panel-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
 @keyframes menu-dim-in{from{opacity:0}to{opacity:1}}
}
@media(prefers-reduced-motion:reduce){
 header:has(.mobile-menu[open])::after,.mobile-menu[open] .mobile-menu-panel{animation:none}
}

/* Compact mobile menu */
@media(max-width:900px){
 .mobile-menu summary{width:44px;min-width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%}
 .mobile-menu summary svg{width:20px;height:20px}
 .mobile-menu-panel{width:min(242px,100%);padding:10px 18px;border-radius:16px}
 .mobile-menu-panel a,.mobile-menu-panel a:last-child{min-height:44px;padding:10px 0;margin:0;justify-content:flex-start;background:none;border:0;border-radius:0;color:var(--green);font-size:14px;font-weight:400;line-height:1.4}
 .mobile-menu-panel a:hover,.mobile-menu-panel a:last-child:hover{background:none;color:#92513c}
}
@media(max-width:390px){
 header .brand small{max-width:175px;font-size:7px;letter-spacing:.025em}
 header .header{gap:8px}
}

/* Final compact cream panel */
@media(max-width:900px){
 .mobile-menu-panel{width:max-content;min-width:0;max-width:calc(100vw - 32px);padding:10px 18px;background:var(--cream,#f2ece4)}
 .mobile-menu-panel a{white-space:nowrap}
}

/* v39.5 — one navigation mode at the shared breakpoint */
@media(max-width:900px){
 header nav{display:none!important}
 .mobile-menu-panel a{text-decoration:none}
}
