/*
Theme Name:  DeafMonitor
Theme URI:   https://deafmonitor.com
Author:      DeafMonitor
Author URI:  https://deafmonitor.com
Description: ASL-first, Deaf-community-focused news platform. Visual-first, ad-free.
Version:     1.0.2
License:     Proprietary
Text Domain: deafmonitor
Tags:        news, accessibility, deaf, asl, community
*/

/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root {
  /* Brand */
  --t:   #00B4C8;
  --tl:  #33C8D8;
  --td:  #008EA0;
  --y:   #F5C842;
  --yl:  #FFD966;

  /* Backgrounds */
  --bg1:  #060D1C;
  --bg2:  #090F1E;
  --bgc:  #0E1A2C;
  --bgch: #131F30;
  --bgc2: #0B1626;

  /* Borders */
  --br:   rgba(0, 180, 200, .12);
  --brs:  rgba(0, 180, 200, .30);
  --bry:  rgba(245, 200, 66, .22);
  --brys: rgba(245, 200, 66, .55);

  /* Text */
  --tx1: #EEF4FF;
  --tx2: #7A9AB8;
  --txd: #3D5A74;

  /* Utility */
  --div: rgba(0, 180, 200, .08);
  --tag: rgba(0, 180, 200, .09);
  --nm:  rgba(0, 180, 200, .10);
  --nav: rgba(6, 13, 28, .94);
  --tog: rgba(255, 255, 255, .04);
  --r:   8px;
  --shad: 0 4px 24px rgba(0,0,0,.4);

  /* Pro / gold tier */
  --pro:  #F5C842;
}

/* Light mode overrides */
[data-theme="light"] {
  --bg1:  #F0F6FA;
  --bg2:  #E8F2F8;
  --bgc:  #FFFFFF;
  --bgch: #F5FAFE;
  --bgc2: #EDF6FC;
  --br:   rgba(0, 120, 140, .14);
  --brs:  rgba(0, 120, 140, .32);
  --bry:  rgba(200, 150, 0, .20);
  --tx1:  #0A1A2E;
  --tx2:  #3A6080;
  --txd:  #7A9AB8;
  --div:  rgba(0, 120, 140, .08);
  --nav:  rgba(237, 247, 250, .97);
  --tog:  rgba(0, 0, 0, .07);
}

/* ============================================================
   RESET & BASE
   ============================================================ */
*,
*::before,
*::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  font-size: 16px;
  scroll-behavior: smooth;
}

body {
  background: var(--bg1);
  color: var(--tx1);
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  min-height: 100vh;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

img, svg { display: block; max-width: 100%; }

a {
  color: var(--t);
  text-decoration: none;
  transition: color .15s;
}
a:hover { color: var(--yl); }

code, kbd, samp {
  font-family: 'DM Mono', 'SFMono-Regular', Consolas, monospace;
  font-size: .85em;
  color: var(--t);
}

/* ============================================================
   ANIMATION
   ============================================================ */
@keyframes fadeup {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes cardglow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(245,200,66,0); }
  50%       { box-shadow: 0 0 22px 4px rgba(245,200,66,.08); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}

/* ============================================================
   NAVIGATION — sub-page style
   ============================================================ */
.dm-nav {
  position: sticky;
  top: 0;
  z-index: 200;
  height: 58px;
  background: rgba(6,13,28,.97);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--br);
  display: flex;
  align-items: center;
  padding: 0 32px;
  gap: 14px;
}

.dm-brand {
  display: flex;
  align-items: center;
  gap: 3px;
  text-decoration: none;
}
.dm-deaf {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.125rem;
  font-weight: 900;
  color: var(--t);
}
.dm-monitor {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--tx1);
}

.dm-sep {
  font-family: 'DM Mono', monospace;
  font-size: .75rem;
  color: var(--txd);
  padding: 0 4px;
}
.dm-ctx {
  font-family: 'DM Mono', monospace;
  font-size: .7rem;
  color: var(--txd);
  text-transform: uppercase;
  letter-spacing: .07em;
}

.dm-back {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .8125rem;
  font-weight: 600;
  color: var(--txd);
  padding: 7px 14px;
  border: 1px solid var(--br);
  border-radius: 6px;
  transition: all .18s;
  text-decoration: none;
}
.dm-back:hover {
  color: var(--y);
  border-color: var(--bry);
  background: rgba(245,200,66,.04);
}

/* ============================================================
   HERO — standard sub-page
   ============================================================ */
.dm-hero {
  padding: 52px 24px 60px;
  text-align: center;
  max-width: 760px;
  margin: 0 auto;
  position: relative;
}
.dm-hero::before {
  content: '';
  position: absolute;
  top: 0; left: 50%;
  transform: translateX(-50%);
  width: 700px; height: 320px;
  background: radial-gradient(ellipse, rgba(0,180,200,.07), transparent 65%);
  pointer-events: none;
  z-index: 0;
}
.dm-hero > * { position: relative; z-index: 1; }

