/* =================================================================
   CarTube — Standalone Shop · Design System "Precision Tech"
   ================================================================= */

:root {
	--ct-accent: #35e0d0;
	--ct-accent-2: #5b8cff;
	--ct-accent-ink: #04221f;
	--ct-bg: #090c12;
	--ct-bg-soft: #0c111b;
	--ct-surface: #121826;
	--ct-surface-2: #171f30;
	--ct-line: rgba(255, 255, 255, .08);
	--ct-line-2: rgba(255, 255, 255, .15);
	--ct-text: #eef1f8;
	--ct-text-soft: #a8b1c5;
	--ct-text-mute: #707a90;
	--ct-ok: #46d39a;
	--ct-danger: #ff6b6b;
	--ct-gradient: linear-gradient(118deg, var(--ct-accent), var(--ct-accent-2));
	--ct-glow: 0 18px 50px -16px color-mix(in srgb, var(--ct-accent) 55%, transparent);
	--ct-shadow: 0 30px 70px -28px rgba(0, 0, 0, .75);
	--ct-shadow-sm: 0 12px 30px -14px rgba(0, 0, 0, .7);
	--ct-radius-sm: 12px;
	--ct-radius: 18px;
	--ct-radius-lg: 26px;
	--ct-container: 1200px;
	--ct-section-y: clamp(60px, 8.5vw, 122px);
	--ct-gap: clamp(20px, 3vw, 34px);
	--ct-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--ct-display: "Space Grotesk", var(--ct-font);
	--ct-ease: cubic-bezier(.22, .61, .36, 1);
	color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body.ct-body {
	margin: 0;
	background: var(--ct-bg);
	color: var(--ct-text);
	font-family: var(--ct-font);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
h1, h2, h3, h4 { font-family: var(--ct-display); font-weight: 600; line-height: 1.16; margin: 0; letter-spacing: -.02em; }
::selection { background: var(--ct-accent); color: var(--ct-accent-ink); }
:where(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
	outline: 2px solid var(--ct-accent); outline-offset: 3px; border-radius: 4px;
}

.ct-container { width: 100%; max-width: var(--ct-container); margin-inline: auto; padding-inline: clamp(18px, 4vw, 40px); }
.ct-main { display: block; }
.ct-section { position: relative; padding-block: var(--ct-section-y); scroll-margin-top: clamp(78px, 12vh, 108px); }
.ct-section--tight { padding-block: clamp(26px, 4vw, 46px); }
.ct-section + .ct-section { border-top: 1px solid color-mix(in srgb, var(--ct-line) 60%, transparent); }
.ct-section__head { max-width: 720px; margin: 0 auto clamp(38px, 5vw, 64px); text-align: center; }
.ct-section__title { font-size: clamp(1.8rem, 1rem + 2.4vw, 2.85rem); }
.ct-section__lead { margin: 18px 0 0; color: var(--ct-text-soft); font-size: 1.08rem; }

.ct-eyebrow {
	display: inline-flex; align-items: center; gap: .65em; margin-bottom: 16px;
	font-family: var(--ct-display); font-size: .82rem; font-weight: 600;
	letter-spacing: .14em; text-transform: uppercase; color: var(--ct-accent);
}
.ct-eyebrow::before { content: ""; width: 26px; height: 2px; border-radius: 2px; background: var(--ct-gradient); }
.ct-eyebrow--center::after { content: ""; width: 26px; height: 2px; border-radius: 2px; background: var(--ct-gradient); }
.ct-grad { background: var(--ct-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ct-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ct-skip-link { position: absolute; left: -9999px; top: 0; z-index: 200; padding: 12px 22px; background: var(--ct-accent); color: var(--ct-accent-ink); font-weight: 700; }
.ct-skip-link:focus { left: 0; }

/* ---------- Buttons -------------------------------------------- */
.ct-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .55em;
	padding: 13px 24px; font-family: var(--ct-display); font-weight: 600; font-size: 1rem;
	border: 1px solid transparent; border-radius: var(--ct-radius-sm); cursor: pointer;
	transition: transform .25s var(--ct-ease), box-shadow .25s var(--ct-ease), border-color .2s;
	white-space: nowrap;
}
.ct-btn__icon { width: 1.15em; height: 1.15em; flex: none; }
.ct-btn--primary { background: var(--ct-gradient); color: var(--ct-accent-ink); box-shadow: var(--ct-glow); }
.ct-btn--primary:hover { transform: translateY(-2px); box-shadow: 0 22px 56px -14px color-mix(in srgb, var(--ct-accent) 70%, transparent); }
.ct-btn--ghost { background: rgba(255, 255, 255, .03); border-color: var(--ct-line-2); color: var(--ct-text); }
.ct-btn--ghost:hover { border-color: var(--ct-accent); color: #fff; transform: translateY(-2px); }
.ct-btn--sm { padding: 9px 16px; font-size: .92rem; }
.ct-btn--lg { padding: 16px 30px; font-size: 1.08rem; }
.ct-btn--xl { padding: 19px 40px; font-size: 1.16rem; }
.ct-btn--block { width: 100%; }
.ct-btn[disabled], .ct-btn.is-disabled { opacity: .5; pointer-events: none; }
.ct-btn--wobble { animation: ctWobble 3.6s ease-in-out infinite; transform-origin: center; }
.ct-btn--wobble:hover { animation: none; }
@keyframes ctWobble {
	0%, 68%, 100% { transform: rotate(0) scale(1); }
	74% { transform: rotate(-2.6deg) scale(1.025); }
	81% { transform: rotate(2.6deg) scale(1.025); }
	88% { transform: rotate(-1.4deg) scale(1.01); }
	94% { transform: rotate(.6deg) scale(1); }
}

.ct-card { position: relative; background: var(--ct-surface); border: 1px solid var(--ct-line); border-radius: var(--ct-radius-lg); padding: clamp(22px, 2.6vw, 32px); transition: transform .3s var(--ct-ease), border-color .3s, box-shadow .3s; }
.ct-card:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--ct-accent) 35%, var(--ct-line-2)); box-shadow: var(--ct-shadow-sm); }
.ct-icon { display: inline-block; vertical-align: middle; }
.ct-icon--inline { width: 1.1em; height: 1.1em; }
.ct-link { display: inline-flex; align-items: center; gap: .5em; color: var(--ct-accent); font-weight: 600; }
.ct-checklist { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 13px; }
.ct-checklist li { display: flex; gap: 12px; align-items: flex-start; color: var(--ct-text-soft); }
.ct-checklist li .ct-icon { width: 22px; height: 22px; flex: none; color: var(--ct-accent); margin-top: 1px; }
.ct-checklist--compact { gap: 10px; }
.ct-note { display: flex; gap: 12px; align-items: flex-start; margin: 26px 0 0; padding: 15px 18px; background: rgba(255, 255, 255, .03); border: 1px solid var(--ct-line); border-radius: var(--ct-radius-sm); font-size: .94rem; color: var(--ct-text-soft); }
.ct-note .ct-icon { width: 22px; height: 22px; flex: none; color: var(--ct-accent); }
.ct-stars { display: inline-flex; gap: 2px; color: #ffc24a; }
.ct-star { width: 16px; height: 16px; }
.ct-pay { list-style: none; font-family: var(--ct-display); font-size: .78rem; font-weight: 600; color: var(--ct-text-soft); padding: 6px 12px; border: 1px solid var(--ct-line-2); border-radius: 7px; background: rgba(255, 255, 255, .03); }
.ct-orb { position: absolute; border-radius: 50%; filter: blur(70px); pointer-events: none; z-index: 0; }
.ct-orb--1 { width: 460px; height: 460px; background: color-mix(in srgb, var(--ct-accent) 26%, transparent); }
.ct-orb--2 { width: 380px; height: 380px; background: color-mix(in srgb, var(--ct-accent-2) 24%, transparent); }
.ct-pulse { animation: ctPulse 2s ease-in-out infinite; }
@keyframes ctPulse { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }

/* ---------- Notices -------------------------------------------- */
.ct-notice { display: flex; align-items: center; gap: 12px; margin: 0 0 26px; padding: 15px 20px; border-radius: var(--ct-radius); border: 1px solid var(--ct-line); background: var(--ct-surface); }
.ct-notice p { margin: 0; }
.ct-notice .ct-icon { width: 24px; height: 24px; flex: none; }
.ct-notice--error { background: rgba(255, 107, 107, .1); border-color: rgba(255, 107, 107, .4); }
.ct-notice--error .ct-icon { color: #ff8a8a; }
.ct-notice--ok { background: color-mix(in srgb, var(--ct-accent) 10%, transparent); border-color: color-mix(in srgb, var(--ct-accent) 40%, transparent); }
.ct-notice--ok .ct-icon { color: var(--ct-accent); }

/* ---------- Header --------------------------------------------- */
.ct-announce { background: var(--ct-gradient); color: var(--ct-accent-ink); font-size: .88rem; font-weight: 600; }
.ct-announce__inner { display: flex; align-items: center; justify-content: center; gap: 9px; padding: 9px 16px; text-align: center; }
.ct-announce__icon { width: 16px; height: 16px; flex: none; }
.ct-header { position: sticky; top: 0; z-index: 90; border-bottom: 1px solid transparent; transition: background-color .3s, box-shadow .3s, border-color .3s; }
.ct-header.is-scrolled { background: color-mix(in srgb, var(--ct-bg) 86%, transparent); backdrop-filter: saturate(160%) blur(14px); -webkit-backdrop-filter: saturate(160%) blur(14px); border-bottom-color: var(--ct-line); box-shadow: 0 14px 40px -28px rgba(0, 0, 0, .9); }
.ct-header__inner { display: flex; align-items: center; gap: 22px; min-height: 74px; }
.ct-logo { display: inline-flex; align-items: center; gap: 11px; }
.ct-logo__mark { width: 38px; height: 38px; flex: none; }
.ct-logo__plate { fill: var(--ct-surface-2); stroke: var(--ct-line-2); stroke-width: 1.4; }
.ct-logo__wave { fill: none; stroke: var(--ct-accent); stroke-width: 3.4; stroke-linecap: round; }
.ct-logo__wave--3 { opacity: .5; }
.ct-logo__dot { fill: var(--ct-accent); }
.ct-logo__word { font-family: var(--ct-display); font-weight: 700; font-size: 1.32rem; letter-spacing: -.02em; color: var(--ct-text); }
.ct-logo__word em { font-style: normal; color: var(--ct-accent); }
.ct-nav { margin-inline: auto; }
.ct-nav__list { display: flex; gap: 6px; list-style: none; margin: 0; padding: 0; }
.ct-nav__link { display: block; padding: 9px 14px; font-size: .96rem; font-weight: 500; color: var(--ct-text-soft); border-radius: 9px; transition: color .2s, background-color .2s; }
.ct-nav__link:hover, .ct-nav__link.is-active { color: var(--ct-text); background: rgba(255, 255, 255, .05); }
.ct-header__actions { display: flex; align-items: center; gap: 12px; }
.ct-burger { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; background: rgba(255, 255, 255, .04); border: 1px solid var(--ct-line-2); border-radius: 11px; cursor: pointer; }
.ct-burger__lines { display: grid; gap: 4px; }
.ct-burger__lines span { display: block; width: 19px; height: 2px; background: var(--ct-text); border-radius: 2px; transition: transform .25s var(--ct-ease), opacity .2s; }
.ct-burger[aria-expanded="true"] .ct-burger__lines span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.ct-burger[aria-expanded="true"] .ct-burger__lines span:nth-child(2) { opacity: 0; }
.ct-burger[aria-expanded="true"] .ct-burger__lines span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.ct-mobile-nav { position: fixed; left: 0; right: 0; top: var(--ct-header-bottom, 74px); z-index: 89; background: color-mix(in srgb, var(--ct-bg) 97%, transparent); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border-bottom: 1px solid var(--ct-line); padding: 20px clamp(18px, 5vw, 32px) 28px; display: grid; gap: 16px; transform: translateY(-14px); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .26s var(--ct-ease), transform .26s var(--ct-ease), visibility .26s; }
.ct-mobile-nav.is-open { transform: none; opacity: 1; visibility: visible; pointer-events: auto; }
.ct-mobile-nav[hidden] { display: grid; }
.ct-mobile-nav__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.ct-mobile-nav__list a { display: block; padding: 12px 4px; font-family: var(--ct-display); font-size: 1.12rem; font-weight: 600; border-bottom: 1px solid var(--ct-line); }

/* ---------- Footer --------------------------------------------- */
.ct-footer { background: var(--ct-bg-soft); border-top: 1px solid var(--ct-line); padding-block: clamp(48px, 6vw, 80px) 34px; }
.ct-footer__top { display: grid; grid-template-columns: 1.4fr 1fr; gap: clamp(30px, 5vw, 70px); padding-bottom: 38px; }
.ct-footer__tagline { color: var(--ct-text-soft); margin: 18px 0; max-width: 40ch; font-size: .98rem; }
.ct-footer__mail { display: inline-flex; align-items: center; gap: 9px; color: var(--ct-text); font-weight: 600; }
.ct-footer__mail .ct-icon { width: 19px; height: 19px; color: var(--ct-accent); }
.ct-footer__mail:hover { color: var(--ct-accent); }
.ct-footer__heading { font-family: var(--ct-display); font-size: .82rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ct-text-mute); margin: 0 0 14px; }
.ct-footer__menu { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ct-footer__menu a { color: var(--ct-text-soft); }
.ct-footer__menu a:hover { color: var(--ct-accent); }
.ct-footer__pay { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; padding: 24px 0; border-top: 1px solid var(--ct-line); }
.ct-footer__pay-label { font-size: .85rem; color: var(--ct-text-mute); }
.ct-footer__pay ul { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.ct-footer__disclaimer { font-size: .82rem; color: var(--ct-text-mute); margin: 0 0 20px; max-width: 80ch; }
.ct-footer__bar { padding-top: 22px; border-top: 1px solid var(--ct-line); }
.ct-footer__copy { margin: 0; font-size: .86rem; color: var(--ct-text-mute); }

.ct-stickybar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 88; display: flex; align-items: center; gap: 14px; padding: 11px clamp(14px, 4vw, 22px); padding-bottom: calc(11px + env(safe-area-inset-bottom)); background: color-mix(in srgb, var(--ct-bg) 96%, transparent); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-top: 1px solid var(--ct-line-2); transform: translateY(120%); transition: transform .35s var(--ct-ease); }
.ct-stickybar.is-visible { transform: none; }
.ct-stickybar[hidden] { display: flex; }
.ct-stickybar__info { display: grid; line-height: 1.25; }
.ct-stickybar__name { font-size: .78rem; color: var(--ct-text-mute); }
.ct-stickybar__price { font-family: var(--ct-display); font-weight: 700; font-size: 1.05rem; }
.ct-stickybar .ct-btn { margin-left: auto; }
.ct-totop { position: fixed; right: 20px; bottom: 20px; z-index: 80; width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; background: var(--ct-surface-2); border: 1px solid var(--ct-line-2); border-radius: 50%; color: var(--ct-text); cursor: pointer; opacity: 0; transform: translateY(14px) scale(.85); pointer-events: none; transition: opacity .3s, transform .3s var(--ct-ease), border-color .2s; }
.ct-totop.is-visible { opacity: 1; transform: none; pointer-events: auto; }
.ct-totop:hover { border-color: var(--ct-accent); color: var(--ct-accent); }

/* ---------- Hero ----------------------------------------------- */
.ct-hero { padding-top: clamp(46px, 6vw, 86px); overflow: hidden; }
.ct-hero__bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.ct-hero__bg .ct-orb--1 { top: -120px; left: -120px; }
.ct-hero__bg .ct-orb--2 { bottom: -160px; right: -100px; }
.ct-hero__grid { position: absolute; inset: 0; background-image: linear-gradient(color-mix(in srgb, var(--ct-line) 70%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--ct-line) 70%, transparent) 1px, transparent 1px); background-size: 64px 64px; -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 32%, #000 0%, transparent 78%); mask-image: radial-gradient(ellipse 80% 60% at 50% 32%, #000 0%, transparent 78%); opacity: .6; }
.ct-hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: clamp(30px, 5vw, 64px); }
.ct-hero__title { font-size: clamp(2.35rem, 1rem + 5vw, 4.15rem); margin: 8px 0 0; }
.ct-hero__title-line { display: block; color: var(--ct-text-soft); font-weight: 500; }
.ct-hero__sub { margin: 22px 0 0; font-size: 1.14rem; color: var(--ct-text-soft); max-width: 46ch; }
.ct-hero__cta { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.ct-hero__trust { list-style: none; margin: 30px 0 0; padding: 24px 0 0; border-top: 1px solid var(--ct-line); display: flex; flex-wrap: wrap; gap: 10px 22px; }
.ct-hero__trust li { display: flex; align-items: center; gap: 8px; font-size: .9rem; color: var(--ct-text-soft); }
.ct-hero__trust li .ct-icon { width: 19px; height: 19px; color: var(--ct-accent); }
.ct-hero__visual { position: relative; }
.ct-hero__art { width: 100%; height: auto; filter: drop-shadow(0 40px 60px rgba(0, 0, 0, .55)); }
.ct-hero__orbit { animation: ctSpin 60s linear infinite; transform-origin: 320px 230px; }
.ct-hero__wave { opacity: .25; animation: ctWave 2.6s var(--ct-ease) infinite; }
.ct-hero__wave--1 { animation-delay: 0s; }
.ct-hero__wave--2 { animation-delay: .35s; }
.ct-hero__wave--3 { animation-delay: .7s; }
.ct-hero__chip { animation: ctFloat 5s ease-in-out infinite; }
@keyframes ctWave { 0%, 100% { opacity: .18; } 50% { opacity: 1; } }
@keyframes ctSpin { to { transform: rotate(360deg); } }
@keyframes ctFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }

/* ---------- Trust bar ------------------------------------------ */
.ct-trustbar { background: var(--ct-bg-soft); }
.ct-trustbar__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 30px; justify-content: center; }
.ct-trustbar__label { margin: 0; font-size: .82rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ct-text-mute); }
.ct-trustbar__list { list-style: none; display: flex; flex-wrap: wrap; gap: 10px 26px; margin: 0; padding: 0; }
.ct-trustbar__list li { font-family: var(--ct-display); font-weight: 600; color: var(--ct-text-soft); font-size: 1.02rem; }

