.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.site-nav{
  position:sticky;top:0;z-index:150;height:auto;
  background:rgba(244,239,232,.85);border-bottom:1px solid var(--border,var(--line,#d8d3c8));
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.admin-bar .site-nav{top:32px;}
.site-nav .nav-in{
  display:flex;align-items:center;justify-content:space-between;gap:18px;height:64px;
}
.site-nav .logo{
  flex:none;color:var(--ink,#171717);font-size:20px;font-weight:700;letter-spacing:-.5px;text-decoration:none;
}
.site-nav .logo span{color:var(--orange,#ee5d1a);}
.site-nav .nav-links{display:flex;align-items:center;gap:22px;font-family:inherit;}
.site-nav .nav-links a,.site-nav .nav-search-trigger{
  position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;
  min-height:42px;margin:-11px -18px;padding:10px 18px;border:0;border-radius:999px;overflow:hidden;
  background:transparent;color:var(--ink,#171717);font-family:inherit;font-size:14px;font-weight:500;line-height:1;
  text-decoration:none;letter-spacing:0;
  cursor:pointer;transition:color .22s ease,transform .28s cubic-bezier(.16,1,.3,1);
}
.site-nav .nav-search-trigger{
  width:42px;min-width:42px;min-height:42px;margin:-11px -8px;padding:0;
}
.site-nav .nav-search-primary{
  width:48px;min-width:48px;height:48px;min-height:48px;margin:0;padding:0;flex:none;
  border:1px solid rgba(255,255,255,.72);
  background:rgba(244,239,232,.58);
  box-shadow:
    inset 0 1px 1px rgba(255,255,255,.88),
    inset 8px 10px 18px rgba(255,255,255,.14),
    0 10px 28px rgba(23,23,23,.09);
  backdrop-filter:blur(18px) saturate(1.3);
  -webkit-backdrop-filter:blur(18px) saturate(1.3);
}
.site-nav .nav-search-primary .search-icon{width:19px;height:19px;}
.search-icon{
  display:block;width:18px;height:18px;flex:0 0 auto;background:currentColor;
  -webkit-mask:url("../icons/search.svg") center/contain no-repeat;
  mask:url("../icons/search.svg") center/contain no-repeat;
}
.site-nav .nav-links a::before,.site-nav .nav-search-trigger::before{
  content:"";position:absolute;inset:0;z-index:-2;border:1px solid rgba(255,255,255,.34);border-radius:inherit;
  background:var(--orange,#ee5d1a);opacity:0;transform:scale(.74,.58);transform-origin:50% 52%;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -1px 0 rgba(91,26,0,.14),
    inset 8px 10px 18px rgba(255,255,255,.10),
    inset -10px -12px 22px rgba(91,26,0,.10),
    0 1px 0 rgba(255,255,255,.22),
    0 14px 30px rgba(238,93,26,.18);
  backdrop-filter:blur(34px) saturate(1.95) brightness(1.12);
  -webkit-backdrop-filter:blur(34px) saturate(1.95) brightness(1.12);
  transition:opacity .2s ease,transform .36s cubic-bezier(.16,1,.3,1),box-shadow .24s ease;
}
.site-nav .nav-links a::after,.site-nav .nav-search-trigger::after{
  content:"";position:absolute;inset:1px;z-index:-1;border-radius:inherit;pointer-events:none;
  background:
    radial-gradient(62% 90% at 18% 18%,rgba(255,255,255,.28),rgba(255,255,255,0) 46%),
    radial-gradient(42% 90% at 94% 52%,rgba(255,255,255,.24),rgba(255,255,255,0) 52%),
    linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,.10) 28%,rgba(255,255,255,0) 58%,rgba(91,26,0,.10));
  opacity:0;transform:scale(.96);
  transition:opacity .2s ease,transform .36s cubic-bezier(.16,1,.3,1);
}
.site-nav .nav-links a:hover,.site-nav .nav-links a:focus-visible,
.site-nav .nav-search-trigger:hover,.site-nav .nav-search-trigger:focus-visible{
  color:var(--bg,#f4efe8);outline:0;transform:translateY(-1px);
}
.site-nav .nav-links a:hover::before,.site-nav .nav-links a:focus-visible::before,
.site-nav .nav-search-trigger:hover::before,.site-nav .nav-search-trigger:focus-visible::before{
  opacity:1;transform:scale(1);
}
.site-nav .nav-links a:hover::after,.site-nav .nav-links a:focus-visible::after,
.site-nav .nav-search-trigger:hover::after,.site-nav .nav-search-trigger:focus-visible::after{
  opacity:.62;transform:scale(1);
}
.site-nav .nav-cta,.site-search-submit,.case-contact-button{
  position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:42px;padding:9px 18px;overflow:hidden;border:1px solid rgba(255,255,255,.38);border-radius:999px;
  background:rgba(244,239,232,.16);color:var(--ink,#171717);text-decoration:none;
  font-family:inherit;font-size:14px;font-weight:600;line-height:1.2;
  box-shadow:
    inset 0 1px 2px rgba(255,255,255,.72),
    inset 10px 12px 24px rgba(255,255,255,.18),
    inset -16px -18px 28px rgba(23,23,23,.07),
    0 1px 0 rgba(255,255,255,.38),
    0 16px 34px rgba(23,23,23,.10);
  backdrop-filter:blur(26px) saturate(1.7) brightness(1.08);
  -webkit-backdrop-filter:blur(26px) saturate(1.7) brightness(1.08);
  transition:transform .28s cubic-bezier(.16,1,.3,1),border-color .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease;
}
.site-nav .nav-cta::before,.site-search-submit::before,.case-contact-button::before{
  content:"";position:absolute;inset:1px;z-index:-1;border-radius:inherit;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,0) 34%,rgba(255,255,255,0) 66%,rgba(255,255,255,.22)),
    linear-gradient(90deg,rgba(255,255,255,.38),rgba(255,255,255,0) 22%,rgba(255,255,255,0) 78%,rgba(255,255,255,.28));
  opacity:.74;mix-blend-mode:screen;
}
.site-nav .nav-cta:hover,.site-nav .nav-cta:focus-visible,
.site-search-submit:hover,.site-search-submit:focus-visible,
.case-contact-button:hover,.case-contact-button:focus-visible{
  color:var(--bg,#f4efe8);outline:0;transform:translateY(-1px);background:var(--orange,#ee5d1a);
  border-color:rgba(255,255,255,.34);
}
.site-nav .nav-toggle,.site-nav .mobile-menu{display:none;}
.site-nav .nav-toggle{
  width:44px;height:44px;min-width:44px;padding:0;border:1px solid var(--border,var(--line,#d8d3c8));border-radius:50%;
  background:rgba(255,255,255,.42);color:var(--ink,#171717);cursor:pointer;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.76),0 8px 22px rgba(23,23,23,.06);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.site-nav .nav-toggle:focus-visible{outline:2px solid var(--orange,#ee5d1a);outline-offset:2px;}
.site-nav .nav-toggle-icon{display:grid;width:19px;gap:4px;}
.site-nav .nav-toggle-icon span{
  display:block;width:100%;height:2px;border-radius:999px;background:currentColor;
  transform-origin:center;transition:transform .24s cubic-bezier(.16,1,.3,1),opacity .16s ease;
}
.site-nav .nav-toggle.is-open .nav-toggle-icon span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.site-nav .nav-toggle.is-open .nav-toggle-icon span:nth-child(2){opacity:0;}
.site-nav .nav-toggle.is-open .nav-toggle-icon span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
.site-nav .mobile-menu{
  padding:8px 32px 18px;border-top:1px solid rgba(216,211,200,.8);background:rgba(244,239,232,.97);
}
.site-nav .mobile-menu[hidden]{display:none;}
.site-nav .mobile-menu a,.site-nav .mobile-search-trigger{
  min-height:48px;display:flex;align-items:center;width:100%;padding:0;border:0;border-bottom:1px solid rgba(216,211,200,.8);
  background:transparent;color:var(--ink,#171717);font-family:inherit;font-size:15px;font-weight:500;line-height:1.2;
  text-align:left;text-decoration:none;cursor:pointer;
}
.site-nav .mobile-menu .mobile-contact{
  justify-content:center;margin-top:12px;border:0;border-radius:999px;background:var(--orange,#ee5d1a);color:#fff;font-weight:600;
}
.site-nav .mobile-menu .mobile-search-trigger{
  width:48px;min-height:48px;margin:10px 0 0;border:1px solid var(--border,var(--line,#d8d3c8));
  border-radius:50%;justify-content:center;background:rgba(255,255,255,.42);
}
.site-nav .mobile-menu .mobile-search-trigger:hover,
.site-nav .mobile-menu .mobile-search-trigger:focus-visible{
  outline:0;background:var(--orange,#ee5d1a);color:#fff;
}

.site-search{
  width:min(680px,calc(100% - 32px));max-height:min(720px,calc(100dvh - 32px));margin:auto;padding:0;
  overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:8px;background:rgba(244,239,232,.92);
  color:var(--ink,#171717);box-shadow:0 28px 80px rgba(23,23,23,.24);
  backdrop-filter:blur(28px) saturate(1.2);-webkit-backdrop-filter:blur(28px) saturate(1.2);
}
.site-search::backdrop{background:rgba(23,23,23,.48);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);}
.site-search-panel{display:flex;flex-direction:column;max-height:min(720px,calc(100dvh - 32px));padding:24px;}
.site-search-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px;}
.site-search-label{color:var(--orange,#ee5d1a);font-size:11px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;}
.site-search-close{
  display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--border,var(--line,#d8d3c8));border-radius:50%;
  background:rgba(255,255,255,.5);color:var(--ink,#171717);font-family:inherit;font-size:26px;font-weight:300;line-height:1;cursor:pointer;
}
.site-search-close:hover,.site-search-close:focus-visible{outline:0;background:var(--orange,#ee5d1a);color:#fff;}
.site-search-field{
  width:100%;height:58px;padding:0 16px;border:1px solid var(--border,var(--line,#d8d3c8));border-radius:6px;
  background:rgba(255,255,255,.6);color:var(--ink,#171717);font-family:inherit;font-size:18px;font-weight:500;line-height:1.2;
}
.site-search-field:focus{outline:2px solid rgba(238,93,26,.34);outline-offset:2px;border-color:var(--orange,#ee5d1a);}
.site-search-status{min-height:22px;margin:16px 0 8px;color:var(--muted,#62605c);font-size:13px;}
.site-search-results{overflow:auto;border-top:1px solid var(--border,var(--line,#d8d3c8));}
.site-search-result{
  display:grid;grid-template-columns:104px 1fr;gap:16px;padding:16px 4px;border-bottom:1px solid var(--border,var(--line,#d8d3c8));
  color:var(--ink,#171717);text-decoration:none;
}
.site-search-result:hover,.site-search-result:focus-visible{outline:0;color:var(--orange,#ee5d1a);}
.site-search-result-type{padding-top:3px;color:var(--orange,#ee5d1a);font-size:10px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;}
.site-search-result strong{display:block;font-size:16px;line-height:1.25;}
.site-search-result p{margin-top:4px;color:var(--muted,#62605c);font-size:13px;line-height:1.45;}
.site-search-empty{padding:24px 4px;color:var(--muted,#62605c);font-size:14px;}

.floating-contact{
  position:fixed;right:24px;bottom:24px;z-index:139;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:54px;padding:0 22px;border:1px solid rgba(255,255,255,.78);border-radius:999px;
  background:rgba(244,239,232,.76);color:var(--ink,#171717);text-decoration:none;
  font-family:inherit;font-size:14px;font-weight:650;line-height:1;
  box-shadow:
    inset 0 1px 1px rgba(255,255,255,.92),
    inset 10px 12px 22px rgba(255,255,255,.16),
    inset -12px -14px 24px rgba(23,23,23,.06),
    0 14px 34px rgba(23,23,23,.15);
  backdrop-filter:blur(22px) saturate(1.45);
  -webkit-backdrop-filter:blur(22px) saturate(1.45);
  opacity:1;visibility:visible;
  transition:opacity .2s ease,visibility .2s ease,transform .28s cubic-bezier(.16,1,.3,1),background .2s ease,color .2s ease,border-color .2s ease;
}
.floating-contact::before{
  content:"";position:absolute;inset:1px;z-index:-1;border-radius:inherit;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(255,255,255,.52),rgba(255,255,255,0) 36%,rgba(255,255,255,0) 68%,rgba(255,255,255,.18)),
    linear-gradient(90deg,rgba(255,255,255,.3),rgba(255,255,255,0) 24%,rgba(255,255,255,0) 78%,rgba(255,255,255,.24));
  opacity:.72;
}
.floating-contact:hover,.floating-contact:focus-visible{
  outline:0;transform:translateY(-2px);background:var(--orange,#ee5d1a);color:#fff;
  border-color:rgba(255,255,255,.42);
}
.floating-contact:active{transform:scale(.97);}
.floating-contact.is-suppressed{
  opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px) scale(.96);
}

.back-to-top{
  position:fixed;right:24px;bottom:92px;z-index:140;display:grid;place-items:center;
  width:54px;height:54px;padding:0;border:1px solid rgba(255,255,255,.82);border-radius:50%;
  background:rgba(255,255,255,.58);color:var(--ink,#171717);cursor:pointer;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.9),inset 8px 10px 18px rgba(255,255,255,.18),0 14px 34px rgba(23,23,23,.14);
  backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);
  opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px) scale(.92);
  transition:opacity .2s ease,visibility .2s ease,transform .3s cubic-bezier(.16,1,.3,1),background .18s ease,color .18s ease;
}
.back-to-top span{display:grid;place-items:center;width:100%;height:100%;font-size:25px;line-height:1;transform:translateY(-1px);}
.back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:none;}
.back-to-top:hover,.back-to-top:focus-visible{outline:0;background:var(--orange,#ee5d1a);color:#fff;transform:translateY(-2px);}
.back-to-top:active{transform:scale(.94);}
body.contact-in-view .back-to-top{bottom:24px;}

@media (max-width:980px){
  .site-nav .nav-in{justify-content:flex-start;gap:12px;}
  .site-nav .nav-links{display:none;}
  .site-nav .nav-toggle{display:grid;place-items:center;order:-1;flex:none;}
  .site-nav .nav-search-primary{margin-left:auto;}
  .site-nav .mobile-menu{display:grid;}
}
@media (max-width:620px){
  .admin-bar .site-nav{top:46px;}
  .site-nav .nav-in{height:64px;}
  .site-nav .nav-cta{display:none;}
  .site-nav .nav-search-primary{width:44px;min-width:44px;height:44px;min-height:44px;}
  .site-nav .mobile-menu{padding:8px 24px 20px;}
  .site-nav .mobile-menu a,.site-nav .mobile-search-trigger{min-height:52px;}
  .site-search-panel{padding:20px;}
  .site-search-result{grid-template-columns:1fr;gap:4px;padding-block:14px;}
  .floating-contact{
    right:16px;bottom:calc(16px + env(safe-area-inset-bottom));min-height:48px;padding-inline:18px;font-size:13px;
  }
  .back-to-top{right:16px;bottom:calc(76px + env(safe-area-inset-bottom));width:48px;height:48px;}
  body.contact-in-view .back-to-top{bottom:calc(16px + env(safe-area-inset-bottom));}
  .back-to-top span{font-size:23px;}
}
@media (prefers-reduced-motion:reduce){
  .site-nav .nav-links a,.site-nav .nav-links a::before,.site-nav .nav-links a::after,
  .site-nav .nav-search-trigger,.site-nav .nav-search-trigger::before,.site-nav .nav-search-trigger::after,
  .site-nav .nav-cta,.site-nav .nav-toggle-icon span,.floating-contact,.back-to-top{transition:none;}
}