.dm-hero h1 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.25rem, 5vw, 3.25rem);
  font-weight: 900;
  color: var(--tx1);
  line-height: 1.08;
  margin-bottom: 16px;
  animation: fadeup .5s .05s ease both;
}
.dm-hero h1 em {
  font-style: normal;
  color: var(--y);
}
.dm-hero p {
  font-size: 1.0625rem;
  color: var(--tx2);
  line-height: 1.78;
  max-width: 580px;
  margin: 0 auto;
  animation: fadeup .5s .14s ease both;
}

/* Partner hero — wider/taller variant */
.dm-partner-hero {
  padding: 72px 24px 80px;
  text-align: center;
  max-width: 820px;
  margin: 0 auto;
  position: relative;
}
.dm-partner-hero::before {
  content: '';
  position: absolute;
  top: 0; left: 50%;
  transform: translateX(-50%);
  width: 900px; height: 400px;
  background: radial-gradient(ellipse, rgba(245,200,66,.06), transparent 65%);
  pointer-events: none;
  z-index: 0;
}
.dm-partner-hero > * { position: relative; z-index: 1; }
.dm-partner-hero h1 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.5rem, 6vw, 4rem);
  font-weight: 900;
  color: var(--tx1);
  line-height: 1.05;
  margin-bottom: 18px;
  animation: fadeup .5s .05s ease both;
}
.dm-partner-hero h1 em { font-style: normal; color: var(--y); }
.dm-partner-hero p {
  font-size: 1.125rem;
  color: var(--tx2);
  line-height: 1.75;
  max-width: 620px;
  margin: 0 auto 28px;
  animation: fadeup .5s .14s ease both;
}
.dm-pricing-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(245,200,66,.08);
  border: 1px solid var(--bry);
  border-radius: 24px;
  padding: 8px 20px;
  font-family: 'DM Mono', monospace;
  font-size: .8rem;
  color: var(--y);
  font-weight: 700;
  letter-spacing: .04em;
  margin-bottom: 8px;
  animation: fadeup .5s .22s ease both;
}

/* ============================================================
   CONTENT WRAP
   ============================================================ */
.dm-wrap {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 32px 100px;
}
.dm-partner-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px 100px;
}

/* ============================================================
   SECTION
   ============================================================ */
.dm-section { margin-bottom: 52px; }

.dm-section h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--tx1);
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--div);
  display: flex;
  align-items: center;
  gap: 10px;
}
.dm-section h2 .accent {
  width: 4px; height: 22px;
  background: var(--y);
  border-radius: 2px;
  flex-shrink: 0;
}

.dm-section p {
  font-size: .9375rem;
  color: var(--tx2);
  line-height: 1.8;
  margin-bottom: 14px;
}
.dm-section p:last-child { margin-bottom: 0; }

/* Lists inside sections */
.dm-section ul {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
  border: 1px solid var(--br);
  border-radius: 12px;
  overflow: hidden;
}
.dm-section ul li {
  font-size: .9375rem;
  color: var(--tx2);
  line-height: 1.65;
  padding: 13px 18px 13px 42px;
  position: relative;
  border-bottom: 1px solid var(--div);
  transition: background .15s, color .15s;
}
.dm-section ul li:hover { background: var(--bgch); color: var(--tx1); }
.dm-section ul li:last-child { border-bottom: none; }
.dm-section ul li::before {
  content: '';
  position: absolute;
  left: 18px; top: 22px;
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--y);
  opacity: .8;
}
.dm-section ul li strong { color: var(--tx1); font-weight: 600; }

/* ============================================================
   GRIDS
   ============================================================ */
.dm-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 28px;
}
.dm-grid-3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 14px;
  margin-bottom: 28px;
}

/* ============================================================
   CARDS
   ============================================================ */
.dm-card {
  background: var(--bgc);
  border: 1px solid var(--br);
  border-radius: 14px;
  padding: 22px;
  transition: all .22s;
  position: relative;
  overflow: hidden;
}
.dm-card::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--y), transparent);
  opacity: 0;
  transition: opacity .22s;
}
.dm-card:hover {
  border-color: var(--brs);
  transform: translateY(-3px);
  box-shadow: 0 10px 36px rgba(0,0,0,.35);
}
.dm-card:hover::after { opacity: 1; }

.dm-card-icon {
  width: 38px; height: 38px;
  border-radius: 10px;
  background: rgba(0,180,200,.07);
  border: 1px solid var(--br);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--t);
  margin-bottom: 14px;
}
.dm-card-icon.gold {
  background: rgba(245,200,66,.08);
  border-color: var(--bry);
  color: var(--y);
}

.dm-card h3 {
  font-size: .9375rem;
  font-weight: 700;
  color: var(--tx1);
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.dm-card h3::before {
  content: '';
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--y);
  flex-shrink: 0;
}
.dm-card p {
  font-size: .8125rem;
  color: var(--tx2);
  line-height: 1.62;
  margin: 0;
}

/* ============================================================
   HIGHLIGHT BOX
   ============================================================ */
