/* ============================================================
   Desura — Module Diagnostic / PageSpeed (vitrine, orienté conversion)
   S'appuie sur theme.css + style.css. Mobile-first. Lighthouse-friendly.
   ============================================================ */

:root{
  --dg-green:#16774a; --dg-green-bg:#e6f4ec; --dg-green-line:#bfe3cf;
  --dg-blue:#2a4ba8;  --dg-blue-bg:#e9eefc;  --dg-blue-line:#cdddfb;
  --dg-orange:#b9770e;--dg-orange-bg:#fdf2e2;--dg-orange-line:#f3d9ad;
  --dg-red:#c0392b;   --dg-red-bg:#fdecec;   --dg-red-line:#f3c4c4;
}

/* ---- View switching ---- */
.dg-view{display:none;}
.dg-view.is-active{display:block;animation:dgfade .35s ease;}
@keyframes dgfade{from{transform:translateY(8px);}to{transform:none;}}
@media (prefers-reduced-motion: reduce){.dg-view.is-active{animation:none;}}

/* ============ HERO / INPUT ============ */
.dg-tool{max-width:760px;margin:0 auto;text-align:center;padding:8px 0 16px;}
.dg-tool__eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--color-ember);background:rgba(16,185,129,0.09);border-radius:var(--radius-pill);padding:6px 14px;}
.dg-tool__h1{font-size:clamp(31px,6vw,52px);font-weight:700;letter-spacing:-0.025em;line-height:1.05;margin:20px 0 0;text-wrap:balance;}
.dg-tool__h1 em{font-style:normal;color:var(--color-ember);}
.dg-tool__lead{font-size:clamp(16px,2.4vw,19px);color:var(--color-steel);line-height:1.55;margin:18px auto 0;max-width:560px;text-wrap:pretty;}
.dg-form{display:flex;gap:10px;margin:34px auto 0;max-width:560px;}
@media(max-width:560px){.dg-form{flex-direction:column;}}
.dg-form__field{flex:1;position:relative;text-align:left;}
.dg-form input[type=url],.dg-form input[type=text]{width:100%;border:none;background:var(--color-snow);box-shadow:inset 0 0 0 1.5px var(--color-pebble);border-radius:var(--radius-pill);padding:18px 22px;font:inherit;font-size:16px;color:var(--color-obsidian);box-sizing:border-box;}
.dg-form input:focus{outline:none;box-shadow:inset 0 0 0 2px var(--color-ember);}
.dg-form__btn{border:none;cursor:pointer;font:inherit;font-weight:700;font-size:16px;background:var(--color-ember);color:#fff;border-radius:var(--radius-pill);padding:18px 28px;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:filter .15s;}
.dg-form__btn:hover{filter:brightness(1.06);}
.dg-form__btn:disabled{opacity:.5;cursor:default;}
.dg-form__err{display:none;color:var(--dg-red);font-size:13.5px;font-weight:500;margin-top:8px;padding-left:6px;}
.dg-form__err.show{display:block;}
.dg-strategy{display:inline-flex;gap:4px;margin-top:18px;background:var(--color-mist);border-radius:var(--radius-pill);padding:4px;box-shadow:inset 0 0 0 1px var(--color-fog);}
.dg-strategy button{border:none;cursor:pointer;background:none;font:inherit;font-size:13px;font-weight:600;color:var(--color-steel);padding:8px 16px;border-radius:var(--radius-pill);display:inline-flex;align-items:center;gap:6px;}
.dg-strategy button svg{width:14px;height:14px;}
.dg-strategy button.is-on{background:var(--color-snow);color:var(--color-obsidian);box-shadow:0 1px 3px rgba(9,9,11,.12);}
.dg-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin:26px auto 0;max-width:560px;}
.dg-trust span{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--color-steel);}
.dg-trust svg{width:15px;height:15px;color:var(--color-ember);}

