:root {
	--bg: #f7f7fc;
	--surface: #ffffff;
	--surface-soft: #fbfaff;
	--text: #15142b;
	--muted: #6f7088;
	--line: #e8e7f1;
	--line-strong: #dcd9eb;
	--primary: #6f48ff;
	--primary-deep: #5731ed;
	--primary-2: #a48bff;
	--primary-soft: #f1edff;
	--primary-faint: #faf8ff;
	--navy: #15132d;
	--success: #16845e;
	--success-soft: #e9f8f2;
	--warning: #c77a0c;
	--warning-soft: #fff6e4;
	--danger: #d63e57;
	--danger-soft: #fff0f3;
	--shadow-sm: 0 8px 24px rgba(35, 30, 73, .06);
	--shadow-md: 0 18px 48px rgba(38, 29, 89, .10);
	--shadow-lg: 0 30px 90px rgba(42, 32, 105, .13);
	--header-height: 84px;
	--radius-xl: 26px;
	--radius-lg: 20px;
	--radius-md: 16px;
	--shell: min(1240px, calc(100vw - 48px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--bg);
	color: var(--text);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
body::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -2;
	pointer-events: none;
	background:
		radial-gradient(circle at 8% 0%, rgba(111,72,255,.08), transparent 29%),
		radial-gradient(circle at 94% 12%, rgba(164,139,255,.11), transparent 30%);
}
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
img { max-width: 100%; height: auto; }
svg { display: block; }
[hidden] { display: none !important; }
.shell { width: var(--shell); margin-inline: auto; }
.screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0,0,0,0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
.skip-link:focus {
	clip: auto !important;
	width: auto !important;
	height: auto !important;
	padding: 10px 16px !important;
	margin: 10px !important;
	background: #fff;
	z-index: 99999;
}

/* Header */
.site-header {
	position: sticky;
	top: 0;
	z-index: 80;
	background: rgba(255,255,255,.88);
	backdrop-filter: blur(22px) saturate(150%);
	border-bottom: 1px solid rgba(222,220,235,.88);
}
.site-header__inner {
	min-height: var(--header-height);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 34px;
}
.taskivoza-scan-page .site-header__inner {
	width: 100%;
	padding-inline: clamp(22px, 2.4vw, 44px);
}
.brand {
	display: inline-flex;
	align-items: center;
	gap: 13px;
	min-width: 255px;
}
.brand__mark {
	position: relative;
	width: 46px;
	height: 46px;
	display: grid;
	place-items: center;
	border-radius: 14px;
	background: linear-gradient(145deg, #7856ff, #5a35f5);
	box-shadow: 0 11px 25px rgba(100,65,255,.31), inset 0 1px 0 rgba(255,255,255,.3);
}
.brand__mark::after {
	content: "";
	position: absolute;
	inset: -7px;
	z-index: -1;
	border-radius: 18px;
	background: rgba(111,72,255,.10);
	filter: blur(7px);
}
.brand__mark svg {
	width: 25px;
	height: 25px;
	fill: none;
	stroke: #fff;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.brand__copy { display: grid; line-height: 1.12; }
.brand__copy strong { font-size: 20px; letter-spacing: -.035em; font-weight: 850; }
.brand__copy small { margin-top: 6px; color: #77778d; font-size: 11.5px; font-weight: 600; letter-spacing: .01em; }
.site-nav { display: flex; align-items: center; justify-content: flex-end; gap: clamp(30px, 4vw, 78px); flex: 1; }
.site-nav__links { display: flex; align-items: center; gap: clamp(24px, 3vw, 48px); }
.site-nav__links a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #3f4057;
	font-size: 14px;
	font-weight: 720;
	transition: color .2s ease, transform .2s ease;
}
.site-nav__links a svg { width: 20px; height: 20px; fill: none; stroke: #696a82; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; transition: stroke .2s ease; }
.site-nav__links a:hover { color: var(--primary); transform: translateY(-1px); }
.site-nav__links a:hover svg { stroke: var(--primary); }
.button {
	border: 0;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-weight: 760;
	transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.button:hover { transform: translateY(-2px); }
.button--small { min-height: 50px; padding: 0 22px; border-radius: 13px; font-size: 14px; }
.button--dark { color: #fff; background: linear-gradient(145deg, #1c1a38, #111027); box-shadow: 0 12px 26px rgba(20,18,51,.18); }
.button--dark:hover { box-shadow: 0 16px 34px rgba(20,18,51,.24); }
.site-nav__cta span { color: #d9d0ff; }
.menu-toggle { display: none; border: 0; background: transparent; padding: 8px; }
.menu-toggle span:not(.screen-reader-text) { display: block; width: 23px; height: 2px; margin: 5px 0; background: var(--navy); border-radius: 99px; }

/* Homepage */
.hero {
	min-height: 720px;
	display: grid;
	grid-template-columns: 1.02fr .98fr;
	align-items: center;
	gap: 80px;
	padding-block: 90px 80px;
}
.hero__copy { max-width: 610px; }
.eyebrow, .section-kicker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--primary);
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .11em;
	text-transform: uppercase;
}
.eyebrow span { width: 7px; height: 7px; border-radius: 99px; background: var(--primary); box-shadow: 0 0 0 6px rgba(111,72,255,.10); }
.hero h1 { margin: 22px 0 20px; max-width: 690px; font-size: clamp(46px, 5.2vw, 72px); line-height: 1.03; letter-spacing: -.055em; }
.hero__copy > p { margin: 0; max-width: 610px; color: var(--muted); font-size: 18px; line-height: 1.75; }
.hero__actions { display: flex; align-items: center; gap: 24px; margin-top: 34px; }
.button--primary { min-height: 55px; padding: 0 24px; border-radius: 14px; color: #fff; background: linear-gradient(135deg, var(--primary), #8e70ff); box-shadow: 0 15px 36px rgba(111,72,255,.26); }
.text-link { color: #3e3e53; font-size: 14px; font-weight: 760; }
.trust-row { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 30px; color: #65667b; font-size: 12.5px; font-weight: 650; }
.hero-visual { position: relative; min-height: 520px; display: grid; place-items: center; }
.scanner-card--main { position: relative; z-index: 2; width: min(100%, 490px); padding: 30px; border: 1px solid rgba(224,221,240,.86); border-radius: 28px; background: rgba(255,255,255,.88); box-shadow: var(--shadow-lg); backdrop-filter: blur(18px); }
.scanner-card__top { display: flex; align-items: center; gap: 7px; padding-bottom: 20px; border-bottom: 1px solid var(--line); color: #77778c; font-size: 12px; }
.scanner-card__top i { width: 8px; height: 8px; border-radius: 99px; background: #d6d3e5; }
.scanner-card__top span { margin-left: auto; font-weight: 700; }
.scanner-line { display: grid; grid-template-columns: 12px 1fr auto; align-items: center; gap: 13px; padding: 21px 0; border-bottom: 1px solid var(--line); }
.scanner-line span { width: 10px; height: 10px; border-radius: 99px; background: var(--success); box-shadow: 0 0 0 6px var(--success-soft); }
.scanner-line b { font-size: 14px; }
.scanner-line em { color: var(--success); font-size: 12px; font-style: normal; font-weight: 760; }
.scanner-line--warn span { background: var(--warning); box-shadow: 0 0 0 6px var(--warning-soft); }
.scanner-line--warn em { color: var(--warning); }
.score-ring { margin: 28px auto 4px; width: 118px; height: 118px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--primary) 0 338deg, #eeeaf9 338deg); position: relative; }
.score-ring::before { content: ""; position: absolute; inset: 9px; border-radius: inherit; background: #fff; }
.score-ring strong, .score-ring small { position: relative; z-index: 1; display: block; text-align: center; }
.score-ring strong { font-size: 35px; line-height: 1; }
.score-ring small { margin-top: 5px; color: var(--muted); font-size: 11px; }
.orb { position: absolute; border-radius: 50%; filter: blur(1px); }
.orb--one { width: 320px; height: 320px; left: 2%; top: 4%; background: radial-gradient(circle at 35% 35%, rgba(153,128,255,.38), rgba(111,72,255,.02) 68%); }
.orb--two { width: 220px; height: 220px; right: 0; bottom: 2%; background: radial-gradient(circle at 42% 42%, rgba(111,72,255,.24), rgba(111,72,255,.01) 68%); }
.mini-card { position: absolute; z-index: 3; display: flex; align-items: center; gap: 12px; padding: 14px 16px; border: 1px solid rgba(224,221,240,.86); border-radius: 16px; background: rgba(255,255,255,.92); box-shadow: var(--shadow-md); }
.mini-card > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: var(--primary-soft); color: var(--primary); font-weight: 900; }
.mini-card b, .mini-card small { display: block; }
.mini-card b { font-size: 12px; }
.mini-card small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.mini-card--shield { left: -15px; top: 105px; }
.mini-card--motion { right: -6px; bottom: 84px; }
.section { padding-block: 100px; }
.section--soft { background: rgba(255,255,255,.55); border-block: 1px solid var(--line); }
.section-heading h2 { margin: 12px 0 0; font-size: clamp(36px, 4vw, 54px); line-height: 1.08; letter-spacing: -.045em; }
.feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 46px; }
.feature-card { min-height: 250px; padding: 28px; border: 1px solid var(--line); border-radius: 22px; background: rgba(255,255,255,.78); box-shadow: var(--shadow-sm); }
.feature-card > span { color: var(--primary); font-size: 12px; font-weight: 850; }
.feature-card h3 { margin: 48px 0 11px; font-size: 22px; letter-spacing: -.025em; }
.feature-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.faq-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 100px; }
.faq-list details { padding: 22px 0; border-bottom: 1px solid var(--line); }
.faq-list summary { cursor: pointer; list-style: none; font-weight: 760; }
.faq-list p { color: var(--muted); }
.content-card { padding: 40px; border: 1px solid var(--line); border-radius: 24px; background: #fff; }
.site-footer { padding: 42px 0; border-top: 1px solid var(--line); background: #fff; }
.site-footer__inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; color: var(--muted); }
.site-footer strong { color: var(--text); }
.site-footer p { margin: 5px 0 0; font-size: 13px; }
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .65s ease, transform .65s ease; }
.reveal.is-visible { opacity: 1; transform: none; }

/* Full-screen scanner */
.taskivoza-scan-page { min-height: 100vh; overflow: hidden; background: #f8f8fc; }
.taskivoza-scan-page .site-footer { display: none; }
.scan-app {
	height: calc(100dvh - var(--header-height));
	min-height: 650px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) clamp(410px, 31vw, 510px);
	background: #fbfbfe;
}
.scan-results {
	min-width: 0;
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
	padding: clamp(28px, 2.4vw, 42px) clamp(28px, 2.7vw, 48px) clamp(24px, 2.4vw, 42px);
	background:
		radial-gradient(circle at 54% 46%, rgba(122,86,255,.045), transparent 34%),
		linear-gradient(180deg, #fcfcff, #fafafe);
	overflow: hidden;
}
.scan-results__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	padding-bottom: 20px;
}
.scan-results__header h1 { margin: 5px 0 2px; font-size: clamp(27px, 2vw, 34px); line-height: 1.15; letter-spacing: -.035em; }
.scan-results__header p { margin: 0; color: var(--muted); font-size: 13.5px; }
.scan-header-actions { display: flex; align-items: center; gap: 10px; padding-top: 8px; }
.scan-state-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 34px;
	padding: 0 13px;
	border: 1px solid #e3e0f1;
	border-radius: 10px;
	background: rgba(255,255,255,.82);
	box-shadow: 0 6px 18px rgba(35,30,73,.04);
	color: #595970;
	font-size: 11.5px;
	font-weight: 780;
}
.scan-state-badge i { width: 7px; height: 7px; border-radius: 99px; background: #aaa9b7; box-shadow: 0 0 0 5px rgba(170,169,183,.12); }
.scan-state-badge[data-scan-state="scanning"] { color: var(--primary-deep); border-color: #dbd4ff; background: #faf8ff; }
.scan-state-badge[data-scan-state="scanning"] i { background: var(--primary); box-shadow: 0 0 0 5px rgba(111,72,255,.12); animation: state-pulse 1.25s ease-in-out infinite; }
.scan-state-badge[data-scan-state="complete"] { color: var(--success); border-color: #caecdf; background: #f5fcf9; }
.scan-state-badge[data-scan-state="complete"] i { background: var(--success); box-shadow: 0 0 0 5px rgba(22,132,94,.11); }
.scan-state-badge[data-scan-state="error"] { color: var(--danger); border-color: #f4ccd4; background: #fff8f9; }
.scan-state-badge[data-scan-state="error"] i { background: var(--danger); }
.soft-icon-button { width: 35px; height: 35px; display: grid; place-items: center; border: 1px solid #e2dfef; border-radius: 10px; background: #fff; cursor: pointer; transition: transform .2s ease, border-color .2s ease, color .2s ease; }
.soft-icon-button:hover { color: var(--primary); border-color: #cfc7ff; transform: rotate(-12deg); }
.soft-icon-button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.scan-canvas {
	position: relative;
	min-height: 0;
	overflow: hidden;
	border: 1px solid rgba(225,223,237,.9);
	border-radius: 22px;
	background:
		linear-gradient(rgba(121,99,211,.032) 1px, transparent 1px),
		linear-gradient(90deg, rgba(121,99,211,.032) 1px, transparent 1px),
		radial-gradient(circle at 50% 48%, rgba(113,73,255,.055), transparent 35%),
		rgba(255,255,255,.77);
	background-size: 34px 34px, 34px 34px, auto, auto;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 20px 50px rgba(40,32,87,.04);
}
.scan-canvas::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(115deg, transparent 0 35%, rgba(255,255,255,.44) 44%, transparent 55% 100%);
	transform: translateX(-120%);
	animation: canvas-sheen 9s ease-in-out infinite;
}

/* Empty state */
.scan-empty {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 42px;
	text-align: center;
}
.empty-visual { position: relative; width: 150px; height: 150px; display: grid; place-items: center; margin-bottom: 22px; }
.empty-visual__ring { position: absolute; inset: 8px; border: 1px solid rgba(111,72,255,.16); border-radius: 50%; box-shadow: 0 0 0 25px rgba(111,72,255,.025), 0 0 0 48px rgba(111,72,255,.015); }
.empty-visual__shield { width: 72px; height: 72px; display: grid; place-items: center; border: 1px solid #ddd6ff; border-radius: 22px; background: linear-gradient(145deg, #fff, #f6f3ff); box-shadow: 0 18px 36px rgba(91,58,225,.13), inset 0 1px 0 #fff; }
.empty-visual__shield svg { width: 37px; height: 37px; fill: none; stroke: var(--primary); stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.empty-dot { position: absolute; width: 10px; height: 10px; border-radius: 50%; background: var(--primary); box-shadow: 0 0 0 7px rgba(111,72,255,.09), 0 0 18px rgba(111,72,255,.42); }
.empty-dot--one { left: 8px; top: 52px; animation: orbit-dot-one 7s linear infinite; }
.empty-dot--two { right: 18px; top: 26px; animation: orbit-dot-two 9s linear infinite; }
.empty-dot--three { right: 45px; bottom: 7px; animation: orbit-dot-three 8s linear infinite; }
.scan-empty h2 { margin: 0; font-size: 22px; letter-spacing: -.025em; }
.scan-empty > p { max-width: 560px; margin: 10px 0 0; color: var(--muted); font-size: 13.5px; line-height: 1.7; }
.empty-checks { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 20px; margin-top: 24px; color: #68697e; font-size: 11.5px; font-weight: 700; }
.empty-checks span { display: inline-flex; align-items: center; gap: 8px; }
.empty-checks i { width: 7px; height: 7px; border-radius: 50%; background: #9c83ff; box-shadow: 0 0 0 5px rgba(156,131,255,.10); }

/* Scanning state */
.scan-progress {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: clamp(26px, 3vw, 48px);
	text-align: center;
	overflow: hidden;
}
.particle-field { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.scan-particle { position: absolute; width: var(--particle-size, 5px); height: var(--particle-size, 5px); border-radius: var(--particle-radius, 50%); background: rgba(111,72,255,var(--particle-alpha,.35)); box-shadow: 0 0 15px rgba(111,72,255,.24); will-change: transform, opacity; }
.scan-orbit-system { position: relative; width: 218px; height: 218px; display: grid; place-items: center; margin-bottom: 10px; }
.scan-orbit-system::before { content: ""; position: absolute; inset: 27px; border-radius: 50%; background: radial-gradient(circle, rgba(111,72,255,.10), rgba(111,72,255,.015) 65%, transparent 71%); filter: blur(4px); animation: halo-breathe 2.8s ease-in-out infinite; }
.orbit { position: absolute; border: 1px solid rgba(111,72,255,.16); border-radius: 50%; }
.orbit span { position: absolute; width: 13px; height: 13px; border-radius: 50%; background: linear-gradient(145deg, #8c70ff, #5e37f5); box-shadow: 0 0 0 7px rgba(111,72,255,.10), 0 0 24px rgba(111,72,255,.5); }
.orbit--outer { inset: 4px; animation: orbit-spin 7s linear infinite; }
.orbit--outer span { left: -7px; top: 48%; }
.orbit--middle { inset: 29px; border-style: dashed; animation: orbit-spin-reverse 5.8s linear infinite; }
.orbit--middle span { right: -7px; top: 22%; }
.orbit--inner { inset: 56px; animation: orbit-spin 4.6s linear infinite; }
.orbit--inner span { left: 48%; bottom: -7px; }
.zip-document { position: relative; z-index: 3; width: 86px; height: 112px; padding: 18px 16px; border: 1px solid #d8d0ff; border-radius: 17px; background: linear-gradient(150deg, #fff, #faf8ff); box-shadow: 0 20px 42px rgba(86,54,218,.14), inset 0 1px 0 #fff; overflow: hidden; }
.zip-document strong { display: block; margin-bottom: 20px; color: var(--primary); font-size: 13px; text-align: left; }
.zip-document i { display: block; height: 6px; margin-top: 8px; border-radius: 99px; background: #ebe7f7; }
.zip-document i:nth-of-type(1) { width: 100%; }
.zip-document i:nth-of-type(2) { width: 76%; }
.zip-document i:nth-of-type(3) { width: 55%; }
.zip-document__scan { position: absolute; left: 0; right: 0; top: -24px; height: 22px; background: linear-gradient(180deg, transparent, rgba(111,72,255,.18), transparent); filter: blur(1px); animation: file-scan 1.75s ease-in-out infinite; }
.progress-copy h2 { margin: 0; font-size: clamp(22px, 2vw, 28px); line-height: 1.2; letter-spacing: -.035em; }
.progress-copy p { margin: 8px 0 0; color: var(--muted); font-size: 13px; }
.progress-file-pill { min-width: 280px; max-width: 90%; min-height: 38px; display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 16px; padding: 0 16px; border: 1px solid #e2def5; border-radius: 99px; background: rgba(255,255,255,.82); box-shadow: 0 8px 24px rgba(48,39,99,.05); color: #626278; font-size: 11.5px; }
.progress-file-pill svg { width: 16px; height: 16px; fill: none; stroke: var(--primary); stroke-width: 1.7; stroke-linejoin: round; }
.progress-file-pill strong { max-width: 190px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #46465b; }
.progress-file-pill span { margin-left: auto; color: var(--primary); font-weight: 760; }
.progress-number { width: min(760px, 82%); display: flex; align-items: flex-end; justify-content: space-between; margin-top: 18px; }
.progress-number strong { color: var(--primary); font-size: 28px; line-height: 1; letter-spacing: -.04em; }
.progress-number span { color: #8a899b; font-size: 10.5px; }
.progress-track { position: relative; width: min(760px, 82%); height: 10px; margin-top: 10px; overflow: visible; border: 1px solid #e2deef; border-radius: 99px; background: #eeeaf7; box-shadow: inset 0 2px 5px rgba(34,28,71,.06); }
.progress-track > span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #5e39f2, #8f73ff 65%, #b09bff); box-shadow: 0 5px 16px rgba(111,72,255,.25); transition: width .55s cubic-bezier(.2,.8,.2,1); }
.progress-track > b { position: absolute; top: 50%; left: 0; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 6px rgba(111,72,255,.10), 0 0 24px rgba(111,72,255,.65); transform: translate(-50%,-50%); transition: left .55s cubic-bezier(.2,.8,.2,1); }
.phase-list { position: relative; width: min(760px, 88%); display: grid; grid-template-columns: repeat(5, 1fr); gap: 2px; margin-top: 25px; }
.phase-list::before { content: ""; position: absolute; top: 19px; left: 9.5%; right: 9.5%; height: 1px; background: #dedbe9; }
.scan-phase { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 8px; color: #9b9aaa; }
.scan-phase__icon { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid #dfddea; border-radius: 12px; background: #f6f5fa; box-shadow: 0 5px 12px rgba(36,31,73,.04); transition: all .35s ease; }
.scan-phase__icon svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.scan-phase strong { font-size: 9.5px; letter-spacing: .07em; text-transform: uppercase; }
.scan-phase.is-active { color: var(--primary); }
.scan-phase.is-active .scan-phase__icon { border-color: #b9a9ff; background: #fff; box-shadow: 0 0 0 6px rgba(111,72,255,.08), 0 8px 22px rgba(111,72,255,.16); animation: active-phase 1.5s ease-in-out infinite; }
.scan-phase.is-done { color: var(--primary-deep); }
.scan-phase.is-done .scan-phase__icon { color: #fff; border-color: var(--primary); background: linear-gradient(145deg, #8061ff, #623af1); }
.progress-note { max-width: 640px; display: flex; align-items: center; justify-content: center; gap: 9px; margin-top: 20px; padding: 9px 15px; border: 1px solid #e1def0; border-radius: 9px; background: rgba(255,255,255,.68); color: #78788b; font-size: 10.5px; }
.progress-note span { color: var(--primary); }
.progress-note p { margin: 0; }
.cancel-scan { margin-top: 12px; padding: 5px 10px; border: 0; background: transparent; color: #8a899c; cursor: pointer; font-size: 10.5px; font-weight: 730; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 3px; }
.cancel-scan:hover { color: var(--danger); text-decoration-color: currentColor; }

/* Result report */
.results-content { position: absolute; inset: 0; padding: clamp(24px, 2.3vw, 40px); overflow: auto; scrollbar-width: thin; scrollbar-color: #d5cff0 transparent; }
.report-hero { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 24px; padding: 25px; border: 1px solid #e3e0f0; border-radius: 19px; background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,245,255,.9)); box-shadow: var(--shadow-sm); }
.score-dial { --score-deg: 0deg; position: relative; width: 116px; height: 116px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--primary) 0 var(--score-deg), #ebe8f5 var(--score-deg) 360deg); box-shadow: 0 12px 30px rgba(83,57,201,.12); }
.score-dial::before { content: ""; position: absolute; inset: 9px; border-radius: inherit; background: linear-gradient(145deg, #fff, #faf8ff); box-shadow: inset 0 1px 0 #fff; }
.score-dial > div { position: relative; z-index: 1; text-align: center; }
.score-dial strong { display: inline; font-size: 37px; line-height: 1; letter-spacing: -.05em; }
.score-dial span { color: #8b899c; font-size: 11px; }
.report-title-row { display: flex; align-items: center; gap: 10px; }
.status-pill { display: inline-flex; align-items: center; min-height: 25px; padding: 0 10px; border-radius: 99px; background: var(--primary-soft); color: var(--primary-deep); font-size: 9.5px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.status-pill[data-status="excellent"], .status-pill[data-status="good"] { background: var(--success-soft); color: var(--success); }
.status-pill[data-status="unsafe"] { background: var(--danger-soft); color: var(--danger); }
.report-id { color: #9b99aa; font-size: 10px; font-weight: 700; }
.report-hero__copy h2 { max-width: 540px; margin: 7px 0 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 22px; letter-spacing: -.03em; }
.report-hero__copy > p { margin: 0; color: var(--muted); font-size: 12px; }
.report-meta { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 13px; }
.report-meta span { display: inline-flex; align-items: center; gap: 6px; }
.report-meta b { color: #9a99aa; font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }
.report-meta em { color: #59596e; font-size: 10.5px; font-style: normal; font-weight: 720; }
.report-actions { display: flex; flex-direction: column; gap: 7px; }
.report-actions button { min-height: 34px; display: inline-flex; align-items: center; gap: 7px; padding: 0 12px; border: 1px solid #e0ddec; border-radius: 9px; background: #fff; cursor: pointer; color: #55556c; font-size: 10px; font-weight: 740; transition: transform .18s ease, border-color .18s ease, color .18s ease; }
.report-actions button:hover { color: var(--primary); border-color: #cfc6ff; transform: translateX(-2px); }
.report-actions svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.metric-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-top: 14px; }
.metric-grid > div { position: relative; min-width: 0; padding: 15px 16px; overflow: hidden; border: 1px solid #e6e3ef; border-radius: 14px; background: rgba(255,255,255,.88); }
.metric-grid > div::after { content: ""; position: absolute; width: 70px; height: 70px; right: -30px; bottom: -37px; border-radius: 50%; background: currentColor; opacity: .055; }
.metric-grid span, .metric-grid small { display: block; }
.metric-grid span { color: #7d7c90; font-size: 9.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.metric-grid strong { display: block; margin: 5px 0 1px; font-size: 26px; line-height: 1; letter-spacing: -.04em; }
.metric-grid small { color: #9a99aa; font-size: 8.5px; }
.metric-grid [data-metric="critical"] { color: #ca314d; }
.metric-grid [data-metric="high"] { color: #e56d34; }
.metric-grid [data-metric="medium"] { color: #b78a0b; }
.metric-grid [data-metric="low"] { color: #4f79cb; }
.metric-grid [data-metric="info"] { color: #6e5ec7; }
.result-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-top: 23px; }
.result-toolbar h3 { margin: 3px 0 0; font-size: 20px; letter-spacing: -.025em; }
.result-toolbar h3 small { display: inline-grid; place-items: center; min-width: 24px; height: 24px; padding: 0 6px; border-radius: 8px; background: var(--primary-soft); color: var(--primary); font-size: 10px; vertical-align: 3px; }
.findings-search { width: min(330px, 42%); min-height: 40px; display: flex; align-items: center; gap: 9px; padding: 0 13px; border: 1px solid #dfdcea; border-radius: 11px; background: rgba(255,255,255,.88); transition: border-color .2s ease, box-shadow .2s ease; }
.findings-search:focus-within { border-color: #b9a9ff; box-shadow: 0 0 0 4px rgba(111,72,255,.08); }
.findings-search svg { flex: 0 0 auto; width: 16px; height: 16px; fill: none; stroke: #8b899d; stroke-width: 1.7; stroke-linecap: round; }
.findings-search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--text); font-size: 11px; }
.filter-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.filter-chips button { min-height: 30px; padding: 0 12px; border: 1px solid #e0ddec; border-radius: 9px; background: rgba(255,255,255,.8); cursor: pointer; color: #737286; font-size: 9.5px; font-weight: 790; transition: all .18s ease; }
.filter-chips button:hover, .filter-chips button.is-active { border-color: var(--primary); background: var(--primary); color: #fff; box-shadow: 0 8px 18px rgba(111,72,255,.18); }
.issues-list { display: grid; gap: 9px; margin-top: 14px; padding-bottom: 8px; }
.issue-card { display: grid; grid-template-columns: 12px minmax(0,1fr) auto; gap: 13px; align-items: start; padding: 15px 16px; border: 1px solid #e5e2ed; border-radius: 13px; background: rgba(255,255,255,.9); box-shadow: 0 7px 18px rgba(37,31,75,.035); animation: issue-enter .42s both; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.issue-card:hover { transform: translateY(-1px); border-color: #d6d0ee; box-shadow: 0 11px 26px rgba(37,31,75,.07); }
.issue-card__dot { width: 8px; height: 8px; margin-top: 5px; border-radius: 50%; background: #8b899d; box-shadow: 0 0 0 5px rgba(139,137,157,.09); }
.issue-card[data-severity="critical"] .issue-card__dot { background: #d83452; box-shadow: 0 0 0 5px rgba(216,52,82,.10); }
.issue-card[data-severity="high"] .issue-card__dot { background: #e87036; box-shadow: 0 0 0 5px rgba(232,112,54,.10); }
.issue-card[data-severity="medium"] .issue-card__dot { background: #c19513; box-shadow: 0 0 0 5px rgba(193,149,19,.10); }
.issue-card[data-severity="low"] .issue-card__dot { background: #4e79cc; box-shadow: 0 0 0 5px rgba(78,121,204,.10); }
.issue-card[data-severity="info"] .issue-card__dot { background: #6f60c9; box-shadow: 0 0 0 5px rgba(111,96,201,.10); }
.issue-card h4 { margin: 0; font-size: 12.5px; line-height: 1.35; }
.issue-card p { margin: 5px 0 7px; color: #77768a; font-size: 10.5px; line-height: 1.55; }
.issue-card code { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 3px 7px; border-radius: 6px; background: #f6f4fb; color: #69677c; font: 9px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.issue-card__severity { padding: 4px 7px; border-radius: 7px; background: #f3f1f8; color: #77758a; font-size: 8px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.issue-card[data-severity="critical"] .issue-card__severity { background: var(--danger-soft); color: #c92c49; }
.issue-card[data-severity="high"] .issue-card__severity { background: #fff1e8; color: #d85f29; }
.issue-card[data-severity="medium"] .issue-card__severity { background: #fff8df; color: #a9800b; }
.issue-card[data-severity="low"] .issue-card__severity { background: #eef4ff; color: #456fbf; }
.issue-card[data-severity="info"] .issue-card__severity { background: #f0edff; color: #6254b9; }
.no-issues { padding: 30px; border: 1px dashed #d9d5e7; border-radius: 13px; background: rgba(255,255,255,.65); color: #858397; text-align: center; font-size: 11.5px; }
.scan-notice { margin-top: 13px; padding: 11px 13px; border: 1px solid #e0ddec; border-radius: 10px; background: #faf9fd; color: #77768a; font-size: 9.5px; }

/* Upload panel */
.upload-panel {
	min-width: 0;
	border-left: 1px solid #dfdde9;
	background: #fff;
	overflow: auto;
}
.upload-panel__inner { min-height: 100%; padding: clamp(30px, 2.55vw, 44px) clamp(26px, 2.35vw, 40px); }
.upload-heading h2 { margin: 7px 0 6px; font-size: 20px; letter-spacing: -.025em; }
.upload-heading p { margin: 0; color: var(--muted); font-size: 12.5px; line-height: 1.65; }
.drop-zone {
	position: relative;
	min-height: 260px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-top: 24px;
	padding: 28px;
	overflow: hidden;
	border: 1.5px dashed #ab99ff;
	border-radius: 17px;
	background:
		radial-gradient(circle at 50% 48%, rgba(111,72,255,.07), transparent 38%),
		linear-gradient(145deg, #fff, #fbf9ff);
	cursor: pointer;
	text-align: center;
	transition: border-color .22s ease, background .22s ease, transform .22s ease, box-shadow .22s ease;
}
.drop-zone::after { content: ""; position: absolute; width: 170px; height: 170px; left: -90px; bottom: -95px; border-radius: 50%; background: rgba(111,72,255,.045); }
.drop-zone:hover, .drop-zone.is-dragging { border-color: var(--primary); background: #faf8ff; transform: translateY(-2px); box-shadow: 0 20px 40px rgba(91,58,225,.09); }
.drop-zone input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.upload-icon { position: relative; z-index: 2; width: 70px; height: 70px; display: grid; place-items: center; margin-bottom: 17px; border: 1px solid #dad2ff; border-radius: 18px; background: linear-gradient(145deg, #fff, #f3efff); box-shadow: 0 15px 30px rgba(87,55,220,.12), inset 0 1px 0 #fff; will-change: transform; }
.upload-icon svg { width: 34px; height: 34px; fill: none; stroke: var(--primary); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.drop-zone strong { position: relative; z-index: 2; font-size: 15px; }
.drop-zone > span:not(.upload-icon) { position: relative; z-index: 2; margin-top: 6px; color: #77768a; font-size: 11.5px; }
.drop-zone small { position: relative; z-index: 2; margin-top: 14px; color: #a09eaf; font-size: 9.5px; }
.drop-zone__particles i { position: absolute; width: 5px; height: 5px; border-radius: 50%; background: #9f86ff; opacity: .35; }
.drop-zone__particles i:nth-child(1) { left: 11%; top: 23%; animation: float-dot 6s ease-in-out infinite; }
.drop-zone__particles i:nth-child(2) { right: 13%; top: 17%; animation: float-dot 7s ease-in-out -2s infinite; }
.drop-zone__particles i:nth-child(3) { right: 10%; bottom: 18%; animation: float-dot 8s ease-in-out -4s infinite; }
.drop-zone__particles i:nth-child(4) { left: 18%; bottom: 24%; animation: float-dot 5.5s ease-in-out -1s infinite; }
.drop-zone__particles i:nth-child(5) { left: 52%; top: 8%; animation: float-dot 7.5s ease-in-out -3s infinite; }
.selected-file { min-height: 66px; display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; align-items: center; gap: 12px; margin-top: 14px; padding: 11px 12px; border: 1px solid #ddd8f2; border-radius: 13px; background: #fbf9ff; animation: selected-enter .35s ease both; }
.selected-file__icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 11px; background: linear-gradient(145deg, #7857ff, #5d37ee); color: #fff; font-size: 9px; font-weight: 850; letter-spacing: .06em; box-shadow: 0 8px 18px rgba(94,57,239,.22); }
.selected-file__copy { min-width: 0; }
.selected-file__copy strong, .selected-file__copy span { display: block; }
.selected-file__copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11.5px; }
.selected-file__copy span { margin-top: 3px; color: #8a899b; font-size: 9.5px; }
.selected-file__ready { padding: 4px 7px; border-radius: 7px; background: var(--success-soft); color: var(--success); font-size: 8px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.selected-file button { width: 27px; height: 27px; border: 0; border-radius: 8px; background: #f0edf8; cursor: pointer; color: #77758b; font-size: 17px; line-height: 1; }
.selected-file button:hover { background: var(--danger-soft); color: var(--danger); }
.privacy-note { display: flex; align-items: flex-start; gap: 10px; margin-top: 15px; padding: 0 4px; color: #77768a; }
.privacy-note svg { flex: 0 0 auto; width: 15px; height: 15px; margin-top: 2px; fill: #f1a525; }
.privacy-note p { margin: 0; font-size: 9.5px; line-height: 1.55; }
.scan-scope { margin-top: 22px; border: 1px solid #e3e0ef; border-radius: 13px; background: #fbfaff; overflow: hidden; }
.scan-scope summary { min-height: 72px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 12px 14px; cursor: pointer; list-style: none; }
.scan-scope summary::-webkit-details-marker { display: none; }
.scan-scope__icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 11px; background: var(--primary-soft); color: var(--primary); }
.scan-scope__icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.scan-scope summary strong, .scan-scope summary small { display: block; }
.scan-scope summary strong { font-size: 11.5px; }
.scan-scope summary small { margin-top: 4px; color: #858397; font-size: 9px; line-height: 1.45; }
.scan-scope__chevron { width: 16px; height: 16px; fill: none; stroke: #7f7d91; stroke-width: 1.8; stroke-linecap: round; transition: transform .2s ease; }
.scan-scope[open] .scan-scope__chevron { transform: rotate(180deg); }
.scope-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 0 13px 13px; }
.scope-grid span { min-height: 38px; display: flex; align-items: center; gap: 8px; padding: 0 9px; border: 1px solid #e8e4f2; border-radius: 9px; background: #fff; color: #67667b; font-size: 9px; font-weight: 700; }
.scope-grid i { color: var(--primary); font-size: 8px; font-style: normal; font-weight: 850; }
.button--scan { position: relative; width: 100%; min-height: 61px; margin-top: 22px; overflow: hidden; border-radius: 13px; color: #fff; background: linear-gradient(105deg, #6c45f7, #825eff 55%, #5d35ee); box-shadow: 0 16px 35px rgba(95,58,236,.25); }
.button--scan::before { content: ""; position: absolute; top: -50%; left: -70%; width: 50%; height: 200%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.26), transparent); transform: skewX(-18deg); animation: button-sheen 4.5s ease-in-out infinite; }
.button--scan:disabled { cursor: not-allowed; filter: grayscale(.1); opacity: .52; box-shadow: none; }
.button--scan:not(:disabled):hover { box-shadow: 0 20px 42px rgba(95,58,236,.32); }
.button--scan > * { position: relative; z-index: 1; }
.button--scan__icon { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 8px; background: rgba(255,255,255,.16); }
.button--scan__icon svg { width: 15px; height: 15px; fill: currentColor; stroke: none; }
.button--scan b { margin-left: auto; font-size: 18px; }
.scan-time-note { display: flex; align-items: center; justify-content: center; gap: 7px; margin: 14px 0 0; color: #858397; font-size: 9px; }
.scan-time-note svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.form-error { margin: 13px 0 0; padding: 10px 12px; border: 1px solid #f1c9d1; border-radius: 10px; background: #fff7f8; color: #b92c47; font-size: 10px; }
.scan-app.is-scanning .upload-panel { pointer-events: none; }
.scan-app.is-scanning .upload-panel__inner { opacity: .72; }
.scan-app.is-scanning .drop-zone { filter: saturate(.7); }

/* Motion */
.motion-node {
	animation-name: var(--motion-name, motion-default);
	animation-duration: var(--motion-duration, 8s);
	animation-delay: var(--motion-delay, 0s);
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	will-change: transform;
}
@keyframes motion-default { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(0,-5px,0); } }
@keyframes state-pulse { 0%,100% { transform: scale(.85); opacity: .65; } 50% { transform: scale(1.15); opacity: 1; } }
@keyframes canvas-sheen { 0%,70% { transform: translateX(-120%); } 88%,100% { transform: translateX(120%); } }
@keyframes orbit-dot-one { to { transform: rotate(360deg) translateX(55px) rotate(-360deg); } }
@keyframes orbit-dot-two { to { transform: rotate(-360deg) translateX(42px) rotate(360deg); } }
@keyframes orbit-dot-three { to { transform: rotate(360deg) translateX(36px) rotate(-360deg); } }
@keyframes orbit-spin { to { transform: rotate(360deg); } }
@keyframes orbit-spin-reverse { to { transform: rotate(-360deg); } }
@keyframes halo-breathe { 0%,100% { transform: scale(.92); opacity: .55; } 50% { transform: scale(1.08); opacity: 1; } }
@keyframes file-scan { 0% { transform: translateY(0); opacity: 0; } 18% { opacity: 1; } 85% { opacity: 1; } 100% { transform: translateY(145px); opacity: 0; } }
@keyframes active-phase { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes float-dot { 0%,100% { transform: translate3d(0,0,0) scale(.85); opacity: .25; } 50% { transform: translate3d(10px,-13px,0) scale(1.15); opacity: .65; } }
@keyframes button-sheen { 0%,65% { left: -70%; } 100% { left: 135%; } }
@keyframes selected-enter { from { opacity: 0; transform: translateY(-7px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes issue-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* Responsive */
@media (max-width: 1120px) {
	.brand { min-width: auto; }
	.brand__copy small { display: none; }
	.site-nav { gap: 28px; }
	.scan-app { grid-template-columns: minmax(0,1fr) 390px; }
	.scan-results { padding: 26px; }
	.upload-panel__inner { padding: 30px 25px; }
	.report-hero { grid-template-columns: auto 1fr; }
	.report-actions { grid-column: 1 / -1; flex-direction: row; }
	.metric-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
	:root { --header-height: 72px; }
	.site-header__inner { min-height: var(--header-height); }
	.brand__mark { width: 40px; height: 40px; }
	.brand__copy strong { font-size: 18px; }
	.menu-toggle { display: block; margin-left: auto; }
	.site-nav { position: fixed; left: 16px; right: 16px; top: calc(var(--header-height) + 8px); display: none; flex-direction: column; align-items: stretch; gap: 16px; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: var(--shadow-lg); }
	.site-nav.is-open { display: flex; }
	.site-nav__links { flex-direction: column; align-items: stretch; gap: 5px; }
	.site-nav__links a { padding: 11px; border-radius: 9px; }
	.site-nav__links a:hover { background: var(--primary-soft); }
	.scan-app { height: auto; min-height: calc(100dvh - var(--header-height)); grid-template-columns: 1fr; }
	.taskivoza-scan-page { overflow: auto; }
	.scan-results { min-height: 760px; overflow: visible; }
	.upload-panel { border-left: 0; border-top: 1px solid var(--line); overflow: visible; }
	.upload-panel__inner { max-width: 650px; margin-inline: auto; }
	.hero { grid-template-columns: 1fr; padding-top: 70px; }
	.hero-visual { min-height: 480px; }
	.feature-grid { grid-template-columns: 1fr 1fr; }
	.faq-grid { grid-template-columns: 1fr; gap: 35px; }
}
@media (max-width: 650px) {
	:root { --shell: min(100% - 28px, 1240px); }
	.taskivoza-scan-page .site-header__inner { padding-inline: 15px; }
	.brand__copy small { display: none; }
	.scan-results { min-height: 720px; padding: 20px 14px; }
	.scan-results__header { padding-inline: 4px; }
	.scan-results__header p { max-width: 270px; }
	.scan-canvas { border-radius: 17px; }
	.scan-empty { padding: 24px; }
	.scan-progress { padding: 22px 12px; justify-content: flex-start; overflow-y: auto; }
	.scan-orbit-system { width: 180px; height: 180px; margin-top: 8px; }
	.zip-document { width: 76px; height: 101px; }
	.progress-file-pill { min-width: 0; width: 90%; }
	.progress-number, .progress-track, .phase-list { width: 94%; }
	.phase-list { gap: 0; }
	.scan-phase__icon { width: 32px; height: 32px; border-radius: 10px; }
	.phase-list::before { top: 16px; }
	.scan-phase strong { font-size: 7.5px; }
	.progress-note { margin-inline: 8px; }
	.results-content { padding: 15px; }
	.report-hero { grid-template-columns: 1fr; text-align: center; }
	.score-dial { margin-inline: auto; }
	.report-title-row, .report-meta { justify-content: center; }
	.report-actions { justify-content: center; flex-wrap: wrap; }
	.metric-grid { grid-template-columns: repeat(2, 1fr); }
	.result-toolbar { align-items: stretch; flex-direction: column; }
	.findings-search { width: 100%; }
	.issue-card { grid-template-columns: 10px minmax(0,1fr); }
	.issue-card__severity { grid-column: 2; justify-self: start; }
	.upload-panel__inner { padding: 28px 18px 38px; }
	.drop-zone { min-height: 240px; }
	.hero { min-height: 0; gap: 35px; }
	.hero h1 { font-size: 45px; }
	.hero-visual { min-height: 410px; }
	.mini-card { display: none; }
	.feature-grid { grid-template-columns: 1fr; }
	.site-footer__inner { align-items: flex-start; flex-direction: column; }
}
@media (max-height: 760px) and (min-width: 901px) {
	.scan-app { min-height: 680px; height: calc(100dvh - var(--header-height)); }
	.scan-results { padding-top: 22px; padding-bottom: 22px; }
	.scan-results__header { padding-bottom: 14px; }
	.scan-orbit-system { width: 175px; height: 175px; margin-bottom: 4px; }
	.zip-document { width: 72px; height: 94px; padding: 14px; }
	.zip-document strong { margin-bottom: 13px; }
	.progress-file-pill { margin-top: 11px; }
	.progress-number { margin-top: 12px; }
	.phase-list { margin-top: 18px; }
	.progress-note { margin-top: 12px; }
	.drop-zone { min-height: 220px; margin-top: 18px; }
	.scan-scope { margin-top: 16px; }
	.button--scan { margin-top: 16px; min-height: 54px; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
@media print {
	.site-header, .upload-panel, .scan-results__header, .report-actions, .filter-chips, .findings-search { display: none !important; }
	.taskivoza-scan-page { overflow: visible; background: #fff; }
	.scan-app { display: block; height: auto; }
	.scan-results { padding: 0; background: #fff; }
	.scan-canvas { border: 0; box-shadow: none; overflow: visible; }
	.results-content { position: static; overflow: visible; padding: 0; }
	.issue-card { break-inside: avoid; }
}
.motion-node,
.scan-particle,
.orbit,
.empty-dot,
.drop-zone__particles i,
.scan-orbit-system::before,
.zip-document__scan,
.button--scan::before,
.scan-canvas::before { animation-play-state: var(--motion-state, running); }

/* Temviora WP Suite brand sizing */
.brand__copy strong{font-size:17px;white-space:nowrap}.brand__copy small{max-width:310px;line-height:1.35}
