/*
 * Doctaz â€” supplemental component & interaction CSS.
 * theme.json owns design tokens; this file covers the header/footer chrome and
 * responsive behavior ported from the Claude Design source.
 */

/* ---- Header ---- */
.dz-header a { text-decoration: none; }

.dz-navbtn.is-open .dz-caret { transform: rotate(180deg); }

/* Current-page highlighting â€” is-current is set server-side from the WP menu
   (current-menu-item / ancestor logic). Color only, so nav widths don't shift. */
.dz-header .dz-desktop-nav > a.is-current,
.dz-header .dz-navbtn.is-current { color: #0A6B62 !important; }
.dz-header .dz-panel a.is-current { border-color: #0D9488 !important; }
.dz-header .dz-mobile-menu a.is-current { color: #0A6B62 !important; }

.dzg-burger { display: none; }

@media (max-width: 980px) {
	.dz-desktop-nav,
	.dz-desktop-cta { display: none !important; }
	.dzg-burger { display: inline-flex !important; }
	.dz-panel { display: none !important; } /* mega-menus are desktop-only */
}

/* Prevent the page behind the mobile drawer from scrolling while it's open. */
html.dz-menu-lock, html.dz-menu-lock body { overflow: hidden !important; }

@media (max-width: 560px) {
	.dzhd-bar { padding: 0 18px !important; }
}

/* Honor reduced-motion for the drawer, hamburger and accordion transitions. */
@media (prefers-reduced-motion: reduce) {
	.dzhd-m-scrim, .dzhd-m-sheet, .dzhd-m-chev,
	.dzg-burger-line, .dzhd-m-register { transition: none !important; }
	.dz-mobile-menu.is-open .dzhd-m-sheet { transform: none; }
}

/* ---- Footer ---- */
.dz-footer a,
footer a { text-decoration: none; }

@media (max-width: 900px) {
	.dz-foot-grid { grid-template-columns: 1fr 1fr !important; gap: 28px !important; }
}

@media (max-width: 560px) {
	.dz-foot-grid { grid-template-columns: 1fr !important; }
}

/* Homepage is composed of an ACF hero block + a sections block inside
   post-content; neutralize the layout block-gap so the two .dz-home wrappers
   sit flush, exactly like the original single-blob hero. .dz-home is
   homepage-only so this is safe. */
.wp-block-post-content > .dz-home { margin-block-start: 0 !important; margin-block-end: 0 !important; }
.wp-block-post-content > .dz-page { margin-block-start: 0 !important; margin-block-end: 0 !important; }

/* ---- Homepage: keyframes (from Claude Design) ---- */
@keyframes dz-blink { 0%,49% { opacity:1; } 50%,100% { opacity:0; } }
@keyframes dz-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-13px); } }
@keyframes dz-float2 { 0%,100% { transform:translateY(0); } 50% { transform:translateY(10px); } }
@keyframes dz-pulse { 0%,100% { opacity:1; } 50% { opacity:.35; } }
@keyframes dz-ring { 0% { box-shadow:0 0 0 0 rgba(13,148,136,.45); } 100% { box-shadow:0 0 0 13px rgba(13,148,136,0); } }
@keyframes dz-scan { 0% { transform:translateY(0); } 100% { transform:translateY(150px); } }
@keyframes dz-spin { to { transform:rotate(360deg); } }
@keyframes dz-rise { from { opacity:0; transform:translateY(26px); } to { opacity:1; transform:none; } }

/* ---- Homepage: interaction states ---- */
.dz-home .dz-roletab .dz-roletab-bg { display:none; }
.dz-home .dz-roletab.is-active .dz-roletab-bg { display:block; }
.dz-home [data-hoverlift],
.dz-home .dz-hoverlift { will-change:transform; }
.dz-home [data-hoverlift]:hover,
.dz-home .dz-hoverlift:hover { transform:translateY(-4px); box-shadow:0 24px 50px -30px rgba(17,32,30,.35); border-color:#C7E3DD; }

/* ---- Homepage: responsive grid helpers (from Claude Design) ---- */
.dz-home .dz-eco-mobile { display:none; }
@media (max-width:1024px) {
	.dz-home .dz-4col { grid-template-columns:repeat(2,1fr) !important; }
	.dz-home .dz-bento { grid-template-columns:repeat(2,1fr) !important; }
	.dz-home .dz-5col { grid-template-columns:repeat(2,1fr) !important; }
}
@media (max-width:900px) {
	.dz-home .dz-2col { grid-template-columns:1fr !important; }
	.dz-home .dz-3col { grid-template-columns:1fr !important; }
	.dz-home .dz-eco-stage { display:none !important; }
	.dz-home .dz-eco-mobile { display:flex !important; }
	.dz-home main > section > div,
	.dz-home > section > div { padding:54px 22px !important; }
}
@media (max-width:560px) {
	.dz-home .dz-4col { grid-template-columns:repeat(2,1fr) !important; }
	.dz-home .dz-bento { grid-template-columns:1fr !important; }
	.dz-home .dz-5col { grid-template-columns:1fr !important; }
}

/* ---- Interior pages (.dz-page) ---- */
.dz-page a { color: inherit; }
@keyframes dz-drift { 0%,100% { transform:translate(0,0); } 50% { transform:translate(0,-16px); } }

/* image placeholders (ported from <image-slot>) */
.dz-imgslot {
	display:flex; align-items:center; justify-content:center;
	color:#9AA6A3; font-family:'IBM Plex Mono',monospace; font-size:12px;
	letter-spacing:.06em; text-align:center; padding:12px;
}

/* legal pages */
.dz-page .dz-legal h2 { font-weight:800; font-size:21px; letter-spacing:-.02em; margin:38px 0 10px; }
.dz-page .dz-legal p { font-size:15.5px; color:#3A463F; line-height:1.7; margin:0 0 12px; }
.dz-page .dz-legal ul { margin:0 0 12px; padding-left:20px; }
.dz-page .dz-legal li { font-size:15.5px; color:#3A463F; line-height:1.7; margin:4px 0; }

/* page-level responsive grid helpers (ported from per-page helmets) */
@media (max-width:900px) {
	.dz-page .dz-hero, .dz-page .dz-2, .dz-page .dz-3,
	.dz-page .dz-values, .dz-page .dz-impact, .dz-page .dz-contact,
	.dz-page .dz-feat, .dz-page .dz-tiers, .dz-page .dz-faccta,
	.dz-page .dz-legal-shell { grid-template-columns:1fr !important; }
	.dz-page .dz-4 { grid-template-columns:1fr 1fr !important; }
	.dz-page .dz-roles { grid-template-columns:1fr 1fr !important; }
	.dz-page .dz-pricehead { flex-direction:column !important; align-items:flex-start !important; }
	.dz-page .dz-toc { display:none !important; }
}
@media (max-width:560px) {
	.dz-page .dz-roles, .dz-page .dz-4 { grid-template-columns:1fr !important; }
}

/* Sticky header â€” the .dz-header element declares position:sticky inline, but
   it sits inside a template-part wrapper exactly its own height, so it never
   sticks. Make the WRAPPER sticky instead (works site-wide, incl. admin bar). */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 60;
}
body.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) {
	body.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 46px; }
}

/* Smooth in-page anchor scrolling (mega-menu / hero anchors). */
html { scroll-behavior: smooth; }

/* Reveal-on-scroll â€” centralized (replaces per-element inline opacity/transform).
   Only hides when JS is on (.dz-js set in <head> before paint); initReveal()
   then reveals via inline opacity/transform. No JS => never hidden.
   Slight scale + blur gives the entrance a premium depth feel. */
.dz-js [data-reveal] {
	opacity: 0;
	transform: translateY(26px) scale(.985);
	filter: blur(5px);
	transition: opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1), filter .9s cubic-bezier(.16,1,.3,1);
}
.dz-js [data-reveal][data-dz-shown],
.dz-js [data-reveal].dz-shown { filter: blur(0); }

