Educational wellness guidance only. Not veterinary diagnosis or treatment.
#dgh-app, #dgh-app * { box-sizing: border-box; } #dgh-app { --navy: #07182c; --navy-2: #0d2946; --ink: #10233d; --muted: #65748a; --line: #dfe7ec; --soft: #f4f8f5; --green: #5f8f58; --green-dark: #36683a; --green-light: #dcebd8; --gold: #bd9856; --white: #ffffff; --danger: #a54a4a; min-height: min(100vh, 980px); position: relative; overflow: hidden; display: flex; flex-direction: column; padding: 24px; color: var(--ink); background: radial-gradient(circle at 12% 10%, rgba(126,166,116,.18), transparent 30%), radial-gradient(circle at 90% 90%, rgba(189,152,86,.12), transparent 30%), linear-gradient(145deg, #f8fbf8 0%, #eef4f2 100%); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; border-radius: 32px; isolation: isolate; } #dgh-app button, #dgh-app input { font: inherit; } .dgh-orb { position: absolute; border-radius: 999px; filter: blur(4px); pointer-events: none; z-index: -1; } .dgh-orb-one { width: 340px; height: 340px; top: -170px; right: -100px; background: rgba(95,143,88,.12); } .dgh-orb-two { width: 280px; height: 280px; bottom: -160px; left: -120px; background: rgba(189,152,86,.10); } .dgh-topbar { width: min(100%, 920px); margin: 0 auto; min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 18px; } .dgh-brand { appearance: none; border: 0; background: transparent; color: var(--navy); display: inline-flex; align-items: center; gap: 11px; padding: 0; font-size: 12px; letter-spacing: .18em; font-weight: 850; cursor: pointer; } .dgh-brand sup { font-size: 7px; top: -.5em; position: relative; } .dgh-brand-mark { width: 29px; height: 29px; display: inline-grid; place-items: center; color: var(--green-dark); } .dgh-brand-mark svg { width: 100%; height: 100%; } .dgh-exit { border: 0; background: transparent; padding: 8px 0; color: var(--muted); font-weight: 700; font-size: 13px; cursor: pointer; } .dgh-progress-wrap { width: min(100%, 760px); margin: 28px auto 0; } .dgh-progress-meta { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 10px; color: var(--muted); font-size: 12px; font-weight: 750; letter-spacing: .02em; } .dgh-progress-track { height: 7px; border-radius: 999px; background: rgba(7,24,44,.09); overflow: hidden; } .dgh-progress-fill { height: 100%; width: 0; border-radius: inherit; background: linear-gradient(90deg, var(--green-dark), #80aa72); transition: width .45s cubic-bezier(.2,.8,.2,1); } .dgh-stage { width: min(100%, 920px); min-height: 650px; margin: 0 auto; flex: 1; display: grid; place-items: center; padding: 34px 0; } .dgh-screen { width: 100%; animation: dghEnter .42s cubic-bezier(.2,.8,.2,1); } @keyframes dghEnter { from { opacity: 0; transform: translateY(12px) scale(.992); } to { opacity: 1; transform: none; } } .dgh-card { width: min(100%, 760px); margin: 0 auto; background: rgba(255,255,255,.94); border: 1px solid rgba(16,35,61,.07); border-radius: 34px; padding: clamp(28px, 5vw, 58px); box-shadow: 0 28px 80px rgba(7,24,44,.12); backdrop-filter: blur(16px); } .dgh-card-wide { width: min(100%, 900px); } .dgh-kicker { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 20px; color: var(--green-dark); font-size: 11px; font-weight: 900; letter-spacing: .17em; text-transform: uppercase; } .dgh-kicker::before { content: ""; width: 24px; height: 1px; background: currentColor; } .dgh-title { margin: 0; color: var(--navy); font-family: Manrope, Inter, sans-serif; font-size: clamp(36px, 7vw, 66px); line-height: 1.01; letter-spacing: -.055em; font-weight: 800; } .dgh-title-small { font-size: clamp(32px, 5.3vw, 52px); } .dgh-lead { max-width: 650px; margin: 22px 0 0; color: var(--muted); font-size: clamp(16px, 2.2vw, 19px); line-height: 1.72; } .dgh-benefits { margin: 34px 0 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; } .dgh-benefit { min-height: 112px; padding: 18px; background: var(--soft); border: 1px solid rgba(54,104,58,.08); border-radius: 20px; } .dgh-benefit strong { display: block; color: var(--navy); font-size: 14px; margin-bottom: 7px; } .dgh-benefit span { color: var(--muted); font-size: 13px; line-height: 1.45; } .dgh-actions { margin-top: 34px; display: flex; align-items: center; gap: 12px; } .dgh-btn { min-height: 54px; border-radius: 999px; border: 1px solid transparent; padding: 0 25px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-weight: 850; font-size: 15px; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; text-decoration: none; } .dgh-btn:hover { transform: translateY(-2px); } .dgh-btn-primary { background: var(--navy); color: var(--white); box-shadow: 0 12px 30px rgba(7,24,44,.18); } .dgh-btn-primary:hover { color: var(--white); box-shadow: 0 16px 36px rgba(7,24,44,.24); } .dgh-btn-secondary { color: var(--navy); background: var(--white); border-color: var(--line); } .dgh-btn-ghost { color: var(--muted); background: transparent; padding-left: 8px; padding-right: 8px; } .dgh-arrow { font-size: 18px; line-height: 1; } .dgh-question-head { margin-bottom: 28px; } .dgh-question-number { color: var(--green-dark); font-size: 11px; font-weight: 900; letter-spacing: .17em; text-transform: uppercase; margin-bottom: 14px; } .dgh-question { margin: 0; color: var(--navy); font-family: Manrope, Inter, sans-serif; font-size: clamp(30px, 5vw, 48px); line-height: 1.08; letter-spacing: -.042em; } .dgh-helper { margin: 12px 0 0; color: var(--muted); line-height: 1.6; font-size: 15px; } .dgh-input { width: 100%; height: 64px; border: 1.5px solid var(--line); border-radius: 18px; padding: 0 20px; color: var(--navy); background: #fbfdfc; font-size: 19px; font-weight: 700; outline: none; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; } .dgh-input:focus { background: var(--white); border-color: var(--green); box-shadow: 0 0 0 4px rgba(95,143,88,.12); } .dgh-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; } .dgh-option { min-height: 86px; width: 100%; border: 1.5px solid var(--line); border-radius: 20px; background: #fbfdfc; color: var(--ink); padding: 17px 18px; display: flex; align-items: center; gap: 14px; text-align: left; cursor: pointer; transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease; } .dgh-option:hover { transform: translateY(-2px); border-color: #a9c3a3; box-shadow: 0 10px 26px rgba(7,24,44,.07); } .dgh-option.is-selected { border-color: var(--green-dark); background: #eef6ec; box-shadow: inset 0 0 0 1px var(--green-dark); } .dgh-option-dot { width: 26px; height: 26px; border-radius: 999px; border: 1.5px solid #bdc9cf; display: grid; place-items: center; flex: 0 0 auto; } .dgh-option.is-selected .dgh-option-dot { border-color: var(--green-dark); background: var(--green-dark); } .dgh-option.is-selected .dgh-option-dot::after { content: ""; width: 8px; height: 5px; border-left: 2px solid white; border-bottom: 2px solid white; transform: rotate(-45deg) translateY(-1px); } .dgh-option-copy strong { display: block; color: var(--navy); font-size: 15px; line-height: 1.35; } .dgh-option-copy span { display: block; color: var(--muted); margin-top: 4px; font-size: 12.5px; line-height: 1.4; } .dgh-error { min-height: 20px; margin-top: 10px; color: var(--danger); font-size: 13px; font-weight: 700; } .dgh-analysis { min-height: 520px; display: grid; place-items: center; text-align: center; } .dgh-analysis-ring { width: 132px; height: 132px; margin: 0 auto 28px; position: relative; display: grid; place-items: center; } .dgh-analysis-ring::before, .dgh-analysis-ring::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 1px solid rgba(54,104,58,.18); } .dgh-analysis-ring::before { animation: dghPulse 1.8s ease-out infinite; } .dgh-analysis-ring::after { inset: 15px; animation: dghPulse 1.8s .45s ease-out infinite; } .dgh-analysis-core { width: 72px; height: 72px; border-radius: 50%; background: var(--green-dark); color: white; display: grid; place-items: center; box-shadow: 0 14px 36px rgba(54,104,58,.22); } .dgh-analysis-core svg { width: 34px; height: 34px; } @keyframes dghPulse { 0% { transform: scale(.82); opacity: .95; } 100% { transform: scale(1.35); opacity: 0; } } .dgh-analysis-copy { margin: 0; color: var(--navy); font-family: Manrope, Inter, sans-serif; font-size: clamp(27px, 4.6vw, 42px); letter-spacing: -.035em; } .dgh-analysis-note { margin-top: 12px; color: var(--muted); } .dgh-results-hero { display: grid; grid-template-columns: 1.2fr .8fr; gap: 28px; align-items: center; } .dgh-score-wrap { min-height: 250px; display: grid; place-items: center; border-radius: 28px; background: radial-gradient(circle at 50% 35%, rgba(255,255,255,.18), transparent 38%), linear-gradient(145deg, var(--navy), var(--navy-2)); color: white; } .dgh-score-ring { width: 178px; height: 178px; border-radius: 50%; display: grid; place-items: center; position: relative; background: conic-gradient(#8fba7e var(--score-angle), rgba(255,255,255,.14) 0); } .dgh-score-ring::before { content: ""; position: absolute; inset: 12px; border-radius: 50%; background: var(--navy); } .dgh-score-inner { position: relative; text-align: center; } .dgh-score-number { display: block; font-family: Manrope, Inter, sans-serif; font-size: 56px; line-height: .95; font-weight: 850; letter-spacing: -.06em; } .dgh-score-label { display: block; margin-top: 8px; color: rgba(255,255,255,.72); font-size: 10px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; } .dgh-result-band { display: inline-flex; margin-top: 20px; padding: 9px 13px; border-radius: 999px; background: var(--green-light); color: var(--green-dark); font-size: 12px; font-weight: 850; } .dgh-personal-note { margin: 22px 0 0; color: var(--muted); line-height: 1.72; font-size: 16px; } .dgh-pillars { margin-top: 28px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; } .dgh-pillar { border: 1px solid var(--line); border-radius: 20px; padding: 17px; background: #fbfdfc; } .dgh-pillar-top { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; } .dgh-pillar strong { color: var(--navy); font-size: 13px; } .dgh-pillar b { color: var(--green-dark); font-size: 13px; } .dgh-mini-track { height: 6px; margin-top: 12px; border-radius: 99px; background: #e5ece8; overflow: hidden; } .dgh-mini-fill { height: 100%; border-radius: inherit; background: var(--green); } .dgh-insights { margin-top: 28px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; } .dgh-insight { border-radius: 22px; padding: 21px; background: var(--soft); border: 1px solid rgba(54,104,58,.08); } .dgh-insight-label { color: var(--green-dark); font-size: 10px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; } .dgh-insight h3 { margin: 9px 0 7px; color: var(--navy); font-size: 17px; } .dgh-insight p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; } .dgh-offer { margin-top: 28px; border-radius: 28px; padding: clamp(24px, 4vw, 36px); background: linear-gradient(145deg, #f1f6ee, #e3eee0); display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 28px; } .dgh-offer h3 { margin: 0; color: var(--navy); font-family: Manrope, Inter, sans-serif; font-size: clamp(25px, 4vw, 35px); letter-spacing: -.035em; } .dgh-offer p { margin: 10px 0 0; color: var(--muted); line-height: 1.55; max-width: 590px; } .dgh-footer { width: min(100%, 920px); margin: 0 auto; padding-top: 10px; color: rgba(16,35,61,.52); font-size: 10px; text-align: center; line-height: 1.4; } @media (max-width: 760px) { #dgh-app { min-height: 100vh; border-radius: 0; padding: 18px 15px; } .dgh-stage { min-height: 610px; padding: 24px 0; } .dgh-card { border-radius: 26px; padding: 28px 20px; } .dgh-benefits, .dgh-options, .dgh-insights { grid-template-columns: 1fr; } .dgh-benefits { gap: 9px; } .dgh-benefit { min-height: auto; } .dgh-results-hero { grid-template-columns: 1fr; } .dgh-pillars { grid-template-columns: 1fr 1fr; } .dgh-offer { grid-template-columns: 1fr; } .dgh-offer .dgh-btn { width: 100%; } .dgh-actions { flex-wrap: wrap; } .dgh-actions .dgh-btn-primary { flex: 1; } .dgh-option { min-height: 78px; } .dgh-progress-wrap { margin-top: 18px; } } @media (max-width: 430px) { .dgh-brand { letter-spacing: .11em; font-size: 10px; } .dgh-pillars { grid-template-columns: 1fr; } .dgh-actions { display: grid; grid-template-columns: 1fr; } .dgh-actions .dgh-btn { width: 100%; } .dgh-actions .dgh-btn-ghost { order: 2; } .dgh-score-wrap { min-height: 225px; } } @media (prefers-reduced-motion: reduce) { #dgh-app *, #dgh-app *::before, #dgh-app *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } } /* MOBILE HARDENING PATCH — works inside Elementor and WordPress Custom HTML blocks */ #dgh-app { width: 100% !important; max-width: 100% !important; min-width: 0 !important; margin: 0 !important; overflow-x: clip !important; } #dgh-app .dgh-topbar, #dgh-app .dgh-progress-wrap, #dgh-app .dgh-stage, #dgh-app .dgh-footer, #dgh-app .dgh-screen, #dgh-app .dgh-card { min-width: 0 !important; max-width: 100% !important; } #dgh-app img, #dgh-app svg { max-width: 100%; } #dgh-app .dgh-title, #dgh-app .dgh-question, #dgh-app .dgh-lead, #dgh-app .dgh-option-copy, #dgh-app .dgh-personal-note, #dgh-app .dgh-offer h3, #dgh-app .dgh-offer p { overflow-wrap: anywhere; word-break: normal; } #dgh-app .dgh-btn, #dgh-app .dgh-option, #dgh-app .dgh-input { min-width: 0; max-width: 100%; } @media (max-width: 767px) { #dgh-app { min-height: 100svh !important; padding: 14px 12px 18px !important; border-radius: 0 !important; overflow-y: visible !important; } #dgh-app .dgh-topbar { min-height: 38px; gap: 10px; } #dgh-app .dgh-brand { max-width: calc(100% - 82px); font-size: 9px !important; letter-spacing: .09em !important; line-height: 1.2; gap: 7px; white-space: normal; text-align: left; } #dgh-app .dgh-brand-mark { width: 23px; height: 23px; flex: 0 0 23px; } #dgh-app .dgh-exit { flex: 0 0 auto; font-size: 11px; } #dgh-app .dgh-progress-wrap { margin-top: 14px !important; } #dgh-app .dgh-progress-meta { gap: 8px; font-size: 10px; margin-bottom: 7px; } #dgh-app .dgh-progress-track { height: 6px; } #dgh-app .dgh-stage { min-height: 0 !important; display: block !important; padding: 18px 0 8px !important; } #dgh-app .dgh-screen { width: 100%; } #dgh-app .dgh-card, #dgh-app .dgh-card-wide { width: 100% !important; margin: 0 !important; padding: 24px 16px !important; border-radius: 22px !important; box-shadow: 0 16px 42px rgba(7,24,44,.10); } #dgh-app .dgh-kicker { margin-bottom: 14px; font-size: 9px; letter-spacing: .12em; line-height: 1.4; } #dgh-app .dgh-kicker::before { width: 16px; } #dgh-app .dgh-title, #dgh-app .dgh-title-small { font-size: clamp(31px, 10vw, 42px) !important; line-height: 1.03 !important; letter-spacing: -.045em !important; } #dgh-app .dgh-lead { margin-top: 16px; font-size: 15px !important; line-height: 1.58; } #dgh-app .dgh-benefits { grid-template-columns: 1fr !important; gap: 8px !important; margin-top: 22px; } #dgh-app .dgh-benefit { min-height: 0 !important; padding: 14px 15px; border-radius: 15px; } #dgh-app .dgh-benefit strong { margin-bottom: 3px; font-size: 13px; } #dgh-app .dgh-benefit span { font-size: 12px; } #dgh-app .dgh-question-head { margin-bottom: 20px; } #dgh-app .dgh-question-number { margin-bottom: 10px; font-size: 9px; } #dgh-app .dgh-question { font-size: clamp(27px, 8.5vw, 37px) !important; line-height: 1.08 !important; letter-spacing: -.038em !important; } #dgh-app .dgh-helper { margin-top: 10px; font-size: 13px; line-height: 1.5; } #dgh-app .dgh-input { height: 56px; border-radius: 15px; padding: 0 16px; font-size: 17px; } #dgh-app .dgh-options { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 9px !important; width: 100%; } #dgh-app .dgh-option { width: 100% !important; min-height: 68px !important; padding: 13px 14px !important; border-radius: 16px !important; gap: 11px; } #dgh-app .dgh-option-dot { width: 23px; height: 23px; flex-basis: 23px; } #dgh-app .dgh-option-copy { min-width: 0; flex: 1; } #dgh-app .dgh-option-copy strong { font-size: 14px; line-height: 1.25; } #dgh-app .dgh-option-copy span { margin-top: 2px; font-size: 11.5px; line-height: 1.35; } #dgh-app .dgh-actions { display: grid !important; grid-template-columns: 1fr !important; gap: 9px !important; margin-top: 22px !important; } #dgh-app .dgh-btn { width: 100% !important; min-height: 50px; padding: 0 16px; font-size: 14px; white-space: normal; text-align: center; line-height: 1.25; } #dgh-app .dgh-btn-ghost { order: 2; min-height: 42px; } #dgh-app .dgh-analysis { min-height: 440px !important; padding-left: 18px !important; padding-right: 18px !important; } #dgh-app .dgh-analysis-ring { width: 108px; height: 108px; margin-bottom: 22px; } #dgh-app .dgh-analysis-core { width: 62px; height: 62px; } #dgh-app .dgh-analysis-copy { font-size: clamp(25px, 8vw, 34px) !important; line-height: 1.1; } #dgh-app .dgh-results-hero, #dgh-app .dgh-insights, #dgh-app .dgh-offer { grid-template-columns: minmax(0, 1fr) !important; } #dgh-app .dgh-results-hero { gap: 20px; } #dgh-app .dgh-score-wrap { min-height: 210px !important; border-radius: 22px; } #dgh-app .dgh-score-ring { width: 154px; height: 154px; } #dgh-app .dgh-score-number { font-size: 49px; } #dgh-app .dgh-pillars { grid-template-columns: minmax(0, 1fr) !important; gap: 9px !important; margin-top: 20px; } #dgh-app .dgh-pillar { padding: 14px; border-radius: 16px; } #dgh-app .dgh-insights { gap: 9px !important; margin-top: 20px; } #dgh-app .dgh-insight { padding: 17px; border-radius: 17px; } #dgh-app .dgh-offer { gap: 18px !important; margin-top: 20px; padding: 20px 16px !important; border-radius: 20px; } #dgh-app .dgh-offer h3 { font-size: 26px !important; line-height: 1.08; } #dgh-app .dgh-offer p { font-size: 13px; } #dgh-app .dgh-footer { padding: 12px 8px 0; font-size: 9px; } } @media (max-width: 374px) { #dgh-app { padding-left: 9px !important; padding-right: 9px !important; } #dgh-app .dgh-card, #dgh-app .dgh-card-wide { padding: 21px 13px !important; } #dgh-app .dgh-title, #dgh-app .dgh-title-small { font-size: 29px !important; } #dgh-app .dgh-question { font-size: 25px !important; } #dgh-app .dgh-option { padding: 12px !important; } } /* BRAND COLOR LOCK — prevents WordPress/Elementor themes from injecting red hover/link states */ #dgh-app .dgh-btn, #dgh-app .dgh-btn:link, #dgh-app .dgh-btn:visited, #dgh-app .dgh-btn:hover, #dgh-app .dgh-btn:focus, #dgh-app .dgh-btn:active, #dgh-app button, #dgh-app button:hover, #dgh-app button:focus, #dgh-app button:active, #dgh-app a, #dgh-app a:hover, #dgh-app a:focus, #dgh-app a:active, #dgh-app a:visited { text-decoration: none !important; } #dgh-app .dgh-btn-primary, #dgh-app .dgh-btn-primary:link, #dgh-app .dgh-btn-primary:visited { background: var(--navy) !important; border-color: var(--navy) !important; color: var(--white) !important; } #dgh-app .dgh-btn-primary:hover, #dgh-app .dgh-btn-primary:focus, #dgh-app .dgh-btn-primary:active { background: var(--green-dark) !important; border-color: var(--green-dark) !important; color: var(--white) !important; box-shadow: 0 16px 36px rgba(54,104,58,.24) !important; } #dgh-app .dgh-btn-secondary, #dgh-app .dgh-btn-secondary:link, #dgh-app .dgh-btn-secondary:visited { background: var(--white) !important; border-color: var(--green-dark) !important; color: var(--green-dark) !important; } #dgh-app .dgh-btn-secondary:hover, #dgh-app .dgh-btn-secondary:focus, #dgh-app .dgh-btn-secondary:active { background: var(--green-light) !important; border-color: var(--green-dark) !important; color: var(--green-dark) !important; } #dgh-app .dgh-btn-ghost, #dgh-app .dgh-btn-ghost:hover, #dgh-app .dgh-btn-ghost:focus, #dgh-app .dgh-btn-ghost:active { background: transparent !important; border-color: transparent !important; color: var(--navy) !important; box-shadow: none !important; } #dgh-app .dgh-brand, #dgh-app .dgh-brand:hover, #dgh-app .dgh-brand:focus, #dgh-app .dgh-brand:active { background: transparent !important; border-color: transparent !important; color: var(--navy) !important; box-shadow: none !important; } #dgh-app .dgh-exit, #dgh-app .dgh-exit:hover, #dgh-app .dgh-exit:focus, #dgh-app .dgh-exit:active { background: transparent !important; border-color: transparent !important; color: var(--green-dark) !important; box-shadow: none !important; } #dgh-app .dgh-option, #dgh-app .dgh-option:hover, #dgh-app .dgh-option:focus, #dgh-app .dgh-option:active { color: var(--ink) !important; } #dgh-app .dgh-option:hover, #dgh-app .dgh-option:focus { border-color: var(--green) !important; background: var(--soft) !important; } #dgh-app .dgh-option.is-selected, #dgh-app .dgh-option.is-selected:hover, #dgh-app .dgh-option.is-selected:focus { border-color: var(--green-dark) !important; background: #eef6ec !important; box-shadow: inset 0 0 0 1px var(--green-dark) !important; } #dgh-app .dgh-input:hover, #dgh-app .dgh-input:focus { border-color: var(--green-dark) !important; box-shadow: 0 0 0 4px rgba(95,143,88,.12) !important; } #dgh-app .dgh-btn:focus-visible, #dgh-app button:focus-visible, #dgh-app a:focus-visible, #dgh-app .dgh-option:focus-visible { outline: 3px solid rgba(95,143,88,.35) !important; outline-offset: 3px !important; } /* Keep validation restrained and on-brand rather than bright red */ #dgh-app .dgh-error { color: var(--navy-2) !important; } /* PHASE 1.3 — PREMIUM VISUAL REFINEMENT */ #dgh-app { background: radial-gradient(circle at 10% 8%, rgba(95,143,88,.08), transparent 28%), radial-gradient(circle at 92% 92%, rgba(7,24,44,.05), transparent 26%), #f6f8f7 !important; border-radius: 24px !important; padding: 22px !important; } #dgh-app .dgh-card { border-radius: 24px !important; border: 1px solid #e4e9e6 !important; box-shadow: 0 18px 48px rgba(7,24,44,.08) !important; background: rgba(255,255,255,.985) !important; padding: clamp(30px, 4vw, 44px) !important; } #dgh-app .dgh-card-wide { max-width: 840px !important; } #dgh-app .dgh-stage { min-height: 560px !important; padding: 28px 0 !important; } #dgh-app .dgh-topbar { max-width: 840px !important; } #dgh-app .dgh-progress-wrap { max-width: 680px !important; margin-top: 20px !important; } #dgh-app .dgh-title, #dgh-app .dgh-title-small { font-size: clamp(34px, 4.7vw, 52px) !important; line-height: 1.04 !important; letter-spacing: -.038em !important; max-width: 760px; } #dgh-app .dgh-lead { max-width: 610px !important; margin-top: 18px !important; font-size: 16px !important; line-height: 1.65 !important; } #dgh-app .dgh-kicker { margin-bottom: 16px !important; font-size: 10px !important; letter-spacing: .14em !important; } #dgh-app .dgh-benefits { margin-top: 26px !important; gap: 10px !important; } #dgh-app .dgh-benefit { min-height: 96px !important; padding: 16px !important; border-radius: 16px !important; background: #f7faf8 !important; } #dgh-app .dgh-benefit strong { font-size: 13px !important; } #dgh-app .dgh-benefit span { font-size: 12px !important; line-height: 1.45 !important; } #dgh-app .dgh-question-head { margin-bottom: 22px !important; } #dgh-app .dgh-question-number { margin-bottom: 10px !important; font-size: 9px !important; letter-spacing: .15em !important; } #dgh-app .dgh-question { font-size: clamp(27px, 3.8vw, 40px) !important; line-height: 1.1 !important; letter-spacing: -.03em !important; max-width: 650px; } #dgh-app .dgh-helper { max-width: 620px; font-size: 13.5px !important; line-height: 1.55 !important; margin-top: 9px !important; } #dgh-app .dgh-options { gap: 10px !important; } #dgh-app .dgh-option { min-height: 74px !important; padding: 14px 15px !important; border-radius: 15px !important; background: #fbfcfb !important; border-color: #dfe6e2 !important; box-shadow: none !important; } #dgh-app .dgh-option:hover { transform: translateY(-1px) !important; box-shadow: 0 8px 20px rgba(7,24,44,.05) !important; } #dgh-app .dgh-option.is-selected { background: #f0f6ef !important; border-color: var(--green-dark) !important; box-shadow: inset 0 0 0 1px var(--green-dark) !important; } #dgh-app .dgh-option-copy strong { font-size: 14px !important; } #dgh-app .dgh-option-copy span { font-size: 11.5px !important; line-height: 1.35 !important; } #dgh-app .dgh-option-dot { width: 22px !important; height: 22px !important; flex-basis: 22px !important; } #dgh-app .dgh-input { height: 56px !important; border-radius: 14px !important; font-size: 16px !important; } #dgh-app .dgh-actions { margin-top: 24px !important; } #dgh-app .dgh-btn { min-height: 50px !important; padding: 0 20px !important; font-size: 13.5px !important; } #dgh-app .dgh-progress-meta { font-size: 10px !important; } #dgh-app .dgh-progress-track { height: 5px !important; } #dgh-app .dgh-footer { max-width: 840px !important; } #dgh-app .dgh-analysis { min-height: 430px !important; } #dgh-app .dgh-analysis-copy { font-size: clamp(25px, 3.7vw, 36px) !important; } #dgh-app .dgh-results-hero { gap: 22px !important; } #dgh-app .dgh-score-wrap { min-height: 220px !important; border-radius: 22px !important; } #dgh-app .dgh-score-ring { width: 156px !important; height: 156px !important; } #dgh-app .dgh-score-number { font-size: 50px !important; } #dgh-app .dgh-pillars, #dgh-app .dgh-insights { gap: 10px !important; } #dgh-app .dgh-pillar, #dgh-app .dgh-insight { border-radius: 16px !important; padding: 15px !important; } #dgh-app .dgh-offer { border-radius: 20px !important; padding: 24px !important; } #dgh-app .dgh-offer h3 { font-size: clamp(23px, 3vw, 31px) !important; } @media (max-width: 767px) { #dgh-app { padding: 10px !important; border-radius: 0 !important; min-height: 100svh !important; } #dgh-app .dgh-topbar { padding: 0 2px; } #dgh-app .dgh-stage { min-height: 0 !important; padding: 14px 0 8px !important; } #dgh-app .dgh-card, #dgh-app .dgh-card-wide { width: 100% !important; padding: 22px 16px !important; border-radius: 18px !important; box-shadow: 0 10px 28px rgba(7,24,44,.07) !important; } #dgh-app .dgh-title, #dgh-app .dgh-title-small { font-size: clamp(29px, 8.7vw, 37px) !important; line-height: 1.05 !important; } #dgh-app .dgh-lead { font-size: 14px !important; line-height: 1.55 !important; margin-top: 14px !important; } #dgh-app .dgh-benefits { margin-top: 18px !important; grid-template-columns: 1fr !important; gap: 7px !important; } #dgh-app .dgh-benefit { min-height: 0 !important; padding: 13px 14px !important; border-radius: 13px !important; } #dgh-app .dgh-progress-wrap { margin-top: 12px !important; } #dgh-app .dgh-question { font-size: clamp(24px, 7.2vw, 31px) !important; line-height: 1.1 !important; } #dgh-app .dgh-helper { font-size: 12.5px !important; } #dgh-app .dgh-options { grid-template-columns: 1fr !important; gap: 8px !important; } #dgh-app .dgh-option { min-height: 64px !important; padding: 12px 13px !important; border-radius: 13px !important; } #dgh-app .dgh-option-copy strong { font-size: 13.5px !important; } #dgh-app .dgh-option-copy span { font-size: 11px !important; } #dgh-app .dgh-actions { display: grid !important; grid-template-columns: 1fr !important; gap: 8px !important; margin-top: 18px !important; } #dgh-app .dgh-btn { width: 100% !important; min-height: 48px !important; font-size: 13px !important; } #dgh-app .dgh-btn-ghost { order: 2; } #dgh-app .dgh-results-hero, #dgh-app .dgh-insights, #dgh-app .dgh-offer { grid-template-columns: 1fr !important; } #dgh-app .dgh-pillars { grid-template-columns: 1fr 1fr !important; } #dgh-app .dgh-offer { padding: 18px 16px !important; } } @media (max-width: 420px) { #dgh-app .dgh-card, #dgh-app .dgh-card-wide { padding: 20px 14px !important; } #dgh-app .dgh-title, #dgh-app .dgh-title-small { font-size: 28px !important; } #dgh-app .dgh-question { font-size: 24px !important; } #dgh-app .dgh-pillars { grid-template-columns: 1fr !important; } } /* V1.4 SIGNATURE EXPERIENCE — MOBILE-FIRST, QUIETLY PREMIUM */ #dgh-app { min-height: 760px !important; background: #f5f7f5 !important; border: 1px solid #e3e9e5 !important; border-radius: 28px !important; padding: 20px !important; } #dgh-app .dgh-orb { display:none !important; } #dgh-app .dgh-topbar, #dgh-app .dgh-footer { width:min(100%,1080px) !important; } #dgh-app .dgh-progress-wrap { width:min(100%,760px) !important; } #dgh-app .dgh-stage { width:min(100%,1080px) !important; min-height:600px !important; padding:28px 0 18px !important; } #dgh-app .dgh-card { width:min(100%,720px) !important; background:#fff !important; border:1px solid #e3e8e5 !important; border-radius:24px !important; box-shadow:0 18px 60px rgba(7,24,44,.075) !important; padding:40px !important; backdrop-filter:none !important; } #dgh-app .dgh-card-wide { width:min(100%,1040px) !important; } #dgh-app .dgh-welcome-card { display:grid !important; grid-template-columns:minmax(0,1.08fr) minmax(300px,.72fr) !important; gap:54px !important; align-items:center !important; padding:50px !important; overflow:hidden; } #dgh-app .dgh-welcome-copy { min-width:0; } #dgh-app .dgh-title { max-width:650px !important; font-size:clamp(38px,5vw,62px) !important; line-height:1.01 !important; letter-spacing:-.052em !important; } #dgh-app .dgh-question { font-size:clamp(28px,3.6vw,40px) !important; line-height:1.08 !important; letter-spacing:-.036em !important; } #dgh-app .dgh-lead { max-width:590px !important; font-size:16px !important; line-height:1.68 !important; color:#637186 !important; } #dgh-app .dgh-kicker { font-size:9px !important; letter-spacing:.18em !important; margin-bottom:18px !important; } #dgh-app .dgh-trust-line { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:24px; color:#435268; font-size:12px; font-weight:750; } #dgh-app .dgh-trust-line span { position:relative; padding-left:15px; } #dgh-app .dgh-trust-line span:before { content:""; position:absolute; left:0; top:50%; width:6px; height:6px; border-radius:50%; background:var(--green); transform:translateY(-50%); } #dgh-app .dgh-welcome-actions { justify-content:flex-start !important; margin-top:30px !important; } #dgh-app .dgh-time-note { margin:13px 0 0; color:#7a8797; font-size:10.5px; line-height:1.5; } #dgh-app .dgh-welcome-visual { min-height:390px; position:relative; display:grid; place-items:center; border-radius:22px; background:#07182c; overflow:hidden; } #dgh-app .dgh-welcome-visual:after { content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 40%,rgba(95,143,88,.22),transparent 42%); } #dgh-app .dgh-signal-orbit { position:absolute; border:1px solid rgba(220,235,216,.16); border-radius:50%; } #dgh-app .orbit-one { width:300px; height:300px; } #dgh-app .orbit-two { width:230px; height:230px; } #dgh-app .dgh-wellness-preview { position:relative; z-index:2; width:210px; padding:25px 24px; text-align:center; border:1px solid rgba(255,255,255,.13); border-radius:20px; background:rgba(255,255,255,.075); box-shadow:0 20px 50px rgba(0,0,0,.20); } #dgh-app .dgh-preview-label { display:block; color:#b9ccb7; font-size:8px; font-weight:850; letter-spacing:.15em; } #dgh-app .dgh-preview-score { margin-top:15px; color:#fff; font-size:72px; line-height:.95; font-weight:800; letter-spacing:-.07em; } #dgh-app .dgh-preview-caption { display:block; margin-top:8px; color:#dcebd8; font-size:11px; font-weight:700; } #dgh-app .dgh-preview-bars { display:grid; gap:7px; margin-top:22px; } #dgh-app .dgh-preview-bars span { display:block; width:var(--w); height:4px; border-radius:999px; background:#70a067; } #dgh-app .dgh-question-head { margin-bottom:22px !important; } #dgh-app .dgh-question-number { color:var(--green-dark) !important; font-size:9px !important; letter-spacing:.18em !important; } #dgh-app .dgh-helper { font-size:13px !important; line-height:1.55 !important; color:#6b788b !important; } #dgh-app .dgh-options { grid-template-columns:1fr !important; gap:9px !important; } #dgh-app .dgh-option { min-height:66px !important; padding:12px 14px !important; border-radius:13px !important; background:#fbfcfb !important; } #dgh-app .dgh-option:hover { transform:none !important; background:#f5f8f5 !important; box-shadow:none !important; } #dgh-app .dgh-option.is-selected { background:#eef5ed !important; } #dgh-app .dgh-option-copy strong { font-size:13.5px !important; } #dgh-app .dgh-option-copy span { font-size:11px !important; color:#748093 !important; } #dgh-app .dgh-actions { margin-top:22px !important; } #dgh-app .dgh-btn { min-height:48px !important; border-radius:999px !important; font-size:13px !important; } #dgh-app .dgh-btn:disabled { opacity:.42 !important; cursor:not-allowed !important; transform:none !important; box-shadow:none !important; } #dgh-app .dgh-input { height:54px !important; border-radius:13px !important; font-size:15px !important; } @media(max-width:767px){ #dgh-app { min-height:100svh !important; padding:10px !important; border-radius:0 !important; border-left:0 !important; border-right:0 !important; } #dgh-app .dgh-topbar { min-height:36px !important; } #dgh-app .dgh-progress-wrap { margin-top:12px !important; } #dgh-app .dgh-stage { min-height:0 !important; display:block !important; padding:14px 0 8px !important; } #dgh-app .dgh-card, #dgh-app .dgh-card-wide { width:100% !important; margin:0 !important; padding:22px 16px !important; border-radius:18px !important; box-shadow:0 10px 30px rgba(7,24,44,.06) !important; } #dgh-app .dgh-welcome-card { display:block !important; padding:24px 17px 18px !important; } #dgh-app .dgh-welcome-visual { min-height:210px !important; margin-top:22px; border-radius:16px; } #dgh-app .dgh-wellness-preview { width:165px; padding:18px; border-radius:16px; } #dgh-app .dgh-preview-score { font-size:52px; } #dgh-app .orbit-one { width:210px; height:210px; } #dgh-app .orbit-two { width:155px; height:155px; } #dgh-app .dgh-title { font-size:clamp(30px,9.2vw,39px) !important; line-height:1.03 !important; } #dgh-app .dgh-lead { margin-top:14px !important; font-size:14px !important; line-height:1.58 !important; } #dgh-app .dgh-trust-line { display:grid; gap:7px; margin-top:18px; font-size:11px; } #dgh-app .dgh-welcome-actions { display:grid !important; grid-template-columns:1fr !important; margin-top:22px !important; } #dgh-app .dgh-question { font-size:clamp(23px,7vw,29px) !important; } #dgh-app .dgh-options { gap:7px !important; } #dgh-app .dgh-option { min-height:60px !important; padding:11px 12px !important; } #dgh-app .dgh-actions { display:grid !important; grid-template-columns:1fr !important; gap:8px !important; margin-top:18px !important; } #dgh-app .dgh-btn { width:100% !important; min-height:47px !important; } #dgh-app .dgh-btn-ghost { order:2; } #dgh-app .dgh-footer { font-size:9px !important; padding:10px 6px 0 !important; } } @media(max-width:374px){ #dgh-app .dgh-card, #dgh-app .dgh-card-wide { padding:20px 13px !important; } #dgh-app .dgh-title { font-size:28px !important; } #dgh-app .dgh-question { font-size:22px !important; } #dgh-app .dgh-welcome-visual { min-height:190px !important; } } /* PHASE 1.5 — PREMIUM SALES BRIDGE */ #dgh-app .dgh-sales-bridge { margin-top: 22px; padding: clamp(22px, 4vw, 34px); border-radius: 22px; background: var(--navy); color: var(--white); position: relative; overflow: hidden; } #dgh-app .dgh-sales-bridge::after { content: ""; position: absolute; width: 180px; height: 180px; right: -70px; top: -70px; border-radius: 50%; background: rgba(95,143,88,.16); pointer-events: none; } #dgh-app .dgh-sales-eyebrow { position: relative; z-index: 1; margin: 0 0 10px; color: #cfe0ca; font-size: 10px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; } #dgh-app .dgh-sales-bridge h3 { position: relative; z-index: 1; margin: 0; max-width: 650px; color: var(--white); font-size: clamp(25px, 3.6vw, 36px); line-height: 1.08; letter-spacing: -.025em; } #dgh-app .dgh-sales-bridge p { position: relative; z-index: 1; max-width: 650px; margin: 13px 0 0; color: #dbe4ee; font-size: 14px; line-height: 1.65; } #dgh-app .dgh-sales-points { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 20px 0; } #dgh-app .dgh-sales-point { padding: 13px 14px; border: 1px solid rgba(255,255,255,.13); border-radius: 14px; background: rgba(255,255,255,.055); color: #f4f7fb; font-size: 12px; line-height: 1.4; } #dgh-app .dgh-sales-bridge .dgh-btn-primary, #dgh-app .dgh-sales-bridge .dgh-btn-primary:link, #dgh-app .dgh-sales-bridge .dgh-btn-primary:visited { position: relative; z-index: 1; background: var(--green-dark) !important; border-color: var(--green-dark) !important; color: var(--white) !important; } #dgh-app .dgh-sales-bridge .dgh-btn-primary:hover, #dgh-app .dgh-sales-bridge .dgh-btn-primary:focus, #dgh-app .dgh-sales-bridge .dgh-btn-primary:active { background: var(--green) !important; border-color: var(--green) !important; color: var(--white) !important; } #dgh-app .dgh-sales-note { position: relative; z-index: 1; margin-top: 10px; color: #bfcbd8; font-size: 10.5px; line-height: 1.5; } @media (max-width: 767px) { #dgh-app .dgh-sales-bridge { padding: 20px 16px; border-radius: 18px; } #dgh-app .dgh-sales-bridge h3 { font-size: 25px; } #dgh-app .dgh-sales-points { grid-template-columns: 1fr; gap: 7px; margin: 17px 0; } #dgh-app .dgh-sales-point { padding: 11px 12px; } #dgh-app .dgh-sales-bridge .dgh-btn { width: 100% !important; } } /* PHASE 1.6 — SINGLE PREMIUM SALES CTA */ #dgh-app .dgh-insights + .dgh-sales-bridge { margin-top: 24px; } #dgh-app .dgh-sales-bridge + .dgh-actions { margin-top: 16px !important; } @media (max-width: 767px) { #dgh-app .dgh-insights + .dgh-sales-bridge { margin-top: 18px; } #dgh-app .dgh-sales-bridge + .dgh-actions { margin-top: 12px !important; } } /* PHASE 1.8 — PROFESSIONAL WELLNESS ASSESSMENT REPORT */ #dgh-app .dgh-report-header { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr); gap: 28px; align-items: stretch; } #dgh-app .dgh-report-intro { padding: 4px 0; } #dgh-app .dgh-report-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; } #dgh-app .dgh-report-chip { display: inline-flex; align-items: center; min-height: 32px; padding: 0 12px; border: 1px solid #dfe7e2; border-radius: 999px; background: #f7faf8; color: var(--navy); font-size: 11px; font-weight: 800; } #dgh-app .dgh-report-summary { max-width: 680px; margin: 18px 0 0; color: var(--muted); font-size: 14.5px; line-height: 1.7; } #dgh-app .dgh-clinical-card { display: flex; flex-direction: column; justify-content: center; min-height: 300px; padding: 26px; border-radius: 24px; background: var(--navy); color: var(--white); position: relative; overflow: hidden; } #dgh-app .dgh-clinical-card::after { content: ""; position: absolute; width: 160px; height: 160px; right: -55px; top: -55px; border-radius: 50%; background: rgba(95,143,88,.16); } #dgh-app .dgh-score-caption { position: relative; z-index: 1; margin-bottom: 16px; color: #cfe0ca; font-size: 9px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; } #dgh-app .dgh-score-ring { position: relative; z-index: 1; margin-inline: auto; } #dgh-app .dgh-score-context { position: relative; z-index: 1; margin-top: 16px; text-align: center; color: #dbe4ee; font-size: 12px; line-height: 1.5; } #dgh-app .dgh-report-section { margin-top: 28px; padding-top: 26px; border-top: 1px solid #e5ebe7; } #dgh-app .dgh-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 18px; margin-bottom: 16px; } #dgh-app .dgh-section-heading h2 { margin: 0; color: var(--navy); font-size: clamp(22px, 3vw, 30px); line-height: 1.12; letter-spacing: -.025em; } #dgh-app .dgh-section-heading p { max-width: 520px; margin: 0; color: var(--muted); font-size: 12.5px; line-height: 1.55; text-align: right; } #dgh-app .dgh-domain-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; } #dgh-app .dgh-domain-card { padding: 16px; border: 1px solid #e1e7e3; border-radius: 17px; background: #fbfcfb; } #dgh-app .dgh-domain-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; } #dgh-app .dgh-domain-top strong { color: var(--navy); font-size: 12px; } #dgh-app .dgh-domain-score { color: var(--green-dark); font-size: 17px; font-weight: 900; } #dgh-app .dgh-domain-track { height: 6px; margin-top: 13px; border-radius: 999px; background: #e7ede9; overflow: hidden; } #dgh-app .dgh-domain-fill { height: 100%; border-radius: inherit; background: var(--green-dark); transform-origin: left; animation: dghReportFill .9s ease both; } #dgh-app .dgh-domain-note { margin-top: 11px; color: var(--muted); font-size: 10.5px; line-height: 1.45; } @keyframes dghReportFill { from { transform: scaleX(0); } to { transform: scaleX(1); } } #dgh-app .dgh-priority-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 12px; } #dgh-app .dgh-assessment-panel { padding: 22px; border-radius: 19px; border: 1px solid #e0e7e2; background: #fff; } #dgh-app .dgh-assessment-panel.is-focus { background: #f2f7f1; border-color: #cfdfcc; } #dgh-app .dgh-panel-label { display: block; margin-bottom: 10px; color: var(--green-dark); font-size: 9px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; } #dgh-app .dgh-assessment-panel h3 { margin: 0; color: var(--navy); font-size: 20px; line-height: 1.2; } #dgh-app .dgh-assessment-panel p { margin: 10px 0 0; color: var(--muted); font-size: 13px; line-height: 1.65; } #dgh-app .dgh-action-plan { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; } #dgh-app .dgh-action-step { padding: 17px; border-radius: 17px; background: #f7faf8; border: 1px solid #e1e7e3; } #dgh-app .dgh-action-icon { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 15px; border-radius: 15px; border: 1px solid #cfe0cc; background: radial-gradient(circle at 30% 20%, rgba(255,255,255,.96), rgba(240,247,239,.92)); box-shadow: 0 8px 20px rgba(1,54,96,.08), inset 0 1px 0 rgba(255,255,255,.9); color: var(--green-dark); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; } #dgh-app .dgh-action-icon svg { width: 23px; height: 23px; display: block; stroke: currentColor; } #dgh-app .dgh-action-step { position: relative; overflow: hidden; transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease; } #dgh-app .dgh-action-step::after { content: ""; position: absolute; width: 92px; height: 92px; right: -38px; bottom: -44px; border-radius: 50%; background: rgba(95,143,88,.07); pointer-events: none; } #dgh-app .dgh-action-step:hover { transform: translateY(-3px); border-color: #c7d9c4; background: #ffffff; box-shadow: 0 14px 34px rgba(1,54,96,.09); } #dgh-app .dgh-action-step:hover .dgh-action-icon { transform: translateY(-1px) scale(1.03); border-color: #b9d0b5; box-shadow: 0 10px 24px rgba(1,54,96,.11), inset 0 1px 0 rgba(255,255,255,.95); } #dgh-app .dgh-action-step strong, #dgh-app .dgh-action-step span { position: relative; z-index: 1; } @media (prefers-reduced-motion: reduce) { #dgh-app .dgh-action-step, #dgh-app .dgh-action-icon { transition: none; } } #dgh-app .dgh-action-step strong { display: block; color: var(--navy); font-size: 13px; } #dgh-app .dgh-action-step span { display: block; margin-top: 7px; color: var(--muted); font-size: 11px; line-height: 1.5; } #dgh-app .dgh-clinical-note { display: flex; gap: 12px; align-items: flex-start; margin-top: 18px; padding: 14px 15px; border-left: 3px solid var(--green-dark); background: #f8faf9; color: var(--muted); font-size: 11px; line-height: 1.55; } #dgh-app .dgh-clinical-note strong { color: var(--navy); } @media (max-width: 900px) { #dgh-app .dgh-report-header, #dgh-app .dgh-priority-grid { grid-template-columns: 1fr; } #dgh-app .dgh-domain-grid { grid-template-columns: 1fr 1fr; } #dgh-app .dgh-section-heading { display: block; } #dgh-app .dgh-section-heading p { margin-top: 8px; text-align: left; } } @media (max-width: 767px) { #dgh-app .dgh-clinical-card { min-height: 250px; padding: 21px 16px; border-radius: 19px; } #dgh-app .dgh-report-summary { font-size: 13px; line-height: 1.62; } #dgh-app .dgh-report-meta { margin-top: 14px; } #dgh-app .dgh-report-chip { min-height: 29px; padding: 0 10px; font-size: 10px; } #dgh-app .dgh-report-section { margin-top: 22px; padding-top: 21px; } #dgh-app .dgh-domain-grid, #dgh-app .dgh-action-plan { grid-template-columns: 1fr; } #dgh-app .dgh-domain-card, #dgh-app .dgh-assessment-panel, #dgh-app .dgh-action-step { padding: 15px; border-radius: 15px; } #dgh-app .dgh-section-heading h2 { font-size: 22px; } } #dgh-app .dgh-action-icon{ display:flex !important; align-items:center !important; justify-content:center !important; padding:0 !important; line-height:0 !important; } #dgh-app .dgh-action-icon svg{ display:block !important; width:22px !important; height:22px !important; flex:0 0 22px !important; margin:0 !important; transform:none !important; } /* ========================================================== V2.0 — FINAL PREMIUM PERSONALISED WELLNESS REPORT ========================================================== */ #dgh-app .dgh-analysis-overlay{ position:fixed; inset:0; z-index:99999; display:flex; align-items:center; justify-content:center; padding:22px; background:rgba(246,249,247,.96); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); opacity:0; visibility:hidden; transition:opacity .28s ease, visibility .28s ease; } #dgh-app .dgh-analysis-overlay.is-visible{opacity:1;visibility:visible} #dgh-app .dgh-analysis-box{ width:min(520px,100%); padding:34px; border:1px solid #dde7df; border-radius:28px; background:#fff; box-shadow:0 28px 80px rgba(1,54,96,.14); text-align:center; } #dgh-app .dgh-analysis-mark{ width:62px;height:62px;margin:0 auto 18px;border-radius:20px; display:flex;align-items:center;justify-content:center; color:var(--green-dark);background:#f0f6ef;border:1px solid #cfe0cc; } #dgh-app .dgh-analysis-mark svg{width:30px;height:30px;display:block} #dgh-app .dgh-analysis-title{ margin:0;color:var(--navy);font-size:clamp(23px,4vw,34px); line-height:1.12;letter-spacing:-.035em } #dgh-app .dgh-analysis-copy{ margin:10px auto 0;max-width:400px;color:var(--muted); font-size:13px;line-height:1.65 } #dgh-app .dgh-analysis-list{ margin:24px 0 0;padding:0;display:grid;gap:9px;text-align:left } #dgh-app .dgh-analysis-item{ display:flex;align-items:center;gap:11px;padding:11px 13px; border:1px solid #e5ebe7;border-radius:13px;background:#fafcfb; color:var(--navy);font-size:12px;font-weight:800; opacity:.35;transform:translateY(4px); transition:opacity .25s ease, transform .25s ease, border-color .25s ease } #dgh-app .dgh-analysis-item.is-active{ opacity:1;transform:none;border-color:#c9dbc6 } #dgh-app .dgh-analysis-check{ display:grid;place-items:center;width:22px;height:22px;border-radius:50%; background:#eaf3e8;color:var(--green-dark);font-size:12px;font-weight:900 } #dgh-app .dgh-analysis-bar{ height:6px;margin-top:22px;border-radius:999px;background:#e7ede9;overflow:hidden } #dgh-app .dgh-analysis-bar span{ display:block;width:0;height:100%;border-radius:inherit;background:var(--green-dark); transition:width 2.05s cubic-bezier(.2,.8,.2,1) } #dgh-app .dgh-analysis-overlay.is-visible .dgh-analysis-bar span{width:100%} #dgh-app .dgh-final-report{animation:dghReportEnter .65s ease both} @keyframes dghReportEnter{ from{opacity:0;transform:translateY(14px)} to{opacity:1;transform:none} } #dgh-app .dgh-report-hero{ position:relative;overflow:hidden;padding:34px;border-radius:28px; background: radial-gradient(circle at 88% 8%,rgba(95,143,88,.22),transparent 28%), linear-gradient(145deg,#012f54,#013660 58%,#082a45); color:#fff;box-shadow:0 24px 58px rgba(1,54,96,.20) } #dgh-app .dgh-report-hero::before{ content:"";position:absolute;inset:auto -90px -125px auto;width:290px;height:290px; border:1px solid rgba(255,255,255,.10);border-radius:50% } #dgh-app .dgh-report-hero-grid{ position:relative;z-index:1;display:grid; grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr); gap:28px;align-items:center } #dgh-app .dgh-report-eyebrow{ display:inline-flex;align-items:center;gap:8px;margin-bottom:14px; color:#cfe0ca;font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase } #dgh-app .dgh-report-eyebrow::before{ content:"";width:22px;height:1px;background:#7ea978 } #dgh-app .dgh-report-hero h1{ margin:0;max-width:650px;color:#fff;font-size:clamp(32px,5.3vw,58px); line-height:.99;letter-spacing:-.052em } #dgh-app .dgh-report-hero-copy{ max-width:630px;margin:17px 0 0;color:#dbe6ee;font-size:14px;line-height:1.72 } #dgh-app .dgh-report-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:21px} #dgh-app .dgh-report-tag{ min-height:30px;padding:0 11px;display:inline-flex;align-items:center; border:1px solid rgba(255,255,255,.15);border-radius:999px; background:rgba(255,255,255,.07);color:#eef5f8;font-size:10px;font-weight:800 } #dgh-app .dgh-hero-score{ position:relative;display:flex;flex-direction:column;align-items:center; justify-content:center;min-height:285px;padding:22px;border-radius:24px; border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07); box-shadow:inset 0 1px 0 rgba(255,255,255,.09) } #dgh-app .dgh-hero-score-label{ margin-bottom:15px;color:#cfe0ca;font-size:9px;font-weight:900; letter-spacing:.14em;text-transform:uppercase;text-align:center } #dgh-app .dgh-score-ring-premium{ --score-angle:0deg;position:relative;width:168px;height:168px;border-radius:50%; display:grid;place-items:center; background:conic-gradient(#86aa80 var(--score-angle),rgba(255,255,255,.13) 0); transform:rotate(-90deg);animation:dghScorePulse .9s ease both } #dgh-app .dgh-score-ring-premium::before{ content:"";position:absolute;inset:11px;border-radius:50%;background:#063353 } #dgh-app .dgh-score-ring-content{ position:relative;z-index:1;transform:rotate(90deg);text-align:center } #dgh-app .dgh-score-ring-content strong{ display:block;color:#fff;font-size:51px;line-height:.9;letter-spacing:-.055em } #dgh-app .dgh-score-ring-content span{ display:block;margin-top:8px;color:#bfd3dd;font-size:9px;font-weight:800; letter-spacing:.08em;text-transform:uppercase } #dgh-app .dgh-score-band{ margin-top:15px;color:#fff;font-size:12px;font-weight:800;text-align:center;line-height:1.45 } @keyframes dghScorePulse{ 0%{opacity:0;transform:rotate(-90deg) scale(.88)} 100%{opacity:1;transform:rotate(-90deg) scale(1)} } #dgh-app .dgh-report-block{margin-top:20px} #dgh-app .dgh-report-title-row{ display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:13px } #dgh-app .dgh-report-title-row h2{ margin:0;color:var(--navy);font-size:clamp(23px,3vw,32px); line-height:1.08;letter-spacing:-.035em } #dgh-app .dgh-report-title-row p{ max-width:520px;margin:0;color:var(--muted);font-size:12px;line-height:1.58;text-align:right } #dgh-app .dgh-focus-layout{ display:grid;grid-template-columns:1.08fr .92fr;gap:12px } #dgh-app .dgh-focus-card{ position:relative;overflow:hidden;padding:25px;border-radius:22px; border:1px solid #dbe5de;background:#fff;box-shadow:0 12px 32px rgba(1,54,96,.065) } #dgh-app .dgh-focus-card.is-primary{ background:#f1f7f0;border-color:#cbdcc8 } #dgh-app .dgh-card-kicker{ display:block;margin-bottom:12px;color:var(--green-dark);font-size:9px;font-weight:900; letter-spacing:.15em;text-transform:uppercase } #dgh-app .dgh-focus-card h3{ margin:0;color:var(--navy);font-size:clamp(23px,3vw,31px);line-height:1.08;letter-spacing:-.035em } #dgh-app .dgh-focus-card p{ margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.7 } #dgh-app .dgh-focus-reason{ display:flex;gap:10px;align-items:flex-start;margin-top:17px;padding-top:15px; border-top:1px solid rgba(1,54,96,.09);color:var(--navy);font-size:11px;line-height:1.55 } #dgh-app .dgh-focus-reason svg{ flex:0 0 18px;width:18px;height:18px;color:var(--green-dark);margin-top:1px } #dgh-app .dgh-story-grid{ display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px } #dgh-app .dgh-story-card{ position:relative;overflow:hidden;padding:20px;border-radius:20px; border:1px solid #dfe7e2;background:#fbfcfb;transition:.22s ease } #dgh-app .dgh-story-card:hover{ transform:translateY(-2px);background:#fff;border-color:#cddccc; box-shadow:0 14px 30px rgba(1,54,96,.07) } #dgh-app .dgh-story-head{ display:flex;justify-content:space-between;align-items:flex-start;gap:12px } #dgh-app .dgh-story-name{ color:var(--navy);font-size:13px;font-weight:900 } #dgh-app .dgh-story-status{ padding:5px 8px;border-radius:999px;background:#eef5ed;color:var(--green-dark); font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.07em } #dgh-app .dgh-story-score{ display:flex;align-items:end;gap:5px;margin-top:16px;color:var(--navy) } #dgh-app .dgh-story-score strong{font-size:31px;line-height:.9;letter-spacing:-.04em} #dgh-app .dgh-story-score span{color:var(--muted);font-size:10px;font-weight:800} #dgh-app .dgh-story-track{ height:7px;margin-top:13px;border-radius:999px;background:#e5ece7;overflow:hidden } #dgh-app .dgh-story-fill{ height:100%;border-radius:inherit;background:linear-gradient(90deg,#557f50,#83a77d); transform-origin:left;animation:dghStoryFill 1s cubic-bezier(.2,.8,.2,1) both } @keyframes dghStoryFill{from{transform:scaleX(0)}to{transform:scaleX(1)}} #dgh-app .dgh-story-note{ margin-top:12px;color:var(--muted);font-size:11px;line-height:1.55 } #dgh-app .dgh-journey{ position:relative;padding:25px;border-radius:22px;border:1px solid #dfe7e2;background:#fff } #dgh-app .dgh-journey-line{ position:absolute;left:46px;top:52px;bottom:52px;width:1px;background:#d9e4da } #dgh-app .dgh-journey-list{position:relative;display:grid;gap:13px} #dgh-app .dgh-journey-step{ display:grid;grid-template-columns:44px 1fr;gap:15px;align-items:start } #dgh-app .dgh-journey-icon{ position:relative;z-index:1;width:44px;height:44px;border-radius:15px; display:flex;align-items:center;justify-content:center;padding:0;line-height:0; border:1px solid #cbdcc8;background:#f1f7f0;color:var(--green-dark); box-shadow:0 8px 20px rgba(1,54,96,.07) } #dgh-app .dgh-journey-icon svg{display:block;width:21px;height:21px;margin:0} #dgh-app .dgh-journey-copy{ padding:11px 15px 13px;border-radius:15px;background:#f8faf9;border:1px solid #e4eae6 } #dgh-app .dgh-journey-copy small{ display:block;margin-bottom:4px;color:var(--green-dark);font-size:8px;font-weight:900; letter-spacing:.13em;text-transform:uppercase } #dgh-app .dgh-journey-copy strong{ display:block;color:var(--navy);font-size:13px } #dgh-app .dgh-journey-copy span{ display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.5 } #dgh-app .dgh-confidence{ display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:start; margin-top:12px;padding:20px;border-radius:20px;background:#f7faf8;border:1px solid #dfe7e2 } #dgh-app .dgh-confidence-icon{ width:44px;height:44px;border-radius:15px;display:flex;align-items:center;justify-content:center; color:var(--green-dark);background:#fff;border:1px solid #cfe0cc;line-height:0 } #dgh-app .dgh-confidence-icon svg{width:21px;height:21px;display:block} #dgh-app .dgh-confidence h3{ margin:0;color:var(--navy);font-size:18px;line-height:1.2 } #dgh-app .dgh-confidence p{ margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.65 } #dgh-app .dgh-final-cta{ position:relative;overflow:hidden;margin-top:22px;padding:32px;border-radius:26px; background:linear-gradient(145deg,#f1f7f0,#ffffff 72%);border:1px solid #cbdcc8; box-shadow:0 18px 46px rgba(1,54,96,.09) } #dgh-app .dgh-final-cta::after{ content:"";position:absolute;right:-75px;top:-85px;width:210px;height:210px;border-radius:50%; background:rgba(95,143,88,.10) } #dgh-app .dgh-final-cta-grid{ position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:center } #dgh-app .dgh-final-cta .dgh-sales-eyebrow{margin-bottom:9px} #dgh-app .dgh-final-cta h3{ margin:0;color:var(--navy);font-size:clamp(28px,4.2vw,45px);line-height:1.02;letter-spacing:-.045em } #dgh-app .dgh-final-cta p{ margin:14px 0 0;color:var(--muted);font-size:13px;line-height:1.68 } #dgh-app .dgh-final-benefits{display:grid;gap:9px} #dgh-app .dgh-final-benefit{ display:flex;gap:10px;align-items:center;padding:11px 12px;border-radius:13px; background:#fff;border:1px solid #dfe7e2;color:var(--navy);font-size:11px;font-weight:800 } #dgh-app .dgh-final-benefit i{ display:grid;place-items:center;width:21px;height:21px;border-radius:50%; background:#eaf3e8;color:var(--green-dark);font-style:normal;font-size:11px } #dgh-app .dgh-final-cta .dgh-btn{width:100%;margin-top:13px;justify-content:center} #dgh-app .dgh-final-microcopy{ margin-top:9px;color:var(--muted);font-size:9.5px;text-align:center;line-height:1.5 } #dgh-app .dgh-report-disclaimer{ margin-top:17px;padding:14px 15px;border-left:3px solid var(--green-dark); background:#f8faf9;color:var(--muted);font-size:10.5px;line-height:1.58 } #dgh-app .dgh-report-disclaimer strong{color:var(--navy)} @media(max-width:900px){ #dgh-app .dgh-report-hero-grid, #dgh-app .dgh-focus-layout, #dgh-app .dgh-final-cta-grid{grid-template-columns:1fr} #dgh-app .dgh-report-title-row{display:block} #dgh-app .dgh-report-title-row p{margin-top:7px;text-align:left} #dgh-app .dgh-hero-score{min-height:250px} } @media(max-width:767px){ #dgh-app .dgh-analysis-box{padding:25px 18px;border-radius:21px} #dgh-app .dgh-report-hero{padding:23px 17px;border-radius:22px} #dgh-app .dgh-report-hero h1{font-size:38px} #dgh-app .dgh-report-hero-copy{font-size:12.5px;line-height:1.65} #dgh-app .dgh-hero-score{min-height:225px;padding:18px;border-radius:19px} #dgh-app .dgh-score-ring-premium{width:148px;height:148px} #dgh-app .dgh-score-ring-content strong{font-size:45px} #dgh-app .dgh-report-title-row h2{font-size:24px} #dgh-app .dgh-story-grid{grid-template-columns:1fr} #dgh-app .dgh-focus-card, #dgh-app .dgh-journey, #dgh-app .dgh-final-cta{padding:19px 16px;border-radius:18px} #dgh-app .dgh-journey-line{left:37px} #dgh-app .dgh-journey-step{grid-template-columns:40px 1fr;gap:11px} #dgh-app .dgh-journey-icon{width:40px;height:40px;border-radius:13px} #dgh-app .dgh-confidence{grid-template-columns:1fr;padding:16px} #dgh-app .dgh-final-cta h3{font-size:31px} } @media(prefers-reduced-motion:reduce){ #dgh-app .dgh-final-report, #dgh-app .dgh-score-ring-premium, #dgh-app .dgh-story-fill{animation:none!important} } (function () { "use strict"; const RESET_URL = "https://dogguthealth.com/14-day-dog-gut-reset/"; const STORAGE_KEY = "dghWellnessExperienceV1"; const app = document.getElementById("dgh-app"); if (!app || app.dataset.ready === "true") return; app.dataset.ready = "true"; const screen = app.querySelector("#dgh-screen"); const progressWrap = app.querySelector(".dgh-progress-wrap"); const progressFill = app.querySelector("#dgh-progress-fill"); const progressTrack = app.querySelector(".dgh-progress-track"); const progressCopy = app.querySelector("#dgh-progress-copy"); const progressCount = app.querySelector("#dgh-progress-count"); const restartButton = app.querySelector(".dgh-exit"); const questions = [ { id: "name", type: "text", number: 1, title: "First, what is your best friend's name?", helper: "We will personalise the entire Wellness Story around them.", placeholder: "Your dog's name", required: true }, { id: "age", type: "choice", number: 2, title: "What life stage is {dog} in?", helper: "Life stage shapes digestion, energy needs and daily support.", options: [ { value: "puppy", label: "Puppy", detail: "Under 1 year", scores: { lifestyle: 82 } }, { value: "young", label: "Young adult", detail: "1–3 years", scores: { lifestyle: 88 } }, { value: "adult", label: "Adult", detail: "4–7 years", scores: { lifestyle: 82 } }, { value: "senior", label: "Senior", detail: "8 years or older", scores: { lifestyle: 72 } } ] }, { id: "energy", type: "choice", number: 3, title: "How would you describe {dog}'s everyday energy?", helper: "Choose the answer that best reflects most days.", options: [ { value: "thriving", label: "Thriving", detail: "Energetic and eager most days", scores: { lifestyle: 100, digestion: 92 } }, { value: "balanced", label: "Balanced", detail: "Normal and consistent energy", scores: { lifestyle: 82, digestion: 82 } }, { value: "variable", label: "Variable", detail: "Changes noticeably from day to day", scores: { lifestyle: 62, digestion: 65 } }, { value: "low", label: "Needs support", detail: "Often less active than expected", scores: { lifestyle: 42, digestion: 50 } } ] }, { id: "digestion", type: "choice", number: 4, title: "How settled does {dog}'s digestion usually seem?", helper: "Think about gas, tummy noises, appetite changes and general comfort.", options: [ { value: "settled", label: "Comfortable and consistent", detail: "Rarely shows digestive sensitivity", scores: { digestion: 100 } }, { value: "occasional", label: "Occasionally sensitive", detail: "Minor changes from time to time", scores: { digestion: 76 } }, { value: "frequent", label: "Frequently unsettled", detail: "Regular sensitivity or inconsistency", scores: { digestion: 48 } }, { value: "significant", label: "Significant changes", detail: "Currently needs closer attention", scores: { digestion: 28 } } ] }, { id: "stool", type: "choice", number: 5, title: "Which best describes {dog}'s stool quality?", helper: "Consistency is one useful signal of digestive balance.", options: [ { value: "consistent", label: "Well formed and consistent", detail: "Healthy appearance most of the time", scores: { digestion: 100 } }, { value: "mostly", label: "Usually healthy", detail: "With occasional changes", scores: { digestion: 78 } }, { value: "soft", label: "Frequently soft or loose", detail: "Noticeably inconsistent", scores: { digestion: 48 } }, { value: "concerning", label: "Often difficult or concerning", detail: "Regularly outside their normal pattern", scores: { digestion: 25 } } ] }, { id: "skin", type: "choice", number: 6, title: "How is {dog}'s skin and coat at the moment?", helper: "Skin, licking and coat quality can reflect many different influences.", options: [ { value: "healthy", label: "Comfortable and healthy", detail: "Minimal scratching with a healthy coat", scores: { skin: 100 } }, { value: "occasional", label: "Occasional changes", detail: "Some scratching, licking or dullness", scores: { skin: 74 } }, { value: "frequent", label: "Frequent irritation", detail: "Regular itching, licking or coat changes", scores: { skin: 45 } }, { value: "persistent", label: "Persistent concerns", detail: "Significant or ongoing discomfort", scores: { skin: 25 } } ] }, { id: "diet", type: "choice", number: 7, title: "What does {dog} eat most often?", helper: "There is no judgement here. We use this only to shape practical next steps.", options: [ { value: "fresh", label: "Fresh or professionally formulated raw", detail: "Complete and balanced", scores: { nutrition: 94 } }, { value: "premium", label: "Premium complete food", detail: "High-quality kibble or wet food", scores: { nutrition: 82 } }, { value: "standard", label: "Standard commercial food", detail: "Mainly supermarket kibble or wet food", scores: { nutrition: 62 } }, { value: "mixed", label: "Mixed diet", detail: "A combination of food types", scores: { nutrition: 72 } }, { value: "home", label: "Home-cooked", detail: "Prepared at home", scores: { nutrition: 68 } }, { value: "unsure", label: "Not sure", detail: "I would like clearer guidance", scores: { nutrition: 56 } } ] }, { id: "treats", type: "choice", number: 8, title: "How often does {dog} receive treats or table extras?", helper: "Small extras can add up and affect dietary consistency.", options: [ { value: "rare", label: "Rarely", detail: "Only occasionally", scores: { nutrition: 92 } }, { value: "daily", label: "Once daily", detail: "Usually one planned treat", scores: { nutrition: 84 } }, { value: "several", label: "Several times daily", detail: "Multiple treats across the day", scores: { nutrition: 64 } }, { value: "frequent", label: "Frequently throughout the day", detail: "Treats or extras are very common", scores: { nutrition: 45 } } ] }, { id: "activity", type: "choice", number: 9, title: "What does {dog}'s usual activity level look like?", helper: "Movement, enrichment and rest all contribute to wellness resilience.", options: [ { value: "very", label: "Very active", detail: "Long walks, play or regular adventures", scores: { lifestyle: 98 } }, { value: "moderate", label: "Moderately active", detail: "Daily walks and regular play", scores: { lifestyle: 84 } }, { value: "indoors", label: "Mostly indoors", detail: "Some movement but limited variety", scores: { lifestyle: 62 } }, { value: "limited", label: "Limited exercise", detail: "Low activity due to routine or mobility", scores: { lifestyle: 45 } } ] }, { id: "goal", type: "choice", number: 10, title: "What would you most love to improve for {dog}?", helper: "This helps us make the final story feel relevant to your priority.", options: [ { value: "digestion", label: "Healthier digestion", detail: "More comfort and consistency" }, { value: "skin", label: "Skin and coat comfort", detail: "Less irritation and better coat vitality" }, { value: "energy", label: "Everyday energy", detail: "More consistent vitality" }, { value: "stool", label: "Stool consistency", detail: "A healthier daily pattern" }, { value: "immunity", label: "Immune resilience", detail: "Stronger everyday foundations" }, { value: "habits", label: "Long-term wellness habits", detail: "A clearer routine that is easier to follow" } ] } ]; let state = loadState() || { view: "welcome", step: 0, answers: {} }; function saveState() { try { localStorage.setItem(STORAGE_KEY, JSON.stringify(state)); } catch (error) {} } function loadState() { try { return JSON.parse(localStorage.getItem(STORAGE_KEY)); } catch (error) { return null; } } function dogName() { return (state.answers.name || "your dog").trim(); } function possessive(name) { return /s$/i.test(name) ? name + "'" : name + "'s"; } function personalise(text) { const name = dogName(); return text.replaceAll("{dog}", name).replaceAll("{dogPossessive}", possessive(name)); } function setProgress(visible) { progressWrap.hidden = !visible; restartButton.hidden = !visible && state.view !== "results"; if (!visible) return; const current = Math.min(state.step + 1, questions.length); const percentage = Math.round((current / questions.length) * 100); progressFill.style.width = percentage + "%"; progressTrack.setAttribute("aria-valuenow", String(percentage)); progressCount.textContent = current + " of " + questions.length; if (current <= 3) progressCopy.textContent = "Getting to know " + dogName(); else if (current { const focusable = screen.querySelector("input, button"); if (focusable && state.view !== "welcome") focusable.focus({ preventScroll: true }); }); } function welcomeScreen() { state.view = "welcome"; saveState(); render(`
Dog Gut Health Wellness Story™

