/*
Theme Name: DocKnox v1
Theme URI: https://imaliconsulting.co.za/
Author: Imali Consulting
Description: Marketing site theme for the document management SaaS (secure storage, AI field extraction, alerts). Brand name, links, prices and plan limits are set under Appearance > Customize > Site settings.
Version: 1.2.2
Requires at least: 6.0
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: docknox
*/

:root {
	--dk-accent: #1D4E9E;
	--dk-accent-dark: #163D7D;
	--dk-accent-soft: #E3EAF6;
	--dk-ink: #131A2A;
	--dk-ground: #F4F6F9;
	--dk-surface: #FFFFFF;
	--dk-line: #DDE2EA;
	--dk-muted: #4A5263;
	--dk-muted-2: #5A6273;
	--dk-gold: #E8B46A;
	--dk-serif: 'Fraunces', Georgia, serif;
	--dk-sans: 'IBM Plex Sans', system-ui, sans-serif;
	--dk-mono: 'IBM Plex Mono', ui-monospace, monospace;
	--dk-wrap: 1280px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: var(--dk-sans);
	background: var(--dk-ground);
	color: var(--dk-ink);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: var(--dk-accent); }
a:hover { color: var(--dk-accent-dark); }
h1, h2, h3 { margin: 0; }
p { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }

.dk-wrap { width: 100%; max-width: var(--dk-wrap); margin: 0 auto; padding: 0 24px; }
.dk-eyebrow {
	font-family: var(--dk-mono);
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--dk-accent);
}
.dk-h2 {
	font-family: var(--dk-serif);
	font-weight: 400;
	font-size: clamp(34px, 4vw, 48px);
	line-height: 1.12;
	letter-spacing: -0.01em;
}
.screen-reader-text {
	position: absolute; width: 1px; height: 1px; overflow: hidden;
	clip: rect(0 0 0 0); white-space: nowrap;
}

/* Buttons */
.dk-btn {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 48px; padding: 12px 24px;
	border-radius: 12px; font-weight: 600; font-size: 16px;
	text-decoration: none; border: 1px solid transparent;
	transition: background .15s ease, color .15s ease;
}
.dk-btn--primary { background: var(--dk-accent); color: #fff; }
.dk-btn--primary:hover { background: var(--dk-accent-dark); color: #fff; }
.dk-btn--outline { border-color: var(--dk-ink); color: var(--dk-ink); }
.dk-btn--outline:hover { background: var(--dk-ink); color: var(--dk-ground); }
.dk-btn--light { background: var(--dk-ground); color: var(--dk-ink); }
.dk-btn--light:hover { background: #fff; color: var(--dk-ink); }
.dk-btn--lg { font-size: 17px; padding: 16px 28px; }

/* Header */
.dk-header { border-bottom: 1px solid var(--dk-line); background: var(--dk-ground); position: sticky; top: 0; z-index: 50; }
.dk-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 80px; }
.dk-logo { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--dk-ink); }
.dk-logo:hover { color: var(--dk-ink); }
.dk-logo__mark { width: 36px; height: 36px; border-radius: 9px; background: var(--dk-accent); display: flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.dk-logo__name { font-family: var(--dk-serif); font-size: 24px; font-weight: 600; }
.dk-logo img { max-height: 40px; width: auto; }
.dk-nav ul { display: flex; gap: 32px; }
.dk-nav a { color: var(--dk-ink); text-decoration: none; font-weight: 500; }
.dk-nav a:hover { color: var(--dk-accent); }
.dk-header__actions { display: flex; align-items: center; gap: 20px; }
.dk-header__actions .dk-btn { white-space: nowrap; }
.dk-header__login { color: var(--dk-ink); text-decoration: none; font-weight: 500; }
.dk-menu-toggle {
	display: none; background: none; border: 1px solid var(--dk-line); border-radius: 10px;
	width: 44px; height: 44px; align-items: center; justify-content: center; cursor: pointer; color: var(--dk-ink);
}

/* Hero */
.dk-hero { padding: 96px 0 104px; }
.dk-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) 560px; gap: 64px; align-items: center; }
.dk-hero__copy { display: flex; flex-direction: column; gap: 26px; }
.dk-hero h1 {
	font-family: var(--dk-serif); font-weight: 400;
	font-size: clamp(42px, 5.4vw, 72px); line-height: 1.03; letter-spacing: -0.02em;
}
.dk-hero__lede { font-size: 20px; line-height: 1.55; color: var(--dk-muted); max-width: 560px; }
.dk-hero__ctas { display: flex; flex-wrap: wrap; gap: 14px; }
.dk-hero__note { font-size: 15px; color: var(--dk-muted-2); }

