/* 3rd Dimension Studios SiteKit 1.5.6 — device-safe UI corrections.
 * Loaded after all legacy style sheets. Keeps service data, photos, admin and
 * all desktop design untouched while correcting mobile Safari-specific issues.
 */

/* iOS renders some ornamental Unicode arrows/stars as colorful oversized emoji.
 * Draw a crisp neutral arrow from CSS instead, never depending on emoji fonts. */
.bhps-ui-arrow{
  --arrow-weight:1.7px;position:relative;display:inline-block;box-sizing:border-box;
  width:1em;height:1em;flex:none;vertical-align:-.12em;color:inherit;
  font-size:1em!important;line-height:1!important;letter-spacing:0!important;
}
.bhps-ui-arrow::before{
  content:"";position:absolute;top:17%;right:17%;width:48%;height:48%;
  border-top:var(--arrow-weight) solid currentColor;
  border-right:var(--arrow-weight) solid currentColor;
}
.bhps-ui-arrow::after{
  content:"";position:absolute;left:20%;top:55%;width:82%;height:var(--arrow-weight);
  background:currentColor;transform:rotate(-45deg);transform-origin:left center;
}
.bhps-separator-dot{display:inline-block!important;vertical-align:middle!important;width:5px!important;height:5px!important;min-width:5px!important;border-radius:50%!important;background:currentColor!important;font-size:0!important;line-height:0!important;margin:0 24px!important;opacity:.75!important}
.bhps-marquee-track i.bhps-separator-dot{color:#473323}
.bhps-intro-grid::before,.bhps-elvis-content::after,.bhps-logo-monogram::after,.bhps-video-stage::before{content:none!important;display:none!important}
.bhps-collection-foot span::before{content:""!important;display:inline-block;width:5px;height:5px;vertical-align:middle;border-radius:50%;background:#c7a475;margin-right:9px}
.bhps-elvis-mini-mark{height:1px!important;width:40px!important;min-height:1px!important;margin:22px 0!important;background:#d0aa7e!important;font-size:0!important;animation:none!important}
.bhps-blog-empty>span{display:none!important}
.bhps-icon-button{color:#242321!important}
.bhps-hero-pause{position:relative}
.bhps-hero-pause::before{content:"";display:block;width:10px;height:14px;border-left:2px solid currentColor;border-right:2px solid currentColor;margin:auto}
.bhps-hero-pause.is-paused::before{border:0;width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:12px solid currentColor}

/* Dialog must win over all sticky site chrome; UA [hidden] alone has lower
 * specificity than the original author rule display:flex. */
.bhps-lightbox[hidden],.bhps-mobile-nav[hidden],.bhps-search-layer[hidden]{display:none!important}
.bhps-lightbox{
  position:fixed!important;inset:0!important;z-index:10050!important;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  box-sizing:border-box;width:100vw;max-width:100%;height:100vh;height:100dvh;
  padding:calc(env(safe-area-inset-top,0px) + 58px) 20px calc(env(safe-area-inset-bottom,0px) + 18px);
  gap:12px;background:#11100f;overflow:hidden;overscroll-behavior:contain;
}
.bhps-lightbox-media{width:100%;max-width:1100px;min-height:0;flex:1 1 auto;display:grid;place-items:center;overflow:hidden}
.bhps-lightbox-media img,.bhps-lightbox img{
  display:block;object-fit:contain;width:auto!important;height:auto!important;max-width:100%!important;
  max-height:100%!important;min-width:0;min-height:0;margin:auto;border-radius:4px;
}
.bhps-lightbox-caption,.bhps-lightbox>p{flex:0 0 auto;max-width:min(100%,610px);max-height:3.1em;margin:0!important;text-align:center;overflow:hidden;text-overflow:ellipsis;line-height:1.5;font-size:13px!important;color:#eee3d2}
.bhps-lightbox-controls{position:relative;flex:0 0 auto;display:flex;justify-content:center;align-items:center;gap:18px;width:min(100%,350px);min-height:44px}
.bhps-lightbox-controls .bhps-lightbox-prev,.bhps-lightbox-controls .bhps-lightbox-next{
  position:static!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;
  flex:none;width:46px;height:42px;font-size:23px;border-radius:5px;background:#24211e;touch-action:manipulation;
}
.bhps-lightbox-controls .bhps-lightbox-counter{font:700 12px/1.1 Arial,sans-serif;letter-spacing:.16em;color:#dcc39e;text-align:center;min-width:65px}
.bhps-lightbox .bhps-lightbox-close{position:absolute;top:calc(env(safe-area-inset-top,0px) + 12px);right:18px;width:42px;height:42px;z-index:2;background:#24211e;border-radius:50%;font:400 29px/1 Arial,sans-serif;touch-action:manipulation}
body.bhps-lightbox-open .bhps-mobile-bottom,body.bhps-lightbox-open .bhps-back-top{display:none!important}

/* The mobile navigation is deliberately simple, one column, with touch-sized
 * rows. It scrolls on its own without dragging the page behind it. */
.bhps-mobile-nav-heading{display:none}
@media(max-width:1140px){
  body.bhps-mobile-menu-open{overflow:hidden!important}
  .bhps-mobile-nav{z-index:190;box-sizing:border-box;left:0;right:0;top:100%;padding:17px clamp(18px,5vw,36px) 26px;background:#f8f4ec;border-top:1px solid #d5c5ac;max-height:calc(100dvh - 96px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 25px 65px rgba(18,15,11,.18)}
  .bhps-mobile-nav-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:1px 0 12px;border-bottom:1px solid #c7b99f;font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:800;color:#8f6a42}
  .bhps-mobile-nav-close{display:grid;place-items:center;width:38px;height:38px;border:1px solid #c7b99f;border-radius:50%;background:transparent;color:#32291d;font:25px/1 Arial,sans-serif}
  .bhps-mobile-nav nav{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important}
  .bhps-mobile-nav nav>a{display:flex;gap:18px;align-items:center;justify-content:space-between;min-height:48px;padding:11px 3px;font-size:16px!important;line-height:1.3;font-weight:650;color:#27231f!important;border-bottom:1px solid #e4d9cb}
  .bhps-mobile-nav nav>a[aria-current="page"]{color:#9a7046!important}
  .bhps-mobile-nav nav>a .bhps-ui-arrow{width:16px;height:16px;color:#b78a5d}
  .bhps-mobile-service-list{grid-column:1/-1;width:100%;min-width:0;margin:0!important;padding:4px 0 4px 16px;border-bottom:1px solid #e4d9cb}
  .bhps-mobile-service-list summary{cursor:pointer;padding:11px 0;font-size:14px;font-weight:650;color:#6b5846;list-style:none;display:flex;align-items:center;justify-content:space-between}
  .bhps-mobile-service-list summary::-webkit-details-marker{display:none}
  .bhps-mobile-service-list summary span{font:20px Arial,sans-serif!important;color:#b38b60}
  .bhps-mobile-service-list[open] summary span{transform:rotate(45deg)}
  .bhps-mobile-service-list a{display:block!important;padding:11px 0 11px 10px!important;font-size:14px!important;line-height:1.4;border-bottom:1px solid #e4d9cb}
  .bhps-mobile-contact{display:flex;flex-direction:column;gap:5px;align-items:flex-start;padding-top:14px;color:#55493b;font-size:13px}
  .bhps-mobile-contact a{font-size:17px;font-weight:750;color:#34271c}
  body.bhps-mobile-menu-open .bhps-mobile-bottom{transform:translateY(105%);opacity:0;pointer-events:none}
}
@media(max-width:650px){
  .bhps-header-actions{gap:7px!important}
  .bhps-header .bhps-icon-button{color:#242321!important;width:38px;height:42px;min-width:38px}
  .bhps-logo-text strong{font-size:clamp(16px,4.6vw,21px)!important}
  .bhps-logo-text small{font-size:clamp(7px,1.85vw,9px)!important}
  .bhps-mobile-nav{max-height:calc(100dvh - 88px);padding-bottom:28px}
  /* Every quick action has the same background. Active state is indicated
     only by an understated icon tint, never a gold full-height tile. */
  .bhps-mobile-bottom{box-sizing:border-box!important;bottom:0!important;left:0!important;right:0!important;height:calc(62px + env(safe-area-inset-bottom,0px))!important;padding:0 0 env(safe-area-inset-bottom,0px)!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;z-index:75!important;background:#171816!important;border-top:1px solid #8d775f66!important;transform:none;transition:transform .25s,opacity .25s}
  .bhps-mobile-bottom a,.bhps-mobile-bottom a:last-child{min-width:0;min-height:61px;background:transparent!important;color:#f5f0e7!important;border-right:1px solid #ffffff20!important;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:5px 1px!important;font:600 10px/1.2 Arial,sans-serif!important;text-align:center;text-decoration:none}
  .bhps-mobile-bottom a:last-child{border-right:0!important}
  .bhps-mobile-bottom a span{font-size:10px!important;font-weight:600!important;line-height:1.15!important;color:inherit!important}
  .bhps-mobile-bottom a svg{display:block;flex:0 0 21px;width:21px;height:21px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
  .bhps-mobile-bottom a[aria-current="page"] svg{stroke:#cdaa7b}
  .bhps-mobile-bottom a:focus-visible{outline:2px solid #dab98b;outline-offset:-3px}
  .bhps-back-top{right:12px!important;bottom:calc(77px + env(safe-area-inset-bottom,0px))!important;width:37px!important;height:37px!important;border-radius:50%;font-size:18px!important;box-shadow:0 8px 20px #0003!important}
  .bhps-lightbox{padding:calc(env(safe-area-inset-top,0px) + 57px) 12px calc(env(safe-area-inset-bottom,0px) + 13px);gap:10px}
  .bhps-lightbox-media{max-height:calc(100% - 95px)}
  .bhps-lightbox-caption{font-size:12px!important;max-height:2.8em;padding:0 4px}
  .bhps-lightbox-controls{gap:16px;min-height:42px}
  .bhps-lightbox-controls .bhps-lightbox-prev,.bhps-lightbox-controls .bhps-lightbox-next{width:49px;height:42px}
  .bhps-intro.bhps-section{padding:61px 0 67px!important}
  .bhps-intro-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:15px!important}
  .bhps-intro h2{font-size:clamp(37px,9.1vw,48px)!important;line-height:1.08!important;letter-spacing:-.052em;max-width:100%;margin:16px 0 12px!important;overflow-wrap:normal}
  .bhps-intro-right{padding:0!important;max-width:100%}
  .bhps-intro-right>p{font-size:clamp(15px,4vw,17px)!important;line-height:1.73!important;margin:0}
  .bhps-intro .bhps-text-link{margin-top:22px!important;font-size:13px;gap:12px}
  .bhps-intro-chips{margin-top:28px!important;gap:12px!important}
  .bhps-intro-chips span{font-size:9px!important;max-width:100%;letter-spacing:.09em!important}
  .bhps-collection-heading h2{font-size:clamp(38px,9.4vw,54px)!important;line-height:1.05!important}
  .bhps-section-top h2{font-size:clamp(38px,9.4vw,55px)!important;line-height:1.05!important}
  .bhps-elvis-content{padding:54px 22px 61px!important}
  .bhps-elvis-content h2{font-size:clamp(38px,9.6vw,52px)!important;line-height:1.06!important;letter-spacing:-.055em!important;margin-bottom:22px!important;max-width:100%;overflow-wrap:normal}
  .bhps-elvis-content>p:not(.bhps-kicker){font-size:15px!important;line-height:1.75!important;max-width:100%}
  .bhps-elvis-content .bhps-btn{max-width:100%;font-size:11px;min-height:48px;gap:8px;white-space:normal}
  .bhps-elvis-visual{height:360px!important}
  .bhps-craft-copy h2{font-size:clamp(38px,9.1vw,51px)!important;line-height:1.07!important}
  .bhps-craft-copy>p:not(.bhps-kicker){font-size:15px!important;line-height:1.7!important}
  .bhps-craft-layout{grid-template-columns:minmax(0,1fr)!important;gap:20px}
  .bhps-craft-images{max-width:100%;min-width:0}
  .bhps-floating-label{font-size:9px!important;padding:12px 14px!important;letter-spacing:.10em!important}
  .bhps-final-cta h2{font-size:clamp(39px,9vw,52px)!important;line-height:1.07!important}
  .bhps-inner-hero h1{font-size:clamp(43px,10vw,59px)!important;line-height:1.05}
  .bhps-hero-buttons .bhps-btn{max-width:100%;font-size:11px!important;gap:13px}
  .bhps-hero-copy h1,.bhps-hero-copy h2.bhps-hero-alternate-title{font-size:clamp(42px,10.8vw,57px)!important;line-height:1.02!important}
  .bhps-gallery-hover .bhps-ui-arrow{font-size:19px!important}
}
@media(max-width:360px){
 .bhps-logo-text strong{font-size:15.5px!important}
 .bhps-logo-monogram{flex-basis:30px!important;width:30px!important}
 .bhps-header .bhps-icon-button{min-width:33px;width:33px}
 .bhps-menu-button{padding-right:0}
 .bhps-intro h2{font-size:35px!important}
 .bhps-elvis-content h2{font-size:37px!important}
}
@media(prefers-reduced-motion:reduce){
 .bhps-lightbox*,.bhps-mobile-nav*,.bhps-mobile-bottom{animation:none!important;transition:none!important}
}
@media(max-width:360px){
  .bhps-announcement-inner{justify-content:center!important;min-height:29px!important}
  .bhps-announcement-item{display:none!important}
  .bhps-announcement-phone{white-space:nowrap!important;letter-spacing:.05em!important;font-size:10px!important}
  .bhps-announcement-center{display:none!important}
}

/* v1.5.9: show the four quick actions on the *first paint*, even before
   JavaScript runs and without any scrolling. Keep the menu and lightbox in
   front when opened, and reserve usable space for the hero controls. */
@media(max-width:650px){
  .bhps-header{position:-webkit-sticky;position:sticky!important;top:0!important;z-index:150!important}
  body.bhps-mobile-menu-open{overflow-x:clip!important;overflow-y:visible!important}
  .bhps-mobile-bottom{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transition:none!important;
  }
  body.bhps-mobile-menu-open .bhps-mobile-bottom,
  body.bhps-lightbox-open .bhps-mobile-bottom{
    transform:translate3d(0,110%,0)!important;
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  }
  .bhps-mobile-bottom a{min-width:0;touch-action:manipulation}
  .bhps-footer-bottom{padding-bottom:calc(93px + env(safe-area-inset-bottom,0px))!important}
}
@media(prefers-reduced-motion:reduce){
  .bhps-mobile-bottom{transition:none!important}
}

/* The always-visible dock must not cover hero CTAs or the slider buttons,
   including short 320px-wide phone screens. Keep space on both sides. */
@media(min-width:361px) and (max-width:650px){
  .bhps-hero-controls{bottom:calc(105px + env(safe-area-inset-bottom,0px))!important}
  .bhps-hero-copy{padding-bottom:calc(177px + env(safe-area-inset-bottom,0px))!important}
}
@media(max-width:360px){
  .bhps-hero-controls{bottom:calc(190px + env(safe-area-inset-bottom,0px))!important}
  .bhps-hero-copy{padding-bottom:calc(260px + env(safe-area-inset-bottom,0px))!important}
}

/* 1.5.9 root fix: no scroll-triggered animation, including on iOS Safari. */
@media screen and (max-width:650px){
  html body.bhps-site nav.bhps-mobile-bottom {
    display:grid!important;position:fixed!important;inset:auto 0 0 0!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    height:calc(62px + env(safe-area-inset-bottom,0px))!important;
    transform:none!important;translate:none!important;scale:none!important;
    opacity:1!important;visibility:visible!important;pointer-events:auto!important;
    animation:none!important;transition:none!important;z-index:999!important;
  }
  html body.bhps-site.bhps-mobile-menu-open nav.bhps-mobile-bottom,
  html body.bhps-site.bhps-lightbox-open nav.bhps-mobile-bottom{
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  }
  html body.bhps-site {padding-bottom:calc(62px + env(safe-area-inset-bottom,0px))!important;}
}
