
@font-face {
  font-family: 'Ortica';
  src: url('https://www.digivrse.online/wp-content/uploads/fonts/OrticaLinear-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Ortica Angular';
  src: url('https://www.digivrse.online/wp-content/uploads/fonts/OrticaAngular-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Optician Sans';
  src: url('https://www.digivrse.online/wp-content/uploads/fonts/Optician-Sans.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Departure Mono';
  src: url('https://www.digivrse.online/wp-content/uploads/fonts/DepartureMono-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Bagnard';
  src: url('https://www.digivrse.online/wp-content/uploads/fonts/Bagnard.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root,
body.digivrse-cartridge-digivrse-broadcast,
body.digivrse-theme-digivrse-broadcast {
  --porcelain: #F4F4F1;
  --stone: #E1DBD7;
  --oxblood: #3B0510;
  --cherry: #221516;
  --forest: #16302B;
  --wine: #390517;
  --evergreen: #03110D;
  --wine-lit: #9B2A48;
  --forest-lit: #2E5A50;
  --ink-soft: #6B5A58;
  --bezel: #0E0809;

  --digivrse-font-serif: "Ortica", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --digivrse-font-editorial: "Ortica", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --digivrse-font-angular: "Ortica Angular", "Ortica", Georgia, serif;
  --digivrse-font-sans: "Optician Sans", "Helvetica Neue", Arial, -apple-system, BlinkMacSystemFont, sans-serif;
  --digivrse-font-mono: "Departure Mono", "SFMono-Regular", Menlo, Consolas, monospace;
  --digivrse-font-bagnard: "Bagnard", Georgia, serif;

  --ease-broadcast: cubic-bezier(.2, .7, .1, 1);
}


body.digivrse-cartridge-digivrse-broadcast {
  background-color: var(--cherry) !important;
  color: var(--porcelain) !important;
  font-family: var(--digivrse-font-sans) !important;
  font-size: 17px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

.editor-styles-wrapper.digivrse-theme-digivrse-broadcast {
  background-color: #221516 !important;
  color: #F4F4F1 !important;
  font-family: "Optician Sans", "Helvetica Neue", Arial, sans-serif;
}

/* ==========================================================================
   BUTTONS & LINKS (UNIVERSAL ACROSS MODULES AND BLOCKS)
   ========================================================================== */
.btn,
.wp-block-button.is-style-broadcast-porcelain .wp-block-button__link {
  --b: var(--porcelain);
  --t: var(--cherry);
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.7em !important;
  padding: 1em 1.5em !important;
  border-radius: 10px !important;
  background: var(--b) !important;
  color: var(--t) !important;
  font-family: var(--digivrse-font-mono) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  text-decoration: none !important;
  border: 0 !important;
  cursor: pointer !important;
  position: relative !important;
  overflow: hidden !important;
  transition: transform 0.4s var(--ease-broadcast), background-color 0.3s ease !important;
}

.btn::after,
.wp-block-button.is-style-broadcast-porcelain .wp-block-button__link::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--wine);
  transform: translateY(101%);
  transition: transform 0.4s var(--ease-broadcast);
  z-index: 0;
}

.btn > *,
.wp-block-button.is-style-broadcast-porcelain .wp-block-button__link > * {
  position: relative;
  z-index: 1;
}

.btn:hover::after,
.wp-block-button.is-style-broadcast-porcelain .wp-block-button__link:hover::after {
  transform: none;
}

.btn:hover,
.wp-block-button.is-style-broadcast-porcelain .wp-block-button__link:hover {
  color: var(--porcelain) !important;
}

.btn:active,
.wp-block-button.is-style-broadcast-porcelain .wp-block-button__link:active {
  transform: scale(0.97);
}

.btn .arr,
.wp-block-button .arr {
  display: inline-block;
  transition: transform 0.4s var(--ease-broadcast);
}

.btn:hover .arr,
.wp-block-button:hover .arr {
  transform: translateX(4px);
}

/* Forest Button Variant */
.btn-forest,
.wp-block-button.is-style-broadcast-forest .wp-block-button__link {
  --b: var(--forest);
  --t: var(--porcelain);
  background: var(--b) !important;
  color: var(--t) !important;
}

.btn-forest::after,
.wp-block-button.is-style-broadcast-forest .wp-block-button__link::after {
  background-color: var(--evergreen);
}

/* Ghost Link Variant */
.link,
.wp-block-button.is-style-broadcast-ghost .wp-block-button__link {
  font-family: var(--digivrse-font-sans) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: var(--porcelain) !important;
  text-decoration: none !important;
  padding: 0.9em 0.2em !important;
  border: none !important;
  border-bottom: 1px solid rgba(244, 244, 241, 0.35) !important;
  border-radius: 0 !important;
  background: transparent !important;
  transition: border-color 0.3s ease !important;
}

.link:hover,
.wp-block-button.is-style-broadcast-ghost .wp-block-button__link:hover {
  border-bottom-color: var(--porcelain) !important;
}

/* ==========================================================================
   HEADINGS & TYPOGRAPHY BLOCK STYLES
   ========================================================================== */
.wp-block-heading.is-style-broadcast-hero {
  font-family: var(--digivrse-font-serif) !important;
  font-weight: 300 !important;
  font-size: clamp(3.2rem, 9vw, 9.5rem) !important;
  line-height: 0.9 !important;
  letter-spacing: -0.04em !important;
  color: var(--porcelain) !important;
  margin: 0 !important;
}

.wp-block-heading.is-style-broadcast-section {
  font-family: var(--digivrse-font-serif) !important;
  font-weight: 300 !important;
  font-size: clamp(2.6rem, 6vw, 6.4rem) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.035em !important;
  color: inherit !important;
}

.wp-block-heading.is-style-broadcast-editorial {
  font-family: var(--digivrse-font-serif) !important;
  font-weight: 300 !important;
  font-size: clamp(2.1rem, 4.3vw, 4.4rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.025em !important;
  color: inherit !important;
}

.wp-block-heading.is-style-broadcast-book {
  font-family: var(--digivrse-font-serif) !important;
  font-weight: 300 !important;
  font-size: clamp(3rem, 8.4vw, 9.4rem) !important;
  line-height: 0.9 !important;
  letter-spacing: -0.04em !important;
  color: var(--porcelain) !important;
}

.wp-block-heading.is-style-broadcast-wordmark {
  font-family: var(--digivrse-font-serif) !important;
  font-weight: 300 !important;
  font-size: clamp(4rem, 19vw, 22rem) !important;
  line-height: 0.8 !important;
  letter-spacing: -0.05em !important;
  color: var(--porcelain) !important;
  margin-top: clamp(80px, 12vh, 140px) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  opacity: 0.95;
}

.wp-block-paragraph.is-style-broadcast-lede {
  font-family: var(--digivrse-font-sans) !important;
  font-size: clamp(17px, 1.4vw, 22px) !important;
  line-height: 1.5 !important;
  color: var(--stone) !important;
  max-width: 32em !important;
}

.wp-block-paragraph.is-style-broadcast-eyebrow {
  font-family: var(--digivrse-font-mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--stone) !important;
  opacity: 0.75;
}

.wp-block-paragraph.is-style-broadcast-locked {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-family: var(--digivrse-font-mono) !important;
  font-size: 12px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--stone) !important;
}

.wp-block-paragraph.is-style-broadcast-locked::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #7FD1A8;
  box-shadow: 0 0 12px #7FD1A8;
}

/* ==========================================================================
   CANVAS SURFACES & WRAPPERS
   ========================================================================== */
.wrap {
  padding-left: max(16px, env(safe-area-inset-left, 0px));
  padding-right: max(16px, env(safe-area-inset-right, 0px));
  max-width: 1440px;
  margin-inline: auto;
  box-sizing: border-box;
}

@media (min-width: 900px) {
  .wrap {
    padding-left: max(5vw, env(safe-area-inset-left, 0px));
    padding-right: max(5vw, env(safe-area-inset-right, 0px));
  }
}

.wp-block-group.is-style-broadcast-canvas-cherry {
  background-color: var(--cherry) !important;
  color: var(--porcelain) !important;
  position: relative;
  box-sizing: border-box;
}

.wp-block-group.is-style-broadcast-canvas-porcelain {
  background-color: var(--porcelain) !important;
  color: var(--cherry) !important;
  padding-top: clamp(100px, 16vh, 180px);
  padding-bottom: clamp(100px, 16vh, 180px);
  box-sizing: border-box;
}

.wp-block-group.is-style-broadcast-canvas-forest {
  background-color: var(--forest) !important;
  color: var(--porcelain) !important;
  padding-top: clamp(100px, 16vh, 180px);
  padding-bottom: clamp(100px, 16vh, 180px);
  box-sizing: border-box;
}

.wp-block-group.is-style-broadcast-canvas-evergreen {
  background-color: var(--evergreen) !important;
  color: var(--porcelain) !important;
  padding-top: clamp(110px, 18vh, 200px);
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
}

.wp-block-group.is-style-broadcast-colophon {
  border-top: 1px solid rgba(225, 219, 215, 0.14) !important;
  margin-top: clamp(100px, 16vh, 170px) !important;
  padding-top: 28px !important;
  padding-bottom: calc(28px + env(safe-area-inset-bottom, 0px)) !important;
  font-size: 13px !important;
  color: var(--stone) !important;
}

.book-grid {
  display: flex !important;
  gap: 56px 6vw !important;
  align-items: flex-end !important;
}

@media (max-width: 899px) {
  .book-grid {
    flex-direction: column !important;
  }
}

.grain {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 40;
  opacity: 0;
  mix-blend-mode: overlay;
  image-rendering: pixelated;
}