/* ---- How it works / pillars ---- */
.dg-how{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
@media(max-width:720px){.dg-how{grid-template-columns:1fr;}}
.dg-how__step{background:var(--color-snow);border-radius:var(--radius-card);box-shadow:var(--shadow-md), inset 0 0 0 1px var(--color-fog);padding:26px;text-align:left;}
.dg-how__n{width:34px;height:34px;border-radius:11px;background:var(--color-obsidian);color:#fff;display:grid;place-items:center;font-weight:700;font-size:15px;font-family:var(--font-mono);}
.dg-how__step h3{font-size:17px;font-weight:700;letter-spacing:-0.01em;margin:14px 0 6px;}
.dg-how__step p{font-size:14.5px;color:var(--color-steel);line-height:1.55;margin:0;}
.dg-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
@media(max-width:720px){.dg-pillars{grid-template-columns:1fr 1fr;}}
.dg-pillar{background:var(--color-snow);border-radius:var(--radius-card-sm);box-shadow:inset 0 0 0 1px var(--color-fog);padding:22px;text-align:center;}
.dg-pillar__ic{width:46px;height:46px;border-radius:13px;background:var(--color-mist);display:grid;place-items:center;color:var(--color-obsidian);margin:0 auto;}
.dg-pillar__ic svg{width:23px;height:23px;}
.dg-pillar h3{font-size:15.5px;font-weight:700;margin:14px 0 4px;}
.dg-pillar p{font-size:13px;color:var(--color-steel);line-height:1.5;margin:0;}

/* ============ LOADING ============ */
.dg-load{max-width:560px;margin:0 auto;text-align:center;padding:30px 0;}
.dg-load__url{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:14px;color:var(--color-steel);background:var(--color-mist);border-radius:var(--radius-pill);padding:8px 16px;}
.dg-load__url button{border:none;background:none;cursor:pointer;color:var(--color-ash);display:inline-flex;padding:2px;border-radius:6px;}
.dg-load__url button:hover{color:var(--color-obsidian);}
.dg-load__url svg{width:14px;height:14px;}
.dg-orb{width:120px;height:120px;margin:34px auto 8px;position:relative;display:grid;place-items:center;}
.dg-orb__ring{position:absolute;inset:0;border-radius:50%;border:3px solid var(--color-fog);}
.dg-orb__ring::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:3px solid transparent;border-top-color:var(--color-ember);animation:dgspin 1.1s linear infinite;}
@media (prefers-reduced-motion: reduce){.dg-orb__ring::after{animation:none;border-top-color:var(--color-ember);opacity:.5;}}
@keyframes dgspin{to{transform:rotate(360deg);}}
.dg-orb__num{font-size:34px;font-weight:700;letter-spacing:-0.03em;color:var(--color-obsidian);font-variant-numeric:tabular-nums;}
.dg-orb__num span{font-size:15px;color:var(--color-steel);}
.dg-load__title{font-size:22px;font-weight:700;letter-spacing:-0.01em;margin:8px 0 4px;}
.dg-load__note{font-size:14px;color:var(--color-steel);}
.dg-steps{max-width:380px;margin:30px auto 0;text-align:left;display:flex;flex-direction:column;gap:4px;}
.dg-pstep{display:flex;align-items:center;gap:13px;padding:13px 16px;border-radius:14px;font-size:15px;color:var(--color-ash);transition:background .3s, color .3s;}
.dg-pstep.is-active{background:var(--color-snow);box-shadow:var(--shadow-md), inset 0 0 0 1px var(--color-fog);color:var(--color-obsidian);font-weight:600;}
.dg-pstep.is-done{color:var(--color-graphite);}
.dg-pstep__d{width:24px;height:24px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;box-shadow:inset 0 0 0 2px var(--color-fog);}
.dg-pstep.is-active .dg-pstep__d{box-shadow:inset 0 0 0 2px var(--color-ember);}
.dg-pstep.is-done .dg-pstep__d{background:var(--color-ember);box-shadow:none;color:#fff;}
.dg-pstep__d svg{width:13px;height:13px;}
.dg-pstep__dot{width:7px;height:7px;border-radius:50%;background:var(--color-ember);animation:dgpulse 1s infinite;}
@keyframes dgpulse{0%,100%{opacity:1;}50%{opacity:.25;}}
@media (prefers-reduced-motion: reduce){.dg-pstep__dot{animation:none;}}

/* ============ ERROR ============ */
.dg-err{max-width:560px;margin:0 auto;text-align:center;padding:30px 0;}
.dg-err__ic{width:72px;height:72px;border-radius:50%;background:var(--dg-orange-bg);display:grid;place-items:center;margin:0 auto 22px;color:var(--dg-orange);}
.dg-err__ic svg{width:34px;height:34px;}
.dg-err h2{font-size:26px;font-weight:700;letter-spacing:-0.02em;margin:0 0 12px;}
.dg-err p{font-size:15.5px;color:var(--color-steel);line-height:1.6;margin:0 auto;max-width:460px;}
.dg-err__reasons{list-style:none;padding:0;margin:22px auto;max-width:420px;text-align:left;display:flex;flex-direction:column;gap:10px;}
.dg-err__reasons li{display:flex;gap:11px;font-size:14.5px;color:var(--color-graphite);align-items:flex-start;}
.dg-err__reasons svg{width:17px;height:17px;color:var(--color-steel);flex-shrink:0;margin-top:2px;}
.dg-err__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:8px;}

/* ============ REPORT ============ */
.dg-report{max-width:880px;margin:0 auto;}
.dg-report__bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:22px;}
.dg-report__url{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:14px;color:var(--color-graphite);background:var(--color-snow);box-shadow:inset 0 0 0 1px var(--color-fog);border-radius:var(--radius-pill);padding:8px 16px;}
.dg-report__url svg{width:15px;height:15px;color:var(--color-ember);}
.dg-report__tools{display:flex;gap:8px;flex-wrap:wrap;}

