/* Aithenor Origin — design build 1 (dark Our AI band tokens). Self-hosted fonts only. */

@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(./fonts/fraunces-latin-ext-opsz-normal.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(./fonts/fraunces-latin-opsz-normal.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(./fonts/ibm-plex-sans-arabic-regular.woff2) format('woff2');
}
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(./fonts/ibm-plex-sans-arabic-medium.woff2) format('woff2');
}

@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(./fonts/geist-latin-ext-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(./fonts/geist-latin-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

body.origin-public,
body.origin-report,
body.origin-today,
body.origin-admin-console {
  --og-ground: #17181B;
  --og-panel-low: #1A1B1E;
  --og-card: #1D1E22;
  --og-inner: #222327;
  --og-tile: #27282D;
  --og-line: #2E2F33;
  --og-line-strong: #3A3B40;
  --og-line-gold: #4A4334;
  --og-ivory: #F6F2E8;
  --og-ivory-2: #EDE9DF;
  --og-text: #CFCAC0;
  --og-muted: #A8A59D;
  --og-quiet: #8C8A83;
  --og-gold: #C6A15B;
  --og-gold-hover: #D9BC82;
  --og-on-gold: #17181B;
  --og-terra: #D9785A;
  --og-font-serif: 'Fraunces', Georgia, 'Times New Roman', serif;
  --og-font-sans: 'Geist', system-ui, -apple-system, sans-serif;
  --og-font-ar: 'IBM Plex Sans Arabic', 'Geist', Tahoma, sans-serif;

  margin: 0;
  min-height: 100vh;
  background: var(--og-ground);
  color: var(--og-ivory);
  font-family: var(--og-font-sans);
  font-weight: 400;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

html:lang(ar) body.origin-public,
html:lang(ar) body.origin-report,
html:lang(ar) body.origin-today,
html:lang(ar) body.origin-admin-console,
html:lang(ar) body.origin-join-body,
html:lang(ar) body.origin-terms {
  font-family: var(--og-font-ar);
}

body.origin-public *,
body.origin-report *,
body.origin-today *,
body.origin-admin-console * {
  box-sizing: border-box;
}

/* —— Shared primitives —— */
.origin-label {
  margin: 0 0 0.75rem;
  font-family: var(--og-font-sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--og-quiet);
}
.origin-label-gold {
  color: var(--og-gold);
}

.origin-wordmark {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  text-decoration: none;
  color: inherit;
}
.origin-brand-mark {
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  display: block;
}
.origin-wordmark-text {
  font-family: var(--og-font-serif);
  font-weight: 400;
  font-size: 19px;
  letter-spacing: 0.24em;
  line-height: 1;
  text-transform: uppercase;
}
.origin-wordmark-aithenor { color: var(--og-ivory); }
.origin-wordmark-origin { color: var(--og-gold); }
.origin-wordmark-footer .origin-wordmark-text {
  font-size: 13px;
  letter-spacing: 0.18em;
}
.origin-hero-line-gold {
  color: var(--og-gold);
}

.origin-btn,
button.origin-btn,
a.origin-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 1.1rem;
  border-radius: 10px;
  border: 1px solid var(--og-gold);
  background: var(--og-gold);
  color: var(--og-on-gold);
  font-family: var(--og-font-sans);
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.origin-btn:hover:not(:disabled),
a.origin-btn:hover {
  background: var(--og-gold-hover);
  border-color: var(--og-gold-hover);
  color: var(--og-on-gold);
}
.origin-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.origin-btn-secondary,
button.origin-btn-secondary,
a.origin-btn-secondary {
  background: transparent;
  color: var(--og-ivory);
  border-color: var(--og-line-strong);
}
.origin-btn-secondary:hover:not(:disabled),
a.origin-btn-secondary:hover {
  background: var(--og-tile);
  border-color: var(--og-line-strong);
  color: var(--og-ivory);
}
.origin-btn-text {
  background: transparent;
  border-color: transparent;
  color: var(--og-gold);
  min-height: 40px;
  padding: 0 0.25rem;
}
.origin-btn-text:hover:not(:disabled) {
  background: transparent;
  color: var(--og-gold-hover);
  border-color: transparent;
}

.origin-honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.origin-chip-confirm {
  color: var(--og-terra);
  border-color: rgba(176, 106, 74, 0.35);
  background: rgba(176, 106, 74, 0.08);
  font-style: normal;
}
.origin-footnote-addon {
  margin-top: 0.35rem;
  opacity: 0.9;
}
.origin-inline-link {
  color: var(--og-gold);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.origin-ads-preview {
  margin: 1rem 0 1.25rem;
}
.origin-ads-preview .origin-ads-week-tile .origin-ads-week-spend {
  display: none;
}
.origin-chip {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0.3rem 0.75rem;
  border-radius: 999px;
  background: var(--og-tile);
  color: var(--og-text);
  font-size: 13px;
  font-weight: 500;
}

.origin-card {
  background: var(--og-card);
  border: 1px solid var(--og-line);
  border-radius: 18px;
  padding: 1.35rem 1.4rem;
}
.origin-card-gold {
  border-color: var(--og-line-gold);
}
.origin-card-decision {
  border-radius: 22px;
  border-color: var(--og-line-gold);
}

.origin-status {
  margin: 0.75rem 0 0;
  color: var(--og-muted);
  font-size: 15px;
}
.origin-lead {
  color: var(--og-muted);
  font-size: 16px;
  line-height: 1.55;
}
.origin-finding {
  color: var(--og-text);
  font-size: 16px;
  line-height: 1.55;
}
.origin-section {
  margin: 1.25rem 0;
}
.origin-section h2,
.origin-section h3 {
  font-family: var(--og-font-serif);
  font-weight: 400;
  letter-spacing: -0.02em;
  color: var(--og-ivory);
}

/* —— Landing —— */
.origin-shell,
.origin-app {
  width: min(1240px, calc(100% - 32px));
  margin: 0 auto;
}
.origin-topbar {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 1rem;
  padding: 1.35rem 0 0.5rem;
}
.origin-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 3rem;
  align-items: start;
  padding: 2.5rem 0 3.5rem;
}
.origin-hero-copy h1 {
  margin: 0 0 1rem;
  font-family: var(--og-font-serif);
  font-weight: 300;
  font-size: clamp(40px, 5vw, 68px);
  letter-spacing: -0.02em;
  line-height: 1.05;
  color: var(--og-ivory);
}
.origin-hero-lead {
  margin: 0 0 1.75rem;
  max-width: 34rem;
  color: var(--og-muted);
  font-size: 19px;
  line-height: 1.55;
}
.origin-form.origin-scan-bar,
.origin-scan-bar {
  display: flex;
  align-items: stretch;
  gap: 0.55rem;
  padding: 0.4rem;
  background: var(--og-inner);
  border: 1px solid var(--og-line-strong);
  border-radius: 14px;
}
.origin-scan-bar label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.origin-scan-bar input[type="url"],
.origin-scan-bar input[type="text"]:not(.origin-honeypot) {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 48px;
  padding: 0 1rem;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--og-ivory);
  font-family: var(--og-font-sans);
  font-size: 16px;
  outline: none;
}
.origin-scan-bar input::placeholder {
  color: var(--og-quiet);
}
.origin-scan-bar .origin-btn {
  flex: 0 0 auto;
  white-space: nowrap;
}
.origin-footnote {
  margin: 0.85rem 0 0;
  color: var(--og-quiet);
  font-size: 13px;
}

.origin-scan-panel {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.origin-radar {
  position: relative;
  width: min(100%, 480px);
  aspect-ratio: 1;
  margin: 0 auto;
  border: 1px solid var(--og-line);
  border-radius: 18px;
  background: var(--og-card);
  overflow: hidden;
}
.origin-radar-svg {
  display: block;
  width: 100%;
  height: 100%;
}
.origin-radar-sweep {
  transform-origin: 50% 50%;
  stroke: var(--og-gold);
  opacity: 0;
}
.origin-radar.is-active .origin-radar-sweep {
  opacity: 0.85;
  animation: origin-radar-sweep 6s linear infinite;
}
.origin-radar-dot {
  fill: var(--og-quiet);
}
.origin-radar-dot.is-gold { fill: var(--og-gold); }
.origin-radar-dot.is-ivory { fill: var(--og-ivory-2); }
.origin-radar.is-active .origin-radar-pulse {
  animation: origin-pulse 1.8s ease-in-out infinite;
}
.origin-radar-labels {
  position: absolute;
  inset: 0;
  pointer-events: none;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--og-quiet);
}
.origin-radar-labels span {
  position: absolute;
  white-space: nowrap;
}
/* Labels sit beside their dots — never centred on them.
   Dots: Website top, Listings left, Assistants bottom, Reviews right. */
.origin-radar-labels .rl-website { top: 2%; inset-inline-start: 58%; color: var(--og-gold); }
.origin-radar-labels .rl-listings { top: 42%; inset-inline-start: 3%; color: var(--og-ivory-2); }
.origin-radar-labels .rl-assistants { bottom: 2%; inset-inline-start: 50%; transform: translateX(-50%); color: var(--og-gold); }
.origin-radar-labels .rl-reviews { top: 42%; inset-inline-end: 3%; }

.origin-progress {
  width: min(100%, 480px);
  margin: 0 auto;
}
.origin-progress-idle,
.origin-progress-flight {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-height: 56px;
  padding: 0.9rem 1.1rem;
  background: var(--og-card);
  border: 1px solid var(--og-line);
  border-radius: 18px;
  color: var(--og-ivory-2);
  font-size: 15px;
}
.origin-progress-list {
  list-style: none;
  margin: 0;
  padding: 0.9rem 1.1rem;
  background: var(--og-card);
  border: 1px solid var(--og-line);
  border-radius: 18px;
}
.origin-progress-step {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.35rem 0;
  color: var(--og-quiet);
  font-size: 14px;
}
.origin-progress-active { color: var(--og-ivory-2); }
.origin-progress-done { color: var(--og-gold); }
.origin-progress-step::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--og-line-strong);
  flex: 0 0 auto;
}
.origin-progress-active::before {
  background: var(--og-gold);
  box-shadow: 0 0 0 0 rgba(198, 161, 91, 0.55);
  animation: origin-blink 1.2s ease-in-out infinite;
}
.origin-progress-done::before { background: var(--og-gold); }