/* ---------- Value ---------------------------------------------- */
.ct-value__statement { max-width: 760px; margin: 0 auto; text-align: center; }
.ct-value__pillars { list-style: none; margin: clamp(40px, 5vw, 64px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--ct-gap); }
.ct-value__pillar { text-align: center; padding: 32px 22px; background: var(--ct-surface); border: 1px solid var(--ct-line); border-radius: var(--ct-radius-lg); }
.ct-value__icon { display: inline-flex; width: 52px; height: 52px; align-items: center; justify-content: center; border-radius: 14px; background: color-mix(in srgb, var(--ct-accent) 14%, transparent); color: var(--ct-accent); margin-bottom: 16px; }
.ct-value__icon .ct-icon { width: 26px; height: 26px; }
.ct-value__num { display: block; font-family: var(--ct-display); font-weight: 700; font-size: 2.3rem; background: var(--ct-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ct-value__desc { display: block; margin-top: 6px; color: var(--ct-text-soft); }

/* ---------- Product (merged: device + advantages + tech) ------- */
.ct-product__split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 5vw, 64px); align-items: center; }
.ct-showcase__art { width: 100%; }
.ct-product__points { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.ct-product__point { display: flex; gap: 18px; padding: 20px; background: var(--ct-surface); border: 1px solid var(--ct-line); border-radius: var(--ct-radius); transition: border-color .25s, transform .25s var(--ct-ease); }
.ct-product__point:hover { border-color: color-mix(in srgb, var(--ct-accent) 40%, var(--ct-line)); transform: translateX(4px); }
.ct-product__point-icon { flex: none; display: inline-flex; width: 48px; height: 48px; align-items: center; justify-content: center; border-radius: 13px; background: color-mix(in srgb, var(--ct-accent) 13%, transparent); color: var(--ct-accent); }
.ct-product__point-icon .ct-icon { width: 24px; height: 24px; }
.ct-product__point h3 { font-size: 1.14rem; }
.ct-product__point p { margin: 7px 0 0; color: var(--ct-text-soft); font-size: .97rem; }
.ct-specs { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; margin-top: clamp(34px, 4vw, 52px); }
.ct-spec { text-align: center; padding: 22px 12px; background: var(--ct-surface); border: 1px solid var(--ct-line); border-radius: var(--ct-radius); }
.ct-spec__icon { display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; border-radius: 11px; background: color-mix(in srgb, var(--ct-accent) 13%, transparent); color: var(--ct-accent); margin-bottom: 12px; }
.ct-spec__icon .ct-icon { width: 22px; height: 22px; }
.ct-spec__value { display: block; font-family: var(--ct-display); font-weight: 700; font-size: 1.04rem; }
.ct-spec__label { display: block; margin-top: 2px; font-size: .82rem; color: var(--ct-text-mute); }

/* ---------- App / car radio ------------------------------------ */
.ct-app { background: var(--ct-bg-soft); }
.ct-app__grid-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 5vw, 64px); align-items: center; }
.ct-radio { position: relative; }
.ct-radio__unit { display: flex; align-items: stretch; gap: 14px; padding: 16px; background: linear-gradient(180deg, var(--ct-surface-2), #0d121c); border: 1px solid var(--ct-line-2); border-radius: 22px; box-shadow: var(--ct-shadow); }
.ct-radio__knob { flex: none; align-self: center; width: 46px; height: 46px; border-radius: 50%; background: radial-gradient(circle at 38% 34%, #2a3349, #10141d); border: 1px solid var(--ct-line-2); position: relative; }
.ct-radio__knob::after { content: ""; position: absolute; left: 50%; top: 7px; width: 3px; height: 12px; border-radius: 2px; background: var(--ct-accent); transform: translateX(-50%); }
.ct-radio__screen { flex: 1; min-width: 0; background: #070a0f; border: 1px solid var(--ct-line); border-radius: 12px; padding: 12px; }
.ct-app__bar { display: flex; align-items: center; justify-content: space-between; padding: 2px 6px 12px; }
.ct-app__time { font-family: var(--ct-display); font-weight: 600; font-size: .82rem; color: var(--ct-text-soft); }
.ct-app__dots { display: flex; gap: 4px; }
.ct-app__dots i { width: 5px; height: 5px; border-radius: 50%; background: var(--ct-text-mute); }
.ct-app__tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; }
.ct-app__tile { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 12px 4px; background: rgba(255, 255, 255, .04); border: 1px solid var(--ct-line); border-radius: 12px; transition: transform .25s var(--ct-ease), border-color .25s; }
.ct-app__tile:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--ct-accent) 40%, var(--ct-line)); }
.ct-app__tile-icon { display: flex; width: 34px; height: 34px; align-items: center; justify-content: center; border-radius: 10px; background: color-mix(in srgb, var(--ct-accent) 15%, transparent); color: var(--ct-accent); }
.ct-app__tile-icon .ct-icon { width: 18px; height: 18px; }
.ct-app__tile-name { font-size: .68rem; color: var(--ct-text-soft); text-align: center; }
.ct-radio__buttons { display: flex; justify-content: center; gap: 10px; margin: 14px auto 0; }
.ct-radio__buttons i { width: 34px; height: 7px; border-radius: 4px; background: var(--ct-surface-2); border: 1px solid var(--ct-line); }
.ct-radio__wheel { max-width: 220px; margin: 6px auto 0; opacity: .8; }
.ct-radio__wheel svg { width: 100%; height: auto; }

/* ---------- Installation --------------------------------------- */
.ct-install__steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--ct-gap); }
.ct-install__step { background: var(--ct-surface); border: 1px solid var(--ct-line); border-radius: var(--ct-radius-lg); padding: 28px 26px; text-align: center; }
.ct-install__num { display: inline-block; font-family: var(--ct-display); font-weight: 700; font-size: .9rem; color: var(--ct-accent); letter-spacing: .1em; }
.ct-install__anim { display: block; width: 100%; max-width: 200px; margin: 6px auto 14px; }
.ct-stepanim { display: block; width: 100%; height: auto; overflow: visible; }
.ct-stepanim__led { animation: ctPulse 2s ease-in-out infinite; }
.ct-stepanim--plug .ct-stepanim__device { animation: ctStepPlug 3.6s var(--ct-ease) infinite; }
.ct-stepanim__spark { opacity: .7; animation: ctStepSpark 3.6s var(--ct-ease) infinite; }
@keyframes ctStepPlug { 0% { transform: translateX(-30px); } 24%, 80% { transform: translateX(0); } 100% { transform: translateX(-30px); } }
@keyframes ctStepSpark { 0%, 16% { opacity: 0; } 30%, 76% { opacity: 1; } 90%, 100% { opacity: 0; } }
.ct-stepanim--pair .ct-stepanim__wave { opacity: .35; animation: ctWave 2.4s var(--ct-ease) infinite; }
.ct-stepanim--pair .ct-stepanim__wave--2 { animation-delay: .3s; }
.ct-stepanim__check { transform-box: fill-box; transform-origin: center; animation: ctStepCheck 3.6s var(--ct-ease) infinite; }
@keyframes ctStepCheck { 0%, 54% { opacity: 0; transform: scale(0); } 68% { opacity: 1; transform: scale(1.18); } 80%, 92% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(0); } }
.ct-stepanim--drive .ct-stepanim__tile { transform-box: fill-box; transform-origin: center; opacity: 1; animation: ctStepTile 4s var(--ct-ease) infinite; }
.ct-stepanim--drive .ct-stepanim__tile--1 { animation-delay: .15s; }
.ct-stepanim--drive .ct-stepanim__tile--2 { animation-delay: .45s; }
.ct-stepanim--drive .ct-stepanim__tile--3 { animation-delay: .75s; }
.ct-stepanim--drive .ct-stepanim__tile--4 { animation-delay: 1.05s; }
@keyframes ctStepTile { 0%, 6% { opacity: 0; transform: scale(.4); } 20%, 84% { opacity: 1; transform: scale(1); } 96%, 100% { opacity: 0; transform: scale(.4); } }
.ct-stepanim__route { stroke-dasharray: 150; stroke-dashoffset: 0; animation: ctStepRoute 4s var(--ct-ease) infinite; }
@keyframes ctStepRoute { 0%, 12% { stroke-dashoffset: 150; } 50%, 88% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: 150; } }
.ct-install__title { font-size: 1.2rem; }
.ct-install__text { margin: 9px 0 0; color: var(--ct-text-soft); font-size: .96rem; }
.ct-install__cta { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px; margin-top: clamp(30px, 4vw, 48px); padding: 24px 30px; background: var(--ct-surface); border: 1px solid var(--ct-line); border-radius: var(--ct-radius-lg); }
.ct-install__cta p { margin: 0; color: var(--ct-text-soft); }
.ct-install__cta strong { color: var(--ct-text); display: block; font-family: var(--ct-display); font-size: 1.1rem; }

