/*
 * DoyouKnowa white design system (2026-10 redesign).
 * Loaded by Code Engine snippet "White design system" only on pages listed
 * in dyk_white_page_ids(); those pages get body.dyk-white.dyk-white-v1.
 * Page markup lives in each page's <!-- wp:html --> block inside .dyk-page.
 *
 * Tokens are scoped to .dyk-page / body.dyk-white so they never clash with the
 * older dark-theme --dyk-* variables set in :root by snippet 26.
 */

body.dyk-white,
.dyk-page {
  --dyk-w-navy: #1A233C;
  --dyk-w-ink: #18213D;
  --dyk-w-btn: #C8431F;
  --dyk-w-btn-hover: #B23A1A;
  --dyk-w-soft: #F5F7FA;
  --dyk-w-line: #E6E9F0;
  --dyk-w-white: #FFFFFF;
  --dyk-w-muted: #4E5670;
  --dyk-w-accent: #B23A1A;
  --dyk-w-dot: #E05033;
  --dyk-w-peach: #F2876B;
  --dyk-w-tint: #EEF1F6;
  --dyk-w-blush: #FDECE7;
  --dyk-w-field: #C9CDD9;
  --dyk-w-on-navy: #D5D8E2;
  --dyk-w-navy-line: #2A3350;
  --dyk-w-footer: #131A2D;
  --dyk-w-display: 'Funnel Display', Arial, sans-serif;
  --dyk-w-body: 'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

/* ---------- Page canvas: undo the dark theme on these pages ---------- */
html:has(body.dyk-white.dyk-white-v1),
body.dyk-white.dyk-white-v1 {
  background: #FFFFFF !important;
}
/* Blocksy stretches the content area to the viewport; pages end at their footer. */
body.dyk-white.dyk-white-v1 #main-container { min-height: 0 !important; }
body.dyk-white.dyk-white-v1 #main-container .site-main { flex-grow: 0; min-height: 0; }

.dyk-page {
  font-family: var(--dyk-w-body);
  color: var(--dyk-w-ink);
  background: var(--dyk-w-white);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
/* Blocksy constrains every .entry-content child to the content width; the
   page sections handle their own widths, so let the page span the screen. */
.entry-content > .dyk-page,
.entry-content.is-layout-constrained > .dyk-page {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.dyk-page blockquote { border: 0; padding: 0; margin: 0; font-style: normal; background: none; quotes: none; }
.dyk-page blockquote::before, .dyk-page blockquote::after { content: none; }
.dyk-page *,
.dyk-page *::before,
.dyk-page *::after { box-sizing: border-box; }
.dyk-page :where(h1, h2, h3, h4, p, ul, ol, dl, dd, figure, blockquote) { margin: 0; }
/* The theme colours headings and paragraphs directly; inherit ours instead. */
.dyk-page :where(h1, h2, h3, h4, h5, p, li, dt, dd, blockquote, figcaption) { color: inherit; }
.dyk-page :where(h1, h2, h3, h4, h5, button, input, textarea, select, summary) { font-family: inherit; text-transform: none; }
.dyk-page :where(ul, ol) { padding: 0; list-style: none; }
.dyk-page img { max-width: 100%; height: auto; display: block; }
.dyk-page a { color: var(--dyk-w-ink); }
.dyk-page a:hover { color: var(--dyk-w-accent); }
.dyk-page :focus-visible { outline: 2px solid var(--dyk-w-ink); outline-offset: 2px; }
.dyk-page svg { flex-shrink: 0; }
.dyk-page [hidden] { display: none !important; }
.dyk-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- Layout ---------- */
.dyk-sec { padding: 96px 24px; }
.dyk-sec--hero { padding: 80px 24px 72px; }
.dyk-sec--tight { padding: 40px 24px 48px; border-bottom: 1px solid var(--dyk-w-line); }
.dyk-sec--flush { padding-top: 0; }
.dyk-sec--soft { background: var(--dyk-w-soft); }
.dyk-sec--navy { background: var(--dyk-w-navy); color: var(--dyk-w-white); }
.dyk-sec--center { text-align: center; }
.dyk-wrap { max-width: 1200px; margin: 0 auto; display: flex; flex-direction: column; gap: 40px; }
.dyk-wrap--narrow { max-width: 820px; align-items: center; gap: 20px; }
.dyk-wrap--mid { max-width: 1040px; }
.dyk-stack { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.dyk-stack--lg { gap: 20px; }
.dyk-intro { max-width: 720px; display: flex; flex-direction: column; gap: 12px; }
.dyk-split { display: flex; flex-wrap: wrap; gap: 48px 64px; align-items: center; flex-direction: row; }
.dyk-split--top { align-items: flex-start; }
.dyk-split > * { flex: 1 1 420px; min-width: 0; }
.dyk-split > .dyk-grow { flex: 1.3 1 460px; }
.dyk-grid { display: grid; gap: 24px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.dyk-grid--wide { grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); }
.dyk-grid--sm { gap: 20px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.dyk-row-between { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; }

/* ---------- Type ---------- */
.dyk-eyebrow { font-size: 13px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--dyk-w-accent); }
.dyk-sec--navy .dyk-eyebrow, .dyk-card--navy .dyk-eyebrow { color: var(--dyk-w-peach); }
.dyk-h1 { font-family: var(--dyk-w-display); font-weight: 700; font-size: clamp(38px, 5vw, 60px); line-height: 1.05; letter-spacing: -0.025em; }
.dyk-h2 { font-family: var(--dyk-w-display); font-weight: 700; font-size: clamp(30px, 3.5vw, 44px); line-height: 1.1; letter-spacing: -0.02em; }
.dyk-h2--sm { font-size: clamp(26px, 3vw, 36px); line-height: 1.15; }
.dyk-h3 { font-size: 21px; font-weight: 600; line-height: 1.3; }
.dyk-h3--sm { font-size: 18px; }
.dyk-h4 { font-size: 16px; font-weight: 600; }
.dyk-lead { font-size: 19px; line-height: 1.6; color: var(--dyk-w-muted); max-width: 560px; }
.dyk-body { font-size: 17px; line-height: 1.65; color: var(--dyk-w-muted); }
.dyk-text { font-size: 16px; line-height: 1.6; color: var(--dyk-w-muted); }
.dyk-small { font-size: 15px; line-height: 1.6; color: var(--dyk-w-muted); }
.dyk-sec--navy :is(.dyk-h1, .dyk-h2, .dyk-h3) { color: var(--dyk-w-white); }
.dyk-sec--navy :is(.dyk-body, .dyk-text, .dyk-small, .dyk-lead) { color: var(--dyk-w-on-navy); }
.dyk-link { font-size: 16px; font-weight: 600; color: var(--dyk-w-accent) !important; text-decoration: none; }
.dyk-link:hover { text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Buttons ---------- */
.dyk-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 52px; padding: 0 24px; border: 0; border-radius: 12px !important;
  background: var(--dyk-w-btn) !important; color: var(--dyk-w-white) !important;
  font-family: var(--dyk-w-body); font-size: 16px; font-weight: 600; line-height: 1.2; white-space: nowrap;
  text-decoration: none !important; cursor: pointer; transition: background .15s ease; box-shadow: none; text-transform: none; letter-spacing: 0;
}
.dyk-btn:hover, .dyk-btn:focus-visible { background: var(--dyk-w-btn-hover) !important; color: var(--dyk-w-white) !important; }
.dyk-btn--lg { min-height: 56px; padding: 0 28px; font-size: 17px; }
.dyk-btn--block { width: 100%; }
.dyk-btn--ghost { background: transparent !important; color: var(--dyk-w-ink) !important; border: 1.5px solid var(--dyk-w-ink); min-height: 48px; padding: 0 20px; }
.dyk-btn--ghost:hover, .dyk-btn--ghost:focus-visible { background: var(--dyk-w-soft) !important; color: var(--dyk-w-ink) !important; }
.dyk-btn[disabled] { opacity: .65; cursor: wait; }

/* ---------- Ticks / pills / chips ---------- */
.dyk-ticks { display: flex; flex-wrap: wrap; gap: 10px 24px; font-size: 15px; font-weight: 500; }
.dyk-ticks li { display: flex; gap: 8px; align-items: center; }
.dyk-ticks--col { flex-direction: column; gap: 16px; font-size: 17px; font-weight: 400; line-height: 1.5; color: var(--dyk-w-on-navy); }
.dyk-ticks--col li { align-items: flex-start; }
.dyk-ticks--col svg { margin-top: 2px; }
.dyk-pill { align-self: flex-start; display: inline-block; font-size: 12px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--dyk-w-muted); background: var(--dyk-w-tint); border-radius: 999px; padding: 5px 12px; line-height: 1.4; }
.dyk-pill--peach { background: var(--dyk-w-peach); color: var(--dyk-w-navy); }
.dyk-pill--ink { background: var(--dyk-w-ink); color: var(--dyk-w-white); font-size: 13px; padding: 6px 14px; }
.dyk-chips { display: flex; flex-wrap: wrap; gap: 12px; }
.dyk-chip { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 20px; border: 1px solid var(--dyk-w-line); border-radius: 999px; text-decoration: none !important; font-size: 15px; font-weight: 500; color: var(--dyk-w-ink) !important; background: var(--dyk-w-white); transition: border-color .15s ease, background .15s ease; }
.dyk-chip:hover, .dyk-chip:focus-visible { border-color: var(--dyk-w-ink); background: var(--dyk-w-soft); }

/* ---------- Cards ---------- */
.dyk-card { background: var(--dyk-w-white); border: 1px solid var(--dyk-w-line); border-radius: 20px; padding: 32px; display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.dyk-card--soft { background: var(--dyk-w-soft); border-color: transparent; }
.dyk-card--plain { border-color: transparent; }
.dyk-card--navy { background: var(--dyk-w-navy); border-color: transparent; color: var(--dyk-w-white); }
.dyk-card--navy .dyk-text, .dyk-card--navy .dyk-small { color: var(--dyk-w-on-navy); }
.dyk-sec--navy .dyk-card:not(.dyk-card--navy) { color: var(--dyk-w-ink); }
.dyk-sec--navy .dyk-card:not(.dyk-card--navy) :is(.dyk-text, .dyk-small, .dyk-body) { color: var(--dyk-w-muted); }
.dyk-sec--navy .dyk-card:not(.dyk-card--navy) :is(.dyk-h2, .dyk-h3) { color: var(--dyk-w-ink); }
.dyk-card--lg { padding: 36px; gap: 14px; }
.dyk-card--xl { border-radius: 24px; padding: 40px; gap: 16px; }
.dyk-card-foot { padding-top: 14px; border-top: 1px solid var(--dyk-w-line); font-size: 15px; line-height: 1.55; }
.dyk-card--navy .dyk-card-foot { border-top-color: var(--dyk-w-navy-line); }
.dyk-card-title { display: flex; align-items: center; gap: 10px; font-size: 24px; font-weight: 600; line-height: 1.25; }
.dyk-num { width: 44px; height: 44px; border-radius: 50%; background: var(--dyk-w-navy); color: var(--dyk-w-white); display: inline-flex; align-items: center; justify-content: center; font-family: var(--dyk-w-display); font-weight: 700; font-size: 18px; flex-shrink: 0; }
.dyk-num--sm { width: 36px; height: 36px; font-family: var(--dyk-w-body); font-size: 14px; font-weight: 600; }
.dyk-num--xs { width: 30px; height: 30px; font-family: var(--dyk-w-body); font-size: 13px; font-weight: 600; }
.dyk-num--ring { background: transparent; border: 1.5px solid var(--dyk-w-field); color: var(--dyk-w-muted); }
.dyk-num--orange { background: var(--dyk-w-btn); }
.dyk-callout { display: flex; gap: 14px; align-items: flex-start; background: var(--dyk-w-white); border: 1px solid var(--dyk-w-line); border-radius: 16px; padding: 22px 24px; font-size: 15px; line-height: 1.6; color: var(--dyk-w-muted); }
.dyk-callout svg { margin-top: 1px; }
.dyk-cta-band { max-width: 1200px; margin: 0 auto; background: var(--dyk-w-navy); border-radius: 28px; padding: 56px 48px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; }
.dyk-cta-band .dyk-h2 { color: var(--dyk-w-white); }
.dyk-numbered { display: flex; flex-direction: column; gap: 14px; font-size: 17px; }
.dyk-numbered li { display: flex; gap: 14px; align-items: center; }
.dyk-ruled li { border-top: 2px solid var(--dyk-w-ink); padding-top: 20px; display: flex; flex-direction: column; gap: 8px; }
.dyk-ruled-num { font-size: 14px; font-weight: 600; color: var(--dyk-w-accent); }

/* ---------- Chat bubbles (illustrative) ---------- */
.dyk-chat { background: var(--dyk-w-soft); border-radius: 24px; padding: 28px; display: flex; flex-direction: column; gap: 14px; }
.dyk-chat-top { display: flex; align-items: center; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid var(--dyk-w-line); line-height: 1.3; }
.dyk-chat-badge { width: 40px; height: 40px; border-radius: 12px; background: var(--dyk-w-navy); color: var(--dyk-w-white); display: inline-flex; align-items: center; justify-content: center; font-family: var(--dyk-w-display); font-weight: 700; }
.dyk-msg { align-self: flex-start; max-width: 85%; background: var(--dyk-w-white); color: var(--dyk-w-ink); border: 1px solid var(--dyk-w-line); border-radius: 16px 16px 16px 4px; padding: 12px 16px; font-size: 15px; line-height: 1.5; }
.dyk-msg--me { align-self: flex-end; background: var(--dyk-w-navy); color: var(--dyk-w-white); border-color: transparent; border-radius: 16px 16px 4px 16px; }
.dyk-msg--lg { font-size: 17px; padding: 14px 20px; border: 0; border-radius: 18px 18px 18px 4px; }
.dyk-msg--lg.dyk-msg--right { align-self: flex-end; border-radius: 18px 18px 4px 18px; }

/* ---------- Home hero ---------- */
.dyk-hero-where { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; color: var(--dyk-w-muted); }
.dyk-search { margin-top: 8px; background: var(--dyk-w-white); border: 1px solid var(--dyk-w-line); border-radius: 18px; padding: 8px; display: flex; flex-wrap: wrap; gap: 8px; box-shadow: 0 12px 32px rgba(24,33,61,.10); }
.dyk-search-field { flex: 3 1 240px; min-width: 0; display: flex; flex-direction: column; gap: 2px; padding: 10px 14px; border-radius: 12px; background: var(--dyk-w-soft); font-size: 12px; font-weight: 600; letter-spacing: 0.02em; color: var(--dyk-w-muted); cursor: text; }
.dyk-search-field--sm { flex: 1 1 110px; }
.dyk-search-field input { border: 0 !important; background: transparent !important; padding: 4px 0 2px !important; margin: 0; font-family: inherit; font-size: 16px; font-weight: 400; letter-spacing: 0; color: var(--dyk-w-ink) !important; min-width: 0; width: 100%; box-shadow: none !important; outline: none; min-height: 0; height: auto; border-radius: 0 !important; }
.dyk-search-field:focus-within { outline: 2px solid var(--dyk-w-ink); outline-offset: 1px; }
.dyk-page .dyk-search-field input:focus, .dyk-page .dyk-search-field input:focus-visible { outline: none !important; box-shadow: none !important; }
.dyk-search-field input::placeholder { color: #6A7189; opacity: 1; }
.dyk-search .dyk-btn { flex: 1 1 160px; min-height: 60px; font-size: 17px; }
.dyk-hero-media { position: relative; }
.dyk-page .dyk-hero-photo { width: 100%; height: 540px; object-fit: cover; object-position: 50% 78%; border-radius: 28px; }
.dyk-match-card { position: absolute; left: -24px; bottom: 32px; width: 300px; max-width: 86%; background: var(--dyk-w-white); border-radius: 18px; padding: 18px; box-shadow: 0 16px 40px rgba(24,33,61,.16); display: flex; flex-direction: column; gap: 12px; }
.dyk-match-row { display: flex; align-items: center; gap: 12px; font-size: 14px; line-height: 1.35; }
.dyk-match-row span:last-child { flex: 1; }

/* Home hero: animated community-group thread (sequence engine in snippet 26:
   [data-sequence] container, [data-seq-at] steps, [data-seq-only] typing dots) */
.dyk-hero-panel { min-height: 460px; display: flex; flex-direction: column; justify-content: flex-start; gap: 16px; }
.dyk-split > .dyk-hero-copy { flex: 1.8 1 580px; }
.dyk-split > .dyk-hero-thread { flex: 0 1 360px; max-width: 360px; margin-left: auto; }
.dyk-hero-panel .dyk-thread { padding: 16px; border-radius: 16px; }
.dyk-hero-panel .dyk-thread-head strong { font-size: 14px; }
.dyk-hero-panel .dyk-thread-meta { font-size: 12px; }
.dyk-hero-panel .dyk-thread-logo { width: 32px; height: 32px; border-radius: 9px; font-size: 12px; }
.dyk-hero-panel .dyk-thread-msg { gap: 10px; margin-top: 10px; }
.dyk-hero-panel .dyk-thread-av { width: 28px; height: 28px; font-size: 12px; }
.dyk-hero-panel .dyk-thread-bubble { font-size: 13px; padding: 8px 12px; }
.dyk-hero-panel .dyk-thread-bubble strong { font-size: 12px; }
.dyk-hero-panel .dyk-thread-tile { margin-top: 12px; padding: 10px 12px; gap: 10px; }
.dyk-hero-panel .dyk-thread-tile-av { width: 34px; height: 34px; font-size: 14px; }
.dyk-hero-panel .dyk-thread-badge { font-size: 10px; min-height: 20px; padding: 2px 8px; }
.dyk-hero-panel .dyk-thread-caption { font-size: 13px; }
.dyk-hero-panel .dyk-thread { box-shadow: 0 16px 40px rgba(24,33,61,.14); border: 1px solid var(--dyk-w-line); }
.dyk-hero-panel .dyk-thread-caption { color: var(--dyk-w-muted); }
.dyk-thread { background: var(--dyk-w-white); border-radius: 20px; padding: 20px; box-shadow: 0 20px 44px rgba(0,0,0,.3); color: var(--dyk-w-ink); }
.dyk-thread-head { display: flex; align-items: center; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid var(--dyk-w-line); line-height: 1.3; }
.dyk-thread-head strong { font-family: var(--dyk-w-display); font-weight: 700; font-size: 16px; }
.dyk-thread-meta { font-size: 13px; color: var(--dyk-w-muted); }
.dyk-thread-logo { width: 40px; height: 40px; border-radius: 12px; background: var(--dyk-w-navy); color: var(--dyk-w-white); display: inline-flex; align-items: center; justify-content: center; font-family: var(--dyk-w-display); font-weight: 700; font-size: 14px; flex-shrink: 0; }
.dyk-thread-msg { display: flex; gap: 12px; align-items: flex-start; margin-top: 14px; }
.dyk-thread-av { width: 34px; height: 34px; border-radius: 50%; background: var(--dyk-w-navy); color: var(--dyk-w-white); display: inline-flex; align-items: center; justify-content: center; font-weight: 600; font-size: 14px; flex-shrink: 0; }
.dyk-thread-av--s { background: var(--dyk-w-btn); }
.dyk-thread-av--p { background: var(--dyk-w-muted); }
.dyk-thread-bubble { background: var(--dyk-w-soft); border-radius: 4px 16px 16px 16px; padding: 10px 14px; font-size: 15px; line-height: 1.45; color: var(--dyk-w-ink); }
.dyk-thread-bubble strong { display: block; font-size: 14px; font-weight: 600; margin-bottom: 2px; }
.dyk-thread-bubble b { font-weight: 600; }
.dyk-thread-dots { background: var(--dyk-w-soft); border-radius: 16px; padding: 13px 16px; display: flex; gap: 5px; align-self: center; }
.dyk-thread-dots i { width: 7px; height: 7px; border-radius: 50%; background: var(--dyk-w-muted); animation: dykThreadTyping 1.2s infinite; }
.dyk-thread-dots i:nth-child(2) { animation-delay: .2s; }
.dyk-thread-dots i:nth-child(3) { animation-delay: .4s; }
@keyframes dykThreadTyping { 0%, 60%, 100% { opacity: .3; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-3px); } }
.dyk-thread-tile { margin-top: 16px; border-radius: 14px; padding: 14px 16px; background: var(--dyk-w-blush); border: 1px solid rgba(200,67,31,.25); display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.dyk-thread-tile-av { width: 42px; height: 42px; border-radius: 50%; background: var(--dyk-w-btn); color: var(--dyk-w-white); display: inline-flex; align-items: center; justify-content: center; font-family: var(--dyk-w-display); font-weight: 700; flex-shrink: 0; }
.dyk-thread-tile-name { flex: 1; line-height: 1.3; font-size: 15px; }
.dyk-thread-tile-name strong { font-weight: 600; }
.dyk-thread-tile-name span { font-size: 13px; color: var(--dyk-w-accent); }
.dyk-thread-badge { display: inline-flex; align-items: center; min-height: 24px; padding: 2px 10px; border-radius: 999px; background: var(--dyk-w-btn); color: var(--dyk-w-white); font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.dyk-thread-caption { font-size: 15px; line-height: 1.5; color: var(--dyk-w-on-navy); padding: 0 4px; }
@media (prefers-reduced-motion: reduce) { .dyk-thread-dots i { animation: none; opacity: .6; } }

/* About: "We go where the recommendations already are" steps + animated thread */
.dyk-find-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: clamp(32px, 5vw, 64px); align-items: start; }
.dyk-bigsteps { display: flex; flex-direction: column; gap: 28px; }
.dyk-bigsteps li { display: flex; gap: 18px; align-items: flex-start; }
.dyk-bigsteps li > div { display: flex; flex-direction: column; gap: 4px; }
.dyk-thread-stage { background: var(--dyk-w-navy); border-radius: 24px; padding: 28px; display: flex; flex-direction: column; gap: 16px; min-height: 600px; }

/* About: founder card with small round photo (as on the original site) */
.dyk-founder { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 24px; align-items: center; background: var(--dyk-w-white); border: 1px solid var(--dyk-w-line); border-radius: 18px; padding: 24px 28px; }
.dyk-page .dyk-founder-av { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 3px var(--dyk-w-white), 0 0 0 5px var(--dyk-w-btn); flex-shrink: 0; }
.dyk-founder > div { flex: 1; min-width: 220px; line-height: 1.4; }
.dyk-founder-name { font-family: var(--dyk-w-display); font-size: 20px; font-weight: 700; }
.dyk-founder-role { color: var(--dyk-w-accent); font-weight: 600; font-size: 15px; }

/* Home search: postcode error */
.dyk-search-error { margin-top: -4px; font-size: 14px; font-weight: 500; color: #A3300F; }
.dyk-search-field.is-invalid { outline: 2px solid #A3300F; outline-offset: 1px; background: var(--dyk-w-blush); }

/* ---------- Comparison table ---------- */
.dyk-compare { background: var(--dyk-w-white); border: 1px solid var(--dyk-w-line); border-radius: 20px; overflow: hidden; }
.dyk-compare-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--dyk-w-line); font-size: 16px; line-height: 1.5; }
.dyk-compare-row > div { padding: 20px 24px; }
.dyk-compare-row > div:first-child { color: var(--dyk-w-muted); }
.dyk-compare-row > div:last-child { display: flex; gap: 10px; align-items: flex-start; }
.dyk-compare-row > div:last-child svg { margin-top: 2px; }
.dyk-compare-head { border-top: 0; font-size: 14px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
.dyk-compare-head > div:first-child { background: var(--dyk-w-soft); }
.dyk-compare-head > div:last-child { background: var(--dyk-w-navy); color: var(--dyk-w-white); }

/* ---------- Reviews ---------- */
.dyk-review { border: 1px solid var(--dyk-w-line); border-radius: 20px; padding: 36px; display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.dyk-stars { display: flex; gap: 4px; color: var(--dyk-w-dot); }
.dyk-quote { font-family: var(--dyk-w-display); font-size: 24px; line-height: 1.35; font-weight: 600; letter-spacing: -0.01em; }
.dyk-review-more { font-size: 15px; line-height: 1.6; color: var(--dyk-w-muted); display: flex; flex-direction: column; gap: 10px; }
.dyk-page .dyk-review-by { text-align: left; font-style: normal; margin-top: auto; display: flex; align-items: center; gap: 14px; font-size: 15px; line-height: 1.4; }
.dyk-avatar { width: 44px; height: 44px; border-radius: 50%; background: var(--dyk-w-blush); color: var(--dyk-w-accent); display: inline-flex; align-items: center; justify-content: center; font-weight: 600; flex-shrink: 0; }
.dyk-avatar--navy { background: var(--dyk-w-navy); color: var(--dyk-w-white); }
.dyk-textbtn { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0; border: 0; background: none; font-family: inherit; font-size: 15px; font-weight: 600; color: var(--dyk-w-ink); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.dyk-textbtn:hover { color: var(--dyk-w-accent); }
.dyk-dialog { width: min(920px, calc(100vw - 32px)); max-height: calc(100vh - 32px); border: 0; border-radius: 20px; padding: 24px; color: var(--dyk-w-ink); font-family: var(--dyk-w-body); }
.dyk-dialog::backdrop { background: rgba(19,26,45,.7); }
.dyk-dialog-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 16px; }
.dyk-dialog-head h3 { font-family: var(--dyk-w-display); font-size: 22px; font-weight: 700; margin: 0; }
.dyk-dialog-close { width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--dyk-w-soft); color: var(--dyk-w-ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.dyk-dialog-photos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 16px; }
.dyk-dialog-photos figure { margin: 0; position: relative; }
.dyk-dialog-photos img { width: 100%; height: auto; border-radius: 14px; }
.dyk-dialog-label { position: absolute; top: 12px; left: 12px; background: var(--dyk-w-white); color: var(--dyk-w-ink); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; border-radius: 999px; padding: 4px 12px; }
.dyk-dialog-label--after { background: var(--dyk-w-btn); color: var(--dyk-w-white); }
.dyk-dialog-note { margin: 14px 0 0; font-size: 14px; color: var(--dyk-w-muted); }

/* ---------- FAQs ---------- */
.dyk-tabs { margin-top: 12px; display: inline-flex; flex-wrap: wrap; justify-content: center; background: var(--dyk-w-soft); border-radius: 999px; padding: 4px; gap: 4px; }
.dyk-tab { min-height: 44px; padding: 0 22px; border: 0; border-radius: 999px; background: transparent; color: var(--dyk-w-ink); font-family: inherit; font-size: 15px; font-weight: 500; cursor: pointer; }
.dyk-tab[aria-selected="true"] { background: var(--dyk-w-navy); color: var(--dyk-w-white); font-weight: 600; }
.dyk-faq-layout { max-width: 1100px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 40px 56px; align-items: flex-start; }
.dyk-faq-nav { flex: 1 1 220px; display: flex; flex-direction: column; gap: 4px; font-size: 15px; position: sticky; top: 24px; }
.dyk-faq-nav-label { font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--dyk-w-muted); padding: 0 14px 8px; }
.dyk-faq-nav a { padding: 10px 14px; border-radius: 10px; text-decoration: none; }
.dyk-faq-nav a[aria-current="true"] { background: var(--dyk-w-soft); font-weight: 600; }
.dyk-faq-main { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 40px; }
.dyk-faq-group { display: flex; flex-direction: column; gap: 12px; scroll-margin-top: 24px; }
.dyk-faq-group[hidden] { display: none; }
.dyk-faq-group h2 { font-family: var(--dyk-w-display); font-size: 26px; font-weight: 700; line-height: 1.2; }
.dyk-faq { border: 1px solid var(--dyk-w-line); border-radius: 16px; padding: 4px 24px; overflow: hidden; }
.dyk-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 60px; padding: 8px 0; font-size: 17px; font-weight: 600; line-height: 1.4; }
.dyk-faq summary::-webkit-details-marker { display: none; }
.dyk-faq summary svg { transition: transform .2s ease; }
.dyk-faq[open] summary svg { transform: rotate(180deg); }
.dyk-faq-a { padding: 0 0 20px; font-size: 16px; line-height: 1.65; color: var(--dyk-w-muted); display: flex; flex-direction: column; gap: 10px; }
.dyk-faq-a a { font-weight: 500; }
.dyk-help { background: var(--dyk-w-soft); border-radius: 20px; padding: 32px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; }
.dyk-help-actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------- Contact / forms ---------- */
.dyk-contact-list { display: flex; flex-direction: column; margin-top: 8px; }
.dyk-contact-item { display: flex; gap: 16px; padding: 18px 0; border-top: 1px solid var(--dyk-w-line); }
.dyk-contact-item:last-child { border-bottom: 1px solid var(--dyk-w-line); }
.dyk-contact-item svg { margin-top: 2px; }
.dyk-form { background: var(--dyk-w-soft); border-radius: 24px; padding: 40px; display: flex; flex-direction: column; gap: 18px; position: relative; }
.dyk-form-title { font-family: var(--dyk-w-display); font-size: 26px; font-weight: 700; margin: 0 0 4px; }
.dyk-form-row { display: flex; flex-wrap: wrap; gap: 16px; }
.dyk-form-row > .dyk-field { flex: 1 1 180px; }
.dyk-field { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 500; min-width: 0; }
.dyk-page .dyk-field :is(input, textarea, select) { min-height: 50px; padding: 0 14px !important; border: 1px solid var(--dyk-w-field) !important; border-radius: 10px !important; background: var(--dyk-w-white) !important; color: var(--dyk-w-ink) !important; font-family: inherit; font-size: 16px; width: 100%; box-shadow: none !important; height: auto; margin: 0; }
.dyk-page .dyk-field textarea { padding: 12px 14px !important; min-height: 150px; resize: vertical; }
.dyk-page .dyk-field :is(input, textarea, select):focus { outline: 2px solid var(--dyk-w-ink); outline-offset: 1px; border-color: var(--dyk-w-ink) !important; }
.dyk-form-message { display: none; border-radius: 10px; padding: 12px 14px; font-size: 15px; line-height: 1.5; }
.dyk-form-message.is-visible { display: block; }
.dyk-form-message.is-success { background: #E7F4EC; color: #14532D; }
.dyk-form-message.is-error { background: var(--dyk-w-blush); color: #8A2A12; }
.dyk-form-fine { font-size: 13px; line-height: 1.5; color: var(--dyk-w-muted); }

/* ---------- About page pieces ---------- */
.dyk-mock { background: var(--dyk-w-white); border: 1px solid var(--dyk-w-line); border-radius: 18px; padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.dyk-mock-label { font-size: 12px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--dyk-w-muted); }
.dyk-mock-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; font-size: 15px; }
.dyk-mock-options span { border: 1px solid var(--dyk-w-line); border-radius: 10px; padding: 10px 14px; }
.dyk-mock-options .is-picked { border: 1.5px solid var(--dyk-w-ink); background: var(--dyk-w-tint); font-weight: 600; }
.dyk-mock-fields { display: flex; flex-wrap: wrap; gap: 8px; font-size: 15px; }
.dyk-mock-fields span { flex: 1 1 140px; background: var(--dyk-w-soft); border-radius: 10px; padding: 10px 14px; }
.dyk-mock-rows { margin-top: 8px; display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.dyk-mock-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; background: var(--dyk-w-soft); border-radius: 10px; padding: 12px 16px; }
.dyk-mock-row--hi { background: var(--dyk-w-blush); }
.dyk-page .dyk-pullquote { margin-top: 8px; padding: 24px 28px; background: var(--dyk-w-white); border-radius: 18px; font-size: 18px; line-height: 1.55; }
.dyk-page .dyk-pullquote footer { margin-top: 12px; font-size: 14px; font-weight: 600; color: var(--dyk-w-muted); }
.dyk-stat { font-family: var(--dyk-w-display); font-size: 28px; font-weight: 700; line-height: 1.2; }
.dyk-founder-photo { width: 100%; max-width: 360px; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 24px; }
.dyk-facts { margin-top: 8px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 16px; font-size: 15px; line-height: 1.5; }
.dyk-facts dt { font-weight: 600; }
.dyk-facts dd { margin: 0; color: var(--dyk-w-muted); }

/* ---------- Responsive ---------- */
@media (max-width: 760px) {
  .dyk-sec { padding: 64px 16px; }
  .dyk-sec--hero { padding: 48px 16px 56px; }
  .dyk-sec--tight { padding: 32px 16px 36px; }
  .dyk-sec--flush { padding-top: 0; }
  .dyk-wrap { gap: 32px; }
  .dyk-card, .dyk-card--lg, .dyk-review { padding: 24px; }
  .dyk-card--xl, .dyk-form { padding: 28px 20px; }
  .dyk-cta-band { padding: 40px 24px; border-radius: 22px; }
  .dyk-page .dyk-hero-photo { height: 380px; border-radius: 22px; }
  .dyk-hero-panel { min-height: 0; }
  .dyk-split > .dyk-hero-thread { max-width: none; margin-left: 0; }
  .dyk-thread { padding: 16px; }
  .dyk-thread-bubble { font-size: 14px; }
  .dyk-thread-stage { padding: 18px; min-height: 0; }
  .dyk-match-card { position: relative; left: auto; bottom: auto; width: auto; max-width: none; margin: -48px 16px 0; }
  .dyk-compare-row > div { padding: 16px; font-size: 15px; }
  .dyk-quote { font-size: 20px; }
  .dyk-faq { padding: 4px 18px; }
  .dyk-faq-nav { position: static; flex-direction: row; flex-wrap: nowrap; overflow-x: auto; gap: 8px; padding-bottom: 4px; }
  .dyk-faq-nav-label { display: none; }
  .dyk-faq-nav a { white-space: nowrap; border: 1px solid var(--dyk-w-line); border-radius: 999px; }
  .dyk-faq-nav { scrollbar-width: none; }
  .dyk-faq-nav::-webkit-scrollbar { display: none; }
  .dyk-tabs { flex-wrap: nowrap; max-width: 100%; }
  .dyk-tab { padding: 0 14px; font-size: 14px; white-space: nowrap; }
  .dyk-mock-options { grid-template-columns: 1fr 1fr; }
}

/* =====================================================================
 * Legal template (Terms, Privacy, Cookies, Security) and Hall of Fame
 * ===================================================================== */
.dyk-legal-top { background: var(--dyk-w-soft); border-bottom: 1px solid var(--dyk-w-line); padding: 64px 24px 0; }
.dyk-legal-top .dyk-wrap { gap: 16px; }
.dyk-legal-top .dyk-h1 { font-size: clamp(36px, 4.6vw, 52px); }
.dyk-legal-intro { max-width: 720px; }
.dyk-legal-date { font-size: 14px; color: var(--dyk-w-muted); }
.dyk-legal-tabs { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 0 28px; font-size: 15px; font-weight: 500; }
.dyk-legal-tabs a { padding: 12px 0; border-bottom: 3px solid transparent; text-decoration: none; color: var(--dyk-w-muted) !important; }
.dyk-legal-tabs a:hover { color: var(--dyk-w-ink) !important; }
.dyk-legal-tabs a[aria-current="page"] { border-bottom-color: var(--dyk-w-btn); color: var(--dyk-w-ink) !important; font-weight: 600; }
.dyk-legal-main { padding: 56px 24px 96px; }
.dyk-legal-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 260px minmax(0, 760px); gap: 40px 64px; align-items: start; }
.dyk-legal-toc { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 2px; font-size: 14px; max-height: calc(100vh - 48px); overflow-y: auto; }
.dyk-legal-toc-label { font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--dyk-w-muted); padding: 0 12px 10px; }
.dyk-legal-toc-links { display: flex; flex-direction: column; gap: 2px; }
.dyk-legal-toc-links a { padding: 8px 12px; border-radius: 8px; text-decoration: none; color: var(--dyk-w-muted) !important; line-height: 1.4; }
.dyk-legal-toc-links a:hover { color: var(--dyk-w-ink) !important; background: var(--dyk-w-soft); }
.dyk-legal-toc-links a[aria-current="true"] { background: var(--dyk-w-soft); color: var(--dyk-w-ink) !important; font-weight: 600; }
.dyk-legal-doc { min-width: 0; display: flex; flex-direction: column; gap: 40px; font-size: 16px; line-height: 1.75; color: #3A4260; }
.dyk-legal-summary { display: flex; gap: 14px; align-items: flex-start; background: var(--dyk-w-soft); border-radius: 16px; padding: 22px 24px; font-size: 15px; line-height: 1.6; color: var(--dyk-w-ink); }
.dyk-legal-summary svg { margin-top: 2px; }
.dyk-legal-summary strong { display: block; font-weight: 600; margin-bottom: 2px; }
.dyk-legal-summary p + p { margin-top: 8px; }
.dyk-legal-sec, .dyk-legal-doc--cmplz > div > h2, .dyk-legal-doc--cmplz h2 { scroll-margin-top: 24px; }
.dyk-legal-sec { display: flex; flex-direction: column; gap: 14px; padding-top: 32px; border-top: 1px solid var(--dyk-w-line); }
.dyk-legal-summary + .dyk-legal-sec { padding-top: 0; border-top: 0; }
.dyk-legal-doc h2 { font-family: var(--dyk-w-display); font-size: 26px; font-weight: 700; line-height: 1.25; letter-spacing: -0.01em; color: var(--dyk-w-ink); margin: 0; }
.dyk-legal-sec h2 span { color: var(--dyk-w-accent); }
.dyk-legal-doc h3 { font-size: 18px; font-weight: 600; line-height: 1.35; color: var(--dyk-w-ink); margin: 8px 0 0; }
.dyk-legal-doc h4 { font-size: 16px; font-weight: 600; color: var(--dyk-w-ink); margin: 4px 0 0; }
.dyk-legal-doc :is(ul, ol) { list-style: revert; padding-left: 22px; display: flex; flex-direction: column; gap: 8px; }
.dyk-legal-doc a { font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.dyk-legal-doc code { font-size: 14px; background: var(--dyk-w-soft); border-radius: 6px; padding: 2px 6px; }
.dyk-lg-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 16px; }
.dyk-lg-card { border: 1px solid var(--dyk-w-line); border-radius: 16px; padding: 20px 22px; display: flex; flex-direction: column; gap: 8px; font-size: 15px; line-height: 1.6; }
.dyk-lg-card h3 { margin: 0; font-size: 17px; }
.dyk-lg-card strong { color: var(--dyk-w-ink); font-weight: 600; }
.dyk-lg-card em { font-style: normal; color: var(--dyk-w-muted); }
.dyk-lg-card--ok { background: #F1F8F4; border-color: #CFE6D8; }
.dyk-lg-callout { border-left: 0; background: var(--dyk-w-blush); border-radius: 14px; padding: 16px 20px; color: var(--dyk-w-ink); font-size: 15px; line-height: 1.6; }
.dyk-lg-callout--muted { background: var(--dyk-w-soft); }
.dyk-lg-defs { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 12px; }
.dyk-lg-defs > div { border: 1px solid var(--dyk-w-line); border-radius: 12px; padding: 14px 16px; display: flex; flex-direction: column; gap: 2px; font-size: 15px; line-height: 1.5; }
.dyk-lg-defs strong { color: var(--dyk-w-ink); font-weight: 600; }
.dyk-lg-contact { display: inline-flex; flex-direction: column; gap: 2px; align-self: flex-start; background: var(--dyk-w-soft); border-radius: 12px; padding: 14px 18px; font-size: 15px; line-height: 1.5; }
.dyk-lg-contact strong { color: var(--dyk-w-ink); font-weight: 600; }
.dyk-page .dyk-lg-table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.5; margin: 0; border: 0; }
.dyk-page .dyk-lg-table :is(th, td) { text-align: left; vertical-align: top; padding: 12px 14px; border: 0; border-top: 1px solid var(--dyk-w-line); }
.dyk-page .dyk-lg-table th { width: 34%; font-weight: 600; color: var(--dyk-w-ink); background: none; }
.dyk-legal-ask { background: var(--dyk-w-navy); color: var(--dyk-w-white); border-radius: 20px; padding: 28px 32px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; line-height: 1.5; }
.dyk-legal-doc .dyk-legal-ask-h { font-family: var(--dyk-w-body); font-size: 18px; font-weight: 600; color: var(--dyk-w-white); }
.dyk-legal-ask p { font-size: 14px; color: var(--dyk-w-on-navy); }
.dyk-legal-doc .dyk-legal-ask-btn { display: inline-flex; align-items: center; min-height: 48px; padding: 0 20px; border-radius: 12px; background: var(--dyk-w-white); color: var(--dyk-w-ink) !important; text-decoration: none; font-weight: 600; }
.dyk-legal-doc .dyk-legal-ask-btn:hover { background: var(--dyk-w-soft); }
/* Complianz cookie statement inside the template */
.dyk-legal-doc--cmplz #cmplz-document, .dyk-legal-doc--cmplz .cmplz-document { max-width: none !important; margin: 0 !important; padding: 0 !important; font-size: 16px !important; line-height: 1.75 !important; color: #3A4260 !important; }
.dyk-legal-doc--cmplz h2 { margin: 24px 0 8px !important; padding-top: 32px; border-top: 1px solid var(--dyk-w-line); font-size: 26px !important; }
.dyk-legal-doc--cmplz p, .dyk-legal-doc--cmplz li { font-size: 16px !important; }
.dyk-legal-doc--cmplz table { width: 100%; font-size: 14px; }
.dyk-legal-doc--cmplz .dyk-legal-ask h2 { margin: 0 !important; padding: 0; border: 0; font-size: 18px !important; }
/* Hall of Fame */
.dyk-btn--onnavy { background: transparent !important; border: 1.5px solid var(--dyk-w-white); }
.dyk-btn--onnavy:hover, .dyk-btn--onnavy:focus-visible { background: rgba(255,255,255,.1) !important; }
.dyk-hof-shield { display: flex; justify-content: center; }
.dyk-hof-empty { border: 1.5px dashed var(--dyk-w-field); border-radius: 20px; padding: 56px 24px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; scroll-margin-top: 24px; }
@media (max-width: 900px) {
  .dyk-legal-grid { grid-template-columns: minmax(0, 1fr); }
  .dyk-legal-toc { position: static; max-height: none; border: 1px solid var(--dyk-w-line); border-radius: 16px; padding: 16px 8px; }
}
@media (max-width: 760px) {
  .dyk-legal-top { padding: 40px 16px 0; }
  .dyk-legal-main { padding: 32px 16px 64px; }
  .dyk-legal-doc h2 { font-size: 22px; }
  .dyk-legal-tabs { gap: 0 20px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .dyk-legal-tabs::-webkit-scrollbar { display: none; }
  .dyk-legal-ask { padding: 24px 20px; }
  .dyk-hof-shield { display: none; }
  .dyk-hof-empty { padding: 40px 20px; }
}

/* =====================================================================
 * Account pages: thank you, listing choices, forgot password, login, sign-up
 * ===================================================================== */
.dyk-acct-w { background: var(--dyk-w-soft); }
.dyk-acct-main { padding: 72px 24px 96px; }
.dyk-acct-col { max-width: 720px; margin: 0 auto; display: flex; flex-direction: column; gap: 24px; }
.dyk-acct-card { background: var(--dyk-w-white); border: 1px solid var(--dyk-w-line); border-radius: 24px; padding: 32px; display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.dyk-acct-card--wide { border-radius: 28px; padding: 48px; gap: 28px; }
.dyk-acct-card--narrow { border-radius: 28px; padding: 48px; }
.dyk-acct-head { display: flex; flex-direction: column; gap: 14px; }
.dyk-acct-head--center { align-items: center; text-align: center; }
.dyk-acct-tick { width: 64px; height: 64px; border-radius: 50%; background: var(--dyk-w-navy); display: inline-flex; align-items: center; justify-content: center; }
.dyk-page .dyk-acct-title { font-size: clamp(34px, 4.4vw, 46px); }
.dyk-acct-h { font-family: var(--dyk-w-display); font-size: 30px; font-weight: 700; line-height: 1.15; letter-spacing: -0.02em; color: var(--dyk-w-ink); }
.dyk-acct-icon { width: 52px; height: 52px; border-radius: 14px; background: var(--dyk-w-blush); display: inline-flex; align-items: center; justify-content: center; }
.dyk-acct-steps { display: flex; flex-direction: column; }
.dyk-acct-steps li { display: flex; gap: 16px; padding: 18px 0; border-top: 1px solid var(--dyk-w-line); line-height: 1.5; }
.dyk-acct-steps li:last-child { border-bottom: 1px solid var(--dyk-w-line); }
.dyk-acct-steps strong { font-weight: 600; }
.dyk-acct-sent { display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; padding: 8px 0; }
.dyk-acct-sent-icon { width: 48px; height: 48px; border-radius: 50%; background: #E7F4EC; color: #14532D; display: inline-flex; align-items: center; justify-content: center; font-size: 22px; font-weight: 700; }
.dyk-acct-back { font-size: 15px; font-weight: 600; color: var(--dyk-w-accent) !important; text-decoration: none; align-self: center; }
.dyk-acct-back:hover { text-decoration: underline; }
.dyk-acct-help { text-align: center; }
.dyk-page .pw-msg { font-size: 14px; line-height: 1.5; border-radius: 10px; }
.dyk-page .pw-msg:empty { display: none; }
.dyk-page .pw-msg.pw-err { background: var(--dyk-w-blush); color: #8A2A12; padding: 10px 12px; }
.dyk-page .pw-msg.pw-ok { background: #E7F4EC; color: #14532D; padding: 10px 12px; }
.dyk-callout { display: flex; gap: 14px; align-items: flex-start; background: var(--dyk-w-white); border: 1px solid var(--dyk-w-line); border-radius: 18px; padding: 20px 24px; font-size: 15px; line-height: 1.55; color: var(--dyk-w-muted); }
.dyk-callout svg { margin-top: 1px; }

/* Listing choices */
.dyk-consent-layout { display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-start; }
.dyk-page .dyk-consent-choices { flex: 1.2 1 440px; margin: 0; gap: 14px; }
.dyk-consent-preview { flex: 1 1 340px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.dyk-choice { display: flex; gap: 14px; align-items: flex-start; padding: 20px; border: 1px solid var(--dyk-w-line); border-radius: 16px; cursor: pointer; line-height: 1.5; transition: border-color .15s ease, background .15s ease; }
.dyk-choice strong { font-weight: 600; font-size: 17px; }
.dyk-choice:has(input:checked) { border: 2px solid var(--dyk-w-navy); background: var(--dyk-w-soft); padding: 19px; }
.dyk-choice--terms { background: var(--dyk-w-white); }
.dyk-choice--terms strong { font-size: 15px; }
.dyk-choice--terms:has(input:checked) { border: 1px solid var(--dyk-w-line); background: var(--dyk-w-white); padding: 20px; }
.dyk-page .dyk-choice input { width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--dyk-w-navy); flex-shrink: 0; }
.dyk-consent-status { font-size: 14px; font-weight: 600; min-height: 1px; }
.dyk-consent-status.is-ok { color: #14532D; }
.dyk-consent-status.is-error { color: #A3300F; }
.dyk-preview-row { display: flex; gap: 14px; align-items: center; line-height: 1.4; }
.dyk-preview-row strong { font-weight: 600; font-size: 17px; }
.dyk-preview-av { width: 52px; height: 52px; border-radius: 50%; background: var(--dyk-w-navy); color: var(--dyk-w-white); display: inline-flex; align-items: center; justify-content: center; font-family: var(--dyk-w-display); font-weight: 700; font-size: 20px; flex-shrink: 0; }
.dyk-preview-av--anon { background: var(--dyk-w-tint); }

/* Shared form bits */
.dyk-field-row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.dyk-field-row a { font-size: 14px; font-weight: 500; }
.dyk-pw-wrap, .dyk-signup-password-wrap { position: relative; }
.dyk-page .dyk-pw-wrap input { padding-right: 52px !important; }
.dyk-pw-toggle, .dyk-signup-password-toggle { position: absolute; top: 50%; right: 8px; width: 40px; height: 40px; transform: translateY(-50%); border: 0 !important; border-radius: 8px !important; background: transparent !important; color: var(--dyk-w-muted) !important; font-size: 17px; cursor: pointer; padding: 0 !important; box-shadow: none !important; }
.dyk-pw-toggle:hover, .dyk-signup-password-toggle:hover { background: var(--dyk-w-soft) !important; color: var(--dyk-w-ink) !important; }
.dyk-check { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; line-height: 1.5; cursor: pointer; }
.dyk-page .dyk-check input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--dyk-w-navy); flex-shrink: 0; }
.dyk-check a { font-weight: 600; }
.dyk-check--soft { background: var(--dyk-w-soft); border-radius: 12px; padding: 14px 16px; font-size: 14px; color: var(--dyk-w-muted); }
.dyk-visually-hidden { 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; white-space: nowrap !important; border: 0 !important; }

/* Login */
.dyk-login-card { max-width: 1040px; margin: 0 auto; background: var(--dyk-w-white); border: 1px solid var(--dyk-w-line); border-radius: 28px; overflow: hidden; display: flex; flex-wrap: wrap; }
.dyk-login-form { flex: 1 1 420px; min-width: 0; padding: 48px; display: flex; flex-direction: column; gap: 18px; }
.dyk-login-side { flex: 1 1 380px; min-width: 0; background: var(--dyk-w-navy); color: var(--dyk-w-white); padding: 48px; display: flex; flex-direction: column; gap: 24px; }
.dyk-login-perks { display: flex; flex-direction: column; gap: 20px; font-size: 15px; line-height: 1.5; color: var(--dyk-w-on-navy); }
.dyk-login-perks li { display: flex; gap: 14px; align-items: flex-start; }
.dyk-login-perks strong { color: var(--dyk-w-white); font-weight: 600; font-size: 16px; }
.dyk-login-status { display: none; border-radius: 10px; padding: 10px 12px; font-size: 14px; line-height: 1.5; }
.dyk-login-status.is-visible { display: block; }
.dyk-login-status.is-error { background: var(--dyk-w-blush); color: #8A2A12; }
.dyk-login-status.is-success { background: #E7F4EC; color: #14532D; }
.dyk-login-modal { position: fixed; inset: 0; z-index: 9999; background: rgba(19,26,45,.6); display: flex; align-items: center; justify-content: center; padding: 16px; }
.dyk-login-modal[hidden] { display: none !important; }
.dyk-login-modal-dialog { width: min(460px, 100%); background: var(--dyk-w-white); border-radius: 22px; padding: 32px; display: flex; flex-direction: column; gap: 12px; font-family: var(--dyk-w-body); color: var(--dyk-w-ink); }

/* Sign-up */
.dyk-signup-card { min-width: 0; background: var(--dyk-w-white); color: var(--dyk-w-ink); border-radius: 24px; padding: 36px; box-shadow: 0 24px 48px rgba(0,0,0,.18); scroll-margin-top: 24px; }
.dyk-signup-form { display: flex; flex-direction: column; gap: 16px; }
.dyk-sec--navy .dyk-signup-card :is(.dyk-small, .dyk-text, .dyk-body, .dyk-form-fine) { color: var(--dyk-w-muted); }
.dyk-sec--navy .dyk-signup-card a { color: var(--dyk-w-ink); }
.dyk-signup-form[hidden] { display: none !important; }
.dyk-signup-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.dyk-signup-field { position: relative; min-width: 0; display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 500; }
.dyk-signup-field--full { grid-column: 1 / -1; }
.dyk-page .dyk-signup-field :is(input, select) { width: 100%; height: 52px; margin: 0; padding: 0 44px 0 14px !important; border: 1px solid var(--dyk-w-field) !important; border-radius: 10px !important; background: var(--dyk-w-white) !important; color: var(--dyk-w-ink) !important; font-family: var(--dyk-w-body); font-size: 16px; font-weight: 400; box-shadow: none !important; }
.dyk-page .dyk-signup-field select { appearance: auto; }
.dyk-page .dyk-signup-field--password input { padding-right: 84px !important; }
.dyk-page .dyk-signup-field input::placeholder { color: #6A7189; opacity: 1; }
.dyk-page .dyk-signup-field :is(input, select):focus { outline: 2px solid var(--dyk-w-ink); outline-offset: 1px; border-color: var(--dyk-w-ink) !important; }
.dyk-page .dyk-signup-field.is-valid :is(input, select) { border-color: #2E8B57 !important; }
.dyk-page .dyk-signup-field.is-invalid :is(input, select) { border-color: #A3300F !important; background: #FFF8F6 !important; }
.dyk-field-status { position: absolute; top: 41px; right: 12px; z-index: 3; width: 22px; height: 22px; display: none; place-items: center; border-radius: 50%; font-size: 12px; font-weight: 700; line-height: 1; pointer-events: none; }
.dyk-signup-field--password .dyk-field-status { right: 52px; }
.dyk-signup-field.is-valid .dyk-field-status { display: grid; background: #2E8B57; color: #FFFFFF; }
.dyk-signup-field.is-invalid .dyk-field-status { display: grid; background: #A3300F; color: #FFFFFF; }
.dyk-field-error { display: none; margin: 2px 2px 0; color: #A3300F; font-size: 13px; font-weight: 500; line-height: 1.4; }
.dyk-signup-field.is-invalid .dyk-field-error { display: block; }
.dyk-page .dyk-signup-field input.dyk-combo-input { padding-right: 76px !important; cursor: pointer; }
.dyk-page .dyk-signup-field input.dyk-combo-input:focus { cursor: text; }
.dyk-combo-chevron { position: absolute; top: 43px; right: 14px; z-index: 2; width: 18px; height: 18px; color: var(--dyk-w-muted); pointer-events: none; transition: transform .15s ease; }
.dyk-signup-field.is-valid .dyk-combo-chevron, .dyk-signup-field.is-invalid .dyk-combo-chevron { right: 42px; }
.dyk-signup-field.is-open .dyk-combo-chevron { transform: rotate(180deg); }
.dyk-combo-list { position: absolute; top: 84px; left: 0; right: 0; z-index: 30; max-height: 296px; margin: 0; padding: 6px; overflow-y: auto; overscroll-behavior: contain; list-style: none; background: var(--dyk-w-white); border: 1px solid var(--dyk-w-line); border-radius: 12px; box-shadow: 0 18px 40px rgba(24,33,61,.16); }
.dyk-combo-list[hidden] { display: none; }
.dyk-combo-option { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; border-radius: 8px; color: var(--dyk-w-ink); font: 400 15px/1.3 var(--dyk-w-body); cursor: pointer; }
.dyk-combo-option.is-active { background: var(--dyk-w-soft); }
.dyk-combo-option[aria-selected="true"] { color: var(--dyk-w-accent); font-weight: 600; }
.dyk-combo-option[aria-selected="true"]::after { content: '\2713'; font-size: 13px; }
.dyk-combo-empty { padding: 10px 12px; color: var(--dyk-w-muted); font: 400 14px/1.3 var(--dyk-w-body); }
.dyk-signup-status { min-height: 1px; text-align: center; font-size: 14px; font-weight: 500; line-height: 1.5; }
.dyk-signup-status.is-error { color: #A3300F; }
.dyk-signup-status.is-success { color: #14532D; }
.dyk-signup-otp-intro { display: flex; flex-direction: column; gap: 8px; text-align: center; }
.dyk-signup-otp-boxes { display: flex; gap: 8px; justify-content: space-between; }
.dyk-page .dyk-signup-otp-boxes input.dyk-otp-box { flex: 1 1 0; min-width: 0; height: 60px; padding: 0 !important; text-align: center; font-size: 22px !important; font-weight: 600; }
.dyk-signup-otp-field .dyk-field-status { display: none !important; }
.dyk-signup-otp-resend { text-align: center; }
.dyk-signup-otp-resend-btn { border: 0 !important; background: transparent !important; padding: 0 !important; color: var(--dyk-w-accent) !important; text-decoration: underline; font: 600 14px var(--dyk-w-body); cursor: pointer; box-shadow: none !important; min-height: 0; }
.dyk-signup-otp-resend-btn:disabled { cursor: default; opacity: .6; text-decoration: none; }
.dyk-signup-otp-callout { padding: 14px 16px; border-radius: 12px; background: var(--dyk-w-soft); color: var(--dyk-w-muted); font-size: 14px; line-height: 1.5; text-align: center; display: flex; flex-direction: column; gap: 2px; }
.dyk-signup-otp-callout strong { color: var(--dyk-w-ink); font-weight: 600; }
.dyk-price { display: flex; align-items: baseline; gap: 6px; }
.dyk-price span:first-child { font-family: var(--dyk-w-display); font-size: 52px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.1; }
.dyk-price span:last-child { font-size: 16px; color: var(--dyk-w-muted); }
.dyk-card--navy .dyk-price span:last-child { color: var(--dyk-w-on-navy); }
.dyk-plan-list { display: flex; flex-direction: column; gap: 16px; font-size: 15px; line-height: 1.55; color: var(--dyk-w-muted); }
.dyk-plan-list li { display: flex; gap: 12px; align-items: flex-start; }
.dyk-plan-list svg { margin-top: 2px; }
.dyk-plan-list strong { color: var(--dyk-w-ink); font-weight: 600; }
.dyk-plan-premium { border: 2px solid var(--dyk-w-btn); }
@media (max-width: 760px) {
  .dyk-acct-main { padding: 40px 16px 64px; }
  .dyk-acct-card, .dyk-acct-card--wide, .dyk-acct-card--narrow { padding: 28px 20px; border-radius: 22px; }
  .dyk-login-form, .dyk-login-side { padding: 28px 20px; }
  .dyk-signup-card { padding: 24px 18px; }
  .dyk-signup-grid { grid-template-columns: minmax(0, 1fr); }
  .dyk-acct-h { font-size: 26px; }
  .dyk-price span:first-child { font-size: 44px; }
}

/* =====================================================================
 * Site header & footer (snippet 16 markup) on white pages
 * ===================================================================== */
body.dyk-white .dyk-site-header {
  font-family: var(--dyk-w-body);
  background: var(--dyk-w-white);
  border-bottom: 1px solid var(--dyk-w-line);
  color: var(--dyk-w-ink);
}
body.dyk-white .dyk-nav a,
body.dyk-white .dyk-nav-dropdown-toggle {
  font-family: var(--dyk-w-body) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: var(--dyk-w-ink) !important;
}
body.dyk-white .dyk-nav-muted { color: var(--dyk-w-muted) !important; font-weight: 500 !important; }
body.dyk-white .dyk-nav a:hover,
body.dyk-white .dyk-nav a:focus-visible,
body.dyk-white .dyk-nav a[aria-current="page"],
body.dyk-white .dyk-nav-dropdown:hover .dyk-nav-dropdown-toggle,
body.dyk-white .dyk-nav-dropdown-toggle:hover,
body.dyk-white .dyk-nav-dropdown-toggle:focus-visible { color: var(--dyk-w-accent) !important; }
body.dyk-white .dyk-nav a[aria-current="page"] { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 2px; }
body.dyk-white .dyk-nav-dropdown-menu { background: var(--dyk-w-white); border: 1px solid var(--dyk-w-line); box-shadow: 0 18px 40px rgba(24,33,61,.12); }
body.dyk-white .dyk-nav-dropdown-menu a { color: var(--dyk-w-ink) !important; }
body.dyk-white .dyk-nav-dropdown-menu a:hover,
body.dyk-white .dyk-nav-dropdown-menu a:focus-visible { background: var(--dyk-w-soft); color: var(--dyk-w-accent) !important; }
body.dyk-white .dyk-header-btn {
  background: var(--dyk-w-btn) !important;
  color: var(--dyk-w-white) !important;
  font-family: var(--dyk-w-body) !important;
  font-weight: 600 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  animation: none !important;
}
body.dyk-white .dyk-header-btn:hover,
body.dyk-white .dyk-header-btn:focus-visible { background: var(--dyk-w-btn-hover) !important; }
body.dyk-white .dyk-header-btn::after { content: none !important; animation: none !important; }
body.dyk-white .dyk-menu-toggle { color: var(--dyk-w-ink); min-width: 44px; min-height: 44px; }
body.dyk-white .dyk-drawer { background: var(--dyk-w-white); border-right: 1px solid var(--dyk-w-line); }
body.dyk-white .dyk-drawer-close { color: var(--dyk-w-ink); min-width: 44px; min-height: 44px; }
body.dyk-white .dyk-drawer-links a { font-family: var(--dyk-w-body); font-weight: 500; font-size: 17px; color: var(--dyk-w-ink) !important; }
body.dyk-white .dyk-drawer-links a:hover,
body.dyk-white .dyk-drawer-links a:focus-visible,
body.dyk-white .dyk-drawer-links a[aria-current="page"] { background: var(--dyk-w-soft); color: var(--dyk-w-accent) !important; }
body.dyk-white .dyk-drawer-links a.dyk-nav-muted { color: var(--dyk-w-muted) !important; }
body.dyk-white .dyk-drawer-divider { background: var(--dyk-w-line); }
body.dyk-white .dyk-drawer-section-label { font-family: var(--dyk-w-body); color: var(--dyk-w-muted); }
body.dyk-white .dyk-drawer-links a.dyk-drawer-cta,
body.dyk-white .dyk-drawer-links a.dyk-drawer-cta:hover,
body.dyk-white .dyk-drawer-links a.dyk-drawer-cta:focus-visible { color: var(--dyk-w-white) !important; }
body.dyk-white .dyk-drawer-cta { background: var(--dyk-w-btn) !important; color: var(--dyk-w-white) !important; font-weight: 600 !important; }
body.dyk-white .dyk-drawer-cta:hover,
body.dyk-white .dyk-drawer-cta:focus-visible { background: var(--dyk-w-btn-hover) !important; color: var(--dyk-w-white) !important; }
body.dyk-white .dyk-founder-bar { font-family: var(--dyk-w-body); background: var(--dyk-w-navy); color: var(--dyk-w-white); }
body.dyk-white .dyk-founder-bar a { color: var(--dyk-w-white) !important; }
body.dyk-white .dyk-founder-tag { background: var(--dyk-w-peach); color: var(--dyk-w-navy); }

/* White footer markup (snippet 16 prints .dyk-wfooter on white pages) */
.dyk-wfooter { font-family: var(--dyk-w-body); background: var(--dyk-w-footer); color: #C9CDD9; padding: 64px 24px 40px; }
.dyk-wfooter-inner { max-width: 1200px; margin: 0 auto; display: flex; flex-direction: column; gap: 48px; }
.dyk-wfooter-cols { display: flex; flex-wrap: wrap; gap: 40px 64px; }
.dyk-wfooter-brand { flex: 2 1 260px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.dyk-wfooter-brand img { width: 185px; height: auto; }
.dyk-wfooter-brand p { margin: 0; font-size: 15px; line-height: 1.6; max-width: 320px; }
.dyk-wfooter-cols nav { flex: 1 1 140px; display: flex; flex-direction: column; gap: 10px; font-size: 15px; }
.dyk-wfooter-head { font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #FFFFFF; }
.dyk-wfooter a { color: #C9CDD9; text-decoration: none; }
.dyk-wfooter a:hover, .dyk-wfooter a:focus-visible { color: #FFFFFF; text-decoration: underline; text-underline-offset: 3px; }
.dyk-wfooter .dyk-wfooter-mail { color: #FFFFFF; font-weight: 500; }
.dyk-wfooter .dyk-socials a { color: #FFFFFF; min-width: 24px; min-height: 24px; }
.dyk-wfooter-base { padding-top: 24px; border-top: 1px solid var(--dyk-w-navy-line); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; font-size: 13px; line-height: 1.6; }
@media (max-width: 760px) {
  .dyk-wfooter { padding: 48px 16px 32px; }
  .dyk-wfooter-cols nav { flex-basis: 40%; }
}

/* ---------------------------------------------------------------- 404 page
   Markup from snippet 27 (blocksy:404:custom-output). */
body.error404.dyk-white { background: var(--dyk-w-soft) !important; }
.dyk-404 { padding: clamp(56px, 9vw, 120px) 20px clamp(64px, 10vw, 128px); }
.dyk-404-main { max-width: 640px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 18px; text-align: center; }
.dyk-404 .dyk-h1, .dyk-404 .dyk-lead { margin: 0 !important; }
.dyk-404 .dyk-lead { margin: 0 auto !important; }
.dyk-404-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 10px; }
.dyk-404-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 22px; margin-top: 18px; padding-top: 24px; border-top: 1px solid var(--dyk-w-line); width: 100%; }
.dyk-404-links a { color: var(--dyk-w-ink); font-weight: 500; text-decoration: underline; text-decoration-color: var(--dyk-w-btn); text-underline-offset: 4px; }
.dyk-404-links a:hover { color: var(--dyk-w-accent); }
@media (max-width: 520px) {
  .dyk-404-actions .dyk-btn { width: 100%; }
}

/* ---------------------------------------------------------------- trade header
   Trade pages (snippet 16, $trade): "Log in" text link beside the Join free button. */
body.dyk-white .dyk-header-login {
  display: inline-flex; align-items: center; min-height: 44px; margin-left: auto; padding: 0 4px;
  font-family: var(--dyk-w-body); font-size: 15px; font-weight: 600; color: var(--dyk-w-ink) !important; text-decoration: none;
}
body.dyk-white .dyk-header-login:hover,
body.dyk-white .dyk-header-login:focus-visible,
body.dyk-white .dyk-header-login[aria-current="page"] { color: var(--dyk-w-accent) !important; text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 2px; }
@media (max-width: 900px) {
  body.dyk-white .dyk-header-login { display: none !important; }
}

/* ---------------------------------------------------------------- home: popular jobs in the hero
   Compact chips under the trust ticks so they show on the first screen. On phones
   they become one sideways-scrolling row so they only add one line of height. */
.dyk-hero-jobs { min-width: 0; }
.dyk-chips--hero { align-items: center; }
@media (min-width: 761px) {
  /* Keep the jobs on the first screen of a typical laptop: less space above the
     hero and between the heading and the intro. */
  .dyk-home-w .dyk-sec--hero { padding-top: 48px; }
  .dyk-home-w .dyk-hero-copy > .dyk-h1 { margin-bottom: 0 !important; }
  .dyk-home-w .dyk-hero-copy > .dyk-lead { margin-top: 0 !important; }
}
.dyk-page .dyk-hero-jobs-h { margin: 0 4px 0 0; font-family: var(--dyk-w-body); font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--dyk-w-muted); }
.dyk-chips--hero { gap: 8px; }
.dyk-chips--hero .dyk-chip { min-height: 40px; padding: 0 14px; gap: 8px; font-size: 14px; }
@media (max-width: 760px) {
  .dyk-chips--hero {
    flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
    margin: 0 -16px; padding: 2px 16px; scroll-padding: 0 16px;
  }
  .dyk-chips--hero::-webkit-scrollbar { display: none; }
  .dyk-chips--hero .dyk-chip { flex: 0 0 auto; white-space: nowrap; }
  .dyk-page .dyk-hero-jobs-h { flex: 0 0 auto; }
}