.origin-ready-card {
  padding: 1.35rem 1.4rem;
  background: var(--og-card);
  border: 1px solid var(--og-line-gold);
  border-radius: 18px;
}
.origin-ready-card h2 {
  margin: 0 0 0.65rem;
  font-family: var(--og-font-serif);
  font-weight: 400;
  font-size: 22px;
  letter-spacing: -0.02em;
  color: var(--og-ivory);
}
.origin-ready-card .origin-finding { margin: 0 0 0.85rem; }
.origin-ready-card .origin-ready-note {
  margin: 0 0 1.1rem;
  color: var(--og-quiet);
  font-size: 14px;
}
.origin-check-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 0.35rem;
}

.origin-pulse-dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: var(--og-gold);
  flex: 0 0 auto;
  animation: origin-blink 1.2s ease-in-out infinite;
}

.origin-how {
  padding: 0 0 3.5rem;
}
.origin-how-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.origin-how-card h3 {
  margin: 0 0 0.55rem;
  font-family: var(--og-font-serif);
  font-weight: 400;
  font-size: 24px;
  letter-spacing: -0.02em;
}
.origin-how-card p {
  margin: 0;
  color: var(--og-muted);
  font-size: 15px;
  line-height: 1.55;
}

.origin-signin {
  margin: 0 0 3rem;
  padding: 1.6rem 1.5rem;
  background: var(--og-card);
  border: 1px solid var(--og-line);
  border-radius: 18px;
}
.origin-signin h2 {
  margin: 0 0 0.5rem;
  font-family: var(--og-font-serif);
  font-weight: 400;
  font-size: 28px;
  letter-spacing: -0.02em;
}
.origin-signin .origin-lead { margin: 0 0 1.15rem; }
.origin-form {
  display: grid;
  gap: 0.75rem;
}
.origin-form label {
  font-size: 13px;
  font-weight: 500;
  color: var(--og-quiet);
}
.origin-form input[type="email"],
.origin-form input[type="url"],
.origin-form input[type="text"]:not(.origin-honeypot),
.origin-form select,
.origin-form textarea {
  width: 100%;
  min-height: 44px;
  padding: 0.65rem 0.9rem;
  border: 1px solid var(--og-line-strong);
  border-radius: 10px;
  background: var(--og-inner);
  color: var(--og-ivory);
  font-family: var(--og-font-sans);
  font-size: 15px;
}
.origin-form select {
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--og-quiet) 50%),
    linear-gradient(135deg, var(--og-quiet) 50%, transparent 50%);
  background-position: calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-inline-end: 2.2rem;
}
.origin-form textarea {
  min-height: 88px;
  resize: vertical;
}

.origin-public-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
  border-top: 1px solid var(--og-line);
  padding: 1.25rem 0 2rem;
  color: var(--og-quiet);
  font-size: 13px;
}
.origin-public-footer a {
  color: var(--og-quiet);
  text-decoration: none;
}
.origin-public-footer a:hover { color: var(--og-gold-hover); }
.origin-footer-sep { color: var(--og-quiet); }

/* —— Modal / sign-up window —— */
.origin-modal {
  position: fixed;
  inset: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  background: rgba(10, 11, 13, 0.72);
}
.origin-modal[hidden] { display: none !important; }
.origin-modal-card {
  position: relative;
  width: min(980px, 100%);
  max-height: min(92vh, 820px);
  overflow: auto;
  background: var(--og-card);
  border: 1px solid var(--og-line);
  border-radius: 20px;
}
.origin-modal-close {
  position: absolute;
  top: 0.85rem;
  inset-inline-end: 0.85rem;
  z-index: 2;
  width: 44px;
  height: 44px;
  border: 1px solid var(--og-line-strong);
  border-radius: 10px;
  background: transparent;
  color: var(--og-ivory);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.origin-modal-close:hover {
  background: var(--og-tile);
}
.origin-modal-split {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  min-height: 420px;
}
.origin-modal-aside {
  padding: 2rem 1.6rem;
  background: var(--og-panel-low);
  border-inline-end: 1px solid var(--og-line);
}
.origin-modal-aside h2 {
  margin: 0 0 1.1rem;
  font-family: var(--og-font-serif);
  font-weight: 400;
  font-size: 26px;
  letter-spacing: -0.02em;
}
.origin-modal-bar {
  height: 4px;
  margin: 0 0 1.35rem;
  border-radius: 999px;
  background: var(--og-tile);
  overflow: hidden;
}
.origin-modal-bar > span {
  display: block;
  height: 100%;
  width: 35%;
  background: var(--og-gold);
  border-radius: 999px;
  animation: origin-bar-drift 4.5s ease-in-out infinite;
}
.origin-modal-bar-label {
  margin: -0.85rem 0 1.25rem;
  color: var(--og-quiet);
  font-size: 12px;
}
.origin-modal-ticks {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.7rem;
}
.origin-modal-ticks li {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  color: var(--og-text);
  font-size: 14px;
}
.origin-modal-ticks li::before {
  content: '✓';
  color: var(--og-gold);
  font-weight: 600;
}
.origin-modal-aside-foot {
  margin: 1.75rem 0 0;
  color: var(--og-quiet);
  font-size: 13px;
}
.origin-modal-main {
  padding: 2rem 1.75rem 1.6rem;
}
.origin-modal-main h2,
#origin-modal-title {
  margin: 0 0 0.35rem;
  font-family: var(--og-font-serif);
  font-weight: 400;
  font-size: 28px;
  letter-spacing: -0.02em;
}
.origin-modal-main h3 {
  margin: 0 0 1rem;
  font-family: var(--og-font-serif);
  font-weight: 400;
  font-size: 22px;
}