/* ---------- Compatibility -------------------------------------- */
.ct-compat__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ct-gap); }
.ct-compat__icon { display: inline-flex; width: 56px; height: 56px; align-items: center; justify-content: center; border-radius: 16px; background: color-mix(in srgb, var(--ct-accent) 13%, transparent); color: var(--ct-accent); margin-bottom: 16px; }
.ct-compat__icon .ct-icon { width: 28px; height: 28px; }
.ct-compat__card h3 { font-size: 1.4rem; }
.ct-compat__card > p { margin: 9px 0 0; color: var(--ct-text-soft); }
.ct-compat__brands { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 0; padding: 0; }
.ct-compat__brands li { font-size: .86rem; color: var(--ct-text-soft); padding: 6px 12px; border: 1px solid var(--ct-line); border-radius: 999px; }
.ct-compat__note { max-width: 760px; margin: 26px auto 0; }

/* ---------- Comparison ----------------------------------------- */
.ct-compare__wrap { overflow-x: auto; border: 1px solid var(--ct-line); border-radius: var(--ct-radius-lg); background: var(--ct-surface); }
.ct-compare__table { width: 100%; border-collapse: collapse; min-width: 620px; }
.ct-compare__table th, .ct-compare__table td { padding: 17px 20px; text-align: center; border-bottom: 1px solid var(--ct-line); }
.ct-compare__table thead th { font-family: var(--ct-display); color: var(--ct-text-soft); }
.ct-compare__table tbody th { text-align: left; font-weight: 500; font-family: var(--ct-font); color: var(--ct-text); font-size: .98rem; }
.ct-compare__table tr:last-child td, .ct-compare__table tr:last-child th { border-bottom: 0; }
.ct-compare__hl { background: color-mix(in srgb, var(--ct-accent) 9%, transparent); border-inline: 1px solid color-mix(in srgb, var(--ct-accent) 32%, transparent); }
.ct-compare__brand { display: block; font-weight: 700; color: var(--ct-text); font-size: 1.16rem; }
.ct-compare__tag { display: inline-block; margin-top: 5px; font-size: .64rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ct-accent-ink); background: var(--ct-gradient); padding: 3px 9px; border-radius: 999px; }
.ct-cmp__mark { display: inline-flex; width: 30px; height: 30px; align-items: center; justify-content: center; border-radius: 50%; }
.ct-cmp__mark .ct-icon { width: 18px; height: 18px; }
.ct-cmp__mark--yes { background: color-mix(in srgb, var(--ct-accent) 18%, transparent); color: var(--ct-accent); }
.ct-cmp__mark--no { background: rgba(255, 255, 255, .05); color: var(--ct-text-mute); }

