
/* --- block 0 --- */

img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
/*# sourceURL=wp-img-auto-sizes-contain-inline-css */

/* --- block 1 --- */

.wp-block-group{box-sizing:border-box}:where(.wp-block-group.wp-block-group-is-layout-constrained){position:relative}
/*# sourceURL=https://diopter.ai/blog/wp-includes/blocks/group/style.min.css */

/* --- block 2 --- */

:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */

/* --- block 3 --- */

:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--base: #FFFFFF;--wp--preset--color--contrast: #111111;--wp--preset--color--accent-1: #FFEE58;--wp--preset--color--accent-2: #F6CFF4;--wp--preset--color--accent-3: #503AA8;--wp--preset--color--accent-4: #686868;--wp--preset--color--accent-5: #FBFAF3;--wp--preset--color--accent-6: color-mix(in srgb, currentColor 20%, transparent);--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 0.875rem;--wp--preset--font-size--medium: clamp(1rem, 1rem + ((1vw - 0.2rem) * 0.156), 1.125rem);--wp--preset--font-size--large: clamp(1.125rem, 1.125rem + ((1vw - 0.2rem) * 0.312), 1.375rem);--wp--preset--font-size--x-large: clamp(1.75rem, 1.75rem + ((1vw - 0.2rem) * 0.312), 2rem);--wp--preset--font-size--xx-large: clamp(2.15rem, 2.15rem + ((1vw - 0.2rem) * 1.062), 3rem);--wp--preset--font-family--manrope: Manrope, sans-serif;--wp--preset--font-family--fira-code: "Fira Code", monospace;--wp--preset--spacing--20: 10px;--wp--preset--spacing--30: 20px;--wp--preset--spacing--40: 30px;--wp--preset--spacing--50: clamp(30px, 5vw, 50px);--wp--preset--spacing--60: clamp(30px, 7vw, 70px);--wp--preset--spacing--70: clamp(50px, 7vw, 90px);--wp--preset--spacing--80: clamp(70px, 10vw, 140px);--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:root { --wp--style--global--content-size: 1440px;--wp--style--global--wide-size: 1601px; }:where(body) { margin: 0; }.wp-site-blocks { padding-top: var(--wp--style--root--padding-top); padding-bottom: var(--wp--style--root--padding-bottom); }.has-global-padding { padding-right: var(--wp--style--root--padding-right); padding-left: var(--wp--style--root--padding-left); }.has-global-padding > .alignfull { margin-right: calc(var(--wp--style--root--padding-right) * -1); margin-left: calc(var(--wp--style--root--padding-left) * -1); }.has-global-padding :where(:not(.alignfull.is-layout-flow) > .has-global-padding:not(.wp-block-block, .alignfull)) { padding-right: 0; padding-left: 0; }.has-global-padding :where(:not(.alignfull.is-layout-flow) > .has-global-padding:not(.wp-block-block, .alignfull)) > .alignfull { margin-left: 0; margin-right: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }:where(.wp-site-blocks) > * { margin-block-start: 0.8rem; margin-block-end: 0; }:where(.wp-site-blocks) > :first-child { margin-block-start: 0; }:where(.wp-site-blocks) > :last-child { margin-block-end: 0; }:root { --wp--style--block-gap: 0.8rem; }:root :where(.is-layout-flow) > :first-child{margin-block-start: 0;}:root :where(.is-layout-flow) > :last-child{margin-block-end: 0;}:root :where(.is-layout-flow) > *{margin-block-start: 0.8rem;margin-block-end: 0;}:root :where(.is-layout-constrained) > :first-child{margin-block-start: 0;}:root :where(.is-layout-constrained) > :last-child{margin-block-end: 0;}:root :where(.is-layout-constrained) > *{margin-block-start: 0.8rem;margin-block-end: 0;}:root :where(.is-layout-flex){gap: 0.8rem;}:root :where(.is-layout-grid){gap: 0.8rem;}.is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{background-color: var(--wp--preset--color--base);color: var(--wp--preset--color--contrast);font-family: var(--wp--preset--font-family--manrope);font-size: var(--wp--preset--font-size--large);font-weight: 300;letter-spacing: -0.1px;line-height: 1.4;--wp--style--root--padding-top: 0px;--wp--style--root--padding-right: 0px;--wp--style--root--padding-bottom: 0px;--wp--style--root--padding-left: 0px;}a:where(:not(.wp-element-button)){color: currentColor;}:root :where(a:where(:not(.wp-element-button)):hover){text-decoration: none;}h1, h2, h3, h4, h5, h6{font-weight: 400;letter-spacing: -0.1px;line-height: 1.125;}h1{font-size: var(--wp--preset--font-size--xx-large);}h2{font-size: var(--wp--preset--font-size--x-large);}h3{font-size: var(--wp--preset--font-size--large);}h4{font-size: var(--wp--preset--font-size--medium);}h5{font-size: var(--wp--preset--font-size--small);letter-spacing: 0.5px;}h6{font-size: var(--wp--preset--font-size--small);font-weight: 700;letter-spacing: 1.4px;text-transform: uppercase;}:root :where(.wp-element-button, .wp-block-button__link){background-color: var(--wp--preset--color--contrast);border-width: 0;color: var(--wp--preset--color--base);font-family: inherit;font-size: var(--wp--preset--font-size--medium);font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: 1rem;padding-right: 2.25rem;padding-bottom: 1rem;padding-left: 2.25rem;text-decoration: none;text-transform: inherit;}:root :where(.wp-element-button:hover, .wp-block-button__link:hover){background-color: color-mix(in srgb, var(--wp--preset--color--contrast) 85%, transparent);border-color: transparent;color: var(--wp--preset--color--base);}:root :where(.wp-element-button:focus, .wp-block-button__link:focus){outline-color: var(--wp--preset--color--accent-4);outline-offset: 2px;}:root :where(.wp-element-caption, .wp-block-audio figcaption, .wp-block-embed figcaption, .wp-block-gallery figcaption, .wp-block-image figcaption, .wp-block-table figcaption, .wp-block-video figcaption){font-size: var(--wp--preset--font-size--small);line-height: 1.4;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-base-color{color: var(--wp--preset--color--base) !important;}.has-contrast-color{color: var(--wp--preset--color--contrast) !important;}.has-accent-1-color{color: var(--wp--preset--color--accent-1) !important;}.has-accent-2-color{color: var(--wp--preset--color--accent-2) !important;}.has-accent-3-color{color: var(--wp--preset--color--accent-3) !important;}.has-accent-4-color{color: var(--wp--preset--color--accent-4) !important;}.has-accent-5-color{color: var(--wp--preset--color--accent-5) !important;}.has-accent-6-color{color: var(--wp--preset--color--accent-6) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-base-background-color{background-color: var(--wp--preset--color--base) !important;}.has-contrast-background-color{background-color: var(--wp--preset--color--contrast) !important;}.has-accent-1-background-color{background-color: var(--wp--preset--color--accent-1) !important;}.has-accent-2-background-color{background-color: var(--wp--preset--color--accent-2) !important;}.has-accent-3-background-color{background-color: var(--wp--preset--color--accent-3) !important;}.has-accent-4-background-color{background-color: var(--wp--preset--color--accent-4) !important;}.has-accent-5-background-color{background-color: var(--wp--preset--color--accent-5) !important;}.has-accent-6-background-color{background-color: var(--wp--preset--color--accent-6) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-base-border-color{border-color: var(--wp--preset--color--base) !important;}.has-contrast-border-color{border-color: var(--wp--preset--color--contrast) !important;}.has-accent-1-border-color{border-color: var(--wp--preset--color--accent-1) !important;}.has-accent-2-border-color{border-color: var(--wp--preset--color--accent-2) !important;}.has-accent-3-border-color{border-color: var(--wp--preset--color--accent-3) !important;}.has-accent-4-border-color{border-color: var(--wp--preset--color--accent-4) !important;}.has-accent-5-border-color{border-color: var(--wp--preset--color--accent-5) !important;}.has-accent-6-border-color{border-color: var(--wp--preset--color--accent-6) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.has-xx-large-font-size{font-size: var(--wp--preset--font-size--xx-large) !important;}.has-manrope-font-family{font-family: var(--wp--preset--font-family--manrope) !important;}.has-fira-code-font-family{font-family: var(--wp--preset--font-family--fira-code) !important;}/* Diopter author photos. Single source for the post author box and the author
   hero. Added 2026-09-11. Revert by clearing styles.css in Global Styles.
   NOTE: the 2026-09-07 author redesign removed the hero monogram on purpose
   ("Typography carries the identity"); this reinstates a photo above the name. */

/* Post author box -- fills the existing 52px circle, hides the initials. */
.bl-author:has(.bl-author-name a[href*="/author/surojoy/"]) .bl-author-avatar{background-image:url('https://diopter.ai/blog/wp-content/uploads/2026/09/surojoy-gupta-square.png')}
.bl-author:has(.bl-author-name a[href*="/author/rohan-gupta/"]) .bl-author-avatar{background-image:url('https://diopter.ai/blog/wp-content/uploads/2026/09/rohan-gupta.png')}
.bl-author:has(.bl-author-name a[href*="/author/surojoy/"]) .bl-author-avatar,
.bl-author:has(.bl-author-name a[href*="/author/rohan-gupta/"]) .bl-author-avatar{background-size:cover;background-position:center top;background-repeat:no-repeat;color:transparent}

/* Author hero photo. Fluid size; explicit grid-column so it cannot disturb
   the 2-column hero grid, which places every other child explicitly. */
body.author-surojoy .dauth-hero-inner::before,
body.author-rohan-gupta .dauth-hero-inner::before{content:"";display:block;width:clamp(80px,14vw,116px);height:clamp(80px,14vw,116px);border-radius:50%;background-size:cover;background-position:center top;background-repeat:no-repeat;border:1px solid rgba(255,255,255,.18);margin:0 0 22px}
body.author-surojoy .dauth-hero-inner::before{background-image:url('https://diopter.ai/blog/wp-content/uploads/2026/09/surojoy-gupta-square.png')}
body.author-rohan-gupta .dauth-hero-inner::before{background-image:url('https://diopter.ai/blog/wp-content/uploads/2026/09/rohan-gupta.png')}
@media (min-width:941px){body.author-surojoy .dauth-hero-inner::before,body.author-rohan-gupta .dauth-hero-inner::before{grid-column:1}}
@media (max-width:640px){body.author-surojoy .dauth-hero-inner::before,body.author-rohan-gupta .dauth-hero-inner::before{margin:0 0 18px}}

/* Contrast fixes 2026-09-12.
   1. .bl-table-hint never got the accessibility fix that .bl-table-scroll-hint
      received -- same component, two class names. #A6AFBF on white is 2.21:1.
      #434752 is the value already chosen for the sibling class (9.28:1).
   2. Related Reading secondary text is #6B7A9C on white = 4.30:1, just under
      AA. #5A6784 (5.66:1) is the slate already used for .bl-author-bio. */
