/* Beespenser: cookie consent, news and legal pages, small-screen fixes.
   Follows the site rules: dark greys, no colour of its own, sharp corners, Archivo / IBM Plex. */

/* ---------- Cookie notice: small card in the corner, shown once ---------- */
.bspc-banner{position:fixed;right:20px;bottom:20px;z-index:2147483000;width:min(360px,calc(100vw - 32px));box-sizing:border-box;padding:18px 18px 12px;background:#141414;border:1px solid #2C2B29;color:#EDEBE7;font-family:'IBM Plex Sans',system-ui,sans-serif;box-shadow:0 18px 48px rgba(0,0,0,.45);-webkit-font-smoothing:antialiased}
.bspc-kicker{display:block;margin:0 0 10px;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.2em;color:#8D8A85}
.bspc-text{margin:0 0 14px;font-size:13.5px;line-height:1.55;color:#A8A49E}
.bspc-link{color:#EDEBE7;text-decoration:underline;text-underline-offset:3px}
.bspc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.bspc-banner .bspc-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bspc-btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:48px;padding:0 22px;margin:0;border:1px solid #EDEBE7;border-radius:0;background:#EDEBE7;color:#161616;font-family:'Archivo',sans-serif;font-size:14px;font-weight:500;line-height:1;cursor:pointer;white-space:nowrap}
.bspc-banner .bspc-btn{min-height:40px;padding:0 12px;font-size:13px}
.bspc-btn--ghost{min-height:44px;background:transparent;color:#EDEBE7;border-color:rgba(237,235,231,.32)}
.bspc-btn:hover{opacity:.88}
.bspc-more{display:inline-block;margin:8px 0 0;padding:6px 0;border:0;background:none;color:#8D8A85;font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.bspc-more:hover{color:#EDEBE7}
.bspc-x{position:absolute;top:6px;right:6px;width:32px;height:32px;padding:0;border:0;background:none;color:#8D8A85;font-size:20px;line-height:1;cursor:pointer}
.bspc-x:hover{color:#EDEBE7}
.bspc-btn:focus-visible,.bspc-link:focus-visible,.bspc-switch:focus-visible,.bspc-more:focus-visible,.bspc-x:focus-visible{outline:2px solid #EDEBE7;outline-offset:2px}
@media (prefers-reduced-motion:no-preference){.bspc-banner{animation:bspcIn .5s cubic-bezier(.2,.8,.2,1) both}@keyframes bspcIn{from{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}}
@media (max-width:560px){
  .bspc-banner{right:12px;left:12px;bottom:12px;width:auto}
}

/* ---------- Cookie settings dialog ---------- */
.bspc-modal{position:fixed;inset:0;z-index:2147483001;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(10,10,10,.72);box-sizing:border-box}
.bspc-panel{width:100%;max-width:640px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box;padding:32px;background:#161616;border:1px solid #2C2B29;color:#EDEBE7;font-family:'IBM Plex Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.bspc-panel:focus{outline:none}
.bspc-panel h2{margin:0 0 10px;font-family:'Archivo',sans-serif;font-weight:500;font-size:30px;line-height:1.1;letter-spacing:-.035em}
.bspc-panel>p{margin:0 0 24px;font-size:15px;line-height:1.6;color:#A8A49E}
.bspc-cat{padding:18px 0;border-top:1px solid #2C2B29}
.bspc-cat-head{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:32px;cursor:pointer}
.bspc-cat-name{font-family:'Archivo',sans-serif;font-weight:500;font-size:17px}
.bspc-cat p{margin:8px 0 0;font-size:14px;line-height:1.55;color:#A8A49E}
.bspc-cat p.bspc-tools{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8D8A85}
.bspc-always{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.18em;color:#8D8A85}
.bspc-switch{-webkit-appearance:none;appearance:none;position:relative;flex:none;width:44px;height:24px;margin:0;border:1px solid #3A3936;border-radius:0;background:#222120;cursor:pointer}
.bspc-switch::before{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;background:#8D8A85;transition:left .2s ease,background .2s ease}
.bspc-switch:checked{background:#EDEBE7;border-color:#EDEBE7}
.bspc-switch:checked::before{left:23px;background:#161616}
.bspc-panel .bspc-actions{margin-top:24px;padding-top:24px;border-top:1px solid #2C2B29}
.bspc-panel>p.bspc-foot{margin:20px 0 0;font-size:13px}
@media (max-width:560px){.bspc-panel{padding:24px 18px}.bspc-panel h2{font-size:26px}}

/* ---------- News and legal pages ---------- */
.bsp-main{display:block}
.bsp-wrap{max-width:1280px;margin:0 auto;box-sizing:border-box;padding-left:40px;padding-right:40px}
.bsp-hero{padding-top:112px;padding-bottom:56px}
.bsp-h1{margin:0;font-family:'Archivo',sans-serif;font-weight:500;font-size:clamp(44px,7vw,84px);line-height:.95;letter-spacing:-.05em;color:#EDEBE7;overflow-wrap:anywhere}
.bsp-h1--post{max-width:18ch;font-size:clamp(40px,6vw,72px)}
.bsp-lead{margin:28px 0 0;max-width:620px;font-size:18px;line-height:1.6;color:#A8A49E}
.bsp-filter{display:flex;flex-wrap:wrap;gap:4px 28px;margin-top:40px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.2em}
.bsp-filter a{padding:12px 0;color:#8D8A85;border-bottom:1px solid transparent}
.bsp-filter a[aria-current]{color:#EDEBE7;border-bottom-color:#EDEBE7}
.bsp-list{padding-bottom:128px}
.bsp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:24px}
.bsp-card{display:flex;flex-direction:column;background:#161616;border:1px solid #2C2B29;color:#EDEBE7;transition:border-color .2s}
.bsp-card:hover{border-color:#6E6B66;opacity:1}
.bsp-card-img{display:block;aspect-ratio:16/10;overflow:hidden;background:#222120}
.bsp-card-img img{display:block;width:100%;height:100%;object-fit:cover}
.bsp-card-ph{display:block;width:100%;height:100%;background:#222120}
.bsp-card-body{display:flex;flex:1;flex-direction:column;gap:12px;padding:24px 24px 28px}
.bsp-card-title{font-family:'Archivo',sans-serif;font-weight:500;font-size:22px;line-height:1.2;letter-spacing:-.02em}
.bsp-card-text{font-size:15px;line-height:1.6;color:#A8A49E}
.bsp-card-meta{display:flex;justify-content:space-between;gap:12px;padding:14px 24px;border-top:1px solid #2C2B29;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.2em;color:#8D8A85}
.bsp-empty{margin:0;padding:48px 0;border-top:1px solid #2C2B29;font-size:17px;color:#A8A49E}
.bsp-pager{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:48px}
.bsp-pager-n{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.2em;color:#8D8A85}
.bsp-btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:48px;padding:0 24px;border:0;border-radius:0;background:#EDEBE7;color:#161616 !important;font-family:'Archivo',sans-serif;font-size:15px;font-weight:500;text-decoration:none !important;cursor:pointer}
.bsp-btn--ghost{min-height:44px;background:transparent;color:#EDEBE7 !important;border:1px solid rgba(237,235,231,.28)}
.bsp-article{padding-top:72px;padding-bottom:128px}
.bsp-back{display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-bottom:40px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.2em;color:#B9B5AF}
.bsp-meta-row{display:flex;flex-wrap:wrap;gap:8px 24px;margin:28px 0 0;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.2em;color:#8D8A85}
.bsp-preview-note{display:inline-block;margin:0 0 24px;padding:6px 10px;background:#EDEBE7;color:#161616;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.2em}
.bsp-cover{margin:56px 0 0;border:1px solid #2C2B29;background:#161616}
.bsp-cover img{display:block;width:100%;height:auto}
.bsp-prose{max-width:760px;margin-top:64px;font-size:17px;line-height:1.75;color:#D6D2CC}
.bsp-legal .bsp-prose{margin-top:48px}
.bsp-prose>:first-child{margin-top:0}
.bsp-prose p,.bsp-prose ul,.bsp-prose ol{margin:0 0 22px}
.bsp-prose h2{margin:64px 0 20px;font-family:'Archivo',sans-serif;font-weight:500;font-size:clamp(28px,3.4vw,40px);line-height:1.1;letter-spacing:-.035em;color:#EDEBE7}
.bsp-prose h3{margin:40px 0 14px;font-family:'Archivo',sans-serif;font-weight:500;font-size:22px;line-height:1.25;letter-spacing:-.02em;color:#EDEBE7}
.bsp-prose a{color:#EDEBE7;text-decoration:underline;text-underline-offset:3px}
.bsp-prose strong{font-weight:500;color:#EDEBE7}
.bsp-prose ul,.bsp-prose ol{padding-left:22px}
.bsp-prose li{margin:0 0 10px}
.bsp-prose li::marker{color:#8D8A85}
.bsp-prose blockquote{margin:40px 0;padding:0 0 0 24px;border-left:1px solid #EDEBE7}
.bsp-prose blockquote p{margin:0 0 12px;font-family:'Archivo',sans-serif;font-size:24px;line-height:1.35;letter-spacing:-.02em;color:#EDEBE7}
.bsp-prose cite{font-style:normal;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#8D8A85}
.bsp-prose hr{margin:56px 0;border:0;border-top:1px solid #2C2B29}
.bsp-figure{margin:40px 0}
.bsp-figure img{display:block;width:100%;height:auto;border:1px solid #2C2B29}
.bsp-figure figcaption{margin-top:12px;font-size:13px;line-height:1.5;color:#8D8A85}
.bsp-cta{margin:40px 0}
.bsp-video{position:relative;aspect-ratio:16/9;background:#161616;border:1px solid #2C2B29}
.bsp-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.bsp-video-play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px;box-sizing:border-box;border:0;background:transparent;color:#EDEBE7;font-family:'Archivo',sans-serif;font-size:16px;text-align:center;cursor:pointer}
.bsp-video-play small{font-family:'IBM Plex Sans',sans-serif;font-size:12px;color:#8D8A85}
.bsp-video-icon{position:relative;display:block;width:64px;height:64px;border:1px solid rgba(237,235,231,.4)}
.bsp-video-icon::after{content:"";position:absolute;top:50%;left:50%;margin:-9px 0 0 -5px;border-style:solid;border-width:9px 0 9px 15px;border-color:transparent transparent transparent #EDEBE7}
.bsp-video-play:hover .bsp-video-icon{border-color:#EDEBE7}
.bsp-video-play:focus-visible{outline:1px solid #EDEBE7;outline-offset:-8px}
.bsp-table-wrap{margin:16px 0 32px;overflow-x:auto;border:1px solid #2C2B29;-webkit-overflow-scrolling:touch}
.bsp-table{width:100%;min-width:560px;border-collapse:collapse;font-size:14px;line-height:1.55}
.bsp-table th{padding:14px 16px;border-bottom:1px solid #2C2B29;background:#161616;text-align:left;font-family:'IBM Plex Mono',monospace;font-weight:400;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#8D8A85}
.bsp-table td{padding:16px;vertical-align:top;border-bottom:1px solid #2C2B29;color:#D6D2CC}
.bsp-table tr:last-child td{border-bottom:0}
.bsp-table code{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:#EDEBE7;overflow-wrap:anywhere}
.bsp-table span{color:#8D8A85}
.bsp-table a{font-size:13px}
@media (max-width:720px){
  .bsp-wrap{padding-left:16px;padding-right:16px}
  .bsp-hero{padding-top:64px;padding-bottom:40px}
  .bsp-lead{font-size:16px}
  .bsp-list{padding-bottom:96px}
  .bsp-article{padding-top:40px;padding-bottom:96px}
  .bsp-back{margin-bottom:24px}
  .bsp-cover{margin-top:40px}
  .bsp-prose{margin-top:40px;font-size:16px}
  .bsp-prose h2{margin-top:48px}
}

/* ---------- Small-screen fixes for the exported pages ---------- */
select{max-width:100%}
@media (max-width:720px),(pointer:coarse){
  /* Footer links: 18px tall text gets a 34px touch area without moving the layout. */
  footer a:not([aria-label]){display:inline-block;padding-top:8px;padding-bottom:8px;margin-top:-8px;margin-bottom:-8px}
}

/* ---------- WordPress content (news posts and pages written in the editor) ---------- */
.bsp-prose img{max-width:100%;height:auto}
.bsp-prose figure{margin:40px 0}
.bsp-prose figure img{display:block;border:1px solid #2C2B29}
.bsp-prose figcaption,.bsp-prose .wp-element-caption{margin-top:12px;font-size:13px;line-height:1.5;color:#8D8A85}
.bsp-prose .alignleft{float:left;margin:6px 28px 16px 0;max-width:50%}
.bsp-prose .alignright{float:right;margin:6px 0 16px 28px;max-width:50%}
.bsp-prose .aligncenter{margin-left:auto;margin-right:auto;text-align:center}
.bsp-prose .alignwide,.bsp-prose .alignfull{width:100%}
.bsp-prose::after{content:"";display:table;clear:both}
.bsp-prose .wp-block-columns{display:flex;flex-wrap:wrap;gap:32px;margin:40px 0}
.bsp-prose .wp-block-column{flex:1 1 260px;min-width:0}
.bsp-prose .wp-block-gallery,.bsp-prose .blocks-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:16px;padding:0;list-style:none}
.bsp-prose .wp-block-gallery figure{margin:0}
.bsp-prose .wp-block-gallery img{width:100%;height:100%;object-fit:cover}
.bsp-prose .wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0}
.bsp-prose .wp-block-button__link,.bsp-prose .wp-element-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;background:#EDEBE7;color:#161616 !important;font-family:'Archivo',sans-serif;font-size:15px;font-weight:500;text-decoration:none !important;border-radius:0}
.bsp-prose .is-style-outline .wp-block-button__link{background:transparent;color:#EDEBE7 !important;border:1px solid rgba(237,235,231,.28)}
.bsp-prose .wp-block-separator,.bsp-prose hr{margin:56px 0;border:0;border-top:1px solid #2C2B29}
.bsp-prose .wp-block-quote{margin:40px 0;padding:0 0 0 24px;border-left:1px solid #EDEBE7}
.bsp-prose .wp-block-quote p{font-family:'Archivo',sans-serif;font-size:24px;line-height:1.35;letter-spacing:-.02em;color:#EDEBE7}
.bsp-prose .wp-block-pullquote{margin:48px 0;padding:32px 0;border-top:1px solid #2C2B29;border-bottom:1px solid #2C2B29;text-align:left}
.bsp-prose .wp-block-table{margin:16px 0 32px;overflow-x:auto;border:1px solid #2C2B29}
.bsp-prose .wp-block-table table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.55}
.bsp-prose .wp-block-table td,.bsp-prose .wp-block-table th{padding:14px 16px;border-bottom:1px solid #2C2B29;text-align:left;vertical-align:top}
.bsp-prose .wp-block-table th{background:#161616;font-family:'IBM Plex Mono',monospace;font-weight:400;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#8D8A85}
.bsp-prose .wp-block-embed{margin:40px 0}
.bsp-prose .wp-block-embed__wrapper>.bsp-video{margin:0}
.bsp-prose .wp-block-file{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.bsp-prose .wp-block-file__button{display:inline-flex;align-items:center;min-height:40px;padding:0 18px;background:#EDEBE7;color:#161616 !important;text-decoration:none !important}
.bsp-prose pre,.bsp-prose code{font-family:'IBM Plex Mono',monospace;font-size:14px}
.bsp-prose pre{overflow-x:auto;padding:20px;background:#161616;border:1px solid #2C2B29}
.bsp-prose video{display:block;max-width:100%;height:auto}
.post-password-form{max-width:520px;margin:24px 0}
.post-password-form input[type=password]{width:100%;min-height:48px;margin:8px 0 12px;padding:0 14px;box-sizing:border-box;background:#161616;border:1px solid #3A3936;color:#EDEBE7;font:inherit;border-radius:0}
.post-password-form input[type=submit]{min-height:48px;padding:0 22px;background:#EDEBE7;color:#161616;border:0;border-radius:0;font-family:'Archivo',sans-serif;font-size:15px;cursor:pointer}
.screen-reader-text{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:720px){.bsp-prose .alignleft,.bsp-prose .alignright{float:none;max-width:100%;margin:24px 0}}

/* ---------- Call booking on /talk-to-our-team/ (Google Calendar, loaded on click) ---------- */
.bsp-booking{display:flex;flex-direction:column;min-height:100%;color:#161616;font-family:'IBM Plex Sans',system-ui,sans-serif}
.bsp-booking-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;padding:22px 32px;border-bottom:1px solid #D9D1C4;background:#F3EEE6}
.bsp-booking-kicker{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.2em;color:#4A443C}
.bsp-booking-tz{font-size:13px;color:#5E574D}
.bsp-booking-start{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:48px 32px 40px;max-width:560px}
.bsp-booking-title{margin:0;font-family:'Archivo',sans-serif;font-weight:500;font-size:clamp(28px,3vw,36px);line-height:1.1;letter-spacing:-.035em;color:#161616}
.bsp-booking-text{margin:0;font-size:15.5px;line-height:1.6;color:#4A443C}
.bsp-booking-load{display:inline-flex;align-items:center;gap:12px;min-height:52px;margin-top:8px;padding:0 26px;border:0;border-radius:0;background:#161616;color:#FAF8F4;font-family:'Archivo',sans-serif;font-size:15px;font-weight:500;cursor:pointer}
.bsp-booking-load:hover{background:#2C2B29}
.bsp-booking-load:focus-visible,.bsp-booking-open:focus-visible{outline:2px solid #161616;outline-offset:3px}
.bsp-booking-note{margin:0;font-size:12.5px;line-height:1.5;color:#7A7266}
.bsp-booking-frame{display:none}
.bsp-booking.is-open .bsp-booking-start{display:none}
.bsp-booking.is-open .bsp-booking-frame{display:block;background:#FFFFFF}
.bsp-booking-frame iframe{display:block;width:100%;height:720px;border:0}
.bsp-booking-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px;margin-top:auto;padding:18px 32px;border-top:1px solid #D9D1C4;font-size:13.5px}
.bsp-booking-open{padding:8px 0;border:0;background:none;color:#161616;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.bsp-booking-foot a{color:#161616;text-decoration:underline;text-underline-offset:3px}
.bsp-booking.is-off .bsp-booking-load,.bsp-booking.is-off .bsp-booking-open,.bsp-booking.is-off .bsp-booking-note{display:none}
@media (max-width:720px){
  .bsp-booking-head{padding:18px 18px}
  .bsp-booking-start{padding:32px 18px 28px}
  .bsp-booking-load{width:100%;justify-content:center}
  .bsp-booking-frame iframe{height:860px}
  .bsp-booking-foot{padding:16px 18px}
}

/* ---------- Home: product always shown whole ---------- */
/* Scroll video: on screens wider than 16:9 the frame fits the height (set in the page) and its side
   edges fade into the page, so the device is never cut off at the top or bottom. */
@media (min-aspect-ratio:161/90){
  .bsp-vidbox{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%)}
}
/* Purchase photo: shown whole (object-fit: contain in the page) and standing on the bottom edge of the
   section, so no grey band opens between the device and the next section. Above the photo the box has
   the grey of the photo's top; behind the photo a gradient the height of the photo follows its edges
   (the floor is darker), and the photo's edges dissolve into it, so no seam shows. */
.bsp-purchase-media{background:#d3d3d3 !important;overflow:hidden}
.bsp-purchase-media::before{content:"";position:absolute;left:0;right:0;bottom:0;width:100%;aspect-ratio:3/2;max-height:100%;background:linear-gradient(180deg,#d3d3d3 0%,#cbcccb 55%,#bdbdbd 100%);pointer-events:none}
.bsp-purchase-media img{object-position:50% 100%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%),linear-gradient(180deg,transparent 0,#000 6%,#000 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%),linear-gradient(180deg,transparent 0,#000 6%,#000 100%);mask-composite:intersect}
@media (max-width:960px){.bsp-purchase-media{min-height:0 !important;aspect-ratio:3/2}}

/* "What you print is up to you." (pinned while scrolling): on short screens the heading, the gaps and
   the card photos shrink with the screen height, and the heading never moves above the top edge. */
#applications > div:first-child{justify-content:safe center !important}
@media (max-height:860px){
  #applications > div:first-child{padding:36px 0 24px !important;gap:26px !important}
  #applications h2{font-size:clamp(32px,min(5vw,7.2vh),66px) !important}
  #applications .hm-card > div:first-child{height:clamp(120px,27vh,300px) !important}
  #applications .hm-card > div:last-child{padding:20px 24px !important}
}

/* ---------- Monobee documents: short Get a Quote form before the download ---------- */
.bsp-dl-modal{position:fixed;inset:0;z-index:2147483001;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(8,8,8,.72);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.bsp-dl{position:relative;width:min(480px,100%);max-height:calc(100vh - 32px);overflow:auto;box-sizing:border-box;padding:30px 28px 24px;background:#141414;border:1px solid #2C2B29;color:#EDEBE7;font-family:'IBM Plex Sans',system-ui,sans-serif;box-shadow:0 30px 80px rgba(0,0,0,.5);-webkit-font-smoothing:antialiased}
.bsp-dl-kicker{display:block;margin:0 0 12px;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.2em;color:#8D8A85}
.bsp-dl h2{margin:0 0 10px;font-family:'Archivo',sans-serif;font-weight:500;font-size:26px;line-height:1.15;letter-spacing:-.025em;color:#EDEBE7}
.bsp-dl-intro{margin:0 0 22px;font-size:14px;line-height:1.6;color:#A8A49E}
.bsp-dl-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bsp-dl-field{display:flex;flex-direction:column;gap:6px;margin:0 0 14px}
.bsp-dl-grid .bsp-dl-field{margin:0}
.bsp-dl-grid{margin:0 0 14px}
.bsp-dl-field span{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#8D8A85}
.bsp-dl-field input{box-sizing:border-box;width:100%;min-height:44px;padding:0 12px;border:1px solid #3A3936;border-radius:0;background:#0D0D0D;color:#EDEBE7;font:15px/1.3 'IBM Plex Sans',system-ui,sans-serif}
.bsp-dl-field input:focus{outline:none;border-color:#EDEBE7}
.bsp-dl-field input[aria-invalid=true],.bsp-dl-check input[aria-invalid=true]{border-color:#C0533F;outline-color:#C0533F}
.bsp-dl-check{display:flex;gap:10px;align-items:flex-start;margin:4px 0 18px;font-size:12.5px;line-height:1.55;color:#A8A49E;cursor:pointer}
.bsp-dl-check input{flex:none;width:16px;height:16px;margin:2px 0 0;accent-color:#EDEBE7}
.bsp-dl-check a{color:#EDEBE7;text-decoration:underline;text-underline-offset:3px}
.bsp-dl-submit{display:flex;width:100%;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 20px;border:1px solid #EDEBE7;border-radius:0;background:#EDEBE7;color:#161616;font-family:'Archivo',sans-serif;font-size:14px;font-weight:500;cursor:pointer}
.bsp-dl-submit[disabled]{opacity:.6;cursor:wait}
.bsp-dl-msg{min-height:18px;margin:12px 0 0;font-size:12.5px;line-height:1.5;color:#8D8A85}
.bsp-dl-msg.is-error{color:#E59A8C}
.bsp-dl-done p{margin:0 0 16px;font-size:14px;line-height:1.6;color:#A8A49E}
.bsp-dl-done a{color:#EDEBE7;text-decoration:underline;text-underline-offset:3px}
.bsp-dl-x{position:absolute;top:8px;right:8px;width:36px;height:36px;padding:0;border:0;background:none;color:#8D8A85;font-size:22px;line-height:1;cursor:pointer}
.bsp-dl-x:hover{color:#EDEBE7}
.bsp-dl-submit:focus-visible,.bsp-dl-x:focus-visible,.bsp-dl-check input:focus-visible{outline:2px solid #EDEBE7;outline-offset:2px}
@media (prefers-reduced-motion:no-preference){.bsp-dl{animation:bspcIn .4s cubic-bezier(.2,.8,.2,1) both}}
@media (max-width:520px){.bsp-dl{padding:26px 18px 20px}.bsp-dl h2{font-size:22px}.bsp-dl-grid{grid-template-columns:1fr}}