.dm-highlight {
  background: rgba(245,200,66,.05);
  border: 1px solid var(--bry);
  border-radius: 14px;
  padding: 22px 24px;
  margin-bottom: 24px;
  position: relative;
  overflow: hidden;
}
.dm-highlight::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--y), transparent);
}
.dm-highlight p  { color: var(--tx1); margin: 0; font-size: .9375rem; line-height: 1.75; }
.dm-highlight strong { color: var(--y); }
.dm-highlight a  { color: var(--y); }

/* ============================================================
   BADGE
   ============================================================ */
.dm-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'DM Mono', monospace;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .07em;
  padding: 4px 12px;
  border-radius: 5px;
  background: rgba(245,200,66,.1);
  border: 1px solid var(--bry);
  color: var(--y);
  text-transform: uppercase;
  margin-bottom: 20px;
}
.dm-badge.cyan {
  background: rgba(0,180,200,.1);
  border-color: var(--br);
  color: var(--t);
}

/* ============================================================
   PILLS
   ============================================================ */
.dm-pill-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
}
.dm-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--bgc);
  border: 1px solid var(--br);
  border-radius: 20px;
  padding: 6px 14px;
  font-family: 'DM Mono', monospace;
  font-size: .68rem;
  color: var(--txd);
  transition: all .15s;
  cursor: default;
}
.dm-pill:hover {
  border-color: var(--bry);
  color: var(--y);
  background: rgba(245,200,66,.05);
}

/* ============================================================
   ACCESSIBILITY GRID
   ============================================================ */
.dm-a11y-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 28px;
}
.dm-a11y-item {
  background: var(--bgc);
  border: 1px solid var(--br);
  border-radius: 14px;
  padding: 20px;
  transition: all .22s;
  position: relative;
  overflow: hidden;
}
.dm-a11y-item::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--t), transparent);
  opacity: 0;
  transition: opacity .22s;
}
.dm-a11y-item:hover {
  border-color: var(--brs);
  transform: translateY(-3px);
  box-shadow: 0 10px 36px rgba(0,0,0,.3);
}
.dm-a11y-item:hover::after { opacity: 1; }

.dm-a11y-icon {
  width: 36px; height: 36px;
  border-radius: 9px;
  background: rgba(0,180,200,.07);
  border: 1px solid var(--br);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--t);
  margin-bottom: 12px;
}
.dm-a11y-item h4 {
  font-size: .9rem;
  font-weight: 700;
  color: var(--tx1);
  margin-bottom: 5px;
}
.dm-a11y-item p {
  font-size: .8125rem;
  color: var(--tx2);
  line-height: 1.58;
  margin: 0;
}

/* ============================================================
   ROADMAP
   ============================================================ */
.dm-roadmap {
  display: flex;
  flex-direction: column;
  position: relative;
  margin-bottom: 28px;
}
.dm-roadmap::before {
  content: '';
  position: absolute;
  left: 19px; top: 10px; bottom: 10px;
  width: 1px;
  background: var(--div);
}
.dm-roadmap-item {
  display: flex;
  gap: 22px;
  align-items: flex-start;
  padding: 18px 0;
}
.dm-roadmap-dot {
  width: 38px; height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'DM Mono', monospace;
  font-size: .68rem;
  font-weight: 700;
  flex-shrink: 0;
  z-index: 1;
  border: 2px solid;
}
.dm-roadmap-dot.now    { background: rgba(0,180,200,.1);  border-color: var(--t);   color: var(--t); }
.dm-roadmap-dot.soon   { background: rgba(245,200,66,.08); border-color: var(--bry); color: var(--y); }
.dm-roadmap-dot.future { background: var(--bgc);           border-color: var(--div); color: var(--txd); }

.dm-roadmap-content h4 {
  font-size: .9375rem;
  font-weight: 700;
  color: var(--tx1);
  margin-bottom: 4px;
}
.dm-roadmap-content p {
  font-size: .875rem;
  color: var(--tx2);
  line-height: 1.58;
  margin: 0;
}

/* ============================================================
   FORMS
   ============================================================ */
.dm-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 20px;
}
.dm-form-group { margin-bottom: 20px; }
.dm-form-group label {
  display: block;
  font-size: .8125rem;
  font-weight: 600;
  color: var(--tx1);
  margin-bottom: 8px;
  letter-spacing: .01em;
}
.dm-form-group label span { color: var(--txd); font-weight: 400; }

.dm-form-group input,
.dm-form-group textarea,
.dm-form-group select {
  width: 100%;
  background: var(--bgc);
  border: 1px solid var(--br);
  border-radius: 10px;
  padding: 12px 16px;
  font-family: 'DM Sans', sans-serif;
  font-size: .9375rem;
  color: var(--tx1);
  outline: none;
  transition: border-color .15s, box-shadow .15s;
  -webkit-appearance: none;
  appearance: none;
}
.dm-form-group input:focus,
.dm-form-group textarea:focus,
.dm-form-group select:focus {
  border-color: var(--y);
  box-shadow: 0 0 0 3px rgba(245,200,66,.09);
}
.dm-form-group input::placeholder,
.dm-form-group textarea::placeholder { color: var(--txd); }
.dm-form-group textarea { resize: vertical; min-height: 130px; line-height: 1.6; }
.dm-form-group select {
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%233D5A74' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 36px;
}
.dm-form-group select option { background: var(--bgc2); }