/* Compact signup so the modal fits at 1440×900 without scrolling */
.origin-signup-form {
  gap: 0.4rem;
}
.origin-signup-form label {
  font-size: 12px;
}
.origin-signup-form input[type="email"],
.origin-signup-form input[type="text"]:not(.origin-honeypot),
.origin-signup-form select {
  min-height: 36px;
  padding: 0.4rem 0.75rem;
  font-size: 14px;
  border-radius: 8px;
}
.origin-signup-footnote {
  margin: -0.1rem 0 0.15rem;
  font-size: 11px;
  line-height: 1.35;
}
.origin-field-error {
  margin: 0;
  color: #e8a090;
  font-size: 12px;
}
.origin-heard-other {
  display: grid;
  gap: 0.35rem;
}
.origin-heard-other[hidden] {
  display: none !important;
}
.origin-consent {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  margin: 0.15rem 0 0.25rem;
  color: var(--og-quiet);
  font-size: 12px;
  line-height: 1.4;
  cursor: pointer;
}
.origin-consent input {
  margin-top: 0.15rem;
  flex: 0 0 auto;
}
@media (min-width: 900px) {
  .origin-modal-card:has(.origin-signup-form) {
    max-height: min(88vh, 820px);
    overflow: hidden;
  }
  .origin-modal-card:has(.origin-signup-form) .origin-modal-main {
    padding: 1.35rem 1.4rem 1.1rem;
    overflow: hidden;
  }
  .origin-modal-card:has(.origin-signup-form) .origin-modal-aside {
    padding: 1.35rem 1.25rem;
  }
  .origin-modal-card:has(.origin-signup-form) .origin-modal-main h3 {
    margin-bottom: 0.65rem;
    font-size: 20px;
  }
  .origin-modal-card:has(.origin-signup-form) .origin-modal-foot {
    margin-top: 0.65rem;
  }
  .origin-modal-card:has(.origin-signup-form) .origin-btn {
    min-height: 40px;
    padding: 0.55rem 1rem;
  }
}

.origin-profile-card {
  margin-top: 0.85rem;
  padding: 1rem 1.1rem;
  border: 1px solid var(--og-line);
  border-radius: 14px;
  background: var(--og-tile);
}
.origin-profile-card h3 {
  margin: 0 0 0.75rem;
  font-family: var(--og-font-serif);
  font-weight: 400;
  font-size: 18px;
}
.origin-profile-choices {
  display: grid;
  gap: 0.4rem;
  margin: 0 0 0.75rem;
}
.origin-profile-choices label {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  font-size: 14px;
  color: var(--og-text);
  cursor: pointer;
}
.origin-profile-other,
.origin-profile-phone {
  width: 100%;
  min-height: 40px;
  margin: 0.35rem 0 0.6rem;
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--og-line-strong);
  border-radius: 8px;
  background: var(--og-inner);
  color: var(--og-ivory);
  font: inherit;
}
.origin-profile-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.origin-profile-error {
  margin: 0 0 0.5rem;
  color: #e8a090;
  font-size: 13px;
}
.origin-modal-foot {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  justify-content: space-between;
  margin-top: 1.1rem;
}
.origin-modal-foot a {
  color: var(--og-gold);
  text-decoration: none;
  font-size: 14px;
}
.origin-modal-foot a:hover { color: var(--og-gold-hover); }

/* —— Report / Today shells —— */
.origin-app {
  padding: 1.25rem 0 3rem;
}
.origin-page-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.origin-page-header .origin-brand,
.origin-brand {
  margin: 0;
  font-family: var(--og-font-serif);
  font-weight: 400;
  font-size: 21px;
}
.origin-page-actions {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  flex-wrap: wrap;
}
.origin-state-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 36px;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  background: var(--og-tile);
  border: 1px solid var(--og-line);
  font-size: 13px;
  font-weight: 500;
  color: var(--og-ivory-2);
}
.origin-state-pill.is-final {
  color: var(--og-gold);
  border-color: var(--og-line-gold);
}
.origin-title-block {
  margin: 0 0 1.5rem;
}
.origin-title-block h1 {
  margin: 0.35rem 0 0;
  font-family: var(--og-font-serif);
  font-weight: 300;
  font-size: clamp(32px, 4vw, 44px);
  letter-spacing: -0.02em;
  line-height: 1.1;
}
.origin-cards-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1rem;
}
.origin-cards-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 1rem 0;
}
.origin-stat-figure {
  margin: 0.25rem 0;
  font-family: var(--og-font-serif);
  font-weight: 300;
  font-size: 64px;
  letter-spacing: -0.02em;
  line-height: 1;
  color: var(--og-ivory);
}
.origin-stat-of {
  color: var(--og-quiet);
  font-size: 15px;
}
.origin-ring-wrap {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.origin-ring {
  flex: 0 0 auto;
  width: 140px;
  height: 140px;
}
.origin-ring-center {
  fill: none;
}
.origin-ring text {
  fill: var(--og-ivory);
  font-family: var(--og-font-serif);
  font-size: 18px;
  font-weight: 400;
}
.origin-rival-row,
.origin-score-row {
  display: grid;
  grid-template-columns: 1.6rem minmax(0, 1fr) auto;
  gap: 0.65rem;
  align-items: center;
  padding: 0.55rem 0;
  border-top: 1px solid var(--og-line);
  font-size: 14px;
}
.origin-rival-row:first-child,
.origin-score-row:first-child { border-top: 0; }
.origin-rival-rank { color: var(--og-quiet); }
.origin-rival-count { color: var(--og-text); font-variant-numeric: tabular-nums; }
.origin-bar-track {
  height: 8px;
  border-radius: 999px;
  background: var(--og-tile);
  overflow: hidden;
}
.origin-bar-fill {
  height: 100%;
  border-radius: 999px;
  background: var(--og-gold);
  min-width: 0;
}
.origin-bar-fill.is-zero {
  background: var(--og-terra);
  min-width: 3%;
}
.origin-fact {
  padding: 0.75rem 0;
  border-top: 1px solid var(--og-line);
}
.origin-fact:first-child { border-top: 0; }
.origin-fact-provenance {
  margin-top: 0.25rem;
  color: var(--og-quiet);
  font-size: 13px;
}
.origin-fact-provenance a {
  color: var(--og-gold);
  text-decoration: none;
}
.origin-fact-provenance a:hover { color: var(--og-gold-hover); }
.origin-fact-quote {
  margin-top: 0.35rem;
  color: var(--og-muted);
  font-size: 13px;
}
.origin-tile-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin: 0.85rem 0;
}
.origin-mini-tile {
  padding: 0.9rem 1rem;
  background: var(--og-tile);
  border-radius: 14px;
  border: 1px solid var(--og-line);
}
.origin-mini-tile strong {
  display: block;
  font-family: var(--og-font-serif);
  font-weight: 400;
  font-size: 28px;
  letter-spacing: -0.02em;
}
.origin-mini-tile.is-gold strong { color: var(--og-gold); }
.origin-mini-tile.is-terra strong { color: var(--og-terra); }
.origin-mini-tile.is-ivory strong { color: var(--og-ivory-2); }
.origin-mini-tile span {
  color: var(--og-quiet);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.origin-dots {
  display: inline-flex;
  gap: 4px;
  margin-inline-start: 0.5rem;
  vertical-align: middle;
}
.origin-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--og-line-strong);
}
.origin-dot.named { background: var(--og-gold); }
.origin-live-banner,
.origin-final-banner {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.origin-owner-banner {
  margin: 0 0 1rem;
  padding: 0.55rem 0.85rem;
  border: 1px solid var(--og-line-strong);
  border-radius: 6px;
  background: rgba(198, 161, 91, 0.1);
  color: var(--og-gold);
  font-size: 0.88rem;
  letter-spacing: 0.01em;
}
.origin-locked-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0.75rem;
}
.origin-locked-card,
.origin-locked-language-card {
  padding: 1.1rem 1.15rem;
  background: var(--og-panel-low);
  border: 1px dashed var(--og-line-strong);
  border-radius: 18px;
}
.origin-locked-card h3,
.origin-locked-language-card h3 {
  margin: 0 0 0.45rem;
  font-family: var(--og-font-serif);
  font-weight: 400;
  font-size: 20px;
}
.origin-locked-card p,
.origin-locked-language-card p {
  margin: 0 0 0.9rem;
  color: var(--og-muted);
  font-size: 14px;
}
.origin-locked-icon {
  display: inline-block;
  margin-bottom: 0.55rem;
  color: var(--og-quiet);
}
.origin-ready-text {
  white-space: pre-wrap;
  margin: 0.75rem 0;
  padding: 0.85rem 1rem;
  background: var(--og-inner);
  border: 1px solid var(--og-line);
  border-radius: 12px;
  color: var(--og-text);
  font-family: var(--og-font-sans);
  font-size: 14px;
  line-height: 1.5;
}