Understand what your dog may be telling you.

A calm, personalised two-minute assessment that turns everyday signals into a clearer wellness picture and practical next steps.

10 thoughtful questions Personalised score Private and educational
${state.answers.name ? `` : ""}

Takes about 2 minutes · No diagnosis · No confusing medical language

`, false); } function questionScreen() { state.view = "question"; saveState(); const q = questions[state.step]; const existing = state.answers[q.id] || ""; const inputArea = q.type === "text" ? ` ` : `
${q.options.map(option => ` `).join("")}
`; render(`
Question ${q.number}

${escapeHtml(personalise(q.title))}

${escapeHtml(personalise(q.helper))}

${inputArea}
`, true); } function analysisScreen() { state.view = "analysis"; saveState(); render(`

Understanding ${escapeHtml(possessive(dogName()))} daily routine…

Turning your answers into a clear wellness snapshot.

`, false); const messages = [ `Understanding ${possessive(dogName())} daily routine…`, "Reviewing digestive patterns…", "Looking across nutrition and lifestyle…", `Creating ${possessive(dogName())} Wellness Story™…` ]; const copy = app.querySelector("#dgh-analysis-copy"); let index = 0; const timer = setInterval(() => { index += 1; if (index { copy.textContent = messages[index]; copy.style.transition = "opacity .35s ease"; copy.style.opacity = "1"; }, 220); } else { clearInterval(timer); setTimeout(resultsScreen, 650); } }, 900); } function calculateResults() { const categories = { digestion: [], skin: [], nutrition: [], lifestyle: [] }; questions.forEach(q => { if (!q.options) return; const selected = q.options.find(o => o.value === state.answers[q.id]); if (!selected || !selected.scores) return; Object.entries(selected.scores).forEach(([category, score]) => { if (categories[category]) categories[category].push(score); }); }); const pillarScores = {}; Object.entries(categories).forEach(([category, scores]) => { pillarScores[category] = scores.length ? Math.round(scores.reduce((sum, n) => sum + n, 0) / scores.length) : 70; }); const overall = Math.round( pillarScores.digestion * .38 + pillarScores.skin * .18 + pillarScores.nutrition * .24 + pillarScores.lifestyle * .20 ); let band; if (overall >= 90) band = "Exceptional foundations"; else if (overall >= 75) band = "Strong wellness foundations"; else if (overall >= 60) band = "Growing stronger"; else if (overall >= 40) band = "More daily support may help"; else band = "A wellness reset may help"; const sorted = Object.entries(pillarScores).sort((a, b) => b[1] - a[1]); return { overall, band, pillars: pillarScores, strongest: sorted[0][0], focus: sorted[sorted.length - 1][0] }; } function pillarLabel(key) { return ({ digestion: "Digestive balance", skin: "Skin & coat", nutrition: "Nutrition", lifestyle: "Lifestyle" })[key]; } function insightText(key, type) { const name = dogName(); const copy = { digestion: { strength: `${name}'s answers suggest comparatively steady digestive foundations.`, focus: `More consistency around food, treats and daily routine may help support ${possessive(name)} digestive balance.` }, skin: { strength: `${possessive(name)} skin and coat signals appear to be a relative strength.`, focus: `Skin and coat comfort is the clearest area to watch and support over time.` }, nutrition: { strength: `${possessive(name)} current feeding routine provides a solid nutrition base.`, focus: `Simplifying food and treat consistency may be the most useful next step.` }, lifestyle: { strength: `${possessive(name)} movement and everyday vitality are supporting the overall picture.`, focus: `Gentle improvements to movement, enrichment and routine could strengthen daily resilience.` } }; return copy[key][type]; } function goalSentence(goal) { const name = dogName(); const map = { digestion: `Because your priority is healthier digestion, begin with small changes you can repeat consistently rather than changing everything at once.`, skin: `Because skin and coat comfort matters most to you, track scratching, licking, diet changes and stool patterns together—not in isolation.`, energy: `Because everyday energy is your priority, look for patterns across sleep, movement, food consistency and digestive comfort.`, stool: `Because stool consistency is your priority, keep food, treats and timing steady while observing changes.`, immunity: `Because resilience is your priority, focus on dependable daily foundations: balanced food, movement, rest and digestive consistency.`, habits: `Because long-term habits matter most to you, choose one simple routine you can maintain every day.` }; return map[goal] || `Focus on one practical improvement at a time for ${name}.`; } function resultsScreen() { state.view = "results"; state.results = calculateResults(); saveState(); const r = state.results; const name = dogName(); const scoreAngle = Math.max(0, Math.min(100, r.overall)) * 3.6; const pillarOrder = ["digestion", "skin", "nutrition", "lifestyle"]; const scoreDescriptor = r.overall >= 80 ? `${name} is showing a strong gut wellness foundation.` : r.overall >= 65 ? `${name} has a positive foundation with a few focused opportunities.` : r.overall >= 50 ? `${name} may benefit from support across several connected areas.` : `${name} may benefit from a more structured daily support plan.`; const statusLabel = (score) => score >= 80 ? "Strong" : score >= 65 ? "Positive" : score >= 50 ? "Support" : "Priority"; const domainStory = (key, score) => { const label = pillarLabel(key).toLowerCase(); if (score >= 80) return `${name} appears to have a strong ${label} foundation. Protecting this consistency can support the broader gut wellness picture.`; if (score >= 65) return `${name} is showing encouraging signs in ${label}, with a few opportunities for gentle refinement and closer observation.`; if (score >= 50) return `${name}'s answers suggest ${label} is worth supporting consistently and reviewing as everyday patterns change.`; return `${name}'s answers make ${label} one of the clearest areas for focused, structured support.`; }; const analysisMarkup = `

