@font-face {
  font-family: "Archivo BCR";
  src: url("../fonts/archivo-latin-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: "Public Sans BCR";
  src: url("../fonts/public-sans-latin-regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Public Sans BCR";
  src: url("../fonts/public-sans-latin-semibold.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "Martian Mono BCR";
  src: url("../fonts/martian-mono-latin-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
}

:root {
  --ps-bg: #e4d7b9;
  --ps-bg-deep: #d6c7a6;
  --ps-surface-raised: #f8f1df;
  --ps-text: #241e15;
  --ps-text-strong: #1d1811;
  --ps-muted: #544737;
  --ps-border: #786b5a;
  --ps-accent: #4e3a26;
  --ps-focus: #724b07;
  --ps-focus-inner: #fff0c4;
  --ps-focus-outer: #1d1811;
  --ps-error: #8e3a22;
  --ps-radius: 3px;
  --ps-max: 1240px;
  --ps-weave:
    repeating-linear-gradient(45deg, rgb(0 0 0 / 8%) 0 1.1px, transparent 1.1px 3.4px),
    repeating-linear-gradient(-45deg, rgb(255 255 255 / 7%) 0 1.1px, transparent 1.1px 3.4px);
  --ps-slub: repeating-linear-gradient(45deg, rgb(0 0 0 / 5%) 0 2px, transparent 2px 29px);
  --ps-field-canvas:
    var(--ps-weave),
    radial-gradient(150% 105% at 50% -6%, #efe5cc 0%, #e4d7b9 52%, #d6c7a6 100%);
  --ps-field-duck:
    var(--ps-slub),
    var(--ps-weave),
    radial-gradient(125% 85% at 50% -12%, rgb(255 214 150 / 13%), rgb(255 214 150 / 0%) 58%),
    linear-gradient(180deg, #5c4530 0%, #4e3a26 46%, #3b2b1c 100%);
  --ps-brass: linear-gradient(157deg, #fff0c4 0%, #ecbb55 12%, #c08a1c 30%, #fce29b 47%, #be861b 63%, #8c5f0a 86%, #dda93e 100%);
  --ps-brass-edge: #6e4a08;
  --ps-thread-on-duck: #d9b772;
  --ps-lip: inset 0 1px 0 rgb(255 255 255 / 60%), inset 0 -1px 0 rgb(0 0 0 / 42%);
  --ps-lift-2: 0 2px 5px rgb(24 16 8 / 24%), 0 18px 36px -14px rgb(24 16 8 / 55%);
  --ps-recess: inset 0 3px 7px rgb(20 12 4 / 42%), inset 0 -1px 0 rgb(255 255 255 / 7%);
  --bcr-gutter: clamp(18px, 4vw, 52px);
}

html {
  box-sizing: border-box;
  background: var(--ps-bg);
  color-scheme: light;
  scroll-behavior: smooth;
}
*, *::before, *::after { box-sizing: inherit; }
body.bcr-teaser-page {
  min-width: 320px;
  margin: 0;
  overflow-x: hidden;
  background: var(--ps-field-canvas);
  color: var(--ps-text);
  font-family: "Public Sans BCR", "Helvetica Neue", Arial, sans-serif;
  font-size: 17px;
  line-height: 1.55;
}
.bcr-teaser-page img { display: block; max-width: 100%; height: auto; }
.bcr-teaser-page a { color: inherit; text-underline-offset: .2em; }
.bcr-teaser-page :focus-visible {
  outline: 3px solid var(--ps-focus-inner);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px var(--ps-focus-outer);
}
.bcr-teaser-page button, .bcr-teaser-page input { border-radius: var(--ps-radius); font: inherit; }
.bcr-teaser-wrap {
  width: min(100%, var(--ps-max));
  margin-inline: auto;
  padding-inline: var(--bcr-gutter);
}
.bcr-teaser-visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.bcr-teaser-skip {
  position: fixed;
  z-index: 100000;
  inset: 12px auto auto 12px;
  transform: translateY(-180%);
  border: 2px solid var(--ps-text-strong);
  padding: 9px 13px;
  background: var(--ps-surface-raised);
  color: var(--ps-text-strong);
  font-weight: 700;
}
.bcr-teaser-skip:focus { transform: none; }

.bcr-teaser-rail,
.bcr-teaser-hero,
.bcr-teaser-footer {
  background-color: var(--ps-accent);
  background-image:
    linear-gradient(rgb(78 58 38 / 80%), rgb(78 58 38 / 80%)),
    image-set(url("../images/texture/bcr-fabric-duck-1x.png") 1x, url("../images/texture/bcr-fabric-duck-2x.png") 2x),
    var(--ps-field-duck);
  color: #fff8e9;
}
.bcr-teaser-rail {
  border-top: 1px solid rgb(217 183 114 / 55%);
  border-bottom: 1px solid rgb(217 183 114 / 55%);
}
.bcr-teaser-rail-inner {
  display: grid;
  grid-template-columns: minmax(0, 360px) auto;
  justify-content: space-between;
  gap: clamp(22px, 4vw, 68px);
  align-items: center;
  min-height: 98px;
  padding-block: 13px;
}
.bcr-teaser-header-sign {
  display: block;
  width: min(100%, 360px);
}
.bcr-teaser-header-sign picture { display: block; }
.bcr-teaser-header-sign img {
  width: 100%;
  height: auto;
}
.bcr-teaser-eyebrow,
.bcr-teaser-pillars h2,
.bcr-teaser-pillar-grid h3,
.bcr-teaser-art figcaption {
  font-family: "Martian Mono BCR", ui-monospace, Menlo, monospace;
  font-weight: 650;
  letter-spacing: .085em;
  text-transform: uppercase;
}
.bcr-teaser-page .bcr-teaser-header-cta {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  border: 2px solid #2d2116;
  border-radius: var(--ps-radius);
  padding: 10px 20px;
  background: var(--ps-accent);
  color: #fff8e9;
  font-family: "Archivo BCR", Impact, sans-serif;
  font-weight: 850;
  letter-spacing: .035em;
  line-height: 1.15;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  box-shadow: var(--ps-lip);
}
.bcr-teaser-page .bcr-teaser-header-cta:hover { background: #38281b; }

.bcr-teaser-hero { border-bottom: 1px solid #2b1f14; }
.bcr-teaser-hero-inner {
  display: grid;
  justify-items: center;
  padding-block: clamp(28px, 4vw, 50px) clamp(42px, 5.5vw, 68px);
  text-align: center;
}
.bcr-teaser-eyebrow {
  margin: 0 0 18px;
  color: #fff0c4;
  font-size: clamp(.7rem, 1.2vw, .82rem);
}
.bcr-teaser-brass-plate {
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr) 12px;
  gap: clamp(8px, 1.5vw, 18px);
  align-items: center;
  width: min(100%, 1100px);
  border: 1px solid var(--ps-brass-edge);
  border-radius: var(--ps-radius);
  padding: clamp(18px, 3vw, 32px) clamp(13px, 3.3vw, 38px);
  background: var(--ps-brass);
  box-shadow: var(--ps-lip), var(--ps-lift-2), 0 0 0 5px rgb(31 20 10 / 30%);
  color: var(--ps-text-strong);
}
.bcr-teaser-bolt {
  width: 11px;
  height: 11px;
  border: 1px solid #6e4a08;
  border-radius: 50%;
  background: #d7a63d;
  box-shadow: inset 1px 1px 1px rgb(255 240 196 / 78%), inset -1px -1px 1px rgb(67 40 3 / 55%);
}
.bcr-teaser-page h1,
.bcr-teaser-page h2,
.bcr-teaser-page h3 {
  margin: 0;
  font-family: "Archivo BCR", Impact, sans-serif;
  text-transform: uppercase;
}
.bcr-teaser-page h1 {
  color: var(--ps-text-strong);
  font-size: clamp(2.65rem, 6.5vw, 6.15rem);
  font-weight: 900;
  letter-spacing: -.055em;
  line-height: .91;
  text-shadow: 0 1px 0 rgb(255 255 255 / 54%);
}
.bcr-teaser-brass-plate h1 { color: #000; }
.bcr-teaser-lede {
  max-width: 780px;
  margin: clamp(22px, 3vw, 32px) 0 0;
  color: #fff8e9;
  font-size: clamp(1.16rem, 2.1vw, 1.55rem);
  font-weight: 600;
  font-style: italic;
  letter-spacing: -.015em;
}
.bcr-teaser-lede em { color: #fff0c4; font-weight: 800; }
.bcr-teaser-signup {
  width: min(100%, 880px);
  border: 1px solid #4f4436;
  border-radius: var(--ps-radius);
  padding: clamp(18px, 3vw, 28px);
  background-color: var(--ps-surface-raised);
  background-image:
    linear-gradient(rgb(248 241 223 / 91%), rgb(248 241 223 / 91%)),
    image-set(url("../images/texture/bcr-fabric-canvas-1x.png") 1x, url("../images/texture/bcr-fabric-canvas-2x.png") 2x);
  box-shadow: var(--ps-recess), 0 14px 30px rgb(20 12 4 / 30%);
  color: var(--ps-text);
  text-align: left;
}
.bcr-teaser-form > label { display: block; margin-bottom: 7px; font-weight: 600; }
.bcr-teaser-form-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.bcr-teaser-form input[type="email"] {
  min-width: 0;
  min-height: 52px;
  border: 2px solid var(--ps-border);
  padding: 10px 13px;
  background: #fffdf7;
  color: var(--ps-text-strong);
}
.bcr-teaser-page button {
  min-height: 52px;
  border: 2px solid #2d2116;
  padding: 10px 20px;
  background: var(--ps-accent);
  color: #fff8e9;
  font-family: "Archivo BCR", Impact, sans-serif;
  font-weight: 850;
  letter-spacing: .035em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: var(--ps-lip);
}
.bcr-teaser-page button:hover { background: #38281b; }
.bcr-teaser-page button:disabled { cursor: wait; opacity: .72; }
.bcr-teaser-consent-row {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin-top: 14px;
}
.bcr-teaser-consent-row input {
  width: 20px;
  height: 20px;
  margin: 3px 0 0;
  accent-color: var(--ps-focus);
}
.bcr-teaser-consent-row label { margin: 0; color: var(--ps-muted); font-size: .82rem; font-weight: 400; }
.bcr-teaser-privacy-link { margin: 7px 0 0; color: var(--ps-muted); font-size: .82rem; }
.bcr-teaser-error { min-height: 1.4em; margin: 6px 0 0; color: var(--ps-error); font-size: .86rem; font-weight: 600; }
.bcr-teaser-trap { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.bcr-teaser-pending { border-left: 4px solid #365b3f; padding: 12px 15px; background: rgb(54 91 63 / 9%); }
.bcr-teaser-pending strong, .bcr-teaser-pending span { display: block; }
.bcr-teaser-pending strong { font-family: "Archivo BCR", sans-serif; font-size: 1.4rem; letter-spacing: -.01em; }
.bcr-teaser-pending span { margin-top: 4px; color: var(--ps-muted); }

.bcr-teaser-art {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #171411;
}
.bcr-teaser-art img {
  width: 100%;
  height: clamp(320px, 43vw, 640px);
  object-fit: cover;
  object-position: center;
}
.bcr-teaser-art figcaption {
  position: absolute;
  right: var(--bcr-gutter);
  top: 16px;
  border: 1px solid rgb(217 183 114 / 62%);
  padding: 7px 10px;
  background: rgb(24 18 13 / 88%);
  color: #f3d89e;
  font-size: .66rem;
}

.bcr-teaser-pillars {
  width: 100%;
  padding-top: clamp(34px, 4.5vw, 54px);
}
.bcr-teaser-pillars h2 {
  margin-bottom: 18px;
  color: #fff0c4;
  font-size: .78rem;
  text-align: left;
}
.bcr-teaser-pillar-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid rgb(217 183 114 / 45%);
  border-bottom: 1px solid rgb(217 183 114 / 45%);
  text-align: left;
}
.bcr-teaser-pillar-grid article {
  min-width: 0;
  padding: 24px clamp(15px, 2.1vw, 26px) 27px;
  border-left: 1px solid rgb(217 183 114 / 35%);
}
.bcr-teaser-pillar-grid article:first-child { border-left: 0; }
.bcr-teaser-pillar-grid h3 {
  margin-bottom: 13px;
  color: #fff0c4;
  font-family: "Martian Mono BCR", ui-monospace, monospace;
  font-size: .76rem;
  letter-spacing: .085em;
}
.bcr-teaser-pillar-grid h3::after {
  display: block;
  width: 34px;
  height: 3px;
  margin-top: 10px;
  background: var(--ps-thread-on-duck);
  content: "";
}
.bcr-teaser-pillar-grid p { margin: 0; color: #fff8e9; font-size: .88rem; line-height: 1.5; }
.bcr-teaser-product-preview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(10px, 1.5vw, 18px);
  width: 100%;
  padding-top: clamp(34px, 4.5vw, 54px);
}
.bcr-teaser-product-preview img {
  width: 100%;
  border: 1px solid rgb(217 183 114 / 34%);
  background: #171411;
}

.bcr-teaser-footer-signup {
  padding-block: clamp(42px, 6vw, 72px);
  border-bottom: 1px solid var(--ps-border);
}
.bcr-teaser-footer-signup .bcr-teaser-signup { margin-inline: auto; }

.bcr-teaser-footer {
  border-top: 1px solid rgb(217 183 114 / 48%);
  padding-block: 38px;
}
.bcr-teaser-footer a { color: #fff8e9; }
.bcr-teaser-footer-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 30px;
  margin-top: 22px;
  border-top: 1px solid rgb(217 183 114 / 35%);
  padding-top: 18px;
}
.bcr-teaser-footer p,
.bcr-teaser-ruo { color: #ead9bb; font-size: .76rem; }
.bcr-teaser-footer p { margin: 0; overflow-wrap: anywhere; }
.bcr-teaser-ruo { max-width: 1000px; font-family: "Martian Mono BCR", ui-monospace, monospace; line-height: 1.55; }

.bcr-teaser-confirm {
  display: grid;
  align-content: center;
  min-height: 100svh;
  max-width: 860px;
  padding-block: 70px;
}
.bcr-teaser-confirm h1,
.bcr-teaser-policy-page h1 {
  color: var(--ps-text-strong);
  font-size: clamp(2.7rem, 8vw, 6.5rem);
  font-weight: 900;
  letter-spacing: -.05em;
  line-height: .93;
}
.bcr-teaser-confirm p,
.bcr-teaser-policy-page p { max-width: 760px; color: var(--ps-muted); }
.bcr-teaser-confirm form { margin-block: 22px; }
.bcr-teaser-policy-page { max-width: 880px; padding-block: clamp(54px, 8vw, 100px); }
.bcr-teaser-policy-page h2 { margin-top: 42px; color: var(--ps-text-strong); font-size: clamp(1.55rem, 3.5vw, 2.6rem); }
.bcr-teaser-confirmed-stamp {
  width: max-content;
  margin-bottom: 22px;
  border: 7px double var(--ps-focus);
  padding: 8px 14px;
  color: var(--ps-focus);
  font-family: "Archivo BCR", Impact, sans-serif;
  font-size: clamp(1.4rem, 4vw, 2.5rem);
  font-weight: 900;
  letter-spacing: .08em;
  transform: rotate(-2deg);
  animation: bcr-stamp-in 180ms ease-out both;
}
@keyframes bcr-stamp-in { from { opacity: 0; transform: scale(1.08) rotate(-2deg); } }

@media (max-width: 980px) {
  .bcr-teaser-rail-inner { grid-template-columns: minmax(0, 320px) auto; }
  .bcr-teaser-pillar-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bcr-teaser-pillar-grid article { border-top: 1px solid rgb(217 183 114 / 35%); }
  .bcr-teaser-pillar-grid article:nth-child(-n+2) { border-top: 0; }
  .bcr-teaser-pillar-grid article:nth-child(odd) { border-left: 0; }
}
@media (max-width: 700px) {
  .bcr-teaser-rail-inner { grid-template-columns: minmax(0, 1fr) auto; gap: 10px; min-height: 82px; padding-block: 10px; }
  .bcr-teaser-product-preview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bcr-teaser-header-cta {
    min-height: 42px;
    padding: 8px 10px;
    font-size: .7rem;
  }
}
@media (max-width: 560px) {
  .bcr-teaser-hero-inner { padding-block: 26px 42px; }
  .bcr-teaser-brass-plate {
    grid-template-columns: 8px minmax(0, 1fr) 8px;
    gap: 7px;
    padding: 19px 9px;
  }
  .bcr-teaser-bolt { width: 8px; height: 8px; }
  .bcr-teaser-page h1 { font-size: clamp(2.25rem, 12.2vw, 3.45rem); }
  .bcr-teaser-form-row { grid-template-columns: minmax(0, 1fr); }
  .bcr-teaser-page button { width: 100%; }
  .bcr-teaser-art img { height: auto; aspect-ratio: 2 / 1; object-fit: contain; }
  .bcr-teaser-art figcaption { top: 8px; right: 8px; max-width: 46%; font-size: .56rem; text-align: right; }
  .bcr-teaser-pillar-grid { grid-template-columns: minmax(0, 1fr); }
  .bcr-teaser-pillar-grid article,
  .bcr-teaser-pillar-grid article:nth-child(-n+2) { border-top: 1px solid var(--ps-border); border-left: 0; }
  .bcr-teaser-pillar-grid article:first-child { border-top: 0; }
  .bcr-teaser-footer-meta { display: block; }
  .bcr-teaser-footer-meta p + p { margin-top: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