.dk-visual { position: relative; height: 500px; }
.dk-doc {
	position: absolute; left: 0; top: 40px; width: 340px;
	background: var(--dk-surface); border: 1px solid var(--dk-line); border-radius: 16px;
	box-shadow: 0 24px 48px rgba(19,26,42,0.08); padding: 26px;
	display: flex; flex-direction: column; gap: 14px;
}
.dk-doc__head { display: flex; justify-content: space-between; align-items: center; font-weight: 600; }
.dk-doc__pages { font-family: var(--dk-mono); font-size: 12px; color: var(--dk-muted-2); font-weight: 400; }
.dk-doc__rule { height: 1px; background: var(--dk-line); }
.dk-doc__lines { display: flex; flex-direction: column; gap: 9px; }
.dk-doc__lines span { display: block; height: 10px; background: #E8ECF2; border-radius: 4px; }
.dk-doc__label { font-family: var(--dk-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--dk-accent); margin-top: 6px; }
.dk-fields { display: flex; flex-direction: column; gap: 10px; font-size: 15px; }
.dk-fields li { display: flex; justify-content: space-between; gap: 12px; }
.dk-fields span:first-child { color: var(--dk-muted-2); }
.dk-fields span:last-child { font-weight: 500; text-align: right; }
.dk-float {
	position: absolute; right: 0; width: 240px; border-radius: 14px; padding: 18px;
	display: flex; flex-direction: column; gap: 8px;
}
.dk-float--alert { top: 0; background: var(--dk-ink); color: var(--dk-ground); box-shadow: 0 20px 40px rgba(19,26,42,0.18); }
.dk-float--alert .dk-float__tag { color: var(--dk-gold); }
.dk-float--card { bottom: 0; background: var(--dk-surface); border: 1px solid var(--dk-line); box-shadow: 0 20px 40px rgba(19,26,42,0.08); font-size: 14px; }
.dk-float__tag { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: var(--dk-accent); }
.dk-float__row { display: flex; justify-content: space-between; }
.dk-float__row span:first-child { color: var(--dk-muted-2); }

/* Steps */
.dk-steps { padding: 96px 0; background: var(--dk-surface); border-top: 1px solid var(--dk-line); border-bottom: 1px solid var(--dk-line); }
.dk-steps__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin-top: 52px; }
.dk-step { display: flex; flex-direction: column; gap: 12px; }
.dk-step__num { font-family: var(--dk-mono); font-size: 15px; color: var(--dk-accent); }
.dk-step h3 { font-size: 23px; font-weight: 600; }
.dk-step p { color: var(--dk-muted); }

/* Audience split */
.dk-split { padding: 104px 0; }
.dk-split__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.dk-panel { border-radius: 20px; padding: 48px; display: flex; flex-direction: column; gap: 22px; scroll-margin-top: 100px; }
.dk-panel--light { background: var(--dk-surface); border: 1px solid var(--dk-line); }
.dk-panel--dark { background: var(--dk-ink); color: var(--dk-ground); }
.dk-panel--dark .dk-eyebrow { color: var(--dk-gold); }
.dk-panel h3 { font-family: var(--dk-serif); font-weight: 400; font-size: clamp(28px, 3vw, 38px); line-height: 1.15; }
.dk-panel .dk-btn { align-self: flex-start; margin-top: 6px; }
.dk-checks { display: flex; flex-direction: column; gap: 13px; }
.dk-checks li { display: flex; gap: 12px; align-items: flex-start; line-height: 1.45; }
.dk-checks svg { flex: 0 0 auto; margin-top: 2px; color: var(--dk-accent); }
.dk-panel--dark .dk-checks svg, .dk-plan--dark .dk-checks svg { color: var(--dk-gold); }
.dk-icon { color: var(--dk-accent); display: inline-flex; }

