/* Bacon Bin Rev243 — Contact */
.contact-page{background:#050506;color:#eee}
.bb-contact-shell{max-width:1320px;margin:0 auto;padding:clamp(34px,5vw,76px) clamp(18px,4vw,54px) 84px}
.bb-contact-shell>h1{margin:6px 0 32px;font:900 clamp(46px,6vw,82px)/.9 Bahnschrift SemiCondensed,Bahnschrift,"Arial Narrow",sans-serif;letter-spacing:-.045em}
.bb-contact-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);gap:22px;align-items:start}
.bb-contact-card,.bb-contact-side>article,.bb-contact-qr{border:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,#0d0f12,#08090b);box-shadow:0 22px 54px rgba(0,0,0,.25)}
.bb-contact-form-card{padding:clamp(24px,4vw,46px)}
.bb-contact-form-card h2,.bb-contact-side h2{margin:7px 0 13px;font:850 clamp(26px,3vw,38px)/1 Bahnschrift SemiCondensed,Bahnschrift,"Arial Narrow",sans-serif}
.bb-contact-form-card>div>p{max-width:710px;margin:0 0 30px;color:#aaa5a0;line-height:1.65}
.bb-contact-form{display:grid;gap:18px}
.bb-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.bb-contact-form label{display:grid;gap:7px;min-width:0;color:#d9d6d2;font:750 10px/1.15 Bahnschrift,"Arial Narrow",sans-serif;letter-spacing:1.15px}
.bb-contact-form label>span b{color:#e54a43}.bb-contact-form label>span small{color:#716e6a;font-size:8px;margin-left:6px}
.bb-contact-form input,.bb-contact-form select,.bb-contact-form textarea{box-sizing:border-box;width:100%;min-width:0;border:1px solid #2d3035;background:#101216;color:#f1f0ee;border-radius:2px;padding:13px 14px;font:500 15px/1.35 "Segoe UI",Arial,sans-serif;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.bb-contact-form select{appearance:auto}.bb-contact-form textarea{resize:vertical;min-height:168px}
.bb-contact-form input:focus,.bb-contact-form select:focus,.bb-contact-form textarea:focus{border-color:#c83c36;background:#131519;box-shadow:0 0 0 2px rgba(200,60,54,.13)}
.bb-contact-consent{display:flex!important;grid-template-columns:none!important;flex-direction:row;align-items:flex-start;gap:10px!important;color:#98938f!important;font:500 12px/1.45 "Segoe UI",Arial,sans-serif!important;letter-spacing:0!important}
.bb-contact-consent input{width:17px!important;height:17px!important;min-width:17px!important;margin:1px 0 0;padding:0!important;accent-color:#d53c35}
.bb-contact-consent a{color:#ddd}.bb-contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.bb-contact-submit{min-height:48px;border:1px solid #df443d;background:#c7322d;color:#fff;padding:0 18px;font:900 11px/1 Bahnschrift,sans-serif;letter-spacing:1.2px;cursor:pointer;transition:background .18s ease,transform .18s ease}.bb-contact-submit:hover,.bb-contact-submit:focus-visible{background:#e0443d;transform:translateY(-1px)}.bb-contact-submit:disabled{opacity:.6;cursor:wait;transform:none}
.bb-contact-status{min-height:20px;margin:0;color:#83ca8c;font-size:12px}.bb-contact-status.is-error{color:#ff8b83}
.bb-contact-side{display:grid;gap:15px}.bb-contact-side>article,.bb-contact-qr{padding:24px}.bb-contact-side address{font-style:normal;color:#ddd;line-height:1.7}.bb-contact-side article>small{display:block;margin-top:12px;color:#74706c;line-height:1.5}.bb-contact-tip{display:flex;gap:15px;align-items:center}.bb-contact-tip i{display:grid;place-items:center;width:44px;height:44px;border:1px solid #3a3131;color:#df463f;background:#140d0e}.bb-contact-tip div{display:grid;gap:5px}.bb-contact-tip b{font:850 11px/1 Bahnschrift,sans-serif;letter-spacing:1px}.bb-contact-tip span{color:#8e8a86;font-size:12px;line-height:1.45}.bb-contact-qr{display:grid;justify-items:center;text-align:center;gap:12px}.bb-qr-plate{background:#fff;padding:10px;border-radius:3px}.bb-qr-plate img{display:block;width:126px;height:126px;object-fit:contain}.bb-contact-qr>span{font:800 9px/1 Bahnschrift,sans-serif;letter-spacing:1.4px;color:#8f8985}
@media(max-width:820px){.bb-contact-layout{grid-template-columns:1fr}.bb-contact-side{grid-template-columns:repeat(2,minmax(0,1fr))}.bb-contact-qr{grid-column:1/-1}}
@media(max-width:560px){.bb-contact-shell{padding:34px 14px 70px}.bb-contact-shell>h1{margin-bottom:24px}.bb-contact-form-card{padding:24px 18px}.bb-form-row{grid-template-columns:1fr}.bb-contact-form{gap:15px}.bb-contact-form input,.bb-contact-form select,.bb-contact-form textarea{font-size:16px;padding:12px 12px}.bb-contact-form textarea{min-height:150px}.bb-contact-side{grid-template-columns:1fr}.bb-contact-qr{grid-column:auto}.bb-contact-submit{width:100%}}

/* =========================================================
   Rev244 — contact page geometry reset / QR collision fix
   ========================================================= */
.contact-page .bb-contact-shell{max-width:1240px!important;padding-top:48px!important}
.contact-page .bb-contact-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 340px!important;gap:28px!important;align-items:start!important}
.contact-page .bb-contact-form-card{min-width:0!important;padding:36px!important}
.contact-page .bb-contact-side{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;align-self:start!important;min-width:0!important}
.contact-page .bb-contact-side>article{position:relative!important;min-width:0!important;overflow:hidden!important;padding:26px!important}
.contact-page .bb-contact-location{display:block!important}
.contact-page .bb-contact-location .bb-contact-qr{
  position:static!important;
  width:100%!important;
  margin:22px 0 0!important;
  padding:20px 0 0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:16px!important;
  text-align:left!important;
  border:0!important;
  border-top:1px solid rgba(255,255,255,.075)!important;
  background:transparent!important;
  box-shadow:none!important;
}
.contact-page .bb-contact-location .bb-qr-plate{flex:0 0 auto!important;padding:7px!important;background:#fff!important;border-radius:4px!important}
.contact-page .bb-contact-location .bb-qr-plate img{display:block!important;width:94px!important;height:94px!important;max-width:none!important;object-fit:contain!important;margin:0!important}
.contact-page .bb-contact-location .bb-contact-qr>span{display:block!important;max-width:120px!important;color:#aaa5a0!important;font:800 9px/1.45 Bahnschrift,"Arial Narrow",sans-serif!important;letter-spacing:1.15px!important}
.contact-page .bb-contact-tip{display:flex!important;align-items:center!important;gap:14px!important}
.contact-page .bb-contact-tip i{flex:0 0 44px!important}
@media(max-width:900px){
  .contact-page .bb-contact-layout{grid-template-columns:1fr!important}
  .contact-page .bb-contact-side{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:620px){
  .contact-page .bb-contact-shell{padding:34px 14px 70px!important}
  .contact-page .bb-contact-form-card{padding:24px 18px!important}
  .contact-page .bb-contact-side{grid-template-columns:1fr!important}
  .contact-page .bb-contact-location .bb-contact-qr{justify-content:flex-start!important}
}

/* =========================================================
   Rev247 — Contact communicator background
   User-supplied still, centered and softly feathered.
   ========================================================= */
.contact-page .bb-contact-shell{
  position:relative!important;
  isolation:isolate;
  overflow:visible;
}
.contact-page .bb-contact-shell::before{
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
  left:50%;
  top:18px;
  width:min(920px,82vw);
  aspect-ratio:1024/877;
  transform:translateX(-50%);
  background:url("images/contact/communicate-bg-v247.png") center center/contain no-repeat;
  opacity:.22;
}
.contact-page .bb-contact-form-card,
.contact-page .bb-contact-side>article{
  background:linear-gradient(180deg,rgba(13,15,18,.93),rgba(8,9,11,.94))!important;
  backdrop-filter:blur(1.5px);
  -webkit-backdrop-filter:blur(1.5px);
}
@media(max-width:900px){
  .contact-page .bb-contact-shell::before{
    top:56px;
    width:min(820px,96vw);
    opacity:.18;
  }
}
@media(max-width:620px){
  .contact-page .bb-contact-shell::before{
    position:absolute;
    top:72px;
    width:118vw;
    opacity:.12;
  }
  .contact-page .bb-contact-form-card,
  .contact-page .bb-contact-side>article{
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
}
