/* Dynamics Digital website check. Uses the theme's colours: ink #050c10, cyan #00d5f5. */
.ddwc-page { background: #050c10; color: #f8f9f9; }
.ddwc, .ddwc * { box-sizing: border-box; }
.ddwc [hidden], .ddwc[hidden] { display: none !important; }
.ddwc { --dd-cyan: #00d5f5; --dd-ink: #050c10; --dd-panel: #08161d; --dd-card: #0c1d26; --dd-line: #1f3541; --dd-muted: #a3b3ba; --dd-paper: #eaf0ef; --dd-good: #3ddc97; --dd-ok: #ffb547; --dd-bad: #ff6b6b; font-family: "Manrope Variable", Manrope, Arial, sans-serif; }
.ddwc-wrap { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.ddwc-skip { position: absolute; left: -9999px; top: 0; }
.ddwc-skip:focus { left: 16px; top: 16px; z-index: 100; background: #00d5f5; color: #050c10; padding: 10px 14px; border-radius: 8px; }
.ddwc-header .nav-wrap { gap: 16px; }
.ddwc-nav-right { display: flex; align-items: center; gap: 14px; }
.ddwc-nav-cta svg { flex: none; }
.ddwc-eyebrow { font-size: 11px; font-weight: 750; letter-spacing: .24em; text-transform: uppercase; color: var(--dd-cyan); margin: 0 0 18px; }
.ddwc-eyebrow.dark { color: #087b8c; }

/* Hero */
.ddwc-hero { position: relative; padding: 170px 0 90px; overflow: hidden; background: radial-gradient(900px 420px at 85% 10%, rgba(0, 213, 245, .16), transparent 70%), radial-gradient(700px 380px at 0% 100%, rgba(0, 120, 170, .14), transparent 70%), #050c10; }
.ddwc-hero h1 { font-size: clamp(42px, 7vw, 86px); line-height: .98; font-weight: 800; letter-spacing: -0.055em; margin: 0 0 24px; max-width: 900px; color: #f8f9f9; }
.ddwc-hero h1 span { color: var(--dd-cyan); display: block; }
.ddwc-intro { font-size: clamp(17px, 2vw, 20px); line-height: 1.55; color: #c7d2d7; max-width: 640px; margin: 0 0 36px; }
.ddwc-form { display: flex; gap: 12px; max-width: 760px; }
.ddwc-field { flex: 1; display: flex; align-items: center; background: #0f1e27; border: 1px solid #2a4250; border-radius: 14px; padding: 0 18px; transition: border-color .2s, box-shadow .2s; min-width: 0; }
.ddwc-field:focus-within { border-color: var(--dd-cyan); box-shadow: 0 0 0 4px rgba(0, 213, 245, .15); }
.ddwc-prefix { color: #6f8590; font-size: 17px; font-weight: 600; margin-right: 2px; user-select: none; }
.ddwc-field input { flex: 1; min-width: 0; background: transparent; border: 0; outline: 0; color: #f3f8fa; font: 600 18px/1.2 inherit; font-family: inherit; padding: 20px 0; }
.ddwc-field input::placeholder { color: #5f7480; }
.ddwc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; background: var(--dd-cyan); color: #050c10; border: 0; border-radius: 12px; padding: 0 26px; min-height: 62px; font: 750 16px/1 inherit; font-family: inherit; cursor: pointer; text-decoration: none; transition: transform .15s, box-shadow .2s, background .2s; white-space: nowrap; }
.ddwc-btn:hover { box-shadow: 0 10px 30px rgba(0, 213, 245, .3); transform: translateY(-1px); color: #050c10; }
.ddwc-btn:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.ddwc-btn[disabled] { opacity: .7; cursor: progress; transform: none; box-shadow: none; }
.ddwc-btn.is-busy svg { animation: ddwc-nudge .8s ease-in-out infinite; }
.ddwc-btn.dark { background: #050c10; color: #fff; }
.ddwc-btn.dark:hover { color: #fff; box-shadow: 0 10px 30px rgba(5, 12, 16, .35); }
.ddwc-btn.wa { background: #050c10; color: #fff; width: 100%; }
.ddwc-btn.wa:hover { color: #fff; box-shadow: 0 10px 30px rgba(5, 12, 16, .35); }
@keyframes ddwc-nudge { 50% { transform: translateX(4px); } }
.ddwc-error { color: #ffb4b4; background: rgba(255, 107, 107, .1); border: 1px solid rgba(255, 107, 107, .35); border-radius: 10px; padding: 12px 16px; margin: 16px 0 0; max-width: 760px; font-size: 15px; line-height: 1.5; }
.ddwc-error.small { margin: 4px 0 12px; font-size: 14px; color: #a12b2b; background: #ffe9e9; border-color: #f3b7b7; }
.ddwc-trust { list-style: none; display: flex; flex-wrap: wrap; gap: 10px 26px; padding: 0; margin: 24px 0 0; color: #a3b3ba; font-size: 14px; font-weight: 600; }
.ddwc-trust li { display: flex; align-items: center; gap: 9px; }
.ddwc-trust li::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--dd-cyan); box-shadow: 0 0 0 4px rgba(0, 213, 245, .15); }

/* Loading */
.ddwc-loading { padding: 20px 0 90px; }
.ddwc-loader { height: 3px; background: #12242d; border-radius: 3px; overflow: hidden; margin-bottom: 28px; max-width: 760px; }
.ddwc-loader span { display: block; height: 100%; width: 35%; background: var(--dd-cyan); border-radius: 3px; animation: ddwc-slide 1.3s ease-in-out infinite; }
@keyframes ddwc-slide { 0% { transform: translateX(-100%); } 100% { transform: translateX(300%); } }
.ddwc-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.ddwc-steps li { color: #4d626c; font-size: 17px; font-weight: 600; display: flex; align-items: center; gap: 14px; transition: color .3s; }
.ddwc-steps li::before { content: ""; width: 18px; height: 18px; border-radius: 50%; border: 2px solid #2a4250; flex: none; }
.ddwc-steps li.active { color: #fff; }
.ddwc-steps li.active::before { border-color: var(--dd-cyan); border-right-color: transparent; animation: ddwc-spin .8s linear infinite; }
.ddwc-steps li.done { color: #8fa3ab; }
.ddwc-steps li.done::before { background: var(--dd-cyan); border-color: var(--dd-cyan); box-shadow: inset 0 0 0 3px #050c10; }
@keyframes ddwc-spin { to { transform: rotate(360deg); } }

/* Results */
.ddwc-results, .ddwc-full, .ddwc-loading { scroll-margin-top: 120px; }
.ddwc-results { padding: 30px 0 100px; background: linear-gradient(180deg, #050c10 0, var(--dd-panel) 160px); outline: 0; }
.ddwc-summary { display: grid; grid-template-columns: 230px 1fr; gap: 48px; align-items: center; background: var(--dd-card); border: 1px solid var(--dd-line); border-radius: 20px; padding: 40px; }
.ddwc-ring { position: relative; width: 230px; height: 230px; }
.ddwc-ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.ddwc-ring circle { fill: none; stroke-width: 9; }
.ddwc-ring .bg { stroke: #1a2f39; }
.ddwc-ring .fg { stroke-linecap: round; transition: stroke-dashoffset 1.2s cubic-bezier(.2, .8, .2, 1); }
.ddwc-ring.good .fg { stroke: var(--dd-good); }
.ddwc-ring.ok .fg { stroke: var(--dd-ok); }
.ddwc-ring.bad .fg { stroke: var(--dd-bad); }
.ddwc-ring-num { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.ddwc-ring-num strong { font-size: 72px; font-weight: 800; letter-spacing: -0.05em; line-height: 1; color: #fff; }
.ddwc-ring-num span { color: var(--dd-muted); font-size: 14px; font-weight: 600; margin-top: 6px; }
.ddwc-summary-text h2 { font-size: clamp(26px, 3.2vw, 38px); line-height: 1.12; letter-spacing: -0.035em; font-weight: 750; margin: 0 0 14px; color: #fff; }
.ddwc-meta { display: flex; flex-wrap: wrap; gap: 6px 22px; color: var(--dd-muted); font-size: 14px; margin: 0 0 26px; }
.ddwc-meta strong { color: #e6f0f3; font-weight: 700; word-break: break-all; }
.ddwc-cats { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 32px; }
.ddwc-cat-top { display: flex; justify-content: space-between; align-items: baseline; font-size: 15px; font-weight: 650; color: #d9e4e8; margin-bottom: 8px; }
.ddwc-cat-top strong { font-size: 18px; font-weight: 800; }
.ddwc-cat.good .ddwc-cat-top strong { color: var(--dd-good); }
.ddwc-cat.ok .ddwc-cat-top strong { color: var(--dd-ok); }
.ddwc-cat.bad .ddwc-cat-top strong { color: var(--dd-bad); }
.ddwc-bar { height: 7px; background: #1a2f39; border-radius: 7px; overflow: hidden; }
.ddwc-bar i { display: block; height: 100%; width: 0; border-radius: 7px; transition: width 1.1s cubic-bezier(.2, .8, .2, 1); }
.ddwc-cat.good .ddwc-bar i { background: var(--dd-good); }
.ddwc-cat.ok .ddwc-bar i { background: var(--dd-ok); }
.ddwc-cat.bad .ddwc-bar i { background: var(--dd-bad); }

.ddwc-psi { display: flex; align-items: center; gap: 18px; margin-top: 18px; padding: 18px 24px; background: var(--dd-card); border: 1px solid var(--dd-line); border-radius: 16px; }
.ddwc-psi-text { display: flex; flex-direction: column; gap: 3px; }
.ddwc-psi-text strong { font-size: 15px; color: #fff; }
.ddwc-psi-text span { font-size: 14px; color: var(--dd-muted); }
.ddwc-psi-dot { width: 14px; height: 14px; border-radius: 50%; border: 2px solid var(--dd-cyan); border-right-color: transparent; animation: ddwc-spin .8s linear infinite; flex: none; }
.ddwc-psi-score { width: 54px; height: 54px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 19px; flex: none; border: 3px solid; }
.ddwc-psi.good .ddwc-psi-score { color: var(--dd-good); border-color: var(--dd-good); }
.ddwc-psi.ok .ddwc-psi-score { color: var(--dd-ok); border-color: var(--dd-ok); }
.ddwc-psi.bad .ddwc-psi-score { color: var(--dd-bad); border-color: var(--dd-bad); }

.ddwc-grid { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 32px; margin-top: 32px; align-items: start; }
.ddwc-top h3, .ddwc-full-title { font-size: 26px; letter-spacing: -0.03em; font-weight: 750; margin: 0 0 18px; color: #fff; }
.ddwc-issue-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.ddwc-issue { background: var(--dd-card); border: 1px solid var(--dd-line); border-left: 4px solid; border-radius: 14px; padding: 20px 22px; }
.ddwc-issue.sev-3 { border-left-color: var(--dd-bad); }
.ddwc-issue.sev-2 { border-left-color: var(--dd-ok); }
.ddwc-issue.sev-1 { border-left-color: #4fb7c9; }
.ddwc-issue h4 { font-size: 18px; line-height: 1.3; font-weight: 750; margin: 10px 0 6px; color: #fff; letter-spacing: -0.01em; }
.ddwc-issue p { margin: 0; color: #b4c3c9; font-size: 15px; line-height: 1.55; }
.ddwc-pill { display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; padding: 5px 10px; border-radius: 30px; }
.ddwc-pill.sev-3 { color: #ff9b9b; background: rgba(255, 107, 107, .13); }
.ddwc-pill.sev-2 { color: #ffc978; background: rgba(255, 181, 71, .13); }
.ddwc-pill.sev-1 { color: #8adbe8; background: rgba(79, 183, 201, .14); }
.ddwc-more { margin: 18px 0 0; color: #d9e4e8; font-weight: 650; font-size: 16px; }
.ddwc-none { color: #b4c3c9; font-size: 16px; }
.ddwc-side-title { font-size: 16px; font-weight: 750; margin: 30px 0 12px; color: #fff; }
.ddwc-passes { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ddwc-passes li { display: flex; gap: 10px; align-items: flex-start; color: #cbd8dd; font-size: 15px; line-height: 1.4; }
.ddwc-tick { color: var(--dd-good); flex: none; display: inline-flex; margin-top: 1px; }

.ddwc-gate { background: #f3f2ed; color: #050c10; border-radius: 18px; padding: 30px; position: sticky; top: 110px; }
.ddwc-gate h3 { font-size: 24px; letter-spacing: -0.03em; font-weight: 800; margin: 0 0 8px; color: #050c10; }
.ddwc-gate > p { margin: 0 0 20px; color: #3b4a51; font-size: 15px; line-height: 1.55; }
.ddwc-input { display: block; margin-bottom: 14px; }
.ddwc-input span { display: block; font-size: 13px; font-weight: 700; margin-bottom: 6px; color: #23323a; }
.ddwc-input input { width: 100%; border: 1px solid #b9c6c9; background: #fff; border-radius: 10px; padding: 14px; font: 600 16px/1.2 inherit; font-family: inherit; color: #050c10; }
.ddwc-input input:focus { outline: 0; border-color: #00a9c4; box-shadow: 0 0 0 3px rgba(0, 213, 245, .25); }
.ddwc-gate .ddwc-btn { width: 100%; margin-top: 4px; }
.ddwc-privacy { margin: 14px 0 0; font-size: 12.5px; line-height: 1.5; color: #5a6a71; }
.ddwc-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; opacity: 0; }

.ddwc-cta { background: var(--dd-cyan); color: #050c10; border-radius: 18px; padding: 30px; }
.ddwc-cta h3 { font-size: 24px; letter-spacing: -0.03em; font-weight: 800; margin: 0 0 8px; color: #050c10; }
.ddwc-cta p { margin: 0 0 20px; font-size: 15px; line-height: 1.55; color: #08303a; }
.ddwc-side .ddwc-cta { position: sticky; top: 110px; }

.ddwc-full { margin-top: 10px; }
.ddwc-thanks { color: var(--dd-cyan); font-weight: 700; font-size: 16px; margin: 0 0 10px; }
.ddwc-full-cols { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 32px; align-items: start; }
.ddwc-full-side .ddwc-side-title:first-child { margin-top: 0; }
.ddwc-full-side .ddwc-cta { margin-top: 28px; }
.ddwc-full-side.solo .ddwc-side-title { margin-top: 30px; }
.ddwc-again { margin-top: 44px; background: transparent; border: 1px solid #2f4a57; color: #d9e4e8; border-radius: 30px; padding: 13px 22px; font: 700 15px/1 inherit; font-family: inherit; cursor: pointer; }
.ddwc-again:hover { border-color: var(--dd-cyan); color: var(--dd-cyan); }

/* What we check */
.ddwc-what { background: var(--dd-paper); color: #050c10; padding: 110px 0; }
.ddwc-what h2, .ddwc-faq h2, .ddwc-final h2 { font-size: clamp(32px, 4.6vw, 56px); line-height: 1.02; letter-spacing: -0.045em; font-weight: 800; margin: 0 0 44px; max-width: 780px; }
.ddwc-what h2 { color: #050c10; }
.ddwc-what-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.ddwc-what-card { background: #f8faf9; border: 1px solid #c9d5d6; border-radius: 14px; padding: 26px; }
.ddwc-icon { color: #008ea3; }
.ddwc-what-card h3 { font-size: 19px; font-weight: 750; margin: 16px 0 8px; letter-spacing: -0.02em; color: #071c28; }
.ddwc-what-card p { margin: 0; color: #43555c; font-size: 15px; line-height: 1.55; }

/* FAQ */
.ddwc-faq { padding: 110px 0; background: #050c10; }
.ddwc-faq-wrap { display: grid; grid-template-columns: 1fr 1.4fr; gap: 60px; }
.ddwc-faq h2 { color: #fff; }
.ddwc-faq-list details { border-bottom: 1px solid #1f3541; padding: 22px 0; }
.ddwc-faq-list details:first-child { border-top: 1px solid #1f3541; }
.ddwc-faq-list summary { cursor: pointer; list-style: none; font-size: 19px; font-weight: 700; color: #fff; display: flex; justify-content: space-between; gap: 20px; }
.ddwc-faq-list summary::-webkit-details-marker { display: none; }
.ddwc-faq-list summary::after { content: "+"; color: var(--dd-cyan); font-size: 26px; line-height: .8; font-weight: 400; transition: transform .2s; }
.ddwc-faq-list details[open] summary::after { transform: rotate(45deg); }
.ddwc-faq-list p { color: #b4c3c9; font-size: 16px; line-height: 1.6; margin: 14px 0 0; }

/* Final band */
.ddwc-final { background: var(--dd-cyan); color: #050c10; padding: 80px 0; }
.ddwc-final-wrap { display: flex; justify-content: space-between; align-items: center; gap: 30px; flex-wrap: wrap; }
.ddwc-final h2 { margin: 0; color: #050c10; }

@media (max-width: 1080px) {
  .ddwc-grid, .ddwc-full-cols { grid-template-columns: 1fr; }
  .ddwc-gate, .ddwc-side .ddwc-cta { position: static; }
  .ddwc-what-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 820px) {
  .ddwc-summary { grid-template-columns: 1fr; justify-items: center; text-align: center; padding: 30px 22px; gap: 26px; }
  .ddwc-ring { width: 190px; height: 190px; }
  .ddwc-ring-num strong { font-size: 60px; }
  .ddwc-meta { justify-content: center; }
  .ddwc-cats { grid-template-columns: 1fr; text-align: left; width: 100%; }
  .ddwc-faq-wrap { grid-template-columns: 1fr; gap: 10px; }
  .ddwc-nav-cta { display: none !important; }
}
@media (max-width: 640px) {
  .ddwc-wrap { padding: 0 16px; }
  .ddwc-hero { padding: 130px 0 60px; }
  .ddwc-form { flex-direction: column; }
  .ddwc-btn { width: 100%; min-height: 58px; }
  .ddwc-prefix { display: none; }
  .ddwc-field input { padding: 18px 0; font-size: 17px; }
  .ddwc-what { padding: 70px 0; }
  .ddwc-what-grid { grid-template-columns: 1fr; }
  .ddwc-faq { padding: 70px 0; }
  .ddwc-final { padding: 60px 0; }
  .ddwc-gate, .ddwc-cta { padding: 24px 20px; }
  .ddwc-issue { padding: 18px; }
  .ddwc-psi { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .ddwc *, .ddwc *::before { animation: none !important; transition: none !important; }
}