/* ---------- Reviews -------------------------------------------- */
.ct-reviews { background: var(--ct-bg-soft); }
.ct-reviews__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--ct-gap); }
.ct-review { display: flex; flex-direction: column; }
.ct-review__quote { position: absolute; top: 22px; right: 24px; color: color-mix(in srgb, var(--ct-accent) 28%, transparent); }
.ct-review__quote .ct-icon { width: 38px; height: 38px; }
.ct-review .ct-stars { margin-bottom: 14px; }
.ct-review__text { margin: 0 0 22px; font-size: 1.04rem; color: var(--ct-text); }
.ct-review__by { display: flex; align-items: center; gap: 12px; margin-top: auto; }
.ct-review__avatar { width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; background: var(--ct-gradient); color: var(--ct-accent-ink); font-family: var(--ct-display); font-weight: 700; border-radius: 50%; }
.ct-review__meta { display: grid; line-height: 1.3; }
.ct-review__meta strong { font-size: .98rem; }
.ct-review__meta span { font-size: .82rem; color: var(--ct-text-mute); }
.ct-reviews__hint { text-align: center; margin: 26px 0 0; font-size: .82rem; color: var(--ct-text-mute); }

/* ---------- FAQ ------------------------------------------------ */
.ct-faq { background: var(--ct-bg-soft); }
.ct-faq__wrap { max-width: 840px; }
.ct-faq__list { display: grid; gap: 12px; }
.ct-faq__item { background: var(--ct-surface); border: 1px solid var(--ct-line); border-radius: var(--ct-radius); overflow: hidden; transition: border-color .25s; }
.ct-faq__item[open] { border-color: color-mix(in srgb, var(--ct-accent) 35%, var(--ct-line)); }
.ct-faq__q { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 19px 22px; cursor: pointer; font-family: var(--ct-display); font-weight: 600; font-size: 1.06rem; list-style: none; }
.ct-faq__q::-webkit-details-marker { display: none; }
.ct-faq__chev { flex: none; display: inline-flex; width: 30px; height: 30px; align-items: center; justify-content: center; border: 1px solid var(--ct-line-2); border-radius: 50%; color: var(--ct-accent); transition: transform .3s var(--ct-ease), background-color .25s; }
.ct-faq__chev .ct-icon { width: 17px; height: 17px; }
.ct-faq__item[open] .ct-faq__chev { transform: rotate(180deg); background: color-mix(in srgb, var(--ct-accent) 16%, transparent); }
.ct-faq__a { padding: 0 22px 21px; }
.ct-faq__a p { margin: 0; color: var(--ct-text-soft); }
.ct-faq__item[open] .ct-faq__a { animation: ctFaqReveal .32s var(--ct-ease); }
@keyframes ctFaqReveal { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* ---------- Buy ------------------------------------------------ */
.ct-buy { overflow: hidden; }
.ct-buy__bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.ct-buy__bg .ct-orb--1 { top: 10%; left: 50%; transform: translateX(-50%); opacity: .6; }
.ct-buy .ct-container { position: relative; z-index: 1; }
.ct-buy__card { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(20px, 3vw, 44px); background: var(--ct-surface); border: 1px solid var(--ct-line-2); border-radius: var(--ct-radius-lg); padding: clamp(20px, 3vw, 40px); box-shadow: var(--ct-shadow); }
.ct-buy__media { position: relative; display: flex; align-items: center; justify-content: center; background: radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--ct-accent) 16%, transparent), transparent 70%); border: 1px solid var(--ct-line); border-radius: var(--ct-radius); padding: 26px; min-height: 240px; }
.ct-buy__art { max-width: 280px; }
.ct-buy__badge { position: absolute; top: 16px; left: 16px; display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; background: var(--ct-gradient); color: var(--ct-accent-ink); font-family: var(--ct-display); font-weight: 700; font-size: .76rem; border-radius: 999px; }
.ct-buy__name { font-size: clamp(1.4rem, 1rem + 1.4vw, 1.95rem); }
.ct-buy__price { margin: 14px 0 2px; display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 12px; }
.ct-buy__price ins { font-family: var(--ct-display); font-weight: 700; font-size: 2.5rem; line-height: 1.1; color: var(--ct-text); text-decoration: none; background: none; }
.ct-buy__price del { font-family: var(--ct-display); font-weight: 600; font-size: 1.3rem; line-height: 1.1; color: var(--ct-text-mute); }
.ct-buy__pricenote { margin: 0; font-size: .86rem; color: var(--ct-text-mute); }
.ct-buy__includes { margin-block: 22px; }
.ct-buy__includes li { font-size: .98rem; color: var(--ct-text); }
.ct-buy__micro { display: flex; align-items: center; justify-content: center; gap: 7px; margin: 13px 0 0; font-size: .88rem; color: var(--ct-text-soft); }
.ct-buy__micro .ct-icon { color: var(--ct-accent); }
.ct-buy__stock { display: flex; align-items: center; gap: 9px; margin: 16px 0 0; font-size: .92rem; font-weight: 600; color: var(--ct-ok); }
.ct-buy__dot { width: 9px; height: 9px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 25%, transparent); }
.ct-buy__trust { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 22px 0 0; padding: 22px 0 0; border-top: 1px solid var(--ct-line); }
.ct-buy__trust li { display: flex; align-items: center; gap: 9px; font-size: .9rem; color: var(--ct-text-soft); }
.ct-buy__trust .ct-icon { width: 21px; height: 21px; color: var(--ct-accent); flex: none; }