/* Autofill override */
.dm-form-group input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px var(--bgc) inset !important;
  -webkit-text-fill-color: var(--tx1) !important;
  caret-color: var(--tx1);
}

/* ============================================================
   BUTTONS
   ============================================================ */
.dm-btn {
  background: var(--y);
  color: #051018;
  border: none;
  border-radius: 10px;
  padding: 13px 32px;
  font-family: 'DM Sans', sans-serif;
  font-size: .9375rem;
  font-weight: 700;
  cursor: pointer;
  transition: all .22s;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  text-decoration: none;
}
.dm-btn:hover {
  background: var(--yl);
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(245,200,66,.28);
  color: #051018;
}
.dm-btn.sent {
  background: #163D28;
  color: #6DFFA8;
  pointer-events: none;
  cursor: default;
}

.dm-btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 24px;
  border: 1px solid var(--br);
  border-radius: 10px;
  font-family: 'DM Sans', sans-serif;
  font-size: .9rem;
  font-weight: 600;
  color: var(--txd);
  background: transparent;
  cursor: pointer;
  transition: all .18s;
  text-decoration: none;
}
.dm-btn-ghost:hover {
  border-color: var(--bry);
  color: var(--y);
  background: rgba(245,200,66,.04);
}

.dm-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--y);
  color: #051018;
  border: none;
  border-radius: 12px;
  padding: 16px 36px;
  font-family: 'DM Sans', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  transition: all .22s;
  text-decoration: none;
}
.dm-cta-btn:hover {
  background: var(--yl);
  transform: translateY(-2px);
  box-shadow: 0 10px 32px rgba(245,200,66,.3);
  color: #051018;
}

/* ============================================================
   DIVIDER
   ============================================================ */
.dm-hr {
  height: 1px;
  background: var(--div);
  margin: 40px 0;
}

/* ============================================================
   LEGAL PAGES
   ============================================================ */
.dm-legal-meta {
  font-family: 'DM Mono', monospace;
  font-size: .72rem;
  color: var(--txd);
  margin-bottom: 36px;
}
.dm-legal-section { margin-bottom: 40px; }
.dm-legal-section h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--tx1);
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--div);
}
.dm-legal-section h3 {
  font-size: .9375rem;
  font-weight: 700;
  color: var(--tx1);
  margin: 20px 0 8px;
}
.dm-legal-section p {
  font-size: .9rem;
  color: var(--tx2);
  line-height: 1.85;
  margin-bottom: 12px;
}
.dm-legal-section ul {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
}
.dm-legal-section ul li {
  font-size: .9rem;
  color: var(--tx2);
  line-height: 1.7;
  padding: 6px 0 6px 22px;
  position: relative;
  border-bottom: 1px solid var(--div);
}
.dm-legal-section ul li:last-child { border-bottom: none; }
.dm-legal-section ul li::before {
  content: '';
  position: absolute;
  left: 0; top: 16px;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--y);
  opacity: .7;
}

/* ============================================================
   FOOTER
   ============================================================ */
.dm-footer {
  border-top: 1px solid var(--div);
  padding: 28px 32px;
  text-align: center;
}
.dm-footer p {
  font-family: 'DM Mono', monospace;
  font-size: .73rem;
  color: var(--txd);
}
.dm-footer a          { color: var(--txd); }
.dm-footer a:hover    { color: var(--y); }

/* ============================================================
   PARTNER PAGE EXTRAS
   ============================================================ */
.dm-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
  margin-bottom: 80px;
}
.dm-row.flip          { direction: rtl; }
.dm-row.flip > *      { direction: ltr; }
.dm-row .info         { max-width: 460px; }
.dm-pnum {
  font-family: 'DM Mono', monospace;
  font-size: .65rem;
  font-weight: 700;
  color: var(--y);
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.dm-row h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.75rem;
  font-weight: 900;
  color: var(--tx1);
  line-height: 1.15;
  margin-bottom: 14px;
}
.dm-row > .info p {
  font-size: .9375rem;
  color: var(--tx2);
  line-height: 1.78;
  margin-bottom: 16px;
}
.dm-row > .info ul { list-style: none; padding: 0; margin: 0 0 24px; }
.dm-row > .info ul li {
  font-size: .9rem;
  color: var(--tx2);
  line-height: 1.65;
  padding: 6px 0 6px 24px;
  position: relative;
}
.dm-row > .info ul li::before {
  content: '★';
  position: absolute;
  left: 0; top: 7px;
  font-size: .65rem;
  color: var(--y);
}
.dm-row > .info ul li strong { color: var(--tx1); }

