.bw-special { box-sizing:border-box; width:min(880px, calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:0; border:0; border-radius:18px; background:#faf7ef; color:#172c35; box-shadow:0 24px 100px #0007; font-family:Arial, sans-serif; }
.bw-special::backdrop { background:rgba(7,21,31,.76); backdrop-filter:blur(5px); }
.bw-special *, .bw-special *::before { box-sizing:border-box; }
.bw-special__layout { display:grid; grid-template-columns: .95fr 1.05fr; }
.bw-special__photo { position:relative; min-height:540px; background:#244638; }
.bw-special__photo img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:48% center; }
.bw-special__photo::after { content:""; position:absolute; inset:0; background:linear-gradient(transparent 45%,rgba(9,30,27,.9)); }
.bw-special__brand { position:absolute; z-index:1; left:30px; right:25px; bottom:32px; color:white; }
.bw-special__brand strong { display:block; font-family:Georgia,serif; font-size:36px; font-weight:normal; }
.bw-special__brand span { display:block; margin-top:9px; font-size:11px; letter-spacing:2.5px; text-transform:uppercase; }
.bw-special__content { padding:42px 36px 28px; text-align:left; }
.bw-special__eyebrow { margin:0 0 16px; font-size:11px; font-weight:bold; letter-spacing:2.5px; color:#44634d; text-transform:uppercase; }
.bw-special h2 { margin:0 0 18px; color:#172c35; font:normal 34px/1.12 Georgia,serif; }
.bw-special__price { margin:0; color:#172c35; font:bold 84px/.95 Arial,sans-serif; letter-spacing:-5px; }
.bw-special__price span { font-size:43px; vertical-align:top; line-height:1.2; letter-spacing:-1px; }
.bw-special__rent { margin:10px 0 23px; font-size:19px; }
.bw-special__referral { padding:17px 19px; border-left:3px solid #a5b77a; background:#e9ede1; }
.bw-special__referral strong { display:block; font-size:25px; color:#244638; }
.bw-special__referral span { display:block; margin-top:4px; font-size:14px; }
.bw-special__deadline { margin:20px 0; font-size:14px; line-height:1.5; }
.bw-special__deadline strong { display:block; }
.bw-special__cta { display:block; padding:15px 12px; border-radius:5px; background:#172f3d; color:#fff !important; text-align:center; text-decoration:none; font-size:14px; font-weight:bold; }
.bw-special__phone { display:block; margin-top:14px; color:#244638 !important; text-align:center; font-size:14px; text-decoration:none; }
.bw-special__close { position:absolute; top:10px; right:10px; z-index:2; width:34px; height:34px; border:1px solid #d5d9d0; border-radius:50%; background:#faf7ef; color:#172c35; cursor:pointer; font:26px/1 Arial,sans-serif; }
.bw-special__trigger { position:fixed; left:20px; bottom:20px; z-index:999998; border:1px solid #b6c18e; border-radius:30px; padding:15px 22px; background:#172f3d; color:#fff; font:bold 14px Arial,sans-serif; cursor:pointer; box-shadow:0 4px 18px #0003; }
.bw-special__trigger[hidden] { display:none; }
.bw-special a:focus-visible,.bw-special button:focus-visible,.bw-special__trigger:focus-visible { outline:3px solid #8ba35b; outline-offset:4px; }
html.bw-special-open { overflow:hidden; }
@media(max-width:640px) { .bw-special__layout { grid-template-columns:1fr; } .bw-special__photo { min-height:190px; } .bw-special__photo img { object-position:center 43%; } .bw-special__brand { left:24px; bottom:19px; } .bw-special__brand strong { font-size:29px; } .bw-special__content { padding:25px 25px 24px; } .bw-special h2 { font-size:29px; margin-bottom:15px; } .bw-special__price { font-size:72px; } .bw-special__rent { margin-bottom:18px; } .bw-special__eyebrow { margin-bottom:12px; } }
/* Ease the flyer and backdrop into view each time the dialog opens. */
@keyframes bw-special-enter {
  from { opacity:0; transform:translateY(90px) scale(.9); }
  to { opacity:1; transform:translateY(0) scale(1); }
}
@keyframes bw-special-backdrop-enter {
  from { opacity:0; }
  to { opacity:1; }
}
.bw-special[open] { animation:bw-special-enter 650ms cubic-bezier(.16,1,.3,1) both; }
.bw-special[open]::backdrop { animation:bw-special-backdrop-enter 500ms ease-out both; }
@keyframes bw-special-content-enter {
  from { opacity:0; transform:translateY(28px); }
  to { opacity:1; transform:translateY(0); }
}
.bw-special[open] .bw-special__photo { animation:bw-special-content-enter 550ms 80ms ease-out both; }
.bw-special[open] .bw-special__content > * { animation:bw-special-content-enter 500ms 120ms ease-out both; }
.bw-special[open] .bw-special__price, .bw-special[open] .bw-special__rent { animation-delay:200ms; }
.bw-special[open] .bw-special__referral { animation-delay:280ms; }
.bw-special[open] .bw-special__deadline, .bw-special[open] .bw-special__cta, .bw-special[open] .bw-special__phone { animation-delay:360ms; }
@media(prefers-reduced-motion:reduce) {
  .bw-special[open], .bw-special[open]::backdrop,
  .bw-special[open] .bw-special__photo,
  .bw-special[open] .bw-special__content > * { animation:none; }
}

/* Center the close glyph independently of inherited button spacing. */
.bw-special .bw-special__close {
  display:flex; align-items:center; justify-content:center;
  padding:0; margin:0; text-indent:0; letter-spacing:0;
  font-family:Arial,sans-serif; font-size:26px; line-height:1;
}
@keyframes bw-special-exit {
  from { opacity:1; transform:translateY(0) scale(1); }
  to { opacity:0; transform:translateY(35px) scale(.96); }
}
@keyframes bw-special-backdrop-exit {
  from { opacity:1; }
  to { opacity:0; }
}
.bw-special[open].bw-special--closing { animation:bw-special-exit 250ms ease-in both; pointer-events:none; }
.bw-special[open].bw-special--closing::backdrop { animation:bw-special-backdrop-exit 250ms ease-in both; }
@media(prefers-reduced-motion:reduce) {
  .bw-special[open].bw-special--closing,
  .bw-special[open].bw-special--closing::backdrop { animation:none; }
}