Building ${escapeHtml(possessive(name))} Wellness Story

Connecting the patterns you shared into one clear, personalised gut wellness report.

${pillarOrder.map((key, index) => `
Reviewing ${pillarLabel(key)}
`).join("")}
`; render(` ${analysisMarkup}
Dog Gut Health™ Personal Assessment

${escapeHtml(possessive(name))} Gut Wellness Story

This report connects the everyday signals you shared about ${escapeHtml(name)} across digestion, skin and coat, nutrition and lifestyle. It highlights what appears to be working well, where focused support may matter most, and the clearest next step for ${escapeHtml(name)}.

${escapeHtml(r.band)} 4 wellness areas reviewed Personalised from your answers

The one thing we would focus on first

A useful plan starts by protecting strengths and choosing one clear priority—not changing everything at once.

${escapeHtml(possessive(name))} clearest support opportunity

${pillarLabel(r.focus)}

${escapeHtml(insightText(r.focus, "focus"))}

Based on the pattern of answers you provided, this is likely to be the most valuable place to begin supporting ${escapeHtml(name)}.
${escapeHtml(possessive(name))} strongest current foundation

${pillarLabel(r.strongest)}

${escapeHtml(insightText(r.strongest, "strength"))}

Protecting this strength while supporting ${pillarLabel(r.focus).toLowerCase()} creates a calmer and more measurable path forward.

