/* OUTBOX DRAWER V2 — single desktop trigger at viewport right + 75vw mobile drawer.
 * Scoped styles. Existing desktop header/navigation/scroll effects are untouched.
 */
:root{--ob-drawer-z:250}
html.ob-drawer-lock,body.ob-drawer-lock{overflow:hidden!important}
#ob-drawer-backdrop{
  position:fixed;inset:0;z-index:var(--ob-drawer-z);
  background:rgba(3,3,4,.70);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .48s cubic-bezier(.2,.8,.2,1),visibility 0s linear .48s,backdrop-filter .48s;
}
#ob-drawer-backdrop.is-visible{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .48s,visibility 0s,backdrop-filter .48s;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
#ob-side-drawer{
  position:fixed;z-index:calc(var(--ob-drawer-z) + 1);
  inset:0 0 0 auto;
  width:min(530px,100vw);height:100vh;height:100dvh;
  overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;
  display:flex;flex-direction:column;
  padding:clamp(22px,3vw,42px) clamp(22px,3.5vw,46px) 27px;
  background:
    radial-gradient(ellipse 90% 48% at 100% 3%,rgba(251,175,42,.075),transparent 75%),
    linear-gradient(150deg,#323232 0%,#242424 38%,#151515 100%);
  color:#f8f7f3;
  border-left:1px solid rgba(251,175,42,.30);
  box-shadow:-34px 0 100px rgba(0,0,0,.40);
  visibility:hidden;pointer-events:none;
  transform:translate3d(105%,0,0);
  transition:transform .7s cubic-bezier(.19,1,.22,1),visibility 0s linear .7s;
  -webkit-overflow-scrolling:touch;
}
#ob-side-drawer.is-visible{
  visibility:visible;pointer-events:auto;
  transform:translate3d(0,0,0);
  transition:transform .7s cubic-bezier(.19,1,.22,1),visibility 0s;
}
#ob-side-drawer *,#ob-side-drawer *::before,#ob-side-drawer *::after{box-sizing:border-box}
#ob-side-drawer .ob-drawer-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:18px;
  border-bottom:1px solid rgba(255,255,255,.17);padding:0 0 27px;
}
#ob-side-drawer .ob-drawer-brand{
  display:block;flex:1 1 auto;min-width:0;color:#FBAF2A;
  font:900 clamp(37px,4vw,48px)/.86 'Barlow Condensed',Impact,sans-serif;
  letter-spacing:-.055em;
}
#ob-side-drawer .ob-drawer-logo{
  display:none;
  width:clamp(112px,12vw,164px);
  max-width:100%;
  height:auto;
  object-fit:contain;
  object-position:left center;
}
#ob-side-drawer .ob-drawer-logo.is-ready{display:block}
#ob-side-drawer .ob-drawer-brand-fallback{display:block}
#ob-side-drawer .ob-drawer-brand-fallback[hidden]{display:none!important}
#ob-side-drawer .ob-drawer-brand small{
  display:block;margin-top:10px;
  color:#c5c4be;
  font:700 9px/1.4 'Space Grotesk',sans-serif;letter-spacing:.24em;
}
#ob-side-drawer .ob-drawer-close{
  position:relative;display:grid;place-items:center;flex:0 0 47px;
  width:47px;height:47px;cursor:pointer;
  border:1px solid rgba(255,255,255,.3);border-radius:50%;
  color:#fff;background:rgba(255,255,255,.025);
  transition:color .3s ease,background .3s ease,border-color .3s ease,transform .45s cubic-bezier(.2,.8,.2,1);
}
#ob-side-drawer .ob-drawer-close:hover{color:#111;background:#FBAF2A;border-color:#FBAF2A;transform:rotate(90deg)}
#ob-side-drawer .ob-drawer-close:focus-visible,
.ob-drawer-trigger:focus-visible{outline:2px solid #FBAF2A;outline-offset:4px}
#ob-side-drawer .ob-drawer-close svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
#ob-side-drawer .ob-drawer-content{flex:1;display:flex;flex-direction:column;justify-content:center;padding:27px 0 22px}
#ob-side-drawer .ob-drawer-eyebrow{
  color:#FBAF2A;margin:0 0 17px;
  font:800 10px/1.5 'Space Grotesk',sans-serif;letter-spacing:.2em;text-transform:uppercase;
}
#ob-side-drawer .ob-drawer-eyebrow::before{content:"";display:inline-block;width:19px;height:2px;background:currentColor;vertical-align:middle;margin-right:10px}
#ob-side-drawer .ob-drawer-title{
  color:#f9f8f5;margin:0 0 22px;
  font:900 clamp(56px,6.1vw,80px)/.92 'Barlow Condensed',Impact,sans-serif;
  letter-spacing:-.014em;text-transform:uppercase;
}
#ob-side-drawer .ob-drawer-title span{color:#FBAF2A}
#ob-side-drawer .ob-drawer-lead{
  max-width:38ch;margin:0 0 23px;
  font:400 15px/1.75 'DM Sans',Arial,sans-serif;color:#bdbbb8;
}
#ob-side-drawer .ob-drawer-quick{
  display:grid;gap:1px;border-top:1px solid rgba(255,255,255,.14);
  margin:15px 0 24px;
}
#ob-side-drawer .ob-drawer-quick a{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  color:#fff;text-decoration:none;
  padding:15px 3px;border-bottom:1px solid rgba(255,255,255,.14);
  font:700 14px/1.4 'Space Grotesk',sans-serif;
  transition:color .25s ease,padding .3s ease;
}
#ob-side-drawer .ob-drawer-quick a:hover{color:#FBAF2A;padding-left:10px}
#ob-side-drawer .ob-drawer-quick a span:last-child{color:#FBAF2A}
#ob-side-drawer .ob-drawer-book{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  min-height:57px;padding:15px 19px;border-radius:6px;
  color:#151515!important;background:#FBAF2A;
  text-decoration:none;
  font:800 12px/1.3 'Space Grotesk',sans-serif;
  letter-spacing:.07em;text-transform:uppercase;
  transition:background .3s ease,transform .3s ease,box-shadow .3s ease;
}
#ob-side-drawer .ob-drawer-book:hover{
  background:#ffc252;transform:translateY(-2px);
  box-shadow:0 12px 33px rgba(251,175,42,.18);
}
#ob-side-drawer .ob-drawer-book svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}
#ob-side-drawer .ob-drawer-foot{
  display:grid;gap:10px;border-top:1px solid rgba(255,255,255,.15);padding-top:22px;
}
#ob-side-drawer .ob-drawer-foot a{
  width:fit-content;max-width:100%;overflow-wrap:anywhere;
  color:#c8c6c1;text-decoration:none;font:500 12px/1.5 'DM Sans',Arial,sans-serif;
  transition:color .3s ease;
}
#ob-side-drawer .ob-drawer-foot a:hover{color:#FBAF2A}
#ob-side-drawer .ob-drawer-foot-note{
  margin:7px 0 0;color:#999791;
  font:700 9px/1.5 'Space Grotesk',sans-serif;
  letter-spacing:.16em;text-transform:uppercase;
}
#ob-side-drawer .ob-drawer-mobile{display:none}
.ob-drawer-trigger{
  flex:0 0 auto;display:inline-grid;place-items:center;
  width:47px;height:47px;cursor:pointer;
  color:#f9f8f5;border:1px solid rgba(255,255,255,.26);
  border-radius:6px;background:rgba(255,255,255,.035);
  transition:color .28s ease,border-color .28s ease,background .28s ease,transform .28s ease;
}
.ob-drawer-trigger:hover{border-color:#FBAF2A;background:rgba(251,175,42,.10);color:#FBAF2A;transform:translateY(-2px)}
.ob-drawer-trigger svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.header .ob-drawer-desktop{margin-left:-9px}
@media(max-width:1180px) and (min-width:851px){
  .header .header-inner{gap:clamp(12px,1.5vw,22px)}
  .header .nav{gap:clamp(12px,1.4vw,22px)}
  .header .header-cta{padding:12px 16px}
  .header .ob-drawer-desktop{margin-left:0}
}
@media(min-width:851px){
  /* Original mobile-toggle was made visible by .ob-drawer-trigger's later CSS.
     Force the mobile control off at desktop widths. */
  .header .mobile-toggle.ob-drawer-trigger{display:none!important}
  /* Make room in the centered header row while placing the button by the
     viewport edge (rather than the centered .container edge). */
  .header .header-inner{padding-right:clamp(78px,7vw,112px)}
  .header .ob-drawer-desktop{
    display:inline-grid;
    position:absolute;
    top:50%;
    right:clamp(16px,2.25vw,40px);
    margin-left:0;
    transform:translateY(-50%);
    z-index:2;
  }
  .header .ob-drawer-desktop:hover{transform:translateY(calc(-50% - 2px))}
}
@media(max-width:850px){
  .header .ob-drawer-desktop{display:none!important}
  .header .mobile-toggle.ob-drawer-trigger{display:inline-grid;place-items:center;cursor:pointer}
  .header .header-inner{padding-right:0}
  /* Hide the old dropdown regardless of the original mobile rules. */
  .header #site-nav,.header #site-nav.open{display:none!important}
  /* 75% of the viewport remains the drawer; the other 25% stays visible
     behind the tappable overlay so visitors can dismiss it. */
  #ob-side-drawer{width:75vw;max-width:none}
  #ob-side-drawer .ob-drawer-desktop{display:none}
  #ob-side-drawer .ob-drawer-mobile{display:block}
  #ob-side-drawer .ob-drawer-content{justify-content:flex-start;padding:32px 0 20px}
  #ob-side-drawer .ob-drawer-mobile-nav{display:flex;flex-direction:column;margin:8px 0 24px}
  #ob-side-drawer .ob-drawer-mobile-nav a{
    position:relative;display:flex;align-items:center;gap:10px;
    padding:9px 0;
    color:#f8f7f3;text-decoration:none;text-transform:uppercase;
    font:800 clamp(24px,4.4vw,33px)/1.15 'Barlow Condensed',Impact,sans-serif;
    letter-spacing:.006em;
    white-space:nowrap;
    transition:color .26s ease,transform .26s ease;
  }
  #ob-side-drawer .ob-drawer-mobile-nav a:hover,
  #ob-side-drawer .ob-drawer-mobile-nav a:focus-visible{
    color:#FBAF2A;transform:translateX(7px)
  }
  #ob-side-drawer .ob-drawer-mobile-nav .ob-nav-num{
    color:#FBAF2A;font:700 10px 'Space Grotesk',sans-serif;letter-spacing:.07em;
  }
  #ob-side-drawer .ob-drawer-title{font-size:clamp(53px,9vw,72px)}
}
@media(max-width:480px){
  #ob-side-drawer{width:75vw;max-width:none;padding:22px clamp(14px,4.5vw,25px) 25px}
  #ob-side-drawer .ob-drawer-mobile-nav a{font-size:clamp(23px,6.6vw,28px)}
  #ob-side-drawer .ob-drawer-content{padding-top:24px}
  #ob-side-drawer .ob-drawer-logo{width:clamp(105px,31vw,136px)}
  #ob-side-drawer .ob-drawer-brand small{font-size:8px;letter-spacing:.14em;margin-top:8px}
  #ob-side-drawer .ob-drawer-head{gap:10px;padding-bottom:19px}
  #ob-side-drawer .ob-drawer-close{width:42px;height:42px;flex-basis:42px}
  #ob-side-drawer .ob-drawer-foot{padding-top:16px}
}
@media(max-width:850px){
  /* Keep the revealed slice of the page visibly recognizable. */
  #ob-drawer-backdrop.is-visible{
    background:rgba(3,3,4,.52);
    -webkit-backdrop-filter:blur(3px);
    backdrop-filter:blur(3px);
  }
}
@media(max-height:650px){
  #ob-side-drawer .ob-drawer-content{justify-content:flex-start}
  #ob-side-drawer .ob-drawer-title{font-size:55px}
  #ob-side-drawer .ob-drawer-mobile-nav a{font-size:clamp(22px,4.6vw,27px);padding:7px 0}
}
@media(prefers-reduced-motion:reduce){
  #ob-side-drawer,#ob-drawer-backdrop,#ob-side-drawer *,
  #ob-side-drawer *::after,.ob-drawer-trigger{transition:none!important}
}