/* verdict hero */
.dg-verdict{border-radius:var(--radius-card-lg);padding:34px;display:flex;gap:24px;align-items:flex-start;margin-bottom:22px;position:relative;overflow:hidden;}
.dg-verdict--red{background:var(--dg-red-bg);box-shadow:inset 0 0 0 1.5px var(--dg-red-line);}
.dg-verdict--orange{background:var(--dg-orange-bg);box-shadow:inset 0 0 0 1.5px var(--dg-orange-line);}
.dg-verdict--blue{background:var(--dg-blue-bg);box-shadow:inset 0 0 0 1.5px var(--dg-blue-line);}
.dg-verdict--green{background:var(--dg-green-bg);box-shadow:inset 0 0 0 1.5px var(--dg-green-line);}
.dg-verdict__ic{width:60px;height:60px;border-radius:17px;display:grid;place-items:center;flex-shrink:0;background:rgba(255,255,255,0.7);}
.dg-verdict__ic svg{width:30px;height:30px;}
.dg-verdict--red .dg-verdict__ic{color:var(--dg-red);} .dg-verdict--orange .dg-verdict__ic{color:var(--dg-orange);}
.dg-verdict--blue .dg-verdict__ic{color:var(--dg-blue);} .dg-verdict--green .dg-verdict__ic{color:var(--dg-green);}
.dg-verdict__h{font-size:clamp(24px,4vw,33px);font-weight:700;letter-spacing:-0.02em;line-height:1.12;margin:0;text-wrap:balance;}
.dg-verdict--red .dg-verdict__h{color:#8f271c;} .dg-verdict--orange .dg-verdict__h{color:#8a5807;}
.dg-verdict--blue .dg-verdict__h{color:#1f3a85;} .dg-verdict--green .dg-verdict__h{color:#0f5c39;}
.dg-verdict__p{font-size:15.5px;line-height:1.6;margin:12px 0 0;color:var(--color-graphite);max-width:540px;text-wrap:pretty;}

/* score cards */
.dg-scores{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:30px;}
@media(max-width:680px){.dg-scores{grid-template-columns:1fr 1fr;}}
.dg-scard{background:var(--color-snow);border:none;cursor:pointer;border-radius:var(--radius-card);box-shadow:var(--shadow-md), inset 0 0 0 1px var(--color-fog);padding:22px 18px;text-align:center;font:inherit;transition:transform .18s, box-shadow .18s;}
.dg-scard:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(9,9,11,0.09), inset 0 0 0 1.5px var(--color-pebble);}
.dg-scard__ring{width:84px;height:84px;margin:0 auto 12px;position:relative;display:grid;place-items:center;}
.dg-scard__ring svg{position:absolute;inset:0;transform:rotate(-90deg);width:84px;height:84px;}
.dg-scard__ring circle{fill:none;stroke-width:7;}
.dg-scard__track{stroke:var(--color-fog);}
.dg-scard__val{font-size:25px;font-weight:700;letter-spacing:-0.02em;font-variant-numeric:tabular-nums;}
.dg-scard__label{font-size:14px;font-weight:600;color:var(--color-obsidian);}
.dg-scard__verdict{font-size:12px;margin-top:3px;font-weight:600;}
.dg-scard__check{font-size:12px;margin-top:3px;color:var(--color-steel);}
.tone-green{color:var(--dg-green);} .tone-blue{color:var(--dg-blue);} .tone-orange{color:var(--dg-orange);} .tone-red{color:var(--dg-red);}
.stroke-green{stroke:var(--dg-green);} .stroke-blue{stroke:var(--dg-blue);} .stroke-orange{stroke:var(--dg-orange);} .stroke-red{stroke:var(--dg-red);}

/* detail section */
.dg-sec{background:var(--color-snow);border-radius:var(--radius-card);box-shadow:var(--shadow-md), inset 0 0 0 1px var(--color-fog);padding:28px;margin-bottom:18px;scroll-margin-top:90px;}
.dg-sec__head{display:flex;align-items:center;gap:13px;margin-bottom:6px;}
.dg-sec__ic{width:40px;height:40px;border-radius:12px;background:var(--color-mist);display:grid;place-items:center;color:var(--color-obsidian);flex-shrink:0;}
.dg-sec__ic svg{width:20px;height:20px;}
.dg-sec__title{font-size:19px;font-weight:700;letter-spacing:-0.01em;}
.dg-sec__score{margin-left:auto;font-size:14px;font-weight:700;font-family:var(--font-mono);padding:4px 12px;border-radius:var(--radius-pill);}
.dg-sec__score.tone-green{background:var(--dg-green-bg);} .dg-sec__score.tone-blue{background:var(--dg-blue-bg);}
.dg-sec__score.tone-orange{background:var(--dg-orange-bg);} .dg-sec__score.tone-red{background:var(--dg-red-bg);}
.dg-sec__lead{font-size:15px;color:var(--color-graphite);line-height:1.6;margin:8px 0 0;}
/* CWV gauges */
.dg-cwv{display:flex;flex-direction:column;gap:18px;margin-top:22px;}
.dg-gauge__top{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px;}
.dg-gauge__k{font-size:14px;font-weight:600;color:var(--color-obsidian);display:inline-flex;align-items:center;gap:8px;}
.dg-gauge__k small{font-weight:400;color:var(--color-ash);font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.04em;}
.dg-gauge__v{font-family:var(--font-mono);font-size:15px;font-weight:700;}
.dg-gauge__track{position:relative;height:10px;border-radius:999px;background:linear-gradient(90deg,var(--dg-green-bg) 0%,var(--dg-green-bg) 45%,var(--dg-orange-bg) 45%,var(--dg-orange-bg) 72%,var(--dg-red-bg) 72%);overflow:hidden;}
.dg-gauge__fill{position:absolute;top:0;left:0;height:100%;border-radius:999px;}
.dg-gauge__marker{position:absolute;top:-4px;width:3px;height:18px;border-radius:2px;background:var(--color-obsidian);transform:translateX(-50%);}
.dg-gauge__scale{display:flex;justify-content:space-between;font-size:11px;color:var(--color-ash);margin-top:6px;font-family:var(--font-mono);}
.dg-gauge__goal{font-size:12px;color:var(--dg-green);font-weight:600;margin-top:6px;display:inline-flex;align-items:center;gap:5px;}
.dg-gauge__goal svg{width:13px;height:13px;}
/* seo/mobile checks */
.dg-checks{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-direction:column;gap:11px;}
.dg-checks li{display:flex;gap:11px;font-size:14.5px;color:var(--color-graphite);align-items:flex-start;line-height:1.5;}
.dg-checks__ic{width:20px;height:20px;border-radius:6px;flex-shrink:0;display:grid;place-items:center;}
.dg-checks__ic.ok{background:var(--dg-green-bg);color:var(--dg-green);}
.dg-checks__ic.warn{background:var(--dg-orange-bg);color:var(--dg-orange);}
.dg-checks__ic.bad{background:var(--dg-red-bg);color:var(--dg-red);}
.dg-checks__ic svg{width:13px;height:13px;}

/* priorities */
.dg-prio{background:var(--color-obsidian);border-radius:var(--radius-card-lg);padding:32px;margin:30px 0 22px;color:#fff;}
.dg-prio__h{font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;font-family:var(--font-mono);color:rgba(255,255,255,0.6);}
.dg-prio__title{font-size:24px;font-weight:700;letter-spacing:-0.02em;margin:6px 0 22px;}
.dg-prio__list{display:flex;flex-direction:column;gap:14px;}
.dg-prioitem{display:flex;gap:16px;align-items:flex-start;background:rgba(255,255,255,0.05);border-radius:var(--radius-card);padding:20px;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.08);}
.dg-prioitem__n{width:30px;height:30px;border-radius:9px;background:var(--color-ember);color:#fff;display:grid;place-items:center;font-weight:700;flex-shrink:0;font-family:var(--font-mono);font-size:14px;}
.dg-prioitem__b{flex:1;min-width:0;}
.dg-prioitem__t{font-size:16.5px;font-weight:700;letter-spacing:-0.01em;}
.dg-prioitem__why{font-size:14px;color:rgba(255,255,255,0.66);line-height:1.55;margin:5px 0 0;}
.dg-prioitem__gain{flex-shrink:0;text-align:right;}
.dg-prioitem__gain b{display:block;font-size:20px;font-weight:700;color:#3ee08a;letter-spacing:-0.02em;font-variant-numeric:tabular-nums;white-space:nowrap;}
.dg-prioitem__gain span{font-size:11px;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:.04em;}
.dg-prio__transition{font-size:15px;color:rgba(255,255,255,0.8);margin:22px 0 0;line-height:1.5;}

/* CTA zone */
.dg-cta{background:var(--color-snow);border-radius:var(--radius-card-lg);box-shadow:0 24px 60px rgba(9,9,11,0.10), inset 0 0 0 1.5px var(--color-ember);padding:34px;text-align:center;margin-bottom:18px;}
.dg-cta__h{font-size:24px;font-weight:700;letter-spacing:-0.02em;margin:0;}
.dg-cta__reassure{font-size:14.5px;color:var(--color-steel);line-height:1.6;margin:14px auto 22px;max-width:480px;}
.dg-cta__btns{display:flex;gap:13px;justify-content:center;flex-wrap:wrap;}
@media(max-width:560px){.dg-cta__btns{flex-direction:column;}}
.dg-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:none;cursor:pointer;font:inherit;font-weight:700;font-size:15.5px;padding:16px 26px;border-radius:var(--radius-pill);transition:all .15s;text-decoration:none;}
.dg-btn--primary{background:var(--color-ember);color:#fff;}
.dg-btn--primary:hover{filter:brightness(1.06);}
.dg-btn--outline{background:var(--color-snow);color:var(--color-obsidian);box-shadow:inset 0 0 0 1.5px var(--color-pebble);}
.dg-btn--outline:hover{box-shadow:inset 0 0 0 1.5px var(--color-obsidian);}
.dg-btn svg{width:18px;height:18px;}
.dg-share{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:40px;}
.dg-share button{display:inline-flex;align-items:center;gap:8px;border:none;cursor:pointer;background:none;font:inherit;font-size:13.5px;font-weight:600;color:var(--color-steel);padding:8px 14px;border-radius:var(--radius-pill);}
.dg-share button:hover{color:var(--color-obsidian);background:var(--color-mist);}
.dg-share svg{width:15px;height:15px;}

/* ============ LEAD FORM (modal) ============ */
.dg-modal{position:fixed;inset:0;background:rgba(9,9,11,0.45);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:200;display:none;align-items:center;justify-content:center;padding:20px;overflow-y:auto;}
.dg-modal.open{display:flex;animation:dgfade .25s ease;}
.dg-modal__card{background:var(--color-snow);border-radius:var(--radius-card-lg);box-shadow:0 40px 80px rgba(9,9,11,0.3);padding:32px;max-width:480px;width:100%;margin:auto;position:relative;}
.dg-modal__close{position:absolute;top:18px;right:18px;border:none;background:var(--color-mist);cursor:pointer;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--color-steel);}
.dg-modal__close:hover{color:var(--color-obsidian);}
.dg-modal__close svg{width:17px;height:17px;}
.dg-modal__eyebrow{font-family:var(--font-mono);font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--color-ember);}
.dg-modal__title{font-size:23px;font-weight:700;letter-spacing:-0.02em;margin:8px 0 4px;}
.dg-modal__sub{font-size:14.5px;color:var(--color-steel);line-height:1.55;margin:0 0 22px;}
.dg-field{margin-bottom:15px;text-align:left;}
.dg-field label{display:block;font-size:13.5px;font-weight:600;color:var(--color-graphite);margin-bottom:7px;}
.dg-field label .req{color:var(--dg-red);}
.dg-field label .opt{color:var(--color-ash);font-weight:400;}
.dg-field input,.dg-field textarea{width:100%;border:none;background:var(--color-snow);box-shadow:inset 0 0 0 1.5px var(--color-pebble);border-radius:13px;padding:13px 15px;font:inherit;font-size:15px;color:var(--color-obsidian);box-sizing:border-box;}
.dg-field textarea{min-height:80px;resize:vertical;line-height:1.5;}
.dg-field input:focus,.dg-field textarea:focus{outline:none;box-shadow:inset 0 0 0 2px var(--color-ember);}
.dg-field input.invalid,.dg-field textarea.invalid{box-shadow:inset 0 0 0 2px var(--dg-red);}
.dg-field__err{display:none;color:var(--dg-red);font-size:12.5px;margin-top:5px;}
.dg-field__err.show{display:block;}
.dg-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:440px){.dg-row2{grid-template-columns:1fr;}}
.dg-consent{display:flex;gap:11px;align-items:flex-start;font-size:13px;color:var(--color-steel);line-height:1.5;margin:6px 0 8px;cursor:pointer;}
.dg-consent input{width:18px;height:18px;flex-shrink:0;margin-top:1px;accent-color:var(--color-ember);}
.dg-consent a{color:var(--color-obsidian);text-decoration:underline;text-underline-offset:2px;}
.dg-consent__retention{display:block;color:var(--color-ash);font-size:11.5px;margin-top:3px;}
.dg-modal__submit{width:100%;margin-top:8px;}
.dg-modal__submit:disabled{opacity:.45;cursor:default;}
.dg-formerr{display:none;background:var(--dg-red-bg);color:var(--dg-red);box-shadow:inset 0 0 0 1px var(--dg-red-line);border-radius:12px;padding:12px 14px;font-size:13.5px;margin-bottom:16px;}
.dg-formerr.show{display:block;}
.dg-modal__alt{font-size:13px;color:var(--color-ash);text-align:center;margin:14px 0 0;}