Inside ${escapeHtml(possessive(name))} wellness story

Four connected areas help shape comfort, digestion, skin, energy and everyday wellbeing.

${pillarOrder.map(key => `
${pillarLabel(key)} ${statusLabel(r.pillars[key])}
${r.pillars[key]}/ 100
${escapeHtml(domainStory(key, r.pillars[key]))}
`).join("")}

${escapeHtml(possessive(name))} personal support journey

A simple sequence designed to reduce overwhelm and make changes easier to observe.

Today Protect what is already working Keep ${escapeHtml(possessive(name))} routine steady where practical so meaningful changes are easier to recognise.
Next Support ${pillarLabel(r.focus)} ${escapeHtml(goalSentence(state.answers.goal))}
Over the next 14 days Watch ${escapeHtml(possessive(name))} everyday signals Look for patterns across digestion, comfort, energy, skin and routine rather than judging progress from one isolated day.
Longer term Build a more resilient gut wellness foundation Use the patterns you observe to make calm, informed decisions about ${escapeHtml(possessive(name))} ongoing care.

Why this is ${escapeHtml(possessive(name))} recommended path

Your answers consistently point toward ${pillarLabel(r.focus).toLowerCase()} as the most useful starting point, while ${pillarLabel(r.strongest).toLowerCase()} appears to be a foundation worth protecting. This recommendation is generated from the information you provided about ${escapeHtml(name)}.

