/* v45: shared mobile navigation; desktop page design stays intact. */
@media (max-width:1240px) {
  .site-header .site-menu-toggle {
    border:0; border-radius:0; color:#10243e; background:transparent;
    width:48px; flex-basis:48px; height:48px; padding-bottom:12px;
  }
  .site-header .site-menu-toggle span { width:26px; }
  .site-header .site-menu-toggle:after { font-size:8px; letter-spacing:.15em; bottom:3px; }
  .site-mobile-menu {
    inset:72px 0 0; height:calc(100dvh - 72px); max-height:none;
    padding:24px max(28px,6vw) calc(24px + env(safe-area-inset-bottom));
    background:#0d1d37; color:#fff; box-shadow:none;
    font-family:var(--serif,'Yu Mincho',serif);
  }
  .site-mobile-menu .mobile-services {
    display:block; padding:0; border:0;
  }
  .site-mobile-menu .mobile-services a,
  .site-mobile-menu .mobile-services a:last-child {
    display:block; position:relative; padding:21px 32px 23px 0;
    border-bottom:1px solid #ffffff30; background:transparent; color:#fff;
  }
  .site-mobile-menu .mobile-services a > span {
    color:#c8b789; font:10px/1.4 Arial,sans-serif; letter-spacing:.16em; margin-bottom:9px;
  }
  .site-mobile-menu .mobile-services strong {font-size:25px;line-height:1.4;font-weight:400;letter-spacing:.06em;}
  .site-mobile-menu .mobile-services a::after,
  .site-mobile-menu > a:not(.site-contact)::after {
    content:''; position:absolute; right:4px; top:50%; width:24px; height:12px; border:0; background:#c8b789;
    clip-path:polygon(0 46%,82% 46%,62% 7%,67% 0,100% 50%,67% 100%,62% 93%,82% 54%,0 54%);
  }
  .site-mobile-menu .mobile-company {padding:24px 0 20px;border-bottom:1px solid #ffffff30;}
  .site-mobile-menu .mobile-company p {color:#b8c3d3;font-size:11px;letter-spacing:.12em;margin:0 0 12px;}
  .site-mobile-menu .mobile-company > div {display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
  .site-mobile-menu .mobile-company a {color:#fff;font-size:15px;font-weight:400;line-height:1.6;padding:10px 0;}
  .site-mobile-menu > a:not(.site-contact) {
    position:relative; color:#fff; font-size:18px; font-weight:400;
    line-height:1.5; padding:18px 32px 18px 0; border-bottom:1px solid #ffffff30;
  }
  .site-mobile-menu .site-contact {
    margin-top:26px; padding:18px 24px; min-height:58px;
    background:#f5f3ec; color:#10243e; border:1px solid #f5f3ec; border-radius:0;
    font:500 16px/1.4 var(--serif,'Yu Mincho',serif); letter-spacing:.10em;
    justify-content:space-between;
  }
  .site-mobile-menu .site-contact::after {content:'→';font-family:Arial,sans-serif;font-size:23px;font-weight:400;}
  .site-mobile-menu .site-contact:hover {background:#e8e2d5!important;}
  .site-mobile-menu a:focus-visible {outline:2px solid #d4be8b;outline-offset:4px;}
  .site-mobile-menu .mobile-business-links {color:#c7d2df;}
}
/* The discontinued service is removed; the two remaining cards fill its row. */
@media (min-width:761px) { #services .service-grid {grid-template-columns:repeat(2,minmax(0,1fr));} }