/* Features */
.dk-features { padding: 0 0 104px; scroll-margin-top: 100px; }
.dk-features__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 44px; }
.dk-feature { background: var(--dk-surface); border: 1px solid var(--dk-line); border-radius: 16px; padding: 32px; display: flex; flex-direction: column; gap: 12px; }
.dk-feature h3 { font-size: 20px; font-weight: 600; }
.dk-feature p { font-size: 16px; color: var(--dk-muted); }

/* Security */
.dk-security {
	background: var(--dk-accent); color: #fff; border-radius: 24px; padding: 72px;
	display: grid; grid-template-columns: minmax(0, 1fr) 460px; gap: 64px; align-items: center;
	scroll-margin-top: 100px;
}
.dk-security .dk-eyebrow { color: #C6D6F2; }
.dk-security__copy { display: flex; flex-direction: column; gap: 20px; }
.dk-security__copy p { font-size: 18px; color: #E1E9F7; }
.dk-security__copy a { color: #fff; font-weight: 600; }
.dk-security__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.dk-security__item { background: rgba(255,255,255,0.1); border-radius: 14px; padding: 22px; display: flex; flex-direction: column; gap: 4px; }
.dk-security__item strong { font-size: 17px; }
.dk-security__item span { font-size: 15px; color: #E1E9F7; }

/* Pricing */
.dk-pricing { padding: 104px 0; scroll-margin-top: 80px; }
.dk-pricing__head { text-align: center; display: flex; flex-direction: column; gap: 12px; align-items: center; }
.dk-pricing__head p { color: var(--dk-muted); font-size: 18px; }
.dk-plans { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin-top: 48px; align-items: stretch; }
.dk-plan {
	background: var(--dk-surface); border: 1px solid var(--dk-line); border-radius: 18px;
	padding: 32px 26px; display: flex; flex-direction: column; gap: 18px;
}
.dk-plan--featured { border: 2px solid var(--dk-accent); }
.dk-plan--dark { background: var(--dk-ink); color: var(--dk-ground); border-color: var(--dk-ink); }
.dk-plan__top { display: flex; justify-content: space-between; align-items: center; min-height: 28px; gap: 8px; }
.dk-plan h3 { font-size: 22px; font-weight: 600; }
.dk-plan__badge { font-size: 12px; font-weight: 600; color: var(--dk-accent); background: var(--dk-accent-soft); padding: 5px 10px; border-radius: 999px; white-space: nowrap; }
.dk-plan__price { font-family: var(--dk-serif); font-size: 42px; line-height: 1; }
.dk-plan__price small { font-family: var(--dk-sans); font-size: 16px; color: var(--dk-muted-2); }
.dk-plan--dark .dk-plan__price small { color: #C3CAD6; }
.dk-plan__desc { font-size: 15px; color: var(--dk-muted); min-height: 70px; }
.dk-plan--dark .dk-plan__desc { color: #C3CAD6; }
.dk-plan__rule { height: 1px; background: var(--dk-line); }
.dk-plan--dark .dk-plan__rule { background: rgba(244,246,249,0.15); }
.dk-plan__lead { font-size: 14px; font-weight: 600; }
.dk-plan .dk-checks { font-size: 15px; gap: 11px; }
.dk-plan .dk-btn { margin-top: auto; width: 100%; }

/* Final CTA */
.dk-cta {
	background: var(--dk-surface); border: 1px solid var(--dk-line); border-radius: 24px; padding: 64px 72px;
	display: flex; justify-content: space-between; align-items: center; gap: 40px;
}
.dk-cta h2 { max-width: 720px; }

/* Footer */
.dk-footer { margin-top: 96px; padding: 56px 0; border-top: 1px solid var(--dk-line); font-size: 15px; color: var(--dk-muted); }
.dk-footer__inner { display: flex; justify-content: space-between; gap: 48px; flex-wrap: wrap; }
.dk-footer__brand { display: flex; flex-direction: column; gap: 12px; max-width: 320px; }
.dk-footer__brand strong { font-family: var(--dk-serif); font-size: 22px; font-weight: 600; color: var(--dk-ink); }
.dk-footer__cols { display: flex; gap: 72px; flex-wrap: wrap; }
.dk-footer__col { display: flex; flex-direction: column; gap: 10px; }
.dk-footer__col strong { color: var(--dk-ink); }
.dk-footer__col a { color: var(--dk-muted); text-decoration: none; }
.dk-footer__col a:hover { color: var(--dk-accent); }
.dk-footer__legal { margin-top: 40px; font-size: 14px; color: var(--dk-muted-2); }

/* Generic pages (privacy, terms, blog) */
.dk-page { padding: 72px 0; }
.dk-page__inner { max-width: 760px; margin: 0 auto; }
.dk-page h1 { font-family: var(--dk-serif); font-weight: 400; font-size: clamp(36px, 4vw, 52px); line-height: 1.1; margin-bottom: 32px; }
.dk-page .entry-content > * + * { margin-top: 1.1em; }
.dk-page .entry-content h2 { font-family: var(--dk-serif); font-weight: 400; font-size: 30px; margin-top: 1.6em; }
.dk-page .entry-content ul { list-style: disc; padding-left: 1.3em; }
.dk-post-list { display: flex; flex-direction: column; gap: 36px; }
.dk-post-list h2 a { color: var(--dk-ink); text-decoration: none; font-family: var(--dk-serif); font-weight: 400; font-size: 30px; }

/* Dropdown menu */
.dk-nav li { position: relative; }
.dk-nav .menu-item-has-children > a::after {
	content: ""; display: inline-block; width: 7px; height: 7px; margin-left: 8px;
	border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor;
	transform: translateY(-3px) rotate(45deg);
}
.dk-nav .sub-menu {
	display: none; position: absolute; top: 100%; left: -16px; min-width: 260px;
	background: var(--dk-surface); border: 1px solid var(--dk-line); border-radius: 14px;
	box-shadow: 0 18px 40px rgba(19,26,42,0.10); padding: 8px; flex-direction: column; gap: 0;
}
.dk-nav .menu-item-has-children { padding: 14px 0; margin: -14px 0; }
.dk-nav .menu-item-has-children:hover > .sub-menu,
.dk-nav .menu-item-has-children:focus-within > .sub-menu { display: flex; }
.dk-nav .sub-menu a { display: block; padding: 10px 12px; border-radius: 8px; font-weight: 500; }
.dk-nav .sub-menu a:hover { background: var(--dk-ground); }
.dk-nav .current-menu-item > a, .dk-nav .current-menu-ancestor > a { color: var(--dk-accent); }

/* Shared helpers */
.dk-h2--sm { font-size: clamp(28px, 3vw, 38px); }
.dk-muted { color: var(--dk-muted); }
.dk-note { margin-top: 28px; text-align: center; font-weight: 600; }

/* Inner-page hero */
.dk-phero { padding: 88px 0 72px; }
.dk-phero__inner { max-width: 860px; display: flex; flex-direction: column; gap: 24px; }
.dk-phero h1 { font-family: var(--dk-serif); font-weight: 400; font-size: clamp(40px, 5vw, 64px); line-height: 1.05; letter-spacing: -0.02em; }
.dk-phero__lede { font-size: 20px; line-height: 1.55; color: var(--dk-muted); max-width: 720px; }
.dk-steps__grid--flush { margin-top: 0; }

/* Alternating rows */
.dk-rows { padding: 96px 0 24px; }
.dk-row {
	display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 64px; align-items: center;
	padding-bottom: 88px; scroll-margin-top: 100px;
}
.dk-row--flip .dk-row__copy { order: 2; }
.dk-row__copy { display: flex; flex-direction: column; gap: 18px; }
.dk-row__copy p { color: var(--dk-muted); font-size: 18px; }
.dk-row__card {
	background: var(--dk-surface); border: 1px solid var(--dk-line); border-radius: 18px; padding: 32px;
	display: flex; flex-direction: column; gap: 18px;
}
.dk-row__card-title { font-family: var(--dk-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--dk-accent); }

/* Document lists, problem cards, comparisons */
.dk-doclist, .dk-problem { padding: 96px 0 8px; }
.dk-doclist__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin-top: 44px; }
.dk-doclist .dk-checks { font-size: 15px; gap: 10px; }
.dk-problem .dk-features__grid { margin-top: 40px; }
.dk-compare2 { padding: 8px 0 96px; }
.dk-compare2 .dk-split__grid { margin-top: 40px; }
.dk-compare2 .dk-panel p { color: inherit; opacity: 0.85; }
.dk-features--top { padding: 0 0 24px; }
.dk-features--top .dk-features__grid { margin-top: 0; }

/* FAQ */
.dk-faq { padding: 72px 0 104px; }
.dk-faq__grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 64px; align-items: start; }
.dk-faq__list { border-top: 1px solid var(--dk-line); }
.dk-faq__item { border-bottom: 1px solid var(--dk-line); }
.dk-faq__item summary {
	cursor: pointer; list-style: none; padding: 22px 40px 22px 0; position: relative;
	font-weight: 600; font-size: 18px;
}
.dk-faq__item summary::-webkit-details-marker { display: none; }
.dk-faq__item summary::after {
	content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%);
	font-size: 26px; font-weight: 400; color: var(--dk-accent);
}
.dk-faq__item[open] summary::after { content: "\2212"; }
.dk-faq__answer { padding: 0 0 24px; color: var(--dk-muted); }
.dk-faq__answer p + p { margin-top: 0.8em; }

/* Pricing page */
.dk-pricing--page { padding-top: 0; }
.dk-table-section { padding: 0 0 24px; }
.dk-table-scroll { position: relative; margin-top: 36px; overflow-x: auto; border: 1px solid var(--dk-line); border-radius: 18px; background: var(--dk-surface); }
.dk-table { width: 100%; min-width: 760px; border-collapse: collapse; font-size: 15px; }
.dk-table th, .dk-table td { padding: 14px 18px; text-align: center; border-bottom: 1px solid var(--dk-line); }
.dk-table th[scope="row"] { text-align: left; font-weight: 500; }
.dk-table thead th { font-size: 17px; font-weight: 600; background: var(--dk-surface); position: sticky; top: 0; }
.dk-table__group th { text-align: left; background: var(--dk-ground); font-family: var(--dk-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--dk-accent); font-weight: 500; }
.dk-table tbody:last-child tr:last-child th, .dk-table tbody:last-child tr:last-child td { border-bottom: 0; }
.dk-tick { color: var(--dk-accent); display: inline-flex; }
.dk-dash { color: #98A0AE; }

/* Security policies strip */
.dk-legal-links { padding: 24px 0 0; }
.dk-cta--plain h2 { max-width: none; }
.dk-legal-links__list { display: flex; flex-wrap: wrap; gap: 12px; }

/* Contact */
.dk-contact { padding: 0 0 24px; }
.dk-contact__grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.dk-contact__form { background: var(--dk-surface); border: 1px solid var(--dk-line); border-radius: 18px; padding: 40px; }
.dk-contact__side { display: flex; flex-direction: column; gap: 16px; }
.dk-contact__form input[type="text"], .dk-contact__form input[type="email"], .dk-contact__form input[type="tel"],
.dk-contact__form select, .dk-contact__form textarea {
	width: 100%; font: inherit; padding: 12px 14px; border: 1px solid var(--dk-line); border-radius: 10px; background: var(--dk-ground);
}
.dk-contact__form input[type="submit"], .dk-contact__form button[type="submit"] {
	font: inherit; font-weight: 600; background: var(--dk-accent); color: #fff; border: 0; border-radius: 12px; padding: 14px 26px; min-height: 48px; cursor: pointer;
}
.dk-contact__form label { font-weight: 500; }

@media (max-width: 1180px) {
	.dk-features__grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dk-doclist__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.dk-plans-teaser__inner { flex-direction: column; align-items: flex-start; }
	.dk-plans-teaser { padding: 56px 0; }
	.dk-nav .sub-menu { display: flex; position: static; box-shadow: none; border: 0; padding: 0 0 0 16px; min-width: 0; background: none; }
	.dk-nav .menu-item-has-children { padding: 0; margin: 0; }
	.dk-nav .menu-item-has-children > a::after { display: none; }
	.dk-row, .dk-faq__grid, .dk-contact__grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.dk-row--flip .dk-row__copy { order: 0; }
	.dk-row { padding-bottom: 64px; }
	.dk-phero { padding: 56px 0 48px; }
	.dk-contact__form { padding: 28px 22px; }
}
@media (max-width: 640px) {
	.dk-doclist__grid { grid-template-columns: minmax(0, 1fr); }
}

/* Short plans section linking to the Pricing page (homepage, Business) */
.dk-plans-teaser { padding: 88px 0; }
.dk-plans-teaser__inner {
	display: flex; justify-content: space-between; align-items: center; gap: 40px;
	border-top: 1px solid var(--dk-line); border-bottom: 1px solid var(--dk-line); padding: 48px 0;
}
.dk-plans-teaser__copy { display: flex; flex-direction: column; gap: 12px; max-width: 720px; }
.dk-plans-teaser__copy p { font-size: 18px; }
.dk-plans-teaser .dk-btn { flex: 0 0 auto; }

/* Four features in one row */
.dk-features__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }


/* Responsive */
@media (max-width: 1180px) {
	.dk-plans { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dk-plan__desc { min-height: 0; }
	.dk-hero__grid { grid-template-columns: minmax(0, 1fr); }
	.dk-visual { max-width: 560px; }
	.dk-security { grid-template-columns: minmax(0, 1fr); padding: 56px; }
}
@media (max-width: 900px) {
	.dk-menu-toggle { display: inline-flex; }
	.dk-nav, .dk-header__login { display: none; }
	.dk-header.is-open .dk-nav {
		display: block; position: absolute; left: 0; right: 0; top: 100%;
		background: var(--dk-ground); border-bottom: 1px solid var(--dk-line); padding: 12px 24px 20px;
	}
	.dk-header.is-open .dk-nav ul { flex-direction: column; gap: 0; }
	.dk-header.is-open .dk-nav a { display: block; padding: 12px 0; }
	.dk-steps__grid, .dk-features__grid, .dk-split__grid { grid-template-columns: minmax(0, 1fr); }
	.dk-panel { padding: 36px 28px; }
	.dk-cta { flex-direction: column; align-items: flex-start; padding: 48px 28px; }
	.dk-hero { padding: 64px 0 72px; }
}
@media (max-width: 640px) {
	.dk-plans, .dk-security__grid { grid-template-columns: minmax(0, 1fr); }
	.dk-security { padding: 40px 24px; border-radius: 18px; }
	.dk-header__actions .dk-btn { padding: 10px 16px; min-height: 44px; }
	.dk-header__actions { gap: 12px; }
	.dk-logo__name { font-size: 20px; }
	.dk-visual { height: auto; display: flex; flex-direction: column; gap: 14px; }
	.dk-doc, .dk-float { position: static; width: 100%; }
	.dk-footer__cols { gap: 40px; }
}