/* Ready-text copy box — dark surface, page font, no white monospace */
.origin-ready-copy {
  position: relative;
  margin: 0.75rem 0;
}
.origin-ready-copy-btn {
  position: absolute;
  top: 0.55rem;
  inset-inline-end: 0.55rem;
  z-index: 1;
  flex: 0 0 auto;
}
.origin-ready-copy-text {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 2.6rem 1rem 0.85rem;
  min-height: 6.5rem;
  max-height: calc(1.45em * 12 + 2.8rem);
  overflow-y: auto;
  resize: none;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  background: var(--og-inner);
  border: 1px solid var(--og-line);
  border-radius: 12px;
  color: var(--og-text);
  font-family: var(--og-font-sans);
  font-size: 14.5px;
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
}
.origin-ready-copy-text:focus {
  outline: 1px solid var(--og-gold);
  outline-offset: 1px;
}

/* Instant page frame — grey placeholders instead of a single Loading line */
.origin-skeleton-frame {
  display: grid;
  gap: 1rem;
  margin-top: 0.25rem;
}
.origin-skel-block {
  border-radius: 12px;
  background: linear-gradient(
    90deg,
    rgba(46, 47, 51, 0.55) 0%,
    rgba(58, 59, 64, 0.75) 50%,
    rgba(46, 47, 51, 0.55) 100%
  );
  background-size: 200% 100%;
  animation: origin-skel-shimmer 1.4s ease-in-out infinite;
  border: 1px solid var(--og-line);
}
.origin-skel-hero {
  min-height: 7.5rem;
}
.origin-skel-card {
  min-height: 5.5rem;
}
.origin-skel-caption {
  margin: 0;
}
@keyframes origin-skel-shimmer {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}

/* —— Today layout —— */
body.origin-today .origin-today-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 1.5rem;
  width: min(1240px, calc(100% - 32px));
  margin: 0 auto;
  padding: 1rem 0 3rem;
  align-items: start;
}
.origin-today-phone-header {
  display: none;
}
.origin-decision-answer .origin-follow-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.55rem;
}
.origin-decision-answer .origin-follow-actions > .origin-btn[data-follow-answer="yes"],
.origin-decision-answer .origin-follow-actions > .origin-btn[data-follow="yes"] {
  grid-column: 1 / -1;
  width: 100%;
}
.origin-decision-answer .origin-follow-pair {
  display: contents;
}
.origin-earlier-release {
  color: var(--og-quiet);
  font-size: 14px;
}
.origin-ring-pct {
  fill: var(--og-ivory);
  font-family: var(--og-font-serif);
  font-size: 16px;
  font-weight: 400;
}
.origin-today-nav {
  position: sticky;
  top: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-height: calc(100vh - 2rem);
  padding: 1rem 0.75rem;
  background: var(--og-panel-low);
  border: 1px solid var(--og-line);
  border-radius: 18px;
}
.origin-today-nav .origin-wordmark {
  margin: 0 0.35rem 1rem;
}
.origin-nav-link {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-height: 44px;
  padding: 0 0.85rem;
  border-radius: 12px;
  color: var(--og-muted);
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
}
.origin-nav-link.is-active {
  background: var(--og-tile);
  color: var(--og-gold);
}
.origin-nav-link.is-muted { color: var(--og-quiet); }
.origin-nav-link:hover { color: var(--og-gold-hover); }
.origin-today-nav-foot {
  margin-top: auto;
  padding: 1rem 0.5rem 0.25rem;
  border-top: 1px solid var(--og-line);
  color: var(--og-quiet);
  font-size: 12px;
  display: grid;
  gap: 0.55rem;
}
.origin-email-pref {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--og-quiet);
  font-size: 12px;
}
.origin-email-pref-label { color: var(--og-quiet); }
.origin-email-toggle {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--og-gold);
  font: inherit;
  font-size: 12px;
  padding: 0;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.origin-email-toggle[aria-pressed="false"] {
  color: var(--og-quiet);
}
.origin-today-main { min-width: 0; }
.origin-decision-card {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 1.25rem;
  padding: 1.5rem;
  margin-bottom: 1rem;
  background: var(--og-card);
  border: 1px solid var(--og-line-gold);
  border-radius: 22px;
}
.origin-decision-card h2 {
  margin: 0.35rem 0 0.9rem;
  font-family: var(--og-font-serif);
  font-weight: 300;
  font-size: clamp(30px, 3.4vw, 46px);
  letter-spacing: -0.02em;
  line-height: 1.12;
}
.origin-decision-card h2.origin-decision-title-quiet {
  font-size: 28px;
  line-height: 1.25;
}
.origin-decision-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0 0 0.85rem;
}
.origin-decision-due {
  margin: 0;
  color: var(--og-ivory);
  font-weight: 500;
  font-size: 15px;
}
.origin-decision-answer {
  padding: 1.2rem;
  background: var(--og-inner);
  border-radius: 16px;
  border: 1px solid var(--og-line);
}
.origin-decision-answer h3 {
  margin: 0 0 0.9rem;
  font-family: var(--og-font-serif);
  font-weight: 400;
  font-size: 22px;
}
.origin-follow-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}
.origin-follow-confirm {
  margin: 0 0 0.5rem;
  font-family: var(--og-font-serif);
  font-weight: 400;
  font-size: 22px;
  color: var(--og-gold);
}
.origin-figure-tiles {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 1rem 0;
}
.origin-figure-tile {
  padding: 1.1rem;
  background: var(--og-card);
  border: 1px solid var(--og-line);
  border-radius: 18px;
  min-height: 140px;
}
.origin-figure-tile .origin-label { margin-bottom: 0.85rem; }
.origin-figure-tile .origin-ring {
  width: 76px;
  height: 76px;
}
.origin-figure-value {
  font-family: var(--og-font-serif);
  font-weight: 300;
  font-size: 40px;
  letter-spacing: -0.02em;
  line-height: 1;
  color: var(--og-ivory);
}
.origin-figure-value.is-terra { color: var(--og-terra); }
.origin-figure-value.is-ivory { color: var(--og-ivory-2); }
.origin-figure-sub {
  margin-top: 0.45rem;
  color: var(--og-quiet);
  font-size: 13px;
}
.origin-demand-strip {
  margin: 0.35rem 0 1.1rem;
  padding: 1.35rem 0 0.35rem;
}
.origin-demand-strip-line {
  position: relative;
  height: 28px;
  border-top: 1px solid var(--og-line);
}
.origin-demand-month {
  position: absolute;
  top: -1.2rem;
  transform: translateX(-10%);
  color: var(--og-quiet);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.origin-demand-today-mark {
  position: absolute;
  top: -3px;
  width: 2px;
  height: 28px;
  background: var(--og-gold);
  transform: translateX(-50%);
}
.origin-demand-dot {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  background: var(--og-line-strong);
  box-sizing: border-box;
}
.origin-demand-dot.is-sm { width: 8px; height: 8px; }
.origin-demand-dot.is-md { width: 12px; height: 12px; }
.origin-demand-dot.is-lg { width: 16px; height: 16px; }
.origin-demand-dot.is-decision {
  background: transparent;
  border: 2px solid var(--og-gold);
  box-shadow: 0 0 0 2px rgba(198, 161, 91, 0.18);
}
.origin-demand-list { margin-top: 0.35rem; }
.origin-demand-row {
  padding: 0.7rem 0;
  border-top: 1px solid var(--og-line);
}
.origin-demand-row:first-child { border-top: 0; }
.origin-demand-row.is-decision .origin-demand-row-head {
  color: var(--og-gold);
  font-weight: 500;
}
.origin-demand-row-head {
  font-size: 14px;
  color: var(--og-ivory);
}
.origin-demand-row-names {
  margin-top: 0.25rem;
  color: var(--og-quiet);
  font-size: 13px;
  line-height: 1.4;
}
.origin-demand-show-all { margin-top: 0.75rem; }
.origin-calendar-context {
  margin: 0.75rem 0 0;
  color: var(--og-quiet);
  font-size: 13px;
}
.origin-earlier-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
  padding: 0.75rem 0;
  border-top: 1px solid var(--og-line);
  font-size: 14px;
}
.origin-earlier-row:first-child { border-top: 0; }
.origin-status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0.2rem 0.7rem;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 500;
}
.origin-status-pill.is-done {
  background: #2A2418;
  color: var(--og-gold);
}
.origin-status-pill.is-open {
  background: var(--og-tile);
  color: var(--og-ivory-2);
}
.origin-status-pill.is-closed {
  background: var(--og-tile);
  color: var(--og-muted);
}
.origin-follow-up {
  padding: 1rem 0;
  border-top: 1px solid var(--og-line);
}
.origin-follow-up:first-child { border-top: 0; }

