/* Offer architecture: two clear doors, with the existing DBM industrial palette. */
html:has(body.dbm-offer-page) { overflow-x: clip; }
body.dbm-offer-page { overflow-x: clip; }
body.dbm-offer-page {
  --offer-lime: var(--dbm-lime, #7ec820);
  --offer-blue: var(--dbm-blue, #75d4ed);
  --offer-ink: var(--dbm-text, #e9f1ed);
  --offer-muted: var(--dbm-muted, #a8b7b0);
  --offer-line: var(--dbm-line, #294238);
  --offer-black: #0b0f0d;
  min-height: 100vh;
  background: linear-gradient(180deg, #07110f 0%, #0d1b16 45%, #07110f 100%);
  font-family: Georgia, "Times New Roman", serif;
}
body.dbm-offer-page main { overflow-x: clip; }

body.dbm-offer-page h1,
body.dbm-offer-page h2,
body.dbm-offer-page h3,
body.dbm-offer-page h4 { font-family: var(--dbm-font-display, "Trebuchet MS", sans-serif); }

body.dbm-offer-page .dbm-nav,
body.dbm-offer-page .dbm-links,
body.dbm-offer-page .dbm-brand,
body.dbm-offer-page .dbm-eyebrow,
body.dbm-offer-page .dbm-button,
body.dbm-offer-page .dbm-offer-index,
body.dbm-offer-page .dbm-offer-price,
body.dbm-offer-page .dbm-offer-step-number { font-family: var(--dbm-font-mono, ui-monospace, monospace); }

body.dbm-offer-page .dbm-offer-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
  gap: clamp(24px, 5vw, 68px);
  align-items: center;
  padding: clamp(56px, 9vw, 108px) 0 clamp(34px, 6vw, 66px);
}

body.dbm-offer-page .dbm-offer-hero-copy { max-width: 720px; }
body.dbm-offer-page .dbm-offer-hero h1 { max-width: 16ch; margin: 14px 0 20px; font-size: clamp(42px, 7vw, 78px); line-height: .98; letter-spacing: -.045em; }
body.dbm-offer-page .dbm-offer-hero h1 span { color: var(--offer-lime); }
body.dbm-offer-page .dbm-offer-promise { max-width: 58ch; color: var(--offer-muted); font-size: clamp(19px, 2.2vw, 25px); line-height: 1.35; }
body.dbm-offer-page .dbm-offer-explainer { max-width: 58ch; margin-top: 18px; color: var(--offer-ink); font-size: 18px; }

body.dbm-offer-page .dbm-offer-hero-art {
  position: relative;
  min-height: 340px;
  perspective: 1000px;
  isolation: isolate;
}
body.dbm-offer-page .dbm-offer-hero-art::before {
  content: "";
  position: absolute;
  inset: 9% 4% 10% 4%;
  border: 1px solid rgba(126, 200, 32, .33);
  background: linear-gradient(145deg, rgba(24, 58, 42, .9), rgba(6, 15, 12, .92));
  box-shadow: 18px 22px 0 rgba(0, 0, 0, .28), inset 0 1px rgba(255, 255, 255, .08);
  transform: rotateX(56deg) rotateZ(-7deg) translateZ(-35px);
}
body.dbm-offer-page .dbm-offer-orbit {
  position: absolute;
  inset: 18% 14%;
  border: 1px solid rgba(117, 212, 237, .6);
  border-radius: 50%;
  transform: rotateX(66deg) rotateZ(-12deg);
  box-shadow: 0 0 0 16px rgba(117, 212, 237, .035), 0 0 45px rgba(117, 212, 237, .16);
}
body.dbm-offer-page .dbm-offer-orbit::before,
body.dbm-offer-page .dbm-offer-orbit::after { content: ""; position: absolute; border-radius: 50%; }
body.dbm-offer-page .dbm-offer-orbit::before { inset: 22%; border: 2px solid var(--offer-lime); box-shadow: 0 0 24px rgba(126, 200, 32, .25); }
body.dbm-offer-page .dbm-offer-orbit::after { width: 16px; height: 16px; top: 16%; right: 13%; background: var(--offer-lime); box-shadow: 0 0 22px rgba(126, 200, 32, .7); }
body.dbm-offer-page .dbm-offer-hero-readout { position: absolute; right: 9%; bottom: 12%; z-index: 1; padding: 12px 15px; border-left: 3px solid var(--offer-lime); color: var(--offer-ink); background: rgba(11, 15, 13, .82); font: 12px/1.4 var(--dbm-font-mono, monospace); }
body.dbm-offer-page .dbm-offer-hero-readout strong { display: block; color: var(--offer-lime); font-size: 18px; }

body.dbm-offer-page .dbm-offer-section { padding: clamp(38px, 6vw, 76px) 0; border-top: 1px solid rgba(195, 220, 207, .16); }
body.dbm-offer-page .dbm-offer-section-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .55fr); gap: 28px; align-items: end; margin-bottom: 24px; }
body.dbm-offer-page .dbm-offer-section-head h2 { max-width: 16ch; margin: 9px 0 0; font-size: clamp(30px, 5vw, 54px); line-height: 1; }
body.dbm-offer-page .dbm-offer-section-head p { margin: 0; color: var(--offer-muted); }
body.dbm-offer-page .dbm-offer-audience { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, .7fr); gap: 14px; margin-top: 24px; }
body.dbm-offer-page .dbm-offer-audience > div { padding: 20px 22px; border: 1px solid var(--offer-line); border-left: 3px solid var(--offer-blue); background: rgba(11, 15, 13, .74); }
body.dbm-offer-page .dbm-offer-audience p { margin: 7px 0 0; color: var(--offer-muted); }

body.dbm-offer-page .dbm-offer-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 24px; }
body.dbm-offer-page .dbm-offer-step { min-height: 150px; padding: 20px; border-top: 3px solid var(--offer-lime); background: linear-gradient(145deg, #183b2a, #0b1712 76%); box-shadow: 7px 9px 0 rgba(0, 0, 0, .24); }
body.dbm-offer-page .dbm-offer-step:nth-child(2) { border-top-color: var(--offer-blue); background: linear-gradient(145deg, #123541, #0b171b 76%); }
body.dbm-offer-page .dbm-offer-step:nth-child(3) { border-top-color: #e4b66b; background: linear-gradient(145deg, #3d2b22, #17120f 76%); }
body.dbm-offer-page .dbm-offer-step-number { display: block; color: var(--offer-lime); font-size: 11px; letter-spacing: .12em; }
body.dbm-offer-page .dbm-offer-step h3 { margin: 13px 0 8px; font-size: 20px; }
body.dbm-offer-page .dbm-offer-step p { margin: 0; color: var(--offer-muted); }

body.dbm-offer-page .dbm-offer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
body.dbm-offer-page .dbm-offer-card { display: flex; min-height: 100%; flex-direction: column; padding: 24px; border: 1px solid var(--offer-line); border-top: 3px solid var(--offer-lime); background: linear-gradient(150deg, #101f18, var(--offer-black)); box-shadow: 9px 12px 0 rgba(0, 0, 0, .28), inset 0 1px rgba(255, 255, 255, .05); transition: transform .25s ease, border-color .2s ease, box-shadow .25s ease; }
body.dbm-offer-page .dbm-offer-card:nth-child(3n + 2) { border-top-color: var(--offer-blue); }
body.dbm-offer-page .dbm-offer-card:nth-child(3n) { border-top-color: #e4b66b; }
body.dbm-offer-page .dbm-offer-card:hover,
body.dbm-offer-page .dbm-offer-card:focus-within { transform: translateY(-7px); border-color: var(--offer-lime); box-shadow: 13px 16px 0 rgba(0, 0, 0, .34), 0 0 26px rgba(126, 200, 32, .08); }
body.dbm-offer-page .dbm-offer-index { color: var(--offer-muted); font-size: 11px; letter-spacing: .12em; }
body.dbm-offer-page .dbm-offer-card h3 { margin: 10px 0 7px; font-size: clamp(21px, 2vw, 28px); line-height: 1.05; }
body.dbm-offer-page .dbm-offer-price { margin: 10px 0 14px; color: var(--offer-lime); font-size: clamp(25px, 3vw, 36px); line-height: 1.1; }
body.dbm-offer-page .dbm-offer-price span { color: var(--offer-muted); font-size: 13px; }
body.dbm-offer-page .dbm-offer-card > p { color: var(--offer-muted); }
body.dbm-offer-page .dbm-offer-card h4 { margin: 18px 0 7px; font-size: 14px; color: var(--offer-ink); }
body.dbm-offer-page .dbm-offer-card ul { margin: 0; padding-left: 20px; color: var(--offer-muted); }
body.dbm-offer-page .dbm-offer-card li + li { margin-top: 4px; }
body.dbm-offer-page .dbm-offer-best { margin-top: 18px; padding-top: 14px; border-top: 1px solid rgba(195, 220, 207, .13); }
body.dbm-offer-page .dbm-offer-best strong { color: var(--offer-ink); }
body.dbm-offer-page .dbm-offer-note { padding: 12px 14px; border-left: 3px solid #e4b66b; color: var(--offer-ink) !important; background: rgba(228, 182, 107, .08); }
body.dbm-offer-page .dbm-offer-not-included { padding: 12px 14px; border-left: 3px solid #dd5d31; color: var(--offer-muted) !important; background: rgba(221, 93, 49, .08); }
body.dbm-offer-page .dbm-offer-pairs { display: inline-block; align-self: flex-start; margin: 8px 0 0; padding: 6px 9px; border: 1px solid rgba(117, 212, 237, .42); color: var(--offer-blue) !important; background: rgba(117, 212, 237, .06); font: 11px/1.3 var(--dbm-font-mono, monospace); }
body.dbm-offer-page .dbm-offer-card .dbm-offer-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: auto; padding-top: 22px; }
body.dbm-offer-page .dbm-offer-card .dbm-button.alt { border-color: rgba(117, 212, 237, .4); }
body.dbm-offer-page .dbm-offer-tier-list { display: grid; gap: 8px; margin-top: 18px; }
body.dbm-offer-page .dbm-offer-tier { padding: 12px 14px; border: 1px solid rgba(126, 200, 32, .35); background: rgba(126, 200, 32, .06); }
body.dbm-offer-page .dbm-offer-tier strong { display: block; color: var(--offer-ink); }
body.dbm-offer-page .dbm-offer-tier span { display: block; margin-top: 3px; color: var(--offer-lime); font: 18px/1.2 var(--dbm-font-mono, monospace); }
body.dbm-offer-page .dbm-offer-tier small { display: block; margin-top: 4px; color: var(--offer-muted); }

body.dbm-offer-page .dbm-offer-bottom { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: clamp(34px, 5vw, 62px) 0 70px; }
body.dbm-offer-page .dbm-offer-bottom h2 { margin: 9px 0; font-size: clamp(28px, 4vw, 44px); }
body.dbm-offer-page .dbm-offer-bottom p { max-width: 55ch; color: var(--offer-muted); }

body.dbm-pricing-page .dbm-pricing-band { padding: clamp(42px, 7vw, 82px) 0; }
body.dbm-pricing-page .dbm-pricing-band + .dbm-pricing-band { border-top: 1px solid rgba(195, 220, 207, .22); }
body.dbm-pricing-page .dbm-pricing-band .dbm-offer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.dbm-pricing-page .dbm-pricing-card { text-decoration: none; }
body.dbm-pricing-page .dbm-pricing-card .dbm-button { margin-top: auto; }

body.dbm-offer-page .dbm-checkout-dialog { width: min(560px, calc(100% - 28px)); padding: 0; color: var(--offer-ink); background: #0d1b16; border: 1px solid var(--offer-line); box-shadow: 12px 16px 0 rgba(0, 0, 0, .34); }
body.dbm-offer-page .dbm-checkout-dialog::backdrop { background: rgba(0, 10, 7, .78); }
body.dbm-offer-page .dbm-checkout-dialog form { padding: 24px; }
body.dbm-offer-page .dbm-checkout-dialog h2 { margin-top: 0; }
body.dbm-offer-page .dbm-checkout-dialog label { display: grid; gap: 5px; margin-top: 13px; color: var(--offer-muted); font-size: 14px; }
body.dbm-offer-page .dbm-checkout-dialog input,
body.dbm-offer-page .dbm-checkout-dialog textarea { width: 100%; padding: 10px 12px; color: var(--offer-ink); background: #07110f; border: 1px solid var(--offer-line); font: inherit; }
body.dbm-offer-page .dbm-checkout-dialog textarea { min-height: 84px; resize: vertical; }
body.dbm-offer-page .dbm-checkout-dialog .dbm-dialog-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }
body.dbm-offer-page .dbm-checkout-error { color: #ffb28c; }

@media (max-width: 900px) {
  body.dbm-offer-page .dbm-offer-hero { grid-template-columns: 1fr; }
  body.dbm-offer-page .dbm-offer-hero-art { min-height: 270px; max-width: 620px; }
  body.dbm-offer-page .dbm-offer-grid,
  body.dbm-pricing-page .dbm-pricing-band .dbm-offer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  body.dbm-offer-page .dbm-offer-hero { padding-top: 50px; }
  body.dbm-offer-page .dbm-offer-hero h1 { font-size: clamp(38px, 12vw, 60px); }
  body.dbm-offer-page .dbm-offer-hero-art { min-height: 220px; }
  body.dbm-offer-page .dbm-offer-section-head,
  body.dbm-offer-page .dbm-offer-audience,
  body.dbm-offer-page .dbm-offer-steps,
  body.dbm-offer-page .dbm-offer-grid,
  body.dbm-pricing-page .dbm-pricing-band .dbm-offer-grid { grid-template-columns: 1fr; }
  body.dbm-offer-page .dbm-offer-bottom { align-items: flex-start; flex-direction: column; }
  body.dbm-offer-page .dbm-offer-card:hover,
  body.dbm-offer-page .dbm-offer-card:focus-within { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  body.dbm-offer-page .dbm-offer-card { transition: none; }
  body.dbm-offer-page .dbm-offer-card:hover,
  body.dbm-offer-page .dbm-offer-card:focus-within { transform: none; }
}