/* ---------- Final CTA ------------------------------------------ */
.ct-finalcta { overflow: hidden; text-align: center; }
.ct-finalcta__bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.ct-finalcta__bg .ct-orb--1 { top: -120px; left: 8%; }
.ct-finalcta__bg .ct-orb--2 { bottom: -160px; right: 6%; }
.ct-finalcta__inner { position: relative; z-index: 1; max-width: 760px; margin-inline: auto; }
.ct-finalcta__title { font-size: clamp(2rem, 1rem + 3.4vw, 3.4rem); margin-top: 6px; }
.ct-finalcta__text { margin: 20px 0 0; color: var(--ct-text-soft); font-size: 1.1rem; }
.ct-finalcta__action { margin-top: 32px; }
.ct-finalcta__reassure { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 24px; margin: 24px 0 0; padding: 0; }
.ct-finalcta__reassure li { display: flex; align-items: center; gap: 7px; font-size: .92rem; color: var(--ct-text-soft); }
.ct-finalcta__reassure .ct-icon { color: var(--ct-accent); }

/* ---------- Checkout ------------------------------------------- */
.ct-breadcrumb { display: flex; gap: 8px; font-size: .86rem; color: var(--ct-text-mute); margin-bottom: 18px; }
.ct-breadcrumb a:hover { color: var(--ct-accent); }
.ct-page__head { margin-bottom: 30px; }
.ct-page__title { font-size: clamp(1.9rem, 1rem + 2.6vw, 3rem); }
.ct-page__narrow { max-width: 820px; }
.ct-checkout__grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: clamp(24px, 3.5vw, 48px); align-items: start; }
.ct-fieldset { border: 1px solid var(--ct-line); border-radius: var(--ct-radius); background: var(--ct-surface); padding: clamp(20px, 2.4vw, 30px); margin: 0 0 18px; }
.ct-fieldset__title { display: flex; align-items: center; gap: 11px; font-family: var(--ct-display); font-size: 1.18rem; font-weight: 600; padding: 0; margin-bottom: 18px; }
.ct-fieldset__title span { display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; background: var(--ct-gradient); color: var(--ct-accent-ink); border-radius: 8px; font-size: .9rem; font-weight: 700; }
.ct-field { margin-bottom: 14px; }
.ct-field:last-child { margin-bottom: 0; }
.ct-field label { display: block; margin-bottom: 6px; font-size: .9rem; font-weight: 600; color: var(--ct-text-soft); }
.ct-field__opt { font-weight: 400; color: var(--ct-text-mute); }
.ct-field__hint { margin: 6px 0 0; font-size: .8rem; color: var(--ct-text-mute); }
.ct-field__err { display: block; margin-top: 6px; font-size: .82rem; color: #ff8a8a; }
.ct-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ct-field-grid--zip { grid-template-columns: .5fr 1fr; }
input[type=text], input[type=email], input[type=tel], input[type=number], input[type=search], select, textarea {
	width: 100%; max-width: 100%; padding: 12px 14px; font: inherit;
	background: var(--ct-surface-2); color: var(--ct-text);
	border: 1px solid var(--ct-line-2); border-radius: var(--ct-radius-sm);
}
input:focus, select:focus, textarea:focus { border-color: var(--ct-accent); outline: none; }
textarea { resize: vertical; }
.ct-payments { display: grid; gap: 12px; }
.ct-payment { display: flex; gap: 13px; padding: 16px 18px; border: 1px solid var(--ct-line-2); border-radius: var(--ct-radius); cursor: pointer; transition: border-color .2s, background-color .2s; }
.ct-payment:has(input:checked) { border-color: var(--ct-accent); background: color-mix(in srgb, var(--ct-accent) 8%, transparent); }
.ct-payment input { width: 20px; height: 20px; flex: none; accent-color: var(--ct-accent); margin-top: 2px; }
.ct-payment__title { display: flex; align-items: center; gap: 8px; font-family: var(--ct-display); font-weight: 600; }
.ct-payment__title .ct-icon { width: 20px; height: 20px; color: var(--ct-accent); }
.ct-payment__desc { display: block; margin-top: 4px; font-size: .88rem; color: var(--ct-text-soft); }
.ct-no-js .ct-payment--paypal { display: none; }

.ct-summary { background: var(--ct-surface); border: 1px solid var(--ct-line-2); border-radius: var(--ct-radius-lg); padding: clamp(20px, 2.4vw, 28px); position: sticky; top: 96px; }
.ct-summary--static { position: static; margin: 26px 0; }
.ct-summary__title { font-size: 1.2rem; margin-bottom: 18px; }
.ct-summary__item { display: flex; align-items: center; gap: 13px; padding-bottom: 16px; border-bottom: 1px solid var(--ct-line); }
.ct-summary__thumb { flex: none; display: inline-flex; width: 48px; height: 48px; align-items: center; justify-content: center; border-radius: 11px; background: color-mix(in srgb, var(--ct-accent) 14%, transparent); color: var(--ct-accent); }
.ct-summary__name { flex: 1; font-weight: 600; font-size: .96rem; }
.ct-summary__name small { display: block; font-weight: 400; color: var(--ct-text-mute); font-size: .8rem; }
.ct-summary__price { font-family: var(--ct-display); font-weight: 700; }
.ct-summary__rows { margin: 16px 0; display: grid; gap: 9px; }
.ct-summary__rows div { display: flex; justify-content: space-between; }
.ct-summary__rows dt { color: var(--ct-text-soft); }
.ct-summary__rows dd { margin: 0; }
.ct-summary__total { display: flex; justify-content: space-between; align-items: baseline; padding-top: 16px; border-top: 1px solid var(--ct-line); font-family: var(--ct-display); }
.ct-summary__total strong { font-size: 1.6rem; }
.ct-summary__vat { margin: 4px 0 0; font-size: .8rem; color: var(--ct-text-mute); }
.ct-check { display: flex; gap: 11px; margin: 20px 0 16px; font-size: .88rem; color: var(--ct-text-soft); cursor: pointer; }
.ct-check input { width: 20px; height: 20px; flex: none; accent-color: var(--ct-accent); margin-top: 1px; }
.ct-check a { color: var(--ct-accent); }
.ct-checkout__submit { margin-top: 4px; }
.ct-checkout__paypal-hint, .ct-checkout__trust { margin: 12px 0 0; font-size: .82rem; color: var(--ct-text-mute); text-align: center; }
.ct-checkout__trust .ct-icon { color: var(--ct-accent); }
#ct-paypal-buttons { min-height: 48px; }

/* ---------- Thank-you / order ---------------------------------- */
.ct-thanks__head { text-align: center; margin-bottom: 32px; }
.ct-thanks__icon { display: inline-flex; width: 64px; height: 64px; align-items: center; justify-content: center; border-radius: 50%; background: color-mix(in srgb, var(--ct-accent) 16%, transparent); color: var(--ct-accent); margin-bottom: 16px; }
.ct-thanks__icon .ct-icon { width: 36px; height: 36px; }
.ct-thanks__lead { color: var(--ct-text-soft); margin: 12px 0 0; }
.ct-bankbox { background: var(--ct-surface); border: 1px solid color-mix(in srgb, var(--ct-accent) 35%, var(--ct-line)); border-radius: var(--ct-radius-lg); padding: clamp(22px, 3vw, 32px); margin-bottom: 26px; }
.ct-bankbox h2 { display: flex; align-items: center; gap: 9px; font-size: 1.3rem; }
.ct-bankbox > p { color: var(--ct-text-soft); margin: 8px 0 18px; }
.ct-bankbox__data { display: grid; gap: 10px; margin: 0; }
.ct-bankbox__data div { display: flex; justify-content: space-between; gap: 16px; padding-bottom: 9px; border-bottom: 1px solid var(--ct-line); }
.ct-bankbox__data dt { color: var(--ct-text-mute); }
.ct-bankbox__data dd { margin: 0; font-weight: 600; text-align: right; word-break: break-word; }
.ct-bankbox__amount, .ct-bankbox__ref { color: var(--ct-accent); font-family: var(--ct-display); }
.ct-bankbox__note { margin: 16px 0 0; font-size: .86rem; color: var(--ct-text-mute); }
.ct-thanks__address h2 { font-size: 1.1rem; margin: 26px 0 8px; }
.ct-thanks__address p { color: var(--ct-text-soft); margin: 0; }
.ct-thanks__legal { margin: 24px 0; font-size: .88rem; color: var(--ct-text-mute); }
.ct-thanks__legal a { color: var(--ct-accent); }

/* ---------- Contact -------------------------------------------- */
.ct-contact__notice { display: flex; align-items: center; gap: 12px; max-width: 760px; margin: 0 auto clamp(28px, 4vw, 44px); padding: 15px 20px; border-radius: var(--ct-radius); border: 1px solid var(--ct-line); }
.ct-contact__notice p { margin: 0; }
.ct-contact__notice .ct-icon { width: 24px; height: 24px; flex: none; }
.ct-contact__notice--ok { background: color-mix(in srgb, var(--ct-accent) 10%, transparent); border-color: color-mix(in srgb, var(--ct-accent) 40%, transparent); }
.ct-contact__notice--ok .ct-icon { color: var(--ct-accent); }
.ct-contact__notice--error { background: rgba(255, 107, 107, .1); border-color: rgba(255, 107, 107, .4); }
.ct-contact__notice--error .ct-icon { color: #ff8a8a; }
.ct-contact__grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(20px, 3vw, 40px); align-items: start; }
.ct-contact__info { display: grid; gap: 14px; }
.ct-contact__card { display: flex; gap: 15px; padding: 20px; background: var(--ct-surface); border: 1px solid var(--ct-line); border-radius: var(--ct-radius); }
.ct-contact__card--soft { background: color-mix(in srgb, var(--ct-accent) 7%, var(--ct-surface)); border-color: color-mix(in srgb, var(--ct-accent) 22%, var(--ct-line)); }
.ct-contact__card-icon { display: inline-flex; width: 44px; height: 44px; flex: none; align-items: center; justify-content: center; border-radius: 12px; background: color-mix(in srgb, var(--ct-accent) 14%, transparent); color: var(--ct-accent); }
.ct-contact__card-icon .ct-icon { width: 22px; height: 22px; }
.ct-contact__card h2 { font-family: var(--ct-display); font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ct-text-mute); margin: 3px 0 5px; }
.ct-contact__card a, .ct-contact__card p { margin: 0; color: var(--ct-text-soft); }
.ct-contact__card a:hover { color: var(--ct-accent); }
.ct-contact__form-card { background: var(--ct-surface); border: 1px solid var(--ct-line-2); border-radius: var(--ct-radius-lg); padding: clamp(22px, 3vw, 38px); }
.ct-contact__form-title { font-size: 1.4rem; margin-bottom: 20px; }
.ct-contact__form { display: grid; gap: 16px; }
.ct-contact__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ct-contact__consent { margin: 2px 0 0; font-size: .82rem; color: var(--ct-text-mute); }
.ct-contact__consent a { color: var(--ct-accent); }