.origin-today-bottombar {
  display: none;
}

/* —— Account gate —— */
.origin-account-gate {
  max-width: 520px;
  margin: 2rem auto;
  padding: 1.6rem 1.5rem;
  background: var(--og-card);
  border: 1px solid var(--og-line);
  border-radius: 18px;
}
.origin-account-gate-copy {
  margin: 0 0 1.15rem;
  color: var(--og-text);
  font-size: 16px;
  line-height: 1.5;
}
.origin-account-gate-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}
.origin-signin-notice {
  margin: 0 0 1rem;
  padding: 1rem 1.1rem;
  background: var(--og-card);
  border: 1px solid var(--og-line);
  border-radius: 14px;
  color: var(--og-text);
}
.origin-signin-notice-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 0.75rem;
}

/* Hotel index may load origin.css without Origin body class — keep notice readable. */
.origin-signin-notice .origin-btn {
  min-height: 40px;
}

/* —— Motion —— */
@keyframes origin-radar-sweep {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes origin-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.25; }
}
@keyframes origin-pulse {
  0%, 100% { opacity: 0.55; r: 4; }
  50% { opacity: 1; r: 5.5; }
}
@keyframes origin-bar-drift {
  0% { transform: translateX(-10%); }
  50% { transform: translateX(160%); }
  100% { transform: translateX(-10%); }
}
@keyframes origin-fade-in {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}
.origin-fade-in {
  animation: origin-fade-in 0.45s ease both;
}

@media (prefers-reduced-motion: reduce) {
  .origin-radar.is-active .origin-radar-sweep,
  .origin-radar.is-active .origin-radar-pulse,
  .origin-pulse-dot,
  .origin-progress-active::before,
  .origin-modal-bar > span,
  .origin-fade-in {
    animation: none !important;
  }
  .origin-radar.is-active .origin-radar-sweep { opacity: 0.5; }
}

/* —— Responsive —— */
@media (max-width: 1000px) {
  .origin-hero-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .origin-how-grid,
  .origin-cards-3,
  .origin-cards-2 {
    grid-template-columns: 1fr;
  }
  .origin-modal-split {
    grid-template-columns: 1fr;
  }
  .origin-modal-aside {
    border-inline-end: 0;
    border-bottom: 1px solid var(--og-line);
  }
  .origin-decision-card {
    grid-template-columns: 1fr;
  }
  .origin-figure-tiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .origin-shell,
  .origin-app,
  body.origin-today .origin-today-layout {
    width: calc(100% - 32px);
  }
  body.origin-today .origin-today-layout {
    display: block;
    padding-bottom: 5.5rem;
  }
  .origin-today-nav { display: none; }
  .origin-today-phone-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin: 0 0 1rem;
    padding: 0.35rem 0;
  }
  .origin-today-phone-header .origin-wordmark-text {
    font-size: 14px;
    letter-spacing: 0.18em;
  }
  .origin-today-phone-header .origin-page-sign-out {
    flex: 0 0 auto;
    min-height: 40px;
    padding: 0 0.85rem;
    font-size: 13px;
  }
  .origin-today-bottombar {
    position: fixed;
    inset-inline: 0;
    bottom: 0;
    z-index: 30;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    background: var(--og-panel-low);
    border-top: 1px solid var(--og-line);
    padding: 0.35rem 0.25rem calc(0.35rem + env(safe-area-inset-bottom, 0));
  }
  .origin-today-bottombar a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
    min-height: 52px;
    color: var(--og-quiet);
    text-decoration: none;
    font-size: 11px;
    font-weight: 500;
  }
  .origin-today-bottombar a.is-active { color: var(--og-gold); }
  .origin-form.origin-scan-bar,
  .origin-scan-bar {
    flex-direction: column;
  }
  .origin-follow-actions.origin-follow-actions-stack .origin-btn[data-follow-answer="yes"],
  .origin-follow-actions.origin-follow-actions-stack .origin-btn[data-follow="yes"] {
    width: 100%;
  }
  .origin-follow-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.55rem;
    width: 100%;
  }
  body.origin-today,
  body.origin-report,
  body.origin-public {
    overflow-x: hidden;
  }
}

@media (max-width: 640px) {
  .origin-figure-tiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .origin-stat-figure { font-size: 48px; }
  .origin-tile-pair { grid-template-columns: 1fr; }
}

/* —— Spaces / team / invite —— */
.origin-modal-card--small {
  width: min(460px, 100%);
  padding: 1.75rem 1.75rem 1.5rem;
  box-sizing: border-box;
}
.origin-modal-card--small > .origin-label:first-child {
  margin-top: 0;
}
@media (max-width: 480px) {
  .origin-modal-card--small {
    padding: 1.25rem;
  }
  .origin-modal-card--small .origin-invite-actions {
    flex-direction: column;
  }
  .origin-modal-card--small .origin-invite-actions .origin-btn {
    width: 100%;
  }
}
.origin-space-switcher {
  margin: 0 0.35rem 0.85rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.origin-space-switcher-label {
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--og-gold);
}
.origin-space-select {
  width: 100%;
  background: var(--og-inner);
  color: var(--og-ivory);
  border: 1px solid var(--og-line);
  border-radius: 10px;
  padding: 0.55rem 0.65rem;
  font-family: var(--og-font-sans);
  font-size: 13px;
}
.origin-nav-team {
  margin: 0 0 0.85rem;
  padding: 0.75rem 0.15rem 0.35rem;
  border-top: 1px solid var(--og-line);
}
.origin-team-member,
.origin-team-pending {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  margin: 0.35rem 0;
  font-size: 13px;
  color: var(--og-muted);
}
.origin-team-email {
  color: var(--og-ivory);
  word-break: break-all;
}
.origin-team-role {
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--og-quiet);
}
.origin-verified-tag {
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--og-ground);
  background: var(--og-gold);
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
}
.origin-team-note {
  margin: 0.55rem 0;
  font-size: 12px;
  color: var(--og-quiet);
  line-height: 1.4;
}
.origin-team-section {
  margin-top: 1.5rem;
}
.origin-answered-by {
  margin: 0.35rem 0 0;
  font-size: 14px;
  color: var(--og-quiet);
}
.origin-invite-label {
  display: block;
  margin: 0.85rem 0 0.35rem;
  font-size: 12px;
  color: var(--og-muted);
}
.origin-invite-input {
  width: 100%;
  box-sizing: border-box;
  background: var(--og-inner);
  color: var(--og-ivory);
  border: 1px solid var(--og-line);
  border-radius: 10px;
  padding: 0.7rem 0.85rem;
  font-family: var(--og-font-sans);
  font-size: 15px;
}
.origin-invite-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 1rem;
}
.origin-join-main {
  max-width: 560px;
  margin: 2rem auto 4rem;
  padding: 0 1rem;
}
.origin-join-card h1 {
  font-family: var(--og-font-serif);
  font-weight: 300;
  font-size: 28px;
  letter-spacing: -0.02em;
  margin: 0.35rem 0 1rem;
  color: var(--og-ivory);
}
.origin-btn-text {
  background: none;
  border: none;
  color: var(--og-gold);
  font-family: var(--og-font-sans);
  font-size: 12px;
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
}