/* success */
.dg-success{text-align:center;padding:14px 0;}
.dg-success__ic{width:64px;height:64px;border-radius:50%;background:var(--dg-green-bg);display:grid;place-items:center;margin:0 auto 18px;color:var(--dg-green);animation:dgpop .4s cubic-bezier(.2,1.4,.4,1);}
@keyframes dgpop{from{transform:scale(.4);opacity:0;}to{transform:scale(1);opacity:1;}}
@media (prefers-reduced-motion: reduce){.dg-success__ic{animation:none;}}
.dg-success__ic svg{width:32px;height:32px;}
.dg-success h3{font-size:23px;font-weight:700;letter-spacing:-0.02em;margin:0 0 8px;}
.dg-success p{font-size:15px;color:var(--color-steel);line-height:1.6;margin:0 auto;max-width:360px;}
.dg-success a{color:var(--color-obsidian);font-weight:600;}

/* ============ THANK-YOU (full view) ============ */
.dg-thanks{max-width:520px;margin:0 auto;text-align:center;padding:20px 0;}
.dg-recap{background:var(--color-snow);border-radius:var(--radius-card);box-shadow:var(--shadow-md), inset 0 0 0 1px var(--color-fog);padding:22px 24px;margin:24px 0;text-align:left;}
.dg-recap__row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid var(--color-fog);font-size:14.5px;}
.dg-recap__row:first-child{border-top:none;}
.dg-recap__k{color:var(--color-steel);}
.dg-recap__v{font-weight:600;color:var(--color-obsidian);font-family:var(--font-mono);font-size:13.5px;text-align:right;word-break:break-all;}

