/* Site menu: a "Menu" button in the header opens a panel listing every page.
   Desktop shows it as a wide panel; below 1100px it becomes a stacked list. */

.site-cta{margin-left:auto;margin-right:12px}

.m-toggle{display:flex;align-items:center;gap:10px;height:48px;padding:0 18px 0 16px;border:1px solid #D9D9D5;border-radius:999px;background:#FFFFFF;color:#333745;font:600 15px 'Instrument Sans',system-ui,sans-serif;cursor:pointer}
.m-toggle:hover{background:#F3F3F1}
.m-toggle .m-close,.m-toggle[aria-expanded=true] .m-open{display:none}
.m-toggle[aria-expanded=true] .m-close{display:block}

.m-menu{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100vh - 84px);max-height:calc(100dvh - 84px);overflow-y:auto;box-sizing:border-box;padding:48px 64px 56px;background:#FFFFFF;border-bottom:1px solid #E4E4E1;box-shadow:0 40px 60px -40px rgba(51,55,69,.35);font-family:'Instrument Sans',system-ui,sans-serif;color:#333745}
.m-menu.is-open{display:block}
.m-menu a{color:#333745;text-decoration:none}
.m-menu a:hover{color:#29677F}
.m-menu>nav{display:grid;grid-template-columns:minmax(0,1fr) 280px;column-gap:64px;align-items:start}

.m-main{grid-row:1 / span 3;display:grid;grid-template-columns:240px minmax(0,1fr);column-gap:64px;align-content:start}
.m-main>a{grid-column:1;display:block;padding:6px 0;font-family:Fraunces,Georgia,serif;font-size:40px;line-height:1.2}
.m-main>a[aria-current=page]{color:#29677F;font-style:italic}
.m-group{grid-column:2;grid-row:1 / span 3;padding-left:64px;border-left:1px solid #EDEDEA}
.m-label{display:block;margin-bottom:14px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#6B6E76}
.m-sub{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}
.m-sub a{display:block;padding:10px 0;font-size:18px;font-weight:500;border-bottom:1px solid #F0F0EE}
.m-sub a[aria-current=page]{color:#29677F;font-weight:600}

.m-cta{display:none!important}
.m-contact{order:1;grid-column:2;display:flex;flex-direction:column;gap:8px;padding:28px;border-radius:20px;background:#F7F7F5;font-size:15px;color:#555862}
.m-contact .m-label{margin-bottom:6px}
.m-contact a{font-size:17px;font-weight:600;color:#29677F}
.m-social{order:2;grid-column:2;display:flex;align-items:center;gap:10px;margin-top:16px;font-size:15px;font-weight:600;color:#29677F!important}
.m-social-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:#E9F0F2}

@media (prefers-reduced-motion: no-preference){
  .m-menu.is-open{animation:m-drop .2s cubic-bezier(.2,.7,.2,1)}
  @keyframes m-drop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
}

/* ---------- Tablet and phone: stacked list ---------- */
@media (max-width: 1100px){
  .site-bar{padding:0 32px!important}
  .m-menu{padding:12px 32px 32px;box-shadow:0 24px 40px -24px rgba(51,55,69,.35)}
  .m-menu>nav,.m-main{display:flex;flex-direction:column;align-items:stretch}
  .m-menu a{display:flex;align-items:center;min-height:52px}
  .m-main{border-bottom:1px solid #EDEDEA}
  .m-main>a{padding:0;font-family:'Instrument Sans',system-ui,sans-serif;font-size:20px;font-weight:600;line-height:1.3;border-top:1px solid #EDEDEA}
  .m-main>a:first-child{border-top:0}
  .m-main>a[aria-current=page]{font-style:normal}
  .m-group{padding:14px 0 10px;border-left:0;border-top:1px solid #EDEDEA}
  .m-label{margin-bottom:4px}
  .m-sub{column-gap:24px}
  .m-sub a{min-height:44px;padding:0;font-size:16px;border-bottom:0;color:#5A5D66}
  .m-contact{margin-top:24px;padding:20px 24px}
  .m-contact a{min-height:0}
  .m-social{justify-content:center}
}

@media (max-width: 640px){
  .site-bar>.site-cta{display:none!important}
  .m-toggle{margin-left:auto}
  .m-cta{display:flex!important;justify-content:center;gap:8px;margin-top:24px;height:54px;border-radius:999px;background:#F2D03B;font-size:16px;font-weight:600}
  .m-toggle{padding:0 14px 0 12px}
}