/* —— Language switch —— */
.origin-lang-switch {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-family: var(--og-font-sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: var(--og-quiet);
}
.origin-lang-sep {
  color: var(--og-line-strong);
  user-select: none;
}
.origin-lang-btn {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--og-muted);
  cursor: pointer;
  padding: 0.15rem 0.2rem;
  font: inherit;
  letter-spacing: 0.08em;
}
.origin-lang-btn:hover,
.origin-lang-btn.is-active {
  color: var(--og-gold);
}
.origin-topbar .origin-lang-switch-slot {
  margin-inline-start: auto;
  margin-inline-end: 0.85rem;
}
.origin-today-nav .origin-lang-switch {
  margin: 0.75rem 0 1rem;
}
html:lang(ar) .origin-lang-switch {
  font-family: var(--og-font-ar);
}

/* Arabic pages: keep URL / email / phone entry LTR */
:lang(ar) input[type="url"],
:lang(ar) input[type="email"],
:lang(ar) input[type="tel"],
:lang(ar) input[inputmode="tel"] {
  direction: ltr !important;
  text-align: left !important;
  unicode-bidi: isolate;
}
:lang(ar) input[type="url"]::placeholder,
:lang(ar) input[type="email"]::placeholder,
:lang(ar) input[type="tel"]::placeholder,
:lang(ar) input[inputmode="tel"]::placeholder {
  direction: ltr;
  text-align: left;
  unicode-bidi: plaintext;
}

/* ≤480px: language switch on its own row; Sign in as compact link — no horizontal overflow */
@media (max-width: 480px) {
  .origin-topbar {
    flex-wrap: wrap;
    row-gap: 0.45rem;
    column-gap: 0.75rem;
    max-width: 100%;
  }
  .origin-topbar .origin-wordmark {
    flex: 1 1 auto;
    min-width: 0;
  }
  .origin-topbar .origin-wordmark-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .origin-topbar > a.origin-btn.origin-btn-secondary,
  .origin-topbar > .origin-btn.origin-btn-secondary {
    flex: 0 0 auto;
    margin-inline-start: auto;
    min-height: auto;
    padding: 0.2rem 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: var(--og-gold);
    font-size: 13px;
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 2px;
  }
  .origin-topbar > a.origin-btn.origin-btn-secondary:hover,
  .origin-topbar > .origin-btn.origin-btn-secondary:hover {
    background: transparent;
    border-color: transparent;
    color: var(--og-gold-hover);
  }
  .origin-topbar .origin-lang-switch-slot {
    flex: 1 0 100%;
    order: 3;
    margin-inline: 0;
    margin-block: 0;
  }
  .origin-topbar .origin-lang-switch {
    display: inline-flex;
    width: 100%;
    justify-content: flex-start;
  }
  html:lang(ar) .origin-topbar .origin-lang-switch {
    justify-content: flex-start;
  }
}



/* Local ads plan page */
.origin-ads-panel {
  max-width: 36rem;
}
.origin-ads-title {
  margin: 0 0 1rem;
  font-family: var(--og-font-serif);
  font-weight: 400;
  font-size: clamp(1.6rem, 4vw, 2rem);
  line-height: 1.2;
}
.origin-ads-benefits {
  margin: 0 0 1.25rem;
  padding-inline-start: 1.15rem;
  color: var(--og-ink);
  line-height: 1.55;
}
.origin-ads-benefits li {
  margin: 0.35rem 0;
}
.origin-ads-price {
  margin: 0 0 1rem;
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--og-ink);
}
.origin-ads-note {
  margin: 0.65rem 0 0;
  color: var(--og-muted);
  font-size: 0.92rem;
}
.origin-ads-banner {
  margin: 0 0 1rem;
  padding: 0.7rem 0.9rem;
  border: 1px solid var(--og-line-strong);
  border-radius: 10px;
  background: rgba(198, 161, 91, 0.12);
  color: var(--og-ink);
  font-weight: 500;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 1rem;
}
.origin-ads-banner-text {
  flex: 1 1 12rem;
  min-width: 0;
}
.origin-ads-banner-trial-ending {
  border-color: #c6a15b;
  background: rgba(198, 161, 91, 0.22);
}
.origin-ads-banner-request {
  background: rgba(198, 161, 91, 0.1);
}
.origin-ads-keep-plan {
  flex: 0 0 auto;
}
.origin-ads-last-plan {
  margin: 0.75rem 0 0;
}
.origin-ads-subscribe {
  max-width: 36rem;
  margin-top: 1rem;
}
.origin-ads-subscribe-title {
  margin: 0 0 1rem;
  font-family: var(--og-font-serif);
  font-weight: 400;
  font-size: clamp(1.25rem, 3vw, 1.55rem);
  line-height: 1.25;
}
.origin-ads-period-toggle {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.55rem;
  margin: 0 0 1.15rem;
}
.origin-ads-period-btn {
  appearance: none;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2rem;
  text-align: start;
  border: 1px solid var(--og-line-strong);
  border-radius: 10px;
  background: transparent;
  color: var(--og-ink);
  padding: 0.7rem 0.8rem;
  cursor: pointer;
  font: inherit;
  min-width: 0;
}
.origin-ads-period-btn.is-active {
  border-color: #c6a15b;
  background: rgba(198, 161, 91, 0.16);
}
.origin-ads-period-price {
  font-weight: 600;
  font-size: 0.95rem;
}
.origin-ads-period-badge {
  font-size: 0.8rem;
  color: var(--og-gold);
  font-weight: 500;
}
.origin-ads-subscribe-form label {
  margin-top: 0.65rem;
}
.origin-ads-subscribe-form .origin-consent {
  margin-top: 1rem;
}
.origin-ads-subscribe-status {
  margin: 0.5rem 0;
}
@media (max-width: 420px) {
  .origin-ads-period-toggle {
    grid-template-columns: 1fr;
  }
}

/* Terms (public) */
body.origin-terms .origin-terms-main {
  max-width: 40rem;
  padding-block: 1.5rem 2.5rem;
}
.origin-terms-draft {
  margin: 0 0 1.25rem;
  padding: 0.65rem 0.85rem;
  border: 1px solid #c6a15b;
  border-radius: 10px;
  background: rgba(198, 161, 91, 0.16);
  color: var(--og-ivory);
  font-weight: 500;
}
.origin-terms-title {
  margin: 0 0 1rem;
  font-family: var(--og-font-serif);
  font-weight: 400;
  font-size: clamp(1.6rem, 4vw, 2rem);
  line-height: 1.2;
}
.origin-terms-list {
  margin: 0;
  padding-inline-start: 1.15rem;
  color: var(--og-text);
  line-height: 1.55;
}
.origin-terms-list li {
  margin: 0.55rem 0;
}
.origin-terms-list a {
  color: var(--og-gold);
}
.origin-owner-banner {
  margin: 0 0 1rem;
  padding: 0.55rem 0.85rem;
  border-radius: 8px;
  background: rgba(26, 26, 26, 0.06);
  color: var(--og-muted);
  font-size: 0.9rem;
}