/* Hero accent word â€” living gradient sweep. */
.dz-accent-sweep {
	background: linear-gradient(100deg, #0D9488 20%, #14b8a6 40%, #0A6B62 60%, #0D9488 80%);
	background-size: 200% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
	animation: dz-sweep 5s ease-in-out infinite;
}
@keyframes dz-sweep { 0%,100% { background-position: 0% 0; } 50% { background-position: 100% 0; } }
html:not(.dz-js) [data-reveal] {
	opacity: 1 !important;
	transform: none !important;
}

/* ---- Home Stats block (class-based; no inline CSS) ---- */
.dzs { border-top:1px solid #E7E2D8; background:#FBFAF8; }
.dzs-wrap { max-width:1280px; margin:0 auto; padding:54px 32px; }
.dzs-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.dzs-item { border-left:2px solid #0D9488; padding-left:18px; }
.dzs-item--accent { border-left-color:#F2643D; }
.dzs-num { font-weight:800; font-size:46px; letter-spacing:-.03em; }
.dzs-label { font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.08em; color:#7C8A87; margin-top:4px; }
@media (max-width:900px) { .dzs-grid { grid-template-columns:repeat(2,1fr); gap:28px; } }
@media (max-width:480px) { .dzs-grid { grid-template-columns:1fr; } }

/* ---- Home Audience block (class-based; no inline CSS) ---- */
.dza { border-top:1px solid #E7E2D8; }
.dza-wrap { max-width:1280px; margin:0 auto; padding:80px 32px; }
.dza-head { text-align:center; max-width:640px; margin:0 auto; }
.dza-eyebrow { font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.14em; color:#0A6B62; }
.dza-heading { font-weight:800; font-size:clamp(32px,4vw,52px); line-height:1; letter-spacing:-.03em; margin:14px 0 0; }
.dza-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:38px; }
.dza-card { border:1px solid #E7E2D8; border-radius:18px; padding:28px; background:#fff; display:block; text-decoration:none; color:inherit; transition:transform .25s ease, box-shadow .25s ease; }
.dza-card-eyebrow { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.12em; color:#0A6B62; }
.dza-card-title { font-weight:800; font-size:24px; letter-spacing:-.02em; margin:12px 0 8px; }
.dza-card-desc { font-size:14.5px; color:#6B7976; line-height:1.5; }
.dza-card-link { margin-top:16px; font-weight:600; font-size:14px; color:#0A6B62; }
.dza-chips { display:flex; gap:10px; flex-wrap:wrap; justify-content:center; margin-top:18px; }
.dza-chip { font-size:13.5px; color:#33433F; border:1px solid #E0DBD0; padding:9px 15px; border-radius:999px; background:#fff; }
@media (max-width:900px) { .dza-grid { grid-template-columns:1fr; } }

/* ---- Home Problem block (class-based; no inline CSS) ---- */
.dzp { border-top:1px solid #E7E2D8; }
.dzp-wrap { max-width:1280px; margin:0 auto; padding:80px 32px; }
.dzp-head { max-width:640px; }
.dzp-eyebrow { font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.14em; color:#C24A28; }
.dzp-heading { font-weight:800; font-size:clamp(32px,4vw,52px); line-height:1; letter-spacing:-.03em; margin:14px 0 0; }
.dzp-sub { font-size:18px; color:#4A5957; line-height:1.55; margin:16px 0 0; }
.dzp-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:38px; }
.dzp-card { border:1px solid #E7E2D8; border-radius:14px; padding:22px; background:#fff; display:flex; align-items:center; gap:10px; }
.dzp-x { width:22px; height:22px; border-radius:6px; background:#FCEDE7; color:#C24A28; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; flex-shrink:0; }
.dzp-label { font-weight:700; font-size:16px; }
.dzp-divider { display:flex; align-items:center; gap:14px; margin-top:30px; }
.dzp-rule { height:1px; flex:1; background:linear-gradient(90deg,transparent,#0D9488); }
.dzp-rule--r { background:linear-gradient(270deg,transparent,#0D9488); }
.dzp-pill { display:inline-flex; align-items:center; gap:9px; font-weight:700; font-size:18px; color:#0A6B62; background:#E2EFEC; padding:11px 20px; border-radius:999px; }
.dzp-dot { width:9px; height:9px; border-radius:50%; background:#0D9488; }
@media (max-width:900px) { .dzp-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:480px) { .dzp-grid { grid-template-columns:1fr; } }

/* ---- Home Role Tabs block (class-based; no inline CSS) ---- */
.dzr { border-top:1px solid #E7E2D8; background:#FBFAF8; }
.dzr-wrap { max-width:1280px; margin:0 auto; padding:80px 32px; }
.dzr-head { text-align:center; max-width:720px; margin:0 auto; }
.dzr-eyebrow { font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.14em; color:#0A6B62; }
.dzr-heading { font-weight:800; font-size:clamp(32px,4vw,52px); line-height:1; letter-spacing:-.03em; margin:14px 0 0; }
.dzr-sub { font-size:18px; color:#4A5957; line-height:1.55; margin:16px auto 0; max-width:560px; }
.dzr-tabs { display:flex; gap:6px; justify-content:center; flex-wrap:wrap; background:#fff; border:1px solid #E7E2D8; border-radius:14px; padding:6px; max-width:620px; margin:36px auto 0; }
.dzr .dz-roletab { position:relative; background:none; border:none; font:inherit; font-weight:600; font-size:14.5px; color:#27332F; padding:10px 16px; border-radius:9px; cursor:pointer; }
.dzr .dz-roletab-bg { position:absolute; inset:0; background:#0D9488; border-radius:9px; z-index:0; }
.dzr .dz-roletab.is-active .dzr-tab-label { color:#fff; }
.dzr-tab-label { position:relative; z-index:1; }
.dzr-console { margin-top:24px; background:#0C1917; border:1px solid #213431; border-radius:20px; padding:28px; box-shadow:0 36px 70px -40px rgba(0,0,0,.6); display:grid; grid-template-columns:.85fr 1.15fr; gap:28px; align-items:center; }
.dzr-workflow { font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.12em; color:#5FA89F; }
.dzr-tagline { font-weight:800; font-size:30px; letter-spacing:-.02em; color:#fff; line-height:1.1; margin:12px 0 0; }
.dzr-modules { display:flex; flex-direction:column; gap:10px; margin-top:22px; }
.dzr-module { display:flex; align-items:center; gap:12px; background:#0F211E; border:1px solid #213431; border-radius:11px; padding:13px 15px; }
.dzr-module-num { font-family:'IBM Plex Mono',monospace; font-size:10px; color:#5FA89F; }
.dzr-module-label { font-weight:600; font-size:15px; color:#EAF2F0; }
.dzr-module-arrow { margin-left:auto; color:#0D9488; font-weight:700; }
.dzr-screen { background:#0F211E; border:1px solid #213431; border-radius:16px; padding:18px; position:relative; overflow:hidden; min-height:300px; }
.dzr-scan { position:absolute; left:0; right:0; top:50px; height:2px; background:linear-gradient(90deg,transparent,#0D948855,transparent); animation:dz-scan 3.6s linear infinite; }
.dzr-screen-head { display:flex; align-items:center; justify-content:space-between; }
.dzr-screen-title { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.1em; color:#5FA89F; }
.dzr-lights { display:flex; gap:5px; }
.dzr-light { width:7px; height:7px; border-radius:50%; display:inline-block; }
.dzr-light--o { background:#F2643D; } .dzr-light--y { background:#E6B450; } .dzr-light--t { background:#0D9488; }
.dzr-minis { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin-top:16px; }
.dzr-mini { background:#15302B; border:1px solid #25403B; border-radius:10px; padding:12px; }
.dzr-mini--hi { background:#0D9488; border-color:#0D9488; }
.dzr-mini-k { font-family:'IBM Plex Mono',monospace; font-size:8.5px; color:#5FA89F; }
.dzr-mini--hi .dzr-mini-k, .dzr-mini--hi .dzr-mini-s { color:#BDEAE3; }
.dzr-mini-n { font-weight:800; font-size:22px; color:#fff; margin-top:4px; }
.dzr-mini-s { font-size:10px; color:#7FB7AF; }
.dzr-bars { display:flex; align-items:flex-end; gap:7px; height:90px; margin-top:14px; padding:12px; background:#0C1C19; border:1px solid #1C2C29; border-radius:11px; }
.dzr-bar { flex:1; background:#1F4640; border-radius:3px 3px 0 0; }
.dzr-bar--t { background:#0D9488; } .dzr-bar--o { background:#F2643D; }
.dzr-bar:nth-child(1) { height:45%; } .dzr-bar:nth-child(2) { height:72%; }
.dzr-bar:nth-child(3) { height:55%; } .dzr-bar:nth-child(4) { height:88%; }
.dzr-bar:nth-child(5) { height:60%; } .dzr-bar:nth-child(6) { height:78%; }
.dzr-bar:nth-child(7) { height:50%; }
@media (max-width:900px) { .dzr-console { grid-template-columns:1fr; } }

/* ---- Home Flow block (class-based; no inline CSS) ---- */
.dzf { border-top:1px solid #E7E2D8; background:#FBFAF8; }
.dzf-wrap { max-width:1280px; margin:0 auto; padding:80px 32px; }
.dzf-head { max-width:560px; }
.dzf-eyebrow { font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.14em; color:#0A6B62; }
.dzf-heading { font-weight:800; font-size:clamp(32px,4vw,52px); line-height:1; letter-spacing:-.03em; margin:14px 0 0; }
.dzf-strip { display:grid; gap:0; margin-top:40px; }
.dzf-step { padding:22px; border:1px solid #E7E2D8; border-left:none; background:#fff; }
.dzf-step:first-child { border-left:1px solid #E7E2D8; border-radius:14px 0 0 14px; }
.dzf-step:last-child { border-radius:0 14px 14px 0; }
.dzf-num { font-family:'IBM Plex Mono',monospace; font-size:11px; color:#0A6B62; }
.dzf-title { font-weight:700; font-size:17px; margin:10px 0 5px; }
.dzf-desc { font-size:13px; color:#6B7976; line-height:1.45; }
.dzf-step--hi { background:#0D9488; border-color:#0D9488; color:#fff; }
.dzf-step--hi .dzf-num { color:#BDEAE3; }
.dzf-step--hi .dzf-desc { color:#CDEBE7; }
@media (max-width:900px) {
	.dzf-strip { grid-template-columns:1fr 1fr !important; }
	.dzf-step, .dzf-step:first-child, .dzf-step:last-child { border:1px solid #E7E2D8; border-radius:14px; }
	.dzf-step--hi { border-color:#0D9488; }
}
@media (max-width:480px) { .dzf-strip { grid-template-columns:1fr !important; } }

/* ---- Home AI block (class-based; no inline CSS) ---- */
.dzai { background:#0C1917; color:#fff; }
.dzai-wrap { max-width:1280px; margin:0 auto; padding:90px 32px; }
.dzai-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.dzai-eyebrow { font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.14em; color:#5FA89F; }
.dzai-heading { font-weight:800; font-size:clamp(32px,4vw,54px); line-height:1; letter-spacing:-.03em; margin:14px 0 0; color:#fff; }
.dzai-accent { color:#0D9488; }
.dzai-sub { font-size:18px; color:#9FB2AE; line-height:1.55; max-width:440px; margin:18px 0 0; }
.dzai-chips { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:28px; }
.dzai-chip { display:flex; align-items:center; gap:10px; background:#0F211E; border:1px solid #213431; border-radius:11px; padding:13px 15px; }
.dzai-dot { width:6px; height:6px; border-radius:50%; background:#0D9488; flex-shrink:0; }
.dzai-chip-label { font-weight:600; font-size:14px; }
.dzai-mock { background:#0F211E; border:1px solid #213431; border-radius:18px; padding:20px; box-shadow:0 36px 70px -34px rgba(0,0,0,.7); }
.dzai-mock-head { display:flex; align-items:center; gap:9px; margin-bottom:14px; }
.dzai-pulse { width:9px; height:9px; border-radius:50%; background:#0D9488; animation:dz-pulse 1.6s infinite; }
.dzai-mock-title { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.1em; color:#5FA89F; }
.dzai-lines { display:flex; flex-direction:column; gap:9px; }
.dzai-line { height:9px; background:#234c45; border-radius:4px; }
.dzai-line:nth-child(1) { width:92%; } .dzai-line:nth-child(2) { width:78%; }
.dzai-line:nth-child(3) { width:85%; } .dzai-line:nth-child(4) { width:60%; }
.dzai-line--hi { background:#0D9488; }
.dzai-minis { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:16px; }
.dzai-mini { background:#15302B; border:1px solid #25403B; border-radius:11px; padding:13px; }
.dzai-mini-k { font-family:'IBM Plex Mono',monospace; font-size:9px; color:#5FA89F; }
.dzai-mini-v { font-weight:700; font-size:15px; color:#fff; margin-top:5px; }
.dzai-mini-v--warn { color:#F4A88E; }
@media (max-width:900px) { .dzai-grid { grid-template-columns:1fr; } }

/* ---- Home Ecosystem block (class-based; no inline CSS) ----
   Cinematic once-per-load reveal, orchestrated by .is-live (set by
   initEcosystem in home.js via IntersectionObserver). Story: core comes
   online -> orbits draw -> nodes connect clockwise -> calm ambient state.
   Pre-reveal hiding only applies under .dze-armed (added by JS), so with no
   JS the section is simply visible. transform/opacity only; the one-shot
   border/glow flashes are tiny and run once. */
.dze { border-top:1px solid #E7E2D8; background:#FBFAF8; }
.dze-wrap { max-width:1280px; margin:0 auto; padding:80px 32px; }
.dze-head { text-align:center; max-width:560px; margin:0 auto; }
.dze-eyebrow { font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.14em; color:#0A6B62; }
.dze-heading { font-weight:800; font-size:clamp(32px,4vw,52px); line-height:1; letter-spacing:-.03em; margin:14px 0 0; }
.dze-mobile { flex-wrap:wrap; gap:10px; justify-content:center; align-items:center; margin:36px auto 0; max-width:420px; }
.dze-chip { font-weight:600; font-size:13px; background:#fff; border:1px solid #E7E2D8; border-radius:10px; padding:9px 13px; }
.dze-core { position:relative; width:128px; height:128px; border-radius:50%; background:#0D9488; color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; box-shadow:0 24px 50px -22px rgba(13,148,136,.6); z-index:2; }
.dze-core--sm { width:108px; height:108px; order:-1; flex-basis:100%; margin:0 auto; box-shadow:0 18px 40px -20px rgba(13,148,136,.6); }
.dze-core-name { font-weight:800; font-size:22px; letter-spacing:-.02em; }
.dze-core--sm .dze-core-name { font-size:20px; }
.dze-core-sub { font-family:'IBM Plex Mono',monospace; font-size:8.5px; letter-spacing:.1em; color:#BDEAE3; margin-top:2px; }
.dze-stage { position:relative; width:720px; max-width:100%; height:460px; margin:40px auto 0; }
.dze-orbits { position:absolute; inset:0; width:100%; height:100%; }
.dze-orbit { fill:none; stroke-width:1.5; stroke-dasharray:3 5; stroke-linecap:round; }
.dze-orbit--inner { stroke:#DDD8CE; }
.dze-orbit--outer { stroke:#C2D4CF; }
.dze-stage .dze-core { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); }
.dze-node { position:absolute; transform:translate(-50%,-50%); background:#fff; border:1px solid #E7E2D8; border-radius:11px; padding:10px 15px; font-weight:600; font-size:13.5px; box-shadow:0 10px 24px -16px rgba(17,32,30,.4); transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
.dze-node-1 { left:360px; top:30px; }
.dze-node-2 { left:360px; top:430px; }
.dze-node-3 { left:40px; top:230px; }
.dze-node-4 { left:680px; top:230px; }
.dze-node-5 { left:135px; top:80px; }
.dze-node-6 { left:585px; top:80px; }
.dze-node-7 { left:135px; top:380px; }
.dze-node-8 { left:585px; top:380px; }

/* Hover (desktop): quiet lift + teal tint; core glow deepens slightly. */
.dze-node:hover { transform:translate(-50%,-50%) translateY(-3px); border-color:#9CCFC7; box-shadow:0 16px 30px -16px rgba(17,32,30,.5), 0 0 0 1px rgba(13,148,136,.08); }
.dze-core { transition:box-shadow .3s ease; }
.dze-core:hover { box-shadow:0 24px 56px -20px rgba(13,148,136,.75); }

/* -- Pre-reveal state (JS armed only) -- */
.dze-armed .dze-eyebrow,
.dze-armed .dze-heading { opacity:0; }
.dze-armed .dze-stage .dze-core { opacity:0; }
.dze-armed .dze-node { opacity:0; }

/* -- 1. Intro -- */
.dze.is-live .dze-eyebrow { animation:dze-rise-sm .55s cubic-bezier(.22,.9,.24,1) both; }
.dze.is-live .dze-heading { animation:dze-rise .65s cubic-bezier(.22,.9,.24,1) .13s both; }
@keyframes dze-rise-sm { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
@keyframes dze-rise { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:none; } }

/* -- 2. Core activation -- */
.dze.is-live .dze-stage .dze-core { animation:dze-core-in .7s cubic-bezier(.2,.85,.3,1.04) .45s both; }
@keyframes dze-core-in { from { opacity:0; transform:translate(-50%,-50%) scale(.88); } to { opacity:1; transform:translate(-50%,-50%) scale(1); } }
/* one-shot activation ring travelling outward */
.dze-stage .dze-core::before { content:""; position:absolute; inset:-6px; border-radius:50%; border:1.5px solid rgba(13,148,136,.5); opacity:0; pointer-events:none; }
.dze.is-live .dze-stage .dze-core::before { animation:dze-activate 1.15s cubic-bezier(.16,1,.3,1) 1.05s 1; }
@keyframes dze-activate { 0% { opacity:.4; transform:scale(.7); } 100% { opacity:0; transform:scale(1.9); } }
/* ambient breathing â€” glow only, never the circle itself */
.dze-stage .dze-core::after { content:""; position:absolute; inset:-18px; border-radius:50%; background:radial-gradient(circle, rgba(13,148,136,.22), transparent 70%); opacity:0; pointer-events:none; z-index:-1; }
.dze.is-live .dze-stage .dze-core::after { animation:dze-breathe 6.5s ease-in-out 2.4s infinite; }
@keyframes dze-breathe { 0%,100% { opacity:.25; } 50% { opacity:.6; } }

/* -- 3/4. Orbit draw (inner then outer), static once revealed -- */
.dze.is-live .dze-draw--inner { stroke-dashoffset:0; transition:stroke-dashoffset 1.05s cubic-bezier(.45,.05,.35,1) .95s; }
.dze.is-live .dze-draw--outer { stroke-dashoffset:0; transition:stroke-dashoffset 1.45s cubic-bezier(.45,.05,.35,1) 1.9s; }

/* -- 5/6. Nodes connect clockwise from AI Engine, each with a soft
      connect flash (border/glow, one-shot) -- */
.dze.is-live .dze-node { animation:dze-node-in .5s cubic-bezier(.22,.9,.24,1) both, dze-node-flash .45s ease-out 1; }
@keyframes dze-node-in { from { opacity:0; transform:translate(-50%,-50%) translateY(12px) scale(.96); } to { opacity:1; transform:translate(-50%,-50%); } }
@keyframes dze-node-flash { 0% { border-color:#E7E2D8; box-shadow:0 10px 24px -16px rgba(17,32,30,.4); } 45% { border-color:#4FB3A7; box-shadow:0 10px 24px -16px rgba(17,32,30,.4), 0 0 0 4px rgba(13,148,136,.10); } 100% { border-color:#E7E2D8; box-shadow:0 10px 24px -16px rgba(17,32,30,.4); } }
/* clockwise order: AI Engine, Hospitals, Telehealth, LabsÂ·Pharmacy,
   Analytics, Patients, EMR, Doctors (delays: entrance, flash = +.45s) */
.dze.is-live .dze-node-1 { animation-delay:2.05s, 2.5s; }
.dze.is-live .dze-node-6 { animation-delay:2.17s, 2.62s; }
.dze.is-live .dze-node-4 { animation-delay:2.29s, 2.74s; }
.dze.is-live .dze-node-8 { animation-delay:2.41s, 2.86s; }
.dze.is-live .dze-node-2 { animation-delay:2.53s, 2.98s; }
.dze.is-live .dze-node-7 { animation-delay:2.65s, 3.1s; }
.dze.is-live .dze-node-3 { animation-delay:2.77s, 3.22s; }
.dze.is-live .dze-node-5 { animation-delay:2.89s, 3.34s; }

/* -- 7. AI Engine emphasis after the network settles (one-shot) -- */
.dze.is-live .dze-node-1 { animation-name:dze-node-in, dze-node-flash, dze-ai-glow; animation-duration:.5s, .45s, 1.1s; animation-delay:2.05s, 2.5s, 3.75s; animation-fill-mode:both, none, none; animation-iteration-count:1, 1, 1; animation-timing-function:cubic-bezier(.22,.9,.24,1), ease-out, ease-in-out; }
@keyframes dze-ai-glow { 0%,100% { border-color:#E7E2D8; box-shadow:0 10px 24px -16px rgba(17,32,30,.4); } 40% { border-color:#0D9488; box-shadow:0 10px 24px -16px rgba(17,32,30,.4), 0 0 0 5px rgba(13,148,136,.14), 0 0 24px rgba(13,148,136,.18); } }

/* Once the reveal timeline finishes, JS adds .is-settled: node entrance
   animations are cleared so hover transforms work again (a filled animation
   would otherwise outrank the :hover transition in the cascade). */
.dze.is-settled .dze-node { animation:none; opacity:1; }
.dze.is-settled .dze-eyebrow, .dze.is-settled .dze-heading { animation:none; opacity:1; }
.dze.is-settled .dze-stage .dze-core { animation:none; opacity:1; }

/* -- 8. Ambient: one faint energy pulse every ~10s -- */
.dze-pulse { position:absolute; left:50%; top:50%; width:180px; height:180px; margin:-90px 0 0 -90px; border-radius:50%; border:1.5px solid rgba(13,148,136,.35); opacity:0; pointer-events:none; }
.dze.is-live .dze-pulse { animation:dze-eco-pulse 10s linear 4.8s infinite; }
@keyframes dze-eco-pulse { 0% { opacity:0; transform:scale(.4); } 3% { opacity:.13; } 26% { opacity:0; transform:scale(2.6); } 100% { opacity:0; transform:scale(2.6); } }

/* -- 12. Reduced motion: jump straight to the calm final state -- */
@media (prefers-reduced-motion: reduce) {
	.dze-armed .dze-eyebrow, .dze-armed .dze-heading,
	.dze-armed .dze-stage .dze-core, .dze-armed .dze-node { opacity:1 !important; transform:translate(-50%,-50%) !important; }
	.dze-armed .dze-eyebrow, .dze-armed .dze-heading { transform:none !important; }
	.dze .dze-draw { stroke-dashoffset:0 !important; }
	.dze .dze-pulse, .dze-stage .dze-core::before, .dze-stage .dze-core::after { animation:none !important; opacity:0 !important; }
}

/* ---- Home Security block (class-based; no inline CSS) ---- */
.dzsec { border-top:1px solid #E7E2D8; }
.dzsec-wrap { max-width:1280px; margin:0 auto; padding:80px 32px; }
.dzsec-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.dzsec-eyebrow { font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.14em; color:#0A6B62; }
.dzsec-heading { font-weight:800; font-size:clamp(30px,3.6vw,46px); line-height:1.02; letter-spacing:-.03em; margin:14px 0 0; }
.dzsec-sub { font-size:17px; color:#4A5957; line-height:1.55; max-width:420px; margin:16px 0 0; }
.dzsec-cards { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.dzsec-card { border:1px solid #E7E2D8; border-radius:13px; padding:18px; background:#fff; }
.dzsec-card-title { font-weight:700; font-size:16px; }
.dzsec-card-desc { font-size:13px; color:#6B7976; margin-top:3px; }
@media (max-width:900px) { .dzsec-grid { grid-template-columns:1fr; } }
@media (max-width:480px) { .dzsec-cards { grid-template-columns:1fr; } }

/* ---- Home Testimonials block (class-based; no inline CSS) ---- */
.dzt { border-top:1px solid #E7E2D8; }
.dzt-wrap { max-width:1080px; margin:0 auto; padding:80px 32px; }
.dzt-head { text-align:center; max-width:560px; margin:0 auto; }
.dzt-eyebrow { font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.14em; color:#0A6B62; }
.dzt-heading { font-weight:800; font-size:clamp(30px,3.8vw,48px); line-height:1; letter-spacing:-.03em; margin:14px 0 0; }
.dzt-box { margin-top:36px; overflow:hidden; border:1px solid #E7E2D8; border-radius:20px; background:#fff; }
.dzt-track { display:flex; transition:transform .6s cubic-bezier(.16,1,.3,1); transform:translateX(0%); }
.dzt-slide { min-width:100%; padding:46px 56px; }
.dzt-quote { font-weight:600; font-size:clamp(20px,2.4vw,30px); line-height:1.32; letter-spacing:-.015em; color:#11201E; max-width:760px; }
.dzt-who { display:flex; align-items:center; gap:13px; margin-top:24px; }
.dzt-avatar { width:44px; height:44px; border-radius:50%; background:repeating-linear-gradient(45deg,#E6EFEC,#E6EFEC 5px,#DCE8E4 5px,#DCE8E4 10px); }
.dzt-name { font-weight:700; font-size:15px; }
.dzt-role { font-family:'IBM Plex Mono',monospace; font-size:11px; color:#7C8A87; letter-spacing:.04em; }
.dzt-dots { display:flex; gap:8px; padding:0 56px 30px; }
.dzt-dot { width:30px; height:5px; border-radius:3px; border:none; cursor:pointer; padding:0; background:#E0DBD0; }
@media (max-width:560px) { .dzt-slide { padding:30px 22px; } .dzt-dots { padding:0 22px 24px; } }

/* 3D depth scaffolding for the homepage (progressive enhancement; JS adds the
   tilt/parallax transforms â€” see home.js). Safe no-ops when JS is off. */
.dz-home [data-dz-tilt],
.dz-home .dz-hoverlift,
.dz-home [data-hoverlift] {
	transform-style: preserve-3d;
	will-change: transform;
}

/* Respect reduced-motion for any scroll/hover animation. */
@media (prefers-reduced-motion: reduce) {
	* {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
	/* Never leave reveal content mid-animation / hidden. */
	[data-reveal] {
		opacity: 1 !important;
		transform: none !important;
	}
	.dz-home [data-dz-tilt],
	.dz-home .dz-hoverlift,
	.dz-home [data-hoverlift],
	.dz-home [data-dz-parallax] {
		transform: none !important;
	}
}

/* ============================================================
   Resource Center â€” guide detail "player" (/resources/{id})
   ============================================================ */
.dzg { background:#F6F4EF; }
.dzg-shell {
	max-width:1280px; margin:0 auto; padding:40px 32px 80px;
	display:grid; grid-template-columns:266px 1fr; gap:40px; align-items:start;
}

/* Sidebar library */
.dzg-side {
	position:sticky; top:96px; align-self:start;
	background:#fff; border:1px solid #E7E2D8; border-radius:18px;
	padding:22px 18px; max-height:calc(100vh - 120px); overflow:auto;
}
.dzg-side-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.dzg-eyebrow { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.13em; color:#0A6B62; }
.dzg-side-all { font-size:12px; font-weight:700; color:#0A6B62; text-decoration:none; }
.dzg-side-all:hover { text-decoration:underline; }
.dzg-lib-group { margin-top:16px; }
.dzg-lib-group:first-of-type { margin-top:0; }
.dzg-lib-label { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.1em; color:#9AA6A3; margin:0 4px 8px; text-transform:uppercase; }
.dzg-lib-item {
	display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:10px;
	text-decoration:none; color:#27332F; border:1px solid transparent; transition:background .15s,border-color .15s;
}
.dzg-lib-item:hover { background:#F3F1EA; }
.dzg-lib-item.is-active { background:#fff; border-color:#0D9488; box-shadow:0 1px 0 rgba(13,148,136,.08); }
.dzg-lib-dot { flex-shrink:0; width:7px; height:7px; border-radius:50%; background:#D3CEC2; }
.dzg-lib-item.is-active .dzg-lib-dot { background:#0D9488; }
.dzg-lib-title { font-size:13.5px; font-weight:600; line-height:1.3; }
.dzg-lib-item.is-active .dzg-lib-title { color:#0A6B62; }

/* Main column */
.dzg-crumbs { display:flex; align-items:center; gap:8px; font-size:13px; color:#7C8A87; }
.dzg-crumbs a { color:#7C8A87; text-decoration:none; }
.dzg-crumbs a:hover { color:#0A6B62; }
.dzg-crumb-sep { color:#C7CFCC; }
.dzg-crumb-cur { color:#11201E; font-weight:600; }
.dzg-meta { display:flex; align-items:center; gap:12px; margin-top:26px; }
.dzg-cat {
	font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.1em; color:#0A6B62;
	background:#E2EFEC; padding:5px 9px; border-radius:6px;
}
.dzg-metatext { font-family:'IBM Plex Mono',monospace; font-size:11px; color:#9AA6A3; }
.dzg-title { font-weight:800; font-size:clamp(30px,4vw,46px); line-height:1.02; letter-spacing:-.035em; margin:14px 0 0; }
.dzg-desc { font-size:18px; color:#4A5957; line-height:1.55; margin:14px 0 0; max-width:620px; }

/* Player */
.dzg-player {
	margin-top:32px; display:grid; grid-template-columns:320px 1fr; gap:24px; align-items:start;
}
.dzg-playlist { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.dzg-step {
	width:100%; display:flex; gap:12px; text-align:left; cursor:pointer;
	background:transparent; border:1px solid transparent; border-radius:14px; padding:12px 14px; font:inherit;
	transition:background .15s,border-color .15s;
}
.dzg-step:hover { background:#F3F1EA; }
.dzg-step.is-active { background:#fff; border-color:#0D9488; box-shadow:0 12px 30px -22px rgba(13,148,136,.7); }
.dzg-step-num {
	flex-shrink:0; width:28px; height:28px; border-radius:8px; background:#E4E0D6; color:#7C8A87;
	display:flex; align-items:center; justify-content:center;
	font-family:'IBM Plex Mono',monospace; font-size:11px; font-weight:600;
}
.dzg-step.is-active .dzg-step-num { background:#0D9488; color:#fff; }
.dzg-step-copy { display:flex; flex-direction:column; gap:3px; }
.dzg-step-title { font-weight:700; font-size:14px; color:#11201E; line-height:1.25; }
.dzg-step-body { font-size:13px; color:#6B7976; line-height:1.5; }

/* Stage */
.dzg-stage { position:sticky; top:96px; }
.dzg-screen {
    aspect-ratio: 16 / 10;
	position:relative; background:#0C1917; border-radius:20px; overflow:hidden;
	box-shadow:0 40px 90px -50px rgba(12,25,23,.8);
}
.dzg-shot { position:absolute; inset:0; margin:0; padding:22px; }
.dzg-shot[hidden] { display:none; }
.dzg-imgslot {
	width:100%; height:100%; border-radius:12px;
	border:1.5px dashed rgba(255,255,255,.22); background:rgba(255,255,255,.04);
	display:flex; align-items:center; justify-content:center; text-align:center; padding:24px;
	color:#CFE6E1; font-weight:700; font-size:16px; letter-spacing:-.01em;
}
.dzg-stepcount {
	position:absolute; right:14px; bottom:12px;
	font-family:'IBM Plex Mono',monospace; font-size:11px; color:rgba(255,255,255,.6);
	background:rgba(0,0,0,.35); padding:4px 9px; border-radius:999px;
}
.dzg-fs {
	position:absolute; top:12px; right:14px; z-index:3;
	width:34px; height:34px; border-radius:9px; cursor:pointer;
	background:rgba(7,16,14,.55); border:1px solid #284743; color:#CFE6E1;
	font-size:15px; line-height:1; display:flex; align-items:center; justify-content:center;
	backdrop-filter:blur(4px); transition:background .15s,border-color .15s;
}
.dzg-fs:hover { background:rgba(13,148,136,.9); border-color:#0D9488; color:#fff; }

/* Native fullscreen: center the shot, fill the black screen. */
.dzg-screen:fullscreen { aspect-ratio:auto; width:100vw; height:100vh; border-radius:0; }
.dzg-screen:-webkit-full-screen { aspect-ratio:auto; width:100vw; height:100vh; border-radius:0; }
.dzg-screen:fullscreen .dzg-shot,
.dzg-screen:-webkit-full-screen .dzg-shot { padding:4vmin; }
.dzg-screen:fullscreen .dzg-imgslot img,
.dzg-screen:-webkit-full-screen .dzg-imgslot img { object-fit:contain; }

/* CSS fallback fullscreen (browsers that block the Fullscreen API). */
.dzg-is-fs .dzg-screen {
	position:fixed; inset:0; z-index:9999; width:100vw; height:100vh;
	aspect-ratio:auto; border-radius:0;
}
.dzg-controls { display:flex; align-items:center; gap:10px; margin-top:16px; flex-wrap:wrap; }
.dzg-ctl {
	background:#fff; border:1px solid #E0DBD0; border-radius:999px; padding:9px 15px;
	font:inherit; font-weight:600; font-size:13.5px; color:#27332F; cursor:pointer; transition:border-color .15s,color .15s;
}
.dzg-ctl:hover { border-color:#0D9488; color:#0A6B62; }
.dzg-ctl-play { background:#0D9488; border-color:#0D9488; color:#fff; }
.dzg-ctl-play:hover { background:#0A6B62; border-color:#0A6B62; color:#fff; }
.dzg-dots { display:flex; gap:7px; margin-left:auto; }
.dzg-dot {
	width:9px; height:9px; border-radius:50%; border:none; padding:0; cursor:pointer;
	background:#D3CEC2; transition:background .15s,transform .15s;
}
.dzg-dot:hover { background:#9AA6A3; }
.dzg-dot.is-active { background:#0D9488; transform:scale(1.15); }

/* Footer nav */
.dzg-footnav {
	margin-top:40px; padding-top:24px; border-top:1px solid #E7E2D8;
	display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.dzg-foot-all { font-size:14px; font-weight:700; color:#0A6B62; text-decoration:none; }
.dzg-foot-all:hover { text-decoration:underline; }
.dzg-foot-next { text-align:right; text-decoration:none; }
.dzg-foot-next-label { display:block; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.1em; color:#9AA6A3; }
.dzg-foot-next-title { display:block; font-weight:800; font-size:16px; color:#11201E; letter-spacing:-.01em; margin-top:3px; }
.dzg-foot-next:hover .dzg-foot-next-title { color:#0A6B62; }

/* Responsive */
@media (max-width:1080px) {
	.dzg-shell { grid-template-columns:1fr; gap:28px; }
	.dzg-side { position:static; max-height:none; order:2; }
	.dzg-main { order:1; }
}
@media (max-width:820px) {
	.dzg-player { grid-template-columns:1fr; }
	.dzg-stage { position:static; order:-1; }
}
@media (max-width:520px) {
	.dzg-shell { padding:24px 18px 60px; }
	.dzg-controls .dzg-dots { margin-left:0; width:100%; justify-content:center; }
}

/* ---- Home Resources block (class-based; no inline CSS) ---- */
.dzres { border-top:1px solid #E7E2D8; }
.dzres-wrap { max-width:1280px; margin:0 auto; padding:80px 32px; }
.dzres-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.dzres-intro { max-width:600px; }
.dzres-eyebrow { font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.14em; color:#0A6B62; }
.dzres-heading { font-weight:800; font-size:clamp(32px,4vw,52px); line-height:1; letter-spacing:-.03em; margin:14px 0 0; }
.dzres-sub { font-size:18px; color:#4A5957; line-height:1.55; margin:16px 0 0; }
.dzres-stats { display:flex; gap:28px; flex-wrap:wrap; }
.dzres-stat-n { font-weight:800; font-size:30px; letter-spacing:-.025em; }
.dzres-stat-l { font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.08em; color:#7C8A87; margin-top:3px; }
.dzres-filter { margin-top:30px; display:flex; gap:8px; flex-wrap:wrap; }
.dzres-cat { position:relative; background:transparent; border:1px solid #E0DBD0; font:inherit; font-weight:600; font-size:14px; color:#27332F; padding:9px 16px; border-radius:999px; cursor:pointer; }
.dzres-cat.is-active { background:#0D9488; border-color:#0D9488; color:#fff; }
.dzres-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:24px; }
.dzres-card { text-align:left; background:#fff; border:1px solid #E7E2D8; border-radius:18px; padding:24px; cursor:pointer; display:flex; flex-direction:column; text-decoration:none; color:inherit; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.dzres-card-top { display:flex; align-items:center; justify-content:space-between; }
.dzres-badge { font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.1em; color:#0A6B62; background:#E2EFEC; padding:5px 9px; border-radius:6px; }
.dzres-mins { font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:#9AA6A3; }
.dzres-card-title { font-weight:800; font-size:19px; letter-spacing:-.015em; line-height:1.2; margin:16px 0 8px; }
.dzres-card-desc { font-size:14px; color:#6B7976; line-height:1.5; flex:1; }
.dzres-card-foot { display:flex; align-items:center; justify-content:space-between; margin-top:18px; padding-top:14px; border-top:1px solid #F0EDE6; }
.dzres-view { font-weight:700; font-size:14px; color:#0A6B62; }
.dzres-steps { font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:#9AA6A3; }
.dzres-all { margin-top:22px; text-align:center; }
.dzres-all-link { font-weight:700; font-size:15px; color:#0A6B62; text-decoration:none; }
.dzres-all-link:hover { text-decoration:underline; }

/* ---- Home Pricing block (class-based; no inline CSS) ---- */
.dzpr { border-top:1px solid #E7E2D8; background:#FBFAF8; }
.dzpr-wrap { max-width:1280px; margin:0 auto; padding:80px 32px; }
.dzpr-head { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; flex-wrap:wrap; }
.dzpr-intro { max-width:560px; }
.dzpr-eyebrow { font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.14em; color:#0A6B62; }
.dzpr-heading { font-weight:800; font-size:clamp(30px,3.8vw,48px); line-height:1; letter-spacing:-.03em; margin:14px 0 0; }
.dzpr-sub { font-size:16px; color:#4A5957; line-height:1.55; margin:14px 0 0; }
.dzpr-picker { display:block; }
.dzpr-picker-label { display:block; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.12em; color:#7C8A87; margin-bottom:7px; }
.dzpr-select { font-family:'Archivo',sans-serif; font-size:15px; font-weight:600; color:#11201E; background:#fff; border:1px solid #C9D3D0; border-radius:11px; padding:13px 16px; min-width:240px; cursor:pointer; }
.dzpr-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:34px; align-items:stretch; }
.dzpr-card { border:1px solid #E7E2D8; border-radius:18px; padding:26px; background:#fff; display:flex; flex-direction:column; position:relative; }
.dzpr-card--hi { border:1.5px solid #0D9488; box-shadow:0 28px 60px -34px rgba(13,148,136,.5); }
.dzpr-pop { position:absolute; top:-11px; left:26px; background:#0D9488; color:#fff; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.1em; padding:5px 11px; border-radius:999px; }
.dzpr-name { font-weight:800; font-size:22px; letter-spacing:-.02em; color:#0D9488; }
.dzpr-price { display:flex; align-items:baseline; gap:7px; margin:12px 0 10px; }
.dzpr-amount { font-weight:800; font-size:32px; letter-spacing:-.025em; }
.dzpr-per { font-size:13px; color:#7C8A87; }
.dzpr-badge { align-self:flex-start; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.08em; color:#0A6B62; background:#E2EFEC; padding:6px 11px; border-radius:999px; }
.dzpr-desc { font-size:13.5px; color:#6B7976; line-height:1.5; margin:16px 0 6px; }
.dzpr-features { display:flex; flex-direction:column; margin:6px 0 22px; }
.dzpr-feature { display:flex; align-items:center; gap:10px; padding:9px 0; border-top:1px solid #F0EDE6; font-size:14px; color:#33433F; }
.dzpr-check { color:#0D9488; font-weight:700; }
.dzpr-cta { margin-top:auto; border:1px solid #C9D3D0; background:#fff; color:#11201E; font-weight:600; font-size:15px; padding:13px; border-radius:11px; cursor:pointer; text-align:center; text-decoration:none; display:block; }
.dzpr-cta--hi { border:none; background:#0D9488; color:#fff; font-weight:700; }
.dzpr-ent { margin-top:16px; border:1px solid #E7E2D8; border-radius:18px; padding:26px 30px; background:#11201E; color:#fff; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.dzpr-ent-head { display:flex; align-items:center; gap:12px; }
.dzpr-ent-name { font-weight:800; font-size:22px; letter-spacing:-.02em; }
.dzpr-ent-tag { font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.08em; color:#7FB7AF; border:1px solid #2C413D; padding:5px 11px; border-radius:999px; }
.dzpr-ent-desc { font-size:14.5px; color:#9FB2AE; line-height:1.5; margin:10px 0 0; max-width:540px; }
.dzpr-ent-cta { border:none; background:#0D9488; color:#fff; font-weight:700; font-size:15px; padding:14px 24px; border-radius:12px; white-space:nowrap; text-decoration:none; }

/* ---- Home FAQ block (class-based; no inline CSS) ---- */
.dzq { border-top:1px solid #E7E2D8; }
.dzq-wrap { max-width:880px; margin:0 auto; padding:80px 32px; }
.dzq-head { text-align:center; }
.dzq-eyebrow { font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.14em; color:#0A6B62; }
.dzq-heading { font-weight:800; font-size:clamp(30px,3.8vw,48px); line-height:1; letter-spacing:-.03em; margin:14px 0 0; }
.dzq-list { margin-top:34px; border-top:1px solid #E7E2D8; }
.dzq-item { border-bottom:1px solid #E7E2D8; }
.dzq-btn { width:100%; background:none; border:none; font:inherit; cursor:pointer; display:flex; align-items:center; gap:16px; padding:20px 4px; text-align:left; }
.dzq-num { font-family:'IBM Plex Mono',monospace; font-size:11px; color:#9AA6A3; }
.dzq-q { font-weight:600; font-size:17px; color:#11201E; flex:1; }
.dzq-icon { font-size:22px; color:#9AA6A3; font-weight:400; }
.dzq-icon--open { color:#0D9488; }
.dzq-a { padding:0 4px 22px 43px; font-size:15.5px; color:#4A5957; line-height:1.6; max-width:680px; }

/* ============================================================
   Interior-page section blocks (class-based â€” no inline CSS).
   Values are ported literally from the approved pattern markup.
   ============================================================ */

/* Base grids for the interior card layouts (previously inline). The
   responsive !important overrides above still win at small widths. */
.dz-page .dz-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.dz-page .dz-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }

/* ---- section-hero-split (.dzsh) ---- */
.dzsh { max-width:1280px; margin:0 auto; padding:80px 32px 56px; }
.dzsh--blob { position:relative; overflow:hidden; }
.dzsh-blob { position:absolute; right:-30px; top:10px; width:300px; height:300px; border-radius:50%; background:radial-gradient(circle at 35% 35%, #7FD8CB, #0D9488); opacity:.13; filter:blur(4px); animation:dz-drift 9s ease-in-out infinite; pointer-events:none; }
.dzsh-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; }
.dzsh-eyebrow { font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.14em; color:#0A6B62; }
.dzsh-h1 { font-weight:800; font-size:clamp(38px,5.4vw,62px); line-height:1; letter-spacing:-.035em; margin:16px 0 0; }
.dzsh--large .dzsh-h1 { font-size:clamp(38px,5.4vw,66px); line-height:.98; }
.dzsh-intro { font-size:19px; color:#4A5957; line-height:1.55; margin:20px 0 0; max-width:520px; }
.dzsh-ctas { display:flex; gap:12px; margin-top:30px; flex-wrap:wrap; }
.dzsh-btn { background:#0D9488; color:#fff; font-weight:600; font-size:15px; padding:13px 24px; border-radius:12px; text-decoration:none; }
.dzsh--large .dzsh-btn { box-shadow:0 8px 22px -10px rgba(13,148,136,.8); }
.dzsh-btn2 { background:#fff; border:1px solid #E0DBD0; color:#27332F; font-weight:600; font-size:15px; padding:13px 24px; border-radius:12px; text-decoration:none; }
.dzsh-img { width:100%; object-fit:cover; border:1px solid #E7E2D8; box-shadow:0 30px 70px -40px rgba(17,32,30,.5); border-radius:20px; display:block; }
.dzsh-slot { width:100%; border:1px solid #E7E2D8; background:#EDEAE2; box-shadow:0 30px 70px -40px rgba(17,32,30,.5); border-radius:20px; }

/* ---- section-feature-grid (.dzfg) ---- */
.dzfg { border-top:1px solid #E7E2D8; background:#fff; }
.dzfg--dark { border-top:0; background:#0C1917; color:#EAF2F0; }
.dzfg--plain { border-top:0; background:transparent; }
.dzfg-inner { max-width:1280px; margin:0 auto; padding:64px 32px; }
.dzfg--plain .dzfg-inner { padding:36px 32px 72px; }
.dzfg-h2 { font-weight:800; font-size:clamp(26px,3.2vw,38px); letter-spacing:-.03em; margin:0; }
.dzfg-grid--titled { margin-top:32px !important; }
.dzfg-card { padding:24px; border:1px solid #ECE8DF; border-radius:16px; background:#FBFAF8; }
.dzfg--large .dzfg-card { padding:26px; }
.dzfg--dark .dzfg-card { padding:26px; border:1px solid #1C2C29; background:#0A1513; }
.dzfg--plain .dzfg-card { background:#fff; }
.dzfg-title { font-weight:800; font-size:17px; }
.dzfg--large .dzfg-title, .dzfg--dark .dzfg-title { font-size:18px; }
.dzfg--dark .dzfg-title { color:#fff; }
.dzfg-desc { font-size:14px; color:#6B7976; line-height:1.55; margin:8px 0 0; }
.dzfg--large .dzfg-desc, .dzfg--dark .dzfg-desc { margin:9px 0 0; }
.dzfg--dark .dzfg-desc { color:#9FB2AE; }

/* ---- section-cta (.dzcta) ---- */
.dzcta { max-width:1280px; margin:0 auto; padding:64px 32px; text-align:center; }
.dzcta--tinted { max-width:none; padding:0; border-top:1px solid #E7E2D8; background:#FBFAF8; }
.dzcta-inner { max-width:900px; margin:0 auto; padding:64px 32px; text-align:center; }
.dzcta-h2 { font-weight:800; font-size:clamp(24px,3vw,34px); letter-spacing:-.03em; margin:0; }
.dzcta--large .dzcta-h2 { font-size:clamp(26px,3.4vw,40px); }
.dzcta--large.dzcta--tinted .dzcta-h2, .dzcta--tinted .dzcta--large .dzcta-h2 { font-size:clamp(26px,3.4vw,42px); }
.dzcta-intro { font-size:16.5px; color:#4A5957; margin:12px auto 24px; max-width:500px; }
.dzcta--large .dzcta-intro { font-size:17px; margin:14px auto 26px; max-width:520px; }
.dzcta-btns { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.dzcta-btns--push { margin-top:22px; }
.dzcta-single { margin-top:22px; }
.dzcta-btn { background:#0D9488; color:#fff; font-weight:600; font-size:15px; padding:13px 26px; border-radius:12px; text-decoration:none; }
.dzcta-btn2 { background:#fff; border:1px solid #E0DBD0; color:#27332F; font-weight:600; font-size:15px; padding:13px 26px; border-radius:12px; text-decoration:none; }
.dzcta-btn--solo { padding:14px 30px; }

/* ---- section-band (.dzbd) ---- */
.dzbd { background:#0C1917; color:#EAF2F0; }
.dzbd-inner { max-width:960px; margin:0 auto; padding:60px 32px; text-align:center; }
.dzbd-inner--mission { padding:64px 32px; }
.dzbd-eyebrow { font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.12em; color:#5FA89F; }
.dzbd-h2 { font-weight:800; font-size:clamp(24px,3vw,36px); letter-spacing:-.03em; line-height:1.08; color:#fff; margin:14px 0 0; }
.dzbd-copy { font-size:16.5px; color:#9FB2AE; line-height:1.6; margin:14px auto 0; max-width:600px; }
.dzbd-statement { font-weight:700; font-size:clamp(22px,2.9vw,32px); line-height:1.35; letter-spacing:-.02em; color:#fff; margin:16px 0 0; }

/* ---- section-legal (.dzlg) ---- */
.dzlg-head { border-bottom:1px solid #E7E2D8; background:#fff; }
.dzlg-head-inner { max-width:1000px; margin:0 auto; padding:64px 32px 40px; }
.dzlg-eyebrow { font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.14em; color:#0A6B62; }
.dzlg-h1 { font-weight:800; font-size:clamp(32px,4.4vw,50px); line-height:1.02; letter-spacing:-.035em; margin:14px 0 0; }
.dzlg-intro { font-size:16px; color:#6B7976; margin:14px 0 0; }
.dzlg-body { max-width:1000px; margin:0 auto; padding:44px 32px 72px; }
.dz-page .dz-legal-shell { display:grid; grid-template-columns:220px 1fr; gap:44px; align-items:start; }
.dz-page .dz-toc { position:sticky; top:92px; display:flex; flex-direction:column; gap:9px; }
.dzlg-toc-label { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.1em; color:#9AA6A3; margin-bottom:4px; }
.dzlg-toc-link { font-size:13.5px; color:#3A463F; }
.dzlg-foot { font-size:13px; color:#9AA6A3; margin-top:24px; }
.dz-page .dz-legal a { color:#0A6B62; font-weight:600; }

/* ---- section-link-cards (.dzlc) ---- */
.dzlc { border-top:1px solid #E7E2D8; background:#fff; }
.dzlc-inner { max-width:1280px; margin:0 auto; padding:64px 32px; }
.dzlc-eyebrow { font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.12em; color:#0A6B62; }
.dzlc-h2 { font-weight:800; font-size:clamp(28px,3.4vw,40px); letter-spacing:-.03em; margin:12px 0 0; }
.dzlc-grid { margin-top:34px !important; }
.dzlc-card { text-decoration:none; color:inherit; padding:26px; border:1px solid #ECE8DF; border-radius:18px; background:#FBFAF8; display:block; }
.dzlc-title { font-weight:800; font-size:19px; letter-spacing:-.01em; }
.dzlc-desc { font-size:14.5px; color:#6B7976; line-height:1.55; margin:10px 0 14px; }
.dzlc-more { font-weight:700; font-size:13.5px; color:#0A6B62; }

/* ---- section-media-split (.dzms) ---- */
.dzms { max-width:1280px; margin:0 auto; padding:64px 32px; }
.dzms--dark { max-width:none; padding:0; background:#0C1917; color:#EAF2F0; }
.dzms-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; }
.dzms--dark .dzms-grid { max-width:1280px; margin:0 auto; padding:72px 32px; grid-template-columns:1fr 1fr; }
.dzms-eyebrow { font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.12em; color:#0A6B62; }
.dzms--dark .dzms-eyebrow { color:#5FA89F; }
.dzms-h2 { font-weight:800; font-size:clamp(26px,3.2vw,38px); letter-spacing:-.03em; line-height:1.06; margin:12px 0 0; }
.dzms--dark .dzms-h2 { line-height:1.2; color:#fff; }
.dzms-points { display:flex; flex-direction:column; gap:18px; margin-top:26px; }
.dzms-point-title { font-weight:700; font-size:16px; }
.dzms--dark .dzms-point-title { color:#fff; }
.dzms-point-text { font-size:14.5px; color:#4A5957; line-height:1.55; margin-top:3px; }
.dzms--dark .dzms-point-text { color:#9FB2AE; }
.dzms-p { font-size:15.5px; color:#4A5957; line-height:1.65; margin:14px 0 0; }
.dzms-h2 + .dzms-p { margin-top:18px; }
.dzms-img { width:100%; object-fit:cover; border:1px solid #E7E2D8; box-shadow:0 30px 70px -42px rgba(17,32,30,.5); border-radius:18px; display:block; }
.dzms-slot { width:100%; border:1px solid #E7E2D8; background:#EDEAE2; box-shadow:0 30px 70px -42px rgba(17,32,30,.5); border-radius:18px; }
.dzms--dark .dzms-img { border-color:#1C2C29; box-shadow:none; border-radius:16px; }
.dzms--dark .dzms-slot { border:1px solid #1C2C29; background:#0A1513; box-shadow:none; border-radius:16px; color:#5F726E; }

/* ---- section-hero-centered (.dzhc) ---- */
.dzhc { max-width:1280px; margin:0 auto; padding:64px 32px 20px; }
.dzhc--tight { padding-bottom:8px; }
.dzhc--decorated { max-width:none; padding:0; position:relative; overflow:hidden; background:radial-gradient(1200px 520px at 78% -8%, #DCEFEA 0%, rgba(220,239,234,0) 60%), #F6F4EF; }
.dzhc-blob { position:absolute; right:-120px; top:60px; width:340px; height:340px; border-radius:50%; background:radial-gradient(circle at 35% 35%, #7FD8CB, #0D9488); opacity:.16; filter:blur(6px); animation:dz-drift 9s ease-in-out infinite; }
.dzhc-inner { max-width:1000px; margin:0 auto; padding:92px 32px 56px; position:relative; }
.dzhc-eyebrow { font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.14em; color:#0A6B62; }
.dzhc-h1 { font-weight:800; font-size:clamp(34px,4.6vw,54px); line-height:1; letter-spacing:-.035em; margin:14px 0 0; }
.dzhc--decorated .dzhc-h1 { font-size:clamp(38px,5.6vw,68px); line-height:.98; letter-spacing:-.038em; margin:16px 0 0; max-width:820px; }
.dzhc-intro { font-size:18px; color:#4A5957; line-height:1.55; margin:16px 0 0; max-width:640px; }
.dzhc--decorated .dzhc-intro { font-size:19px; color:#3A4B47; line-height:1.6; margin:22px 0 0; }
.dzhc-ctas { display:flex; gap:12px; margin-top:30px; flex-wrap:wrap; }
.dzhc-btn { background:#0D9488; color:#fff; font-weight:600; font-size:15px; padding:13px 26px; border-radius:12px; }
.dzhc-btn2 { background:#fff; border:1px solid #E0DBD0; color:#27332F; font-weight:600; font-size:15px; padding:13px 26px; border-radius:12px; }

/* ---- section-values (.dzvl) ---- */
.dzvl { border-top:1px solid #E7E2D8; background:#fff; }
.dzvl-inner { max-width:1280px; margin:0 auto; padding:64px 32px; }
.dzvl-eyebrow { font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.12em; color:#0A6B62; }
.dz-page .dz-values { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:26px; }
.dzvl-card { padding:30px; border:1px solid #ECE8DF; border-radius:20px; background:#FBFAF8; }
.dzvl-icon { width:52px; height:52px; border-radius:14px; background:#E2EFEC; display:flex; align-items:center; justify-content:center; font-size:24px; }
.dzvl-title { font-weight:800; font-size:20px; margin:16px 0 6px; }
.dzvl-desc { font-size:14.5px; color:#6B7976; line-height:1.6; margin:0; }

/* ---- section-roles (.dzrl) ---- */
.dzrl { max-width:1280px; margin:0 auto; padding:64px 32px; }
.dzrl-h2 { font-weight:800; font-size:clamp(24px,3vw,34px); letter-spacing:-.03em; margin:0; text-align:center; }
.dz-page .dz-roles { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; margin-top:30px; }
.dzrl-tile { text-align:center; padding:26px 16px; border:1px solid #ECE8DF; border-radius:16px; background:#fff; }
.dzrl-tile--highlight { border-color:#C7E3DD; background:#F2F8F6; }
.dzrl-icon { font-size:26px; }
.dzrl-label { font-weight:700; font-size:15.5px; margin-top:10px; }
.dzrl-note { text-align:center; font-size:14px; color:#6B7976; margin:20px 0 0; }
.dzrl-note a { color:#0A6B62; font-weight:600; }

/* ---- section-verify (.dzvf) ---- */
.dzvf { max-width:820px; margin:0 auto; padding:80px 32px 40px; text-align:center; }
.dzvf-eyebrow { font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.14em; color:#0A6B62; }
.dzvf-h1 { font-weight:800; font-size:clamp(36px,5vw,58px); line-height:1; letter-spacing:-.035em; margin:14px 0 0; }
.dzvf-intro { font-size:18px; color:#4A5957; line-height:1.55; margin:18px auto 0; max-width:520px; }
.dzvf-box { margin:30px auto 0; max-width:560px; display:flex; gap:10px; background:#fff; border:1px solid #E0DBD0; border-radius:14px; padding:8px; box-shadow:0 20px 50px -34px rgba(17,32,30,.5); }
.dzvf-input { flex:1; border:none; outline:none; font-size:15.5px; padding:12px 14px; background:transparent; color:#11201E; }
.dzvf-btn { border:none; background:#0D9488; color:#fff; font-weight:700; font-size:14.5px; padding:0 22px; border-radius:10px; cursor:pointer; }
.dzvf-hint { font-size:12.5px; color:#9AA6A3; margin-top:10px; }
.dzvf-result { margin:26px auto 0; max-width:560px; text-align:left; background:#F2F8F6; border:1px solid #C7E3DD; border-radius:16px; padding:22px; display:flex; align-items:center; gap:16px; }
.dzvf-check { flex-shrink:0; width:46px; height:46px; border-radius:12px; background:#0D9488; color:#fff; display:flex; align-items:center; justify-content:center; font-size:22px; }
.dzvf-name { font-weight:800; font-size:17px; }
.dzvf-sub { font-size:13.5px; color:#3A6B62; margin-top:2px; }
.dzvf-badge { margin-left:auto; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.08em; color:#0A6B62; background:#D7ECE7; padding:5px 9px; border-radius:6px; }

/* ---- section-blog-index (.dzbi) ---- */
.dzbi-feat-section { max-width:1280px; margin:0 auto; padding:24px 32px 20px; }
.dzbi-feat-link { text-decoration:none; color:inherit; display:block; }
.dz-page .dz-feat { display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:center; background:#fff; border:1px solid #ECE8DF; border-radius:22px; padding:22px; }
.dzbi-feat-img { width:100%; object-fit:cover; border:1px solid #E7E2D8; border-radius:16px; display:block; }
.dzbi-feat-body { padding:8px 20px 8px 0; }
.dzbi-tag { display:inline-block; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.1em; color:#0A6B62; background:#E2EFEC; padding:5px 9px; border-radius:6px; }
.dzbi-feat-h2 { font-weight:800; font-size:clamp(24px,2.8vw,34px); letter-spacing:-.025em; line-height:1.12; margin:14px 0 0; }
.dzbi-feat-p { font-size:15.5px; color:#6B7976; line-height:1.55; margin:14px 0 18px; }
.dzbi-more { font-weight:700; font-size:14px; color:#0A6B62; }
/* No featured image â€” collapse to a clean single-column card, no empty box */
.dz-page .dz-feat--noimg { grid-template-columns:1fr; gap:0; padding:36px 40px; }
.dz-feat--noimg .dzbi-feat-body { padding:0; max-width:760px; }
.dz-feat--noimg .dzbi-feat-h2 { font-size:clamp(26px,3.4vw,42px); }
.dzbi-grid-section { max-width:1280px; margin:0 auto; padding:20px 32px 72px; }
.dzbi-grid { gap:18px !important; }
.dzbi-card { text-decoration:none; color:inherit; background:#fff; border:1px solid #ECE8DF; border-radius:18px; overflow:hidden; display:block; }
.dzbi-card-img { width:100%; object-fit:cover; display:block; }
.dzbi-card-slot { width:100%; background:#EDEAE2; }
.dzbi-card-body { padding:20px; }
.dzbi-card--noimg { display:flex; align-items:flex-start; }
.dzbi-card--noimg .dzbi-card-body { padding:24px; }
.dzbi-card--noimg .dzbi-card-title { font-size:19px; }
.dzbi-card-tag { font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.1em; color:#0A6B62; }
.dzbi-card-title { font-weight:800; font-size:17px; line-height:1.2; margin:8px 0 6px; }
.dzbi-card-p { font-size:13.5px; color:#6B7976; line-height:1.5; margin:0; }

/* ---- Blog pagination (block + PHP block share .dzbi-pagination) ---- */
.dzbi-pagination { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; align-items:center; margin:8px auto 72px; max-width:1280px; padding:0 32px; }
.dzbi-pagination a, .dzbi-pagination .page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px; padding:0 12px; border:1px solid #D8D2C6; border-radius:11px; background:#fff; color:#27332F; font-weight:600; font-size:14px; text-decoration:none; transition:border-color .18s, background-color .18s; }
.dzbi-pagination a:hover { border-color:#0D9488; }
.dzbi-pagination .page-numbers.current { background:#0D9488; border-color:#0D9488; color:#fff; }
.dzbi-pagination .page-numbers.dots { border:none; background:none; min-width:auto; }

/* ---- Core query listings (archive/index/search) â€” align to card design ---- */
.dz-archive-head { max-width:1280px; margin:0 auto; padding:8px 32px 0; }
.dz-breadcrumb { font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.06em; color:#6B7976; margin:0 0 12px; }
.dz-breadcrumb a { color:#0A6B62; text-decoration:none; }
.dz-breadcrumb a:hover { text-decoration:underline; }
.dz-breadcrumb span { margin:0 6px; color:#B7BDBA; }
.dz-archive-title { font-weight:800; font-size:clamp(26px,3vw,38px); letter-spacing:-.025em; line-height:1.1; margin:0 0 8px; }
.dz-archive-desc { font-size:15.5px; color:#6B7976; line-height:1.55; margin:0; }
.dz-postgrid { max-width:1280px; margin:20px auto 0; padding:0 32px 40px; }
.dz-postgrid .wp-block-post-template { gap:18px !important; }
.dz-postgrid .wp-block-post { background:#fff; border:1px solid #ECE8DF; border-radius:18px; overflow:hidden; padding:0; }
.dz-postgrid .wp-block-post-featured-image { margin:0; }
.dz-postgrid .wp-block-post-featured-image img { width:100%;  object-fit:cover; border-radius:0 !important; display:block; }
.dz-postgrid .wp-block-post-terms { font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; margin:16px 20px 0; }
.dz-postgrid .wp-block-post-title { font-weight:800; font-size:18px; line-height:1.2; margin:8px 20px 0; }
.dz-postgrid .wp-block-post-title a { text-decoration:none; color:inherit; }
.dz-postgrid .wp-block-post-excerpt { font-size:13.5px; color:#6B7976; line-height:1.5; margin:8px 20px 20px; }
.dz-postgrid .wp-block-post-excerpt__more-link { display:none; }
.dz-noresults, .dz-postgrid .wp-block-query-no-results p { max-width:1280px; margin:0 auto; padding:24px 32px; font-size:16px; color:#6B7976; }

/* ---- Search form (core wp:search) ---- */
.dz-search { max-width:520px; margin:16px 0 0; }
.dz-search .wp-block-search__inside-wrapper { border:1px solid #D8D2C6; border-radius:12px; overflow:hidden; background:#fff; }
.dz-search .wp-block-search__input { border:none; padding:12px 14px; font-size:15px; outline:none; }
.dz-search .wp-block-search__button { border:none; background:#0D9488; color:#fff; font-weight:700; padding:0 18px; margin:0; cursor:pointer; }
.dz-search .wp-block-search__button:hover { background:#0b8378; }

/* ---- App store badges (footer + contact) ---- */
.dz-appbadges { display:flex; flex-wrap:wrap; gap:10px; }
.dz-appbadge {display:inline-flex;align-items:center;gap:9px;padding:8px 14px;min-width:150px;border-radius:12px;background: #ffffff;border:1px solid #11201E;color: #000000;text-decoration:none;transition:transform .12s, background-color .15s;}
.dz-appbadge:hover { transform:translateY(-1px); background:#0A6B62; border-color:#0A6B62; }
.dz-appbadge-glyph { flex:0 0 auto; }
.dz-appbadge-txt { display:flex; flex-direction:column; line-height:1.15; }
.dz-appbadge-sm { font-size:10px; letter-spacing:.02em; opacity:.85; }
.dz-appbadge-lg { font-size:16px; font-weight:700; letter-spacing:-.01em; }
.dz-appbadges--footer { margin-top:20px; }
.dzct-apps { margin-top:30px; }
.dzct-apps-label { display:block; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:#7C8A87; margin-bottom:12px; }

/* ---- Blog post share row (doctaz/post-share) ---- */
.dzshare-wrap { margin:18px 0 4px; }
.dzshare { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.dzshare-label { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:#7C8A87; }
.dzshare-links { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.dzshare .dzshare-btn { position:relative; display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border:1px solid #E4DFD4; border-radius:11px; background:#fff; color:#3A463F; cursor:pointer; text-decoration:none; transition:color .15s, border-color .15s, background-color .15s, transform .12s; }
.dzshare .dzshare-btn:hover { transform:translateY(-1px); border-color:#0D9488; color:#0D9488; background:#F2F8F6; }
.dzshare .dzshare-btn--copy.is-copied { border-color:#0D9488; color:#0D9488; background:#F2F8F6; }
.dzshare-copied { position:absolute; bottom:calc(100% + 6px); left:50%; transform:translateX(-50%); font-size:11px; font-weight:600; color:#0A6B62; background:#fff; border:1px solid #C7E3DD; border-radius:7px; padding:3px 7px; white-space:nowrap; box-shadow:0 8px 20px -12px rgba(17,32,30,.5); }

/* ---- Related posts on single ---- */
.dz-related { max-width:1280px; margin:48px auto 0; padding:32px 32px 0; border-top:1px solid #ECE8DF; }
.dz-related-title { font-weight:800; font-size:22px; letter-spacing:-.02em; margin:0 0 8px; padding:0 32px; }

/* ---- Language switcher (GTranslate float widget, restyled to a header pill) ---- */
.dz-lang { display:inline-flex; align-items:center; }
.dz-lang .gtranslate_wrapper { display:inline-flex; }
.dz-lang #gt_float_wrapper { position:relative; }
.dz-lang .gt_float_switcher { font-family:'Archivo',sans-serif; background:transparent; box-shadow:none; border-radius:11px; overflow:visible; float:none; }
/* The visible pill */
.dz-lang { align-self:center; }
.dz-lang .gt_float_switcher .gt-selected { display:inline-flex; align-items:center; border:1px solid #D8D2C6; border-radius:11px; background:#fff; box-shadow:0 2px 8px -5px rgba(17,32,30,.35); transition:border-color .15s; }
.dz-lang .gt_float_switcher .gt-selected:hover { border-color:#0D9488; }
.dz-lang .gt_float_switcher .gt-selected .gt-current-lang { display:flex; align-items:center; gap:8px; padding:8px 11px; font-size:13.5px; line-height:1; }
.dz-lang .gt_float_switcher .gt-selected img { width:20px; height:14px; object-fit:cover; border-radius:2px; box-shadow:0 0 0 1px rgba(17,32,30,.06); }
.dz-lang .gt_float_switcher .gt-lang-code { font-weight:600; color:#27332F; text-transform:uppercase; letter-spacing:.02em; }
.dz-lang .gt_float_switcher .gt_float_switcher-arrow { width:0 !important; height:0 !important; background:none !important; border-left:4px solid transparent !important; border-right:4px solid transparent !important; border-top:5px solid #9AA6A3 !important; border-bottom:0 !important; margin-left:2px; transition:transform .18s; }
/* Dropdown list */
.dz-lang .gt_float_switcher .gt_options { position:absolute; top:calc(100% + 8px); right:0; left:auto; min-width:180px; max-height:min(60vh,360px); overflow-y:auto; background:#fff; border:1px solid #E7E2D8; border-radius:12px; box-shadow:0 24px 60px -28px rgba(17,32,30,.55); padding:6px; }
.dz-lang .gt_float_switcher .gt_options a { display:flex; align-items:center; gap:10px; padding:9px 10px; margin:0; border-radius:8px; font-size:14px; font-weight:500; color:#27332F; text-decoration:none; }
.dz-lang .gt_float_switcher .gt_options a:hover { background:#F2F8F6; color:#0A6B62; }
.dz-lang .gt_float_switcher .gt_options a img { width:20px; height:14px; object-fit:cover; border-radius:2px; }

/* Mobile: no dropdown â€” show all languages inline as tappable flag chips.
   Lives inside the scrollable nav so the CTAs stay pinned at the bottom. */
.dzhd-m-lang { margin-top:14px; padding-top:16px; border-top:1px solid #EDE9E0; }
.dzhd-m-lang-label { display:block; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:#7C8A87; margin-bottom:10px; }
.dzhd-m-lang .dz-lang--inline, .dzhd-m-lang .gtranslate_wrapper, .dzhd-m-lang #gt_float_wrapper, .dzhd-m-lang .gt_float_switcher { display:block; width:100%; }
.dzhd-m-lang .gt_float_switcher .gt-selected { display:none !important; }  /* hide the collapsed pill */
.dzhd-m-lang .gt_float_switcher .gt_options { position:static !important; display:grid !important; grid-template-columns:1fr 1fr; gap:8px; visibility:visible !important; opacity:1 !important; height:auto !important; max-height:none !important; overflow:visible !important; transform:none !important; box-shadow:none; border:0; padding:0; min-width:0; background:transparent; }
/* Show every language INCLUDING the current one (GTranslate hides gt-current) */
.dzhd-m-lang .gt_float_switcher .gt_options a { display:flex !important; align-items:center; gap:10px; padding:12px 14px; border:1px solid #E7E2D8; border-radius:12px; background:#fff; font-size:15px; font-weight:600; color:#27332F; }
.dzhd-m-lang .gt_float_switcher .gt_options a:hover { border-color:#0D9488; color:#0A6B62; }
/* Selected language â€” highlighted active chip with a check */
.dzhd-m-lang .gt_float_switcher .gt_options a.gt-current { border-color:#0D9488; background:#F2F8F6; color:#0A6B62; position:relative; }
.dzhd-m-lang .gt_float_switcher .gt_options a.gt-current::after { content:"âœ“"; margin-left:auto; font-weight:800; color:#0D9488; }
.dzhd-m-lang .gt_float_switcher .gt_options a img { width:22px; height:16px; }

@media (max-width:900px) { .dz-postgrid .wp-block-post-template { grid-template-columns:repeat(2,1fr) !important; } }
@media (max-width:560px) { .dz-postgrid .wp-block-post-template { grid-template-columns:1fr !important; } .dzbi-pagination, .dz-postgrid, .dz-archive-head { padding-left:20px; padding-right:20px; } }

/* ---- Site header (class-based, values ported from the approved markup) ---- */
.dz-header { position:sticky; top:0; z-index:80; background:rgba(246,244,239,.85); backdrop-filter:saturate(1.4) blur(14px); -webkit-backdrop-filter:saturate(1.4) blur(14px); border-bottom:1px solid #E7E2D8; font-family:'Archivo',sans-serif; }
.dzhd-bar { position:relative; z-index:90; max-width:1280px; margin:0 auto; padding:0 32px; height:68px; display:flex; align-items:center; justify-content:space-between; }
.dzhd-logo { display:flex; align-items:center; }
.dzhd-logobox { display:inline-flex; align-items:center; justify-content:center; border:1px solid #E7E2D8; border-radius:11px; padding:8px 14px; box-shadow:0 3px 10px -5px rgba(17,32,30,.28); background-color:#0d9488; }
.dzhd-logoimg { height:39px; width:auto; display:block; }
.dz-desktop-nav { display:flex; align-items:center; gap:4px; font-size:15px; font-weight:500; }
.dz-navbtn { background:none; border:none; font:inherit; color:#27332F; font-weight:500; padding:9px 14px; border-radius:9px; cursor:pointer; display:flex; align-items:center; gap:6px; }
.dz-caret { font-size:10px; color:#9AA6A3; transition:transform .18s; }
.dzhd-navlink { color:#27332F; font-weight:500; padding:9px 14px; border-radius:9px; }
.dz-desktop-cta { display:flex; align-items:center; gap:14px; }
.dzhd-login { font-size:15px; font-weight:600; color:#27332F; }
.dzhd-register { border:none; background:#0D9488; color:#fff; font-weight:600; font-size:15px; padding:11px 20px; border-radius:11px; box-shadow:0 6px 18px -8px rgba(13,148,136,.7); }
.dzg-burger { position:relative; z-index:2; background:none; border:1px solid #D8D2C6; border-radius:12px; width:46px; height:46px; align-items:center; justify-content:center; cursor:pointer; color:#11201E; -webkit-tap-highlight-color:transparent; transition:background-color .18s, border-color .18s; }
.dzg-burger:active { background:#EFEBE2; }
.dzg-burger[aria-expanded="true"] { border-color:#C9C2B3; background:#EFEBE2; }
.dzg-burger-box { position:relative; display:block; width:20px; height:14px; }
.dzg-burger-line { position:absolute; left:0; width:100%; height:2px; border-radius:2px; background:#11201E; transition:transform .25s ease, opacity .18s ease, top .25s ease; }
.dzg-burger-line:nth-child(1) { top:0; }
.dzg-burger-line:nth-child(2) { top:6px; }
.dzg-burger-line:nth-child(3) { top:12px; }
.dzg-burger[aria-expanded="true"] .dzg-burger-line:nth-child(1) { top:6px; transform:rotate(45deg); }
.dzg-burger[aria-expanded="true"] .dzg-burger-line:nth-child(2) { opacity:0; }
.dzg-burger[aria-expanded="true"] .dzg-burger-line:nth-child(3) { top:6px; transform:rotate(-45deg); }
.dz-panel { position:absolute; left:0; right:0; top:68px; background:#FFFFFF; border-bottom:1px solid #E7E2D8; box-shadow:0 30px 60px -30px rgba(17,32,30,.3); }
.dz-panel-grid { max-width:1280px; margin:0 auto; padding:30px 32px; display:grid; gap:14px; }
.dz-panel-grid--2 { grid-template-columns:repeat(2,1fr); }
.dz-panel-grid--3 { grid-template-columns:repeat(3,1fr); }
.dz-panel-grid--4 { grid-template-columns:repeat(4,1fr); }
.dz-panel-grid--5 { grid-template-columns:repeat(5,1fr); }
.dzhd-feat { background:#0C1917; color:#fff; border-radius:12px; padding:18px; display:flex; flex-direction:column; justify-content:space-between; }
.dzhd-feat-eyebrow { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.12em; color:#5FA89F; }
.dzhd-feat-title { font-weight:800; font-size:18px; margin-top:9px; letter-spacing:-.02em; line-height:1.12; }
.dzhd-feat-more { font-weight:600; font-size:13.5px; color:#7FB7AF; margin-top:14px; }
.dzhd-card { padding:15px; border:1px solid #EEEAE1; border-radius:12px; }
.dzhd-card-title { font-weight:700; font-size:15px; }
.dzhd-card-desc { font-size:12px; color:#6B7976; margin-top:3px; line-height:1.4; }
.dzhd-ecard { padding:18px; border:1px solid #EEEAE1; border-radius:14px; display:block; }
.dzhd-ecard-eyebrow { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.12em; color:#0A6B62; }
.dzhd-ecard-title { font-weight:700; font-size:17px; margin:8px 0 4px; }
.dzhd-ecard-desc { font-size:13.5px; color:#6B7976; line-height:1.45; }
.dzhd-rcard { padding:18px; border:1px solid #EEEAE1; border-radius:12px; }
.dzhd-rcard--highlight { border-color:#C7E3DD; background:#F2F8F6; }
.dzhd-rcard-head { display:flex; align-items:center; gap:8px; }
.dzhd-rcard-title { font-weight:700; font-size:16px; }
.dzhd-rcard-badge { font-family:'IBM Plex Mono',monospace; font-size:8.5px; letter-spacing:.08em; color:#0A6B62; background:#D7ECE7; padding:3px 7px; border-radius:5px; }
.dzhd-rcard-desc { font-size:13px; color:#6B7976; margin-top:4px; }
/* Mobile / tablet drawer: fixed overlay + scrim + slide-in sheet.
   Header (z-80) stays above the drawer (z-70) so the burger toggles to an X
   and stays tappable to close. Scroll-lock lives on html.dz-menu-lock. */
.dz-mobile-menu { position:fixed; inset:0; z-index:70; }
.dz-mobile-menu a { text-decoration:none; }
.dz-mobile-menu[hidden] { display:none; }
.dzhd-m-scrim { position:absolute; inset:0; background:rgba(10,21,19,.42); opacity:0; transition:opacity .25s ease; }
.dzhd-m-sheet { position:absolute; left:0; right:0; top:0; bottom:0; display:flex; flex-direction:column; padding-top:80px; background:#fff; border-bottom:1px solid #E7E2D8; box-shadow:0 24px 50px -22px rgba(17,32,30,.45); transform:translateY(-14px); opacity:0; transition:transform .28s cubic-bezier(.22,1,.36,1), opacity .2s ease; }
/* When the WP admin bar is present it shifts the sticky header down; offset the
   fixed drawer by the same amount so items still clear the logo bar. */
.admin-bar .dzhd-m-scrim, .admin-bar .dzhd-m-sheet { top:32px; }
@media (max-width:782px) { .admin-bar .dzhd-m-scrim, .admin-bar .dzhd-m-sheet { top:46px; } }
.dz-mobile-menu.is-open .dzhd-m-scrim { opacity:1; }
.dz-mobile-menu.is-open .dzhd-m-sheet { transform:translateY(0); opacity:1; }
.dzhd-m-list { flex:1 1 auto; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch; padding:6px 20px 10px; display:flex; flex-direction:column; }

.dzhd-m-group { border-bottom:1px solid #F0EDE6; }
.dzhd-m-grow { display:flex; align-items:center; }
.dzhd-m-parent { flex:1 1 auto; min-height:50px; display:flex; align-items:center; padding:6px; font-weight:700; font-size:16.5px; color:#11201E; border-radius:9px; }
.dzhd-m-parent:active { background:#F5F2EB; }
.dzhd-m-exp { flex:0 0 auto; width:48px; height:48px; display:flex; align-items:center; justify-content:center; background:none; border:none; color:#6B7976; cursor:pointer; border-radius:9px; -webkit-tap-highlight-color:transparent; }
.dzhd-m-exp:active { background:#F2EEE6; }
.dzhd-m-chev { transition:transform .25s ease; }
.dzhd-m-exp[aria-expanded="true"] .dzhd-m-chev { transform:rotate(180deg); }
.dzhd-m-sub { display:flex; flex-direction:column; padding:0 0 8px; }
.dzhd-m-sub[hidden] { display:none; }
.dzhd-m-child { min-height:44px; display:flex; align-items:center; margin-left:6px; padding:8px 6px 8px 16px; font-size:15px; color:#3A463F; border-left:2px solid #ECE8DF; border-radius:0 9px 9px 0; }
.dzhd-m-child:active { background:#F5F2EB; }
.dzhd-m-child.is-current { border-left-color:#0D9488; }
.dzhd-m-top { min-height:50px; display:flex; align-items:center; padding:6px; font-weight:700; font-size:16.5px; color:#11201E; border-bottom:1px solid #F0EDE6; border-radius:9px; }
.dzhd-m-top:active { background:#F5F2EB; }

/* Prominent, always-visible CTA block â€” Get started is the single primary. */
.dzhd-m-ctas { flex:0 0 auto; display:flex; flex-direction:column; gap:10px; padding:14px 20px calc(16px + env(safe-area-inset-bottom)); border-top:1px solid #EDE9E0; background:#FBFAF7; }
.dzhd-m-register { display:flex; align-items:center; justify-content:center; gap:8px; min-height:52px; background:#0D9488; color:#fff; border-radius:13px; font-weight:700; font-size:16px; box-shadow:0 10px 22px -10px rgba(13,148,136,.75); transition:transform .12s ease, background-color .18s ease; }
.dzhd-m-register:active { transform:scale(.98); background:#0B8378; }
.dzhd-m-login { display:flex; align-items:center; justify-content:center; min-height:48px; background:#fff; border:1px solid #D8D2C6; border-radius:12px; font-weight:600; font-size:15.5px; color:#27332F; transition:background-color .18s ease; }
.dzhd-m-login:active { background:#F2EEE6; }

/* ---- Site footer (class-based, values ported from the approved markup) ---- */
.dzft { background:#0A1513; color:#9FB2AE; border-top:1px solid #1C2C29; font-family:'Archivo',sans-serif; }
.dzft-inner { max-width:1280px; margin:0 auto; padding:64px 32px 40px; }
.dz-foot-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr 1fr; gap:32px; }
.dzft-logobox { display:inline-flex; align-items:center; justify-content:center; background:#0D9488; border-radius:9px; padding:7px 12px; }
.dzft-logoimg { height:30px; width:auto; display:block; }
.dzft-blurb { font-size:14px; line-height:1.55; max-width:260px; margin:16px 0 0; }
.dzft-colhead { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.12em; color:#5F726E; margin-bottom:14px; }
.dzft-links { display:flex; flex-direction:column; gap:10px; font-size:14px; }
.dzft-links a { color:inherit; text-decoration:none; }
.dzft-bottom { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:48px; padding-top:24px; border-top:1px solid #1C2C29; flex-wrap:wrap; }
.dzft-copy { font-size:13px; color:#5F726E; }
.dzft-legal { display:flex; gap:16px; font-size:13px; color:#5F726E; }
.dzft-legal a { color:inherit; text-decoration:none; }

/* ---- home-capabilities (.dzc) â€” extracted from inline styles ---- */
.dzc-section { border-top:1px solid #E7E2D8; }
.dzc-wrap { max-width:1280px; margin:0 auto; padding:80px 32px; }
.dzc-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.dzc-head-left { max-width:560px; }
.dzc-eyebrow { font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.14em; color:#0A6B62; }
.dzc-h2 { font-weight:800; font-size:clamp(32px,4vw,52px); line-height:1; letter-spacing:-.03em; margin:14px 0 0; }
.dzc-sub { font-size:16px; color:#4A5957; line-height:1.55; max-width:380px; }
.dzc-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:36px; }
.dzc-ai { grid-column:span 2; grid-row:span 2; background:#0C1917; color:#fff; border:1px solid #213431; border-radius:18px; padding:26px; display:flex; flex-direction:column; justify-content:space-between; min-height:280px; position:relative; overflow:hidden; }
.dzc-ai-glow { position:absolute; right:-30px; top:-30px; width:160px; height:160px; border-radius:50%; background:radial-gradient(circle,#F2643D2e,transparent 70%); }
.dzc-ai-pill { display:inline-flex; align-items:center; gap:7px; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.12em; color:#F4A88E; background:#1a2d28; border:1px solid #2C413D; padding:7px 12px; border-radius:999px; }
.dzc-ai-dot { width:6px; height:6px; border-radius:50%; background:#F2643D; }
.dzc-ai-title { font-weight:800; font-size:28px; letter-spacing:-.02em; margin:18px 0 8px; }
.dzc-ai-desc { font-size:15px; color:#A9BCB8; line-height:1.5; max-width:340px; }
.dzc-ai-demo { background:#0F211E; border:1px solid #213431; border-radius:12px; padding:14px; margin-top:18px; }
.dzc-ai-chips { display:flex; gap:8px; flex-wrap:wrap; }
.dzc-ai-chip { font-size:12px; color:#DCE6E3; border:1px solid #2C413D; background:#16302B; padding:6px 11px; border-radius:999px; }
.dzc-ai-result { margin-top:12px; display:flex; align-items:center; gap:9px; }
.dzc-ai-result-label { font-family:'IBM Plex Mono',monospace; font-size:10px; color:#7FB7AF; }
.dzc-ai-result-value { font-weight:700; font-size:14px; color:#fff; }
.dzc-card { background:#fff; border:1px solid #E7E2D8; border-radius:18px; padding:22px; }
.dzc-card--wide { grid-column:span 2; display:flex; align-items:center; gap:18px; }
.dzc-icon { width:34px; height:34px; border-radius:9px; background:#E2EFEC; display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono',monospace; font-size:12px; font-weight:600; color:#0A6B62; }
.dzc-card--wide .dzc-icon { flex-shrink:0; font-size:14px; }
.dzc-icon--accent { background:#FCEDE7; color:#C24A28; }
.dzc-card-title { font-weight:700; font-size:17px; margin:14px 0 5px; }
.dzc-card--wide .dzc-card-title { margin:0 0 5px; }
.dzc-card-desc { font-size:13.5px; color:#6B7976; line-height:1.45; }

/* ---- home-cta (.dzk) â€” extracted from inline styles ---- */
.dzk-section { background:#0C1917; color:#fff; }
.dzk-wrap { max-width:1000px; margin:0 auto; padding:96px 32px; text-align:center; }
.dzk-h2 { font-weight:800; font-size:clamp(34px,4.6vw,60px); line-height:1; letter-spacing:-.035em; margin:0;color:#FCEDE7 }
.dzk-sub { font-size:18px; color:#9FB2AE; line-height:1.55; max-width:560px; margin:20px auto 0; }
.dzk-btns { display:flex; gap:14px; justify-content:center; margin-top:32px; flex-wrap:wrap; }
.dzk-btn { border:none; background:#0D9488; color:#fff; font-weight:700; font-size:16px; padding:15px 28px; border-radius:12px; cursor:pointer; box-shadow:0 14px 34px -14px rgba(13,148,136,.8); display:inline-block; text-decoration:none; }
.dzk-btn2 { border:1px solid #2C413D; background:transparent; color:#fff; font-weight:600; font-size:16px; padding:15px 26px; border-radius:12px; text-decoration:none; }

/* ---- home-hero (.dzh) â€” extracted from inline styles ---- */
.dzh-section { position:relative; max-width:1280px; margin:0 auto; padding:64px 32px 40px; }
.dzh-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:48px; align-items:center; }
.dzh-badge { display:inline-flex; align-items:center; gap:8px; font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.12em; color:#0A6B62; background:#E2EFEC; padding:7px 13px; border-radius:999px; }
.dzh-badge-dot { width:7px; height:7px; border-radius:50%; background:#0D9488; animation:dz-pulse 2s infinite; }
.dzh-h1 { font-weight:800; font-size:clamp(40px,5.2vw,68px); line-height:.94; letter-spacing:-.035em; margin:22px 0 0; }
.dzh-accent { color:#0D9488; }
.dzh-sub { font-size:18px; line-height:1.55; color:#4A5957; max-width:480px; margin:20px 0 0; }
.dzh-ctas { margin-top:30px; display:flex; gap:14px; flex-wrap:wrap; }
.dzh-btn { border:none; background:#0D9488; color:#fff; font-weight:700; font-size:16px; padding:15px 24px; border-radius:12px; box-shadow:0 12px 30px -14px rgba(13,148,136,.7); display:inline-flex; align-items:center; gap:9px; }
.dzh-btn2 { border:1px solid #C9D3D0; background:#fff; color:#11201E; font-weight:600; font-size:16px; padding:15px 22px; border-radius:12px; display:inline-flex; align-items:center; gap:9px; }
.dzh-btn2-dot { width:8px; height:8px; border-radius:50%; background:#F2643D; animation:dz-ring 1.8s infinite; }
.dzh-stats { margin-top:34px; display:flex; gap:40px; flex-wrap:wrap; align-items:flex-start; }
.dzh-stat-value { font-weight:800; font-size:30px; letter-spacing:-.025em; }
.dzh-stat-label { font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.08em; color:#7C8A87; margin-top:3px; }
.dzh-visual { position:relative; min-height:480px; }
.dzh-console { background:#0C1917; border:1px solid #213431; border-radius:20px; padding:14px; box-shadow:0 36px 70px -34px rgba(0,0,0,.6); position:relative; }
.dzh-console-top { display:flex; align-items:center; justify-content:space-between; padding:2px 4px 12px; }
.dzh-live { display:flex; align-items:center; gap:8px; }
.dzh-live-dot { width:8px; height:8px; border-radius:50%; background:#F2643D; box-shadow:0 0 0 4px rgba(242,100,61,.16); animation:dz-pulse 1.6s infinite; }
.dzh-live-label { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.12em; color:#5FA89F; }
.dzh-console-tag { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.1em; color:#3F5A55; }
.dzh-screen { position:relative; height:184px; border-radius:14px; overflow:hidden; background:radial-gradient(120% 130% at 32% 18%, #1d423b 0%, #0f2420 60%, #0c1d1a 100%); }
.dzh-screen-grain { position:absolute; inset:0; background:repeating-linear-gradient(45deg, rgba(255,255,255,.018) 0 9px, transparent 9px 18px); }
.dzh-scan { position:absolute; left:0; right:0; top:0; height:2px; background:linear-gradient(90deg,transparent,#0D948855,transparent); animation:dz-scan 3.6s linear infinite; }
.dzh-avatar { position:absolute; left:50%; top:45%; transform:translate(-50%,-50%); width:80px; height:80px; border-radius:50%; background:repeating-linear-gradient(45deg,#23534b,#23534b 5px,#2c635a 5px,#2c635a 10px); border:2px solid #0D9488; box-shadow:0 0 0 7px rgba(13,148,136,.12); }
.dzh-caller { position:absolute; left:12px; bottom:12px; display:flex; align-items:center; gap:8px; background:rgba(7,16,14,.62); backdrop-filter:blur(5px); border:1px solid #284743; border-radius:9px; padding:6px 11px; }
.dzh-caller-dot { width:6px; height:6px; border-radius:50%; background:#0D9488; }
.dzh-caller-name { font-size:12px; font-weight:600; color:#EAF2F0; }
.dzh-caller-role { font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:.06em; color:#7FB7AF; }
.dzh-pip { position:absolute; right:12px; bottom:12px; width:66px; height:48px; border-radius:9px; background:repeating-linear-gradient(45deg,#15302B,#15302B 5px,#193733 5px,#193733 10px); border:1.5px solid #2C413D; }
.dzh-screen-btns { position:absolute; right:14px; top:12px; display:flex; gap:6px; }
.dzh-screen-btn { width:30px; height:30px; border-radius:9px; background:rgba(7,16,14,.5); border:1px solid #284743; display:flex; align-items:center; justify-content:center; color:#9FCFC8; font-size:11px; }
.dzh-airow { display:flex; align-items:center; gap:10px; margin-top:10px; background:#0F211E; border:1px solid #213431; border-radius:11px; padding:10px 12px; }
.dzh-aitag { font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:.08em; color:#F4A88E; background:#241813; border:1px solid #3a2920; padding:4px 7px; border-radius:6px; }
.dzh-eq { display:flex; align-items:flex-end; gap:2.5px; height:16px; }
.dzh-eq-bar { width:3px; background:#0D9488; border-radius:2px; animation:dz-pulse 1s infinite; }
.dzh-eq-bar:nth-child(1) { height:40%; }
.dzh-eq-bar:nth-child(2) { height:90%; animation-delay:.15s; }
.dzh-eq-bar:nth-child(3) { height:60%; animation-delay:.3s; }
.dzh-eq-bar:nth-child(4) { height:100%; animation-delay:.45s; }
.dzh-eq-bar:nth-child(5) { height:55%; animation-delay:.6s; }
.dzh-ailabel { font-size:12px; color:#9FB2AE; }
.dzh-vitals { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin-top:9px; }
.dzh-vital { background:#0F211E; border:1px solid #213431; border-radius:11px; padding:11px 12px; }
.dzh-vital-label { font-family:'IBM Plex Mono',monospace; font-size:8.5px; letter-spacing:.08em; color:#5FA89F; }
.dzh-vital-row { display:flex; align-items:baseline; gap:4px; margin-top:5px; }
.dzh-vital-value { font-weight:800; font-size:20px; color:#fff; }
.dzh-vital-unit { font-size:10px; color:#7FB7AF; }
.dzh-float-slot { position:absolute; right:-18px; top:38px; background:#fff; border-radius:13px; padding:12px 15px; box-shadow:0 22px 44px -20px rgba(0,0,0,.45); animation:dz-float 6s ease-in-out infinite; }
.dzh-float-label { font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:.1em; color:#9AA6A3; }
.dzh-float-value { font-weight:700; font-size:14px; color:#0A6B62; margin-top:3px; }
.dzh-float-rx { position:absolute; left:-20px; bottom:26px; background:#F2643D; color:#fff; border-radius:13px; padding:12px 15px; box-shadow:0 22px 44px -18px rgba(242,100,61,.5); animation:dz-float2 5.5s ease-in-out infinite; }
.dzh-float-rx-label { font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:.1em; color:#FBD9CC; }
.dzh-float-rx-value { font-weight:700; font-size:14px; }

/* ---- section-banner-cta (.dzfb â€” Pricing facility banner) ---- */
.dzfb { max-width:1280px; margin:0 auto; padding:72px 32px 20px; }
.dzfb-card { display:grid; grid-template-columns:1.4fr auto; gap:24px; align-items:center; background:#0C1917; color:#EAF2F0; border-radius:22px; padding:30px 34px; }
.dzfb-badge { font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.12em; color:#5FE0CE; background:#0E2A26; padding:5px 11px; border-radius:999px; }
.dzfb-h1 { font-weight:800; font-size:clamp(28px,3.6vw,42px); line-height:1.04; letter-spacing:-.03em; margin:16px 0 0; color:#fff; }
.dzfb-copy { font-size:16px; color:#9FB2AE; line-height:1.55; margin:12px 0 0; max-width:620px; }
.dzfb-btns { display:flex; flex-direction:column; gap:10px; }
.dzfb-btn { text-align:center; background:#0D9488; color:#fff; font-weight:700; font-size:15px; padding:14px 26px; border-radius:12px; white-space:nowrap; }
.dzfb-btn2 { text-align:center; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.18); color:#fff; font-weight:600; font-size:14.5px; padding:12px 26px; border-radius:12px; white-space:nowrap; }

/* ---- pricing-table (.dzpt â€” Pricing page) ---- */
.dzpt { max-width:1280px; margin:0 auto; padding:36px 32px 72px; }
.dzpt-head-left { max-width:560px; }
.dz-page .dz-pricehead { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; flex-wrap:wrap; }
.dzpt-eyebrow { font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.14em; color:#0A6B62; }
.dzpt-h2 { font-weight:800; font-size:clamp(30px,3.8vw,48px); line-height:1; letter-spacing:-.03em; margin:14px 0 0; }
.dzpt-sub { font-size:16px; color:#4A5957; line-height:1.55; margin:14px 0 0; }
.dzpt-picker { display:block; }
.dzpt-picker-label { display:block; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.12em; color:#7C8A87; margin-bottom:7px; }
.dzpt-select { font-family:'Archivo'; font-size:15px; font-weight:600; color:#11201E; background:#fff; border:1px solid #C9D3D0; border-radius:11px; padding:13px 16px; min-width:240px; cursor:pointer; }
.dz-page .dz-tiers { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:34px; align-items:stretch; }
.dzpt-card { border:1px solid #E7E2D8; border-radius:18px; padding:26px; background:#fff; display:flex; flex-direction:column; }
.dzpt-card--hi { border:1.5px solid #0D9488; position:relative; box-shadow:0 28px 60px -34px rgba(13,148,136,.5); }
.dzpt-pop { position:absolute; top:-11px; left:26px; background:#0D9488; color:#fff; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.1em; padding:5px 11px; border-radius:999px; }
.dzpt-name { font-weight:800; font-size:22px; letter-spacing:-.02em; color:#0D9488; }
.dzpt-price { display:flex; align-items:baseline; gap:7px; margin:12px 0 10px; }
.dzpt-amount { font-weight:800; font-size:32px; letter-spacing:-.025em; }
.dzpt-per { font-size:13px; color:#7C8A87; }
.dzpt-badge { align-self:flex-start; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.08em; color:#0A6B62; background:#E2EFEC; padding:6px 11px; border-radius:999px; }
.dzpt-desc { font-size:13.5px; color:#6B7976; line-height:1.5; margin:16px 0 6px; }
.dzpt-features { display:flex; flex-direction:column; margin:6px 0 22px; }
.dzpt-feature { display:flex; align-items:center; gap:10px; padding:9px 0; border-top:1px solid #F0EDE6; }
.dzpt-check { color:#0D9488; font-weight:700; }
.dzpt-feature-label { font-size:14px; color:#33433F; }
.dzpt-cta { margin-top:auto; text-align:center; border:1px solid #C9D3D0; background:#fff; color:#11201E; font-weight:600; font-size:15px; padding:13px; border-radius:11px; }
.dzpt-cta--hi { border:none; background:#0D9488; color:#fff; font-weight:700; }
.dzpt-ent { margin-top:16px; border:1px solid #E7E2D8; border-radius:18px; padding:26px 30px; background:#11201E; color:#fff; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.dzpt-ent-head { display:flex; align-items:center; gap:12px; }
.dzpt-ent-name { font-weight:800; font-size:22px; letter-spacing:-.02em; }
.dzpt-ent-tag { font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.08em; color:#7FB7AF; border:1px solid #2C413D; padding:5px 11px; border-radius:999px; }
.dzpt-ent-desc { font-size:14.5px; color:#9FB2AE; line-height:1.5; margin:10px 0 0; max-width:540px; }
.dzpt-ent-cta { border:none; background:#0D9488; color:#fff; font-weight:700; font-size:15px; padding:14px 24px; border-radius:12px; white-space:nowrap; }
.dzpt-foot { text-align:center; font-size:13.5px; color:#6B7976; margin:26px 0 0; }
.dzpt-foot a { color:#0A6B62; font-weight:600; }

/* ---- section-contact (.dzct) ---- */
.dzct { max-width:1280px; margin:0 auto; padding:72px 32px 64px; }
.dz-page .dz-contact { display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:center; }
.dzct-eyebrow { font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.14em; color:#0A6B62; }
.dzct-h1 { font-weight:800; font-size:clamp(34px,4.6vw,54px); line-height:1; letter-spacing:-.035em; margin:14px 0 0; }
.dzct-intro { font-size:18px; color:#4A5957; line-height:1.6; margin:18px 0 0; max-width:420px; }
.dzct-details { display:flex; flex-direction:column; gap:18px; margin-top:34px; }
.dzct-detail { display:flex; align-items:center; gap:14px; }
.dzct-detail-icon { width:44px; height:44px; border-radius:12px; background:#E2EFEC; display:flex; align-items:center; justify-content:center; font-size:19px; }
.dzct-detail-label { display:block; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.1em; color:#7C8A87; }
.dzct-detail-value { font-weight:700; font-size:16px; }
.dzct-formcard { position:relative; background:#fff; border:1px solid #ECE8DF; border-radius:24px; padding:34px 34px 38px; box-shadow:0 40px 90px -50px rgba(17,32,30,.55); overflow:hidden; }
.dzct-formcard::before { content:""; position:absolute; inset:0 0 auto 0; height:5px; background:linear-gradient(90deg,#0D9488,#34C0B2 55%,#7BD8CD); }
.dzct-sent { text-align:center; padding:40px 12px; }
.dzct-sent-icon { width:56px; height:56px; margin:0 auto; border-radius:16px; background:#0D9488; color:#fff; display:flex; align-items:center; justify-content:center; font-size:26px; }
.dzct-sent-title { font-weight:800; font-size:22px; margin-top:18px; }
.dzct-sent-copy { font-size:15px; color:#6B7976; margin:8px 0 0; }
.dzct-honeypot { position:absolute; left:-9999px; }
.dzct-error { background:#FCEDE7; border:1px solid #F3C9B8; color:#C24A28; border-radius:11px; padding:12px 14px; font-size:14px; margin-bottom:16px; }
.dzct-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.dzct-field { display:block; }
.dzct-field--gap { margin-top:18px; }
.dzct-label { display:block; font-size:12px; font-weight:700; letter-spacing:.01em; color:#3A463F; margin-bottom:8px; }
.dzct-optional { font-weight:500; color:#9AA6A3; }
/* All contact controls + their wrappers share one box model so every field is
   the exact same width regardless of internal padding (caret space, dial code). */
.dzct-formcard .dzct-field, .dzct-formcard .dzct-combo-ctrl, .dzct-formcard .dzct-select-wrap,
.dzct-formcard .iti, .dzct-input, .dzct-select, .dzct-textarea, .dzct-tel { box-sizing:border-box; }
.dzct-formcard .dzct-combo-ctrl, .dzct-formcard .dzct-select-wrap, .dzct-formcard .iti { display:block; width:100%; }
.dzct-input, .dzct-select, .dzct-textarea { width:100%; border:1px solid #E4DFD4; border-radius:13px; padding:13px 15px; font-size:15px; color:#1B2A27; outline:none; background:#FBFAF7; transition:border-color .15s, box-shadow .15s, background-color .15s; }
.dzct-input::placeholder, .dzct-textarea::placeholder { color:#A7B0AD; }
.dzct-textarea { resize:vertical; min-height:132px; line-height:1.55; }
.dzct-input:focus, .dzct-select:focus, .dzct-textarea:focus, .dzct-combo-input:focus { border-color:#0D9488; background:#fff; box-shadow:0 0 0 4px rgba(13,148,136,.13); }
/* Custom select caret */
.dzct-select-wrap { position:relative; }
.dzct-select { appearance:none; -webkit-appearance:none; cursor:pointer; padding-right:40px; }
.dzct-select-wrap::after { content:""; position:absolute; right:16px; top:50%; width:0; height:0; margin-top:-2px; border-left:5px solid transparent; border-right:5px solid transparent; border-top:6px solid #6B7976; pointer-events:none; }
/* Submit */
.dzct-submit { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; margin-top:24px; border:none; background:linear-gradient(180deg,#12A093,#0D9488); color:#fff; font-weight:700; font-size:15.5px; padding:16px; border-radius:14px; cursor:pointer; box-shadow:0 14px 28px -14px rgba(13,148,136,.75); transition:transform .15s, box-shadow .15s, background-color .15s; }
.dzct-submit:hover { background:#0b8378; transform:translateY(-1px); box-shadow:0 18px 34px -14px rgba(13,148,136,.85); }
.dzct-submit svg { transition:transform .15s; }
.dzct-submit:hover svg { transform:translateX(3px); }

/* Country autocomplete combobox */
.dzct-combo-ctrl { position:relative; }
.dzct-combo-input { padding-right:38px; }
.dzct-combo-caret { position:absolute; right:16px; top:50%; width:0; height:0; margin-top:-2px; border-left:5px solid transparent; border-right:5px solid transparent; border-top:6px solid #6B7976; pointer-events:none; }
.dzct-combo-list { position:absolute; z-index:40; top:calc(100% + 6px); left:0; right:0; margin:0; padding:6px; list-style:none; max-height:280px; overflow-y:auto; background:#fff; border:1px solid #E7E2D8; border-radius:14px; box-shadow:0 26px 60px -30px rgba(17,32,30,.6); }
.dzct-combo-list li { display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:9px; cursor:pointer; font-size:14.5px; color:#27332F; }
.dzct-combo-list li .iti__flag { flex:0 0 auto; }
.dzct-combo-name { flex:1 1 auto; }
.dzct-combo-code { color:#8A948F; font-size:13px; font-variant-numeric:tabular-nums; }
.dzct-combo-list li.is-active, .dzct-combo-list li:hover { background:#F2F8F6; color:#0A6B62; }

/* intl-tel-input â€” make the enhanced tel field match .dzct-input */
.dzct-field .iti { display:block; width:100%; }
.dzct-field .iti__flag-container { border-right:1px solid #ECE8DF; }
.dzct-field .iti--separate-dial-code .dzct-tel { border:1px solid #E4DFD4; border-radius:13px; background:#FBFAF7; }
.dzct-field .iti--separate-dial-code .dzct-tel:focus { background:#fff; }
.dzct-field .iti__selected-flag { border-radius:13px 0 0 13px; padding:0 10px 0 15px; }
.dzct-field .iti__country-list { border-radius:0 0 13px 13px; font-size:14px; }

@media (max-width:900px) { .dzct-row { grid-template-columns:1fr; } .dzct { padding:48px 24px; } .dz-page .dz-contact { grid-template-columns:1fr; gap:36px; } }

/* ---- section-guides (.dzgg â€” Resource Center grid) ---- */
.dzgg-filter-section { max-width:1280px; margin:0 auto; padding:22px 32px 8px; }
.dz-page .dz-guidefilter { display:flex; gap:8px; flex-wrap:wrap; }
.dz-tutcat { position:relative; background:transparent; border:1px solid #E0DBD0; font:inherit; font-weight:600; font-size:14px; color:#27332F; padding:9px 16px; border-radius:999px; cursor:pointer; }
.dz-tutcat.is-active { background:#0D9488; border-color:#0D9488; color:#fff; }
.dzgg-grid-section { max-width:1280px; margin:0 auto; padding:20px 32px 80px; }
.dz-page .dz-guidegrid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.dz-guidecard { background:#fff; border:1px solid #E7E2D8; border-radius:18px; padding:24px; display:flex; flex-direction:column; text-decoration:none; color:inherit; }
.dzgg-card-top { display:flex; align-items:center; justify-content:space-between; }
.dzgg-card-cat { font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.1em; color:#0A6B62; background:#E2EFEC; padding:5px 9px; border-radius:6px; }
.dzgg-card-meta { font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:#9AA6A3; }
.dzgg-card-title { font-weight:800; font-size:19px; letter-spacing:-.015em; line-height:1.2; margin:16px 0 8px; }
.dzgg-card-desc { font-size:14px; color:#6B7976; line-height:1.5; flex:1; }
.dzgg-card-open { margin-top:16px; padding-top:14px; border-top:1px solid #F0EDE6; font-weight:700; font-size:14px; color:#0A6B62; }

/* ---- Button integrity â€” text on teal is always white, never underlined.
   (.dz-page a { color:inherit } and core's default link underline must not
   restyle button-shaped links.) ---- */
.dz-page .dzsh-btn, .dz-page .dzcta-btn, .dz-page .dzhc-btn,
.dz-page .dzfb-btn, .dz-page .dzpt-cta--hi, .dz-page .dzpt-ent-cta,
.dz-home .dzh-btn, .dz-home .dzk-btn { color:#fff; text-decoration:none; }
.dz-page .dzsh-btn2, .dz-page .dzcta-btn2, .dz-page .dzhc-btn2 { color:#27332F; text-decoration:none; }
.dz-page .dzfb-btn2 { color:#fff; text-decoration:none; }
.dz-page .dzpt-cta { color:#11201E; text-decoration:none; }
.dz-home .dzh-btn2 { color:#11201E; text-decoration:none; }
.dz-page .dzrl-tile, .dz-page .dzct-detail, .dz-page .dzrl-note a,
.dz-page .dzlg-toc-link, .dz-page .dzlc-card, .dz-page .dzbi-card,
.dz-page .dzbi-feat-link { text-decoration:none; }

/* ---- Guide player: step screenshots + fullscreen overlay ---- */
.dzg-shot-img {
	width:100%; height:100%; object-fit:contain; display:block;
	border-radius:12px; background:#0A1513;
}

/* Step info card + control bar â€” only visible in fullscreen. */
.dzg-shot-info, .dzg-fs-bar { display:none; }

.dzg-screen:fullscreen .dzg-shot-info,
.dzg-screen:-webkit-full-screen .dzg-shot-info,
.dzg-is-fs .dzg-shot-info {
	display:flex; flex-direction:column; gap:5px;
	position:absolute; left:4vmin; bottom:calc(4vmin + 62px); max-width:560px;
	background:rgba(7,16,14,.78); backdrop-filter:blur(8px);
	border:1px solid #284743; border-radius:14px; padding:16px 20px;
	text-align:left; z-index:4;
}
.dzg-shot-info-num { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.12em; color:#7FB7AF; }
.dzg-shot-info-title { font-weight:800; font-size:18px; letter-spacing:-.015em; color:#fff; }
.dzg-shot-info-body { font-size:13.5px; color:#B9CCC8; line-height:1.5; }

.dzg-screen:fullscreen .dzg-fs-bar,
.dzg-screen:-webkit-full-screen .dzg-fs-bar,
.dzg-is-fs .dzg-fs-bar {
	display:flex; align-items:center; gap:10px;
	position:absolute; left:50%; transform:translateX(-50%); bottom:20px; z-index:5;
}
.dzg-fsctl {
	background:rgba(7,16,14,.6); border:1px solid #284743; color:#EAF2F0;
	border-radius:999px; padding:10px 20px; font:inherit; font-weight:600;
	font-size:13.5px; cursor:pointer; backdrop-filter:blur(5px);
	transition:background .15s,border-color .15s;
}
.dzg-fsctl:hover { background:rgba(13,148,136,.9); border-color:#0D9488; color:#fff; }
.dzg-fsctl-play { background:#0D9488; border-color:#0D9488; color:#fff; }

/* In fullscreen the shot leaves room for the overlay bar. */
.dzg-screen:fullscreen .dzg-shot,
.dzg-screen:-webkit-full-screen .dzg-shot,
.dzg-is-fs .dzg-shot { padding:4vmin 4vmin calc(4vmin + 56px); }

@media (max-width:700px) {
	.dzg-screen:fullscreen .dzg-shot-info,
	.dzg-screen:-webkit-full-screen .dzg-shot-info,
	.dzg-is-fs .dzg-shot-info { left:16px; right:16px; bottom:86px; max-width:none; padding:12px 15px; }
	.dzg-shot-info-title { font-size:15.5px; }
	.dzg-shot-info-body { font-size:12.5px; }
}