/* Benefits grid */
.dm-benefits {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px;
  margin-bottom: 48px;
}
.dm-benefit-card {
  background: var(--bgc);
  border: 1px solid var(--br);
  border-radius: 14px;
  padding: 24px;
  transition: all .22s;
  position: relative;
  overflow: hidden;
}
.dm-benefit-card::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--y), transparent);
  opacity: 0;
  transition: opacity .22s;
}
.dm-benefit-card:hover {
  border-color: var(--brs);
  transform: translateY(-3px);
  box-shadow: 0 10px 36px rgba(0,0,0,.35);
}
.dm-benefit-card:hover::after { opacity: 1; }
.dm-benefit-card h3 { font-size: 1rem; font-weight: 700; color: var(--tx1); margin-bottom: 8px; }
.dm-benefit-card p  { font-size: .8125rem; color: var(--tx2); line-height: 1.62; margin: 0; }

/* Pricing card */
.dm-pricing-card {
  background: rgba(245,200,66,.04);
  border: 1px solid var(--bry);
  border-radius: 20px;
  padding: 40px;
  text-align: center;
  max-width: 520px;
  margin: 0 auto 48px;
}
.dm-pricing-card h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 2rem;
  font-weight: 900;
  color: var(--y);
  margin-bottom: 4px;
}
.dm-pricing-card .price-sub {
  font-family: 'DM Mono', monospace;
  font-size: .8rem;
  color: var(--txd);
  margin-bottom: 24px;
}
.dm-pricing-card ul {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
  text-align: left;
}
.dm-pricing-card ul li {
  font-size: .9rem;
  color: var(--tx2);
  padding: 8px 0 8px 26px;
  position: relative;
  border-bottom: 1px solid var(--div);
}
.dm-pricing-card ul li:last-child { border-bottom: none; }
.dm-pricing-card ul li::before { content: '✓'; position: absolute; left: 0; color: var(--y); font-weight: 700; }