html body .dblog .bl-table-hint,html body .dblog .bl-content p.bl-table-hint,html body p.bl-table-hint{color:#434752!important}
html body .dbh-related-label{color:#5A6784!important}
html body .dbh-related-excerpt{color:#5A6784!important}

/* ---- Table header text: SITE-WIDE fix. 2026-09-12 ---------------------
   `html body.single-post .dblog.dblog table th{color:#13162F!important}` was
   forcing navy text onto the navy #13162F header background, so every table
   header on every single post rendered invisible. Confirmed via CDP
   getMatchedStylesForNode: computed th colour was rgb(19,22,47) on
   rgb(19,22,47). Restored white at (0,3,5) specificity to beat it. */
html body.single-post .dblog.dblog table thead th,
html body.single-post .dblog.dblog .bl-table thead th,
html body.single-post .dblog.dblog .bl-table-wrap thead th,
html body.single-post .dblog.dblog .bl-table-scroll thead th{color:#fff!important}

/* ---- Post 777 comparison table. Rewritten 2026-09-12 -------------------
   Scoped to >=1200px ONLY. Snippet 978 switches tables to stacked cards at
   <=1199px, not 700px, so the previous version forced a 1200px width onto
   card mode between 701-1199px and clipped every card (measured: cells
   computed display:block at 1166px inside a 760px wrapper).
   Adds .single-post + .bl-content to out-specify the pre-existing (0,3,3)
   rule at >=1100px that sets width:100%!important;min-width:0!important. */
@media (min-width:1200px){
html body.postid-777.single-post .dblog .bl-content .bl-table{overflow-x:auto!important;overflow-y:visible!important;max-width:100%!important;-webkit-overflow-scrolling:touch}
html body.postid-777.single-post .dblog .bl-content .bl-table > table{table-layout:fixed!important;width:1200px!important;min-width:1200px!important;max-width:none!important}
html body.postid-777.single-post .dblog .bl-content .bl-table > table colgroup col:nth-child(1){width:12%!important} /* Tool */
html body.postid-777.single-post .dblog .bl-content .bl-table > table colgroup col:nth-child(2){width:12%!important} /* Best Fit For */
html body.postid-777.single-post .dblog .bl-content .bl-table > table colgroup col:nth-child(3){width:17%!important} /* Detects */
html body.postid-777.single-post .dblog .bl-content .bl-table > table colgroup col:nth-child(4){width:21%!important} /* Core Detection Approach */
html body.postid-777.single-post .dblog .bl-content .bl-table > table colgroup col:nth-child(5){width:10%!important} /* Delivery Model */
html body.postid-777.single-post .dblog .bl-content .bl-table > table colgroup col:nth-child(6){width:14%!important} /* Best Fit For (Teams) */
html body.postid-777.single-post .dblog .bl-content .bl-table > table colgroup col:nth-child(7){width:14%!important} /* Key Strengths */
html body.postid-777.single-post .dblog .bl-content .bl-table thead th:first-child{position:sticky!important;left:0;z-index:4}
html body.postid-777.single-post .dblog .bl-content .bl-table tbody td:first-child{position:sticky!important;left:0;z-index:2;background:#fff!important;box-shadow:1px 0 0 rgba(0,0,0,.08)}
html body.postid-777.single-post .dblog .bl-content .bl-table tbody tr:nth-child(2n) td:first-child{background:#FAFBFC!important}
html body.postid-777.single-post .dblog .bl-content .bl-table-hint{display:block!important}
}
/*# sourceURL=global-styles-inline-css */

/* --- block 4 --- */

/*! This file is auto-generated */
.skip-link.screen-reader-text{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;word-break:normal!important}.skip-link.screen-reader-text:focus{background-color:#eee;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}
/*# sourceURL=/wp-includes/css/wp-block-template-skip-link.min.css */

/* --- block 5 --- */

a{text-decoration-thickness:1px!important;text-underline-offset:.1em}:where(.wp-site-blocks :focus){outline-style:solid;outline-width:2px}.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child){margin-bottom:3px}.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content{outline-offset:4px}.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content{outline-offset:0}blockquote,caption,figcaption,h1,h2,h3,h4,h5,h6,p{text-wrap:pretty}.more-link{display:block}:where(pre){overflow-x:auto}
/*# sourceURL=https://diopter.ai/blog/wp-content/themes/twentytwentyfive/style.min.css */

/* --- block 6 --- */

:root {--global-kb-font-size-sm:clamp(0.8rem, 0.73rem + 0.217vw, 0.9rem);--global-kb-font-size-md:clamp(1.1rem, 0.995rem + 0.326vw, 1.25rem);--global-kb-font-size-lg:clamp(1.75rem, 1.576rem + 0.543vw, 2rem);--global-kb-font-size-xl:clamp(2.25rem, 1.728rem + 1.63vw, 3rem);--global-kb-font-size-xxl:clamp(2.5rem, 1.456rem + 3.26vw, 4rem);--global-kb-font-size-xxxl:clamp(2.75rem, 0.489rem + 7.065vw, 6rem);}:root {--global-palette1: #3182CE;--global-palette2: #2B6CB0;--global-palette3: #1A202C;--global-palette4: #2D3748;--global-palette5: #4A5568;--global-palette6: #718096;--global-palette7: #EDF2F7;--global-palette8: #F7FAFC;--global-palette9: #ffffff;}
/*# sourceURL=kadence-blocks-global-variables-inline-css */

/* --- block 9 --- */
/* Blog hub hero: let the headline and intro fill their container.

   Measured at 2133px viewport. The .dhp2 hero container gives its children
   1132px of content width, and every child uses it: eyebrow 1132, pillar
   cards 1132, chips 1132, curated sections 1132, subscribe box 1132.

   Three children did not: the h1 at max-width 892.658px and the two
   .dhp2-sub paragraphs at 807.897px and 802.696px. So the headline stopped
   264px short of its own box and the intro 348px short, leaving a large
   empty right side while the cards below ran full width. */

html body .dhp2 > h1,
html body .dhp2 > p.dhp2-sub {
  max-width: 100% !important;
}

/* Subscribe block at the foot of the hub.

   The hub template printed its own h3 + intro paragraph and then embedded
   the [bl_subscribe] card, which prints the same heading and subline again.
   The duplicate pair is removed from the template (snippet 1221), so the
   card is now the only content in the flex box -- but it was still sitting
   in the right half, 594px wide starting at x=667. Centre it. */

html body .dhp2-sub-box {
  justify-content: center !important;
}
html body .dhp2-sub-box > div {
  width: 100% !important;
  max-width: 620px !important;
}
/* ...and drop the nested panel. With the duplicate heading gone, the outer
   .dhp2-sub-box was a grey rounded panel (bg #F7F8FA, 1.25px border, 16px
   radius, 28/32 padding) wrapping a near-identical card (bg #F8FAFC,
   1.25px border, 14px radius, 22px padding). Two boxes reading as one.
   Keep the inner card, strip the outer chrome. */

html body .dhp2-sub-box {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
}
/* --- block 10 --- */
/* dblog: body-copy type and edge consistency, all single posts.

   Measured before, at 1890px: paragraphs 19px #13162F, list items 18px
   #3D4A63, stat box 16.5px #4A5568, FAQ answers 15px #4A5568. Four sizes,
   three colours, for what is all body copy. Left edges agreed at 649 but the
   stat box and FAQ ran to 1537 where the prose stopped at 1409.

   After: two sizes, two colours, one shared right edge.

   Specificity. The competing rules are printed in the body by the shell, so a
   head stylesheet loses any tie on cascade order. Each selector below carries
   one class more than the rule it overrides.

   Tables are excluded on purpose: they already scroll and narrowing them
   makes the seven-column comparison tables worse. */

html body.single-post.single .dblog .bl-content.bl-content ul li,
html body.single-post.single .dblog .bl-content.bl-content ol li {
  font-size: 19px !important;
  line-height: 31.92px !important;
  color: #13162F !important;
  /* The real cause of lists looking smaller than prose: they render at
     weight 300 (Light) while paragraphs are 400 (Regular). Identical pixel
     size, visibly lighter and smaller to the eye. */
  font-weight: 400 !important;
}

html body.single-post.single .dblog .bl-content .bl-stat p {
  font-size: 17px !important;
  line-height: 28px !important;
  color: #3D4A63 !important;
}
html body.single-post.single .dblog.dblog .bl-faq .fq-ans,
html body.single-post.single .dblog.dblog .bl-faq .fq-ans p {
  font-size: 17px !important;
  line-height: 28px !important;
  color: #3D4A63 !important;
  font-weight: 400 !important;
}

/* Every supporting block shares the prose right edge. Tables are the one
   deliberate exception: they already scroll and narrowing them makes the
   seven-column comparison tables worse. */


@media (max-width: 700px) {
  /* The system drops paragraphs to 18px here. Lists must follow, or the rule
     above leaves them a pixel LARGER than the prose on phones. */
  html body.single-post.single .dblog .bl-content.bl-content ul li,
  html body.single-post.single .dblog .bl-content.bl-content ol li {
    font-size: 18px !important;
    line-height: 29.7px !important;
  }
  html body.single-post.single .dblog .bl-content .bl-stat p,
  html body.single-post.single .dblog.dblog .bl-faq .fq-ans,
  html body.single-post.single .dblog.dblog .bl-faq .fq-ans p {
    font-size: 16px !important;
    line-height: 26px !important;
  }
  /* Title hierarchy: h1 was 28px against 18px body, 1.55x, which reads as a
     subheading rather than a page title. 34px gives 1.9x. */
  html body.single-post.single .dblog .bl-hero h1 {
    font-size: 34px !important;
    line-height: 1.18 !important;
  }
}



/* ---------------------------------------------------------------
 THE LEDE BLOCK.

 The shell lifts the first paragraph of every post out of the body and
 prints it in .bl-intro, which sits in .bl-page-main, OUTSIDE .bl-content.
 The container cap above therefore never reached it: measured 888px wide
 ending at x1537 while the body ended at x1409, and set at 18px against
 19px body prose. This is the first paragraph on the page, so it was the
 most visible mismatch on the blog and the hardest to see in measurements
 that queried .bl-content.
 --------------------------------------------------------------- */

html body.single-post.single .dblog .bl-intro p {
  font-size: 19px !important;
  line-height: 31.92px !important;
  font-weight: 400 !important;
  color: #13162F !important;
  max-width: 100% !important;
}

@media (max-width: 700px) {
  html body.single-post.single .dblog .bl-intro p {
    font-size: 18px !important;
    line-height: 29.7px !important;
  }
}

/* ================================================================
 ONE FIXED WIDTH FOR EVERY ARTICLE: 760px.

 Set on .bl-page-main, the column itself, so nothing inside can be
 narrower than its own container. Previously the cap sat on .bl-content
 at 760px while .bl-body and .bl-page-main stayed 888px, which left a
 128px empty gutter to the right of the text inside its own column.

 Everything below it is released to 100% so it fills that one width:
 the body, the nested wrapper, and the .bl-intro lede block, which sits
 outside .bl-content in .bl-page-main and was the last thing still
 running wide.

 760px at 19px Outfit is about 81 characters a line.
 ================================================================ */
html body.single-post.single .dblog .bl-page-main {
  max-width: 760px !important;
}
html body.single-post.single .dblog .bl-body,
html body.single-post.single .dblog .bl-content,
html body.single-post.single .dblog .bl-content .bl-content,
html body.single-post.single .dblog .bl-intro {
  max-width: 100% !important;
  width: auto !important;
}

/* --- block 11 --- */
/* Reading measure for body copy inside the nested .bl-content wrapper.
   The existing cap is written .bl-content > p, a direct-child selector, so on
   the 21 posts whose body sits inside a second .bl-content the cap never
   applies and lines run the full column width. 13 of those posts hold body
   copy in the wrapper, roughly 470 paragraphs.

   Scoped to the wrapper's own children only, so component internals
   (tables, tool cards, CTAs, stat boxes, FAQ accordions) are untouched.
   The class is doubled to outrank the original 4-class rule regardless of
   stylesheet order, since the shell prints its CSS in the body. */

html body.single-post .dblog .bl-content .bl-content.bl-content > p,
html body.single-post .dblog .bl-content .bl-content.bl-content > ul,
html body.single-post .dblog .bl-content .bl-content.bl-content > ol,
html body.single-post .dblog .bl-content .bl-content.bl-content > h2,
html body.single-post .dblog .bl-content .bl-content.bl-content > h3,
html body.single-post .dblog .bl-content .bl-content.bl-content > h4
{ max-width: 760px !important; }
/* --- block 12 --- */
/* Body copy colour parity for paragraphs that carry the Gutenberg
   wp-block-paragraph class. The type-system rule uses
   .dblog .bl-content > p:not([class]) so any classed paragraph fell back
   to the legacy #3D4A63 instead of inheriting #13162F. Affects
   best-ai-deepfake-audio-detection-tools and
   ai-social-engineering-detection-methods only. */
.dblog .bl-content > p.wp-block-paragraph { color: inherit; }

/* --- block 13 --- */
/* Compact the inline "Test your instincts" CTA. 2026-09-08.

   Measured on /blog/ai-social-engineering/ at 1512px: the card was 888px
   wide, the full prose column, with grid columns 36px / 667px / 111px. The
   667px middle column held two short lines, so most of the card was empty
   and the button sat marooned at the far right. It read as a page banner
   rather than an inline nudge inside the prose.

   Now it hugs its content and sits left, so it reads as a recommendation
   in the flow of the article. Content and markup unchanged, layout only. */

html body.single-post .dblog .bl-test-cta{
  display: inline-grid !important;
  grid-template-columns: auto auto auto !important;
  width: auto !important;
  max-width: 100% !important;
  align-items: center !important;
  gap: 0 14px !important;
  padding: 12px 16px !important;
}

/* On a phone it goes back to full width and drops the button to its own
   row, because three auto columns will not fit 390px. */
@media (max-width: 700px){
  html body.single-post .dblog .bl-test-cta{
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    width: 100% !important;
    row-gap: 12px !important;
  }
  html body.single-post .dblog .bl-test-cta .bl-test-cta-cta{
    grid-column: 1 / -1 !important;
    justify-self: start !important;
  }
}

/* --- block 14 --- */
/* dblog: author page extended section, rebuilt. 2026-09-07.

   The markup for this section lives in each author's dblog_author_extra
   user meta field, not in a template, so it was rebuilt there with a
   dxr- prefix. Snippet 888 still supplies the .dauthx wrapper, the two
   column .dauthx-g grid and the reviewed-articles list below, and was
   not touched. Its old dx-* rules simply no longer match anything.

   Why the rebuild. Everything in the old markup was sized for the 340px
   rail and then used at 1232px: 13px body across a 741px column, a three
   column Track record grid that stranded the date 60px from the role it
   dated, four bordered cards holding 30 words each at 11px, and At a
   glance right-aligning its values so nothing lined up. Copy unchanged. */

/* The section owns its own grid now, rather than borrowing 888's .dauthx-g.
   Main column takes what is left, the rail is a fixed 340. */
.dxr-g{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:0 64px;align-items:start}
.dxr-g > *{min-width:0}

/* The main column sits on its own white panel, the way it did before the
   rebuild. Without it the narrative floats on the page grid while the rail
   keeps its cards, and the two sides stop looking like one section. */
.dxr-main{background:#fff;border-radius:14px;padding:34px 38px 38px}
.dxr-main > .dxr-h2:first-child{margin-top:0}

/* ---- shared -------------------------------------------------- */
.dxr-main p{font-size:16.5px;line-height:1.65;color:#434752;margin:0 0 16px;max-width:68ch}
.dxr-main strong{font-weight:600;color:#0C1826}
.dxr-h2{font-size:26px;line-height:1.25;letter-spacing:-.02em;font-weight:600;margin:0 0 18px;color:#0C1826}
.dxr-h3{font-size:22px;line-height:1.3;letter-spacing:-.015em;font-weight:600;margin:48px 0 22px;color:#0C1826}
.dxr-lbl{display:block;font-size:11px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:#314252;margin:0 0 14px}

/* ---- pull quote ---------------------------------------------- */
.dxr-q{margin:28px 0 8px;padding:2px 0 2px 22px;border-left:3px solid #36AC75;border-radius:0}
.dxr-q p{font-size:19px !important;line-height:1.5;font-weight:500;color:#0C1826 !important;
  margin:0 !important;max-width:60ch}
.dxr-qs{margin-top:12px;font-size:13px;color:#314252}

/* ---- track record, one column with a spine -------------------- */
.dxr-tli{position:relative;padding:0 0 30px 26px;border-left:1px solid #DCE4E8}
.dxr-tli.dxr-tlast{padding-bottom:0;border-left-color:transparent}
.dxr-tli:before{content:"";position:absolute;left:-5px;top:6px;width:9px;height:9px;
  border-radius:50%;background:#36AC75;box-shadow:0 0 0 3px #fff}
.dxr-yr{display:block;font-size:11.5px;font-weight:600;letter-spacing:.09em;
  text-transform:uppercase;color:#0B5C3B;margin-bottom:5px}
.dxr-role{display:block;font-size:18px;line-height:1.35;font-weight:600;color:#0C1826;margin:0 0 6px}
.dxr-tli p{font-size:16px !important;margin:0 !important;max-width:64ch}

/* ---- recognition, hairlines not boxes ------------------------- */
.dxr-press{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.dxr-pi{padding:18px 0 20px;border-top:1px solid #E1E5EA;min-width:0}
.dxr-src{display:block;font-size:11.5px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:#0B5C3B;margin-bottom:7px}
.dxr-pt{display:inline-block;font-size:17px;line-height:1.35;font-weight:600;
  color:#0C1826;text-decoration:none;margin-bottom:6px}
.dxr-pt:hover{color:#0B5C3B;text-decoration:underline;text-underline-offset:3px}
.dxr-pi p{font-size:15.5px !important;line-height:1.55;margin:0 !important}

/* ---- rail ----------------------------------------------------- */
.dxr-side{position:sticky;top:24px;display:flex;flex-direction:column;gap:20px}
.dxr-box{border:1px solid #EDEDEF;border-radius:12px;padding:22px;background:#fff}

/* At a glance. Label above value, both flush left, so all six rows
   start at the same x instead of ragging against the right edge. */
.dxr-agr{padding:11px 0;border-top:1px solid #F4F4F6}
.dxr-agr:first-child{padding-top:0;border-top:0}
.dxr-agr:last-child{padding-bottom:0}
.dxr-k{display:block;font-size:11px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:#314252;margin-bottom:3px}
.dxr-v{display:block;font-size:15.5px;line-height:1.45;font-weight:500;color:#0C1826}

/* Focus areas. Seven bullets spent 380px of height on 21 words. */
.dxr-chips{display:flex;flex-wrap:wrap;gap:7px}
.dxr-chips span{font-size:13.5px;line-height:1;padding:7px 11px;border-radius:999px;
  background:#F4F4F6;color:#434752;white-space:nowrap}

.dxr-ct{font-size:15.5px !important;line-height:1.6;color:#434752;margin:0 !important}
.dxr-ct a{color:#0B5C3B;font-weight:600;text-decoration:none}
.dxr-ct a:hover{text-decoration:underline;text-underline-offset:2px}

/* ---- mobile. The rail dissolves into the stack, it does not move. */
@media (max-width:900px){
  .dxr-g{grid-template-columns:minmax(0,1fr);gap:36px 0}
  .dxr-side{position:static}
  .dxr-press{grid-template-columns:minmax(0,1fr);gap:0}
  .dxr-main{padding:24px 22px 26px;border-radius:12px}

  /* A theme rule shrinks h2 to 19.5px on phones while leaving h3 at 22,
     which inverts the hierarchy: the section title ends up smaller than
     the sections inside it. Both are pinned here. */
  .dxr-h2{font-size:23px !important;line-height:1.25 !important}
  .dxr-h3{font-size:19.5px !important;line-height:1.3 !important;margin:38px 0 18px !important}
  .dxr-role{font-size:17px !important}
  .dxr-q p{font-size:17.5px !important}
  .dxr-pt{font-size:16.5px !important}
  .dxr-h3{margin-top:38px}
  .dxr-chips span{white-space:normal}
}

/* --- block 15 --- */
/* Author page redesign, 2026-09-07. Scoped to body.author only.
   Built against the rendered DOM: .dauth-avatar, .dauth-stat-row (.dauth-stat-num/.dauth-stat-lbl),
   .dauth-trust-row, .dbh-card-*. Revert by deactivating this snippet. */

/* 1. Monogram removed. Typography carries the identity. */
body.author .dauth-avatar{display:none!important}

/* 2. Hero: bio left, stats panel right. Trust row spans full width beneath. */
@media (min-width:941px){
  body.author .dauth-hero-inner{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.9fr);column-gap:72px;align-items:start}
  body.author .dauth-eyebrow,
  body.author .dauth-hero-name,
  body.author .dauth-hero-role,
  body.author .dauth-hero-bio{grid-column:1}
  body.author .dauth-hero-inner > div:not([class]){grid-column:1}
  body.author .dauth-stat-row{grid-column:2;grid-row:1 / span 5;align-self:start}
  body.author .dauth-trust-row{grid-column:1 / -1}
}
body.author .dauth-hero-name{font-size:clamp(44px,5.4vw,64px)!important;line-height:1.04!important;letter-spacing:-.025em!important;margin:0 0 14px!important}
body.author .dauth-hero-role{display:inline-flex!important;justify-self:start;align-self:start;width:auto!important;margin:0 0 24px!important}
body.author .dauth-hero-bio{font-size:17.5px!important;line-height:1.68!important;max-width:60ch!important;margin:0!important}

/* 3. Stats become a bordered panel. */
body.author .dauth-stat-row{display:block!important;border:1px solid rgba(255,255,255,.13);border-radius:14px;padding:24px 26px;margin:0!important}
body.author .dauth-stat{display:block!important;padding:0!important}
body.author .dauth-stat + .dauth-stat{border-top:1px solid rgba(255,255,255,.13);margin-top:18px!important;padding-top:18px!important}
body.author .dauth-stat-num{font-size:34px!important;line-height:1!important;letter-spacing:-.02em!important}
body.author .dauth-stat-lbl{margin-top:5px!important;opacity:.62}

/* 4. Website / LinkedIn as real brand buttons. The original rules are all
      !important, so every declaration here has to be too. */
body.author .dauth-hero-inner > div:not([class]){
  display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
  align-items:center!important;gap:12px!important;justify-self:start;width:auto!important;
  margin:30px 0 0!important}
body.author .dauth-hero-inner > div:not([class]) > a{
  font-family:Silka,"Instrument Sans",-apple-system,BlinkMacSystemFont,sans-serif!important;
  font-size:14.5px!important;font-weight:600!important;letter-spacing:normal!important;
  text-transform:none!important;white-space:nowrap!important;
  padding:12px 24px!important;border-radius:999px!important;
  min-width:150px!important;width:auto!important;text-align:center!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;
  transition:.15s!important;text-decoration:none!important}
body.author .dauth-hero-inner > div:not([class]) > a:first-child{
  background:#2EE8A4!important;color:#0C1826!important;border:1px solid #2EE8A4!important}
body.author .dauth-hero-inner > div:not([class]) > a:first-child:hover{
  background:#25d494!important;border-color:#25d494!important}
body.author .dauth-hero-inner > div:not([class]) > a:last-child{
  background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.24)!important}
body.author .dauth-hero-inner > div:not([class]) > a:last-child:hover{
  background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.40)!important}
/* 5. Trust row: quieter, sits under the fold as supporting detail. */
body.author .dauth-trust-row{margin-top:52px!important;padding-top:26px!important;border-top:1px solid rgba(255,255,255,.13)}
body.author .dauth-trust-label{opacity:.62}

/* 6. Cards: no duplicate badge, no grey title block, aligned meta. */
body.author .dbh-card-glyph{display:none!important}
body.author .dbh-card{display:flex!important;flex-direction:column;border-radius:14px;padding:26px 26px 22px!important;transition:.16s}
body.author .dbh-card:hover{transform:translateY(-2px)}
body.author .dbh-card-head{background:transparent!important;border-bottom:0!important;padding:0!important}
body.author .dbh-card-title{font-size:19px!important;line-height:1.32!important;letter-spacing:-.012em!important;margin:14px 0 10px!important}
body.author .dbh-card-body{padding:0!important;display:flex;flex-direction:column;flex:1}
body.author .dbh-card-summary{font-size:14.8px!important;line-height:1.6!important;margin:0!important}
body.author .dbh-card-footer{margin-top:auto!important;padding-top:18px!important;border-top:0!important}

/* 7. Mobile. */
@media (max-width:640px){
  body.author .dauth-hero-name{font-size:clamp(34px,9vw,44px)!important}
  body.author .dauth-hero-bio{font-size:16px!important}
  body.author .dauth-stat-row{margin-top:28px!important;padding:20px 22px}
  body.author .dauth-hero-inner > div:not([class]){flex-direction:column!important;flex-wrap:wrap!important}
  body.author .dauth-hero-inner > div:not([class]) > a{flex:none;width:100%}
  body.author .dauth-trust-row{margin-top:32px!important}
  body.author .dbh-filter-bar{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none}
  body.author .dbh-filter-bar::-webkit-scrollbar{display:none}
  body.author .dbh-filter-btn{flex:none}
  body.author .dbh-card{padding:22px 22px 20px!important}
  body.author .dbh-card-title{font-size:18px!important}
}

/* 8. One CTA, not four. Keep the detector, drop the second dark slab and the
      solutions widget, which added two more exits on a credibility page. */
body.author .dauth-cta-wrap{display:none!important}
body.author .dauth-widget,
body.author .dauth-widget-footer{display:none!important}

/* 9. The card head kept min-height:150px, sized for the monogram glyph removed
      in rule 6. That left ~80px of dead space above every card title. */
body.author .dbh-card-head{min-height:0!important}

/* 10. The trust row's top border sat flush against the Website/LinkedIn buttons,
      so the rule read as an underline on them rather than a section divider.
      Push it clear on all three author archives. */
body.author .dauth-hero-inner > div:not([class]){margin:30px 0 46px!important}
@media (max-width:640px){
  body.author .dauth-hero-inner > div:not([class]){margin:26px 0 38px!important}
}

/* 11. Not every author has the Website/LinkedIn row. The Diopter AI Team hero
      ends at the bio, so rule 10 did nothing there and the divider sat flush
      against the text. A later rule pins margin-top:0 on the trust row for the
      full-bleed band, so the space has to come from the element above it. */
body.author .dauth-hero-inner:not(:has(> div:not([class]))) .dauth-hero-bio{margin-bottom:46px!important}
@media (max-width:640px){
  body.author .dauth-hero-inner:not(:has(> div:not([class]))) .dauth-hero-bio{margin-bottom:38px!important}
}

/* --- block 17 --- */
@import url('https://fonts.googleapis.com/css2?family=Instrument+Sans:ital,wght@0,400;0,600;0,700;0,800;1,400&display=swap');

/* ===== Diopter author page — Editorial Profile redesign ===== */
:root{
  --dio-deep-signal:#0C1826;
  --dio-night-lens:#314252;
  --dio-soft-focus:#DCE4E8;
  --dio-true-mint:#36AC75;
  --dio-mid-mint:#54D197;
  --dio-light-mint:#A0EBC3;
  --dio-slate-focus:#434752;
  --dio-mist-grey:#EDEDEF;
  --dio-pale-lens:#F4F4F6;
}

body.author .dauth-hero,
body.author .dauth-hero-name,
body.author .dauth-eyebrow,
body.author .dauth-hero-role,
body.author .dauth-hero-bio,
body.author .dauth-section,
body.author .dbh-grid,
body.author .dbh-card {
  font-family:'Silka','Instrument Sans',-apple-system,'system-ui','Segoe UI',sans-serif !important;
}

/* Hero background + accent */
body.author .dauth-hero{
  background: var(--dio-deep-signal) !important;
  position: relative;
  overflow: hidden;
  padding-bottom: 0 !important;
}
body.author .dauth-hero::before{
  content:"";
  position:absolute; top:-120px; right:-120px; width:360px; height:360px;
  border-radius:50%;
  background: radial-gradient(circle, rgba(54,172,117,0.20), transparent 70%);
  pointer-events:none;
}
body.author .dauth-hero-inner{ position:relative; z-index:1; }

body.author .dauth-eyebrow{
  color: var(--dio-light-mint) !important;
  display:flex; align-items:center; gap:8px;
}
body.author .dauth-eyebrow::before{
  content:""; width:16px; height:2px; background: var(--dio-true-mint); display:inline-block;
}

body.author .dauth-hero-name{ color:#fff !important; letter-spacing:-0.01em !important; }

body.author .dauth-hero-role{
  display:inline-flex !important;
  background: rgba(54,172,117,0.14) !important;
  color: var(--dio-light-mint) !important;
  border: 1px solid rgba(54,172,117,0.35) !important;
  border-radius: 999px !important;
}

body.author .dauth-hero-bio{ color: var(--dio-soft-focus) !important; opacity:0.9; }

/* Avatar injected by JS */
body.author .dauth-avatar{
  width:88px; height:88px; border-radius:50%;
  background: linear-gradient(135deg, var(--dio-mid-mint), var(--dio-true-mint));
  color: var(--dio-deep-signal);
  display:flex; align-items:center; justify-content:center;
  font-size:30px; font-weight:800; flex-shrink:0;
  box-shadow: 0 0 0 4px rgba(255,255,255,0.06);
  margin-bottom:20px;
}

/* Stat row injected by JS */
body.author .dauth-stat-row{
  display:flex; gap:32px; padding-top:20px; margin-top:8px;
  border-top:1px solid rgba(255,255,255,0.1);
}
body.author .dauth-stat .dauth-stat-num{
  font-size:26px; font-weight:800; color:#fff; line-height:1; margin-bottom:4px;
}
body.author .dauth-stat .dauth-stat-lbl{ font-size:12px; color:var(--dio-soft-focus); opacity:0.6; }

/* Trust row -> full-bleed white strip inside the base of the dark hero */
body.author .dauth-trust-row{
  background:#fff !important;
  position: relative !important;
  left: 50% !important;
  margin-left: -50vw !important;
  width: 100vw !important;
  box-sizing: border-box !important;
  padding: 28px max(20px, calc(50vw - 616px)) 40px !important;
  margin-top: 32px !important;
  margin-bottom: 0 !important;
  border-top: 1px solid var(--dio-mist-grey);
  z-index: 2;
}
body.author .dauth-trust-label{
  color: var(--dio-slate-focus) !important;
}
body.author .dauth-trust-item p, body.author .dauth-trust-item div:not(.dauth-trust-label){
  color: var(--dio-night-lens) !important;
}

/* Section head + filters */
body.author .dauth-section-rule{ background: var(--dio-mist-grey) !important; }
body.author .dbh-filter-btn{
  border-color: var(--dio-mist-grey) !important;
  color: var(--dio-night-lens) !important;
  background:#fff !important;
}
body.author .dbh-filter-btn.active{
  background: var(--dio-deep-signal) !important;
  color:#fff !important;
  border-color: var(--dio-deep-signal) !important;
}

/* Cards */
body.author .dbh-card{
  border: 1px solid var(--dio-mist-grey) !important;
  border-radius: 14px !important;
  transition: box-shadow .15s, transform .15s;
}
body.author .dbh-card:hover{
  box-shadow: 0 8px 24px rgba(12,24,38,0.08);
  transform: translateY(-2px);
}
body.author .dbh-card-glyph{
  width:30px; height:30px; border-radius:8px;
  display:flex; align-items:center; justify-content:center;
  font-size:11px; font-weight:800;
  background: var(--dio-pale-lens) !important;
  color: var(--dio-slate-focus) !important;
}
body.author .dbh-card-cat{
  color: var(--dio-night-lens) !important;
  display:flex; align-items:center; gap:6px;
}
body.author .dbh-card-cat::before{
  content:""; width:6px; height:6px; border-radius:50%;
  background: var(--dio-true-mint); display:inline-block;
}
body.author .dbh-card-title{ color: var(--dio-deep-signal) !important; }
body.author .dbh-card-summary{ color: var(--dio-slate-focus) !important; }
body.author .dbh-card-arrow{ color: var(--dio-true-mint) !important; font-weight:700 !important; }


/* dblog: extended author bio section (.dauthx) - restyle to match Editorial Profile redesign */
body.author .dauthx, body.author .dauthx *{
  font-family:'Silka','Instrument Sans',-apple-system,'system-ui','Segoe UI',sans-serif !important;
}
body.author .dauthx{
  background:#fff !important;
  padding-top:56px !important;
  padding-bottom:72px !important;
}
body.author .dauthx-g{ gap:48px !important; }

body.author .dx-sec{ margin-bottom:40px; }
body.author .dx-sec:last-child{ margin-bottom:0; }
body.author .dx-sec h2{
  font-size:22px !important; font-weight:800 !important;
  color: var(--dio-deep-signal) !important; margin:0 0 16px !important; letter-spacing:-0.01em;
}
body.author .dx-sec > p{
  font-size:15px !important; line-height:1.75 !important;
  color: var(--dio-night-lens) !important; margin:0 0 16px !important;
}
body.author .dx-sec p strong{ color: var(--dio-deep-signal) !important; font-weight:700 !important; }

body.author .dx-pull{
  border-left:3px solid var(--dio-true-mint) !important;
  padding:4px 0 4px 20px !important; margin:24px 0 8px !important;
}
body.author .dx-pull p{
  font-size:18px !important; font-weight:600 !important; line-height:1.5 !important;
  color: var(--dio-deep-signal) !important; margin:0 !important;
}
body.author .dx-src{
  font-size:12px !important; color: var(--dio-slate-focus) !important;
  opacity:0.75; margin:0 0 16px 20px !important;
}

body.author .dx-tr{
  display:flex !important; gap:20px; padding:18px 0 !important;
  border-top:1px solid var(--dio-mist-grey) !important;
}
body.author .dx-tr:first-of-type{ border-top:none !important; padding-top:0 !important; }
body.author .dx-ty{
  flex:0 0 100px; font-size:12px !important; font-weight:700 !important;
  letter-spacing:0.04em; text-transform:uppercase; color: var(--dio-true-mint) !important; padding-top:2px;
}
body.author .dx-th{ font-size:15px !important; font-weight:700 !important; color: var(--dio-deep-signal) !important; margin:0 0 6px !important; }
body.author .dx-td{ font-size:13px !important; line-height:1.6 !important; color: var(--dio-slate-focus) !important; margin:0 !important; }

body.author .dx-cols{ display:grid !important; grid-template-columns:1fr 1fr; gap:16px !important; }
body.author .dx-card{
  background:#fff !important; border:1px solid var(--dio-mist-grey) !important;
  border-radius:14px !important; padding:18px !important;
  transition: box-shadow .15s, transform .15s;
}
body.author .dx-card:hover{ box-shadow:0 8px 24px rgba(12,24,38,0.08); transform: translateY(-2px); }
body.author .dx-cd{ font-size:11px !important; font-weight:700 !important; letter-spacing:0.05em; text-transform:uppercase; color: var(--dio-true-mint) !important; margin:0 0 8px !important; }
body.author .dx-ct{ font-size:14px !important; font-weight:700 !important; margin:0 0 6px !important; }
body.author .dx-ct a{ color: var(--dio-deep-signal) !important; text-decoration:none; }
body.author .dx-ct a:hover{ color: var(--dio-true-mint) !important; }
body.author .dx-cb{ font-size:12.5px !important; line-height:1.6 !important; color: var(--dio-slate-focus) !important; margin:0 !important; }

body.author .dx-box{
  background: var(--dio-pale-lens) !important; border:1px solid var(--dio-mist-grey) !important;
  border-radius:16px !important; padding:22px !important; margin-bottom:20px !important;
}
body.author .dx-bl{ font-size:11px !important; font-weight:700 !important; letter-spacing:0.06em; text-transform:uppercase; color: var(--dio-slate-focus) !important; margin:0 0 16px !important; }
body.author .dx-kv{ display:flex !important; align-items:baseline; justify-content:space-between; padding:9px 0 !important; border-bottom:1px solid var(--dio-mist-grey) !important; }
body.author .dx-kv:last-child{ border-bottom:none !important; }
body.author .dx-kv b{ font-size:13px !important; font-weight:600 !important; color: var(--dio-night-lens) !important; }
body.author .dx-kv span{ font-size:13px !important; font-weight:700 !important; color: var(--dio-deep-signal) !important; text-align:right; }

body.author .dx-list{ display:flex !important; flex-direction:column; gap:10px !important; }
body.author .dx-list span{ font-size:13px !important; color: var(--dio-night-lens) !important; display:flex; align-items:center; gap:8px; }
body.author .dx-list span::before{ content:""; width:6px; height:6px; border-radius:50%; background: var(--dio-true-mint); flex-shrink:0; display:inline-block; }

@media (max-width: 800px){
  body.author .dauthx-g{ grid-template-columns:1fr !important; }
  body.author .dx-cols{ grid-template-columns:1fr !important; }
  body.author .dx-tr{ flex-direction:column; gap:6px; }
}


/* dblog: articles-reviewed list + contact box link colors */
body.author .dx-revlist{ display:flex !important; flex-direction:column; }
body.author .dx-rev{
  display:flex !important; align-items:center; gap:16px;
  padding:14px 4px !important; border-bottom:1px solid var(--dio-pale-lens) !important;
  text-decoration:none !important;
}
body.author .dx-rev:last-child{ border-bottom:none !important; }
body.author .dx-rev:hover .dx-revt{ color: var(--dio-true-mint) !important; }
body.author .dx-revc{
  flex:0 0 150px; font-size:11px !important; font-weight:700 !important;
  letter-spacing:0.05em; text-transform:uppercase; color: var(--dio-slate-focus) !important;
}
body.author .dx-revt{ flex:1; font-size:14px !important; font-weight:700 !important; color: var(--dio-deep-signal) !important; }
body.author .dx-revd{ font-size:12px !important; color: var(--dio-slate-focus) !important; white-space:nowrap; }
body.author .dx-revsec > p{ color: var(--dio-slate-focus) !important; font-size:13px !important; }

body.author .dx-box a{ color: var(--dio-true-mint) !important; font-weight:700 !important; text-decoration:none; }
body.author .dx-box a:hover{ text-decoration:underline; }

@media (max-width: 800px){
  body.author .dx-rev{ flex-wrap:wrap; }
  body.author .dx-revc{ flex:0 0 100%; }
  body.author .dx-revd{ margin-left:auto; }
}


/* dblog: v2 "Cohesive Editorial Profile" rollout - merge hero/trust-row, two-col sticky sidebar, continuous white surface */
body.author{ background: var(--dio-pale-lens) !important; }

/* merge trust-row into the dark hero (no gap, dark theme instead of white breakout) */
body.author .dauth-trust-row{
  background: var(--dio-deep-signal) !important;
  margin-top: 0 !important;
  border-top: 1px solid rgba(255,255,255,0.1) !important;
  padding-top: 22px !important;
  padding-bottom: 32px !important;
}
body.author .dauth-trust-label{ color: var(--dio-light-mint) !important; opacity:0.9; }
body.author .dauth-trust-item p,
body.author .dauth-trust-item div:not(.dauth-trust-label){ color: var(--dio-soft-focus) !important; opacity:0.85; }

/* extended bio area: transparent wrapper on pale-lens page bg, two-col grid becomes main card + sticky sidebar */
body.author .dauthx{ background: transparent !important; padding-top: 40px !important; }
body.author .dauthx-g > div:first-child{
  background:#fff !important;
  border-radius: 20px !important;
  padding: 40px 40px 8px !important;
  box-shadow: 0 1px 2px rgba(12,24,38,0.04);
}
body.author .dauthx-g > div:last-child{
  position: sticky !important;
  top: 24px;
  align-self: start;
}
body.author .dx-sec.dx-revsec{
  background:#fff !important;
  border-radius: 20px !important;
  padding: 8px 40px 36px !important;
  margin-top: 16px;
  box-shadow: 0 1px 2px rgba(12,24,38,0.04);
}

/* article grid section (published/reviewed) - continue the white surface, rounded bottom */
body.author .dauth-section:has(#dauthGrid){
  background:#fff !important;
  border-radius: 20px !important;
  padding: 36px 40px 48px !important;
  margin-top: 20px !important;
  box-shadow: 0 1px 2px rgba(12,24,38,0.04);
}

@media (max-width: 900px){
  body.author .dauthx-g > div:first-child{ border-radius: 16px; padding: 28px 22px 8px !important; }
  body.author .dauthx-g > div:last-child{ position: static !important; }
  body.author .dx-sec.dx-revsec{ border-radius: 16px; padding: 8px 22px 28px !important; margin-top: 16px; }
  body.author .dauth-section:has(#dauthGrid){ border-radius: 16px; padding: 28px 22px 36px !important; }
}


/* dblog: hide the plain 'Articles reviewed' list - redundant with the card grid below */
body.author .dx-revsec{ display: none !important; }

/* --- block 19 --- */
/* ~~~~~ RECOVERED PER-POST COMPONENT CSS  2026-08-05 ~~~~~
   Today's body-only conversion stripped each legacy post's inline <style>.
   The fingerprint gate checked text, links, headings and list counts, so it
   passed - but it never checked STYLING, and these classes were only ever
   styled from inside those inline blocks. 29 stat-share buttons rendered as
   native browser buttons and post 245's tool cards collapsed.

   Rules recovered verbatim from each post's last pre-conversion revision,
   filtered to selectors that have no CSS anywhere else.

   EVERY RULE IS SCOPED to body.postid-N. This matters: several posts reuse the
   same class name with different styling (.bl-tool was styled only by 334 but
   is also used by 245; .bl-case only by 376/383 but used by five more). An
   unscoped version of this file leaked 334's smaller .bl-tool p size onto 245.
   Keep the scoping when editing.

   .bl-cite-sum and .bl-bcta-title are deliberately unstyled - they never had
   CSS, even before the conversion. */

/* ---- post 179 : what-is-social-engineering ---- */
body.postid-179 .dblog .bl-content ol.bl-steps { margin: 0px 0px 18px; padding: 0px; list-style: none; counter-reset: step 0; }
body.postid-179 .dblog .bl-content ol.bl-steps li { counter-increment: step 1; font-size: 0.91rem; color: rgb(61, 74, 99); line-height: 1.78; padding: 14px 0px 14px 46px; position: relative; border-bottom: 1px solid rgb(241, 243, 245); }
body.postid-179 .dblog .bl-content ol.bl-steps li:last-child { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; }
body.postid-179 .dblog .bl-content ol.bl-steps li::before { content: counter(step); position: absolute; left: 0px; top: 14px; width: 28px; height: 28px; border-radius: 50%; background: rgb(19, 22, 47); color: rgb(255, 255, 255); font-size: 0.68rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }
body.postid-179 .dblog .bl-bcta-label { font-size: 0.65rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255, 255, 255, 0.35); margin-bottom: 14px; }
body.postid-179 .dbl-stat-share-btn { display: inline-flex; align-items: center; gap: 5px; font-size: 0.63rem; font-weight: 700; color: rgb(166, 175, 191); background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; cursor: pointer; padding: 3px 6px; border-radius: 5px; transition: color 0.15s, background 0.15s; margin-left: 4px; }
body.postid-179 .dbl-stat-share-btn:hover { color: rgb(19, 22, 47); background: rgb(226, 229, 237); }

/* ---- post 198 : deepfake-detection-methods ---- */
body.postid-198 .dblog .bl-content ol.bl-steps { margin: 0px 0px 18px; padding: 0px; list-style: none; counter-reset: step 0; }
body.postid-198 .dblog .bl-content ol.bl-steps li { counter-increment: step 1; font-size: 0.91rem; color: rgb(61, 74, 99); line-height: 1.78; padding: 14px 0px 14px 46px; position: relative; border-bottom: 1px solid rgb(241, 243, 245); }
body.postid-198 .dblog .bl-content ol.bl-steps li:last-child { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; }
body.postid-198 .dblog .bl-content ol.bl-steps li::before { content: counter(step); position: absolute; left: 0px; top: 14px; width: 28px; height: 28px; border-radius: 50%; background: rgb(19, 22, 47); color: rgb(255, 255, 255); font-size: 0.68rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }
body.postid-198 .dblog .bl-summary-text { font-size: 0.88rem; color: rgb(74, 85, 104); line-height: 1.75; margin: 0px 0px 20px; }
body.postid-198 .ddm-stat-share-btn { display: inline-flex; align-items: center; gap: 5px; font-size: 0.63rem; font-weight: 700; color: rgb(166, 175, 191); background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; cursor: pointer; padding: 3px 6px; border-radius: 5px; transition: color 0.15s, background 0.15s; margin-left: 4px; }
body.postid-198 .ddm-stat-share-btn:hover { color: rgb(19, 22, 47); background: rgb(226, 229, 237); }

/* ---- post 239 : arup-deepfake-scam ---- */
body.postid-239 .dblog .bl-content ol.bl-steps { margin: 0px 0px 18px; padding: 0px; list-style: none; counter-reset: step 0; }
body.postid-239 .dblog .bl-content ol.bl-steps li { counter-increment: step 1; font-size: 0.91rem; color: rgb(61, 74, 99); line-height: 1.78; padding: 14px 0px 14px 46px; position: relative; border-bottom: 1px solid rgb(241, 243, 245); }
body.postid-239 .dblog .bl-content ol.bl-steps li:last-child { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; }
body.postid-239 .dblog .bl-content ol.bl-steps li::before { content: counter(step); position: absolute; left: 0px; top: 14px; width: 28px; height: 28px; border-radius: 50%; background: rgb(19, 22, 47); color: rgb(255, 255, 255); font-size: 0.68rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }
body.postid-239 .dblog .bl-summary-text { font-size: 0.88rem; color: rgb(74, 85, 104); line-height: 1.75; margin: 0px 0px 20px; }
body.postid-239 .ddm-stat-share-btn { display: inline-flex; align-items: center; gap: 5px; font-size: 0.63rem; font-weight: 700; color: rgb(166, 175, 191); background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; cursor: pointer; padding: 3px 6px; border-radius: 5px; transition: color 0.15s, background 0.15s; margin-left: 4px; }
body.postid-239 .ddm-stat-share-btn:hover { color: rgb(19, 22, 47); background: rgb(226, 229, 237); }

/* ---- post 245 : best-ai-deepfake-detection-software ---- */
body.postid-245 .dblog .bl-content ol.bl-steps { margin: 0px 0px 18px; padding: 0px; list-style: none; counter-reset: step 0; }
body.postid-245 .dblog .bl-content ol.bl-steps li { counter-increment: step 1; font-size: 0.91rem; color: rgb(61, 74, 99); line-height: 1.78; padding: 14px 0px 14px 46px; position: relative; border-bottom: 1px solid rgb(241, 243, 245); }
body.postid-245 .dblog .bl-content ol.bl-steps li:last-child { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; }
body.postid-245 .dblog .bl-content ol.bl-steps li::before { content: counter(step); position: absolute; left: 0px; top: 14px; width: 28px; height: 28px; border-radius: 50%; background: rgb(19, 22, 47); color: rgb(255, 255, 255); font-size: 0.68rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }
body.postid-245 .dblog .bl-table-wrap { overflow-x: auto; margin: 20px 0px 28px; border: 1px solid rgb(226, 229, 237); border-radius: 14px; }
body.postid-245 .dblog .bl-table-wrap table { width: 100%; border-collapse: collapse; font-size: 0.78rem; min-width: 740px; table-layout: fixed; }
body.postid-245 .dblog .bl-table-wrap table colgroup col:nth-child(1) { width: 16%; }
body.postid-245 .dblog .bl-table-wrap table colgroup col:nth-child(2) { width: 14%; }
body.postid-245 .dblog .bl-table-wrap table colgroup col:nth-child(3) { width: 13%; }
body.postid-245 .dblog .bl-table-wrap table colgroup col:nth-child(4) { width: 15%; }
body.postid-245 .dblog .bl-table-wrap table colgroup col:nth-child(5) { width: 11%; }
body.postid-245 .dblog .bl-table-wrap table colgroup col:nth-child(6) { width: 14%; }
body.postid-245 .dblog .bl-table-wrap table colgroup col:nth-child(7) { width: 17%; }
body.postid-245 .dblog .bl-table-wrap table thead th { background: rgb(19, 22, 47); color: rgb(255, 255, 255); font-size: 0.65rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 12px; text-align: left; }
body.postid-245 .dblog .bl-table-wrap table thead th:first-child { border-radius: 12px 0px 0px; }
body.postid-245 .dblog .bl-table-wrap table thead th:last-child { border-radius: 0px 12px 0px 0px; }
body.postid-245 .dblog .bl-table-wrap table td { padding: 11px 12px; vertical-align: top; color: rgb(61, 74, 99); border-bottom: 1px solid rgb(241, 243, 245); line-height: 1.55; overflow-wrap: break-word; }
body.postid-245 .dblog .bl-table-wrap table tr:last-child td { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; }
body.postid-245 .dblog .bl-table-wrap table tr:nth-child(2n) td { background: rgb(250, 251, 252); }
body.postid-245 .dblog .bl-table-wrap table td:first-child { font-weight: 700; color: rgb(19, 22, 47); }
body.postid-245 .dblog .bl-table-wrap table td strong { color: rgb(19, 22, 47); }
@media (max-width: 700px) { body.postid-245 .dblog .bl-table-wrap { border-width: medium; border-style: none; border-color: currentcolor; border-image: none; background: transparent; } }
@media (max-width: 700px) { body.postid-245 .dblog .bl-table-wrap table { min-width: 0px; table-layout: auto; font-size: 0.82rem; } }
@media (max-width: 700px) { body.postid-245 .dblog .bl-table-wrap table, body.postid-245 .dblog .bl-table-wrap thead, body.postid-245 .dblog .bl-table-wrap tbody, body.postid-245 .dblog .bl-table-wrap th, body.postid-245 .dblog .bl-table-wrap td, body.postid-245 .dblog .bl-table-wrap tr { display: block; } }
@media (max-width: 700px) { body.postid-245 .dblog .bl-table-wrap thead tr { position: absolute; top: -9999px; left: -9999px; } }
@media (max-width: 700px) { body.postid-245 .dblog .bl-table-wrap tbody tr { border: 1px solid rgb(226, 229, 237); border-radius: 12px; margin-bottom: 10px; overflow: hidden; background: rgb(255, 255, 255); } }
@media (max-width: 700px) { body.postid-245 .dblog .bl-table-wrap tbody tr:nth-child(2n) td { background: rgb(255, 255, 255); } }
@media (max-width: 700px) { body.postid-245 .dblog .bl-table-wrap tbody td { border-width: medium medium 1px; border-style: none none solid; border-color: currentcolor currentcolor rgb(241, 243, 245); border-image: none; padding: 10px 14px 10px 42%; position: relative; min-height: 36px; } }
@media (max-width: 700px) { body.postid-245 .dblog .bl-table-wrap tbody td:last-child { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; } }
@media (max-width: 700px) { body.postid-245 .dblog .bl-table-wrap tbody td::before { position: absolute; left: 14px; top: 10px; width: 38%; font-size: 0.58rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: rgb(166, 175, 191); line-height: 1.4; white-space: pre-line; } }
@media (max-width: 700px) { body.postid-245 .dblog .bl-table-wrap tbody td:nth-of-type(1) { padding-left: 14px; font-weight: 700; font-size: 0.88rem; border-radius: 10px 10px 0px 0px; background: rgb(19, 22, 47) !important; color: rgb(255, 255, 255) !important; } }
@media (max-width: 700px) { body.postid-245 .dblog .bl-table-wrap tbody td:nth-of-type(1)::before { display: none; } }
@media (max-width: 700px) { body.postid-245 .dblog .bl-table-wrap tbody td:nth-of-type(2)::before { content: "Best For"; } }
@media (max-width: 700px) { body.postid-245 .dblog .bl-table-wrap tbody td:nth-of-type(3)::before { content: "Detects"; } }
@media (max-width: 700px) { body.postid-245 .dblog .bl-table-wrap tbody td:nth-of-type(4)::before { content: "Coreªpproach"; } }
@media (max-width: 700px) { body.postid-245 .dblog .bl-table-wrap tbody td:nth-of-type(5)::before { content: "Delivery"; } }
@media (max-width: 700px) { body.postid-245 .dblog .bl-table-wrap tbody td:nth-of-type(6)::before { content: "Best-Fit\a Teams"; } }
@media (max-width: 700px) { body.postid-245 .dblog .bl-table-wrap tbody td:nth-of-type(7)::before { content: "Key\a Strength"; } }
@media (max-width: 960px) { body.postid-245 .dblog .bl-table-scroll-hint { display: block; } }
body.postid-245 .dblog .bl-tool-card { background: rgb(248, 249, 251); border: 1px solid rgb(226, 229, 237); border-radius: 16px; padding: 24px 28px; margin: 28px 0px; }
body.postid-245 .dblog .bl-tool-card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 14px; flex-wrap: wrap; }
body.postid-245 .dblog .bl-tool-card-name { font-size: 1rem; font-weight: 700; color: rgb(19, 22, 47); margin: 0px; }
body.postid-245 .dblog .bl-tool-card p { font-size: 0.9rem; color: rgb(61, 74, 99); line-height: 1.78; margin: 0px 0px 12px; }
body.postid-245 .dblog .bl-tool-card p:last-child { margin: 0px; }
body.postid-245 .dblog .bl-summary-text { font-size: 0.88rem; color: rgb(74, 85, 104); line-height: 1.75; margin: 0px 0px 20px; }
body.postid-245 .ddm-stat-share-btn { display: inline-flex; align-items: center; gap: 5px; font-size: 0.63rem; font-weight: 700; color: rgb(166, 175, 191); background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; cursor: pointer; padding: 3px 6px; border-radius: 5px; transition: color 0.15s, background 0.15s; margin-left: 4px; }
body.postid-245 .ddm-stat-share-btn:hover { color: rgb(19, 22, 47); background: rgb(226, 229, 237); }
body.postid-245 .dblog .bl-table-wrap thead th { position: sticky; top: 0px; z-index: 3; }
body.postid-245 .dblog .bl-table-wrap tbody td:first-child { position: sticky; left: 0px; z-index: 2; background: rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.08) 1px 0px 0px; }
body.postid-245 .dblog .bl-table-wrap thead th:first-child { left: 0px; z-index: 4; }
.dblog .bl-td-jump { display: block; margin-top: 4px; font-size: 11px; font-weight: 400; text-decoration: none; opacity: 0.6; }
.dblog .bl-td-jump:hover { opacity: 1; text-decoration: underline; }
body.postid-245 .dblog .bl-tool-spec { margin: 0px 0px 18px; }
body.postid-245 .dblog .bl-tool-spec dl { margin: 0px; display: grid; grid-template-columns: 172px 1fr; border: 1px solid rgba(0, 0, 0, 0.11); border-radius: 6px; overflow: hidden; font-size: 13.5px; line-height: 1.5; }
body.postid-245 .dblog .bl-tool-spec dt { margin: 0px; padding: 9px 14px; background: rgba(0, 0, 0, 0.035); font-weight: 600; font-size: 10.5px; letter-spacing: 0.05em; text-transform: uppercase; border-bottom: 1px solid rgba(0, 0, 0, 0.07); }
body.postid-245 .dblog .bl-tool-spec dd { margin: 0px; padding: 9px 14px; border-bottom: 1px solid rgba(0, 0, 0, 0.07); }
body.postid-245 .dblog .bl-tool-back { margin: 16px 0px 0px; font-size: 13px; opacity: 0.75; }
@media (max-width: 600px) { body.postid-245 .dblog .bl-tool-spec dl { grid-template-columns: 1fr; } }
@media (max-width: 600px) { body.postid-245 .dblog .bl-tool-spec dt { border-bottom: 0px; padding-bottom: 1px; } }

/* ---- post 250 : what-is-wire-fraud ---- */
body.postid-250 .dblog .bl-content ol.bl-steps { margin: 0px 0px 18px; padding: 0px; list-style: none; counter-reset: step 0; }
body.postid-250 .dblog .bl-content ol.bl-steps li { counter-increment: step 1; font-size: 0.91rem; color: rgb(61, 74, 99); line-height: 1.78; padding: 14px 0px 14px 46px; position: relative; border-bottom: 1px solid rgb(241, 243, 245); }
body.postid-250 .dblog .bl-content ol.bl-steps li:last-child { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; }
body.postid-250 .dblog .bl-content ol.bl-steps li::before { content: counter(step); position: absolute; left: 0px; top: 14px; width: 28px; height: 28px; border-radius: 50%; background: rgb(19, 22, 47); color: rgb(255, 255, 255); font-size: 0.68rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }
body.postid-250 .dblog .bl-table-wrap { overflow-x: auto; margin: 20px 0px 28px; border: 1px solid rgb(226, 229, 237); border-radius: 14px; }
body.postid-250 .dblog .bl-table-wrap table { width: 100%; border-collapse: collapse; font-size: 0.82rem; min-width: 680px; }
body.postid-250 .dblog .bl-table-wrap table thead th { background: rgb(19, 22, 47); color: rgb(255, 255, 255); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 13px 14px; text-align: left; }
body.postid-250 .dblog .bl-table-wrap table thead th:first-child { border-radius: 12px 0px 0px; }
body.postid-250 .dblog .bl-table-wrap table thead th:last-child { border-radius: 0px 12px 0px 0px; }
body.postid-250 .dblog .bl-table-wrap table td { padding: 12px 14px; vertical-align: top; color: rgb(61, 74, 99); border-bottom: 1px solid rgb(241, 243, 245); line-height: 1.6; }
body.postid-250 .dblog .bl-table-wrap table tr:last-child td { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; }
body.postid-250 .dblog .bl-table-wrap table tr:nth-child(2n) td { background: rgb(250, 251, 252); }
body.postid-250 .dblog .bl-table-wrap table td:first-child { font-weight: 700; color: rgb(19, 22, 47); }
body.postid-250 .dblog .bl-summary-text { font-size: 0.88rem; color: rgb(74, 85, 104); line-height: 1.75; margin: 0px 0px 20px; }
body.postid-250 .ddm-stat-share-btn { display: inline-flex; align-items: center; gap: 5px; font-size: 0.63rem; font-weight: 700; color: rgb(166, 175, 191); background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; cursor: pointer; padding: 3px 6px; border-radius: 5px; transition: color 0.15s, background 0.15s; margin-left: 4px; }
body.postid-250 .ddm-stat-share-btn:hover { color: rgb(19, 22, 47); background: rgb(226, 229, 237); }

/* ---- post 272 : enterprise-deepfake-prevention ---- */
body.postid-272 .dblog .bl-content ol.bl-steps { margin: 0px 0px 18px; padding: 0px; list-style: none; counter-reset: step 0; }
body.postid-272 .dblog .bl-content ol.bl-steps li { counter-increment: step 1; font-size: 0.91rem; color: rgb(61, 74, 99); line-height: 1.78; padding: 14px 0px 14px 46px; position: relative; border-bottom: 1px solid rgb(241, 243, 245); }
body.postid-272 .dblog .bl-content ol.bl-steps li:last-child { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; }
body.postid-272 .dblog .bl-content ol.bl-steps li::before { content: counter(step); position: absolute; left: 0px; top: 14px; width: 28px; height: 28px; border-radius: 50%; background: rgb(19, 22, 47); color: rgb(255, 255, 255); font-size: 0.68rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }
body.postid-272 .dblog .bl-attack-flow-scroll { overflow-x: auto; margin: 20px 0px 24px; }
body.postid-272 .dep-stat-share-btn { display: inline-flex; align-items: center; gap: 5px; font-size: 0.63rem; font-weight: 700; color: rgb(166, 175, 191); background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; cursor: pointer; padding: 3px 6px; border-radius: 5px; transition: color 0.15s, background 0.15s; margin-left: 4px; }
body.postid-272 .dep-stat-share-btn:hover { color: rgb(19, 22, 47); background: rgb(226, 229, 237); }
body.postid-272 .dblog .bl-summary-text { font-size: 0.88rem; color: rgb(74, 85, 104); line-height: 1.75; margin: 0px 0px 20px; }

/* ---- post 274 : business-email-compromise ---- */
body.postid-274 .dblog .bl-content ol.bl-steps { margin: 0px 0px 18px; padding: 0px; list-style: none; counter-reset: step 0; }
body.postid-274 .dblog .bl-content ol.bl-steps li { counter-increment: step 1; font-size: 0.91rem; color: rgb(61, 74, 99); line-height: 1.78; padding: 14px 0px 14px 46px; position: relative; border-bottom: 1px solid rgb(241, 243, 245); }
body.postid-274 .dblog .bl-content ol.bl-steps li:last-child { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; }
body.postid-274 .dblog .bl-content ol.bl-steps li::before { content: counter(step); position: absolute; left: 0px; top: 14px; width: 28px; height: 28px; border-radius: 50%; background: rgb(19, 22, 47); color: rgb(255, 255, 255); font-size: 0.68rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }
body.postid-274 .dblog .bl-attack-flow-scroll { overflow-x: auto; margin: 20px 0px 24px; }
body.postid-274 .dblog .bl-table-wrap { overflow-x: auto; margin: 20px 0px 24px; border-radius: 12px; border: 1px solid rgb(226, 229, 237); }
body.postid-274 .bec-stat-share-btn { display: inline-flex; align-items: center; gap: 5px; font-size: 0.63rem; font-weight: 700; color: rgb(166, 175, 191); background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; cursor: pointer; padding: 3px 6px; border-radius: 5px; transition: color 0.15s, background 0.15s; margin-left: 4px; }
body.postid-274 .bec-stat-share-btn:hover { color: rgb(19, 22, 47); background: rgb(226, 229, 237); }
body.postid-274 .dblog .bl-summary-text { font-size: 0.88rem; color: rgb(74, 85, 104); line-height: 1.75; margin: 0px 0px 20px; }

/* ---- post 285 : real-estate-wire-fraud ---- */
body.postid-285 .dblog .bl-content ol.bl-steps { margin: 0px 0px 18px; padding: 0px; list-style: none; counter-reset: step 0; }
body.postid-285 .dblog .bl-content ol.bl-steps li { counter-increment: step 1; font-size: 0.91rem; color: rgb(61, 74, 99); line-height: 1.78; padding: 14px 0px 14px 46px; position: relative; border-bottom: 1px solid rgb(241, 243, 245); }
body.postid-285 .dblog .bl-content ol.bl-steps li:last-child { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; }
body.postid-285 .dblog .bl-content ol.bl-steps li::before { content: counter(step); position: absolute; left: 0px; top: 14px; width: 28px; height: 28px; border-radius: 50%; background: rgb(19, 22, 47); color: rgb(255, 255, 255); font-size: 0.68rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }
body.postid-285 .dblog .bl-attack-flow-scroll { margin: 20px 0px 24px; }
body.postid-285 .rewf-stat-share-btn { display: inline-flex; align-items: center; gap: 5px; font-size: 0.63rem; font-weight: 700; color: rgb(166, 175, 191); background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; cursor: pointer; padding: 3px 6px; border-radius: 5px; transition: color 0.15s, background 0.15s; margin-left: 4px; }
body.postid-285 .rewf-stat-share-btn:hover { color: rgb(19, 22, 47); background: rgb(226, 229, 237); }

/* ---- post 291 : executive-cybersecurity-protection ---- */
body.postid-291 .dblog .bl-content ol.bl-steps { margin: 0px 0px 18px; padding: 0px; list-style: none; counter-reset: step 0; }
body.postid-291 .dblog .bl-content ol.bl-steps li { counter-increment: step 1; font-size: 0.91rem; color: rgb(61, 74, 99); line-height: 1.78; padding: 14px 0px 14px 46px; position: relative; border-bottom: 1px solid rgb(241, 243, 245); }
body.postid-291 .dblog .bl-content ol.bl-steps li:last-child { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; }
body.postid-291 .dblog .bl-content ol.bl-steps li::before { content: counter(step); position: absolute; left: 0px; top: 14px; width: 28px; height: 28px; border-radius: 50%; background: rgb(19, 22, 47); color: rgb(255, 255, 255); font-size: 0.68rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }
body.postid-291 .dblog .bl-content ol.bl-steps li strong { display: block; margin-bottom: 2px; }
body.postid-291 .dblog .bl-attack-flow-scroll { margin: 20px 0px 24px; }
body.postid-291 .exps-stat-share-btn { display: inline-flex; align-items: center; gap: 5px; font-size: 0.63rem; font-weight: 700; color: rgb(166, 175, 191); background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; cursor: pointer; padding: 3px 6px; border-radius: 5px; transition: color 0.15s, background 0.15s; margin-left: 4px; }
body.postid-291 .exps-stat-share-btn:hover { color: rgb(19, 22, 47); background: rgb(226, 229, 237); }

/* ---- post 334 : best-ai-social-engineering-defense-tools ---- */
body.postid-334 .dblog .bl-table-scroll { margin: 20px 0px 28px; overflow-x: auto; border: 1px solid rgb(226, 229, 237); border-radius: 14px; }
body.postid-334 .dblog .bl-tool { background: rgb(248, 249, 251); border: 1px solid rgb(226, 229, 237); border-radius: 14px; padding: 20px 24px; margin: 0px 0px 16px; }
body.postid-334 .dblog .bl-tool p { font-size: 0.88rem; color: rgb(74, 85, 104); line-height: 1.75; margin: 0px 0px 10px; }
body.postid-334 .dblog .bl-tool p:last-child { margin: 0px; }
body.postid-334 .dblog .bl-tool p strong { color: rgb(19, 22, 47); }
body.postid-334 .sedt-stat-share-btn { display: inline-flex; align-items: center; gap: 5px; font-size: 0.63rem; font-weight: 700; color: rgb(166, 175, 191); background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; cursor: pointer; padding: 3px 6px; border-radius: 5px; transition: color 0.15s, background 0.15s; margin-left: 4px; }
body.postid-334 .sedt-stat-share-btn:hover { color: rgb(19, 22, 47); background: rgb(226, 229, 237); }

/* ---- post 376 : what-is-caller-id-spoofing ---- */
body.postid-376 .dblog .bl-flow { background: rgb(248, 249, 251); border: 1px solid rgb(226, 229, 237); border-radius: 14px; padding: 20px 24px; margin: 0px 0px 24px; }
body.postid-376 .dblog .bl-flow p { font-size: 0.87rem; color: rgb(61, 74, 99); line-height: 1.8; margin: 0px; font-weight: 500; }
body.postid-376 .dblog .bl-case { background: rgb(248, 249, 251); border: 1px solid rgb(226, 229, 237); border-radius: 14px; padding: 20px 24px; margin: 0px 0px 24px; }
body.postid-376 .dblog .bl-case p { font-size: 0.88rem; color: rgb(74, 85, 104); line-height: 1.75; margin: 0px 0px 10px; }
body.postid-376 .dblog .bl-case p:last-child { margin: 0px; }
body.postid-376 .dblog .bl-case h3 { margin-top: 0px; }

/* ---- post 383 : ai-fraud-detection-financial-services ---- */
body.postid-383 .dblog .bl-flow { background: rgb(248, 249, 251); border: 1px solid rgb(226, 229, 237); border-radius: 14px; padding: 20px 24px; margin: 0px 0px 24px; }
body.postid-383 .dblog .bl-flow p { font-size: 0.87rem; color: rgb(61, 74, 99); line-height: 1.8; margin: 0px; font-weight: 500; }
body.postid-383 .dblog .bl-case { background: rgb(248, 249, 251); border: 1px solid rgb(226, 229, 237); border-radius: 14px; padding: 20px 24px; margin: 0px 0px 24px; }
body.postid-383 .dblog .bl-case p { font-size: 0.88rem; color: rgb(74, 85, 104); line-height: 1.75; margin: 0px 0px 10px; }
body.postid-383 .dblog .bl-case p:last-child { margin: 0px; }
body.postid-383 .dblog .bl-case h3 { margin-top: 0px; }

/* ~~~~~ DELIBERATE IMPROVEMENT, not a restoration ~~~~~
   The original CSS never set font-family on the stat-share buttons, and
   buttons do not inherit it, so these labels always rendered in Arial while
   the rest of the site uses Outfit. Approved fix 2026-08-05. Covers all seven
   per-post prefixes (ddm/dbl/dep/sedt/exps/rewf/bec) in one rule. */
.dblog [class$="-stat-share-btn"]{font-family:inherit;}


/* ~~~~~ postid-1086 (Help Desk Scam) 2026-08-20 ~~~~~ */
body.postid-1086 .dblog .bl-table-wrap { overflow-x: auto; margin: 20px 0 24px; border-radius: 12px; border: 1px solid #e2e5ed; }
body.postid-1086 .dblog .bl-table { width: 100%; border-collapse: collapse; font-size: 0.82rem; }
body.postid-1086 .dblog .bl-table th { background: #13162f; color: #fff; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; padding: 12px 14px; text-align: left; }
body.postid-1086 .dblog .bl-table th:first-child { border-radius: 0; }
body.postid-1086 .dblog .bl-table td { padding: 11px 14px; color: #3d4a63; border-bottom: 1px solid #f1f3f5; vertical-align: top; line-height: 1.55; }
body.postid-1086 .dblog .bl-table td:first-child { font-weight: 600; color: #13162f; }
body.postid-1086 .dblog .bl-table tr:nth-child(2n) td { background: #fafbfc; }
body.postid-1086 .dblog .bl-table tr:last-child td { border-bottom: none; }
body.postid-1086 .dblog .bl-content ol.bl-steps { margin: 0 0 18px; padding: 0; list-style: none; counter-reset: step 0; }
body.postid-1086 .dblog .bl-content ol.bl-steps li { counter-increment: step 1; font-size: 0.91rem; color: #3d4a63; line-height: 1.78; padding: 14px 0 14px 46px; position: relative; border-bottom: 1px solid #f1f3f5; }
body.postid-1086 .dblog .bl-content ol.bl-steps li:last-child { border-bottom: none; }
body.postid-1086 .dblog .bl-content ol.bl-steps li::before { content: counter(step); position: absolute; left: 0; top: 14px; width: 28px; height: 28px; border-radius: 50%; background: #13162f; color: #fff; font-size: 0.68rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }


/* ~~~~~ dblog: post 1106 (AI Social Engineering) — comparison table ~~~~~ */
body.postid-1106 .dblog .bl-table-wrap { overflow-x: auto; margin: 20px 0 24px; border-radius: 12px; border: 1px solid #e2e5ed; }
body.postid-1106 .dblog .bl-table { width: 100%; border-collapse: collapse; font-size: 0.82rem; min-width: 640px; }
body.postid-1106 .dblog .bl-table th { background: #13162f; color: #fff; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; padding: 12px 14px; text-align: left; }
body.postid-1106 .dblog .bl-table th:first-child { border-radius: 0; }
body.postid-1106 .dblog .bl-table td { padding: 11px 14px; color: #3d4a63; border-bottom: 1px solid #f1f3f5; vertical-align: top; line-height: 1.55; }
body.postid-1106 .dblog .bl-table td:first-child { font-weight: 700; color: #13162f; white-space: nowrap; }
body.postid-1106 .dblog .bl-table tr:nth-child(2n) td { background: #fafbfc; }
body.postid-1106 .dblog .bl-table tr:last-child td { border-bottom: none; }

/* --- block 20 --- */
/* Extracted from the author FSE template 2026-08-05. Kept in one place so a
   styling change does not mean editing a template, and so the CSS is not
   re-sent inline on every author page view. Loaded in the footer to preserve
   the original cascade position. */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#13162F;
  --green:#2EE8A4;
  --green-dim:rgba(46,232,164,0.10);
  --green-border:rgba(46,232,164,0.25);
  --bg:#F4F5F8;
  --border:rgba(19,22,47,0.09);
  --muted:rgba(19,22,47,0.44);
  --subtle:rgba(19,22,47,0.26)
}
html,body{background:#F4F5F8!important;font-family:-apple-system,BlinkMacSystemFont,'Inter','Segoe UI',sans-serif!important;color:#13162F!important;min-height:100vh}
.dauth-wrap{min-height:100vh;background:#F4F5F8;position:relative;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.grid-bg{position:fixed;inset:0;background-image:linear-gradient(rgba(19,22,47,0.035) 1px,transparent 1px),linear-gradient(90deg,rgba(19,22,47,0.035) 1px,transparent 1px);background-size:44px 44px;pointer-events:none;z-index:0}
/* ── HERO ── */
.dauth-hero{position:relative;z-index:1;background:var(--navy);padding:64px 2rem 60px;overflow:hidden}
.dauth-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--green)}
.dauth-hero::before{content:'';position:absolute;top:-80px;right:-80px;width:420px;height:420px;background:radial-gradient(circle,rgba(46,232,164,0.07) 0%,transparent 65%);pointer-events:none}
.dauth-hero-inner{max-width:1200px;margin:0 auto;position:relative;z-index:1}
.dauth-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:0.65rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.35);margin-bottom:28px}
.dauth-eyebrow::before{content:'';display:inline-block;width:18px;height:2px;background:var(--green);border-radius:2px}
.dauth-hero-name{font-size:clamp(1.9rem,4vw,2.75rem);font-weight:800;color:#fff;letter-spacing:-0.04em;line-height:1.05;margin-bottom:10px}
.dauth-hero-role{display:inline-flex;align-items:center;gap:6px;padding:5px 13px;background:rgba(46,232,164,0.12);border:1px solid rgba(46,232,164,0.22);border-radius:100px;font-size:0.67rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--green);margin-bottom:24px}
.dauth-hero-bio{font-size:0.96rem;color:rgba(255,255,255,0.62);line-height:1.8;max-width:600px;margin-bottom:36px}
.dauth-trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-top:32px;border-top:1px solid rgba(255,255,255,0.08)}
.dauth-trust-item{display:flex;flex-direction:column;gap:6px}
.dauth-trust-label{font-size:0.62rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.3)}
.dauth-trust-value{font-size:0.83rem;color:rgba(255,255,255,0.65);line-height:1.6}
@media(max-width:680px){
  .dauth-hero{padding:48px 1.25rem 48px}
  .dauth-trust-row{grid-template-columns:1fr;gap:20px}
}
/* ── SECTION SHARED ── */
.dauth-section{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:44px 2rem 0}
@media(max-width:600px){.dauth-section{padding:36px 1.25rem 0}}
.dauth-section-head{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.dauth-section-label{font-size:0.61rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--subtle);white-space:nowrap}
.dauth-section-rule{flex:1;height:1px;background:var(--border)}
/* ── ARTICLES ── */
.dauth-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px 24px;text-decoration:none;color:inherit;transition:box-shadow 0.2s,transform 0.15s,border-color 0.2s;margin-bottom:10px}
.dauth-card:last-child{margin-bottom:0}
.dauth-card:hover{box-shadow:0 6px 28px rgba(19,22,47,0.07);transform:translateY(-1px);border-color:rgba(19,22,47,0.14)}
.dauth-card-inner{min-width:0}
.dauth-card-cat{font-size:0.61rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--green);margin-bottom:6px}
.dauth-card-title{font-size:0.97rem;font-weight:700;color:var(--navy);letter-spacing:-0.02em;line-height:1.3;margin-bottom:6px}
.dauth-card-excerpt{font-size:0.81rem;color:var(--muted);line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:12px}
.dauth-card-meta{display:flex;align-items:center;gap:9px}
.dauth-card-date{font-size:0.71rem;color:var(--muted)}
.dauth-card-read{font-size:0.69rem;color:var(--muted);background:var(--bg);padding:2px 9px;border-radius:100px}
.dauth-card-arrow{width:34px;height:34px;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background 0.15s,border-color 0.15s}
.dauth-card:hover .dauth-card-arrow{background:var(--navy);border-color:var(--navy)}
.dauth-card:hover .dauth-card-arrow svg{stroke:#fff}
.dauth-card-arrow svg{transition:stroke 0.15s}
@media(max-width:480px){.dauth-card{grid-template-columns:1fr}.dauth-card-arrow{display:none}}
/* ── EXPERTISE GRID ── */
.dauth-exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.dauth-exp-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px 20px;transition:border-color 0.15s,box-shadow 0.15s}
.dauth-exp-card:hover{border-color:var(--green-border);box-shadow:0 4px 20px rgba(19,22,47,0.06)}
.dauth-exp-icon{width:34px;height:34px;border-radius:9px;background:var(--bg);display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.dauth-exp-title{font-size:0.83rem;font-weight:700;color:var(--navy);line-height:1.25;margin-bottom:7px}
.dauth-exp-desc{font-size:0.76rem;color:var(--muted);line-height:1.7}
@media(max-width:680px){.dauth-exp-grid{grid-template-columns:1fr 1fr}}
@media(max-width:440px){.dauth-exp-grid{grid-template-columns:1fr}}
/* ── HOW WE WORK ── */
.dauth-how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.dauth-how-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px 20px}
.dauth-how-num{font-size:1.6rem;font-weight:800;color:var(--green);letter-spacing:-0.04em;line-height:1;margin-bottom:10px;opacity:0.7}
.dauth-how-title{font-size:0.83rem;font-weight:700;color:var(--navy);margin-bottom:6px}
.dauth-how-desc{font-size:0.76rem;color:var(--muted);line-height:1.68}
@media(max-width:680px){.dauth-how-grid{grid-template-columns:1fr}}
/* ── SOLUTIONS WIDGET ── */
.dauth-widget{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden}
.dauth-widget-header{padding:14px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:#FAFBFC}
.dauth-widget-hd-left{display:flex;align-items:center;gap:8px}
.dauth-widget-dot{width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0}
.dauth-widget-title{font-size:0.78rem;font-weight:700;color:var(--navy)}
.dauth-widget-sub{font-size:0.72rem;color:var(--muted)}
.dauth-widget-body{padding:16px 20px;display:flex;flex-direction:column;gap:14px}
.dauth-widget-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:8px}
.dauth-widget-item{display:flex;align-items:center;gap:10px;padding:10px 13px;border-radius:10px;border:1px solid var(--border);background:#fff;text-decoration:none!important;color:var(--navy)!important;transition:border-color 0.15s,box-shadow 0.15s}
.dauth-widget-item:hover{border-color:var(--green-border);box-shadow:0 2px 10px rgba(46,232,164,0.1)}
.dauth-widget-ico{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:0.85rem}
.dauth-widget-ico-s{background:#EFF6FF}
.dauth-widget-ico-d{background:#ECFDF5}
.dauth-widget-text{font-size:0.75rem;font-weight:500;color:var(--navy);line-height:1.3}
.dauth-widget-footer{padding:11px 20px;border-top:1px solid var(--border);background:#FAFBFC;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.dauth-widget-footer a{font-size:0.74rem;font-weight:600;color:var(--muted)!important;text-decoration:none!important;display:inline-flex;align-items:center;gap:4px;transition:color 0.15s}
.dauth-widget-footer a:hover{color:var(--navy)!important}
/* ── DEEPFAKE DETECTOR CARD ── */
.dauth-detector{background:var(--navy);border-radius:16px;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;overflow:hidden}
.dauth-detector::before{content:'';position:absolute;top:-40px;right:-40px;width:220px;height:220px;background:radial-gradient(circle,rgba(46,232,164,0.1) 0%,transparent 65%);pointer-events:none}
.dauth-detector::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--green)}
.dauth-detector-text{position:relative;z-index:1}
.dauth-detector-label{font-size:0.6rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.35);margin-bottom:8px}
.dauth-detector-title{font-size:1.05rem;font-weight:800;color:#fff;letter-spacing:-0.03em;line-height:1.2;margin-bottom:7px}
.dauth-detector-desc{font-size:0.82rem;color:rgba(255,255,255,0.52);line-height:1.6;max-width:360px}
.dauth-detector-action{position:relative;z-index:1;flex-shrink:0}
.dauth-detector-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;background:var(--green);color:var(--navy);border-radius:100px;font-size:0.8rem;font-weight:700;text-decoration:none;white-space:nowrap;transition:opacity 0.15s,transform 0.15s}
.dauth-detector-btn:hover{opacity:0.9;transform:translateY(-1px)}
@media(max-width:580px){.dauth-detector{flex-direction:column;align-items:flex-start;padding:24px 22px}.dauth-detector-btn{width:100%;justify-content:center}}
/* ── CTA ── */
.dauth-cta-wrap{position:relative;z-index:1;max-width:1200px;margin:44px auto 0;padding:0 2rem 80px}
@media(max-width:600px){.dauth-cta-wrap{padding:0 1.25rem 64px}}
.dauth-cta{background:var(--navy);border-radius:18px;padding:44px 48px;display:flex;align-items:center;justify-content:space-between;gap:32px;position:relative;overflow:hidden}
.dauth-cta::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--green)}
.dauth-cta::before{content:'';position:absolute;top:-60px;right:-60px;width:280px;height:280px;background:radial-gradient(circle,rgba(46,232,164,0.08) 0%,transparent 65%);pointer-events:none}
.dauth-cta-text{position:relative;z-index:1}
.dauth-cta-label{font-size:0.62rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.35);margin-bottom:10px}
.dauth-cta-heading{font-size:1.25rem;font-weight:800;color:#fff;letter-spacing:-0.03em;line-height:1.2;margin-bottom:10px}
.dauth-cta-sub{font-size:0.86rem;color:rgba(255,255,255,0.52);line-height:1.65;max-width:380px}
.dauth-cta-action{position:relative;z-index:1;flex-shrink:0}
.dauth-cta-btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;background:var(--green);color:var(--navy);border-radius:100px;font-size:0.84rem;font-weight:700;text-decoration:none;transition:opacity 0.15s,transform 0.15s;white-space:nowrap}
.dauth-cta-btn:hover{opacity:0.9;transform:translateY(-1px)}
@media(max-width:640px){
  .dauth-cta{flex-direction:column;align-items:flex-start;padding:32px 28px;gap:24px}
  .dauth-cta-btn{width:100%;justify-content:center}
}

:root{
  --mint: #2EE8A4;
  --mint2: hsl(150,54%,56%);
  --slate: hsl(229,9%,42%);
  --surface: #f8f9fb;
  --white: #ffffff;
  --sans: 'Outfit', system-ui, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, monospace;
  --radius: 12px;
  --dbh-border: hsl(236,38%,90%);
}
.dbh-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.dbh-filter-bar{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:32px; }
.dbh-filter-btn{ font-family:var(--mono); font-size:11.5px; font-weight:500; letter-spacing:.04em; padding:9px 16px; border-radius:999px; border:1px solid var(--dbh-border); background:var(--white); color:var(--slate); cursor:pointer; transition:all .15s; display:inline-block; text-decoration:none; }
.dbh-filter-btn:hover{ border-color:var(--mint2); color:var(--navy); }
.dbh-filter-btn.active{ background:var(--navy); border-color:var(--navy); color:var(--white); }
.dbh-card{ background:var(--white); border:1px solid var(--dbh-border); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .2s, transform .2s, border-color .2s; color:inherit; text-decoration:none; font-family:var(--sans); }
.dbh-card:hover{ box-shadow:0 16px 48px -16px hsl(233 41% 13% / .18); transform:translateY(-3px); border-color:var(--mint2); }
.dbh-card-head{ background:var(--surface); padding:32px 32px 24px; border-bottom:1px solid var(--dbh-border); position:relative; min-height:150px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; }
.dbh-card-glyph{ position:absolute; top:16px; right:20px; font-size:72px; font-weight:700; line-height:1; letter-spacing:-.04em; color:var(--dbh-border); pointer-events:none; user-select:none; font-family:var(--sans); transition:color .2s; }
.dbh-card:hover .dbh-card-glyph{ color:hsl(150,54%,56%,.18); }
.dbh-card-cat{ font-family:var(--mono); font-size:10px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--mint2); margin-bottom:8px; position:relative; z-index:1; }
.dbh-card-title{ font-size:19px; font-weight:600; line-height:1.3; letter-spacing:-.015em; color:var(--navy); position:relative; z-index:1; font-family:var(--sans); }
.dbh-card-body{ padding:22px 32px 28px; flex:1; display:flex; flex-direction:column; }
.dbh-card-summary{ font-size:14px; line-height:1.7; color:var(--slate); flex:1; margin-bottom:18px; font-family:var(--sans); }
.dbh-card-footer{ display:flex; justify-content:space-between; align-items:center; font-family:var(--mono); font-size:10.5px; color:var(--slate); border-top:1px solid var(--dbh-border); padding-top:16px; }
.dbh-card-arrow{ color:var(--mint2); font-weight:500; }
.dbh-empty{ color:var(--slate); font-size:15px; grid-column:1/-1; padding:24px 0; }
@media (max-width:900px){ .dbh-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .dbh-grid{ grid-template-columns:1fr; } }


/* ===== EXTRACTED FROM ARCHIVE TEMPLATE 2026-08-05 (category hubs) ===== */

:root{
  --navy:   #13162F;
  --navy2:  #0f1226;
  --mint:   #2EE8A4;
  --mint2:  hsl(150,54%,56%);
  --pale:   hsl(232,32%,94%);
  --border: hsl(236,38%,90%);
  --slate:  hsl(229,9%,42%);
  --mist:   hsl(231,14%,81%);
  --white:  #ffffff;
  --surface:#f8f9fb;
  --sans:   'Outfit', system-ui, sans-serif;
  --mono:   'JetBrains Mono', ui-monospace, monospace;
  --radius: 12px;
}
.dbh, .dbh *{ box-sizing:border-box; margin:0; padding:0; font-family:var(--sans); }
.dbh{ max-width:1200px; margin:0 auto; padding:56px 24px 96px; color:var(--navy); }
.dbh-hero{ padding-bottom:56px; border-bottom:1px solid var(--border); margin-bottom:56px; }
.dbh-hero-eyebrow{ font-family:var(--mono); font-size:11px; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--mint2); display:flex; align-items:center; gap:10px; margin-bottom:24px; }
.dbh-hero-eyebrow::before{ content:''; display:block; width:20px; height:1px; background:var(--mint); }
.dbh-hero-eyebrow a{ color:inherit; text-decoration:none; }
.dbh-hero-eyebrow a:hover{ color:var(--mint2); }
h1.dbh-hero-headline{ font-size:clamp(34px,4.8vw,56px); font-weight:700; line-height:1.08; letter-spacing:-.03em; color:var(--navy); max-width:780px; margin-bottom:20px; }
.dbh-hero-sub{ font-size:16.5px; color:var(--slate); line-height:1.65; max-width:600px; }
.dbh-section-label{ font-family:var(--mono); font-size:11px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--slate); margin-bottom:20px; }
.dbh-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.dbh-card{ background:var(--white); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .2s, transform .2s, border-color .2s; color:inherit; text-decoration:none; }
.dbh-card:hover{ box-shadow:0 16px 48px -16px hsl(233 41% 13% / .18); transform:translateY(-3px); border-color:var(--mint2); }
.dbh-card-head{ background:var(--surface); padding:32px 32px 24px; border-bottom:1px solid var(--border); position:relative; min-height:150px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; }
.dbh-card-glyph{ position:absolute; top:16px; right:20px; font-size:72px; font-weight:700; line-height:1; letter-spacing:-.04em; color:var(--border); pointer-events:none; user-select:none; font-family:var(--sans); transition:color .2s; }
.dbh-card:hover .dbh-card-glyph{ color:hsl(150,54%,56%,.18); }
.dbh-card-cat{ font-family:var(--mono); font-size:10px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--mint2); margin-bottom:8px; position:relative; z-index:1; }
.dbh-card-title{ font-size:19px; font-weight:600; line-height:1.3; letter-spacing:-.015em; color:var(--navy); position:relative; z-index:1; }
.dbh-card-body{ padding:22px 32px 28px; flex:1; display:flex; flex-direction:column; }
.dbh-card-summary{ font-size:14px; line-height:1.7; color:var(--slate); flex:1; margin-bottom:18px; }
.dbh-card-footer{ display:flex; justify-content:space-between; align-items:center; font-family:var(--mono); font-size:10.5px; color:var(--slate); border-top:1px solid var(--border); padding-top:16px; }
.dbh-card-arrow{ color:var(--mint2); font-weight:500; }
.dbh-empty{ color:var(--slate); font-size:15px; grid-column:1/-1; padding:32px 0; }
@media (max-width:900px){ .dbh-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .dbh-grid{ grid-template-columns:1fr; } .dbh{ padding:40px 20px 64px; } }

.dbh-card-pillar{ border-color:var(--mint2); box-shadow:0 0 0 2px hsl(150,54%,56%,0.15); }
.dbh-pillar-badge{ position:absolute; top:16px; left:20px; background:var(--mint2); color:#0f1226; font-family:var(--mono); font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:4px 10px; border-radius:999px; z-index:1; }


/* ===== EXTRACTED FROM HOME TEMPLATE 2026-08-05 (blog homepage) ===== */
.dhx{max-width:1132px;margin:0 auto;padding:0 20px 60px;font-family:Outfit,sans-serif;color:#13162F;letter-spacing:-.1px}.dhx a{text-decoration:none;color:inherit}.dhx-eyebrow{font-size:11.5px;letter-spacing:.46px;text-transform:uppercase;color:#1E7A54;font-weight:650;margin:36px 0 10px}.dhx h1{font-size:40px;line-height:44.8px;letter-spacing:-1.2px;color:#13162F;font-weight:700;margin:0 0 14px}.dhx-dek{font-size:14.88px;line-height:25px;letter-spacing:-.1px;font-weight:400;color:#3D4A63;max-width:660px;margin:0 0 24px}.dhx .bl-sub{max-width:none;margin:0 0 30px;padding:22px 26px;border-radius:14px;background:#F8FAFC;border:1px solid #E2E5ED;display:grid;grid-template-columns:minmax(0,1fr) 380px;column-gap:40px;align-items:center}.dhx .bl-sub-t{grid-column:1;grid-row:1}.dhx .bl-sub-d{grid-column:1;grid-row:2}.dhx .bl-sub-f{grid-column:2;grid-row:1 / span 2;align-self:center}.dhx .bl-sub-n{grid-column:1;grid-row:3}.dhx .bl-sub-m{grid-column:2;grid-row:3}.dhx .bl-sub-t{font-family:Outfit,sans-serif;font-size:15.68px;font-weight:650;letter-spacing:-.1px;color:#13162F;margin:0 0 6px}.dhx .bl-sub-d{font-family:Outfit,sans-serif;font-size:14.56px;line-height:22px;font-weight:300;letter-spacing:-.1px;color:#3D4A63;margin:0 0 14px;max-width:620px}.dhx .bl-sub-f{display:flex;gap:8px;flex-wrap:wrap;margin:0;max-width:560px}.dhx .bl-sub-i{flex:1 1 240px;font-family:Outfit,sans-serif;letter-spacing:-.1px;font-weight:400}.dhx .bl-sub-b{font-family:Outfit,sans-serif;font-weight:650;letter-spacing:-.1px}.dhx .bl-sub-n{font-family:Outfit,sans-serif;font-size:11.84px;font-weight:400;color:#676C7A;margin:10px 0 0;letter-spacing:0}.dhx .bl-sub-m:empty{display:none}.dhx-chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 34px;border-bottom:1px solid #E2E5ED;padding-bottom:18px}.dhx-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid #E2E5ED;border-radius:999px;font-size:13px;font-weight:500;letter-spacing:-.1px;color:#3D4A63;background:#fff;cursor:pointer}.dhx-chip:hover{border-color:#2EE8A4;color:#13162F}.dhx-chip.is-on{background:#13162F;color:#fff;border-color:#13162F}.dhx-chip span{font-size:11px;color:#8A93A6;font-weight:400}.dhx-chip.is-on span{color:#9FB3C8}.dhx-sec{margin:0 0 46px}.dhx h2{font-size:19.52px;line-height:24.4px;letter-spacing:-.39px;color:#13162F;font-weight:700;margin:0 0 6px}.dhx-secd{font-size:14.56px;line-height:25.48px;letter-spacing:-.1px;font-weight:300;color:#3D4A63;margin:0 0 20px;max-width:660px}.dhx-hero{display:block;border-radius:16px;padding:26px 28px;background:#13162F;margin:0 0 14px}.dhx-hero .dhx-kicker{color:#2EE8A4}.dhx-hero h3{font-size:26px;line-height:1.24;letter-spacing:-.7px;color:#fff;font-weight:650;margin:8px 0 10px}.dhx-hero p{font-size:14.88px;line-height:27px;letter-spacing:-.1px;font-weight:300;color:#C9D2E4;margin:0 0 14px;max-width:680px}.dhx-hero .dhx-meta{color:#8FA0BC}.dhx-kicker{font-size:11.5px;letter-spacing:.46px;text-transform:uppercase;font-weight:600;color:#5A6784}.dhx-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.dhx-card{border:1px solid #E2E5ED;border-radius:14px;padding:18px 20px;background:#fff;display:flex;flex-direction:column}.dhx-card:hover{border-color:#2EE8A4}.dhx-card h3{font-size:15.68px;line-height:21px;letter-spacing:-.1px;color:#13162F;font-weight:650;margin:8px 0 8px}.dhx-card p{font-size:14.56px;line-height:22px;letter-spacing:-.1px;font-weight:300;color:#3D4A63;margin:0 0 12px;flex:1}.dhx-meta{font-size:11.84px;letter-spacing:0;font-weight:400;color:#676C7A;margin-top:auto}.dhx-rows{border-top:1px solid #E2E5ED}.dhx-row{display:flex;gap:18px;align-items:baseline;padding:15px 2px;border-bottom:1px solid #EDEFF4}.dhx-row:hover{background:#F9FAFB}.dhx-row-t{flex:1;font-size:15.2px;font-weight:500;letter-spacing:-.1px;color:#13162F;line-height:21px}.dhx-row-c{font-size:11.5px;letter-spacing:.46px;text-transform:uppercase;font-weight:600;color:#5A6784;white-space:nowrap;width:152px}.dhx-row-d{font-size:11.84px;font-weight:400;color:#676C7A;white-space:nowrap}.dhx-start{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.dhx-slink{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid #E2E5ED;border-radius:14px;background:#F8FAFC;font-size:14.88px;font-weight:500;letter-spacing:-.1px;color:#13162F}.dhx-slink:hover{border-color:#2EE8A4;background:#fff}.dhx-slink b{color:#1E7A54;font-size:11.5px;font-weight:600;letter-spacing:.46px}.dhx-topics{display:flex;gap:8px;flex-wrap:wrap}.dhx-topic{padding:9px 15px;border:1px solid #E2E5ED;border-radius:999px;font-size:13px;font-weight:500;letter-spacing:-.1px;color:#13162F;background:#fff}.dhx-topic:hover{border-color:#2EE8A4}.dhx-topic span{color:#8A93A6;font-size:11px;font-weight:400}.dhx-empty{display:none;font-size:14.56px;font-weight:300;color:#3D4A63;padding:18px 0}.dhx-cta{border-radius:16px;padding:26px 28px;background:#13162F;display:flex;gap:20px;align-items:center;flex-wrap:wrap}.dhx-cta-t{flex:1 1 320px}.dhx-cta h2{margin:0 0 6px;color:#fff}.dhx-cta p{font-size:14.88px;line-height:27px;font-weight:300;letter-spacing:-.1px;color:#C9D2E4;margin:0}.dhx-btn{display:inline-block;padding:12px 22px;border-radius:999px;background:#2EE8A4;color:#13162F;font-weight:650;font-size:14.88px;letter-spacing:-.1px}@media (max-width:860px){.dhx .bl-sub{grid-template-columns:1fr;row-gap:4px}.dhx .bl-sub-t,.dhx .bl-sub-d,.dhx .bl-sub-f,.dhx .bl-sub-n,.dhx .bl-sub-m{grid-column:1;grid-row:auto}.dhx-g3{grid-template-columns:1fr}.dhx-start{grid-template-columns:1fr}.dhx h1{font-size:31px;line-height:36px;letter-spacing:-.9px}.dhx-hero h3{font-size:22px}.dhx-row{flex-wrap:wrap;gap:6px}.dhx-row-c{width:auto}}
/* --- block 21 --- */
@media (max-width: 640px) {
  .bl-byline {
    display: flex;
    flex-direction: column;
    gap: 2px;
  }
  .bl-byline-dot {
    display: none;
  }
  .bl-meta-sep {
    display: none;
  }
}

/* --- block 22 --- */
/* Remove all theme width constraints */
.wp-site-blocks,
.site,
main,
header,
footer {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Remove global page margins */
body {
  margin: 0 !important;
  padding: 0 !important;
}

/* Kill container constraints from block themes */
.is-layout-constrained {
  max-width: 100% !important;
}
/* --- block 23 --- */
:root body,
:root body .dblog,
:root body .dbh-card,
:root body .dbh-featured,
:root body input,
:root body button,
:root body select,
:root body textarea {
  font-family: Outfit, "Instrument Sans", -apple-system, system-ui, sans-serif !important;
}

:root body code,
:root body pre,
:root body kbd,
:root body samp {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
}

/* --- block 24 --- */
.dtg{max-width:1200px;margin:0 auto;padding:0 24px 8px}.dbh .dtg{max-width:none;padding-left:0;padding-right:0;margin-bottom:56px}.dtg *{box-sizing:border-box}.dtg .dtg-label{font-family:var(--mono,"JetBrains Mono",ui-monospace,monospace);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:hsl(229,9%,42%);margin:0 0 20px;display:flex;align-items:center;gap:12px}.dtg .dtg-label:after{content:"";flex:1;height:1px;background:hsl(236,38%,90%)}.dtg .dtg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}.dtg .dtg-col{background:#fff;border:1px solid hsl(236,38%,90%);border-radius:.5rem;padding:28px 28px 24px}.dtg .dtg-h{font-size:17px;font-weight:700;letter-spacing:-.015em;color:#13162F;margin:0 0 12px;line-height:1.25}.dtg .dtg-h a{color:inherit;text-decoration:none}.dtg-h a:hover{color:hsl(150,54%,38%)}.dtg .dtg-blurb{font-size:13.5px;line-height:1.65;color:hsl(229,9%,42%);margin:0 0 18px}.dtg .dtg-list{list-style:none;margin:0;padding:0;border-top:1px solid hsl(236,38%,92%);padding-top:14px}.dtg .dtg-list li{margin:0 0 9px;padding:0;display:flex;align-items:flex-start;gap:8px}.dtg .dtg-list li:last-child{margin-bottom:0}.dtg .dtg-chev{color:hsl(150,54%,50%);font-size:11px;line-height:1.6;flex-shrink:0}.dtg .dtg-list a{font-size:13.5px;line-height:1.55;color:#13162F;font-weight:500;text-decoration:none}.dtg .dtg-list a:hover{color:hsl(150,54%,34%);text-decoration:underline}.dtg .dtg-more{display:inline-block;margin-top:14px;font-family:var(--mono,"JetBrains Mono",ui-monospace,monospace);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:hsl(150,54%,38%);text-decoration:none}.dtg .dtg-more:hover{text-decoration:underline}@media(max-width:1000px){.dtg .dtg-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.dtg{padding:0 20px 4px}.dtg .dtg-grid{grid-template-columns:1fr;gap:12px}.dtg .dtg-col{padding:18px 20px 16px}.dtg .dtg-blurb{display:none}.dtg .dtg-list{padding-top:10px}.dtg .dtg-list li:nth-child(n+5){display:none}.dtg .dtg-h{font-size:15.5px;margin-bottom:6px}.dtg .dtg-more{margin-top:10px}}
/* --- block 25 --- */
.dbh-card-cat,.dbh-card-title,.dbh-card-summary{display:block}.dbh-card-title{font-size:19px;font-weight:600;line-height:1.3;letter-spacing:-.015em}.dbh .dbh-card-pillar{border-color:hsl(150,54%,56%);box-shadow:0 0 0 2px rgba(82,203,143,.15)}.dbh .dbh-pillar-badge{position:absolute;top:16px;left:20px;z-index:1;display:inline-block;background:hsl(150,54%,56%);color:#0F1226;font-family:var(--mono,"JetBrains Mono",ui-monospace,monospace);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px}.dbh .dbh-card-pillar .dbh-card-cat{margin-top:8px}
/* --- block 26 --- */

@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:fallback;src:url('https://diopter.ai/blog/wp-content/themes/twentytwentyfive/assets/fonts/manrope/Manrope-VariableFont_wght.woff2') format('woff2');}
@font-face{font-family:"Fira Code";font-style:normal;font-weight:300 700;font-display:fallback;src:url('https://diopter.ai/blog/wp-content/themes/twentytwentyfive/assets/fonts/fira-code/FiraCode-VariableFont_wght.woff2') format('woff2');}

/* --- block 28 --- */

#dbn,#dbn *,#dbms,#dbms *{box-sizing:border-box!important;font-family:'Outfit',system-ui,sans-serif!important;-webkit-font-smoothing:antialiased;}
#dbn{position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;height:64px!important;z-index:99999!important;background:rgba(255,255,255,.93)!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important;border-bottom:1px solid hsl(236,38%,90%)!important;margin:0!important;padding:0!important;display:block!important;}
#dbn .dw{position:relative!important;display:flex!important;align-items:center!important;justify-content:space-between!important;height:64px!important;max-width:1280px!important;margin:0 auto!important;padding:0 24px!important;width:100%!important;}
#dbn .dl{display:flex!important;align-items:center!important;flex-shrink:0!important;text-decoration:none!important;margin:0!important;padding:0!important;border:none!important;background:none!important;line-height:1!important;z-index:2!important;}
#dbn .dl img{height:22px!important;width:auto!important;display:block!important;margin:0!important;padding:0!important;border:none!important;max-width:none!important;}

#dbn .dn{display:none!important;align-items:center!important;justify-content:center!important;gap:2px!important;height:64px!important;margin:0!important;padding:0!important;list-style:none!important;line-height:1!important;}
@media(min-width:768px){
  #dbn .dn{
    display:flex!important;
    position:absolute!important;
    left:50%!important;
    top:0!important;
    transform:translateX(-50%)!important;
    width:auto!important;
    flex:none!important;
  }
}

#dbn .dd{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;height:64px!important;margin:0!important;padding:0!important;line-height:1!important;float:none!important;top:auto!important;bottom:auto!important;}

#dbn .dn .di{
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  height:32px!important;
  min-height:32px!important;
  max-height:32px!important;
  padding:0 12px!important;
  margin:0!important;
  font-size:13.5px!important;
  font-weight:400!important;
  line-height:1!important;
  white-space:nowrap!important;
  color:hsl(229,9%,42%)!important;
  text-decoration:none!important;
  background:none!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0 none!important;
  border-radius:6px!important;
  outline:none!important;
  box-shadow:none!important;
  text-shadow:none!important;
  cursor:pointer!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  vertical-align:middle!important;
  float:none!important;
  position:static!important;
  top:auto!important;
  bottom:auto!important;
  overflow:visible!important;
}
#dbn .dn .di:hover,#dbn .dn .di:focus{color:hsl(233,41%,13%)!important;background-color:hsl(236,38%,90%)!important;text-decoration:none!important;outline:none!important;box-shadow:none!important;}
#dbn .dn .di::before,#dbn .dn .di::after{display:none!important;content:none!important;}
#dbn .dc{width:12px!important;height:12px!important;fill:currentColor!important;flex-shrink:0!important;transition:transform .2s!important;display:block!important;margin:0!important;padding:0!important;}
#dbn .dd.open .dc{transform:rotate(180deg)!important;}

#dbn .dr{display:flex!important;align-items:center!important;gap:8px!important;flex-shrink:0!important;height:64px!important;margin:0!important;padding:0!important;z-index:2!important;}
#dbn .dsf{display:flex!important;align-items:center!important;gap:7px!important;height:32px!important;padding:0 11px!important;margin:0!important;border:1px solid rgba(19,22,47,.14)!important;border-radius:999px!important;background:#fff!important;transition:border-color .15s!important;}
.dsf:focus-within{border-color:rgba(19,22,47,.38)!important;}
.dsf-ico{width:14px!important;height:14px!important;color:#6B7A9C!important;flex-shrink:0!important;}
.dsf-in{border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;font:400 13px/1 "Inter",system-ui,sans-serif!important;color:#13162F!important;width:88px!important;height:auto!important;padding:0!important;margin:0!important;}
.dsf-in::placeholder{color:#9AA3B5!important;}
.dsf-in::-webkit-search-cancel-button{-webkit-appearance:none;display:none;}
.dsf-sr{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;}
@media(max-width:900px){.dsf{display:none!important;}}
.dsf{position:relative!important;}
.dsf-sug{position:absolute!important;top:calc(100% + 8px)!important;right:0!important;width:340px!important;background:#fff!important;border:1px solid #E2E5ED!important;border-radius:12px!important;box-shadow:0 12px 32px rgba(10,12,26,.14)!important;padding:6px!important;display:none!important;z-index:9999!important;max-height:60vh!important;overflow-y:auto!important;}
.dsf-sug.on{display:block!important;}
.dsf-s-item{display:block!important;padding:9px 11px!important;border-radius:8px!important;text-decoration:none!important;}
.dsf-s-item:hover,.dsf-s-item.on{background:#F5F7FA!important;}
.dsf-s-cat{display:block!important;font:500 9px/1 "JetBrains Mono",ui-monospace,monospace!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:#3BA97A!important;margin-bottom:3px!important;}
.dsf-s-title{display:block!important;font:600 13px/1.4 "Inter",system-ui,sans-serif!important;color:#13162F!important;}
.dsf-s-none{padding:14px 12px!important;font:400 12.5px/1.4 "Inter",system-ui,sans-serif!important;color:#6B7A9C!important;}
.dsf-s-all{display:block!important;margin-top:4px!important;padding:9px 11px!important;border-top:1px solid #EEF1F5!important;font:500 11.5px/1 "Inter",system-ui,sans-serif!important;color:#3BA97A!important;text-decoration:none!important;}
.dsi{display:none!important;align-items:center!important;justify-content:center!important;height:32px!important;padding:0 12px!important;margin:0!important;font-size:13.5px!important;font-weight:400!important;line-height:1!important;color:hsl(233,41%,13%)!important;text-decoration:none!important;background:none!important;border:none!important;border-radius:6px!important;white-space:nowrap!important;cursor:pointer!important;transition:background .15s!important;}
@media(min-width:768px){#dbn .dsi{display:inline-flex!important;}}
#dbn .dsi:hover{background:hsl(236,38%,90%)!important;color:hsl(233,41%,13%)!important;text-decoration:none!important;}
#dbn .dct{display:none!important;align-items:center!important;justify-content:center!important;height:36px!important;padding:0 18px!important;margin:0!important;background:hsl(233,41%,13%)!important;color:#fff!important;border:none!important;border-radius:999px!important;font-size:13px!important;font-weight:500!important;line-height:1!important;text-decoration:none!important;white-space:nowrap!important;cursor:pointer!important;transition:background .15s!important;box-shadow:none!important;}
@media(min-width:640px){#dbn .dct{display:inline-flex!important;}}
#dbn .dct:hover{background:hsl(233,41%,20%)!important;color:#fff!important;text-decoration:none!important;}
#dbn .dbr{display:none!important;align-items:center!important;justify-content:center!important;width:36px!important;height:36px!important;margin:0!important;padding:0!important;background:none!important;border:none!important;border-radius:6px!important;cursor:pointer!important;color:hsl(233,41%,13%)!important;transition:background .15s!important;}
@media(max-width:767px){#dbn .dbr{display:inline-flex!important;}#dbn .dn{display:none!important;}#dbn .dsi{display:none!important;}}
#dbn .dbr:hover{background:hsl(236,38%,90%)!important;}
#dbn .dbr svg{width:16px!important;height:16px!important;fill:currentColor!important;display:block!important;margin:0!important;padding:0!important;}

#dbn .dm{display:none!important;position:absolute!important;top:calc(100% + 8px)!important;left:0!important;width:640px!important;max-width:calc(100vw - 2rem)!important;background:#fff!important;border:1px solid hsl(236,38%,90%)!important;border-radius:1rem!important;box-shadow:0 8px 40px -8px hsl(233 41% 13%/.16)!important;padding:20px!important;z-index:100000!important;grid-template-columns:1fr 1fr .85fr!important;gap:20px!important;margin:0!important;}
#dbn .dd.open .dm{display:grid!important;}
#dbn #dnMega2{width:300px!important;grid-template-columns:1fr!important;}
#dbn #dnMega2 .dcard{background:transparent!important;border:none!important;border-top:1px solid hsl(236,38%,90%)!important;border-radius:0!important;padding:8px 0 0 0!important;margin-top:8px!important;}
#dbn #dnMega2 .dva{color:hsl(233,41%,13%)!important;font-size:14px!important;font-weight:500!important;padding:8px 12px!important;border-radius:6px!important;padding-bottom:8px!important;}
#dbn #dnMega2 .dva:hover{background:hsl(232,32%,94%)!important;opacity:1!important;}
#dbn #dnMega2 .dml{margin:0 0 8px 0!important;}
#dbn .dml{font-family:'JetBrains Mono',ui-monospace,monospace!important;font-size:10.5px!important;font-weight:500!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:hsl(229,9%,42%,.7)!important;padding:0 12px!important;margin:0 0 8px 0!important;display:block!important;line-height:1!important;}
#dbn .dm ul{list-style:none!important;margin:0!important;padding:0!important;}
#dbn .dmi{display:block!important;border-radius:6px!important;padding:8px 12px!important;text-decoration:none!important;transition:background .12s!important;margin:0!important;}
#dbn .dmi:hover{background:hsl(232,32%,94%)!important;}
#dbn .dmi .dt{font-size:14px!important;font-weight:500!important;color:hsl(233,41%,13%)!important;line-height:1.3!important;display:block!important;margin:0!important;}
#dbn .dmi .dd2{font-size:12px!important;color:hsl(229,9%,42%)!important;line-height:1.45!important;margin:2px 0 0 0!important;display:block!important;}

#dbn .dcard{background:#f9f9fb!important;border:1px solid hsl(236,38%,90%)!important;border-radius:8px!important;padding:16px!important;display:flex!important;flex-direction:column!important;gap:0!important;margin:0!important;}
#dbn .dva{display:inline-flex!important;align-items:center!important;gap:5px!important;font-size:13px!important;font-weight:500!important;color:hsl(150,54%,56%)!important;text-decoration:none!important;padding-bottom:14px!important;margin:0!important;transition:opacity .15s!important;}
#dbn .dva:hover{opacity:.75!important;}
#dbn .dva svg,#dbn .dwk svg{width:14px!important;height:14px!important;fill:currentColor!important;flex-shrink:0!important;display:block!important;margin:0!important;}
#dbn .dhr{height:1px!important;background:hsl(236,38%,90%)!important;margin:0 0 14px 0!important;border:none!important;display:block!important;}
#dbn .dwl{font-family:'JetBrains Mono',ui-monospace,monospace!important;font-size:10.5px!important;font-weight:500!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:hsl(150,54%,56%)!important;display:block!important;margin:0 0 6px 0!important;line-height:1!important;}
#dbn .dwt{font-size:16px!important;font-weight:600!important;color:hsl(233,41%,13%)!important;line-height:1.3!important;letter-spacing:-.02em!important;display:block!important;margin:0 0 4px 0!important;}
#dbn .dwb{font-size:12px!important;color:hsl(229,9%,42%)!important;line-height:1.55!important;display:block!important;margin:0!important;}
#dbn .dwk{display:inline-flex!important;align-items:center!important;gap:5px!important;font-size:13px!important;font-weight:500!important;color:hsl(233,41%,13%)!important;text-decoration:none!important;margin:10px 0 0 0!important;transition:color .15s!important;}
#dbn .dwk:hover{color:hsl(150,54%,56%)!important;}

#dbmo{display:none!important;position:fixed!important;inset:0!important;background:rgba(0,0,0,.2)!important;z-index:99997!important;pointer-events:none!important;}
#dbmo.open{display:block!important;pointer-events:auto!important;}
#dbms{display:none!important;position:fixed!important;top:72px!important;left:16px!important;right:16px!important;max-height:82vh!important;overflow-y:auto!important;background:#fff!important;border:1px solid hsl(236,38%,90%)!important;border-radius:1.25rem!important;padding:16px!important;box-shadow:0 10px 40px hsl(233 41% 13%/.12)!important;z-index:99998!important;pointer-events:none!important;opacity:0!important;transform:translateY(-6px)!important;transition:opacity .18s,transform .18s!important;margin:0!important;}
#dbms.open{display:block!important;opacity:1!important;transform:translateY(0)!important;pointer-events:auto!important;}
#dbms .sl{display:block!important;font-size:15px!important;font-weight:500!important;color:hsl(233,41%,13%)!important;text-decoration:none!important;padding:12px!important;border-bottom:1px solid hsl(236,38%,90%)!important;margin:0!important;}
#dbms .sl:hover,#dbms .ss:hover{background:hsl(232,32%,94%)!important;border-radius:6px!important;}
#dbms .sbl{font-family:'JetBrains Mono',ui-monospace,monospace!important;font-size:10.5px!important;font-weight:500!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:hsl(229,9%,42%,.7)!important;display:block!important;padding:12px 12px 8px!important;margin:0!important;}
#dbms .ss{display:block!important;font-size:14.5px!important;color:hsl(233,41%,13%,.9)!important;text-decoration:none!important;padding:10px 12px!important;margin:0!important;}
#dbms .sr{height:1px!important;background:hsl(236,38%,90%)!important;margin:8px 0!important;border:none!important;display:block!important;}
#dbms .ssi{display:block!important;text-align:center!important;margin:10px 0 0 0!important;padding:12px 20px!important;border:1.5px solid hsl(236,38%,90%)!important;border-radius:999px!important;font-size:14px!important;font-weight:500!important;color:hsl(233,41%,13%)!important;text-decoration:none!important;transition:background .15s!important;}
#dbms .ssi:hover{background:hsl(232,32%,94%)!important;}
#dbms .sct{display:block!important;text-align:center!important;margin:8px 0 0 0!important;padding:12px 20px!important;background:hsl(233,41%,13%)!important;border-radius:999px!important;font-size:14px!important;font-weight:600!important;color:#fff!important;text-decoration:none!important;border:none!important;transition:background .15s!important;}
#dbms .sct:hover{background:hsl(233,41%,20%)!important;}

/* --- block 29 --- */
.dauthx{background:#fff;padding:46px 0 10px}.dauthx-w{max-width:1272px;margin:0 auto;padding:0 20px;box-sizing:border-box}.dauthx-g{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:52px;align-items:start}.dauthx h2{font-size:19.52px;font-weight:700;letter-spacing:-0.39px;color:#13162F;margin:0 0 12px}.dauthx p{font-size:15.5px;color:#4E5A73;line-height:1.62;margin:0 0 12px}.dauthx .dx-sec{margin:0 0 34px}.dauthx .dx-pull{border-left:3px solid #2EE8A4;padding:1px 0 1px 17px;margin:16px 0 6px}.dauthx .dx-pull p{font-size:16.5px;color:#13162F;line-height:1.55;margin:0}.dauthx .dx-src{font-size:12.5px;color:#8A93A6;margin:6px 0 0}.dauthx .dx-tr{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;padding:15px 0;border-top:1px solid #F0F2F6}.dauthx .dx-tr:first-of-type{border-top:0;padding-top:2px}.dauthx .dx-ty{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11.5px;color:#8A93A6;padding-top:4px;white-space:nowrap}.dauthx .dx-th{font-size:15.5px;font-weight:700;color:#13162F;margin:0 0 4px;line-height:1.3}.dauthx .dx-td{font-size:14.5px;color:#4E5A73;line-height:1.55;margin:0}.dauthx .dx-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dauthx .dx-card{border:1px solid #E2E5ED;border-radius:16px;padding:15px 17px}.dauthx .dx-cd{font-size:11.5px;letter-spacing:0.46px;text-transform:uppercase;color:#5A6784;font-weight:700;margin:0 0 6px}.dauthx .dx-ct{font-size:15px;font-weight:700;margin:0 0 5px;line-height:1.32}.dauthx .dx-ct a{color:#13162F;text-decoration:none;border-bottom:1px solid #E2E5ED}.dauthx .dx-cb{font-size:14px;color:#4E5A73;line-height:1.5;margin:0}.dauthx .dx-box{border:1px solid #E2E5ED;border-radius:16px;padding:18px 20px;margin:0 0 14px}.dauthx .dx-bl{font-size:11.5px;letter-spacing:0.46px;text-transform:uppercase;color:#5A6784;font-weight:700;margin:0 0 11px}.dauthx .dx-kv{display:flex;justify-content:space-between;gap:14px;font-size:13.5px;padding:7px 0;border-bottom:1px solid #F0F2F6}.dauthx .dx-kv:last-of-type{border-bottom:0}.dauthx .dx-kv b{color:#8A93A6;font-weight:600}.dauthx .dx-kv span{color:#13162F;text-align:right}.dauthx .dx-list span{display:block;font-size:14px;color:#3D4A63;padding:7px 0 7px 15px;position:relative;border-bottom:1px solid #F0F2F6}.dauthx .dx-list span:last-child{border-bottom:0}.dauthx .dx-list span:before{content:'';position:absolute;left:0;top:14px;width:4px;height:4px;border-radius:50%;background:#2EE8A4}@media(max-width:960px){.dauthx-g{grid-template-columns:1fr;gap:30px}}@media(max-width:700px){.dauthx .dx-tr{grid-template-columns:1fr;gap:5px}.dauthx .dx-cols{grid-template-columns:1fr}.dauthx{padding:32px 0 6px}}.dauthx .dx-revsec{border-top:1px solid #E2E5ED;padding-top:28px;margin-top:8px}.dauthx .dx-revlist{display:grid;gap:0}.dauthx .dx-rev{display:grid;grid-template-columns:150px minmax(0,1fr) 92px;gap:18px;align-items:baseline;padding:13px 0;border-top:1px solid #F0F2F6;text-decoration:none}.dauthx .dx-rev:first-of-type{border-top:0}.dauthx .dx-revc{font-size:11.5px;letter-spacing:.46px;text-transform:uppercase;color:#5A6784;font-weight:700}.dauthx .dx-revt{font-size:15px;font-weight:700;color:#13162F;line-height:1.35}.dauthx .dx-rev:hover .dx-revt{text-decoration:underline}.dauthx .dx-revd{font-size:12.5px;color:#8A93A6;text-align:right}@media(max-width:700px){.dauthx .dx-rev{grid-template-columns:1fr;gap:4px}.dauthx .dx-revd{text-align:left}}
/* --- block 30 --- */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --d-navy:hsl(233,41%,13%);
  --d-mint:hsl(150,54%,56%);
  --d-pale:hsl(232,32%,94%);
  --d-slate:hsl(229,9%,42%);
  --d-border:hsl(236,38%,90%);
  --d-bg:#ffffff;
  --font-sans:'Outfit',system-ui,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,monospace;
  --radius:.5rem;
}

.d-footer,
.d-footer *{font-family:var(--font-sans);-webkit-font-smoothing:antialiased}

.d-footer{
  background:var(--d-bg);
  border-top:1px solid var(--d-border);
}
.d-footer-inner{
  max-width:1280px;margin:0 auto;
  padding:64px 24px;
}
.d-footer-top{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:40px;
}
@media(min-width:768px){
  .d-footer-top{grid-template-columns:2fr 1fr 1fr 1fr 1fr}
}

/* brand col */
.d-footer-logo{display:flex;align-items:center;text-decoration:none;margin-bottom:16px}
.d-footer-logo img{height:26px;width:auto}
.d-footer-tagline{font-size:14px;color:var(--d-slate);line-height:1.65;max-width:280px;margin-bottom:24px}
.d-footer-soc{
  font-family:var(--font-mono)!important;
  font-size:10.5px;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--d-slate);display:block;margin-bottom:20px;
}

/* social icons */
.d-footer-socials{display:flex;align-items:center;gap:8px}
.d-footer-prefsrc>div{width:240px!important}
.d-footer-prefsrc--desktop{margin-top:20px;display:none}
.d-footer-prefsrc--mobile{margin-top:32px;display:flex;justify-content:center}
@media(min-width:768px){
  .d-footer-prefsrc--desktop{display:block}
  .d-footer-prefsrc--mobile{display:none}
}
@media(min-width:768px) and (max-width:1150px){
  .d-footer-prefsrc--desktop{transform:scale(.7);transform-origin:left center;height:42px}
}
.d-footer-social-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:999px;
  border:1px solid var(--d-border);
  color:hsl(233,41%,13%,.7);
  text-decoration:none;transition:color .15s,border-color .15s;
}
.d-footer-social-btn:hover{color:var(--d-mint);border-color:var(--d-mint)}
.d-footer-social-btn svg{width:16px;height:16px;fill:currentColor}

/* link cols */
.d-footer-col-label{
  font-family:var(--font-mono)!important;
  font-size:12px;font-weight:400;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--d-slate);display:block;margin-bottom:16px;
}
.d-footer-sub-label{
  font-family:var(--font-mono)!important;
  font-size:12px;font-weight:400;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--d-slate);display:block;margin-bottom:12px;
}
.d-footer-subgroup{margin-top:20px}
.d-footer-subgroup:first-of-type{margin-top:0}
.d-footer-sub-lead{
  display:block;font-size:13.5px;font-weight:600;
  color:hsl(233,41%,13%);text-decoration:none!important;
  margin-bottom:10px;transition:color .15s;
}
.d-footer-sub-lead:hover{color:var(--d-mint)!important}
.d-footer-col ul{list-style:none}
.d-footer-col li+li{margin-top:10px}
.d-footer-col a{
  font-size:13.5px;
  color:hsl(233,41%,13%/.75)!important;
  text-decoration:none!important;
  transition:color .15s;
}
.d-footer-col a:hover{color:var(--d-mint)!important}

/* bottom bar */
.d-footer-bottom{
  border-top:1px solid var(--d-border);
  margin-top:56px;padding-top:24px;
  display:flex;flex-direction:column;gap:12px;
}
@media(min-width:768px){
  .d-footer-bottom{flex-direction:row;align-items:center;justify-content:space-between}
}
.d-footer-copy{font-size:12px;color:var(--d-slate)}
.d-footer-legal{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.d-footer-legal a,
.d-footer-legal button{
  font-family:var(--font-sans);
  font-size:12px;color:var(--d-slate)!important;
  text-decoration:none!important;
  background:none;border:none;cursor:pointer;
  transition:color .15s;padding:0;
}
.d-footer-legal a:hover,
.d-footer-legal button:hover{color:var(--d-mint)!important}

/* --- block 31 --- */

.dbh-cat-chip.is-on{background:#13162F;border-color:#13162F;color:#fff}
.dbh-cat-chip.is-on:hover{background:#13162F;color:#fff}
.dbh-cat-chip-count{opacity:.55;margin-left:6px;font-variant-numeric:tabular-nums}

/* --- block 33 --- */
.dblog .bl-side-share{margin:18px 0;padding-top:16px;border-top:1px solid hsl(236,38%,90%)}.dblog .bl-side-share-label{font-family:var(--mono,"JetBrains Mono",ui-monospace,monospace);font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#5A6784;margin-bottom:10px}.dblog .bl-side-share-btns{display:flex;gap:8px}.dblog .bl-side-share-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;padding:0;margin:0;font:inherit;cursor:pointer;-webkit-appearance:none;appearance:none;border-radius:50%;background:#F1F3F5;color:#13162F!important;text-decoration:none;transition:background .15s,color .15s}.dblog .bl-side-share-btn:hover{background:#13162F;color:#fff!important}.dblog .bl-top-share{display:none!important}
/* --- block 34 --- */
.dblog .bl-dw-lite{background:#F8F9FB;border:1px solid hsl(236,38%,90%);border-radius:12px;padding:18px 20px;margin:32px 0}.dblog .bl-dw-lite-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}.dblog .bl-dw-lite-title{font-size:14px;font-weight:700;color:#13162F}.dblog .bl-dw-lite-sub{font-size:12.5px;color:#5A6784}.dblog .bl-dw-lite-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.dblog .bl-dw-lite-tile{display:flex;align-items:center;min-height:40px;padding:8px 12px;background:#fff;border:1px solid hsl(236,38%,90%);border-radius:8px;font-size:12.5px;font-weight:500;line-height:1.35;color:#13162F!important;text-decoration:none}.dblog .bl-dw-lite-tile:hover{border-color:hsl(150,54%,56%)}.dblog .bl-dw-lite-foot{display:flex;gap:20px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid hsl(236,38%,92%)}.dblog .bl-dw-lite-foot a{font-size:12.5px;font-weight:600;color:#1b6b45!important;text-decoration:none}.dblog .bl-content > p:not([class]){color:inherit}.dblog .bl-case-study-sub{color:#5A6784!important}.dblog .bl-toc-mobile-list a{color:#5A6784!important}.dblog .bl-dw-lite-foot a:hover{text-decoration:underline}@media(max-width:700px){.dblog .bl-dw-lite-grid{grid-template-columns:1fr 1fr}}
/* --- block 35 --- */
.d-footer-social-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important}.d-footer-social-btn svg{display:block}.dblog .bl-share-bar{display:flex!important;align-items:center;gap:14px;flex-wrap:wrap}
/* --- block 36 --- */
.dblog .bl-summary{background:#F8FFFE;border:1px solid rgba(46,232,164,.2);border-left:3px solid #2EE8A4;border-radius:0 12px 12px 0;padding:16px 20px;margin:0 0 28px}.dblog .bl-summary-label{font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#1a855d;margin-bottom:7px}.dblog .bl-summary p{margin:0;font-size:.86rem;color:#4A5568;line-height:1.75;font-weight:400}.dbh-card-footer{flex-wrap:nowrap;gap:10px;align-items:baseline}.dbh-card-footer>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dbh-card-arrow{white-space:nowrap;flex-shrink:0}.dblog .bl-case-study h3{margin-top:0}.dtg .dtg-h a{display:inline-block;padding:3px 0}.dtg .dtg-list a{display:inline-block;padding:2px 0}.dtg .dtg-more{display:inline-block;padding:5px 0}.d-footer-col a{display:inline-block;padding:4px 0}.d-footer-legal a,.d-footer-legal button{display:inline-block;padding:4px 0}#dbn #dnDrop3:hover .dm,#dbn #dnDrop3:focus-within .dm{display:grid!important}#dbn #dnDrop3 .dm{display:none!important;grid-template-columns:1fr!important;width:340px!important;padding:16px!important}#dbn #dnDrop3 .dnb-all{margin-top:10px;padding-top:12px;border-top:1px solid hsl(236,38%,90%)}#dbn .dd .dm:before{content:"";position:absolute;left:0;right:0;top:-26px;height:26px}#dbn .dd{position:relative}#dbn #dnDrop3 .dnb-all .dt{color:#1a855d}#dbn #dnDrop3>p,#dbn #dnMega3>div>p{display:contents}#dbn .dd>p:empty,#dbn .dm p:empty{display:none!important;margin:0!important}
/* --- block 37 --- */
.dbh-hero-eyebrow,.dbh-hero-eyebrow a,.dbh-card-cat,.dbh-card-arrow,#dbn .dwl,.dbsr-cat,.dbsr-arrow,.dtg .dtg-chev,.dtg .dtg-more,.dblog .bl-author-role,.dbh-featured-card .dbh-card-cat{color:#23764d!important}.dbh-feat-tag{color:#2EE8A4!important;background:rgba(46,232,164,.18)!important}.dbh-hero-headline em{color:#31a56b!important}.dbh-hero-sub,.dbh-card-summary,.dbh-featured-summary,.dtg .dtg-blurb,.dbsr .dbsr-summary,.dblog .bl-content p,.dblog .bl-intro p{font-weight:400!important}.dtg .dtg-blurb,.dtg .dtg-list a,.dbsr .dbsr-summary{font-size:14px!important}.dblog .bl-dw-section-label,.dblog .bl-sidebar-link,.dblog .bl-sidebar-toc-label,.dblog .bl-summary-kt-label,.dblog .bl-toc-compact-arrow,.dblog .bl-toc-compact-label{color:#676C7A!important}.dblog .bl-author-bio,.dblog .bl-breadcrumb-current,.dblog .bl-byline-dot,.dblog .bl-dw-sub,.dblog .bl-meta-date,.dblog .bl-meta-read,.dblog .bl-toc-mobile-arrow,.dblog .bl-top-share-label,.dbh-related-excerpt,.dbh-related-label,.dblog .dbl-int{color:#5A6784!important}.dml,.sbl,#dbn .dml,#dbn .sbl{color:#5C6070!important;opacity:1!important}.dbh-related-arrow,.dbh-related-cat{color:#1a855d!important}.dblog .bl-attack-flow-arr,.dblog .bl-case-study-eyebrow{color:#23764d!important}.dblog .bl-breadcrumb a,.dblog .bl-sidebar-toc a,.dblog .fq-ans{color:#5A6784!important}#dbms .sbl,#dbmo .sbl{color:#5C6070!important;opacity:1!important}.dblog .bl-toc-compact-grid a span.n{color:#676C7A!important}.dblog a.dbl-int{color:#4C5875!important}.dblog .bl-sidebar-toc-list a span.n{color:#676C7A!important}.dbsr .dbsr-eyebrow,.dbsr .dbsr-eyebrow a,.dbsr .dbsr-eyebrow span{color:#23764d!important}.dauth-section-label{color:rgba(19,22,47,.62)!important}.dauth-exp-desc,.dauth-how-desc,.dauth-widget-sub{color:#5A6784!important}.dblog a.dbl-int{color:#46516C!important}
/* --- block 38 --- */
#dbms{position:relative}
#dbms .dnx{position:absolute;top:14px;right:16px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;
background:#fff;border:1px solid #E2E5ED;border-radius:999px;color:#13162F;cursor:pointer;padding:0;margin:0;appearance:none;z-index:5}
#dbms .dnx:hover{border-color:#13162F}
#dbms .dnx:focus-visible{outline:2px solid #2EE8A4;outline-offset:2px}
    
/* --- block 39 --- */
/* Audit quick fixes, all measured against the live pages:
 * .dva  mint on white was 1.94:1 -> #1E7A54 (~4.6:1)
 * .bl-sidebar-cta-label was rgba(255,255,255,.35) at 9.3px on navy
 *   (3.20:1) -> .78 alpha at 11px
 * mobile body copy was 13.76px -> 16px for long-form readability */
/* .dva lives in the header mega menu and is set by #dbn .dva (an ID
 * selector), so a class-only rule never won. Match the ID specificity. */
#dbn .dva{color:#1E7A54!important}
/* .bl-meta-read sits on a light grey pill, so the #66748F set by the
 * pass-2 group rule measures 4.23:1 there rather than 4.71:1 on white.
 * Needs one extra class of specificity to beat that !important group. */
.dblog .bl-hero .bl-meta span.bl-meta-read{color:#4E5A73!important}
.dblog .bl-meta-read{color:#5A6784}
.dblog .bl-sidebar-cta .bl-sidebar-cta-label{color:rgba(255,255,255,.78);font-size:.68rem}
@media (max-width:700px){
  .dblog .bl-content p,.dblog .bl-content li{font-size:1rem;line-height:1.62}
}
    
/* --- block 40 --- */
.bl-sub{margin:26px 0 0;padding:22px;border:1px solid #E2E5ED;border-radius:14px;background:#F8FAFC}.bl-sub-t{font-size:18px;font-weight:700;color:#13162F;margin:0 0 6px;line-height:1.3}.dblog .bl-sub-d{font-size:14.5px;line-height:1.55;color:#4E5A73;margin:0 0 14px}.bl-sub-f{display:flex;gap:8px;flex-wrap:wrap;margin:0}.bl-sub-i{flex:1 1 240px;min-width:0;padding:11px 13px;border:1px solid #D8DDE7;border-radius:9px;font-size:16px;color:#13162F;background:#fff;font-family:inherit}.bl-sub-i:focus{outline:2px solid #2EE8A4;outline-offset:1px;border-color:#2EE8A4}.bl-sub-b{padding:11px 22px;border:0;border-radius:9px;background:#13162F;color:#fff;font-size:15px;font-weight:650;cursor:pointer;font-family:inherit}.bl-sub-b:hover{background:#1E7A54}.bl-sub-b[disabled]{opacity:.6;cursor:default}.bl-sub-hp{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;opacity:0!important}.bl-sub-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0;margin:-1px}.dblog .bl-sub-m{margin:10px 0 0;font-size:14px;font-weight:600;color:#1E7A54}.dblog .bl-sub-m.is-err{color:#B42318}.dblog .bl-sub-n{margin:8px 0 0;font-size:12.5px;color:#676C7A}@media (max-width:700px){.bl-sub{padding:18px}.bl-sub-f{flex-direction:column}.bl-sub-b{width:100%}}