/* Local ads plan — round 2 */
.origin-ads-active {
  max-width: 52rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.origin-ads-basis {
  margin: 0;
  line-height: 1.45;
}
.origin-ads-week-strip {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr));
  gap: 0.65rem;
  margin: 0.25rem 0 0.5rem;
}
.origin-ads-week-tile {
  border: 1px solid var(--og-line-strong);
  border-radius: 10px;
  padding: 0.65rem 0.7rem;
  background: rgba(255, 255, 255, 0.55);
  min-width: 0;
}
.origin-ads-week-tile.type-fill { border-color: #c6a15b; background: rgba(198, 161, 91, 0.12); }
.origin-ads-week-tile.type-event_capture { border-color: #5b7fc6; background: rgba(91, 127, 198, 0.1); }
.origin-ads-week-tile.type-steady { border-color: #7a8f6e; background: rgba(122, 143, 110, 0.12); }
.origin-ads-week-tile.type-protect_rate,
.origin-ads-week-tile.type-unknown { opacity: 0.85; }
.origin-ads-first-run {
  border: 1px solid #c6a15b;
  background: rgba(198, 161, 91, 0.18);
  border-radius: 10px;
  padding: 0.75rem 0.9rem;
  margin: 0 0 0.65rem;
}
.origin-ads-first-run-text {
  margin: 0;
  color: var(--og-ink);
  font-size: 0.95rem;
  line-height: 1.4;
  font-weight: 500;
}
.origin-ads-week-dates,
.origin-ads-week-type,
.origin-ads-week-event,
.origin-ads-week-spend {
  margin: 0 0 0.25rem;
  font-size: 0.85rem;
  line-height: 1.3;
  word-break: break-word;
}
.origin-ads-week-type { font-weight: 600; }
.origin-ads-week-marks {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin-top: 0.45rem;
}
.origin-ads-mark {
  appearance: none;
  border: 1px solid var(--og-line-strong);
  background: transparent;
  border-radius: 6px;
  padding: 0.2rem 0.4rem;
  font-size: 0.72rem;
  cursor: pointer;
  color: var(--og-ink);
}
.origin-ads-mark.is-active {
  background: var(--og-ink);
  color: #fff;
  border-color: var(--og-ink);
}
.origin-ads-budget-bar {
  display: flex;
  height: 0.65rem;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(26, 26, 26, 0.08);
  margin: 0.6rem 0;
}
.origin-ads-budget-bar .seg-brand { background: #1a1a1a; }
.origin-ads-budget-bar .seg-event { background: #5b7fc6; }
.origin-ads-budget-bar .seg-fill { background: #c6a15b; }
.origin-ads-budget-bar .seg-steady { background: #7a8f6e; }
.origin-ads-budget-bar .seg-rest { background: rgba(26, 26, 26, 0.18); }
.origin-ads-budget-legend {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.9rem;
}
.origin-ads-budget-legend li {
  margin: 0.25rem 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
}
.origin-ads-budget-legend .dot {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  display: inline-block;
}
.origin-ads-budget-legend .dot.seg-brand { background: #1a1a1a; }
.origin-ads-budget-legend .dot.seg-event { background: #5b7fc6; }
.origin-ads-budget-legend .dot.seg-fill { background: #c6a15b; }
.origin-ads-budget-legend .dot.seg-steady { background: #7a8f6e; }
.origin-ads-budget-legend .dot.seg-rest { background: rgba(26, 26, 26, 0.35); }
.origin-ads-budget-add {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.5rem;
}
.origin-ads-budget-add input,
.origin-ads-field input {
  min-width: 0;
  flex: 1 1 10rem;
  padding: 0.45rem 0.6rem;
  border: 1px solid var(--og-line-strong);
  border-radius: 8px;
  font: inherit;
}
.origin-ads-tag {
  display: inline-block;
  margin-inline-start: 0.25rem;
  font-size: 0.72rem;
  color: var(--og-muted);
  font-weight: 500;
}
.origin-ads-track {
  display: inline-block;
  max-width: 100%;
  overflow-wrap: anywhere;
  font-size: 0.8rem;
}
.origin-ads-line {
  margin: 0.4rem 0;
  padding: 0.45rem 0;
  border-bottom: 1px solid rgba(26, 26, 26, 0.08);
}
.origin-ads-line-text {
  margin: 0 0 0.3rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.origin-ads-line-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  justify-content: space-between;
}
.origin-ads-chars {
  font-size: 0.75rem;
  color: var(--og-muted);
}
.origin-ads-channel-title {
  margin: 0.75rem 0 0.25rem;
  font-weight: 600;
  font-size: 0.9rem;
}
.origin-ads-field {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  margin: 0.65rem 0;
}
.origin-ads-va-list {
  border: none;
  margin: 0.5rem 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
  gap: 0.35rem;
}
.origin-ads-va {
  display: flex;
  gap: 0.4rem;
  align-items: flex-start;
  font-size: 0.9rem;
}
.origin-ads-agency-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* Local ads Phase A — photos + pack */
.origin-ads-pack-bar,
.origin-ads-photos,
.origin-ads-pushed {
  min-width: 0;
  max-width: 100%;
}
.origin-ads-pack-bar {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.origin-ads-pack-status {
  margin: 0;
  font-size: 0.9rem;
  color: var(--og-muted);
  line-height: 1.4;
}
.origin-ads-pack-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}
.origin-ads-pack-agency {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  min-width: 0;
}
.origin-ads-pack-agency-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}
.origin-ads-pack-link {
  font-size: 0.8rem;
  overflow-wrap: anywhere;
  word-break: break-word;
  max-width: 100%;
  direction: ltr;
}
.origin-ads-photos-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  margin: 0.5rem 0;
}
.origin-ads-photos-meta {
  margin: 0 0 0.5rem;
  font-size: 0.85rem;
  color: var(--og-muted);
  line-height: 1.4;
}
.origin-ads-rights {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
  margin: 0.65rem 0;
  font-size: 0.9rem;
  line-height: 1.35;
}
.origin-ads-rights input {
  margin-top: 0.2rem;
  flex-shrink: 0;
}
.origin-ads-photo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(8.5rem, 1fr));
  gap: 0.65rem;
  margin: 0.75rem 0 0;
  list-style: none;
  padding: 0;
}
.origin-ads-photo-item {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.origin-ads-photo-thumb {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid var(--og-line-strong);
  background: rgba(26, 26, 26, 0.06);
  display: block;
}
.origin-ads-photo-meta {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 0;
}
.origin-ads-photo-cat {
  appearance: none;
  width: 100%;
  max-width: 100%;
  border: 1px solid var(--og-line-strong);
  border-radius: 6px;
  background: transparent;
  font: inherit;
  font-size: 0.78rem;
  padding: 0.3rem 0.4rem;
  color: var(--og-ink);
  cursor: pointer;
}
.origin-ads-photo-quality {
  font-size: 0.72rem;
  color: var(--og-muted);
}
.origin-ads-photo-quality.is-warn {
  color: #8a5a1a;
}
.origin-ads-website-picker {
  margin: 0.65rem 0 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.origin-ads-website-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(6.5rem, 1fr));
  gap: 0.5rem;
  max-height: 16rem;
  overflow: auto;
}
.origin-ads-website-item {
  min-width: 0;
}
.origin-ads-website-item label {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  font-size: 0.75rem;
  cursor: pointer;
  min-width: 0;
}
.origin-ads-website-item img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 6px;
  border: 1px solid var(--og-line-strong);
}
.origin-ads-logo-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(26, 26, 26, 0.08);
}
.origin-ads-logo-preview {
  width: 4rem;
  height: 4rem;
  object-fit: contain;
  border-radius: 8px;
  border: 1px solid var(--og-line-strong);
  background: #fff;
}
.origin-ads-week-status {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 600;
  margin: 0 0 0.4rem;
  padding: 0.15rem 0.45rem;
  border-radius: 6px;
  background: rgba(26, 26, 26, 0.08);
}
.origin-ads-week-status.is-ready { background: rgba(122, 143, 110, 0.22); }
.origin-ads-week-status.is-building { background: rgba(91, 127, 198, 0.18); }
.origin-ads-week-status.is-needs_photos { background: rgba(198, 161, 91, 0.22); }
.origin-ads-week-status.is-waiting_for_credits { background: rgba(26, 26, 26, 0.1); }
.origin-ads-missing-hint {
  margin: 0 0 0.65rem;
  font-size: 0.9rem;
  line-height: 1.4;
  color: #6b4a12;
}
.origin-ads-week-media {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin: 0.75rem 0;
  min-width: 0;
}
.origin-ads-carousel {
  display: flex;
  gap: 0.5rem;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  max-width: 100%;
  padding-bottom: 0.25rem;
}
.origin-ads-carousel img {
  flex: 0 0 min(72%, 14rem);
  width: min(72%, 14rem);
  max-width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid var(--og-line-strong);
  scroll-snap-align: start;
  background: rgba(26, 26, 26, 0.06);
}
.origin-ads-story {
  width: min(100%, 10rem);
  max-width: 100%;
  aspect-ratio: 9 / 16;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid var(--og-line-strong);
  background: rgba(26, 26, 26, 0.06);
  display: block;
}
.origin-ads-videos {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(8.5rem, 1fr));
  gap: 0.5rem;
  min-width: 0;
}
.origin-ads-videos video {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 9 / 16;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid var(--og-line-strong);
  background: #111;
}
.origin-ads-media-label {
  margin: 0 0 0.3rem;
  font-size: 0.8rem;
  font-weight: 600;
}
.origin-ads-week-download {
  margin-top: 0.35rem;
}
.origin-ads-file-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@media (max-width: 420px) {
  .origin-ads-photo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .origin-ads-videos {
    grid-template-columns: 1fr 1fr;
  }
  .origin-ads-carousel img {
    flex-basis: 78%;
    width: 78%;
  }
}
.origin-ads-results-card .origin-ads-results-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  margin: 0.65rem 0;
}
@media (max-width: 420px) {
  .origin-ads-results-card .origin-ads-results-fields {
    grid-template-columns: 1fr;
  }
  .origin-ads-week-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* —— Google presence card (Today) —— */
.origin-google-card {
  display: grid;
  gap: 1rem;
}
.origin-google-card h3 {
  margin-bottom: 0;
}
.origin-google-not-connected {
  margin: 0;
}
.origin-google-health {
  display: grid;
  gap: 0.45rem;
}
.origin-google-health-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.35rem 0.75rem;
}
.origin-google-health-value {
  font-family: var(--og-font-serif);
  font-size: 1.35rem;
  font-weight: 400;
  color: var(--og-text);
  font-variant-numeric: tabular-nums;
}
.origin-google-health-line {
  margin: 0;
  font-size: 0.92rem;
  color: var(--og-quiet);
}
.origin-google-rivals {
  margin-top: 0.35rem;
  display: grid;
  gap: 0.35rem;
}
.origin-google-rival-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.5rem 0.75rem;
  align-items: baseline;
  padding-block: 0.3rem;
  border-top: 1px solid var(--og-line);
}
.origin-google-rival-row.is-you .origin-google-rival-name {
  color: var(--og-gold);
}
.origin-google-rival-name {
  min-width: 0;
  overflow-wrap: anywhere;
}
.origin-google-rival-meta {
  font-variant-numeric: tabular-nums;
  color: var(--og-quiet);
  white-space: nowrap;
}
.origin-google-reviews {
  display: grid;
  gap: 0.85rem;
}
.origin-google-review {
  display: grid;
  gap: 0.55rem;
  padding: 0.85rem 0 0;
  border-top: 1px solid var(--og-line);
}
.origin-google-review:first-of-type {
  border-top: none;
  padding-top: 0;
}
.origin-google-review-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.75rem;
}
.origin-google-stars {
  display: inline-flex;
  gap: 0.1rem;
  letter-spacing: 0.02em;
  line-height: 1;
}
.origin-google-star {
  color: rgba(198, 161, 91, 0.28);
  font-size: 1rem;
}
.origin-google-star.is-on {
  color: var(--og-gold);
}
.origin-google-review-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.65rem;
  font-size: 0.9rem;
  color: var(--og-quiet);
}
.origin-google-author-block {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
}
.origin-google-author-photo {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
  flex: 0 0 auto;
}
.origin-google-author-initial {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(198, 161, 91, 0.18);
  color: var(--og-gold);
  font-size: 0.85rem;
  font-weight: 600;
  flex: 0 0 auto;
}
.origin-google-author {
  color: var(--og-text);
  text-decoration: none;
}
a.origin-google-author:hover {
  text-decoration: underline;
}
.origin-google-attribution {
  margin: 0;
  font-size: 0.82rem;
  color: var(--og-quiet);
}
.origin-google-attribution a {
  color: var(--og-quiet);
}
.origin-google-visit-date {
  color: var(--og-quiet);
}
.origin-google-hidden-drafts {
  margin: 0;
  font-size: 0.9rem;
  color: var(--og-quiet);
}
.origin-google-gbp-block {
  display: grid;
  gap: 0.45rem;
  justify-items: start;
}
.origin-google-gbp-block .origin-lead {
  margin: 0;
}
.origin-google-rivals-wrap {
  display: grid;
  gap: 0.45rem;
  justify-items: start;
  margin-top: 0.25rem;
}
.origin-google-review-text {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.45;
  color: var(--og-text);
  overflow-wrap: anywhere;
}
.origin-google-draft {
  display: block;
  width: 100%;
  box-sizing: border-box;
  min-height: 6.5rem;
  margin: 0;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--og-line-strong);
  border-radius: 8px;
  background: var(--og-inner);
  color: var(--og-ivory);
  font: inherit;
  line-height: 1.45;
  resize: vertical;
}
.origin-google-review-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.origin-google-review-error {
  margin: 0;
  color: #e8a090;
  font-size: 13px;
}
.origin-google-listing-list {
  list-style: none;
  margin: 0.35rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.4rem;
}
.origin-google-listing-line {
  margin: 0;
  padding-inline-start: 0.75rem;
  border-inline-start: 3px solid var(--og-line-strong);
  font-size: 0.92rem;
  color: var(--og-quiet);
  overflow-wrap: anywhere;
}
.origin-google-listing-line.is-red {
  border-inline-start-color: #c45c4a;
  color: #e8a090;
}
.origin-google-listing-line.is-warn {
  border-inline-start-color: var(--og-gold);
}
.origin-google-public-note {
  display: grid;
  gap: 0.55rem;
  justify-items: start;
}
.origin-google-public-note .origin-lead {
  margin: 0;
}
.origin-google-approved {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.35rem 0.75rem;
  margin: 0;
  padding-top: 0.35rem;
  border-top: 1px solid var(--og-line);
}
.origin-google-approved strong {
  font-family: var(--og-font-serif);
  font-size: 1.25rem;
  font-weight: 400;
  font-variant-numeric: tabular-nums;
}
.origin-google-listing-line-report {
  margin: 0 0 0.75rem;
  font-size: 0.95rem;
  color: var(--og-text);
}
@media (max-width: 420px) {
  .origin-google-review-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .origin-google-review-actions .origin-btn {
    width: 100%;
  }
  .origin-google-rival-row {
    grid-template-columns: 1fr;
    gap: 0.15rem;
  }
  .origin-google-public-note .origin-btn {
    width: 100%;
  }
}
.origin-ads-print .origin-today-nav,
.origin-ads-print .origin-today-bottombar,
.origin-ads-print .origin-today-phone-header,
.origin-ads-print .origin-page-sign-out,
.origin-ads-print .origin-ads-week-marks,
.origin-ads-print .origin-ads-regen,
.origin-ads-print .origin-ads-settings,
.origin-ads-print .origin-ads-copy,
.origin-ads-print .origin-ads-photos,
.origin-ads-print .origin-ads-pack-rebuild,
.origin-ads-print .origin-lang-switch-slot {
  display: none !important;
}
@media print {
  .origin-today-nav,
  .origin-today-bottombar,
  .origin-today-phone-header,
  .origin-page-sign-out,
  .origin-ads-week-marks,
  .origin-ads-regen,
  .origin-ads-settings,
  .origin-ads-copy,
  .origin-lang-switch-slot {
    display: none !important;
  }
  .origin-ads-active { max-width: none; }
  body { background: #fff; }
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