/* ---------- Legal / prose -------------------------------------- */
.ct-prose { color: var(--ct-text-soft); max-width: 760px; }
.ct-prose > * + * { margin-top: 1.05em; }
.ct-prose h2 { font-size: 1.5rem; margin-top: 1.8em; color: var(--ct-text); }
.ct-prose h3 { font-size: 1.18rem; margin-top: 1.5em; color: var(--ct-text); }
.ct-prose a { color: var(--ct-accent); }
.ct-prose ul { padding-left: 1.3em; }
.ct-prose li + li { margin-top: .4em; }

/* ---------- Error ---------------------------------------------- */
.ct-error { text-align: center; padding-block: clamp(60px, 10vw, 130px); max-width: 620px; }
.ct-error__code { font-family: var(--ct-display); font-weight: 700; font-size: clamp(5rem, 16vw, 9rem); line-height: 1; margin: 0; background: var(--ct-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ct-error__title { font-size: clamp(1.6rem, 1rem + 2vw, 2.4rem); margin-top: 8px; }
.ct-error__text { color: var(--ct-text-soft); margin: 14px 0 26px; }

/* ---------- Reveal --------------------------------------------- */
.ct-reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s var(--ct-ease), transform .7s var(--ct-ease); }
.ct-reveal.is-in { opacity: 1; transform: none; }
.ct-no-js .ct-reveal { opacity: 1 !important; transform: none !important; }
.ct-value__pillars .ct-reveal:nth-child(2), .ct-product__points .ct-reveal:nth-child(2), .ct-reviews__grid .ct-reveal:nth-child(2), .ct-install__steps .ct-reveal:nth-child(2) { transition-delay: .1s; }
.ct-value__pillars .ct-reveal:nth-child(3), .ct-product__points .ct-reveal:nth-child(3), .ct-reviews__grid .ct-reveal:nth-child(3), .ct-install__steps .ct-reveal:nth-child(3) { transition-delay: .2s; }
.ct-product__points .ct-reveal:nth-child(4) { transition-delay: .3s; }

/* ---------- Responsive ----------------------------------------- */
@media (max-width: 1080px) { .ct-summary { position: static; } }
@media (max-width: 960px) {
	.ct-nav, .ct-header__cta { display: none; }
	.ct-burger { display: inline-flex; }
	.ct-hero__inner { grid-template-columns: 1fr; }
	.ct-hero__visual { order: -1; max-width: 480px; margin-inline: auto; }
	.ct-product__split, .ct-app__grid-wrap, .ct-buy__card, .ct-checkout__grid, .ct-contact__grid { grid-template-columns: 1fr; }
	.ct-compat__grid, .ct-reviews__grid { grid-template-columns: 1fr; }
	.ct-specs { grid-template-columns: repeat(3, 1fr); }
	.ct-footer__top { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
	body.ct-body { font-size: 16px; }
	.ct-value__pillars, .ct-install__steps { grid-template-columns: 1fr; }
	.ct-specs { grid-template-columns: repeat(2, 1fr); }
	.ct-hero__cta .ct-btn { flex: 1 1 100%; }
	.ct-buy__trust { grid-template-columns: 1fr; }
	.ct-field-grid, .ct-field-grid--zip { grid-template-columns: 1fr; }
	.ct-install__cta { flex-direction: column; align-items: stretch; text-align: center; }
	.ct-section + .ct-section { border-top: 0; }
	.ct-totop { bottom: 78px; }
}
@media (min-width: 721px) { .ct-stickybar { display: none !important; } }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.ct-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
	.ct-hero__wave, .ct-hero__orbit, .ct-hero__chip, .ct-pulse, .ct-stepanim *, .ct-btn--wobble { animation: none !important; }
	* { transition-duration: .01ms !important; }
}

/* ---------- Checkout product description ----------------------- */
.ct-summary__desc { margin: 12px 0 0; font-size: .85rem; color: var(--ct-text-soft); }

/* ---------- Admin area ----------------------------------------- */
.ct-admin { background: var(--ct-bg); }
.ct-admin__login { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 24px; }
.ct-admin__login-card { width: 100%; max-width: 360px; background: var(--ct-surface); border: 1px solid var(--ct-line-2); border-radius: var(--ct-radius-lg); padding: 32px; display: grid; gap: 10px; }
.ct-admin__login-card h1 { font-size: 1.4rem; margin-bottom: 6px; }
.ct-admin__login-card label { font-size: .85rem; font-weight: 600; color: var(--ct-text-soft); }
.ct-admin__login-card .ct-btn { margin-top: 10px; }
.ct-admin__err { background: rgba(255, 107, 107, .12); border: 1px solid rgba(255, 107, 107, .4); color: #ffb3b3; padding: 10px 14px; border-radius: var(--ct-radius-sm); font-size: .9rem; margin: 0; }
.ct-admin__bar { display: flex; align-items: center; justify-content: space-between; padding: 14px clamp(16px, 4vw, 40px); background: var(--ct-bg-soft); border-bottom: 1px solid var(--ct-line); }
.ct-admin__brand { font-family: var(--ct-display); font-weight: 700; font-size: 1.1rem; }
.ct-admin__brand span { color: var(--ct-accent); }
.ct-admin__bar nav { display: flex; gap: 18px; }
.ct-admin__bar nav a { color: var(--ct-text-soft); font-size: .92rem; }
.ct-admin__bar nav a:hover { color: var(--ct-accent); }
.ct-admin__wrap { max-width: 1000px; margin: 0 auto; padding: clamp(24px, 4vw, 44px) clamp(16px, 4vw, 40px); }
.ct-admin__wrap h1 { font-size: 1.7rem; }
.ct-admin__back { margin: 0 0 14px; }
.ct-admin__back a:hover { color: var(--ct-accent); }
.ct-admin__head { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.ct-admin__meta { color: var(--ct-text-mute); font-size: .9rem; margin: 6px 0 22px; }
.ct-admin__grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 20px; align-items: start; }
.ct-admin__panel { background: var(--ct-surface); border: 1px solid var(--ct-line); border-radius: var(--ct-radius); padding: 22px; }
.ct-admin__panel h2 { font-size: .85rem; text-transform: uppercase; letter-spacing: .06em; color: var(--ct-text-mute); margin: 0 0 10px; }
.ct-admin__panel p { color: var(--ct-text-soft); margin: 0 0 6px; }
.ct-admin__panel form { display: grid; gap: 7px; }
.ct-admin__panel label { font-size: .85rem; font-weight: 600; color: var(--ct-text-soft); margin-top: 8px; }
.ct-admin__check { display: flex; gap: 10px; align-items: flex-start; margin-top: 14px; font-weight: 400 !important; }
.ct-admin__check input { width: 18px; height: 18px; flex: none; accent-color: var(--ct-accent); margin-top: 2px; }
.ct-admin__actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.ct-admin__danger { color: #ff8a8a; border-color: rgba(255, 107, 107, .4); }
.ct-admin__danger:hover { border-color: #ff6b6b; color: #fff; }
.ct-admin__hist { margin-top: 20px; }
.ct-admin__hist ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ct-admin__hist li { font-size: .9rem; color: var(--ct-text-soft); padding-bottom: 8px; border-bottom: 1px solid var(--ct-line); }
.ct-admin__hist li:last-child { border-bottom: 0; }
.ct-admin__hist li span { color: var(--ct-text-mute); margin-right: 8px; }
.ct-admin__tablewrap { overflow-x: auto; border: 1px solid var(--ct-line); border-radius: var(--ct-radius); }
.ct-admin__table { width: 100%; border-collapse: collapse; min-width: 640px; }
.ct-admin__table th, .ct-admin__table td { padding: 13px 16px; text-align: left; border-bottom: 1px solid var(--ct-line); }
.ct-admin__table thead th { font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: var(--ct-text-mute); }
.ct-admin__table tbody tr { cursor: pointer; }
.ct-admin__table tbody tr:hover { background: rgba(255, 255, 255, .03); }
.ct-admin__table tbody tr:last-child td { border-bottom: 0; }
.ct-admin__empty { color: var(--ct-text-soft); }
.ct-badge { display: inline-block; padding: 4px 11px; border-radius: 999px; font-size: .76rem; font-weight: 700; background: rgba(255, 255, 255, .08); color: var(--ct-text-soft); }
.ct-badge--paid, .ct-badge--shipped { background: color-mix(in srgb, var(--ct-ok) 20%, transparent); color: var(--ct-ok); }
.ct-badge--awaiting_transfer, .ct-badge--pending { background: rgba(255, 193, 74, .18); color: #ffc14a; }
.ct-badge--cancelled, .ct-badge--refunded { background: rgba(255, 107, 107, .16); color: #ff8a8a; }
@media (max-width: 720px) {
	.ct-admin__grid { grid-template-columns: 1fr; }
}
