@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500;1,600&family=Montserrat:wght@400;500;600;700&display=swap');

/* This one-off modal is scoped to avoid affecting the PBD Website Builder. */
#bn-beskuit-2026, #bn-beskuit-2026 *, #bn-beskuit-2026 *::before, #bn-beskuit-2026 *::after { box-sizing:border-box; }
#bn-beskuit-2026[hidden] { display:none!important; }
html.bn-beskuit-open, html.bn-beskuit-open body { overflow:hidden!important; }
#bn-beskuit-2026.bn-beskuit-overlay {
  position:fixed; inset:0; z-index:2147483640;
  display:flex; align-items:center; justify-content:center;
  padding:clamp(9px,2.2vw,26px);
  overflow:auto; overscroll-behavior:contain;
  background:rgba(13,17,20,.81);
  -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px);
  animation:bn-beskuit-fade .25s ease both;
}
#bn-beskuit-2026 .bn-beskuit-panel {
  position:relative; isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,340px) minmax(0,1fr);
  grid-template-areas:'gallery intro' 'gallery story';
  grid-template-rows:auto 1fr;
  width:min(1000px,100%);
  max-height:calc(100dvh - 24px);
  overflow-y:auto; overflow-x:hidden;
  overscroll-behavior:contain;
  background:#fbf8f3;
  color:#202427;
  border:1px solid rgba(228,220,205,.7);
  border-radius:8px;
  box-shadow:0 25px 90px rgba(0,0,0,.38);
}
#bn-beskuit-2026 .bn-beskuit-x {
  appearance:none; position:sticky; z-index:10;
  top:12px; right:12px; grid-column:2; grid-row:1;
  justify-self:end; align-self:start; margin:12px 12px -52px 0;
  display:grid; place-items:center;
  width:40px; height:40px; padding:0;
  border:1px solid rgba(30,37,41,.13);
  border-radius:50%; background:#fff;
  color:#1a1d1f; font:normal 31px/1 Arial,sans-serif;
  cursor:pointer; box-shadow:0 3px 13px rgba(0,0,0,.12);
}
#bn-beskuit-2026 button:focus-visible { outline:3px solid #607e90; outline-offset:3px; }
#bn-beskuit-2026 .bn-beskuit-gallery {
  grid-area:gallery; display:grid; align-content:center;
  gap:13px; padding:23px;
  background:radial-gradient(circle at 0 0,rgba(146,166,177,.18),transparent 38%),#20272a;
  min-width:0;
}
#bn-beskuit-2026 .bn-beskuit-figure { margin:0; min-width:0; }
#bn-beskuit-2026 .bn-beskuit-figure img {
  display:block; width:100%; height:auto;
  aspect-ratio:1 / 1; object-fit:contain; /* preserve every pixel of both genuine photos */
  background:#d3c3af; border:4px solid rgba(255,255,255,.90);
}
#bn-beskuit-2026 .bn-beskuit-figure figcaption {
  padding:8px 1px 0; margin:0;
  color:#d0dade; font:600 9px/1.3 Montserrat,Arial,sans-serif;
  text-transform:uppercase; letter-spacing:1.25px;
}
#bn-beskuit-2026 .bn-beskuit-intro {
  grid-area:intro; min-width:0;
  padding:54px 58px 0 52px;
  background:linear-gradient(140deg,#fbf8f3,#fffdfb);
}
#bn-beskuit-2026 .bn-beskuit-eyebrow {
  display:flex; align-items:center; gap:10px; margin:0 0 13px;
  font:700 9px/1.5 Montserrat,Arial,sans-serif;
  text-transform:uppercase; letter-spacing:1.25px; color:#738995;
}
#bn-beskuit-2026 .bn-beskuit-line { display:block; width:24px; height:2px; background:#92a6b1; flex:none; }
#bn-beskuit-2026 .bn-beskuit-overline {
  margin:0 0 7px; color:#8b6c4d;
  font:700 10px/1.5 Montserrat,Arial,sans-serif;
  text-transform:uppercase; letter-spacing:2px;
}
#bn-beskuit-2026 h2 {
  margin:0; color:#202326;
  font:600 clamp(36px,3.7vw,52px)/1 'Cormorant Garamond',Georgia,serif;
  letter-spacing:-.6px;
}
#bn-beskuit-2026 h2 em { color:#6c858f; font-weight:500; }
#bn-beskuit-2026 .bn-beskuit-rule { width:56px; height:2px; background:#9cb0ba; margin:21px 0 14px; }
#bn-beskuit-2026 .bn-beskuit-story {
  grid-area:story; min-width:0;
  padding:0 52px 37px;
  background:linear-gradient(140deg,#fbf8f3,#fffdfb);
}
#bn-beskuit-2026 .bn-beskuit-copy { color:#41484c; font:400 12.5px/1.73 Montserrat,Arial,sans-serif; }
#bn-beskuit-2026 .bn-beskuit-copy p { margin:0 0 11px; padding:0; }
#bn-beskuit-2026 .bn-beskuit-copy .bn-beskuit-heart { color:#314b58; font-weight:700; }
#bn-beskuit-2026 .bn-beskuit-signature {
  margin:17px 0 20px; color:#58666e;
  font:italic 24px/1.2 'Cormorant Garamond',Georgia,serif;
}
#bn-beskuit-2026 .bn-beskuit-signature strong { font-weight:600; color:#202326; }
#bn-beskuit-2026 .bn-beskuit-dismiss {
  display:inline-flex; gap:26px; align-items:center; justify-content:space-between;
  min-height:44px; appearance:none; cursor:pointer;
  padding:0 16px; border:1px solid #92a6b1;
  background:#92a6b1; color:#1a1d1f;
  font:700 9px/1.4 Montserrat,Arial,sans-serif;
  text-transform:uppercase; letter-spacing:1px;
}
#bn-beskuit-2026 .bn-beskuit-dismiss:hover { background:#1a1d1f; color:#fff; }
#bn-beskuit-2026 .bn-beskuit-dismiss span { font:400 17px/1 Arial,sans-serif; }
@media (max-width:790px) {
  #bn-beskuit-2026 .bn-beskuit-panel {
    width:min(510px,100%);
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto auto;
    grid-template-areas:'intro' 'gallery' 'story';
  }
  #bn-beskuit-2026 .bn-beskuit-x { grid-column:1; grid-row:1; margin:9px 9px -49px 0; top:9px; }
  #bn-beskuit-2026 .bn-beskuit-intro { padding:31px 55px 12px 27px; }
  #bn-beskuit-2026 h2 { font-size:40px; }
  #bn-beskuit-2026 .bn-beskuit-rule { margin:14px 0 0; }
  #bn-beskuit-2026 .bn-beskuit-gallery {
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px; padding:16px 24px 14px;
  }
  #bn-beskuit-2026 .bn-beskuit-figure figcaption { font-size:8px; letter-spacing:.65px; }
  #bn-beskuit-2026 .bn-beskuit-story { padding:23px 27px 29px; }
  #bn-beskuit-2026 .bn-beskuit-copy { font-size:12.4px; }
}
@media (max-width:390px) {
  #bn-beskuit-2026.bn-beskuit-overlay { padding:8px; }
  #bn-beskuit-2026 .bn-beskuit-panel { max-height:calc(100dvh - 16px); }
  #bn-beskuit-2026 .bn-beskuit-intro { padding:26px 50px 10px 19px; }
  #bn-beskuit-2026 h2 { font-size:37px; }
  #bn-beskuit-2026 .bn-beskuit-eyebrow { font-size:8px; letter-spacing:.6px; }
  #bn-beskuit-2026 .bn-beskuit-overline { font-size:9px; }
  #bn-beskuit-2026 .bn-beskuit-gallery { gap:8px; padding:12px 14px 11px; }
  #bn-beskuit-2026 .bn-beskuit-figure img { border-width:3px; }
  #bn-beskuit-2026 .bn-beskuit-figure figcaption { font-size:7px; letter-spacing:0; }
  #bn-beskuit-2026 .bn-beskuit-story { padding:20px 19px 25px; }
  #bn-beskuit-2026 .bn-beskuit-copy { font-size:11.7px; line-height:1.69; }
  #bn-beskuit-2026 .bn-beskuit-copy p { margin-bottom:10px; }
  #bn-beskuit-2026 .bn-beskuit-signature { margin:12px 0 15px; }
}
@media (max-width:350px) {
  #bn-beskuit-2026 .bn-beskuit-intro { padding-right:48px; }
  #bn-beskuit-2026 h2 { font-size:34px; }
}
@media (prefers-reduced-motion:reduce) {
  #bn-beskuit-2026.bn-beskuit-overlay { animation:none; }
}
@keyframes bn-beskuit-fade { from { opacity:0; } to { opacity:1; } }