/* ============ SHARED: breadcrumb, FAQ, mesh (SEO pages) ============ */
.dg-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:7px;font-size:13px;color:var(--color-steel);margin-bottom:22px;}
.dg-crumb a{color:var(--color-steel);text-decoration:none;}
.dg-crumb a:hover{color:var(--color-obsidian);}
.dg-crumb svg{width:13px;height:13px;color:var(--color-ash);}
.dg-crumb span[aria-current]{color:var(--color-obsidian);font-weight:600;}
.dg-faq{display:flex;flex-direction:column;gap:10px;}
.dg-faq details{background:var(--color-snow);border-radius:var(--radius-card-sm);box-shadow:inset 0 0 0 1px var(--color-fog);overflow:hidden;}
.dg-faq summary{cursor:pointer;list-style:none;padding:18px 22px;font-size:16px;font-weight:600;color:var(--color-obsidian);display:flex;align-items:center;justify-content:space-between;gap:14px;}
.dg-faq summary::-webkit-details-marker{display:none;}
.dg-faq summary::after{content:"";width:11px;height:11px;border-right:2px solid var(--color-steel);border-bottom:2px solid var(--color-steel);transform:rotate(45deg);transition:transform .2s;flex-shrink:0;margin-top:-4px;}
.dg-faq details[open] summary::after{transform:rotate(-135deg);margin-top:2px;}
.dg-faq__a{padding:0 22px 20px;font-size:15px;color:var(--color-graphite);line-height:1.65;margin:0;}
.dg-faq__a a{color:var(--color-obsidian);font-weight:600;}
.dg-mesh{background:var(--color-mist);border-radius:var(--radius-card);padding:26px 28px;}
.dg-mesh__h{font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-family:var(--font-mono);color:var(--color-steel);margin:0 0 16px;display:flex;align-items:center;gap:9px;}
.dg-mesh__h svg{width:16px;height:16px;color:var(--color-ember);}
.dg-mesh__grid{display:flex;flex-wrap:wrap;gap:9px;}
.dg-mesh__grid a{display:inline-flex;align-items:center;gap:7px;background:var(--color-snow);box-shadow:inset 0 0 0 1px var(--color-fog);border-radius:var(--radius-pill);padding:9px 15px;font-size:13.5px;font-weight:600;color:var(--color-obsidian);text-decoration:none;transition:box-shadow .15s;}
.dg-mesh__grid a:hover{box-shadow:inset 0 0 0 1.5px var(--color-ember);color:var(--color-ember);}
.dg-inline-cta{background:var(--color-obsidian);border-radius:var(--radius-card-lg);padding:30px;text-align:center;color:#fff;margin:30px 0;}
.dg-inline-cta h3{font-size:22px;font-weight:700;letter-spacing:-0.01em;margin:0 0 8px;}
.dg-inline-cta p{font-size:15px;color:rgba(255,255,255,0.7);margin:0 auto 20px;max-width:440px;line-height:1.55;}

/* article body (SEO markdown-rendered) */
.dg-article{max-width:740px;}
.dg-toc{background:var(--color-snow);border-radius:var(--radius-card-sm);box-shadow:inset 0 0 0 1px var(--color-fog);padding:20px 24px;margin:24px 0;}
.dg-toc__h{font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-family:var(--font-mono);color:var(--color-steel);margin:0 0 12px;}
.dg-toc ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;}
.dg-toc a{color:var(--color-graphite);text-decoration:none;font-size:14.5px;display:inline-flex;gap:9px;}
.dg-toc a:hover{color:var(--color-obsidian);}
.dg-toc a::before{content:"›";color:var(--color-ember);font-weight:700;}
.dg-prose{font-size:16.5px;line-height:1.72;color:var(--color-graphite);}
.dg-prose h2{font-size:25px;font-weight:700;letter-spacing:-0.02em;color:var(--color-obsidian);margin:36px 0 14px;scroll-margin-top:90px;}
.dg-prose h3{font-size:19px;font-weight:700;color:var(--color-obsidian);margin:26px 0 10px;}
.dg-prose p{margin:0 0 16px;}
.dg-prose ul,.dg-prose ol{margin:0 0 16px;padding-left:22px;}
.dg-prose li{margin-bottom:8px;}
.dg-prose a{color:var(--color-obsidian);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.dg-prose strong{color:var(--color-obsidian);}
.dg-callout{background:var(--dg-green-bg);box-shadow:inset 0 0 0 1px var(--dg-green-line);border-radius:var(--radius-card-sm);padding:18px 20px;margin:0 0 16px;font-size:15.5px;color:#0f5c39;display:flex;gap:13px;}
.dg-callout svg{width:20px;height:20px;flex-shrink:0;color:var(--dg-green);margin-top:1px;}
.dg-prose blockquote{border-left:3px solid var(--color-ember);margin:0 0 16px;padding:6px 0 6px 18px;color:var(--color-steel);font-style:italic;}

/* commercial service page bits */
.dg-svc-hero{display:grid;grid-template-columns:1.1fr 0.9fr;gap:40px;align-items:center;}
@media(max-width:860px){.dg-svc-hero{grid-template-columns:1fr;}}
.dg-pricing{display:flex;align-items:baseline;gap:10px;background:var(--color-snow);box-shadow:inset 0 0 0 1px var(--color-fog);border-radius:var(--radius-card);padding:20px 24px;margin-top:10px;}
.dg-pricing b{font-size:30px;font-weight:700;letter-spacing:-0.02em;}
.dg-pricing span{font-size:14px;color:var(--color-steel);}
.dg-process{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media(max-width:760px){.dg-process{grid-template-columns:1fr 1fr;}}
.dg-process__step{background:var(--color-snow);border-radius:var(--radius-card-sm);box-shadow:inset 0 0 0 1px var(--color-fog);padding:22px;}
.dg-process__n{font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--color-ember);}
.dg-process__step h3{font-size:16px;font-weight:700;margin:8px 0 5px;}
.dg-process__step p{font-size:13.5px;color:var(--color-steel);line-height:1.5;margin:0;}

/* sr-only */
.dg-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