/* Browser mock */
.dm-browser {
  background: var(--bgc2);
  border: 1px solid var(--br);
  border-radius: 14px;
  overflow: hidden;
}
.dm-bbar {
  background: var(--bgc);
  border-bottom: 1px solid var(--br);
  padding: 10px 14px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.dm-bdot {
  width: 10px; height: 10px;
  border-radius: 50%;
  background: var(--div);
}
.dm-burl {
  font-family: 'DM Mono', monospace;
  font-size: .68rem;
  color: var(--txd);
  margin-left: 8px;
}
.dm-stage {
  padding: 16px;
  display: grid;
  grid-template-columns: .7fr 1fr .7fr;
  gap: 10px;
}
.dm-mc {
  background: var(--bgc);
  border: 1px solid var(--br);
  border-radius: 10px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  opacity: .55;
}
.dm-mc.hot { border-color: var(--bry); opacity: 1; box-shadow: 0 4px 20px rgba(245,200,66,.08); }
.dm-mc-hd  { display: flex; align-items: center; gap: 7px; }
.dm-mc-av  {
  width: 30px; height: 30px;
  border-radius: 50%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'DM Mono', monospace;
  font-size: .62rem;
  font-weight: 700;
  border: 2px solid rgba(255,255,255,.1);
}
.dm-mc-name   { font-size: .78rem; font-weight: 700; color: var(--tx1); }
.dm-mc-handle { font-family: 'DM Mono', monospace; font-size: .6rem; color: var(--txd); }
.dm-mc-picon  {
  margin-left: auto;
  width: 22px; height: 22px;
  border-radius: 6px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(245,200,66,.14);
  border: 1px solid var(--bry);
}
.dm-mc-body     { font-size: .75rem; color: var(--tx2); line-height: 1.5; }
.dm-mc-body .hl { color: var(--t); }
.dm-mc-ft       { display: flex; align-items: center; padding-top: 8px; border-top: 1px solid var(--div); }
.dm-mc-badge    {
  margin-left: auto;
  font-family: 'DM Mono', monospace;
  font-size: .55rem;
  font-weight: 700;
  color: var(--y);
  background: rgba(245,200,66,.08);
  border: 1px solid var(--bry);
  border-radius: 3px;
  padding: 2px 6px;
  display: flex;
  align-items: center;
  gap: 3px;
}
.dm-ev {
  background: var(--bgc);
  border: 1px solid var(--br);
  border-radius: 10px;
  padding: 12px;
  display: flex;
  gap: 10px;
  opacity: .55;
}
.dm-ev.hot { border-color: var(--bry); opacity: 1; box-shadow: 0 4px 20px rgba(245,200,66,.08); }
.dm-ev-date {
  min-width: 36px;
  text-align: center;
  background: rgba(245,200,66,.08);
  border: 1px solid var(--bry);
  border-radius: 7px;
  padding: 6px 4px;
  flex-shrink: 0;
}
.dm-ev-month { font-family: 'DM Mono', monospace; font-size: .52rem; font-weight: 700; color: var(--y); text-transform: uppercase; display: block; }
.dm-ev-day   { font-family: 'Playfair Display', serif; font-size: 1.1rem; font-weight: 900; color: var(--tx1); display: block; }
.dm-ev-body h5 { font-size: .78rem; font-weight: 700; color: var(--tx1); margin-bottom: 4px; }
.dm-ev-body p  { font-size: .72rem; color: var(--tx2); line-height: 1.45; margin: 0; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 900px) {
  .dm-partner-wrap { padding: 0 18px 80px; }
  .dm-row          { grid-template-columns: 1fr; gap: 32px; }
  .dm-row.flip     { direction: ltr; }
  .dm-stage        { grid-template-columns: 1fr; }
  .dm-stage > *:not(.hot) { display: none; }
  .dm-benefits     { grid-template-columns: 1fr; }
  .dm-pricing-card { padding: 28px 20px; }
}
@media (max-width: 768px) {
  .dm-grid-2, .dm-grid-3  { grid-template-columns: 1fr; }
  .dm-a11y-grid            { grid-template-columns: 1fr; }
  .dm-form-row             { grid-template-columns: 1fr; }
  .dm-wrap                 { padding: 0 18px 80px; }
  .dm-nav                  { padding: 0 18px; }
  .dm-partner-hero         { padding: 48px 20px 56px; }
}
@media (max-width: 480px) {
  .dm-hero         { padding: 36px 18px 44px; }
  .dm-hero h1      { font-size: 1.875rem; }
  .dm-partner-hero h1 { font-size: 2rem; }
}


/* ═══════════════════════════════════════════════════════════
   DEAFMONITOR — DASHBOARD / HOME FEED STYLES
   ═══════════════════════════════════════════════════════════ */

/* ── TICKER ── */
.ticker-wrap{background:rgba(0,180,200,.06);border-bottom:1px solid var(--br);overflow:hidden;height:32px;display:flex;align-items:center}
.ticker-inner{display:flex;align-items:center;white-space:nowrap;will-change:transform}
.tick-item{font-family:'DM Mono',monospace;font-size:.7rem;color:#EEF4FF;padding:0 32px}
.tick-item+.tick-item::before{content:'·';margin-right:32px;color:var(--txd)}

/* ── NAV (HOME) ── */
nav{position:sticky;top:0;z-index:200;height:52px;background:rgba(6,13,28,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--br);display:flex;align-items:center}
.nav-in{display:flex;align-items:center;gap:10px;padding:0 20px;width:100%}
.dm-logo{display:flex;align-items:center;gap:4px;text-decoration:none;flex-shrink:0}
.logo-dm{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:900;color:var(--t)}
.logo-text{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;color:var(--tx1)}
.nav-cats{display:flex;align-items:center;gap:2px;margin:0 auto;overflow-x:auto;scrollbar-width:none}
.nav-cats::-webkit-scrollbar{display:none}
.ncat{background:none;border:none;padding:5px 11px;font-family:'DM Mono',monospace;font-size:.68rem;font-weight:600;color:var(--txd);border-radius:5px;cursor:pointer;white-space:nowrap;transition:all .15s}
.ncat:hover{color:var(--tx1);background:rgba(255,255,255,.05)}
.ncat.active{color:var(--t);background:rgba(0,180,200,.1);border:1px solid rgba(0,180,200,.2)}
.nav-ctrls{display:flex;align-items:center;gap:6px;flex-shrink:0}
.rtog{display:flex;gap:2px;background:rgba(255,255,255,.04);border:1px solid var(--br);border-radius:6px;padding:2px}
.rbtn{background:none;border:none;padding:4px 9px;font-family:'DM Mono',monospace;font-size:.62rem;font-weight:700;color:var(--txd);border-radius:4px;cursor:pointer;transition:all .15s}
.rbtn.active{background:rgba(0,180,200,.15);color:var(--t)}
.nbtn{background:none;border:1px solid var(--br);width:30px;height:30px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--txd);cursor:pointer;transition:all .15s}
.nbtn:hover{border-color:var(--brs);color:var(--tx1)}
.tip-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;background:rgba(0,180,200,.1);border:1px solid rgba(0,180,200,.25);border-radius:20px;font-size:.72rem;font-weight:600;color:var(--t);text-decoration:none;white-space:nowrap;transition:all .15s}
.tip-pill:hover{background:rgba(0,180,200,.18);color:var(--t)}
.login-nav-btn{width:auto!important;padding:0 12px;gap:5px;font-size:.72rem;font-weight:600;color:var(--txd)}

/* ── LAYOUT ── */
.dm-layout{display:grid;grid-template-columns:260px 1fr 280px;gap:0;min-height:calc(100vh - 84px)}
.dm-left{border-right:1px solid var(--br);padding:16px;display:flex;flex-direction:column;gap:16px;position:sticky;top:84px;height:calc(100vh - 84px);overflow-y:auto;scrollbar-width:thin}
.dm-main{padding:16px;overflow-y:auto}
.dm-right{border-left:1px solid var(--br);padding:16px;display:flex;flex-direction:column;gap:20px;overflow-y:auto}