Your personalised next step

Ready to turn ${escapeHtml(possessive(name))} story into action?

The 14-Day Dog Gut Reset™ gives you a calm daily structure based on the areas highlighted in this report— so you know what to focus on, what to observe and how to build consistency without unnecessary complexity.

14 guided days of simple actions
A clear focus for ${escapeHtml(name)}
Everyday observation and progress structure
Designed to reduce overwhelm
Start ${escapeHtml(possessive(name))} 14-Day Gut Reset
Continue to the secure Dog Gut Health™ 14-Day Reset page.
Important: This educational assessment is not a diagnosis or a substitute for veterinary care. Contact a veterinarian about persistent, severe, sudden, worsening or concerning symptoms.
`, false); restartButton.hidden = false; const overlay = document.getElementById("dgh-analysis-overlay"); const items = overlay ? [...overlay.querySelectorAll("[data-analysis-item]")] : []; if (overlay) { requestAnimationFrame(() => overlay.classList.add("is-visible")); items.forEach((item, index) => { window.setTimeout(() => item.classList.add("is-active"), 250 + (index * 330)); }); window.setTimeout(() => { overlay.classList.remove("is-visible"); window.setTimeout(() => overlay.remove(), 320); }, 2150); } } function nextStep() { const q = questions[state.step]; const error = app.querySelector("#dgh-error"); if (q.type === "text") { const input = app.querySelector("#dgh-text-input"); const value = input.value.trim(); if (!value) { error.textContent = "Please enter your dog's name to continue."; input.focus(); return; } state.answers[q.id] = value.replace(/[]/g, ""); } if (!state.answers[q.id]) { error.textContent = "Choose the answer that feels closest."; return; } if (state.step 0) { state.step -= 1; questionScreen(); } else { welcomeScreen(); } } function resetExperience() { const confirmed = window.confirm("Start a new Wellness Story? Your current answers will be cleared."); if (!confirmed) return; try { localStorage.removeItem(STORAGE_KEY); } catch (error) {} state = { view: "welcome", step: 0, answers: {} }; welcomeScreen(); } function escapeHtml(value) { return String(value ?? "") .replaceAll("&", "&") .replaceAll("", ">") .replaceAll('"', """) .replaceAll("'", "'"); } app.addEventListener("click", event => { const target = event.target.closest("[data-action]"); if (!target) return; const action = target.dataset.action; if (action === "begin") { state = { view: "question", step: 0, answers: {} }; questionScreen(); } if (action === "resume") { state.view = "question"; questionScreen(); } if (action === "home") welcomeScreen(); if (action === "next") nextStep(); if (action === "back") backStep(); if (action === "restart") resetExperience(); if (action === "select") { const q = questions[state.step]; state.answers[q.id] = target.dataset.value; saveState(); app.querySelectorAll(".dgh-option").forEach(option => { const selected = option === target; option.classList.toggle("is-selected", selected); option.setAttribute("aria-checked", selected ? "true" : "false"); }); const error = app.querySelector("#dgh-error"); if (error) error.textContent = ""; const continueButton = app.querySelector('[data-action="next"]'); if (continueButton) { continueButton.disabled = false; continueButton.innerHTML = `${state.step === questions.length - 1 ? "Create wellness story" : "Continue"} `; } } }); app.addEventListener("keydown", event => { if (event.key === "Enter" && state.view === "question") { const q = questions[state.step]; if (q.type === "text") nextStep(); } }); if (state.view === "results" && state.results) resultsScreen(); else if (state.answers && Object.keys(state.answers).length && state.view !== "welcome") questionScreen(); else welcomeScreen(); })();