/* STEEPAGENCY floating magnetic navigation, inspired by the supplied Floating Dock. */
.brand{min-width:0;width:auto;flex:none;display:flex;align-items:center}
.brand img{display:block;width:clamp(155px,16vw,205px);max-height:68px;height:auto;object-fit:contain}
.main-nav.floating-dock{position:fixed;left:50%;bottom:22px;z-index:70;display:flex;align-items:flex-end;gap:8px;width:max-content;max-width:calc(100vw - 32px);padding:9px 12px;border:1px solid rgba(255,255,255,.76);border-radius:28px;background:rgba(245,245,238,.86);backdrop-filter:blur(22px) saturate(1.25);-webkit-backdrop-filter:blur(22px) saturate(1.25);box-shadow:0 18px 55px rgba(28,23,17,.18),inset 0 1px 0 rgba(255,255,255,.92);transform:translateX(-50%);transition:opacity .3s ease,background .3s ease}
.main-nav.floating-dock a{position:relative;display:grid;place-items:center;flex:0 0 var(--dock-size,46px);width:var(--dock-size,46px);height:var(--dock-size,46px);border:1px solid rgba(34,31,25,.08);border-radius:50%;background:linear-gradient(145deg,#f3f2eb,#e4e4dc);color:#55564d;transition:flex-basis .2s cubic-bezier(.2,.8,.2,1),width .2s cubic-bezier(.2,.8,.2,1),height .2s cubic-bezier(.2,.8,.2,1),background .22s ease,color .22s ease,box-shadow .22s ease;transform-origin:center bottom}
.main-nav.floating-dock a:hover,.main-nav.floating-dock a:focus-visible,.main-nav.floating-dock a.active{color:#751b20;background:linear-gradient(145deg,#fff,#e8e4dc);box-shadow:0 7px 18px rgba(43,27,19,.12),inset 0 1px 0 #fff}
.main-nav.floating-dock a.active{border-color:rgba(117,27,32,.24)}
.main-nav.floating-dock .dock-icon{width:var(--dock-icon-size,22px);height:var(--dock-icon-size,22px);display:grid;place-items:center;pointer-events:none;transition:width .2s ease,height .2s ease}
.main-nav.floating-dock .dock-icon svg{display:block;width:100%;height:100%}
.main-nav.floating-dock .dock-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%);border:0}
.main-nav.floating-dock a::before{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 13px);z-index:2;padding:7px 10px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#1d1b17;color:#f4f0e7;font:10px var(--mono);letter-spacing:.025em;white-space:nowrap;opacity:0;transform:translate(-50%,5px);pointer-events:none;transition:opacity .16s ease,transform .16s ease;box-shadow:0 8px 20px rgba(0,0,0,.16)}
.main-nav.floating-dock a:hover::before,.main-nav.floating-dock a:focus-visible::before{opacity:1;transform:translate(-50%,0)}
.main-nav.floating-dock a.active::after{content:"";position:absolute;left:50%;bottom:5px;width:4px;height:4px;margin:0;border-radius:50%;background:#8c2027;transform:translateX(-50%)}
.menu-toggle{display:none}
.site-footer{padding-bottom:110px}
@media(min-width:761px){.project-enquiry.has-revealed .enquiry-card-wrap{position:relative;top:-68px}}
@media(max-width:760px){
  .brand img{width:clamp(124px,35vw,154px);max-height:56px}
  .site-header{gap:10px}
  .header-tools{display:flex;gap:7px;margin-left:auto}
  .header-cta{display:none}
  .menu-toggle{position:fixed;left:50%;bottom:20px;z-index:72;display:grid;place-content:center;gap:5px;width:56px;height:56px;margin:0;padding:10px;border:1px solid rgba(255,255,255,.78);border-radius:50%;background:linear-gradient(145deg,#25231f,#11110f);color:#f2eee5;box-shadow:0 12px 34px rgba(21,19,15,.3),inset 0 1px 0 rgba(255,255,255,.18);transform:translateX(-50%);transition:background .2s ease,transform .2s ease}
  .menu-toggle:hover{background:#3a3029}
  .menu-toggle i{width:17px;height:1px;background:#f0ece2}
  .menu-toggle[aria-expanded="true"] i:first-child{transform:translateY(3px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] i:last-child{transform:translateY(-3px) rotate(-45deg)}
  .main-nav.floating-dock{position:fixed;inset:auto auto 88px 50%;width:auto;max-width:calc(100vw - 32px);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;display:flex;flex-direction:column-reverse;align-items:center;gap:9px;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,16px) scale(.94);transition:opacity .22s ease,transform .22s ease,visibility .22s ease}
  .main-nav.floating-dock.open{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0) scale(1)}
  .main-nav.floating-dock.open a{animation:dock-pop .26s cubic-bezier(.2,.8,.2,1) both}
  .main-nav.floating-dock.open a:nth-child(1){animation-delay:0ms}.main-nav.floating-dock.open a:nth-child(2){animation-delay:35ms}.main-nav.floating-dock.open a:nth-child(3){animation-delay:70ms}.main-nav.floating-dock.open a:nth-child(4){animation-delay:105ms}.main-nav.floating-dock.open a:nth-child(5){animation-delay:140ms}
  .main-nav.floating-dock a{--dock-size:46px!important;flex:none;width:46px;height:46px;border-color:rgba(255,255,255,.68);background:rgba(244,243,235,.94);box-shadow:0 9px 22px rgba(23,21,17,.2),inset 0 1px 0 #fff}
  .main-nav.floating-dock a::before{left:calc(100% + 10px);bottom:50%;transform:translate(-5px,50%);background:#1d1b17}
  .main-nav.floating-dock a:hover::before,.main-nav.floating-dock a:focus-visible::before{transform:translate(0,50%)}
  .main-nav.floating-dock a.active::after{bottom:50%;left:auto;right:5px;transform:translateY(50%)}
  .site-footer{padding-bottom:118px}
  .project-enquiry:not(.is-dark){padding-bottom:120px}
}
@media(prefers-reduced-motion:reduce){.main-nav.floating-dock,.main-nav.floating-dock a,.main-nav.floating-dock .dock-icon,.main-nav.floating-dock a::before,.menu-toggle{transition-duration:.01ms!important}}
@keyframes dock-pop{from{opacity:0;transform:translateY(10px) scale(.76)}to{opacity:1;transform:translateY(0) scale(1)}}