/* ── LEFT SIDEBAR ── */
.briefing-wrap{background:var(--bgc);border:1px solid var(--br);border-radius:12px;padding:14px}
.b-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.b-label{font-family:'DM Mono',monospace;font-size:.62rem;font-weight:700;color:var(--t);letter-spacing:.1em}
.b-date{font-family:'DM Mono',monospace;font-size:.62rem;color:var(--txd)}
.b-item{font-size:.8rem;color:var(--tx2);line-height:1.5;padding:7px 0;border-bottom:1px solid var(--div);animation:fadeup .35s ease both;opacity:0}
.b-item:last-child{border-bottom:none}
.stats-wrap{background:var(--bgc);border:1px solid var(--br);border-radius:12px;padding:14px}
.stats-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.stat-item{text-align:center}
.stat-val{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:900;color:var(--t)}
.stat-lbl{font-family:'DM Mono',monospace;font-size:.58rem;color:var(--txd);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}

/* ── FEED TABS ── */
.feed-tabs{display:flex;gap:2px;margin-bottom:12px;border-bottom:1px solid var(--div);padding-bottom:8px}
.ftab{background:none;border:none;padding:5px 12px;font-family:'DM Mono',monospace;font-size:.68rem;font-weight:600;color:var(--txd);border-radius:5px;cursor:pointer;transition:all .15s}
.ftab:hover{color:var(--tx1)}
.ftab.active{color:var(--t);background:rgba(0,180,200,.1)}

