/* Dominyk story enhancement: isolated from the uploaded landing bundle. */

.dominyk-story-computer-item { position: relative; }

.dominyk-story-computer-item .dominyk-computer-mobile-preview { background: #15110f; }

.dominyk-story-computer-item .dominyk-computer-mobile-preview img,
.dominyk-story-computer-media img { object-fit: cover; object-position: 50% 52%; }

.dominyk-story-computer-media { isolation: isolate; background: #15110f; }

.dominyk-story-computer-media::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  content: "";
  background: linear-gradient(180deg, rgba(12, 9, 8, 0.04), rgba(12, 9, 8, 0.28));
  mix-blend-mode: multiply;
}

.dominyk-story-computer-media img { position: relative; z-index: 0; }

.dominyk-story-control {
  position: relative;
  transition: opacity 180ms cubic-bezier(0.23, 1, 0.32, 1), transform 180ms cubic-bezier(0.23, 1, 0.32, 1);
}

.dominyk-story-control:focus-visible {
  outline: 2px solid rgba(244, 244, 239, 0.72);
  outline-offset: 6px;
  border-radius: 4px;
}

.dominyk-story-control[data-dominyk-story-active="false"] { opacity: 0.62; }
.dominyk-story-control[data-dominyk-story-active="true"] { opacity: 1; transform: translateX(0.12rem); }
.dominyk-story-control[data-dominyk-story-active="true"] h4 { color: var(--raw-neutral-light-white-2-primary, #f4f4ef); }
.dominyk-story-control[data-dominyk-story-active="true"]::before { opacity: 1; }

.dominyk-story-media-card[data-dominyk-story-active="true"] { opacity: 1 !important; filter: none; transform: translateY(0) scale(1); }
.dominyk-story-media-card[data-dominyk-story-active="false"] { opacity: 0.18 !important; filter: saturate(0.72); transform: translateY(0) scale(0.985); }
.dominyk-story-media-card { transition: opacity 240ms cubic-bezier(0.23, 1, 0.32, 1), transform 240ms cubic-bezier(0.23, 1, 0.32, 1), filter 240ms cubic-bezier(0.23, 1, 0.32, 1); }

.dominyk-story-computer-item [data-dominyk-story-description] { max-width: 32rem; }

.dominyk-story-mobile-preview {
  margin-top: 1rem;
  background: #101010;
  border: 1px solid rgba(244, 244, 239, 0.12);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
}

.dominyk-story-mobile-preview img { object-position: 50% 50%; }

/* New module visual language: restrained signal, no generic card chrome. */
.dominyk-module-visual {
  position: relative;
  display: grid;
  min-height: 100%;
  width: 100%;
  overflow: hidden;
  place-items: center;
  color: rgba(244, 244, 239, 0.84);
  background: #101010;
  isolation: isolate;
}

.dominyk-story-media-card .dominyk-module-visual { min-height: 31rem; aspect-ratio: 4 / 3; }
.dominyk-story-mobile-preview .dominyk-module-visual { position: absolute; inset: 0; }
.dominyk-module-visual::before { position: absolute; inset: 0; z-index: -1; content: ""; opacity: 0.68; }

.dominyk-module-visual-caption {
  position: absolute;
  right: 1.25rem;
  bottom: 1.1rem;
  z-index: 3;
  color: rgba(244, 244, 239, 0.56);
  font: 500 0.58rem/1.2 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: 0.16em;
}

.dominyk-module-visual-glyph {
  position: relative;
  z-index: 2;
  display: grid;
  width: 5.5rem;
  height: 5.5rem;
  place-items: center;
  border: 1px solid rgba(244, 244, 239, 0.52);
  border-radius: 50%;
  color: #f4f4ef;
  font: 300 3.8rem/1 Georgia, serif;
  box-shadow: 0 0 0 12px rgba(244, 244, 239, 0.03), 0 0 70px rgba(255, 109, 43, 0.18);
}

.dominyk-module-speakme .dominyk-module-visual { background: radial-gradient(circle at 48% 45%, rgba(255, 119, 51, 0.2), transparent 34%), #15110f; }
.dominyk-module-speakme .dominyk-module-visual::before { background: repeating-radial-gradient(ellipse at center, transparent 0 28px, rgba(255, 137, 76, 0.18) 29px 30px, transparent 31px 60px); transform: rotate(-14deg) scale(1.5); }
.dominyk-module-speakme .dominyk-module-visual-glyph { border-color: rgba(255, 140, 83, 0.85); color: #ffad79; }
.dominyk-module-speakme .dominyk-module-orbit { position: absolute; width: 17rem; height: 6rem; border: 1px solid rgba(255, 140, 83, 0.34); border-radius: 50%; transform: rotate(-24deg); }
.dominyk-module-speakme .dominyk-module-orbit-a { transform: rotate(42deg); }
.dominyk-module-speakme .dominyk-module-orbit-b { width: 10rem; height: 24rem; transform: rotate(52deg); }

.dominyk-module-claw .dominyk-module-visual { background: radial-gradient(circle at center, rgba(218, 207, 175, 0.16), transparent 36%), #111211; }
.dominyk-module-claw .dominyk-module-visual::before { background: linear-gradient(rgba(223, 211, 176, 0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(223, 211, 176, 0.08) 1px, transparent 1px); background-size: 28px 28px; mask-image: radial-gradient(circle at center, black, transparent 72%); }
.dominyk-module-claw .dominyk-module-visual-glyph { color: #e5d9b9; border-color: rgba(229, 217, 185, 0.72); }
.dominyk-module-claw .dominyk-module-claw-grid { position: absolute; width: 12rem; height: 12rem; border: 1px solid rgba(229, 217, 185, 0.24); transform: rotate(45deg); box-shadow: 0 0 0 2rem rgba(229, 217, 185, 0.02), 0 0 0 4rem rgba(229, 217, 185, 0.02); }

.dominyk-module-bots .dominyk-module-visual { background: radial-gradient(circle at center, rgba(144, 174, 255, 0.12), transparent 42%), #10141e; }
.dominyk-module-bots .dominyk-module-visual::before { background: linear-gradient(120deg, transparent 0 48%, rgba(132, 161, 255, 0.14) 49% 50%, transparent 51%), linear-gradient(40deg, transparent 0 48%, rgba(132, 161, 255, 0.14) 49% 50%, transparent 51%); }
.dominyk-module-bot-node { position: absolute; z-index: 2; padding: 0.55rem 0.7rem; border: 1px solid rgba(169, 191, 255, 0.46); border-radius: 2px; color: #cbd7ff; background: rgba(16, 20, 30, 0.88); font: 600 0.62rem/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: 0.12em; }
.dominyk-module-bot-node.node-a { transform: translate(-6.5rem, -3.5rem); }
.dominyk-module-bot-node.node-b { transform: translate(5.5rem, -0.5rem); }
.dominyk-module-bot-node.node-c { transform: translate(-5rem, 3.4rem); }
.dominyk-module-bot-line { position: absolute; width: 12rem; height: 1px; background: rgba(169, 191, 255, 0.38); }
.dominyk-module-bot-line.line-a { transform: rotate(22deg); }
.dominyk-module-bot-line.line-b { transform: rotate(-34deg); }

.dominyk-module-awake .dominyk-module-visual { background: radial-gradient(circle at 50% 46%, rgba(244, 207, 126, 0.2), transparent 25%), #14130f; }
.dominyk-module-awake .dominyk-module-visual::before { background: repeating-linear-gradient(0deg, transparent 0 17px, rgba(244, 207, 126, 0.08) 18px 19px); transform: skewY(-8deg) scale(1.4); }
.dominyk-module-awake .dominyk-module-sun { width: 8rem; height: 8rem; border: 1px solid rgba(244, 207, 126, 0.86); border-radius: 50%; box-shadow: 0 0 0 1rem rgba(244, 207, 126, 0.04), 0 0 80px rgba(244, 207, 126, 0.2); }
.dominyk-module-awake .dominyk-module-awake-line { position: absolute; width: 20rem; height: 1px; background: linear-gradient(90deg, transparent, rgba(244, 207, 126, 0.6), transparent); transform: rotate(-12deg); }
.dominyk-module-awake .dominyk-module-visual-glyph { position: absolute; width: 3rem; height: 3rem; border: 0; color: #f4cf7e; font-size: 2.4rem; box-shadow: none; }

.dominyk-module-security .dominyk-module-visual { background: radial-gradient(circle at center, rgba(255, 98, 64, 0.18), transparent 32%), #140e0d; }
.dominyk-module-security .dominyk-module-visual::before { background: repeating-linear-gradient(110deg, transparent 0 17px, rgba(255, 97, 67, 0.08) 18px 19px); }
.dominyk-module-security-mark { position: relative; z-index: 2; color: #ff8b70; font: 600 clamp(2.8rem, 7vw, 6.5rem)/0.9 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: -0.08em; }
.dominyk-module-security-mark::before,
.dominyk-module-security-mark::after { position: absolute; inset: 0; content: attr(data-text); color: #ff4d3b; pointer-events: none; opacity: 0; }
.dominyk-module-security-mark::before { clip-path: polygon(0 8%, 100% 0, 100% 34%, 0 43%); transform: translateX(-0.12rem); }
.dominyk-module-security-mark::after { clip-path: polygon(0 58%, 100% 49%, 100% 100%, 0 92%); transform: translateX(0.14rem); }
.dominyk-module-security-teams { position: absolute; top: calc(50% + 4.5rem); color: rgba(255, 185, 164, 0.64); font: 500 0.65rem/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: 0.14em; }

@media (prefers-reduced-motion: no-preference) {
  .dominyk-story-control[data-dominyk-story-active="true"] h4 { animation: dominyk-story-title-in 220ms cubic-bezier(0.23, 1, 0.32, 1) both; }
  .dominyk-module-security-mark::before { animation: dominyk-security-shard-a 2.8s ease-in-out infinite; }
  .dominyk-module-security-mark::after { animation: dominyk-security-shard-b 2.8s 180ms ease-in-out infinite; }
  .dominyk-module-speakme .dominyk-module-orbit { animation: dominyk-orbit-breathe 5s ease-in-out infinite alternate; }
}

@keyframes dominyk-story-title-in { from { opacity: 0.72; transform: translateX(-0.18rem); } to { opacity: 1; transform: translateX(0); } }
@keyframes dominyk-security-shard-a { 0%, 76%, 100% { opacity: 0; transform: translateX(-0.12rem); } 82% { opacity: 0.9; transform: translateX(-0.4rem) skewX(-8deg); } 88% { opacity: 0.3; transform: translateX(0.16rem) skewX(3deg); } }
@keyframes dominyk-security-shard-b { 0%, 73%, 100% { opacity: 0; transform: translateX(0.14rem); } 80% { opacity: 0.75; transform: translateX(0.42rem) skewX(8deg); } 87% { opacity: 0.24; transform: translateX(-0.18rem) skewX(-3deg); } }
@keyframes dominyk-orbit-breathe { from { transform: rotate(42deg) scale(0.96); opacity: 0.45; } to { transform: rotate(48deg) scale(1.04); opacity: 0.9; } }

@media (max-width: 1023px) {
  .dominyk-story-computer-item .dominyk-computer-mobile-preview { min-height: 280px; }
  .dominyk-story-computer-item .dominyk-computer-mobile-preview img { object-position: 50% 48%; }
  .dominyk-story-media-card .dominyk-module-visual { min-height: 0; }
  .dominyk-module-visual-caption { right: 0.8rem; bottom: 0.75rem; font-size: 0.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  .dominyk-story-media-card, .dominyk-story-control { transition: none; }
  .dominyk-story-control[data-dominyk-story-active="true"] h4,
  .dominyk-module-security-mark::before,
  .dominyk-module-security-mark::after,
  .dominyk-module-speakme .dominyk-module-orbit { animation: none; }
}


.dominyk-module-banner-image {
  position: relative;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 31rem;
  object-fit: cover;
  object-position: center;
  background: #12151c;
  transition: transform 420ms cubic-bezier(0.23, 1, 0.32, 1), filter 420ms cubic-bezier(0.23, 1, 0.32, 1);
}

.dominyk-story-media-card[data-dominyk-story-active="true"] .dominyk-module-banner-image { transform: scale(1); filter: saturate(1); }
.dominyk-story-media-card[data-dominyk-story-active="false"] .dominyk-module-banner-image { transform: scale(1.015); filter: saturate(0.68) brightness(0.72); }
.dominyk-story-mobile-preview .dominyk-module-banner-image { min-height: 0; height: 100%; }

.dominyk-ace-brand-overlay {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 3;
  display: inline-flex;
  gap: 0.55rem;
  align-items: center;
  padding: 0.35rem 0.55rem 0.35rem 0.38rem;
  border: 1px solid rgba(244, 244, 239, 0.26);
  border-radius: 999px;
  color: rgba(244, 244, 239, 0.92);
  background: rgba(10, 12, 16, 0.76);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  font: 600 0.62rem/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dominyk-ace-brand-overlay img { width: 1.45rem; height: 1.45rem; border-radius: 0.35rem; object-fit: cover; }
.dominyk-story-mobile-preview .dominyk-ace-brand-overlay { top: 0.7rem; left: 0.7rem; }

@media (prefers-reduced-motion: reduce) {
  .dominyk-module-banner-image { transition: none; }
}
