/* Tehranto reference: site-shell-v077.js, .tp-classic-floating and mobile panel.
   K1 keeps its own branding, navigation and WhatsApp destination. */
dialog.mobile-menu { display:none; }
/* Shared circular trigger and modal navigation on every screen size. */
  .header>.menu-toggle {
    position:fixed; top:max(20px,env(safe-area-inset-top)); right:max(20px,env(safe-area-inset-right));
    display:grid; place-items:center; width:56px; height:56px; min-width:56px; min-height:56px;
    margin:0; padding:0; gap:0; border:1px solid #b69b603d; border-radius:50%;
    background:#292929; color:#fff; box-shadow:0 8px 24px #24242440;
    cursor:pointer; transition:background .2s,transform .2s;
  }
  .menu-toggle svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:butt; }
  .menu-toggle:hover { background:#41403e; transform:translateY(-1px); }
  .menu-toggle:focus-visible,.mobile-menu :focus-visible { outline:3px solid #d4bd83; outline-offset:4px; }

  body.mobile-menu-open { overflow:hidden; }
  dialog.mobile-menu {
    position:fixed; inset:0; width:100%; max-width:none; height:100dvh; max-height:none;
    margin:0; padding:100px 28px max(28px,env(safe-area-inset-bottom));
    border:0; border-radius:0; background:#292929; color:#fff;
    overflow:auto; overscroll-behavior:contain;
  }
  dialog.mobile-menu[open] { display:flex; flex-direction:column; animation:mobile-menu-in .2s ease both; }
  .mobile-menu::backdrop { background:#292929; }
  .mobile-menu-close {
    position:fixed; top:max(20px,env(safe-area-inset-top)); right:max(20px,env(safe-area-inset-right));
    display:grid; place-items:center; width:56px; height:56px; min-height:56px;
    margin:0; padding:0; border:1px solid #ffffff4d; border-radius:50%; background:#292929; color:#fff;
    box-shadow:0 8px 24px #24242440; cursor:pointer;
  }
  .mobile-menu-close svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; }
  .mobile-menu-brand { display:block; width:166px; padding:12px 18px; margin-bottom:34px; border-radius:18px; background:var(--paper); }
  .mobile-menu-brand img { display:block; width:130px; height:auto; }
  .mobile-menu-links { display:flex; flex-direction:column; gap:0; }
  .mobile-menu-links>a { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:64px; padding:16px 0; border-bottom:1px solid #ffffff26; color:#fff; font-size:23px; line-height:1.3; }
  .mobile-menu-links>a:hover { color:#e5d8b9; }
  .mobile-menu-links>.mobile-menu-contact { margin-top:28px; min-height:56px; padding:14px 19px; border:0; border-radius:999px; background:#e5d8b9; color:#292929; font-size:19px; font-weight:550; }
  .mobile-menu-links>.mobile-menu-contact:hover { background:#d9c69b; color:#292929; }
  .mobile-menu-foot { margin-top:auto; padding-top:38px; color:#ddd8ce; font-size:14px; line-height:1.7; }
@media (max-width:800px) {
  .header { height:0; min-height:0; border:0; padding:0; }
  .header>.brand,.header>.nav,.header>.header-cta { display:none; }
  .hero { padding-top:112px; }
}
@media (min-width:801px) {
  .header>.menu-toggle { display:none; top:24px; right:28px; width:58px; height:58px; }
  .header.header-out-of-view>.menu-toggle { display:grid; animation:mobile-menu-in .2s ease both; }
  dialog.mobile-menu { inset:20px 20px 20px auto; width:min(460px,calc(100vw - 40px)); height:calc(100dvh - 40px); padding:92px 36px 30px; border:1px solid #b69b604d; border-radius:28px; box-shadow:0 20px 70px #00000040; }
  .mobile-menu::backdrop { background:#29292980; backdrop-filter:blur(5px); }
  .mobile-menu-close { position:absolute; top:18px; right:18px; }
}
@keyframes mobile-menu-in { from { opacity:0; } to { opacity:1; } }
@media(prefers-reduced-motion:reduce) { .menu-toggle { transition:none; animation:none !important; } dialog.mobile-menu[open] { animation:none; } }
@media print { .header>.menu-toggle,dialog.mobile-menu { display:none !important; } }