/* ── NEWS CARDS ── */
.news-grid{display:flex;flex-direction:column;gap:10px}
.news-card{background:var(--bgc);border:1px solid var(--br);border-radius:12px;padding:14px;transition:all .2s;cursor:pointer}
.news-card:hover{border-color:var(--brs);transform:translateX(2px)}
.news-card.hot{border-color:rgba(0,180,200,.25);background:rgba(0,180,200,.03)}
.nc-hd{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.nc-av{width:34px;height:34px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:'DM Mono',monospace;font-size:.62rem;font-weight:700;color:#fff}
.nc-org{font-size:.875rem;font-weight:700;color:var(--tx1)}
.nc-handle{font-family:'DM Mono',monospace;font-size:.62rem;color:var(--txd)}
.nc-hot{margin-left:auto;font-family:'DM Mono',monospace;font-size:.58rem;font-weight:700;color:var(--t);background:rgba(0,180,200,.1);border:1px solid rgba(0,180,200,.2);border-radius:4px;padding:2px 7px}
.nc-body{font-size:.875rem;color:var(--tx2);line-height:1.65;margin-bottom:10px}
.nc-tags{display:flex;gap:5px;flex-wrap:wrap}
.nc-tag{font-family:'DM Mono',monospace;font-size:.6rem;color:var(--txd);background:var(--tag);border:1px solid var(--br);border-radius:4px;padding:2px 7px}

/* ── VIDEO ── */
.sec-hd{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.sec-label{font-family:'DM Mono',monospace;font-size:.65rem;font-weight:700;color:var(--txd);letter-spacing:.1em}
.sec-badge{font-family:'DM Mono',monospace;font-size:.6rem;font-weight:700;border-radius:4px;padding:2px 7px}
.sec-badge.asl{color:var(--t);background:rgba(0,180,200,.1);border:1px solid rgba(0,180,200,.2)}
.dm-section{display:flex;flex-direction:column}
.vid-grid{display:flex;flex-direction:row;flex-wrap:nowrap;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.vid-card{display:flex;flex-direction:column;gap:0;padding:0;background:var(--bgc);border:1px solid var(--br);border-radius:10px;cursor:pointer;transition:all .18s;flex:0 0 calc(20% - 12px);min-width:calc(20% - 12px);overflow:hidden;scroll-snap-align:start}
.vid-card:hover{border-color:var(--brs)}
.vid-card.live{border-color:rgba(220,38,38,.3);background:rgba(220,38,38,.03)}
.vid-thumb{width:44px;height:38px;border-radius:6px;background:var(--bgc2);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;position:relative}
.live-badge{position:absolute;top:-6px;right:-6px;background:#DC2626;color:#fff;font-family:'DM Mono',monospace;font-size:.5rem;font-weight:700;padding:1px 4px;border-radius:3px}
.vid-title{font-size:.8rem;font-weight:600;color:var(--tx1);line-height:1.35;margin-bottom:3px}
.vid-src{font-family:'DM Mono',monospace;font-size:.62rem;color:var(--txd)}
.vid-info{flex:1;min-width:0}

/* ── COMMUNITY ── */
.comm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
@media(max-width:900px){.comm-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.comm-grid{grid-template-columns:1fr}}
.comm-card{background:var(--bgc);border:1px solid var(--br);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:0;transition:all .18s;cursor:pointer;position:relative}
.comm-card:hover{border-color:var(--brs);transform:translateY(-1px);box-shadow:var(--shad)}
.comm-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}
.comm-handle{font-family:'DM Mono',monospace;font-size:.7rem;font-weight:700;color:var(--t);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.comm-time{font-family:'DM Mono',monospace;font-size:.6rem;color:var(--txd)}
.comm-body{font-size:.8125rem;color:var(--tx2);line-height:1.55;flex:1;margin-bottom:10px}
.comm-ft{display:flex;align-items:center;padding-top:6px;border-top:1px solid var(--div)}
.comm-likes{font-family:'DM Mono',monospace;font-size:.62rem;color:var(--txd)}

/* ── EVENTS ── */
.ev-item{display:flex;gap:12px;padding:10px;background:var(--bgc);border:1px solid var(--br);border-radius:10px;margin-bottom:8px}
.ev-item.partner{border-color:var(--bry);background:rgba(245,200,66,.03)}
.ev-date{min-width:36px;text-align:center;background:rgba(0,180,200,.07);border:1px solid var(--br);border-radius:7px;padding:6px 4px;flex-shrink:0}
.ev-month{font-family:'DM Mono',monospace;font-size:.52rem;font-weight:700;color:var(--t);text-transform:uppercase;display:block}
.ev-day{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:900;color:var(--tx1);display:block}
.ev-title{font-size:.8rem;font-weight:700;color:var(--tx1);margin-bottom:3px}
.ev-meta{font-family:'DM Mono',monospace;font-size:.62rem;color:var(--txd)}
.ev-partner{color:var(--y)}

/* ── SEARCH ── */
.srch-overlay{position:fixed;inset:0;background:rgba(6,13,28,.85);z-index:500;display:flex;align-items:flex-start;justify-content:center;padding-top:80px;backdrop-filter:blur(8px)}
.srch-inner{width:min(640px,90vw);background:var(--bgc2);border:1px solid var(--br);border-radius:16px;padding:20px;position:relative}
.srch-input{width:100%;background:var(--bgc);border:1px solid var(--br);border-radius:10px;padding:12px 16px;font-size:1rem;color:var(--tx1);outline:none}
.srch-input:focus{border-color:var(--brs)}
.srch-x-btn{position:absolute;top:20px;right:20px;background:none;border:none;color:var(--txd);cursor:pointer;padding:4px}
.srch-results{margin-top:12px;display:flex;flex-direction:column;gap:8px}
.srch-item{padding:10px;background:var(--bgc);border:1px solid var(--br);border-radius:8px;cursor:pointer}
.srch-item:hover{border-color:var(--brs)}
.srch-org{font-family:'DM Mono',monospace;font-size:.65rem;font-weight:700;color:var(--t);margin-bottom:4px}
.srch-body{font-size:.8rem;color:var(--tx2)}
.srch-empty{font-size:.8rem;color:var(--txd);text-align:center;padding:16px}

/* ── AUTH MODAL ── */
.auth-overlay{position:fixed;inset:0;background:rgba(6,13,28,.85);z-index:500;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px)}
.auth-box{background:var(--bgc2);border:1px solid var(--br);border-radius:16px;padding:28px;width:min(400px,90vw);position:relative}
.auth-close{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--txd);cursor:pointer;font-size:1.1rem}
.auth-tabs{display:flex;gap:4px;margin-bottom:20px;background:var(--bgc);border:1px solid var(--br);border-radius:8px;padding:3px}
.auth-tab{flex:1;background:none;border:none;padding:7px;font-size:.8rem;font-weight:600;color:var(--txd);border-radius:6px;cursor:pointer;transition:all .15s}
.auth-tab.active{background:var(--bgc2);color:var(--tx1);box-shadow:0 1px 4px rgba(0,0,0,.3)}
.auth-field{margin-bottom:14px}
.auth-field label{display:block;font-size:.78rem;font-weight:600;color:var(--tx2);margin-bottom:6px}
.auth-field input{width:100%;background:var(--bgc);border:1px solid var(--br);border-radius:8px;padding:10px 14px;font-size:.9rem;color:var(--tx1);outline:none}
.auth-field input:focus{border-color:var(--brs)}
.auth-btn{width:100%;padding:11px;background:var(--t);border:none;border-radius:8px;font-size:.9rem;font-weight:700;color:#051018;cursor:pointer;margin-top:4px;transition:opacity .15s}
.auth-btn:hover{opacity:.88}
.auth-skip{text-align:center;margin-top:12px;font-size:.78rem;color:var(--txd)}
.auth-skip a{color:var(--t);cursor:pointer}

/* ── COOKIE BANNER ── */
.cookie-banner{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:var(--bgc2);border:1px solid var(--br);border-radius:12px;padding:14px 18px;display:flex;align-items:center;gap:16px;z-index:400;width:min(560px,90vw);box-shadow:0 8px 32px rgba(0,0,0,.4)}
.cookie-banner p{font-size:.8rem;color:var(--tx2);line-height:1.5;flex:1}
.cookie-banner a{color:var(--t)}
.cookie-actions{display:flex;gap:8px;flex-shrink:0}
.cookie-btn{padding:6px 14px;border-radius:6px;font-size:.78rem;font-weight:600;cursor:pointer;border:1px solid var(--br);background:none;color:var(--txd);transition:all .15s}
.cookie-btn.accept{background:var(--t);border-color:var(--t);color:#051018}

/* ── RESPONSIVE ── */
@media(max-width:1100px){.dm-layout{grid-template-columns:220px 1fr}.dm-right{display:none}}
@media(max-width:720px){.dm-layout{grid-template-columns:1fr}.dm-left{display:none}.nav-cats{display:none}}


