/*
 * Detail Zone 2.0: design system.
 * Every class is prefixed with dz- so plugins cannot collide with it.
 * Sections switch theme by re-scoping tokens: dz-sec (ink), dz-sec-graphite, dz-sec-bone (light).
 */

@font-face { font-family: "Archivo DZ"; font-style: normal; font-display: swap; font-weight: 100 900; font-stretch: 62% 125%; src: url("../fonts/archivo-latin-ext-standard-normal.woff2") format("woff2-variations"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Archivo DZ"; font-style: normal; font-display: swap; font-weight: 100 900; font-stretch: 62% 125%; src: url("../fonts/archivo-latin-standard-normal.woff2") format("woff2-variations"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Instrument DZ"; font-style: normal; font-display: swap; font-weight: 400 700; font-stretch: 75% 100%; src: url("../fonts/instrument-sans-latin-ext-standard-normal.woff2") format("woff2-variations"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Instrument DZ"; font-style: normal; font-display: swap; font-weight: 400 700; font-stretch: 75% 100%; src: url("../fonts/instrument-sans-latin-standard-normal.woff2") format("woff2-variations"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
	--dz-ink: #09090a;
	--dz-graphite: #111214;
	--dz-anthracite: #1a1b1e;
	--dz-red: #c8102e;
	--dz-red-hover: #a50d26;
	--dz-f-display: "Archivo DZ", "Helvetica Neue", Arial, sans-serif;
	--dz-f-body: "Instrument DZ", "Helvetica Neue", Arial, sans-serif;
	--dz-ease: cubic-bezier(.2, .7, .2, 1);
	/* Dark (default) theme tokens */
	--text: #f4f2ee;
	--text-2: #c2beb7;
	--text-3: #98948d;
	--line: rgba(255, 255, 255, 0.085);
	--line-strong: rgba(255, 255, 255, 0.2);
	--red-text: #ff5a64;
	--sheen: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.22) 50%, rgba(255,255,255,0) 100%);
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--dz-ink); color: var(--text); font-family: var(--dz-f-body); font-size: 17px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--red-text); }
img { display: block; max-width: 100%; height: auto; }
p { margin: 0; }
h1, h2, h3, h4 { margin: 0; color: inherit; }
ul, ol { margin: 0; padding: 0; }
::selection { background: var(--dz-red); color: #fff; }
[hidden] { display: none !important; }
[id] { scroll-margin-top: 96px; }
:focus-visible { outline: 2px solid var(--red-text); outline-offset: 3px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.dz-skip-link { position: absolute; left: 16px; top: -100px; z-index: 100; background: #fff; color: #111; padding: 12px 18px; border-radius: 2px; }
.dz-skip-link:focus { top: 16px; }
main { display: block; }

/* ---------- Layout ---------- */
.dz-wrap { width: 100%; max-width: 1320px; margin: 0 auto; padding: 0 56px; }
.dz-wrap-narrow { width: 100%; max-width: 920px; margin: 0 auto; padding: 0 56px; }
.dz-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 104px; align-items: start; }
.dz-split-r { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 104px; align-items: start; }
.dz-split.is-center, .dz-split-r.is-center { align-items: center; }
.dz-split.is-end { align-items: end; }
.dz-g12 { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 18px; }
.dz-auto { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(var(--dz-min, 280px), 100%), 1fr)); gap: 18px; }
.dz-stack { display: flex; flex-direction: column; gap: 24px; }
.dz-stack-lg { display: flex; flex-direction: column; gap: 30px; }
.dz-row { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.dz-head { margin-bottom: 64px; }
.dz-head.dz-split { align-items: end; }

/* ---------- Sections and themes ---------- */
.dz-sec { position: relative; padding: 152px 0; background-color: var(--dz-ink); background-image: radial-gradient(55% 45% at 85% 0%, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0) 70%); overflow: hidden; }
.dz-sec-tight { padding-top: 104px; padding-bottom: 104px; }
.dz-sec-flush { padding-top: 0; padding-bottom: 0; }
.dz-sec-graphite { background: radial-gradient(90% 70% at 50% 0%, #17181b 0%, #0f1012 72%); }
.dz-sec-graphite::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--sheen); opacity: 0.6; pointer-events: none; }
.dz-sec-bone, .dz-light {
	--text: #141414; --text-2: #3a3835; --text-3: #67635d;
	--line: rgba(0, 0, 0, 0.1); --line-strong: rgba(0, 0, 0, 0.2);
	--red-text: #b30e29;
	--sheen: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.18) 50%, rgba(0,0,0,0) 100%);
	color: var(--text);
}
.dz-sec-bone { background: radial-gradient(70% 55% at 18% 0%, #fdfcfa 0%, rgba(253,252,250,0) 70%), radial-gradient(60% 50% at 100% 100%, #e2dfd8 0%, rgba(226,223,216,0) 70%), linear-gradient(180deg, #f3f2ee 0%, #ebe9e4 100%); }
.dz-sec-bone::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.9), rgba(255,255,255,0)); pointer-events: none; }
.dz-light { background: linear-gradient(180deg, #f6f5f2 0%, #ecebe6 100%); }
.dz-dark { --text: #f4f2ee; --text-2: #c2beb7; --text-3: #98948d; --line: rgba(255, 255, 255, 0.085); --line-strong: rgba(255, 255, 255, 0.2); --red-text: #ff5a64; color: var(--text); }
.dz-sec > .dz-wrap, .dz-sec > .dz-wrap-narrow { position: relative; z-index: 1; }

/* ---------- Type ---------- */
.dz-display { font-family: var(--dz-f-display); font-stretch: 118%; font-weight: 640; letter-spacing: -0.028em; line-height: 0.96; text-wrap: balance; }
.dz-h1 { font-size: clamp(42px, 5.4vw, 88px); }
.dz-h1-sub { font-size: clamp(36px, 4.2vw, 66px); }
.dz-h2 { font-size: clamp(30px, 3.2vw, 50px); line-height: 1.02; }
.dz-h3 { font-family: var(--dz-f-display); font-stretch: 110%; font-weight: 600; font-size: 22px; line-height: 1.22; letter-spacing: -0.01em; }
.dz-h4 { font-family: var(--dz-f-display); font-stretch: 106%; font-weight: 600; font-size: 18px; line-height: 1.3; letter-spacing: -0.005em; }
.dz-muted-title { color: var(--text-2); }
.dz-kicker { font-family: var(--dz-f-display); font-stretch: 112%; font-weight: 600; font-size: 11.5px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--red-text); display: flex; gap: 14px; align-items: center; }
.dz-kicker::before { content: ""; width: 32px; height: 1px; background: currentColor; flex: none; }
.dz-kicker.is-plain::before { display: none; }
.dz-num { color: var(--text-3); font-variant-numeric: tabular-nums; }
.dz-lead { font-size: 19.5px; line-height: 1.65; color: var(--text-2); max-width: 620px; text-wrap: pretty; }
.dz-body2 { color: var(--text-2); }
.dz-small { font-size: 14px; color: var(--text-3); line-height: 1.6; }
.dz-prose > * + * { margin-top: 1em; }
.dz-prose p { color: var(--text-2); }
.dz-price { font-family: var(--dz-f-display); font-stretch: 110%; font-weight: 600; font-size: 20px; white-space: nowrap; font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
.dz-price-lg { font-size: 32px; letter-spacing: -0.02em; }
.dz-unit { font-family: var(--dz-f-body); font-weight: 400; font-size: 14px; color: var(--text-3); font-stretch: 100%; letter-spacing: 0; }
.dz-numxl { font-family: var(--dz-f-display); font-stretch: 125%; font-weight: 700; font-size: 60px; line-height: 1; color: transparent; -webkit-text-stroke: 1px var(--red-text); letter-spacing: -0.03em; }
.dz-numxl.is-sm { font-size: 42px; }

/* ---------- Buttons ---------- */
.dz-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 56px; padding: 0 30px; border-radius: 2px; font-family: var(--dz-f-display); font-stretch: 110%; font-weight: 600; font-size: 13.5px; letter-spacing: 0.1em; text-transform: uppercase; white-space: nowrap; transition: transform .25s var(--dz-ease), box-shadow .25s var(--dz-ease), background .25s var(--dz-ease), border-color .25s var(--dz-ease), color .25s var(--dz-ease); border: 1px solid transparent; cursor: pointer; background: none; color: var(--text); text-decoration: none; }
.dz-btn--primary, .dz-btn--on-red { background: linear-gradient(180deg, #d81838 0%, #b80d2a 100%); color: #fff; box-shadow: 0 14px 36px -14px rgba(200, 16, 46, 0.75), inset 0 1px 0 rgba(255, 255, 255, 0.22); }
.dz-btn--primary:hover, .dz-btn--on-red:hover { color: #fff; transform: translateY(-1px); box-shadow: 0 20px 44px -14px rgba(200, 16, 46, 0.9), inset 0 1px 0 rgba(255, 255, 255, 0.26); }
.dz-btn--outline { border-color: rgba(255, 255, 255, 0.24); color: var(--text); background: rgba(255, 255, 255, 0.04); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.dz-btn--outline:hover { border-color: rgba(255, 255, 255, 0.6); background: rgba(255, 255, 255, 0.08); color: var(--text); }
.dz-sec-bone .dz-btn--outline, .dz-light .dz-btn--outline { border-color: rgba(0, 0, 0, 0.22); color: #141414; background: rgba(255, 255, 255, 0.55); }
.dz-sec-bone .dz-btn--outline:hover, .dz-light .dz-btn--outline:hover { border-color: #141414; background: #fff; }
.dz-btn--sm { min-height: 44px; padding: 0 22px; font-size: 12.5px; }
.dz-btn--text-link, .dz-link { display: inline-flex; align-items: center; gap: 10px; min-height: 0; padding: 0 0 7px; border: 0; border-radius: 0; box-shadow: none; font-family: var(--dz-f-display); font-stretch: 110%; font-weight: 600; font-size: 12.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text); background: linear-gradient(var(--dz-red), var(--dz-red)) left bottom / 100% 1px no-repeat; transition: background-size .35s var(--dz-ease), color .2s; }
.dz-btn--text-link:hover, .dz-link:hover { color: var(--text); background-size: 40% 1px; transform: none; }
.dz-cluster { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.dz-cluster .dz-btn--text-link { margin-left: 10px; }

/* ---------- Media / placeholders ---------- */
.dz-frame { position: relative; overflow: hidden; aspect-ratio: var(--dz-ratio, auto); background: var(--dz-anthracite); }
.dz-frame img { width: 100%; height: 100%; object-fit: cover; }
.dz-ph { position: relative; overflow: hidden; aspect-ratio: var(--dz-ratio, auto); background:
	linear-gradient(108deg, rgba(255,255,255,0) 40%, rgba(255,255,255,0.05) 45.5%, rgba(255,255,255,0.13) 47%, rgba(255,255,255,0.04) 48.5%, rgba(255,255,255,0) 54%),
	radial-gradient(55% 14% at 56% 84%, rgba(255,255,255,0.07), rgba(255,255,255,0) 70%),
	radial-gradient(65% 50% at 62% 58%, rgba(138,146,160,0.22), rgba(138,146,160,0) 72%),
	radial-gradient(140% 110% at 50% 0%, #1f2126 0%, #111215 55%, #0a0a0c 100%); }
.dz-ph::before { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 180px rgba(0, 0, 0, 0.55); pointer-events: none; }
.dz-fill { position: absolute; inset: 0; width: 100%; height: 100%; }
.dz-fill.dz-frame, .dz-fill.dz-ph { aspect-ratio: auto; }
.dz-fill img { width: 100%; height: 100%; object-fit: cover; }

/* ---------- Lists ---------- */
.dz-rhomb { width: 7px; height: 7px; background: var(--dz-red); transform: rotate(45deg); flex: none; box-shadow: 0 0 12px rgba(200, 16, 46, 0.6); }
.dz-checklist { list-style: none; display: flex; flex-direction: column; gap: 12px; color: var(--text-2); }
.dz-checklist.is-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); gap: 12px 32px; color: var(--text); font-weight: 500; }
.dz-checklist li, .dz-check { display: flex; gap: 14px; align-items: baseline; }
.dz-checklist li::before, .dz-check::before { content: ""; width: 6px; height: 6px; background: var(--dz-red); transform: rotate(45deg) translateY(-2px); flex: none; }
.dz-nope { display: flex; gap: 14px; align-items: baseline; }
.dz-nope::before { content: ""; width: 10px; height: 1px; background: var(--text-3); flex: none; transform: translateY(-4px); }
.dz-numlist { list-style: none; border-top: 1px solid var(--line); }
.dz-numlist li { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 16px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.dz-numlist li > span { color: var(--text-3); }
.dz-price-row { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; padding: 20px 0; border-bottom: 1px solid var(--line); transition: padding .3s var(--dz-ease); }
.dz-price-row:hover { padding-left: 8px; }
.dz-price-row:last-child { border-bottom: 0; }
.dz-chip { display: inline-flex; align-items: center; min-height: 42px; padding: 0 20px; border-radius: 40px; border: 1px solid var(--line-strong); font-family: var(--dz-f-display); font-stretch: 108%; font-weight: 600; font-size: 12.5px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-2); background: rgba(255,255,255,0.03); cursor: pointer; transition: all .2s var(--dz-ease); }
.dz-chip:hover { color: var(--text); border-color: var(--text-3); }
.dz-chip.is-active { background: var(--text); color: var(--dz-ink); border-color: var(--text); }
.dz-sec-bone .dz-chip.is-active { color: #fff; }

/* ---------- Cards ---------- */
.dz-card { position: relative; display: flex; flex-direction: column; gap: 18px; padding: 44px; border-radius: 3px; background: linear-gradient(180deg, rgba(255,255,255,0.045) 0%, rgba(255,255,255,0.012) 100%); border: 1px solid rgba(255,255,255,0.08); box-shadow: inset 0 1px 0 rgba(255,255,255,0.06); transition: transform .35s var(--dz-ease), border-color .3s, box-shadow .35s var(--dz-ease); color: var(--text); }
a.dz-card:hover, .dz-card.is-hover:hover { transform: translateY(-3px); border-color: rgba(255,255,255,0.16); box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 30px 60px -30px rgba(0,0,0,0.8); color: var(--text); }
.dz-card.is-pick { border-color: rgba(255, 70, 90, 0.45); background: radial-gradient(120% 80% at 0% 0%, rgba(200, 16, 46, 0.2) 0%, rgba(200, 16, 46, 0) 60%), linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.012)); box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 40px 90px -40px rgba(200, 16, 46, 0.55); }
.dz-card.is-compact { padding: 32px; gap: 12px; }
.dz-card.dz-light { background: linear-gradient(180deg, #f6f5f2 0%, #ecebe6 100%); border-color: rgba(255,255,255,0.5); box-shadow: 0 50px 100px -40px rgba(0,0,0,0.85); }
.dz-card__foot { margin-top: auto; padding-top: 24px; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; }
.dz-sec-bone .dz-card, .dz-light .dz-card { background: linear-gradient(180deg, #ffffff 0%, #fbfaf8 100%); border-color: rgba(0, 0, 0, 0.06); box-shadow: inset 0 1px 0 #ffffff, 0 1px 2px rgba(0,0,0,0.04), 0 30px 60px -34px rgba(30, 24, 20, 0.28); }
.dz-sec-bone a.dz-card:hover { border-color: rgba(0, 0, 0, 0.12); box-shadow: inset 0 1px 0 #ffffff, 0 2px 4px rgba(0,0,0,0.04), 0 40px 80px -36px rgba(30, 24, 20, 0.36); }
.dz-sec-bone .dz-card.is-pick { border-color: rgba(200, 16, 46, 0.45); background: radial-gradient(120% 80% at 0% 0%, rgba(200, 16, 46, 0.08) 0%, rgba(200, 16, 46, 0) 60%), #ffffff; box-shadow: inset 0 1px 0 #fff, 0 40px 90px -40px rgba(200, 16, 46, 0.4); }
.dz-tag { align-self: flex-start; font-family: var(--dz-f-display); font-stretch: 110%; font-weight: 600; font-size: 10.5px; letter-spacing: 0.18em; text-transform: uppercase; background: rgba(200, 16, 46, 0.14); color: #ff8a92; border: 1px solid rgba(255, 70, 90, 0.5); padding: 6px 10px; border-radius: 2px; }
.dz-sec-bone .dz-tag, .dz-light .dz-tag { background: var(--dz-red); color: #fff; border-color: var(--dz-red); }

/* ---------- Header ---------- */
.dz-header { position: sticky; top: 0; z-index: 40; border-bottom: 1px solid rgba(255,255,255,0.07); }
/* Blur on a pseudo element: backdrop-filter on the header itself would trap the fixed mobile nav. */
.dz-header::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(9, 9, 10, 0.6); -webkit-backdrop-filter: blur(18px) saturate(1.2); backdrop-filter: blur(18px) saturate(1.2); }
.admin-bar .dz-header { top: 32px; }
.dz-header__in { display: flex; align-items: center; gap: 44px; height: 84px; }
.dz-logo { font-family: var(--dz-f-display); font-stretch: 125%; font-weight: 800; font-size: 20px; letter-spacing: 0.04em; color: #fff; white-space: nowrap; text-transform: uppercase; }
.dz-logo:hover { color: #fff; }
.dz-logo { display: inline-flex; align-items: center; gap: 12px; }
.dz-logo__text span { color: var(--dz-red); }
.dz-logo__badge { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; box-shadow: 0 0 0 1px rgba(255,255,255,0.12); }
.dz-footer .dz-logo__badge { width: 64px; height: 64px; }
.dz-logo__img { max-height: 40px; width: auto; }
.dz-nav { flex: 1; }
.dz-nav__list { list-style: none; display: flex; gap: 34px; align-items: center; }
.dz-nav__list a { display: inline-flex; white-space: nowrap; padding: 8px 0; font-family: var(--dz-f-display); font-stretch: 108%; font-weight: 600; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-3); background: linear-gradient(var(--dz-red), var(--dz-red)) left bottom / 0 1px no-repeat; transition: color .2s, background-size .35s var(--dz-ease); }
.dz-nav__list a:hover, .dz-nav__list .current-menu-item > a, .dz-nav__list .current-page-ancestor > a, .dz-nav__list .current_page_parent > a { color: var(--text); background-size: 100% 1px; }
.dz-header__phone { font-family: var(--dz-f-display); font-stretch: 108%; font-weight: 600; font-size: 13.5px; letter-spacing: 0.06em; color: var(--text); white-space: nowrap; font-variant-numeric: tabular-nums; }
.dz-nav-toggle, .dz-header__call { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; border-radius: 2px; }
.dz-nav-toggle { border: 1px solid var(--line-strong); background: transparent; color: var(--text); cursor: pointer; }
.dz-header__call { background: var(--dz-red); color: #fff; }
.dz-header__call:hover { color: #fff; }

/* ---------- Landing chrome ---------- */
.dz-lptop { position: sticky; top: 0; z-index: 40; background: rgba(9, 9, 10, 0.5); -webkit-backdrop-filter: blur(18px) saturate(1.2); backdrop-filter: blur(18px) saturate(1.2); border-bottom: 1px solid rgba(255, 255, 255, 0.07); }
.admin-bar .dz-lptop { top: 32px; }
.dz-lptop__in { display: flex; align-items: center; justify-content: space-between; gap: 24px; height: 76px; }
.dz-lptop__meta { display: flex; align-items: center; gap: 28px; }
.dz-lptop__hours { font-size: 13px; color: var(--text-3); }
.dz-lpfoot { border-top: 1px solid var(--line); padding: 36px 0 132px; font-size: 13px; color: var(--text-3); background: var(--dz-ink); }
.dz-lpfoot__in { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px; }
.dz-lpfoot nav { display: flex; flex-wrap: wrap; gap: 24px; }
.dz-lpsticky { position: fixed; left: 50%; bottom: 26px; transform: translateX(-50%); z-index: 60; display: flex; align-items: center; gap: 6px; padding: 6px 6px 6px 24px; background: rgba(17, 18, 20, 0.8); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 60px; box-shadow: 0 30px 70px -24px rgba(0, 0, 0, 0.95), inset 0 1px 0 rgba(255,255,255,0.08); white-space: nowrap; }
.dz-lpsticky__t { font-size: 13px; color: #c2beb7; margin-right: 16px; }
.dz-lpsticky__t b { color: #f4f2ee; font-weight: 600; }
.dz-lpsticky .dz-btn { min-height: 46px; border-radius: 40px; padding: 0 22px; font-size: 12px; }
.dz-lpsticky .dz-btn--outline { color: #f4f2ee; border-color: rgba(255,255,255,0.24); background: rgba(255,255,255,0.04); }

/* ---------- Footer ---------- */
.dz-footer { background: #08080a; border-top: 1px solid rgba(255,255,255,0.11); padding: 96px 0 40px; font-size: 15px; line-height: 1.7; }
.dz-footer__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 56px; }
.dz-footer__col { display: flex; flex-direction: column; gap: 10px; }
.dz-footer__col .dz-kicker { margin-bottom: 8px; }
.dz-footer__list { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.dz-footer__hours { display: flex; justify-content: space-between; gap: 16px; max-width: 260px; }
.dz-footer__hours span:first-child { color: var(--text-3); }
.dz-footer__social { display: flex; gap: 10px; }
.dz-footer__social a { width: 44px; height: 44px; border: 1px solid rgba(255,255,255,0.22); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.dz-footer__social a:hover { border-color: var(--dz-red); }
.dz-footer__bottom { margin-top: 80px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,0.11); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; font-size: 13px; color: var(--text-3); }
.dz-footer__bottom ul { list-style: none; display: flex; flex-wrap: wrap; gap: 24px; }

/* ---------- Mobile bottom bar ---------- */
.dz-mbar { display: none; position: fixed; left: 10px; right: 10px; bottom: 10px; z-index: 50; background: rgba(17, 18, 20, 0.86); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); border: 1px solid rgba(255,255,255,0.1); border-radius: 4px; padding: 6px; gap: 6px; box-shadow: 0 20px 50px -20px rgba(0,0,0,0.9); }
.dz-mbar a, .dz-mbar button { flex: 1; min-height: 50px; display: flex; align-items: center; justify-content: center; gap: 8px; border-radius: 2px; border: 0; background: transparent; font-family: var(--dz-f-display); font-stretch: 108%; font-weight: 600; font-size: 12.5px; letter-spacing: 0.08em; text-transform: uppercase; color: #f4f2ee; cursor: pointer; }
.dz-mbar .is-primary { background: linear-gradient(180deg, #d81838, #b80d2a); color: #fff; flex: 1.3; }

/* ---------- Hero ---------- */
.dz-hero { position: relative; min-height: 960px; display: flex; align-items: flex-end; overflow: hidden; background: var(--dz-ink); }
.dz-hero--sub { min-height: 920px; }
.dz-hero__media { position: absolute; inset: 0; }
.dz-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.dz-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9, 9, 10, 0.9) 0%, rgba(9, 9, 10, 0.5) 45%, rgba(9, 9, 10, 0.05) 100%), linear-gradient(0deg, rgba(9, 9, 10, 1) 0%, rgba(9, 9, 10, 0) 45%); pointer-events: none; }
.dz-hero__in { position: relative; z-index: 1; width: 100%; padding-top: 200px; padding-bottom: 88px; }
.dz-hero--home .dz-hero__in { padding-bottom: 0; }
.dz-hero__row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 56px; }
.dz-hero__copy { max-width: 940px; display: flex; flex-direction: column; gap: 30px; }
.dz-hero__copy .dz-lead { color: #d6d2cb; }
.dz-hero__micro { color: #b3afa8; }
.dz-hero__prices { min-width: 320px; padding: 32px; gap: 14px; background: rgba(17,18,20,0.72) !important; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.dz-hero__prices .dz-price-row { padding: 12px 0; }
.dz-sweep { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(104deg, rgba(255,255,255,0) 42%, rgba(255,255,255,0.075) 50%, rgba(255,255,255,0) 58%); background-size: 260% 100%; animation: dz-sweep 11s var(--dz-ease) infinite; }
@keyframes dz-sweep { 0% { background-position: 130% 0; } 55%, 100% { background-position: -30% 0; } }
.dz-vtext { position: absolute; right: 28px; top: 50%; transform: translateY(-50%) rotate(180deg); writing-mode: vertical-rl; font-family: var(--dz-f-display); font-stretch: 112%; font-weight: 600; font-size: 10.5px; letter-spacing: 0.32em; text-transform: uppercase; color: rgba(255, 255, 255, 0.35); z-index: 1; }
.dz-trust { list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); margin-top: 96px; border-top: 1px solid transparent; border-image: var(--sheen) 1; border-image-slice: 1 0 0 0; }
.dz-trust li { padding: 28px 24px 34px 0; display: flex; gap: 14px; align-items: center; font-family: var(--dz-f-display); font-stretch: 106%; font-weight: 560; font-size: 14px; }
.dz-trust li + li { padding-left: 28px; border-left: 1px solid var(--line); }
.dz-ghost { position: absolute; pointer-events: none; user-select: none; font-family: var(--dz-f-display); font-stretch: 125%; font-weight: 800; font-size: clamp(140px, 21vw, 340px); line-height: 0.78; letter-spacing: -0.05em; color: transparent; -webkit-text-stroke: 1px rgba(255, 255, 255, 0.07); white-space: nowrap; z-index: 0; right: -3%; top: 56px; }
.dz-ghost.is-bottom { top: auto; bottom: -30px; left: -2%; right: auto; }
.dz-sec-bone .dz-ghost { -webkit-text-stroke-color: rgba(0, 0, 0, 0.07); }

/* ---------- Page intro ---------- */
.dz-intro { padding: 168px 0 104px; }

/* ---------- Proof ---------- */
.dz-proof { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid var(--line); }
.dz-proof > div { padding: 40px 32px 44px; display: flex; flex-direction: column; gap: 10px; }
.dz-proof > div + div { border-left: 1px solid var(--line); }
.dz-proof__v { font-family: var(--dz-f-display); font-stretch: 120%; font-weight: 620; font-size: 40px; line-height: 1; letter-spacing: -0.03em; }
.dz-proof__v small { font-size: 16px; letter-spacing: 0.02em; color: var(--text-3); margin-left: 6px; font-weight: 500; }

/* ---------- Service tiles + rows ---------- */
.dz-tile { position: relative; display: flex; align-items: flex-end; overflow: hidden; border-radius: 2px; isolation: isolate; min-height: 680px; color: var(--text); }
.dz-tile.is-sm { min-height: 460px; }
.dz-tile:hover { color: var(--text); }
.dz-tile > .dz-fill { transition: transform 1.2s var(--dz-ease); }
.dz-tile:hover > .dz-fill { transform: scale(1.04); }
.dz-tile::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,0.08); pointer-events: none; transition: border-color .3s; }
.dz-tile:hover::after { border-color: rgba(255,255,255,0.22); }
.dz-tile__shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8, 8, 10, 0.96) 0%, rgba(8, 8, 10, 0.55) 40%, rgba(8, 8, 10, 0) 72%); pointer-events: none; }
.dz-tile__body { position: relative; z-index: 1; padding: 44px; display: flex; flex-direction: column; gap: 14px; width: 100%; }
.dz-tile__foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; margin-top: 10px; padding-top: 20px; border-top: 1px solid var(--line-strong); }
.dz-srows { margin-top: 24px; border-top: 1px solid var(--line); }
.dz-srow { display: grid; grid-template-columns: 64px minmax(0, 1fr) 200px 220px 24px; gap: 32px; align-items: center; padding: 30px 0; border-bottom: 1px solid var(--line); transition: padding .4s var(--dz-ease), background .3s; color: var(--text); }
.dz-srow:hover { padding-left: 16px; background: linear-gradient(90deg, rgba(255,255,255,0.03), rgba(255,255,255,0)); color: var(--text); }
.dz-srow:hover .dz-h3 { color: #fff; }
.dz-srow__num { font-family: var(--dz-f-display); font-stretch: 112%; font-weight: 600; color: var(--text-3); }
.dz-srow__img { height: 128px; }
.dz-srow__arr { color: var(--text-3); transition: transform .3s var(--dz-ease); }
.dz-srow:hover .dz-srow__arr { transform: translateX(6px); color: var(--red-text); }

/* ---------- Finder ---------- */
.dz-finder { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr)); gap: 18px; }
.dz-finder .dz-card { min-height: 230px; gap: 14px; }
.dz-finder .dz-card:hover .dz-h3 { color: var(--red-text); }
.dz-finder__go { margin-top: auto; display: flex; justify-content: space-between; align-items: center; padding-top: 18px; border-top: 1px solid var(--line); }

/* ---------- Steps ---------- */
.dz-steps { list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 0; }
.dz-steps li { position: relative; padding: 40px 32px 0 0; display: flex; flex-direction: column; gap: 14px; border-top: 1px solid var(--line-strong); }
.dz-steps li::before { content: ""; position: absolute; top: -5px; left: 0; width: 9px; height: 9px; background: var(--dz-red); transform: rotate(45deg); }
.dz-steps p { color: var(--text-2); }
.dz-steps.is-compact li { padding-top: 28px; }

/* ---------- Gallery ---------- */
.dz-gal { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-rows: 300px; gap: 18px; }
.dz-gal figure { margin: 0; position: relative; overflow: hidden; isolation: isolate; }
.dz-gal figure > .dz-fill { transition: transform 1.2s var(--dz-ease); }
.dz-gal figure:hover > .dz-fill { transform: scale(1.04); }
.dz-gal figcaption { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; padding: 64px 28px 24px; background: linear-gradient(0deg, rgba(8, 8, 10, 0.9), rgba(8, 8, 10, 0)); display: flex; justify-content: space-between; align-items: baseline; gap: 16px; color: #f4f2ee; }
.dz-gal figcaption .dz-small { color: #c2beb7; }
.dz-gal .is-big { grid-column: span 7; grid-row: span 2; }
.dz-gal .is-w5 { grid-column: span 5; }
.dz-gal .is-w4 { grid-column: span 4; }
.dz-gal .is-w7 { grid-column: span 7; }
.dz-gal button.dz-gal__open { position: absolute; inset: 0; z-index: 2; border: 0; background: transparent; cursor: zoom-in; }
.dz-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.dz-strip figure { margin: 0; position: relative; aspect-ratio: 4 / 5; overflow: hidden; }
.dz-strip figcaption { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; padding: 48px 20px 18px; background: linear-gradient(0deg, rgba(8,8,10,0.9), rgba(8,8,10,0)); color: #f4f2ee; }
.dz-ba { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; }
.dz-ba__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(560px, 100%), 1fr)); gap: 24px; }
.dz-ba__item { margin: 0; display: flex; flex-direction: column; gap: 16px; }
.dz-ba__item figcaption { display: flex; justify-content: space-between; gap: 16px; }
.dz-lightbox { position: fixed; inset: 0; z-index: 90; background: rgba(5,5,6,0.95); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); display: flex; flex-direction: column; gap: 20px; padding: 32px 56px; }
.dz-lightbox__img { flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; }
.dz-lightbox__img img { max-height: 100%; width: auto; object-fit: contain; }
.dz-lightbox__bar { display: flex; justify-content: space-between; align-items: center; gap: 16px; }

/* ---------- Ladder ---------- */
.dz-ladder { border-top: 1px solid var(--line-strong); }
.dz-ladder__row { display: grid; grid-template-columns: 220px minmax(0, 1fr) 150px; gap: 40px; align-items: center; padding: 26px 0; border-bottom: 1px solid var(--line); }
.dz-ladder__row.is-pick { background: linear-gradient(90deg, rgba(200,16,46,0.1), rgba(200,16,46,0)); margin: 0 -28px; padding-left: 28px; padding-right: 28px; }
.dz-ladder__row .dz-price { text-align: right; }
.dz-ladder__bar { height: 2px; background: rgba(255,255,255,0.08); position: relative; }
.dz-ladder__bar span { position: absolute; left: 0; top: 0; bottom: 0; background: linear-gradient(90deg, rgba(244,242,238,0.25), rgba(244,242,238,0.75)); }
.dz-ladder__bar span::after { content: ""; position: absolute; right: -4px; top: -3px; width: 8px; height: 8px; background: var(--text); transform: rotate(45deg); }
.dz-ladder__row.is-pick .dz-ladder__bar span { background: linear-gradient(90deg, rgba(200,16,46,0.3), #ff3048); box-shadow: 0 0 18px rgba(255, 48, 72, 0.55); }
.dz-ladder__row.is-pick .dz-ladder__bar span::after { background: #ff3048; box-shadow: 0 0 14px rgba(255, 48, 72, 0.9); }
.dz-sec-bone .dz-ladder__bar { background: rgba(0, 0, 0, 0.08); }
.dz-sec-bone .dz-ladder__bar span { background: linear-gradient(90deg, rgba(20,20,20,0.25), rgba(20,20,20,0.75)); }

/* ---------- Compare ---------- */
.dz-cmp-wrap { overflow-x: auto; border-top: 1px solid var(--line-strong); }
.dz-sec-bone .dz-cmp-wrap { background: #fff; padding: 0 8px; box-shadow: 0 30px 60px -36px rgba(30,24,20,0.28); border-top: 0; }
.dz-cmp { width: 100%; min-width: 760px; border-collapse: collapse; font-size: 15.5px; }
.dz-cmp th, .dz-cmp td { text-align: left; padding: 22px 24px; border-bottom: 1px solid var(--line); vertical-align: top; }
.dz-cmp thead th { font-family: var(--dz-f-display); font-stretch: 110%; font-weight: 600; font-size: 17px; letter-spacing: -0.01em; padding-top: 28px; padding-bottom: 24px; }
.dz-cmp tbody th { font-weight: 500; color: var(--text-3); font-size: 14px; width: 22%; }
.dz-cmp td { color: var(--text-2); }
.dz-cmp .is-hl { background: linear-gradient(180deg, rgba(200, 16, 46, 0.12), rgba(200, 16, 46, 0.05)); color: var(--text); }
.dz-sec-bone .dz-cmp .is-hl { background: linear-gradient(180deg, rgba(200, 16, 46, 0.07), rgba(200, 16, 46, 0.02)); }
.dz-cmp thead .is-hl { box-shadow: inset 0 2px 0 var(--dz-red); }

/* ---------- Fit ---------- */
.dz-fit { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 2px solid var(--text); }
.dz-fit > div { padding: 40px 48px 8px 0; display: flex; flex-direction: column; gap: 18px; }
.dz-fit > div + div { padding-left: 48px; border-left: 1px solid var(--line); }
.dz-fit ul { list-style: none; display: flex; flex-direction: column; gap: 14px; color: var(--text-2); }

/* ---------- Band ---------- */
.dz-band { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 32px; padding: 44px 52px; border: 1px solid rgba(255, 255, 255, 0.1); background: linear-gradient(100deg, rgba(200, 16, 46, 0.16) 0%, rgba(200, 16, 46, 0) 55%), rgba(255, 255, 255, 0.02); box-shadow: inset 0 1px 0 rgba(255,255,255,0.06); }
.dz-band__copy { display: flex; flex-direction: column; gap: 6px; }
.dz-sec-bone .dz-band { background: linear-gradient(100deg, rgba(200, 16, 46, 0.08) 0%, rgba(200, 16, 46, 0) 55%), #ffffff; border-color: rgba(0,0,0,0.06); box-shadow: 0 30px 60px -36px rgba(30,24,20,0.28); }

/* ---------- Stat box (big number) ---------- */
.dz-stat { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 56px; align-items: center; padding: 56px; }
.dz-stat__v { font-family: var(--dz-f-display); font-stretch: 125%; font-weight: 700; font-size: 96px; line-height: 0.85; letter-spacing: -0.03em; color: transparent; -webkit-text-stroke: 1px var(--red-text); }
.dz-stat__v small { display: block; font-size: 15px; letter-spacing: 0.24em; color: var(--text-2); -webkit-text-stroke: 0; margin-top: 14px; }
.dz-stat.is-xl .dz-stat__v { font-size: clamp(110px, 12vw, 180px); -webkit-text-stroke-width: 1.5px; }
.dz-stat.is-plain { padding: 0; grid-template-columns: auto minmax(0, 1fr); gap: 88px; }

/* ---------- Location ---------- */
.dz-loc { display: flex; flex-direction: column; gap: 14px; padding: 32px; border: 1px solid var(--line); background: rgba(255,255,255,0.02); max-width: 480px; }
.dz-sec-bone .dz-loc { background: rgba(255, 255, 255, 0.7); border-color: rgba(0,0,0,0.08); }

/* ---------- Closing ---------- */
.dz-closing { padding: 176px 0; }
.dz-closing__media { position: absolute; inset: 0; }
.dz-closing__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,9,10,0.95) 0%, rgba(9,9,10,0.82) 55%, rgba(9,9,10,0.55) 100%); }

/* ---------- FAQ ---------- */
.dz-faq-list { border-top: 1px solid var(--line); }
.dz-faq-list details { border-bottom: 1px solid var(--line); }
.dz-faq-list summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 28px 0; font-family: var(--dz-f-display); font-stretch: 106%; font-weight: 560; font-size: 20px; line-height: 1.35; letter-spacing: -0.01em; transition: color .2s; }
.dz-faq-list summary:hover { color: var(--red-text); }
.dz-faq-list summary::-webkit-details-marker { display: none; }
.dz-faq-list summary::after { content: ""; flex: none; width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--line-strong); background: linear-gradient(var(--text), var(--text)) center / 12px 1px no-repeat, linear-gradient(var(--text), var(--text)) center / 1px 12px no-repeat; transition: transform .3s var(--dz-ease), border-color .2s; }
.dz-faq-list details[open] summary::after { transform: rotate(45deg); border-color: var(--dz-red); }
.dz-faq-list .dz-prose { padding: 0 72px 30px 0; max-width: 760px; }

/* ---------- Forms ---------- */
.dz-form { display: flex; flex-direction: column; gap: 18px; }
.dz-form__title { display: flex; flex-direction: column; gap: 6px; }
.dz-form label { display: flex; flex-direction: column; gap: 8px; font-size: 12.5px; font-weight: 500; letter-spacing: 0.02em; color: var(--text-2); }
.dz-form input[type=text], .dz-form input[type=tel], .dz-form input[type=email], .dz-form select, .dz-form textarea { font: inherit; font-size: 16px; letter-spacing: 0; color: var(--text); background: rgba(255,255,255,0.035); border: 1px solid rgba(255,255,255,0.14); border-radius: 2px; min-height: 54px; padding: 12px 16px; transition: border-color .2s, background .2s; width: 100%; }
.dz-form textarea { min-height: 96px; resize: vertical; }
.dz-form input:focus, .dz-form select:focus, .dz-form textarea:focus { outline: none; border-color: rgba(255, 90, 100, 0.8); }
.dz-sec-bone .dz-form input[type=text], .dz-sec-bone .dz-form input[type=tel], .dz-sec-bone .dz-form select, .dz-sec-bone .dz-form textarea,
.dz-light .dz-form input[type=text], .dz-light .dz-form input[type=tel], .dz-light .dz-form select, .dz-light .dz-form textarea { background: #fff; color: #141414; border-color: rgba(0, 0, 0, 0.14); }
.dz-form .dz-form__check { flex-direction: row; align-items: flex-start; gap: 12px; font-size: 13px; color: var(--text-3); line-height: 1.5; letter-spacing: 0; }
.dz-form__check input { width: 20px; height: 20px; margin: 0; accent-color: var(--dz-red); flex: none; }
.dz-form__check a { color: var(--text-2); text-decoration: underline; text-underline-offset: 3px; }
.dz-form__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 16px; }
.dz-form .dz-btn { width: 100%; }
.dz-form__error { padding: 12px 16px; border-left: 2px solid var(--dz-red); background: rgba(200,16,46,0.08); color: var(--text); font-size: 14px; }
.dz-form__thanks { padding: 28px; border-left: 2px solid var(--dz-red); background: rgba(200,16,46,0.06); font-size: 17px; line-height: 1.6; }
.dz-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Contact page ---------- */
.dz-callcard { display: flex; flex-direction: column; gap: 12px; padding: 40px; border-radius: 3px; background: radial-gradient(120% 120% at 100% 0%, #e0233f 0%, #b40d29 55%, #8f0a20 100%); box-shadow: 0 40px 90px -40px rgba(200,16,46,0.8), inset 0 1px 0 rgba(255,255,255,0.22); color: #fff; }
.dz-callcard:hover { color: #fff; }
.dz-callcard__k { font-family: var(--dz-f-display); font-stretch: 112%; font-weight: 600; font-size: 11.5px; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(255,255,255,0.85); }
.dz-crow { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 24px; padding: 22px 0; border-bottom: 1px solid var(--line); align-items: baseline; }
.dz-crows { border-top: 1px solid var(--line-strong); }

/* ---------- Map ---------- */
.dz-map { position: relative; aspect-ratio: var(--dz-ratio, 21 / 9); overflow: hidden; display: flex; align-items: center; justify-content: center; }
.dz-map > .dz-fill { z-index: 0; }
.dz-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; z-index: 2; }
.dz-map__ui { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; padding: 24px; }

/* ---------- Breadcrumb ---------- */
.dz-crumb { font-size: 13px; color: var(--text-3); display: flex; gap: 10px; align-items: center; }

/* ---------- Modal ---------- */
.dz-modal { position: fixed; inset: 0; z-index: 100; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(5, 5, 6, 0.75); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.dz-modal__panel { position: relative; width: 100%; max-width: 520px; max-height: calc(100vh - 40px); overflow: auto; padding: 44px; }
.dz-modal__close { position: absolute; right: 16px; top: 16px; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line-strong); background: transparent; color: var(--text); cursor: pointer; display: flex; align-items: center; justify-content: center; }
body.dz-modal-open { overflow: hidden; }

/* ---------- Mobile nav panel ---------- */
@media (max-width: 1100px) {
	.dz-nav { position: fixed; inset: 84px 0 0 0; z-index: 39; background: rgba(9, 9, 10, 0.98); padding: 40px 20px; transform: translateX(100%); visibility: hidden; transition: transform .35s var(--dz-ease), visibility .35s; }
	body.dz-nav-open .dz-nav { transform: none; visibility: visible; }
	body.dz-nav-open { overflow: hidden; }
	.dz-nav__list { flex-direction: column; align-items: flex-start; gap: 18px; }
	.dz-nav__list a { font-size: 22px; letter-spacing: 0.06em; }
	.dz-header__phone, .dz-header__cta { display: none !important; }
	.dz-nav-toggle, .dz-header__call { display: inline-flex; }
	.dz-header__in { gap: 12px; justify-content: space-between; }
	.dz-header__tools { display: flex; gap: 8px; }
	.dz-split, .dz-split-r { grid-template-columns: minmax(0, 1fr); gap: 56px; }
	.dz-srow { grid-template-columns: 48px minmax(0, 1fr) auto; }
	.dz-srow__img, .dz-srow__arr { display: none; }
	.dz-lptop__hours { display: none; }
	.dz-proof { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dz-proof > div:nth-child(3) { border-left: 0; }
	.dz-proof > div:nth-child(n+3) { border-top: 1px solid var(--line); }
}
@media (max-width: 782px) {
	.admin-bar .dz-header, .admin-bar .dz-lptop { top: 46px; }
}
@media (max-width: 760px) {
	body { font-size: 16px; padding-bottom: 84px; }
	.dz-wrap, .dz-wrap-narrow { padding: 0 20px; }
	.dz-sec { padding: 88px 0; }
	.dz-sec-tight { padding-top: 64px; padding-bottom: 64px; }
	.dz-sec-flush { padding-top: 0; padding-bottom: 0; }
	.dz-header__in { height: 68px; }
	.dz-nav { top: 68px; }
	.dz-logo { font-size: 17px; }
	.dz-hero, .dz-hero--sub { min-height: 760px; }
	.dz-hero__in { padding-top: 120px; padding-bottom: 56px; }
	.dz-hero__prices { min-width: 0; width: 100%; }
	.dz-h1 { font-size: 40px; }
	.dz-h1-sub { font-size: 34px; }
	.dz-h2 { font-size: 30px; }
	.dz-trust { margin-top: 48px; }
	.dz-trust li, .dz-trust li + li { padding: 16px 0; border-left: 0; border-top: 1px solid var(--line); }
	.dz-trust li:first-child { border-top: 0; }
	.dz-lead { font-size: 17px; }
	.dz-g12 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dz-g12 > * { grid-column: span 2 !important; grid-row: auto !important; }
	.dz-tile { min-height: 460px; }
	.dz-tile__body { padding: 26px; }
	.dz-mbar { display: flex; }
	.dz-cluster { flex-direction: column; align-items: stretch; }
	.dz-cluster .dz-btn { width: 100%; }
	.dz-cluster .dz-btn--text-link { margin-left: 0; align-self: flex-start; }
	.dz-faq-list summary { font-size: 18px; }
	.dz-faq-list .dz-prose { padding-right: 0; }
	.dz-srow { grid-template-columns: minmax(0, 1fr); gap: 10px; }
	.dz-srow__num { display: none; }
	.dz-gal { grid-auto-rows: 240px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dz-gal figure { grid-column: span 2 !important; grid-row: auto !important; }
	.dz-ladder__row { grid-template-columns: minmax(0, 1fr) auto; gap: 12px 16px; }
	.dz-ladder__row .dz-ladder__bar { grid-column: 1 / -1; grid-row: 2; }
	.dz-card { padding: 28px; }
	.dz-ba { grid-template-columns: minmax(0, 1fr); }
	.dz-numxl { font-size: 56px; }
	.dz-lpsticky { display: none; }
	.dz-lptop__in { height: 64px; }
	.dz-lptop .dz-btn { display: none; }
	.dz-lpfoot { padding-bottom: 110px; }
	.dz-proof > div { padding: 28px 18px 30px; }
	.dz-proof__v { font-size: 34px; }
	.dz-band { padding: 28px 24px; }
	.dz-band .dz-cluster { width: 100%; }
	.dz-fit { grid-template-columns: minmax(0, 1fr); }
	.dz-fit > div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); margin-top: 32px; }
	.dz-strip { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 72%; overflow-x: auto; scroll-snap-type: x mandatory; }
	.dz-strip figure { scroll-snap-align: start; }
	.dz-ghost, .dz-ghost.is-bottom { font-size: min(120px, calc((100vw - 32px) / var(--n, 4) / var(--dz-gw, 0.9))); left: 16px; right: auto; }
	.dz-sec.has-ghost { padding-top: 148px; }
	.dz-sec.has-ghost > .dz-ghost:not(.is-bottom) { top: 36px; }
	.dz-vtext { display: none; }
	.dz-stat, .dz-stat.is-plain { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 32px 24px; }
	.dz-crow { grid-template-columns: minmax(0, 1fr); gap: 6px; }
	.dz-closing { padding: 104px 0; }
	.dz-modal__panel { padding: 32px 24px; }
	.dz-lightbox { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* ---------- Editor preview ---------- */
.editor-styles-wrapper .dz-sec, .editor-styles-wrapper .dz-hero { margin: 0; }
.editor-styles-wrapper .dz-header, .editor-styles-wrapper .dz-lptop { position: relative; }
.dz-preview-empty { padding: 24px; border: 1px dashed #999; color: #666; font: 14px/1.4 sans-serif; background: #fafafa; }

/* ---- 2.0 states (JS) ---- */
.dz-lpsticky, .dz-mbar { transition: opacity .25s ease, transform .25s ease, visibility .25s; }
.dz-lpsticky.is-off { opacity: 0; visibility: hidden; transform: translate(-50%, 16px); pointer-events: none; }
.dz-mbar.is-off { opacity: 0; visibility: hidden; transform: translateY(16px); pointer-events: none; }
.dz-form__thanks .dz-h3 { margin-bottom: 8px; }
.dz-form__thanks:focus { outline: none; }
.dz-form button[aria-busy="true"] { opacity: .7; cursor: progress; }
.dz-gal figure[hidden] { display: none !important; }
@media (min-width: 761px) { .dz-gal.is-filtered figure { grid-column: span 4 !important; grid-row: auto !important; } }
.dz-gal__open { position: absolute; inset: 0; z-index: 3; background: transparent; border: 0; cursor: zoom-in; }
.dz-gal__open:focus-visible { outline: 2px solid var(--dz-red); outline-offset: -4px; }
.dz-map.is-live .dz-map__ui, .dz-map.is-live > .dz-fill { display: none; }
@media (prefers-reduced-motion: reduce) { .dz-lpsticky, .dz-mbar { transition: none; } }

.dz-tile h3.dz-display { font-size: clamp(26px, 2.4vw, 36px) !important; hyphens: manual; }
.dz-tile.is-sm h3.dz-display { font-size: clamp(26px, 2.2vw, 32px) !important; }
.dz-hero__copy { flex: 1 1 520px; max-width: 800px; min-width: 0; }
.dz-hero__prices { flex: 0 0 340px; }
.dz-hero .dz-checklist.is-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 680px; }
.dz-head.dz-split { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 80px; }
.dz-lpfoot ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 24px; }
@media (max-width: 760px) {
	.dz-hero .dz-checklist.is-grid { grid-template-columns: 1fr; }
	.dz-hero__prices { flex-basis: 100%; }
	.dz-price-lg { font-size: 26px; }
	.dz-head.dz-split { grid-template-columns: 1fr; gap: 24px; }
}
@media (min-width: 761px) { .dz-intro .dz-split { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 80px; } }
.dz-legal h2, .dz-legal h3 { font-family: var(--dz-f-display); font-stretch: 112%; margin: 1.6em 0 .5em; }
.dz-legal a { color: var(--text); border-bottom: 1px solid var(--dz-red); }
/* Hero height: fit the screen under the header, never a fixed 900+px block with an empty top. */
.dz-hero { min-height: clamp(620px, calc(100svh - 84px), 940px); align-items: center; }
.dz-hero--sub { min-height: 0; }
.dz-hero__in { padding-top: 96px; padding-bottom: 72px; }
.dz-hero--home .dz-hero__in { padding-top: 72px; padding-bottom: 0; align-self: flex-end; }
.dz-hero--home .dz-trust { margin-top: 72px; }
@media (max-width: 760px) {
	.dz-hero { min-height: 0; }
	.dz-hero__in { padding-top: 64px; padding-bottom: 48px; }
	.dz-hero--home .dz-hero__in { padding-top: 56px; }
	.dz-hero--home .dz-trust { margin-top: 40px; }
}
.dz-hero--sub .dz-h1 { font-size: clamp(40px, 4.6vw, 76px); }
@media (max-width: 760px) { .dz-hero--sub .dz-h1 { font-size: 38px; } }
/* Photo tiles: landscape-friendly height so wide car photos are not cropped into a tall slice. */
.dz-tile { min-height: clamp(440px, 36vw, 580px); }
.dz-tile.is-sm { min-height: clamp(340px, 26vw, 420px); }
.dz-tile:hover > .dz-fill, .dz-gal figure:hover > .dz-fill { transform: scale(1.015); }
.dz-fill img, .dz-frame img { object-position: var(--dz-focus, 50% 50%); }
@media (max-width: 760px) { .dz-tile { min-height: 0; aspect-ratio: 4 / 5; } .dz-tile.is-sm { aspect-ratio: 4 / 3.6; } }

/* ===== 2.1 landing toolkit ===== */
/* Size play and accent letter inside titles: [[szó]] and {{b}} */
.dz-tbig { font-size: 1.24em; letter-spacing: -0.04em; }
.dz-tred { color: #e3173a; }
.dz-sec-bone .dz-tred, .dz-light .dz-tred { color: var(--red-text); }
/* Upside-down heading */
.dz-flip { display: inline-block; transform: rotate(180deg); }
/* Signal band: deliberately off-palette so it stops the scroll */
.dz-band.is-signal { background: #e9ff3b; border-color: #e9ff3b; color: #0b0b0c; box-shadow: 0 30px 80px -40px rgba(233, 255, 59, 0.55); --text: #0b0b0c; --text-2: #26281c; --text-3: #3c3f2a; }
.dz-band.is-signal .dz-h3, .dz-band.is-signal .dz-body2 { color: #0b0b0c; }
.dz-band.is-signal .dz-btn--primary { background: #0b0b0c; color: #e9ff3b; box-shadow: none; }
.dz-band.is-signal .dz-btn--primary:hover { background: #000; color: #fff; }
.dz-band.is-signal .dz-btn--outline { border-color: #0b0b0c; color: #0b0b0c; background: transparent; }
.dz-band.is-signal .dz-btn--nope { color: #2e3020; }
/* Demotivating button: looks like an afterthought on purpose */
.dz-btn--nope { min-height: 0; padding: 4px 2px; border: 0; background: none; box-shadow: none; font-family: var(--dz-f-body); font-stretch: 100%; font-size: 14px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--text-3); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.dz-btn--nope:hover { color: var(--text-2); transform: none; }
/* Red buttons on landings: secondary buttons get a red outline too */
.dz-template-landing .dz-btn--outline { border-color: rgba(227, 23, 58, 0.75); color: var(--text); background: rgba(200, 16, 46, 0.08); }
.dz-template-landing .dz-btn--outline:hover { border-color: #e3173a; background: linear-gradient(180deg, #d81838 0%, #b80d2a 100%); color: #fff; }
.dz-template-landing .dz-sec-bone .dz-btn--outline, .dz-template-landing .dz-light .dz-btn--outline { border-color: var(--red-text); color: var(--red-text); background: rgba(255, 255, 255, 0.6); }
.dz-template-landing .dz-sec-bone .dz-btn--outline:hover, .dz-template-landing .dz-light .dz-btn--outline:hover { background: var(--red-text); color: #fff; }
.dz-template-landing .dz-btn--text-link { color: #ff5a72; }
.dz-template-landing .dz-sec-bone .dz-btn--text-link { color: var(--red-text); }
/* Motion: 0.4 s fade + rise, and blur to sharp. Nothing else. */
.dz-rv { opacity: 0; transform: translateY(18px); transition: opacity .4s ease, transform .4s ease; }
.dz-rv.is-in { opacity: 1; transform: none; }
.dz-sharpen { overflow: hidden; }
.dz-sharpen > * { transition: filter .4s ease, transform .4s ease; }
.dz-sharpen.is-blur > * { filter: blur(16px); transform: scale(1.04); }
@media (prefers-reduced-motion: reduce) {
	.dz-rv, .dz-sharpen > * { transition: none; }
	.dz-rv { opacity: 1; transform: none; }
	.dz-sharpen.is-blur > * { filter: none; transform: none; }
}
/* Welcome back */
.dz-hello { position: fixed; z-index: 70; top: 96px; right: 24px; width: min(380px, calc(100vw - 32px)); padding: 22px 24px; display: flex; flex-direction: column; gap: 12px; border-radius: 3px; background: rgba(17, 18, 20, 0.94); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); border: 1px solid rgba(255, 255, 255, 0.12); box-shadow: 0 40px 80px -30px rgba(0, 0, 0, 0.9); color: #f4f2ee; opacity: 0; transform: translateY(-12px); transition: opacity .4s ease, transform .4s ease; }
.dz-hello.is-in { opacity: 1; transform: none; }
.dz-hello__t { font-family: var(--dz-f-display); font-stretch: 110%; font-weight: 600; font-size: 18px; line-height: 1.25; padding-right: 28px; }
.dz-hello p { margin: 0; font-size: 14.5px; line-height: 1.5; color: #c2beb7; }
.dz-hello .dz-cluster { gap: 10px; }
.dz-hello__x { position: absolute; top: 12px; right: 12px; width: 32px; height: 32px; border: 0; background: none; color: #c2beb7; font-size: 20px; line-height: 1; cursor: pointer; }
.dz-form__extra input { border-style: dashed; }
@media (max-width: 760px) { .dz-hello { top: 76px; right: 16px; } }
@media (max-width: 760px) {
	.dz-tile, .dz-tile.is-sm { aspect-ratio: auto; min-height: 420px; }
	.dz-tile.is-sm { min-height: 320px; }
	.dz-card { padding: 28px 22px; }
	.dz-card .dz-price-row { gap: 12px; }
	.dz-card .dz-price-row .dz-price { white-space: nowrap; font-size: 16px; }
}
/* Call is the main CTA; callback is the quiet alternative */
.dz-header__cb { background: none; border: 0; padding: 6px 0; cursor: pointer; color: var(--text-2); border-bottom: 1px solid rgba(255,255,255,0.18); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; }
.dz-header__cb:hover { color: var(--text); border-bottom-color: var(--dz-red); }
.dz-btn svg { flex: 0 0 auto; }
.dz-header__cta, .dz-lptop .dz-btn--primary { gap: 10px; font-variant-numeric: tabular-nums; letter-spacing: 0.08em; }
@media (max-width: 1100px) { .dz-header__cb { display: none; } }
@media (max-width: 760px) { .dz-lptop .dz-header__cb { display: none; } }
@media (max-width: 760px) { .dz-logo__badge { width: 38px; height: 38px; } }
/* ===== Hero fits one screen: title, lead, checks and the call button all above the fold ===== */
.dz-hero--sub { min-height: calc(100svh - 76px); max-height: 980px; align-items: center; }
.dz-hero--sub .dz-hero__in { padding-top: 48px; padding-bottom: 48px; }
.dz-hero--sub .dz-hero__copy { max-width: 1000px; gap: 22px; flex-basis: 100%; }
.dz-hero--sub .dz-h1 { font-size: clamp(38px, min(4.4vw, 7.4svh), 68px); line-height: 0.98; }
.dz-hero--sub .dz-lead { max-width: 640px; font-size: clamp(16px, 1.15vw, 18.5px); }
.dz-hero--sub .dz-checklist.is-grid { gap: 8px 32px; max-width: 760px; }
.dz-hero--sub .dz-hero__micro { margin-top: -6px; }
.dz-hero__shade { background: linear-gradient(90deg, rgba(9,9,10,0.94) 0%, rgba(9,9,10,0.78) 38%, rgba(9,9,10,0.25) 75%, rgba(9,9,10,0.1) 100%), linear-gradient(0deg, rgba(9,9,10,1) 0%, rgba(9,9,10,0) 40%); }
.dz-hero--home .dz-h1 { font-size: clamp(40px, min(5.2vw, 9svh), 88px); }
.dz-hero--home { min-height: calc(100svh - 76px); max-height: 1000px; }
@media (max-height: 760px) and (min-width: 761px) {
	.dz-hero--sub .dz-hero__copy { gap: 16px; }
	.dz-hero--sub .dz-hero__micro { display: none; }
}
@media (max-width: 760px) {
	.dz-hero--sub, .dz-hero--home { min-height: 0; max-height: none; }
	.dz-hero--sub .dz-h1 { font-size: 36px; }
}
/* Logo: the round badge alone */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.dz-logo__badge { width: 58px; height: 58px; }
.dz-header .dz-logo, .dz-lptop .dz-logo { margin-block: -4px; }
.dz-footer .dz-logo__badge { width: 96px; height: 96px; }
@media (max-width: 760px) { .dz-logo__badge { width: 46px; height: 46px; } }

/* Ghost word: always fully on screen (ink of the last letter included). */
.dz-ghost { right: clamp(16px, 3vw, 48px); padding-right: 0.06em; font-size: min(clamp(140px, 21vw, 340px), calc((100vw - 2 * clamp(16px, 3vw, 48px)) / var(--n, 4) / 0.95)); }
@media (max-width: 760px) {
	.dz-ghost, .dz-ghost.is-bottom { font-size: min(120px, calc((100vw - 32px) / var(--n, 4) / 0.95)); left: 16px; right: auto; }
}

/* Uploaded logo (2.2.7): square artwork shows like the badge, without frame or crop */
.dz-logo__badge.is-upload { border-radius: 0; box-shadow: none; object-fit: contain; background: none; }
.dz-logo__img { max-height: 48px; width: auto; }
@media (max-width: 760px) { .dz-logo__img { max-height: 38px; } }
