:root {
            --blue: #005BFF;
            --blue-dark: #001D4F;
            --blue-deep: #00183f;
            --text: #071632;
            --muted: #657086;
            --line: #E5EAF3;
            --soft: #F7FAFF;
            --white: #FFFFFF;
            --green: #14B86E;
            --shadow: 0 24px 70px rgba(7, 22, 50, .10);
            --radius: 18px;
        }

        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body {
            font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
            color: var(--text);
            background: var(--white);
            line-height: 1.55;
        }

        a {
            color: inherit;
            text-decoration: none;
        }

        .container {
            width: min(1180px, calc(100% - 48px));
            margin: 0 auto;
        }

        .navbar {
            height: 76px;
            border-bottom: 1px solid var(--line);
            background: rgba(255,255,255,.94);
            backdrop-filter: blur(16px);
            position: sticky;
            top: 0;
            z-index: 50;
        }

        .nav-inner {
            height: 76px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 32px;
        }

        .brand {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            font-size: 22px;
            font-weight: 800;
            letter-spacing: -.04em;
        }

		.header-logo {
			height: 38px;
			width: auto;
			display: block;
		}

        .logo-mark {
            width: 28px;
            height: 28px;
            display: grid;
            place-items: center;
            border-radius: 8px;
            background: linear-gradient(135deg, #EAF2FF, #FFFFFF);
            position: relative;
        }

        .logo-mark::before {
            content: "";
            width: 15px;
            height: 15px;
            border: 4px solid var(--blue);
            border-left-color: transparent;
            border-radius: 50%;
            transform: rotate(-25deg);
            display: block;
        }

        .nav-links {
            display: flex;
            align-items: center;
            gap: 40px;
            font-weight: 650;
            font-size: 14px;
        }

		.nav-dropdown {
			position: relative;
		}

		.nav-dropdown > a::after {
			content: "⌄";
			font-size: 12px;
			margin-left: 6px;
		}

		.dropdown-menu {
			position: absolute;
			top: 100%;
			left: 0;
			min-width: 230px;
			background: #fff;
			border: 1px solid var(--line);
			border-radius: 12px;
			box-shadow: 0 18px 45px rgba(7, 22, 50, .10);
			padding: 10px;
			display: none;
			z-index: 100;
			margin-top: 0;
		}
		.nav-dropdown {
			position: relative;
			padding: 12px 0;
		}

		.nav-dropdown::after {
			content: "";
			position: absolute;
			left: -12px;
			right: -12px;
			top: 100%;
			height: 12px;
		}
		.dropdown-menu a {
			display: block;
			padding: 10px 12px;
			border-radius: 8px;
			color: #304057;
			font-size: 14px;
		}

		.dropdown-menu a:hover {
			background: #EAF2FF;
			color: var(--blue);
		}

		.nav-dropdown:hover .dropdown-menu,
		.nav-dropdown:focus-within .dropdown-menu {
			display: block;
		}	

        .nav-actions {
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 46px;
            padding: 0 24px;
            border-radius: 6px;
            font-weight: 750;
            font-size: 14px;
            transition: .2s ease;
            border: 1px solid transparent;
            cursor: pointer;
            white-space: nowrap;
        }

        .btn-primary {
            background: var(--blue);
            color: #fff;
            box-shadow: 0 12px 28px rgba(0,91,255,.22);
        }

        .btn-primary:hover {
            transform: translateY(-1px);
            background: #004fe0;
        }

        .btn-outline {
            border-color: #CBD7EB;
            background: #fff;
            color: var(--text);
        }

        .btn-outline-blue {
            border-color: var(--blue);
            background: #fff;
            color: var(--blue);
        }

        .hero {
            padding: 88px 0 78px;
            background:
                radial-gradient(circle at 75% 10%, rgba(0,91,255,.10), transparent 34%),
                linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
            overflow: hidden;
        }

        .hero-grid {
            display: grid;
            grid-template-columns: .92fr 1.08fr;
            gap: 70px;
            align-items: center;
        }

        .eyebrow-row {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 26px;
            flex-wrap: wrap;
        }

        .pill {
            display: inline-flex;
            align-items: center;
            min-height: 31px;
            padding: 0 15px;
            border-radius: 999px;
            font-size: 13px;
            font-weight: 800;
            background: #EAF2FF;
            color: var(--blue);
        }

        .pill-light {
            color: #4C586D;
            background: #F2F5FA;
        }

        h1 {
            font-size: clamp(46px, 6vw, 76px);
            line-height: .98;
            letter-spacing: -.075em;
            max-width: 650px;
            margin-bottom: 28px;
        }

        h1 span {
            color: var(--blue);
        }

        .lead {
            font-size: 21px;
            line-height: 1.45;
            color: #27354C;
            max-width: 575px;
            margin-bottom: 36px;
        }

        .hero-actions {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
            margin-bottom: 28px;
        }

        .trust-line {
            display: flex;
            gap: 38px;
            flex-wrap: wrap;
            color: #304057;
            font-size: 13px;
            font-weight: 650;
        }

        .check {
            display: inline-flex;
            align-items: center;
            gap: 9px;
        }

        .check::before {
            content: "✓";
            color: var(--text);
            font-weight: 900;
        }

        .mockup-wrap {
            position: relative;
            min-height: 500px;
        }

        .dashboard {
            width: 88%;
            min-height: 470px;
            margin-left: 20px;
            border-radius: 22px;
            background: rgba(255,255,255,.96);
            box-shadow: var(--shadow);
            border: 1px solid rgba(229,234,243,.95);
            display: grid;
            grid-template-columns: 140px 1fr;
            overflow: hidden;
        }

        .sidebar {
            padding: 28px 18px;
            border-right: 1px solid var(--line);
            background: #FBFDFF;
        }

        .mini-brand {
            display: flex;
            align-items: center;
            gap: 8px;
            font-weight: 850;
            font-size: 13px;
            margin-bottom: 28px;
        }

        .mini-logo {
            width: 16px;
            height: 16px;
            border-radius: 5px;
            background: var(--blue);
        }

        .side-item {
            display: flex;
            align-items: center;
            gap: 8px;
            height: 34px;
            padding: 0 9px;
            border-radius: 8px;
            color: #536079;
            font-size: 12px;
            font-weight: 700;
            margin-bottom: 8px;
        }

        .side-item.active {
            background: #EAF2FF;
            color: var(--blue);
        }

        .side-icon {
            width: 13px;
            height: 13px;
            border: 1.7px solid currentColor;
            border-radius: 4px;
            display: inline-block;
        }

        .dashboard-main {
            padding: 36px 34px 30px;
        }

        .dash-top {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 18px;
        }

        .dash-top h3 {
            font-size: 22px;
            letter-spacing: -.04em;
        }

        .dash-icons {
            display: flex;
            gap: 10px;
        }

        .round-icon {
            width: 26px;
            height: 26px;
            border-radius: 50%;
            background: #F3F6FB;
            border: 1px solid var(--line);
        }

        .stats {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 14px;
            margin-bottom: 18px;
        }

        .stat-card, .panel {
            border: 1px solid var(--line);
            border-radius: 13px;
            background: #fff;
            padding: 18px;
        }

        .stat-label {
            color: #6A7488;
            font-size: 11px;
            font-weight: 750;
            margin-bottom: 4px;
        }

        .stat-value {
            font-size: 22px;
            font-weight: 850;
            letter-spacing: -.04em;
        }

        .stat-positive {
            color: #18B876;
            font-size: 11px;
            font-weight: 800;
        }

        .dash-grid {
            display: grid;
            grid-template-columns: 1.08fr .92fr;
            gap: 14px;
        }

        .panel-title {
            font-size: 13px;
            font-weight: 850;
            margin-bottom: 14px;
        }

        .chart {
            height: 120px;
            border-radius: 10px;
            background:
                linear-gradient(180deg, rgba(0,91,255,.10), transparent),
                repeating-linear-gradient(to right, transparent 0 40px, rgba(229,234,243,.8) 41px 42px);
            position: relative;
            overflow: hidden;
        }

        .chart svg {
            width: 100%;
            height: 100%;
        }

        .donut-wrap {
            display: flex;
            align-items: center;
            gap: 18px;
        }

        .donut {
            width: 86px;
            height: 86px;
            border-radius: 50%;
            background: conic-gradient(var(--blue) 0 44%, #20C7B2 44% 70%, #DDE6F4 70% 100%);
            position: relative;
            flex: 0 0 auto;
        }

        .donut::after {
            content: "";
            position: absolute;
            inset: 19px;
            background: #fff;
            border-radius: 50%;
        }

        .legend {
            list-style: none;
            font-size: 11px;
            color: #58647A;
            font-weight: 700;
        }

        .legend li {
            margin: 8px 0;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--blue);
        }

        .dot.green { background: #20C7B2; }
        .dot.gray { background: #B7C2D5; }

        .task-list, .absence-list {
            list-style: none;
            display: grid;
            gap: 10px;
            font-size: 12px;
            font-weight: 700;
            color: #44516A;
        }

        .task-list li, .absence-list li {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 10px;
            padding-bottom: 8px;
            border-bottom: 1px solid #EEF2F8;
        }

        .tag {
            border-radius: 999px;
            padding: 4px 8px;
            font-size: 10px;
            font-weight: 850;
            background: #EAFBF4;
            color: #12A96A;
        }

        .tag.blue { background: #EAF2FF; color: var(--blue); }
        .tag.gray { background: #F1F4F8; color: #6D778A; }

        .phone {
            position: absolute;
            right: -5px;
            top: 142px;
            width: 178px;
            height: 355px;
            border-radius: 31px;
            padding: 10px;
            background: #061533;
            box-shadow: 0 28px 70px rgba(0,24,63,.25);
            border: 6px solid #17284C;
        }

        .phone-screen {
            height: 100%;
            border-radius: 23px;
            background: linear-gradient(180deg, #071A43, #001D4F);
            color: #fff;
            padding: 22px 15px 16px;
            overflow: hidden;
        }

        .phone-title {
            font-weight: 800;
            font-size: 13px;
            margin-bottom: 26px;
        }

        .phone-sub {
            color: #A9B8D6;
            font-size: 11px;
            font-weight: 650;
            margin-bottom: 8px;
            text-align: center;
        }

        .timer {
            font-size: 31px;
            font-weight: 850;
            letter-spacing: -.04em;
            text-align: center;
            margin-bottom: 8px;
        }

        .phone .btn {
            width: 100%;
            min-height: 34px;
            font-size: 11px;
            margin-top: 9px;
            border-radius: 7px;
        }

        .phone-section-title {
            margin-top: 20px;
            margin-bottom: 10px;
            font-size: 12px;
            font-weight: 850;
        }

        .mini-task {
            display: flex;
            justify-content: space-between;
            padding: 8px 0;
            border-bottom: 1px solid rgba(255,255,255,.10);
            color: #CAD5EA;
            font-size: 10px;
            font-weight: 700;
        }

        .dark-section {
            background: linear-gradient(135deg, #002257, #001641 70%);
            color: white;
            padding: 58px 0 64px;
            text-align: center;
        }

        .section-title {
            font-size: clamp(28px, 3vw, 40px);
            line-height: 1.15;
            letter-spacing: -.055em;
            margin-bottom: 12px;
            text-align: center;
        }
		
		.section-title2 {
            color: #071632;
            font-size: 18px;
            max-width: 680px;
            margin: 0 auto;
			text-align: center;
        }

        .section-subtitle {
            color: #D7E2F6;
            font-size: 17px;
            max-width: 680px;
            margin: 0 auto;
        }

        .problem-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 0;
            margin-top: 54px;
        }

        .problem-card {
            min-height: 145px;
            padding: 0 34px;
            border-right: 1px solid rgba(255,255,255,.25);
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
        }

        .problem-card:last-child { border-right: 0; }

        .line-icon {
            width: 32px;
            height: 32px;
            border: 2px solid currentColor;
            border-radius: 8px;
            margin-bottom: 18px;
            opacity: .95;
            position: relative;
        }

		.excel-icon::before,
		.excel-icon::after {
			content: "";
			position: absolute;
			background: currentColor;
		}

		.excel-icon::before {
			left: 8px;
			top: 8px;
			width: 14px;
			height: 2px;
			box-shadow: 
				0 6px 0 currentColor,
				0 12px 0 currentColor;
		}

		.excel-icon::after {
			left: 14px;
			top: 5px;
			width: 2px;
			height: 22px;
			box-shadow: 7px 0 0 currentColor;
		}

		.prestation-icon::before,
		.prestation-icon::after {
			content: "";
			position: absolute;
			background: currentColor;
		}

		.prestation-icon::before {
			left: 7px;
			bottom: 7px;
			width: 5px;
			height: 10px;
			box-shadow:
				7px -4px 0 currentColor,
				14px -10px 0 currentColor;
		}

		.prestation-icon::after {
			left: 6px;
			bottom: 6px;
			width: 20px;
			height: 2px;
		}

		.facture-icon::before,
		.facture-icon::after {
			content: "";
			position: absolute;
		}

		.facture-icon::before {
			left: 8px;
			top: 6px;
			width: 14px;
			height: 18px;
			border: 2px solid currentColor;
			border-radius: 3px;
		}

		.facture-icon::after {
			left: 11px;
			top: 11px;
			width: 8px;
			height: 2px;
			background: currentColor;
			box-shadow:
				0 5px 0 currentColor,
				0 10px 0 currentColor;
		}

        .line-icon.clock { border-radius: 50%; }
        .line-icon.clock::before {
            content: "";
            position: absolute;
            left: 14px;
            top: 7px;
            width: 2px;
            height: 9px;
            background: currentColor;
        }
        .line-icon.clock::after {
            content: "";
            position: absolute;
            left: 14px;
            top: 15px;
            width: 8px;
            height: 2px;
            background: currentColor;
        }

        .problem-card h4 {
            font-size: 15px;
            margin-bottom: 7px;
        }

        .problem-card p {
            color: #D1DEF3;
            font-size: 14px;
            line-height: 1.45;
        }

        .section {
            padding: 66px 0;
        }

        .features-grid{
			display:grid;
			grid-template-columns:repeat(5, minmax(0,1fr));
			gap:24px;
		}
		
		@media (max-width:1200px){
			.features-grid{
				grid-template-columns:repeat(3,1fr);
			}
		}

		@media (max-width:900px){
			.features-grid{
				grid-template-columns:repeat(2,1fr);
			}
		}

		@media (max-width:600px){
			.features-grid{
				grid-template-columns:1fr;
			}
		}

        .feature-card {
            min-height: 305px;
            border: 1px solid var(--line);
            border-radius: 10px;
            padding: 36px 26px;
            background: white;
            box-shadow: 0 10px 30px rgba(7, 22, 50, .03);
        }

        .feature-icon {
            width: 38px;
            height: 38px;
            color: var(--blue);
            border: 3px solid currentColor;
            border-radius: 50%;
            margin-bottom: 34px;
        }

        .feature-icon.square { border-radius: 7px; }

        .feature-card h3 {
            font-size: 18px;
            letter-spacing: -.03em;
            margin-bottom: 18px;
        }

        .feature-card ul {
            padding-left: 18px;
            color: #42506A;
            font-size: 14px;
            display: grid;
            gap: 10px;
        }

        .benefits {
            background: linear-gradient(90deg, #F7FAFF, #EEF5FF, #F8FBFF);
            padding: 55px 0 62px;
        }

        .benefit-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            margin-top: 40px;
            gap: 0;
        }

        .benefit-item {
            display: grid;
            grid-template-columns: 34px 1fr;
            gap: 16px;
            padding: 0 28px;
            border-right: 1px solid #D9E3F3;
        }

        .benefit-item:last-child { border-right: 0; }

        .benefit-icon {
            width: 25px;
            height: 25px;
            color: var(--blue);
            font-size: 24px;
            line-height: 1;
            font-weight: 900;
        }

        .benefit-item h4 {
            font-size: 15px;
            margin-bottom: 9px;
        }

        .benefit-item p {
            color: #536079;
            font-size: 14px;
        }

        .audience-grid {
            display: grid;
            grid-template-columns: repeat(5, 1fr);
            gap: 20px;
            margin-top: 38px;
        }

        .audience-card {
            border: 1px solid var(--line);
            border-radius: 9px;
            min-height: 175px;
            padding: 30px 20px;
            text-align: center;
            background: white;
        }

        .audience-icon {
            width: 34px;
            height: 34px;
            margin: 0 auto 22px;
            color: var(--blue);
            border: 2.5px solid currentColor;
            border-radius: 50%;
        }

        .audience-card h4 {
            margin-bottom: 9px;
            font-size: 16px;
        }

        .audience-card p {
            color: #536079;
            font-size: 14px;
        }

        .simplicity {
            background: linear-gradient(135deg, #002257, #001641 75%);
            color: white;
            padding: 60px 0;
        }

        .simple-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 40px;
            margin-top: 46px;
        }

        .simple-card {
            display: grid;
            grid-template-columns: 52px 1fr;
            gap: 18px;
            align-items: center;
        }

        .simple-icon {
            width: 52px;
            height: 52px;
            border-radius: 50%;
            border: 1px solid rgba(255,255,255,.18);
            background: rgba(255,255,255,.08);
            display: grid;
            place-items: center;
            font-weight: 900;
            font-size: 22px;
        }

        .simple-card h4 {
            font-size: 15px;
            margin-bottom: 4px;
        }

        .simple-card p {
            color: #D1DEF3;
            font-size: 14px;
        }

        .prefooter {
            padding: 70px 0 58px;
            background: #fff;
        }

        .prefooter-grid {
            display: grid;
            grid-template-columns: .9fr 1fr;
            gap: 110px;
            align-items: center;
        }

        .prefooter h2 {
            font-size: 34px;
            line-height: 1.16;
            letter-spacing: -.055em;
            max-width: 450px;
            margin-bottom: 22px;
        }

        .prefooter p {
            color: #27354C;
            font-size: 21px;
            line-height: 1.4;
            max-width: 560px;
            margin-bottom: 24px;
        }

        .made-in {
            font-size: 14px;
            font-weight: 700;
            color: #26364F;
        }

        .cta-card {
            border: 1px solid var(--line);
            border-radius: 10px;
            box-shadow: 0 18px 50px rgba(7,22,50,.08);
            padding: 40px 46px;
            background: white;
        }

        .cta-card h3 {
            font-size: 27px;
            letter-spacing: -.045em;
            margin-bottom: 12px;
        }

        .cta-card p {
            font-size: 15px;
            color: #566177;
            margin-bottom: 25px;
        }

        .cta-actions {
            display: flex;
            gap: 12px;
            flex-wrap: wrap;
        }

        .footer {
            border-top: 1px solid var(--line);
            background: #FBFCFF;
            padding: 36px 0 42px;
        }

        .footer-grid {
            display: grid;
            grid-template-columns: 2.5fr 1fr 1fr 1fr 1fr;
            gap: 36px;
        }

        .footer p {
            color: #536079;
            font-size: 13px;
            max-width: 300px;
            margin-top: 12px;
        }

        .footer h4 {
            font-size: 13px;
            margin-bottom: 13px;
        }

        .footer ul {
            list-style: none;
            display: grid;
            gap: 8px;
            color: #536079;
            font-size: 13px;
        }

        .socials {
            display: flex;
            gap: 14px;
            color: var(--text);
            font-weight: 900;
        }

        @media (max-width: 1080px) {
            .hero-grid, .prefooter-grid {
                grid-template-columns: 1fr;
                gap: 46px;
            }

            .mockup-wrap {
                min-height: 520px;
            }

            .dashboard {
                width: 92%;
            }

            .features-grid, .problem-grid, .benefit-grid, .simple-grid {
                grid-template-columns: repeat(2, 1fr);
            }

            .problem-card:nth-child(2), .benefit-item:nth-child(2) {
                border-right: 0;
            }

            .problem-card {
                border-bottom: 1px solid rgba(255,255,255,.20);
                padding: 30px;
            }

            .audience-grid {
                grid-template-columns: repeat(3, 1fr);
            }

            .footer-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media (max-width: 760px) {
            .container {
                width: min(100% - 30px, 1180px);
            }

            .nav-links {
                display: none;
            }

            .nav-actions .btn-outline {
                display: none;
            }

            .hero {
                padding-top: 54px;
            }

            h1 {
                font-size: 48px;
            }

            .lead {
                font-size: 18px;
            }

            .dashboard {
                width: 100%;
                grid-template-columns: 1fr;
                min-height: auto;
            }

            .sidebar {
                display: none;
            }

            .stats, .dash-grid {
                grid-template-columns: 1fr;
            }

            .phone {
                position: relative;
                right: auto;
                top: auto;
                margin: -20px auto 0;
            }

            .mockup-wrap {
                min-height: auto;
            }

            .features-grid, .problem-grid, .benefit-grid, .simple-grid, .audience-grid, .footer-grid {
                grid-template-columns: 1fr;
            }

            .problem-card, .benefit-item {
                border-right: 0;
                border-bottom: 1px solid rgba(255,255,255,.18);
            }

            .benefit-item {
                border-bottom-color: #D9E3F3;
                padding: 24px 0;
            }

            .feature-card {
                min-height: auto;
            }

            .section, .benefits, .prefooter {
                padding: 50px 0;
            }
        }
    

html {
    scroll-behavior: smooth;
}

.lang-switch {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-right: 6px;
    font-size: 13px;
    font-weight: 800;
    color: #536079;
}

.lang-switch a:hover {
    color: var(--blue);
}
.feature-img-icon {
    width: 42px;
    height: 42px;
    object-fit: contain;
    display: block;
    margin-bottom: 34px;
}
.problem-img-icon {
    width: 60px;
    height: 60px;
    object-fit: contain;
    display: block;
    margin-bottom: 18px;
}.page-hero {
    padding: 90px 0;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
    text-align: center;
}

.page-hero h1 {
    margin-top: 22px;
    margin-bottom: 22px;
    font-size: clamp(42px, 5vw, 68px);
    line-height: 1;
    letter-spacing: -.065em;
}

.page-hero p {
    max-width: 760px;
    margin: 0 auto;
    font-size: 20px;
    color: #27354C;
}
.feature-page-hero {
    padding: 34px 0 70px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F7FAFF 100%);
}

.breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #64718A;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 48px;
}

.breadcrumb strong {
    color: var(--text);
}

.pointage-hero-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 70px;
    align-items: center;
}

.pointage-hero-copy h1 {
    font-size: clamp(44px, 5vw, 68px);
    line-height: 1;
    letter-spacing: -.065em;
    margin: 22px 0 14px;
    color: var(--blue-dark);
}

.pointage-hero-copy h2 {
    color: var(--blue);
    font-size: 25px;
    line-height: 1.3;
    margin-bottom: 22px;
}

.pointage-hero-copy p {
    color: #27354C;
    font-size: 17px;
    line-height: 1.65;
    max-width: 570px;
    margin-bottom: 24px;
}

.hero-check-list {
    list-style: none;
    display: grid;
    gap: 11px;
    margin-bottom: 30px;
    font-size: 15px;
    font-weight: 750;
    color: #1C2B45;
}

.hero-check-list li {
    display: flex;
    align-items: center;
    gap: 10px;
}

.hero-check-list li::before {
    content: "✓";
    width: 20px;
    height: 20px;
    border: 1.8px solid #26B86A;
    color: #26B86A;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: 900;
}

.pointage-visual {
    position: relative;
    min-height: 450px;
}

.laptop-mockup {
    background: #071632;
    border-radius: 22px;
    padding: 10px;
    box-shadow: 0 35px 80px rgba(0, 29, 79, .22);
}

.mockup-header {
    height: 34px;
    background: white;
    border-radius: 14px 14px 0 0;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 16px;
    color: var(--blue);
    font-size: 13px;
}

.mockup-header strong {
    margin-right: auto;
}

.mockup-header span {
    width: 12px;
    height: 12px;
    background: #EDF3FF;
    border-radius: 50%;
}

.mockup-body {
    display: grid;
    grid-template-columns: 145px 1fr;
    background: #F8FBFF;
    min-height: 350px;
    border-radius: 0 0 14px 14px;
    overflow: hidden;
}

.mockup-body aside {
    background: white;
    border-right: 1px solid #E5EAF3;
    padding: 28px 14px;
    display: grid;
    gap: 12px;
    align-content: start;
}

.mockup-body aside span {
    font-size: 12px;
    font-weight: 750;
    color: #67748A;
    padding: 9px 10px;
    border-radius: 8px;
}

.mockup-body aside span.active {
    background: #EAF2FF;
    color: var(--blue);
}

.mockup-content {
    padding: 30px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    align-content: start;
}

.mockup-content h4 {
    grid-column: 1 / -1;
    font-size: 20px;
}

.timer-card,
.chart-card {
    background: white;
    border: 1px solid #E5EAF3;
    border-radius: 14px;
    padding: 22px;
}

.timer-card small,
.chart-card small {
    display: block;
    color: #6A7488;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 10px;
}

.timer-card strong {
    display: block;
    font-size: 38px;
    color: var(--blue-dark);
    letter-spacing: -.04em;
}

.timer-card em {
    display: block;
    font-style: normal;
    color: #718096;
    font-size: 12px;
    margin-bottom: 20px;
}

.timer-card div {
    display: flex;
    gap: 10px;
}

.timer-card button,
.phone-mockup button {
    border: 1px solid #C9D8F2;
    background: white;
    color: var(--blue);
    border-radius: 7px;
    min-height: 36px;
    padding: 0 14px;
    font-size: 12px;
    font-weight: 800;
}

.timer-card button.stop,
.phone-mockup .phone-stop {
    background: #FFECEC;
    color: #E03838;
    border-color: #FFB7B7;
}

.chart-card strong {
    display: block;
    font-size: 31px;
    color: var(--blue-dark);
    margin-bottom: 24px;
}

.bar-chart {
    height: 120px;
    display: flex;
    align-items: end;
    gap: 12px;
}

.bar-chart span {
    width: 24px;
    border-radius: 8px 8px 0 0;
    background: var(--blue);
}

.bar-chart span:nth-child(1) { height: 48px; }
.bar-chart span:nth-child(2) { height: 75px; }
.bar-chart span:nth-child(3) { height: 58px; }
.bar-chart span:nth-child(4) { height: 95px; }
.bar-chart span:nth-child(5) { height: 68px; }

.phone-mockup {
    position: absolute;
    right: -10px;
    bottom: -12px;
    width: 185px;
    min-height: 310px;
    background: white;
    border: 9px solid #071632;
    border-radius: 32px;
    box-shadow: 0 28px 65px rgba(0, 29, 79, .25);
    padding: 28px 16px 18px;
    text-align: center;
}

.phone-mockup strong {
    font-size: 12px;
    color: var(--blue-dark);
}

.phone-time {
    font-size: 29px;
    font-weight: 900;
    letter-spacing: -.05em;
    margin: 16px 0 3px;
    color: var(--blue-dark);
}

.phone-mockup small {
    color: #7A879A;
    font-size: 11px;
    display: block;
    margin-bottom: 16px;
}

.phone-mockup button {
    width: 100%;
    margin-bottom: 9px;
}

.phone-row {
    display: flex;
    justify-content: space-between;
    font-size: 10px;
    padding: 9px 0;
    border-bottom: 1px solid #EEF2F8;
    color: #536079;
}

.pointage-section {
    padding: 70px 0 58px;
    background: white;
}

.pointage-section-subtitle {
    text-align: center;
    color: #536079;
    font-size: 17px;
    margin-top: 8px;
}

.pointage-benefits-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-top: 44px;
}

.pointage-benefits-grid article {
    border: 1px solid #E5EAF3;
    border-radius: 13px;
    background: white;
    padding: 30px;
    display: grid;
    grid-template-columns: 58px 1fr;
    column-gap: 22px;
    box-shadow: 0 12px 35px rgba(7, 22, 50, .035);
}

.benefit-svg-icon {
    width: 58px;
    height: 58px;
    background: #F1F6FF;
    color: var(--blue);
    border-radius: 13px;
    display: grid;
    place-items: center;
    font-size: 28px;
    grid-row: span 2;
}

.pointage-benefits-grid h3 {
    font-size: 17px;
    margin-bottom: 9px;
    color: var(--blue-dark);
}

.pointage-benefits-grid p {
    color: #44516A;
    font-size: 14px;
    line-height: 1.55;
}

.how-section {
    padding: 54px 0;
    background: white;
}

.how-section .container {
    background: linear-gradient(180deg, #F7FAFF, #EEF5FF);
    border-radius: 18px;
    padding: 48px;
    text-align: center;
}

.how-section h2 {
    color: var(--blue-dark);
    font-size: 31px;
    letter-spacing: -.04em;
}

.how-section > .container > p {
    color: #536079;
    margin-top: 7px;
    margin-bottom: 44px;
}

.steps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 44px;
}

.steps-grid article {
    position: relative;
}

.steps-grid span {
    width: 30px;
    height: 30px;
    background: var(--blue);
    color: white;
    border-radius: 50%;
    display: grid;
    place-items: center;
    margin: 0 auto 15px;
    font-weight: 900;
}

.step-icon {
    width: 72px;
    height: 72px;
    border-radius: 15px;
    background: white;
    border: 1px solid #DDE7F6;
    color: var(--blue);
    display: grid;
    place-items: center;
    font-size: 34px;
    font-weight: 900;
    margin: 0 auto 18px;
}

.steps-grid h3 {
    color: var(--blue-dark);
    font-size: 16px;
    margin-bottom: 7px;
}

.steps-grid p {
    color: #536079;
    font-size: 13px;
}

.pointage-cta {
    padding: 45px 0 30px;
    background: white;
}

.pointage-cta-inner {
    background: linear-gradient(135deg, #005BFF, #001D4F);
    color: white;
    border-radius: 12px;
    padding: 42px 48px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

.pointage-cta h2 {
    font-size: 28px;
    letter-spacing: -.04em;
    margin-bottom: 8px;
}

.pointage-cta p {
    color: #D9E5FF;
}

.btn-light {
    background: white;
    color: var(--blue);
    border-color: white;
}

@media (max-width: 1080px) {
    .pointage-hero-grid,
    .pointage-benefits-grid,
    .steps-grid {
        grid-template-columns: 1fr;
    }

    .pointage-visual {
        min-height: 520px;
    }

    .phone-mockup {
        right: 20px;
    }

    .pointage-cta-inner {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 760px) {
    .pointage-hero-grid {
        gap: 36px;
    }

    .mockup-body {
        grid-template-columns: 1fr;
    }

    .mockup-body aside {
        display: none;
    }

    .mockup-content {
        grid-template-columns: 1fr;
        padding: 20px;
    }

    .phone-mockup {
        position: relative;
        right: auto;
        bottom: auto;
        margin: 24px auto 0;
    }

    .pointage-benefits-grid article {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .benefit-svg-icon {
        margin: 0 auto 18px;
    }

    .how-section .container {
        padding: 34px 22px;
    }
}
.footer-dark {
    background: linear-gradient(135deg, #001D4F, #001333);
    color: white;
    border-top: 0;
    padding: 48px 0 24px;
}

.footer-dark-grid {
    display: grid;
    grid-template-columns: 2.1fr 1fr 1fr 1fr 1fr;
    gap: 46px;
    padding-bottom: 36px;
    border-bottom: 1px solid rgba(255,255,255,.14);
}

.footer-brand img {
    height: 42px;
    width: auto;
    display: block;
}

.footer-brand-block p {
    color: #CBD8F0;
    font-size: 14px;
    line-height: 1.55;
    max-width: 290px;
    margin: 18px 0 22px;
}

.footer-dark h4 {
    color: white;
    font-size: 15px;
    margin-bottom: 17px;
}

.footer-dark ul {
    list-style: none;
    display: grid;
    gap: 10px;
}

.footer-dark li,
.footer-dark a {
    color: #CBD8F0;
    font-size: 14px;
    transition: .2s ease;
}

.footer-dark a:hover {
    color: white;
}

.footer-socials {
    display: flex;
    align-items: center;
    gap: 18px;
}

.footer-socials a {
    color: white;
    font-size: 21px;
    font-weight: 900;
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    color: #B8C6E0;
    font-size: 13px;
    padding-top: 22px;
}

@media (max-width: 1080px) {
    .footer-dark-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 760px) {
    .footer-dark-grid {
        grid-template-columns: 1fr;
    }

    .footer-bottom {
        flex-direction: column;
    }
}
.prestation-page-hero {
    padding: 34px 0 70px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F7FAFF 100%);
}

.prestation-hero-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 70px;
    align-items: center;
}

.prestation-hero-copy h1 {
    font-size: clamp(44px, 5vw, 68px);
    line-height: 1;
    letter-spacing: -.065em;
    margin: 22px 0 14px;
    color: var(--blue-dark);
}

.prestation-hero-copy h2 {
    color: var(--blue);
    font-size: 25px;
    line-height: 1.3;
    margin-bottom: 22px;
}

.prestation-hero-copy p {
    color: #27354C;
    font-size: 17px;
    line-height: 1.65;
    max-width: 570px;
    margin-bottom: 24px;
}

.prestation-check-list {
    list-style: none;
    display: grid;
    gap: 11px;
    margin-bottom: 30px;
    font-size: 15px;
    font-weight: 750;
    color: #1C2B45;
}

.prestation-check-list li {
    display: flex;
    align-items: center;
    gap: 10px;
}

.prestation-check-list li::before {
    content: "✓";
    width: 20px;
    height: 20px;
    border: 1.8px solid #26B86A;
    color: #26B86A;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: 900;
}

.prestation-visual {
    position: relative;
    min-height: 450px;
}

.prestation-laptop {
    background: #071632;
    border-radius: 22px;
    padding: 10px;
    box-shadow: 0 35px 80px rgba(0, 29, 79, .22);
}

.prestation-mockup-header {
    height: 34px;
    background: white;
    border-radius: 14px 14px 0 0;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 16px;
    color: var(--blue);
    font-size: 13px;
}

.prestation-mockup-header strong {
    margin-right: auto;
}

.prestation-mockup-header span {
    width: 12px;
    height: 12px;
    background: #EDF3FF;
    border-radius: 50%;
}

.prestation-mockup-body {
    display: grid;
    grid-template-columns: 145px 1fr;
    background: #F8FBFF;
    min-height: 350px;
    border-radius: 0 0 14px 14px;
    overflow: hidden;
}

.prestation-mockup-body aside {
    background: white;
    border-right: 1px solid #E5EAF3;
    padding: 28px 14px;
    display: grid;
    gap: 12px;
    align-content: start;
}

.prestation-mockup-body aside span {
    font-size: 12px;
    font-weight: 750;
    color: #67748A;
    padding: 9px 10px;
    border-radius: 8px;
}

.prestation-mockup-body aside span.active {
    background: #EAF2FF;
    color: var(--blue);
}

.prestation-dashboard {
    padding: 26px;
}

.prestation-topline {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
}

.prestation-topline h4 {
    font-size: 20px;
    color: var(--blue-dark);
}

.prestation-topline div {
    display: flex;
    gap: 8px;
}

.prestation-topline button {
    height: 32px;
    border: 1px solid #D9E4F5;
    background: white;
    color: #526179;
    border-radius: 7px;
    padding: 0 12px;
    font-size: 11px;
    font-weight: 800;
}

.prestation-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 16px;
}

.prestation-stats article {
    background: white;
    border: 1px solid #E5EAF3;
    border-radius: 12px;
    padding: 16px;
}

.prestation-stats small {
    display: block;
    color: #6A7488;
    font-size: 11px;
    font-weight: 800;
    margin-bottom: 7px;
}

.prestation-stats strong {
    display: block;
    color: var(--blue-dark);
    font-size: 24px;
    letter-spacing: -.04em;
}

.prestation-stats em {
    display: block;
    font-style: normal;
    color: #16A96D;
    font-size: 11px;
    font-weight: 800;
    margin-top: 4px;
}

.prestation-main-grid {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 14px;
}

.prestation-panel {
    background: white;
    border: 1px solid #E5EAF3;
    border-radius: 12px;
    padding: 18px;
}

.prestation-panel h5 {
    font-size: 13px;
    color: var(--blue-dark);
    margin-bottom: 16px;
}

.prestation-donut-row {
    display: flex;
    align-items: center;
    gap: 18px;
}

.prestation-donut {
    width: 92px;
    height: 92px;
    border-radius: 50%;
    background: conic-gradient(#005BFF 0 38%, #16BFA3 38% 68%, #8B5CF6 68% 82%, #DDE6F4 82% 100%);
    position: relative;
    flex: 0 0 auto;
}

.prestation-donut::after {
    content: "";
    position: absolute;
    inset: 22px;
    background: white;
    border-radius: 50%;
}

.prestation-donut-row ul {
    list-style: none;
    display: grid;
    gap: 9px;
    font-size: 11px;
    color: #526179;
    font-weight: 750;
    width: 100%;
}

.prestation-donut-row li {
    display: grid;
    grid-template-columns: 8px 1fr auto;
    gap: 8px;
    align-items: center;
}

.prestation-donut-row b {
    width: 8px;
    height: 8px;
    background: var(--blue);
    border-radius: 50%;
}

.prestation-donut-row li:nth-child(2) b { background: #16BFA3; }
.prestation-donut-row li:nth-child(3) b { background: #8B5CF6; }
.prestation-donut-row li:nth-child(4) b { background: #B9C5D8; }

.mini-table {
    display: grid;
    gap: 10px;
}

.mini-table div {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 10px;
    font-size: 11px;
    padding-bottom: 9px;
    border-bottom: 1px solid #EEF2F8;
    color: #526179;
    font-weight: 750;
}

.mini-table strong {
    color: #13A86A;
}

.prestation-phone {
    position: absolute;
    right: -10px;
    bottom: -18px;
    width: 185px;
    min-height: 315px;
    background: white;
    border: 9px solid #071632;
    border-radius: 32px;
    box-shadow: 0 28px 65px rgba(0, 29, 79, .25);
    padding: 26px 15px 18px;
}

.prestation-phone > strong {
    display: block;
    text-align: center;
    font-size: 13px;
    color: var(--blue-dark);
    margin-bottom: 16px;
}

.phone-tabs {
    display: flex;
    gap: 18px;
    font-size: 11px;
    font-weight: 850;
    color: #8A96AA;
    border-bottom: 1px solid #EDF2F8;
    margin-bottom: 16px;
}

.phone-tabs span {
    padding-bottom: 8px;
}

.phone-tabs .active {
    color: var(--blue);
    border-bottom: 2px solid var(--blue);
}

.project-progress {
    margin-bottom: 18px;
}

.project-progress div {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    font-size: 10px;
    color: #526179;
    font-weight: 800;
    margin-bottom: 7px;
}

.project-progress b {
    color: var(--blue-dark);
}

.project-progress::after {
    content: "";
    display: block;
    height: 4px;
    background: #E7EEF9;
    border-radius: 999px;
}

.project-progress i {
    display: block;
    height: 4px;
    background: var(--blue);
    border-radius: 999px;
    margin-top: -4px;
}

.prestation-section {
    padding: 70px 0 58px;
    background: white;
}

.prestation-section-subtitle {
    text-align: center;
    color: #536079;
    font-size: 17px;
    margin-top: 8px;
}

.prestation-benefits-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-top: 44px;
}

.prestation-benefits-grid article {
    border: 1px solid #E5EAF3;
    border-radius: 13px;
    background: white;
    padding: 30px;
    display: grid;
    grid-template-columns: 58px 1fr;
    column-gap: 22px;
    box-shadow: 0 12px 35px rgba(7, 22, 50, .035);
}

.prestation-benefit-icon {
    width: 58px;
    height: 58px;
    background: #F1F6FF;
    color: var(--blue);
    border-radius: 13px;
    display: grid;
    place-items: center;
    font-size: 28px;
    grid-row: span 2;
}

.prestation-benefits-grid h3 {
    font-size: 17px;
    margin-bottom: 9px;
    color: var(--blue-dark);
}

.prestation-benefits-grid p {
    color: #44516A;
    font-size: 14px;
    line-height: 1.55;
}

.prestation-how-section {
    padding: 54px 0;
    background: white;
}

.prestation-how-section .container {
    background: linear-gradient(180deg, #F7FAFF, #EEF5FF);
    border-radius: 18px;
    padding: 48px;
    text-align: center;
}

.prestation-how-section h2 {
    color: var(--blue-dark);
    font-size: 31px;
    letter-spacing: -.04em;
}

.prestation-how-section > .container > p {
    color: #536079;
    margin-top: 7px;
    margin-bottom: 44px;
}

.prestation-steps-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 34px;
}

.prestation-steps-grid article {
    position: relative;
}

.prestation-steps-grid span {
    width: 30px;
    height: 30px;
    background: var(--blue);
    color: white;
    border-radius: 50%;
    display: grid;
    place-items: center;
    margin: 0 auto 15px;
    font-weight: 900;
}

.prestation-step-icon {
    width: 72px;
    height: 72px;
    border-radius: 15px;
    background: white;
    border: 1px solid #DDE7F6;
    color: var(--blue);
    display: grid;
    place-items: center;
    font-size: 32px;
    font-weight: 900;
    margin: 0 auto 18px;
}

.prestation-steps-grid h3 {
    color: var(--blue-dark);
    font-size: 16px;
    margin-bottom: 7px;
}

.prestation-steps-grid p {
    color: #536079;
    font-size: 13px;
}

.prestation-cta {
    padding: 45px 0 30px;
    background: white;
}

.prestation-cta-inner {
    background: linear-gradient(135deg, #005BFF, #001D4F);
    color: white;
    border-radius: 12px;
    padding: 42px 48px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

.prestation-cta h2 {
    font-size: 28px;
    letter-spacing: -.04em;
    margin-bottom: 8px;
}

.prestation-cta p {
    color: #D9E5FF;
}

@media (max-width: 1080px) {
    .prestation-hero-grid,
    .prestation-benefits-grid {
        grid-template-columns: 1fr;
    }

    .prestation-steps-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .prestation-visual {
        min-height: 520px;
    }

    .prestation-phone {
        right: 20px;
    }

    .prestation-cta-inner {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 760px) {
    .prestation-hero-grid {
        gap: 36px;
    }

    .prestation-mockup-body {
        grid-template-columns: 1fr;
    }

    .prestation-mockup-body aside {
        display: none;
    }

    .prestation-stats,
    .prestation-main-grid,
    .prestation-steps-grid {
        grid-template-columns: 1fr;
    }

    .prestation-dashboard {
        padding: 20px;
    }

    .prestation-phone {
        position: relative;
        right: auto;
        bottom: auto;
        margin: 24px auto 0;
    }

    .prestation-benefits-grid article {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .prestation-benefit-icon {
        margin: 0 auto 18px;
    }

    .prestation-how-section .container {
        padding: 34px 22px;
    }
}
.todo-page-hero {
    padding: 34px 0 70px;
    background:
        radial-gradient(circle at 95% 10%, rgba(0, 91, 255, .09), transparent 28%),
        linear-gradient(180deg, #FFFFFF 0%, #F7FAFF 100%);
}

.todo-hero-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 70px;
    align-items: center;
}

.todo-hero-copy h1 {
    font-size: clamp(44px, 5vw, 68px);
    line-height: 1;
    letter-spacing: -.065em;
    margin: 22px 0 14px;
    color: var(--blue-dark);
}

.todo-hero-copy h2 {
    color: var(--blue);
    font-size: 25px;
    line-height: 1.3;
    margin-bottom: 22px;
}

.todo-hero-copy p {
    color: #27354C;
    font-size: 17px;
    line-height: 1.65;
    max-width: 570px;
    margin-bottom: 24px;
}

.todo-check-list {
    list-style: none;
    display: grid;
    gap: 11px;
    margin-bottom: 30px;
    font-size: 15px;
    font-weight: 750;
    color: #1C2B45;
}

.todo-check-list li {
    display: flex;
    align-items: center;
    gap: 10px;
}

.todo-check-list li::before {
    content: "✓";
    width: 20px;
    height: 20px;
    border: 1.8px solid #26B86A;
    color: #26B86A;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: 900;
}

.todo-visual {
    position: relative;
    min-height: 450px;
}

.todo-laptop {
    background: #071632;
    border-radius: 22px;
    padding: 10px;
    box-shadow: 0 35px 80px rgba(0, 29, 79, .22);
}

.todo-mockup-header {
    height: 34px;
    background: white;
    border-radius: 14px 14px 0 0;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 16px;
    color: var(--blue);
    font-size: 13px;
}

.todo-mockup-header strong {
    margin-right: auto;
}

.todo-mockup-header span {
    width: 12px;
    height: 12px;
    background: #EDF3FF;
    border-radius: 50%;
}

.todo-mockup-body {
    display: grid;
    grid-template-columns: 145px 1fr;
    background: #F8FBFF;
    min-height: 350px;
    border-radius: 0 0 14px 14px;
    overflow: hidden;
}

.todo-mockup-body aside {
    background: white;
    border-right: 1px solid #E5EAF3;
    padding: 28px 14px;
    display: grid;
    gap: 12px;
    align-content: start;
}

.todo-mockup-body aside span {
    font-size: 12px;
    font-weight: 750;
    color: #67748A;
    padding: 9px 10px;
    border-radius: 8px;
}

.todo-mockup-body aside span.active {
    background: #EAF2FF;
    color: var(--blue);
}

.todo-dashboard {
    padding: 26px;
}

.todo-topline {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
}

.todo-topline h4 {
    font-size: 20px;
    color: var(--blue-dark);
}

.todo-topline div {
    display: flex;
    gap: 8px;
}

.todo-topline button {
    height: 32px;
    border: 1px solid #D9E4F5;
    background: white;
    color: #526179;
    border-radius: 7px;
    padding: 0 12px;
    font-size: 11px;
    font-weight: 800;
}

.todo-topline .new-task {
    background: var(--blue);
    color: white;
    border-color: var(--blue);
}

.todo-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 16px;
}

.todo-stats article {
    background: white;
    border: 1px solid #E5EAF3;
    border-radius: 12px;
    padding: 16px;
}

.todo-stats small {
    display: block;
    color: #6A7488;
    font-size: 11px;
    font-weight: 800;
    margin-bottom: 7px;
}

.todo-stats strong {
    display: block;
    color: var(--blue-dark);
    font-size: 27px;
    letter-spacing: -.04em;
}

.todo-stats em {
    display: block;
    font-style: normal;
    color: #526179;
    font-size: 11px;
    font-weight: 800;
}

.todo-stats .late small,
.todo-stats .late strong {
    color: #E03838;
}

.todo-panel {
    background: white;
    border: 1px solid #E5EAF3;
    border-radius: 12px;
    padding: 18px;
}

.todo-panel h5 {
    font-size: 13px;
    color: var(--blue-dark);
    margin-bottom: 16px;
}

.todo-table {
    display: grid;
    gap: 0;
}

.todo-table > div {
    display: grid;
    grid-template-columns: 1.6fr 1.2fr .7fr .8fr .7fr;
    gap: 10px;
    align-items: center;
    font-size: 11px;
    color: #526179;
    font-weight: 750;
    padding: 9px 0;
    border-bottom: 1px solid #EEF2F8;
}

.todo-table-head span {
    color: #8A96AA;
    font-weight: 900;
}

.priority,
.todo-table em {
    justify-self: start;
    border-radius: 999px;
    padding: 4px 8px;
    font-style: normal;
    font-size: 10px;
    font-weight: 900;
}

.priority.high {
    background: #FFECEC;
    color: #E03838;
}

.priority.medium {
    background: #FFF2D6;
    color: #D89000;
}

.priority.low {
    background: #EAFBF4;
    color: #14A56D;
}

.todo-table em {
    background: #EAF2FF;
    color: var(--blue);
}

.todo-status-gray {
    background: #F1F4F8 !important;
    color: #6D778A !important;
}

.todo-status-done {
    background: #EAFBF4 !important;
    color: #14A56D !important;
}

.todo-phone {
    position: absolute;
    right: -10px;
    bottom: -18px;
    width: 190px;
    min-height: 330px;
    background: white;
    border: 9px solid #071632;
    border-radius: 32px;
    box-shadow: 0 28px 65px rgba(0, 29, 79, .25);
    padding: 26px 15px 18px;
}

.todo-phone > strong {
    display: block;
    text-align: center;
    font-size: 13px;
    color: var(--blue-dark);
    margin-bottom: 16px;
}

.todo-phone-tabs {
    display: flex;
    gap: 14px;
    font-size: 10px;
    font-weight: 850;
    color: #8A96AA;
    border-bottom: 1px solid #EDF2F8;
    margin-bottom: 14px;
}

.todo-phone-tabs span {
    padding-bottom: 8px;
}

.todo-phone-tabs .active {
    color: var(--blue);
    border-bottom: 2px solid var(--blue);
}

.todo-phone-card {
    border-bottom: 1px solid #EEF2F8;
    padding: 9px 0;
}

.todo-phone-card h5 {
    font-size: 10px;
    color: var(--blue-dark);
    line-height: 1.25;
    margin-bottom: 3px;
}

.todo-phone-card p {
    color: #64718A;
    font-size: 9px;
    margin-bottom: 6px;
}

.todo-phone-card div {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.todo-phone-card strong {
    background: #FFECEC;
    color: #E03838;
    border-radius: 999px;
    padding: 3px 7px;
    font-size: 9px;
}

.todo-phone-card strong.medium {
    background: #FFF2D6;
    color: #D89000;
}

.todo-phone-card strong.low {
    background: #EAFBF4;
    color: #14A56D;
}

.todo-phone-card span {
    color: #8A96AA;
    font-size: 9px;
    font-weight: 800;
}

.todo-floating-btn {
    position: absolute;
    right: 16px;
    bottom: 16px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--blue);
    color: white;
    border: 0;
    font-size: 22px;
    font-weight: 900;
}

.todo-section {
    padding: 70px 0 58px;
    background: white;
}

.todo-section-subtitle {
    text-align: center;
    color: #536079;
    font-size: 17px;
    margin-top: 8px;
}

.todo-benefits-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-top: 44px;
}

.todo-benefits-grid article {
    border: 1px solid #E5EAF3;
    border-radius: 13px;
    background: white;
    padding: 30px;
    display: grid;
    grid-template-columns: 58px 1fr;
    column-gap: 22px;
    box-shadow: 0 12px 35px rgba(7, 22, 50, .035);
}

.todo-benefit-icon {
    width: 58px;
    height: 58px;
    background: #F1F6FF;
    color: var(--blue);
    border-radius: 13px;
    display: grid;
    place-items: center;
    font-size: 28px;
    grid-row: span 2;
}

.todo-benefits-grid h3 {
    font-size: 17px;
    margin-bottom: 9px;
    color: var(--blue-dark);
}

.todo-benefits-grid p {
    color: #44516A;
    font-size: 14px;
    line-height: 1.55;
}

.todo-how-section {
    padding: 54px 0;
    background: white;
}

.todo-how-section .container {
    background: linear-gradient(180deg, #F7FAFF, #EEF5FF);
    border-radius: 18px;
    padding: 48px;
    text-align: center;
}

.todo-how-section h2 {
    color: var(--blue-dark);
    font-size: 31px;
    letter-spacing: -.04em;
}

.todo-how-section > .container > p {
    color: #536079;
    margin-top: 7px;
    margin-bottom: 44px;
}

.todo-steps-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 34px;
}

.todo-steps-grid article {
    position: relative;
}

.todo-steps-grid span {
    width: 30px;
    height: 30px;
    background: var(--blue);
    color: white;
    border-radius: 50%;
    display: grid;
    place-items: center;
    margin: 0 auto 15px;
    font-weight: 900;
}

.todo-step-icon {
    width: 72px;
    height: 72px;
    border-radius: 15px;
    background: white;
    border: 1px solid #DDE7F6;
    color: var(--blue);
    display: grid;
    place-items: center;
    font-size: 32px;
    font-weight: 900;
    margin: 0 auto 18px;
}

.todo-steps-grid h3 {
    color: var(--blue-dark);
    font-size: 16px;
    margin-bottom: 7px;
}

.todo-steps-grid p {
    color: #536079;
    font-size: 13px;
}

.todo-cta {
    padding: 45px 0 30px;
    background: white;
}

.todo-cta-inner {
    background: linear-gradient(135deg, #005BFF, #001D4F);
    color: white;
    border-radius: 12px;
    padding: 42px 48px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

.todo-cta h2 {
    font-size: 28px;
    letter-spacing: -.04em;
    margin-bottom: 8px;
}

.todo-cta p {
    color: #D9E5FF;
}

@media (max-width: 1080px) {
    .todo-hero-grid,
    .todo-benefits-grid {
        grid-template-columns: 1fr;
    }

    .todo-steps-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .todo-visual {
        min-height: 540px;
    }

    .todo-phone {
        right: 20px;
    }

    .todo-cta-inner {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 760px) {
    .todo-hero-grid {
        gap: 36px;
    }

    .todo-mockup-body {
        grid-template-columns: 1fr;
    }

    .todo-mockup-body aside {
        display: none;
    }

    .todo-stats,
    .todo-steps-grid {
        grid-template-columns: 1fr;
    }

    .todo-table > div {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .todo-dashboard {
        padding: 20px;
    }

    .todo-phone {
        position: relative;
        right: auto;
        bottom: auto;
        margin: 24px auto 0;
    }

    .todo-benefits-grid article {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .todo-benefit-icon {
        margin: 0 auto 18px;
    }

    .todo-how-section .container {
        padding: 34px 22px;
    }
}
.facturation-page-hero {
    padding: 34px 0 70px;
    background:
        radial-gradient(circle at 95% 10%, rgba(0, 91, 255, .09), transparent 28%),
        linear-gradient(180deg, #FFFFFF 0%, #F7FAFF 100%);
}

.facturation-hero-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 70px;
    align-items: center;
}

.facturation-hero-copy h1 {
    font-size: clamp(44px, 5vw, 68px);
    line-height: 1;
    letter-spacing: -.065em;
    margin: 22px 0 14px;
    color: var(--blue-dark);
}

.facturation-hero-copy h2 {
    color: var(--blue);
    font-size: 25px;
    line-height: 1.3;
    margin-bottom: 22px;
}

.facturation-hero-copy p {
    color: #27354C;
    font-size: 17px;
    line-height: 1.65;
    max-width: 570px;
    margin-bottom: 24px;
}

.facturation-check-list {
    list-style: none;
    display: grid;
    gap: 11px;
    margin-bottom: 30px;
    font-size: 15px;
    font-weight: 750;
    color: #1C2B45;
}

.facturation-check-list li {
    display: flex;
    align-items: center;
    gap: 10px;
}

.facturation-check-list li::before {
    content: "✓";
    width: 20px;
    height: 20px;
    border: 1.8px solid #26B86A;
    color: #26B86A;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: 900;
}

.facturation-visual {
    position: relative;
    min-height: 450px;
}

.facturation-laptop {
    background: #071632;
    border-radius: 22px;
    padding: 10px;
    box-shadow: 0 35px 80px rgba(0, 29, 79, .22);
}

.facturation-mockup-header {
    height: 34px;
    background: white;
    border-radius: 14px 14px 0 0;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 16px;
    color: var(--blue);
    font-size: 13px;
}

.facturation-mockup-header strong {
    margin-right: auto;
}

.facturation-mockup-header span {
    width: 12px;
    height: 12px;
    background: #EDF3FF;
    border-radius: 50%;
}

.facturation-mockup-body {
    display: grid;
    grid-template-columns: 145px 1fr;
    background: #F8FBFF;
    min-height: 350px;
    border-radius: 0 0 14px 14px;
    overflow: hidden;
}

.facturation-mockup-body aside {
    background: white;
    border-right: 1px solid #E5EAF3;
    padding: 28px 14px;
    display: grid;
    gap: 12px;
    align-content: start;
}

.facturation-mockup-body aside span {
    font-size: 12px;
    font-weight: 750;
    color: #67748A;
    padding: 9px 10px;
    border-radius: 8px;
}

.facturation-mockup-body aside span.active {
    background: #EAF2FF;
    color: var(--blue);
}

.facturation-dashboard {
    padding: 26px;
}

.facturation-topline {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
}

.facturation-topline h4 {
    font-size: 20px;
    color: var(--blue-dark);
}

.facturation-topline div {
    display: flex;
    gap: 8px;
}

.facturation-topline button {
    height: 32px;
    border: 1px solid #D9E4F5;
    background: white;
    color: #526179;
    border-radius: 7px;
    padding: 0 12px;
    font-size: 11px;
    font-weight: 800;
}

.facturation-topline .new-invoice {
    background: var(--blue);
    color: white;
    border-color: var(--blue);
}

.facturation-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 16px;
}

.facturation-stats article {
    background: white;
    border: 1px solid #E5EAF3;
    border-radius: 12px;
    padding: 16px;
}

.facturation-stats small {
    display: block;
    color: #6A7488;
    font-size: 11px;
    font-weight: 800;
    margin-bottom: 7px;
}

.facturation-stats strong {
    display: block;
    color: var(--blue-dark);
    font-size: 22px;
    letter-spacing: -.04em;
}

.facturation-stats em {
    display: block;
    font-style: normal;
    color: #16A96D;
    font-size: 11px;
    font-weight: 800;
    margin-top: 4px;
}

.facturation-panel {
    background: white;
    border: 1px solid #E5EAF3;
    border-radius: 12px;
    padding: 18px;
}

.facturation-panel h5 {
    font-size: 13px;
    color: var(--blue-dark);
    margin-bottom: 16px;
}

.facturation-table {
    display: grid;
    gap: 0;
}

.facturation-table > div {
    display: grid;
    grid-template-columns: 1fr .8fr .8fr .8fr .9fr .7fr;
    gap: 10px;
    align-items: center;
    font-size: 11px;
    color: #526179;
    font-weight: 750;
    padding: 9px 0;
    border-bottom: 1px solid #EEF2F8;
}

.facturation-table-head span {
    color: #8A96AA;
    font-weight: 900;
}

.facturation-table strong {
    color: var(--blue-dark);
}

.facturation-table em {
    justify-self: start;
    border-radius: 999px;
    padding: 4px 8px;
    font-style: normal;
    font-size: 10px;
    font-weight: 900;
}

.facturation-table .paid {
    background: #EAFBF4;
    color: #14A56D;
}

.facturation-table .sent {
    background: #EAF2FF;
    color: var(--blue);
}

.facturation-table .waiting {
    background: #FFF2D6;
    color: #D89000;
}

.peppol-card {
    margin-top: 14px;
    background: white;
    border: 1px solid #E5EAF3;
    border-radius: 12px;
    padding: 16px 18px;
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
}

.peppol-card strong {
    color: var(--blue);
    font-size: 18px;
}

.peppol-card p {
    font-size: 11px;
    color: #526179;
    margin-top: 4px;
}

.peppol-card span {
    background: #EAFBF4;
    color: #14A56D;
    border-radius: 999px;
    padding: 6px 10px;
    font-size: 11px;
    font-weight: 900;
}

.facturation-phone {
    position: absolute;
    right: -10px;
    bottom: -18px;
    width: 190px;
    min-height: 330px;
    background: white;
    border: 9px solid #071632;
    border-radius: 32px;
    box-shadow: 0 28px 65px rgba(0, 29, 79, .25);
    padding: 26px 15px 18px;
}

.facturation-phone > strong {
    display: block;
    text-align: center;
    font-size: 13px;
    color: var(--blue-dark);
    margin-bottom: 20px;
}

.facturation-phone h5 {
    font-size: 20px;
    color: var(--blue-dark);
    margin-bottom: 4px;
}

.facturation-phone p {
    font-size: 12px;
    color: #64718A;
    margin-bottom: 8px;
}

.phone-paid {
    display: inline-flex;
    background: #EAFBF4;
    color: #14A56D;
    border-radius: 999px;
    padding: 5px 10px;
    font-size: 11px;
    font-weight: 900;
    margin-bottom: 18px;
}

.invoice-lines {
    display: grid;
    gap: 11px;
    margin-bottom: 16px;
}

.invoice-lines div,
.invoice-total {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    color: #526179;
    font-size: 11px;
    font-weight: 750;
}

.invoice-lines b {
    color: var(--blue-dark);
}

.invoice-total {
    border-top: 1px solid #E5EAF3;
    padding-top: 13px;
    margin-bottom: 16px;
    align-items: center;
}

.invoice-total strong {
    color: var(--blue);
    font-size: 17px;
}

.facturation-phone button {
    width: 100%;
    height: 34px;
    border-radius: 8px;
    border: 1px solid var(--blue);
    background: var(--blue);
    color: white;
    font-size: 11px;
    font-weight: 900;
    margin-bottom: 8px;
}

.facturation-phone button.download {
    background: white;
    color: var(--blue);
}

.facturation-section {
    padding: 70px 0 58px;
    background: white;
}

.facturation-section-subtitle {
    text-align: center;
    color: #536079;
    font-size: 17px;
    margin-top: 8px;
}

.facturation-benefits-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-top: 44px;
}

.facturation-benefits-grid article {
    border: 1px solid #E5EAF3;
    border-radius: 13px;
    background: white;
    padding: 30px;
    display: grid;
    grid-template-columns: 58px 1fr;
    column-gap: 22px;
    box-shadow: 0 12px 35px rgba(7, 22, 50, .035);
}

.facturation-benefit-icon {
    width: 58px;
    height: 58px;
    background: #F1F6FF;
    color: var(--blue);
    border-radius: 13px;
    display: grid;
    place-items: center;
    font-size: 28px;
    grid-row: span 2;
}

.facturation-benefits-grid h3 {
    font-size: 17px;
    margin-bottom: 9px;
    color: var(--blue-dark);
}

.facturation-benefits-grid p {
    color: #44516A;
    font-size: 14px;
    line-height: 1.55;
}

.facturation-how-section {
    padding: 54px 0;
    background: white;
}

.facturation-how-section .container {
    background: linear-gradient(180deg, #F7FAFF, #EEF5FF);
    border-radius: 18px;
    padding: 48px;
    text-align: center;
}

.facturation-how-section h2 {
    color: var(--blue-dark);
    font-size: 31px;
    letter-spacing: -.04em;
}

.facturation-how-section > .container > p {
    color: #536079;
    margin-top: 7px;
    margin-bottom: 44px;
}

.facturation-steps-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 34px;
}

.facturation-steps-grid article {
    position: relative;
}

.facturation-steps-grid span {
    width: 30px;
    height: 30px;
    background: var(--blue);
    color: white;
    border-radius: 50%;
    display: grid;
    place-items: center;
    margin: 0 auto 15px;
    font-weight: 900;
}

.facturation-step-icon {
    width: 72px;
    height: 72px;
    border-radius: 15px;
    background: white;
    border: 1px solid #DDE7F6;
    color: var(--blue);
    display: grid;
    place-items: center;
    font-size: 32px;
    font-weight: 900;
    margin: 0 auto 18px;
}

.facturation-steps-grid h3 {
    color: var(--blue-dark);
    font-size: 16px;
    margin-bottom: 7px;
}

.facturation-steps-grid p {
    color: #536079;
    font-size: 13px;
}

.facturation-cta {
    padding: 45px 0 30px;
    background: white;
}

.facturation-cta-inner {
    background: linear-gradient(135deg, #005BFF, #001D4F);
    color: white;
    border-radius: 12px;
    padding: 42px 48px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

.facturation-cta h2 {
    font-size: 28px;
    letter-spacing: -.04em;
    margin-bottom: 8px;
}

.facturation-cta p {
    color: #D9E5FF;
}

@media (max-width: 1080px) {
    .facturation-hero-grid,
    .facturation-benefits-grid {
        grid-template-columns: 1fr;
    }

    .facturation-steps-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .facturation-visual {
        min-height: 540px;
    }

    .facturation-phone {
        right: 20px;
    }

    .facturation-cta-inner {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 760px) {
    .facturation-hero-grid {
        gap: 36px;
    }

    .facturation-mockup-body {
        grid-template-columns: 1fr;
    }

    .facturation-mockup-body aside {
        display: none;
    }

    .facturation-stats,
    .facturation-steps-grid {
        grid-template-columns: 1fr;
    }

    .facturation-table > div {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .facturation-dashboard {
        padding: 20px;
    }

    .facturation-phone {
        position: relative;
        right: auto;
        bottom: auto;
        margin: 24px auto 0;
    }

    .facturation-benefits-grid article {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .facturation-benefit-icon {
        margin: 0 auto 18px;
    }

    .facturation-how-section .container {
        padding: 34px 22px;
    }
}
.why-page-hero {
    padding: 34px 0 70px;
    background:
        radial-gradient(circle at 95% 10%, rgba(0, 91, 255, .09), transparent 28%),
        linear-gradient(180deg, #FFFFFF 0%, #F7FAFF 100%);
}

.why-hero-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 70px;
    align-items: center;
}

.why-hero-copy h1 {
    font-size: clamp(42px, 5vw, 64px);
    line-height: 1.05;
    letter-spacing: -.065em;
    margin: 22px 0;
    color: var(--blue-dark);
}

.why-hero-copy h1 span {
    color: var(--blue);
}

.why-hero-copy p {
    color: #27354C;
    font-size: 17px;
    line-height: 1.65;
    max-width: 590px;
    margin-bottom: 30px;
}

.why-visual {
    position: relative;
    min-height: 455px;
}

.why-laptop {
    background: #071632;
    border-radius: 22px;
    padding: 10px;
    box-shadow: 0 35px 80px rgba(0, 29, 79, .22);
}

.why-mockup-header {
    height: 34px;
    background: white;
    border-radius: 14px 14px 0 0;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 16px;
    color: var(--blue);
    font-size: 13px;
}

.why-mockup-header strong {
    margin-right: auto;
}

.why-mockup-header span {
    width: 12px;
    height: 12px;
    background: #EDF3FF;
    border-radius: 50%;
}

.why-mockup-body {
    display: grid;
    grid-template-columns: 145px 1fr;
    background: #F8FBFF;
    min-height: 350px;
    border-radius: 0 0 14px 14px;
    overflow: hidden;
}

.why-mockup-body aside {
    background: white;
    border-right: 1px solid #E5EAF3;
    padding: 28px 14px;
    display: grid;
    gap: 12px;
    align-content: start;
}

.why-mockup-body aside span {
    font-size: 12px;
    font-weight: 750;
    color: #67748A;
    padding: 9px 10px;
    border-radius: 8px;
}

.why-mockup-body aside span.active {
    background: #EAF2FF;
    color: var(--blue);
}

.why-dashboard {
    padding: 26px;
}

.why-dashboard h4 {
    font-size: 20px;
    color: var(--blue-dark);
    margin-bottom: 18px;
}

.why-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 16px;
}

.why-stats article,
.why-panel {
    background: white;
    border: 1px solid #E5EAF3;
    border-radius: 12px;
    padding: 16px;
}

.why-stats small {
    color: #6A7488;
    font-size: 11px;
    font-weight: 800;
}

.why-stats strong {
    display: block;
    color: var(--blue-dark);
    font-size: 21px;
    margin-top: 6px;
}

.why-stats em {
    color: #16A96D;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
}

.why-dashboard-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.why-panel h5 {
    color: var(--blue-dark);
    font-size: 13px;
    margin-bottom: 14px;
}

.why-donut-row {
    display: flex;
    gap: 16px;
    align-items: center;
}

.why-donut {
    width: 84px;
    height: 84px;
    border-radius: 50%;
    background: conic-gradient(#005BFF 0 45%, #16BFA3 45% 75%, #8B5CF6 75% 90%, #DDE6F4 90% 100%);
    position: relative;
}

.why-donut::after {
    content: "";
    position: absolute;
    inset: 20px;
    background: white;
    border-radius: 50%;
}

.why-donut-row ul {
    list-style: none;
    font-size: 11px;
    color: #526179;
    display: grid;
    gap: 7px;
    width: 100%;
}

.why-donut-row li {
    display: grid;
    grid-template-columns: 8px 1fr auto;
    gap: 8px;
}

.why-donut-row b {
    width: 8px;
    height: 8px;
    background: var(--blue);
    border-radius: 50%;
}

.why-line-chart {
    height: 115px;
    background: linear-gradient(180deg, rgba(0,91,255,.08), transparent);
    border-radius: 10px;
}

.why-line-chart svg {
    width: 100%;
    height: 100%;
}

.why-tasks {
    grid-column: 1 / -1;
}

.why-tasks div {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    color: #526179;
    padding: 8px 0;
    border-bottom: 1px solid #EEF2F8;
}

.why-tasks em {
    font-style: normal;
    border-radius: 999px;
    padding: 3px 8px;
    font-size: 10px;
    font-weight: 900;
}

.why-tasks .red { background: #FFECEC; color: #E03838; }
.why-tasks .orange { background: #FFF2D6; color: #D89000; }
.why-tasks .green { background: #EAFBF4; color: #14A56D; }

.why-phone {
    position: absolute;
    right: -10px;
    bottom: -18px;
    width: 190px;
    background: white;
    border: 9px solid #071632;
    border-radius: 32px;
    box-shadow: 0 28px 65px rgba(0, 29, 79, .25);
    padding: 26px 15px 18px;
}

.why-phone > strong {
    display: block;
    text-align: center;
    color: var(--blue);
    margin-bottom: 14px;
}

.why-phone article {
    background: #F7FAFF;
    border-radius: 10px;
    padding: 12px;
    margin-bottom: 10px;
}

.why-phone span {
    color: #64718A;
    font-size: 11px;
    display: block;
}

.why-phone b {
    color: var(--blue-dark);
    font-size: 17px;
}

.why-phone-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.why-phone p {
    margin-top: 12px;
    color: var(--blue);
    font-weight: 900;
    font-size: 13px;
}

.why-origin-section,
.why-vision-section,
.why-difference-section,
.why-principles-section,
.why-numbers-section {
    padding: 54px 0;
    background: white;
}

.why-origin-section h2,
.why-vision-section h2,
.why-difference-section h2,
.why-numbers-section h2 {
    text-align: center;
    color: var(--blue-dark);
    font-size: 31px;
    letter-spacing: -.04em;
}

.why-origin-section > .container > p,
.why-vision-section > .container > p,
.why-difference-section > .container > p,
.why-numbers-section > .container > p {
    text-align: center;
    color: #536079;
    margin-top: 8px;
}

.why-timeline {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 34px;
    margin-top: 46px;
}

.why-timeline article {
    position: relative;
}

.why-round-icon {
    width: 58px;
    height: 58px;
    background: #F1F6FF;
    color: var(--blue);
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 27px;
    margin-bottom: 18px;
}

.why-timeline h3,
.why-vision-grid h3,
.why-principles h3 {
    color: var(--blue-dark);
    font-size: 17px;
    margin-bottom: 9px;
}

.why-timeline p,
.why-timeline li,
.why-vision-grid p,
.why-principles p {
    color: #44516A;
    font-size: 14px;
    line-height: 1.55;
}

.why-timeline ul {
    padding-left: 18px;
}

.why-vision-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
    margin-top: 42px;
}

.why-vision-grid article {
    border: 1px solid #E5EAF3;
    border-radius: 13px;
    padding: 30px;
    background: white;
    box-shadow: 0 12px 35px rgba(7, 22, 50, .035);
}

.why-vision-grid article > div {
    width: 58px;
    height: 58px;
    background: #F1F6FF;
    color: var(--blue);
    border-radius: 13px;
    display: grid;
    place-items: center;
    font-size: 28px;
    margin-bottom: 18px;
}

.why-comparison {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 42px;
    border-radius: 18px;
    overflow: hidden;
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
}

.why-comparison article {
    padding: 34px 42px;
}

.old-tools {
    background: linear-gradient(135deg, #FFF1F1, #FFFFFF);
}

.new-tools {
    background: linear-gradient(135deg, #EFFBF5, #FFFFFF);
}

.why-comparison h3 {
    color: var(--blue-dark);
    margin-bottom: 18px;
}

.why-comparison ul {
    list-style: none;
    display: grid;
    gap: 10px;
    color: #27354C;
    font-size: 14px;
    font-weight: 750;
}

.old-tools li::before {
    content: "✕";
    color: #E03838;
    margin-right: 9px;
}

.new-tools li::before {
    content: "✓";
    color: #16A96D;
    margin-right: 9px;
}

.vs-badge {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 62px;
    height: 62px;
    border-radius: 50%;
    background: var(--blue);
    color: white;
    display: grid;
    place-items: center;
    font-weight: 900;
    box-shadow: 0 12px 30px rgba(0,91,255,.25);
}

.why-principles-grid {
    display: grid;
    grid-template-columns: 1fr .9fr;
    gap: 44px;
    align-items: center;
}

.why-principles-section h2 {
    color: var(--blue-dark);
    font-size: 29px;
    letter-spacing: -.04em;
    margin-bottom: 34px;
}

.why-principles {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

.why-principles article {
    text-align: center;
}

.why-principles article > div {
    color: var(--blue);
    font-size: 34px;
    margin-bottom: 14px;
}

.why-now-card {
    background:
        radial-gradient(circle at 85% 45%, rgba(0,91,255,.35), transparent 32%),
        linear-gradient(135deg, #001D4F, #001333);
    color: white;
    border-radius: 18px;
    padding: 42px;
    min-height: 285px;
}

.why-now-card h2 {
    font-size: 32px;
    letter-spacing: -.04em;
    margin-bottom: 18px;
}

.why-now-card p {
    color: #D9E5FF;
    line-height: 1.65;
    margin-bottom: 20px;
}

.why-now-card strong {
    color: white;
}

.why-numbers-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
    margin-top: 34px;
}

.why-numbers-grid article {
    background: #F7FAFF;
    border: 1px solid #EDF2F8;
    border-radius: 16px;
    padding: 28px;
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 14px;
}

.why-numbers-grid div {
    color: var(--blue);
    font-size: 32px;
    grid-row: span 2;
}

.why-numbers-grid strong {
    color: var(--blue);
    font-size: 28px;
    letter-spacing: -.04em;
}

.why-numbers-grid span {
    color: #44516A;
    font-size: 13px;
}

.why-cta {
    padding: 30px 0 0;
    background: white;
}

.why-cta-inner {
    background: linear-gradient(135deg, #005BFF, #001D4F);
    color: white;
    border-radius: 12px;
    padding: 42px 48px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

.why-cta h2 {
    font-size: 34px;
    letter-spacing: -.04em;
    margin-bottom: 8px;
}

.why-cta p {
    color: #D9E5FF;
}

.why-cta-inner > div:last-child {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

.btn-outline-white {
    border-color: rgba(255,255,255,.65);
    color: white;
    background: transparent;
}

@media (max-width: 1080px) {
    .why-hero-grid,
    .why-timeline,
    .why-vision-grid,
    .why-principles-grid,
    .why-numbers-grid {
        grid-template-columns: 1fr;
    }

    .why-principles {
        grid-template-columns: repeat(2, 1fr);
    }

    .why-phone {
        right: 20px;
    }

    .why-visual {
        min-height: 540px;
    }

    .why-cta-inner {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 760px) {
    .why-mockup-body {
        grid-template-columns: 1fr;
    }

    .why-mockup-body aside {
        display: none;
    }

    .why-stats,
    .why-dashboard-grid,
    .why-comparison,
    .why-principles {
        grid-template-columns: 1fr;
    }

    .why-dashboard {
        padding: 20px;
    }

    .why-phone {
        position: relative;
        right: auto;
        bottom: auto;
        margin: 24px auto 0;
    }

    .vs-badge {
        position: static;
        transform: none;
        margin: -10px auto;
        z-index: 2;
    }

    .why-comparison {
        overflow: visible;
    }

    .why-numbers-grid article {
        grid-template-columns: 1fr;
        text-align: center;
    }
}
.who-page-hero {
    padding: 34px 0 70px;
    background:
        radial-gradient(circle at 95% 10%, rgba(0, 91, 255, .09), transparent 28%),
        linear-gradient(180deg, #FFFFFF 0%, #F7FAFF 100%);
}

.who-hero-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 70px;
    align-items: center;
}

.who-hero-copy h1 {
    font-size: clamp(46px, 5vw, 70px);
    line-height: 1;
    letter-spacing: -.065em;
    margin: 22px 0 14px;
    color: var(--blue-dark);
}

.who-hero-copy h2 {
    color: var(--blue);
    font-size: 30px;
    line-height: 1.25;
    margin-bottom: 24px;
    max-width: 620px;
}

.who-hero-copy p {
    color: #27354C;
    font-size: 17px;
    line-height: 1.65;
    max-width: 570px;
    margin-bottom: 18px;
}

.who-check-list {
    list-style: none;
    display: grid;
    gap: 11px;
    margin: 26px 0 30px;
    font-size: 15px;
    font-weight: 750;
    color: #1C2B45;
}

.who-check-list li {
    display: flex;
    align-items: center;
    gap: 10px;
}

.who-check-list li::before {
    content: "✓";
    width: 20px;
    height: 20px;
    border: 1.8px solid #26B86A;
    color: #26B86A;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: 900;
}

.who-visual {
    position: relative;
    min-height: 455px;
}

.who-laptop {
    background: #071632;
    border-radius: 22px;
    padding: 10px;
    box-shadow: 0 35px 80px rgba(0, 29, 79, .22);
}

.who-mockup-header {
    height: 34px;
    background: white;
    border-radius: 14px 14px 0 0;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 16px;
    color: var(--blue);
    font-size: 13px;
}

.who-mockup-header strong {
    margin-right: auto;
}

.who-mockup-header span {
    width: 12px;
    height: 12px;
    background: #EDF3FF;
    border-radius: 50%;
}

.who-mockup-body {
    display: grid;
    grid-template-columns: 145px 1fr;
    background: #F8FBFF;
    min-height: 350px;
    border-radius: 0 0 14px 14px;
    overflow: hidden;
}

.who-mockup-body aside {
    background: white;
    border-right: 1px solid #E5EAF3;
    padding: 28px 14px;
    display: grid;
    gap: 12px;
    align-content: start;
}

.who-mockup-body aside span {
    font-size: 12px;
    font-weight: 750;
    color: #67748A;
    padding: 9px 10px;
    border-radius: 8px;
}

.who-mockup-body aside span.active {
    background: #EAF2FF;
    color: var(--blue);
}

.who-dashboard {
    padding: 26px;
}

.who-dashboard h4 {
    font-size: 20px;
    color: var(--blue-dark);
    margin-bottom: 18px;
}

.who-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 16px;
}

.who-stats article,
.who-panel {
    background: white;
    border: 1px solid #E5EAF3;
    border-radius: 12px;
    padding: 16px;
}

.who-stats small {
    color: #6A7488;
    font-size: 11px;
    font-weight: 800;
}

.who-stats strong {
    display: block;
    color: var(--blue-dark);
    font-size: 21px;
    margin-top: 6px;
}

.who-stats em {
    color: #16A96D;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
}

.who-dashboard-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.who-panel h5 {
    color: var(--blue-dark);
    font-size: 13px;
    margin-bottom: 14px;
}

.who-donut-row {
    display: flex;
    gap: 16px;
    align-items: center;
}

.who-donut {
    width: 84px;
    height: 84px;
    border-radius: 50%;
    background: conic-gradient(#005BFF 0 45%, #16BFA3 45% 75%, #8B5CF6 75% 90%, #DDE6F4 90% 100%);
    position: relative;
}

.who-donut::after {
    content: "";
    position: absolute;
    inset: 20px;
    background: white;
    border-radius: 50%;
}

.who-donut-row ul {
    list-style: none;
    font-size: 11px;
    color: #526179;
    display: grid;
    gap: 7px;
    width: 100%;
}

.who-donut-row li {
    display: grid;
    grid-template-columns: 8px 1fr auto;
    gap: 8px;
}

.who-donut-row b {
    width: 8px;
    height: 8px;
    background: var(--blue);
    border-radius: 50%;
}

.who-line-chart {
    height: 115px;
    background: linear-gradient(180deg, rgba(0,91,255,.08), transparent);
    border-radius: 10px;
}

.who-line-chart svg {
    width: 100%;
    height: 100%;
}

.who-tasks {
    grid-column: 1 / -1;
}

.who-tasks div {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    color: #526179;
    padding: 8px 0;
    border-bottom: 1px solid #EEF2F8;
}

.who-tasks em {
    font-style: normal;
    border-radius: 999px;
    padding: 3px 8px;
    font-size: 10px;
    font-weight: 900;
}

.who-tasks .red { background: #FFECEC; color: #E03838; }
.who-tasks .orange { background: #FFF2D6; color: #D89000; }
.who-tasks .green { background: #EAFBF4; color: #14A56D; }

.who-phone {
    position: absolute;
    right: -10px;
    bottom: -18px;
    width: 190px;
    background: white;
    border: 9px solid #071632;
    border-radius: 32px;
    box-shadow: 0 28px 65px rgba(0, 29, 79, .25);
    padding: 26px 15px 18px;
}

.who-phone > strong {
    display: block;
    text-align: center;
    color: var(--blue);
    margin-bottom: 14px;
}

.who-phone article {
    background: #F7FAFF;
    border-radius: 10px;
    padding: 12px;
    margin-bottom: 10px;
}

.who-phone span {
    color: #64718A;
    font-size: 11px;
    display: block;
}

.who-phone b {
    color: var(--blue-dark);
    font-size: 17px;
}

.who-phone-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.who-phone p {
    margin-top: 12px;
    color: var(--blue);
    font-weight: 900;
    font-size: 13px;
}

.who-audience-section,
.who-benefits-section,
.who-experts-section {
    padding: 54px 0;
    background: white;
}

.who-audience-section h2,
.who-benefits-section h2 {
    text-align: center;
    color: var(--blue-dark);
    font-size: 31px;
    letter-spacing: -.04em;
}

.who-audience-section > .container > p,
.who-benefits-section > .container > p {
    text-align: center;
    color: #536079;
    margin-top: 8px;
}

.who-audience-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 18px;
    margin-top: 42px;
}

.who-audience-grid article {
    border: 1px solid #E5EAF3;
    border-radius: 13px;
    padding: 30px 20px;
    text-align: center;
    background: white;
    box-shadow: 0 12px 35px rgba(7, 22, 50, .035);
}

.who-audience-grid article > div {
    color: var(--blue);
    font-size: 38px;
    margin-bottom: 18px;
}

.who-audience-grid h3 {
    color: var(--blue-dark);
    font-size: 16px;
    margin-bottom: 10px;
}

.who-audience-grid p {
    color: #44516A;
    font-size: 14px;
    line-height: 1.55;
}

.who-benefits-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-top: 44px;
}

.who-benefits-grid article {
    border: 1px solid #E5EAF3;
    border-radius: 13px;
    background: white;
    padding: 30px;
    display: grid;
    grid-template-columns: 58px 1fr;
    column-gap: 22px;
    box-shadow: 0 12px 35px rgba(7, 22, 50, .035);
}

.who-benefits-grid article > div {
    width: 58px;
    height: 58px;
    background: #F1F6FF;
    color: var(--blue);
    border-radius: 13px;
    display: grid;
    place-items: center;
    font-size: 28px;
    grid-row: span 2;
}

.who-benefits-grid h3 {
    font-size: 17px;
    margin-bottom: 9px;
    color: var(--blue-dark);
}

.who-benefits-grid p {
    color: #44516A;
    font-size: 14px;
    line-height: 1.55;
}

.who-experts-card {
    background: linear-gradient(135deg, #001D4F, #001333);
    color: white;
    border-radius: 18px;
    padding: 46px;
    display: grid;
    grid-template-columns: 1.1fr 1.4fr;
    gap: 46px;
    align-items: center;
}

.who-experts-card h2 {
    font-size: 31px;
    letter-spacing: -.04em;
    margin-bottom: 16px;
}

.who-experts-card p {
    color: #D9E5FF;
    line-height: 1.65;
    margin-bottom: 12px;
}

.who-experts-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
}

.who-experts-stats article {
    text-align: center;
    padding: 12px 24px;
    border-left: 1px solid rgba(255,255,255,.18);
}

.who-experts-stats strong {
    display: block;
    font-size: 34px;
    color: white;
    letter-spacing: -.04em;
    margin-bottom: 8px;
}

.who-experts-stats span {
    color: #D9E5FF;
    font-size: 14px;
}

.who-cta {
    padding: 0 0 0;
    background: white;
}

.who-cta-inner {
    background: linear-gradient(135deg, #005BFF, #001D4F);
    color: white;
    border-radius: 12px;
    padding: 42px 48px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

.who-cta h2 {
    font-size: 34px;
    letter-spacing: -.04em;
    margin-bottom: 8px;
}

.who-cta p {
    color: #D9E5FF;
    max-width: 620px;
}

.who-cta-inner > div:last-child {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

@media (max-width: 1180px) {
    .who-audience-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 1080px) {
    .who-hero-grid,
    .who-benefits-grid,
    .who-experts-card {
        grid-template-columns: 1fr;
    }

    .who-phone {
        right: 20px;
    }

    .who-visual {
        min-height: 540px;
    }

    .who-cta-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .who-experts-stats {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 760px) {
    .who-mockup-body {
        grid-template-columns: 1fr;
    }

    .who-mockup-body aside {
        display: none;
    }

    .who-stats,
    .who-dashboard-grid,
    .who-audience-grid,
    .who-benefits-grid {
        grid-template-columns: 1fr;
    }

    .who-dashboard {
        padding: 20px;
    }

    .who-phone {
        position: relative;
        right: auto;
        bottom: auto;
        margin: 24px auto 0;
    }

    .who-benefits-grid article {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .who-benefits-grid article > div {
        margin: 0 auto 18px;
    }

    .who-experts-card {
        padding: 34px 22px;
    }

    .who-experts-stats {
        grid-template-columns: 1fr;
    }

    .who-experts-stats article {
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,.18);
    }
}
.legal-page-hero {
    padding: 34px 0 70px;
    background:
        radial-gradient(circle at 95% 10%, rgba(0, 91, 255, .09), transparent 28%),
        linear-gradient(180deg, #FFFFFF 0%, #F7FAFF 100%);
}

.legal-hero-grid {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 70px;
    align-items: center;
}

.legal-hero-copy h1 {
    font-size: clamp(42px, 5vw, 68px);
    line-height: 1.02;
    letter-spacing: -.065em;
    margin: 22px 0 20px;
    color: var(--blue-dark);
}

.legal-hero-copy h1 span,
.legal-hero-copy h1 strong {
    color: var(--blue);
}

.legal-hero-copy p {
    color: #27354C;
    font-size: 17px;
    line-height: 1.65;
    max-width: 570px;
    margin-bottom: 22px;
}

.legal-check-list {
    list-style: none;
    display: grid;
    gap: 13px;
    margin-bottom: 28px;
    font-size: 15px;
    font-weight: 800;
    color: #1C2B45;
}

.legal-check-list li {
    display: flex;
    align-items: center;
    gap: 10px;
}

.legal-check-list li::before {
    content: "✓";
    width: 20px;
    height: 20px;
    border: 1.8px solid var(--blue);
    color: var(--blue);
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: 900;
}

.legal-mini-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    max-width: 560px;
}

.legal-mini-cards article {
    border: 1px solid #E5EAF3;
    border-radius: 12px;
    background: white;
    padding: 18px;
    box-shadow: 0 10px 30px rgba(7,22,50,.04);
}

.legal-mini-cards strong {
    color: var(--blue-dark);
    font-size: 13px;
    display: block;
}

.legal-mini-cards span {
    color: var(--blue);
    font-size: 13px;
    font-weight: 900;
}

.legal-visual {
    position: relative;
    min-height: 455px;
}

.legal-laptop {
    background: #071632;
    border-radius: 22px;
    padding: 10px;
    box-shadow: 0 35px 80px rgba(0, 29, 79, .22);
}

.legal-mockup-header {
    height: 34px;
    background: white;
    border-radius: 14px 14px 0 0;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 16px;
    color: var(--blue);
    font-size: 13px;
}

.legal-mockup-header strong {
    margin-right: auto;
}

.legal-mockup-header span {
    width: 12px;
    height: 12px;
    background: #EDF3FF;
    border-radius: 50%;
}

.legal-mockup-body {
    display: grid;
    grid-template-columns: 145px 1fr;
    background: #F8FBFF;
    min-height: 350px;
    border-radius: 0 0 14px 14px;
    overflow: hidden;
}

.legal-mockup-body aside {
    background: white;
    border-right: 1px solid #E5EAF3;
    padding: 28px 14px;
    display: grid;
    gap: 12px;
    align-content: start;
}

.legal-mockup-body aside span {
    font-size: 12px;
    font-weight: 750;
    color: #67748A;
    padding: 9px 10px;
    border-radius: 8px;
}

.legal-mockup-body aside span.active {
    background: #EAF2FF;
    color: var(--blue);
}

.legal-dashboard {
    padding: 26px;
}

.legal-dashboard h4 {
    font-size: 20px;
    color: var(--blue-dark);
    margin-bottom: 18px;
}

.legal-status-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 16px;
}

.legal-status-grid article,
.legal-panel {
    background: white;
    border: 1px solid #E5EAF3;
    border-radius: 12px;
    padding: 18px;
}

.legal-status-grid small {
    color: #6A7488;
    font-size: 11px;
    font-weight: 800;
}

.legal-status-grid strong {
    display: block;
    color: #14A56D;
    font-size: 21px;
    margin-top: 6px;
}

.legal-status-grid em {
    display: block;
    color: #526179;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
}

.legal-dashboard-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.legal-panel h5 {
    color: var(--blue-dark);
    font-size: 13px;
    margin-bottom: 14px;
}

.legal-panel div {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 8px 0;
    border-bottom: 1px solid #EEF2F8;
    font-size: 11px;
    color: #526179;
    font-weight: 750;
}

.legal-panel em {
    background: #EAFBF4;
    color: #14A56D;
    border-radius: 999px;
    padding: 4px 8px;
    font-style: normal;
    font-weight: 900;
}

.legal-panel strong {
    color: var(--blue);
    font-size: 11px;
}

.legal-phone {
    position: absolute;
    right: -10px;
    bottom: -18px;
    width: 190px;
    background: white;
    border: 9px solid #071632;
    border-radius: 32px;
    box-shadow: 0 28px 65px rgba(0, 29, 79, .25);
    padding: 26px 15px 18px;
}

.legal-phone > strong {
    display: block;
    text-align: center;
    color: var(--blue);
    margin-bottom: 14px;
}

.legal-phone article {
    background: #F7FAFF;
    border-radius: 10px;
    padding: 12px;
    margin-bottom: 10px;
}

.legal-phone span {
    color: #64718A;
    font-size: 11px;
    display: block;
}

.legal-phone b {
    color: #14A56D;
    font-size: 15px;
    display: block;
}

.legal-phone em {
    color: #64718A;
    font-size: 10px;
    font-style: normal;
}

.legal-phone p {
    margin-top: 12px;
    color: var(--blue);
    font-weight: 900;
    font-size: 13px;
}

.legal-obligations-section,
.legal-ready-section,
.legal-roadmap-section,
.legal-risk-section,
.legal-now-section,
.legal-trust-section {
    padding: 54px 0;
    background: white;
}

.legal-obligations-section h2,
.legal-ready-section h2,
.legal-roadmap-section h2,
.legal-risk-section h2,
.legal-trust-section h2 {
    text-align: center;
    color: var(--blue-dark);
    font-size: 31px;
    letter-spacing: -.04em;
}

.legal-obligations-section > .container > p,
.legal-ready-section > .container > p,
.legal-roadmap-section > .container > p,
.legal-risk-section > .container > p,
.legal-trust-section > .container > p {
    text-align: center;
    color: #536079;
    margin-top: 8px;
}

.legal-obligations-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 26px;
    margin-top: 42px;
}

.legal-obligations-grid article {
    border: 1px solid #DDE7F6;
    border-radius: 16px;
    padding: 34px;
    background: linear-gradient(180deg, #FFFFFF, #F9FCFF);
}

.legal-big-icon {
    width: 110px;
    height: 110px;
    border: 1px solid #BFD1F2;
    color: var(--blue);
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 48px;
    margin-bottom: 22px;
}

.legal-big-icon.green {
    color: #14A56D;
    border-color: #BFEBD4;
}

.legal-obligations-grid h3 {
    color: var(--blue);
    font-size: 21px;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.legal-obligations-grid article:nth-child(2) h3 {
    color: #14A56D;
}

.legal-obligations-grid p,
.legal-obligations-grid li {
    color: #44516A;
    font-size: 14px;
    line-height: 1.6;
}

.legal-obligations-grid ul {
    margin-top: 18px;
    padding-left: 20px;
}

.legal-ready-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 16px;
    margin-top: 38px;
}

.legal-ready-grid article {
    border: 1px solid #E5EAF3;
    border-radius: 13px;
    padding: 26px 18px;
    text-align: center;
    background: white;
    box-shadow: 0 12px 35px rgba(7, 22, 50, .035);
}

.legal-ready-grid div {
    color: var(--blue);
    font-size: 32px;
    margin-bottom: 14px;
}

.legal-ready-grid h3 {
    color: var(--blue-dark);
    font-size: 15px;
    margin-bottom: 8px;
}

.legal-ready-grid p {
    color: #44516A;
    font-size: 13px;
    line-height: 1.5;
}

.legal-roadmap {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
    margin-top: 44px;
}

.legal-roadmap article {
    border-top: 4px solid var(--blue);
    background: #F7FAFF;
    border-radius: 14px;
    padding: 26px;
}

.legal-roadmap article:nth-child(3) {
    border-color: #14A56D;
}

.legal-roadmap strong {
    color: var(--blue);
    font-size: 28px;
    letter-spacing: -.04em;
}

.legal-roadmap h3 {
    color: var(--blue-dark);
    font-size: 16px;
    margin: 8px 0 12px;
}

.legal-roadmap ul {
    padding-left: 18px;
    color: #44516A;
    font-size: 13px;
    line-height: 1.65;
}

.legal-comparison {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 42px;
    border-radius: 18px;
    overflow: hidden;
}

.legal-comparison article {
    padding: 34px 42px;
}

.legal-bad {
    background: linear-gradient(135deg, #FFF1F1, #FFFFFF);
}

.legal-good {
    background: linear-gradient(135deg, #EFFBF5, #FFFFFF);
}

.legal-comparison h3 {
    color: var(--blue-dark);
    margin-bottom: 18px;
}

.legal-comparison ul {
    list-style: none;
    display: grid;
    gap: 10px;
    color: #27354C;
    font-size: 14px;
    font-weight: 750;
}

.legal-bad li::before {
    content: "✕";
    color: #E03838;
    margin-right: 9px;
}

.legal-good li::before {
    content: "✓";
    color: #16A96D;
    margin-right: 9px;
}

.legal-vs {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 62px;
    height: 62px;
    border-radius: 50%;
    background: var(--blue);
    color: white;
    display: grid;
    place-items: center;
    font-weight: 900;
    box-shadow: 0 12px 30px rgba(0,91,255,.25);
}

.legal-now-card {
    background: linear-gradient(135deg, #001D4F, #001333);
    color: white;
    border-radius: 18px;
    padding: 42px;
    display: grid;
    grid-template-columns: .95fr 1.3fr;
    gap: 42px;
    align-items: center;
}

.legal-now-card h2 {
    font-size: 30px;
    letter-spacing: -.04em;
    margin-bottom: 14px;
}

.legal-now-card p {
    color: #D9E5FF;
    line-height: 1.65;
}

.legal-now-items {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 18px;
}

.legal-now-items article {
    text-align: center;
    color: white;
    font-size: 31px;
    border-left: 1px solid rgba(255,255,255,.18);
    padding-left: 16px;
}

.legal-now-items span {
    display: block;
    color: #D9E5FF;
    font-size: 13px;
    font-weight: 800;
    margin-top: 10px;
}

.legal-message {
    background: linear-gradient(135deg, #005BFF, #001D4F);
    color: white;
    border-radius: 12px;
    padding: 26px 34px;
    text-align: center;
    font-size: 28px;
    font-weight: 900;
    letter-spacing: -.035em;
    margin-top: -18px;
    max-width: 900px;
}

.legal-trust-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 16px;
    margin-top: 38px;
}

.legal-trust-grid article {
    border: 1px solid #E5EAF3;
    border-radius: 13px;
    padding: 22px;
    background: white;
}

.legal-trust-grid strong {
    color: var(--blue-dark);
    display: block;
    font-size: 14px;
    margin-bottom: 8px;
}

.legal-trust-grid span {
    color: #536079;
    font-size: 13px;
}

.legal-cta {
    background: white;
}

.legal-cta-inner {
    background: linear-gradient(135deg, #005BFF, #001D4F);
    color: white;
    border-radius: 12px;
    padding: 42px 48px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

.legal-cta h2 {
    font-size: 34px;
    letter-spacing: -.04em;
    margin-bottom: 8px;
}

.legal-cta p {
    color: #D9E5FF;
}

.legal-cta-inner > div:last-child {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

@media (max-width: 1180px) {
    .legal-ready-grid,
    .legal-trust-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .legal-now-items {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 1080px) {
    .legal-hero-grid,
    .legal-obligations-grid,
    .legal-roadmap,
    .legal-now-card {
        grid-template-columns: 1fr;
    }

    .legal-visual {
        min-height: 540px;
    }

    .legal-phone {
        right: 20px;
    }

    .legal-cta-inner {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 760px) {
    .legal-mockup-body {
        grid-template-columns: 1fr;
    }

    .legal-mockup-body aside {
        display: none;
    }

    .legal-status-grid,
    .legal-dashboard-grid,
    .legal-mini-cards,
    .legal-ready-grid,
    .legal-comparison,
    .legal-trust-grid,
    .legal-now-items {
        grid-template-columns: 1fr;
    }

    .legal-dashboard {
        padding: 20px;
    }

    .legal-phone {
        position: relative;
        right: auto;
        bottom: auto;
        margin: 24px auto 0;
    }

    .legal-vs {
        position: static;
        transform: none;
        margin: -10px auto;
        z-index: 2;
    }

    .legal-comparison {
        overflow: visible;
    }

    .legal-now-card {
        padding: 34px 22px;
    }

    .legal-message {
        font-size: 21px;
    }
}
.academy-page-hero {
    padding: 34px 0 70px;
    background:
        radial-gradient(circle at 95% 10%, rgba(0, 91, 255, .09), transparent 28%),
        linear-gradient(180deg, #FFFFFF 0%, #F7FAFF 100%);
}

.academy-hero-grid {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 70px;
    align-items: center;
}

.academy-hero-copy h1 {
    font-size: clamp(44px, 5vw, 70px);
    line-height: 1.02;
    letter-spacing: -.065em;
    margin: 22px 0 20px;
    color: var(--blue-dark);
}

.academy-hero-copy h1 span {
    color: var(--blue);
}

.academy-hero-copy p {
    color: #27354C;
    font-size: 17px;
    line-height: 1.65;
    max-width: 570px;
    margin-bottom: 22px;
}

.academy-check-list {
    list-style: none;
    display: grid;
    gap: 13px;
    margin-bottom: 30px;
    font-size: 15px;
    font-weight: 800;
    color: #1C2B45;
}

.academy-check-list li {
    display: flex;
    align-items: center;
    gap: 10px;
}

.academy-check-list li::before {
    content: "✓";
    width: 20px;
    height: 20px;
    border: 1.8px solid var(--blue);
    color: var(--blue);
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: 900;
}

.academy-visual {
    position: relative;
    min-height: 455px;
}

.academy-laptop {
    background: #071632;
    border-radius: 22px;
    padding: 10px;
    box-shadow: 0 35px 80px rgba(0, 29, 79, .22);
}

.academy-mockup-header {
    height: 34px;
    background: white;
    border-radius: 14px 14px 0 0;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 16px;
    color: var(--blue);
    font-size: 13px;
}

.academy-mockup-header strong {
    margin-right: auto;
}

.academy-mockup-header span {
    width: 12px;
    height: 12px;
    background: #EDF3FF;
    border-radius: 50%;
}

.academy-mockup-body {
    display: grid;
    grid-template-columns: 145px 1fr;
    background: #F8FBFF;
    min-height: 350px;
    border-radius: 0 0 14px 14px;
    overflow: hidden;
}

.academy-mockup-body aside {
    background: white;
    border-right: 1px solid #E5EAF3;
    padding: 28px 14px;
    display: grid;
    gap: 12px;
    align-content: start;
}

.academy-mockup-body aside span {
    font-size: 12px;
    font-weight: 750;
    color: #67748A;
    padding: 9px 10px;
    border-radius: 8px;
}

.academy-mockup-body aside span.active {
    background: #EAF2FF;
    color: var(--blue);
}

.academy-dashboard {
    padding: 26px;
}

.academy-dashboard h4 {
    font-size: 20px;
    color: var(--blue-dark);
    margin-bottom: 18px;
}

.academy-welcome-card {
    background: linear-gradient(180deg, #FFFFFF, #F7FAFF);
    border: 1px solid #E5EAF3;
    border-radius: 14px;
    padding: 26px;
    text-align: center;
    margin-bottom: 20px;
}

.academy-welcome-card h5 {
    color: var(--blue-dark);
    font-size: 18px;
    margin-bottom: 8px;
}

.academy-welcome-card p {
    color: #526179;
    font-size: 13px;
    max-width: 520px;
    margin: 0 auto 18px;
}

.academy-welcome-card div {
    background: white;
    border: 1px solid #E5EAF3;
    border-radius: 999px;
    color: #8A96AA;
    font-size: 12px;
    padding: 12px 18px;
    text-align: left;
    max-width: 440px;
    margin: 0 auto;
}

.academy-category-title {
    color: var(--blue-dark);
    margin-bottom: 14px;
}

.academy-category-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 13px;
}

.academy-category-grid article {
    background: white;
    border: 1px solid #E5EAF3;
    border-radius: 12px;
    padding: 16px;
}

.academy-category-grid div {
    color: var(--blue);
    font-size: 24px;
    margin-bottom: 10px;
}

.academy-category-grid strong {
    color: var(--blue-dark);
    display: block;
    font-size: 12px;
}

.academy-category-grid span {
    color: #7A879A;
    font-size: 10px;
    font-weight: 800;
}

.academy-phone {
    position: absolute;
    right: -10px;
    bottom: -18px;
    width: 190px;
    background: white;
    border: 9px solid #071632;
    border-radius: 32px;
    box-shadow: 0 28px 65px rgba(0, 29, 79, .25);
    padding: 24px 15px 18px;
}

.academy-phone > strong {
    display: block;
    text-align: center;
    color: var(--blue);
    margin-bottom: 14px;
}

.academy-phone article {
    background: #F7FAFF;
    border-radius: 12px;
    padding: 14px;
    margin-bottom: 14px;
}

.academy-phone article span {
    color: #526179;
    font-size: 10px;
    font-weight: 800;
}

.academy-phone h5 {
    color: var(--blue-dark);
    font-size: 13px;
    margin: 6px 0 12px;
}

.academy-phone button {
    width: 34px;
    height: 34px;
    background: var(--blue);
    color: white;
    border: 0;
    border-radius: 50%;
    font-size: 14px;
}

.academy-phone em {
    float: right;
    background: #071632;
    color: white;
    border-radius: 999px;
    font-size: 10px;
    padding: 4px 7px;
    font-style: normal;
}

.academy-progress {
    margin-bottom: 18px;
}

.academy-progress span {
    color: #526179;
    font-size: 11px;
    font-weight: 800;
}

.academy-progress strong {
    float: right;
    color: var(--blue);
    font-size: 11px;
}

.academy-progress::after {
    content: "";
    display: block;
    height: 5px;
    background: #E5EAF3;
    border-radius: 999px;
    margin-top: 8px;
}

.academy-progress i {
    display: block;
    width: 73%;
    height: 5px;
    background: var(--blue);
    border-radius: 999px;
    margin-top: -5px;
}

.academy-phone h6 {
    color: var(--blue-dark);
    font-size: 12px;
    margin-bottom: 10px;
}

.academy-phone-link {
    border: 1px solid #E5EAF3;
    border-radius: 9px;
    padding: 10px;
    color: var(--blue-dark);
    font-size: 11px;
    font-weight: 900;
    margin-bottom: 8px;
}

.academy-phone-link small {
    display: block;
    color: #7A879A;
    font-size: 10px;
    margin-top: 3px;
}

.academy-benefits-section,
.academy-resources-section,
.academy-support-section,
.academy-popular-section {
    padding: 54px 0;
    background: white;
}

.academy-benefits-section h2,
.academy-resources-section h2,
.academy-popular-section h2 {
    text-align: center;
    color: var(--blue-dark);
    font-size: 31px;
    letter-spacing: -.04em;
}

.academy-benefits-section > .container > p,
.academy-resources-section > .container > p,
.academy-popular-section > .container > p {
    text-align: center;
    color: #536079;
    margin-top: 8px;
}

.academy-benefits-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 26px;
    margin-top: 42px;
}

.academy-benefits-grid article {
    border-right: 1px solid #DDE7F6;
    padding-right: 22px;
}

.academy-benefits-grid article:last-child {
    border-right: 0;
}

.academy-benefits-grid div {
    color: var(--blue);
    font-size: 32px;
    margin-bottom: 15px;
}

.academy-benefits-grid h3 {
    color: var(--blue-dark);
    font-size: 16px;
    margin-bottom: 9px;
}

.academy-benefits-grid p {
    color: #44516A;
    font-size: 14px;
    line-height: 1.55;
}

.academy-tabs {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
    margin: 30px 0 38px;
}

.academy-tabs button {
    border: 0;
    background: transparent;
    color: #526179;
    font-weight: 800;
    padding: 9px 18px;
    border-radius: 999px;
}

.academy-tabs button.active {
    background: #EAF2FF;
    color: var(--blue);
}

.academy-resource-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

.academy-resource-grid > article {
    border: 1px solid #E5EAF3;
    border-radius: 14px;
    background: white;
    overflow: hidden;
    box-shadow: 0 12px 35px rgba(7, 22, 50, .04);
}

.academy-thumb {
    position: relative;
    height: 145px;
    background:
        radial-gradient(circle at 60% 40%, rgba(0,91,255,.22), transparent 35%),
        linear-gradient(135deg, #EAF2FF, #FFFFFF);
    display: grid;
    place-items: center;
}

.academy-thumb-2,
.academy-thumb-4,
.academy-thumb-6,
.academy-thumb-8 {
    background:
        radial-gradient(circle at 40% 30%, rgba(0,91,255,.18), transparent 35%),
        linear-gradient(135deg, #F8FBFF, #EAF2FF);
}

.academy-thumb button {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 0;
    background: var(--blue);
    color: white;
    font-size: 18px;
}

.academy-thumb span {
    position: absolute;
    right: 10px;
    bottom: 10px;
    background: #071632;
    color: white;
    border-radius: 999px;
    padding: 4px 8px;
    font-size: 11px;
    font-weight: 900;
}

.academy-resource-grid small {
    display: block;
    color: var(--blue);
    font-size: 11px;
    font-weight: 900;
    margin: 18px 18px 7px;
}

.academy-resource-grid h3 {
    color: var(--blue-dark);
    font-size: 17px;
    margin: 0 18px 8px;
}

.academy-resource-grid p {
    color: #44516A;
    font-size: 14px;
    line-height: 1.5;
    margin: 0 18px 18px;
}

.academy-resource-grid footer {
    display: flex;
    justify-content: space-between;
    padding: 0 18px 18px;
    font-size: 13px;
    color: #526179;
}

.academy-resource-grid footer strong {
    color: #14A56D;
}

.academy-resource-grid footer .orange {
    color: #D89000;
}

.academy-resource-grid footer .red {
    color: #E03838;
}

.academy-more {
    text-align: center;
    margin-top: 32px;
}

.academy-support-card {
    background:
        radial-gradient(circle at 15% 20%, rgba(0,91,255,.25), transparent 28%),
        linear-gradient(135deg, #001D4F, #001333);
    color: white;
    border-radius: 18px;
    padding: 46px;
    display: grid;
    grid-template-columns: 1fr .85fr;
    gap: 46px;
    align-items: center;
}

.academy-support-card h2 {
    font-size: 34px;
    letter-spacing: -.04em;
    margin-bottom: 12px;
}

.academy-support-card > div > p {
    color: #D9E5FF;
    font-size: 16px;
    line-height: 1.6;
    max-width: 580px;
}

.academy-support-points {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
    margin-top: 42px;
}

.academy-support-points article {
    border-right: 1px solid rgba(255,255,255,.18);
    padding-right: 20px;
}

.academy-support-points article:last-child {
    border-right: 0;
}

.academy-support-points div {
    font-size: 28px;
    margin-bottom: 12px;
}

.academy-support-points h3 {
    font-size: 15px;
    margin-bottom: 8px;
}

.academy-support-points p {
    color: #D9E5FF;
    font-size: 13px;
}

.academy-support-form {
    background: white;
    color: var(--text);
    border-radius: 14px;
    padding: 28px;
}

.academy-support-form h3 {
    color: var(--blue-dark);
    font-size: 20px;
    margin-bottom: 8px;
}

.academy-support-form p {
    color: #536079;
    font-size: 13px;
    margin-bottom: 18px;
}

.academy-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 12px;
}

.academy-support-form input,
.academy-support-form select,
.academy-support-form textarea {
    width: 100%;
    border: 1px solid #DDE7F6;
    border-radius: 8px;
    padding: 13px 14px;
    font: inherit;
    font-size: 13px;
    margin-bottom: 12px;
}

.academy-support-form textarea {
    min-height: 92px;
    resize: vertical;
}

.academy-support-form button {
    width: 100%;
    border: 0;
    background: var(--blue);
    color: white;
    min-height: 44px;
    border-radius: 8px;
    font-weight: 900;
    cursor: pointer;
}

.academy-popular-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 18px;
    margin-top: 34px;
}

.academy-popular-grid article {
    border: 1px solid #E5EAF3;
    background: #F7FAFF;
    border-radius: 13px;
    padding: 22px;
}

.academy-popular-grid strong {
    color: var(--blue-dark);
    display: block;
    font-size: 15px;
    margin-bottom: 8px;
}

.academy-popular-grid span {
    color: #536079;
    font-size: 13px;
}

.academy-cta {
    background: white;
}

.academy-cta-inner {
    background: linear-gradient(135deg, #005BFF, #001D4F);
    color: white;
    border-radius: 12px;
    padding: 42px 48px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

.academy-cta h2 {
    font-size: 34px;
    letter-spacing: -.04em;
    margin-bottom: 8px;
}

.academy-cta p {
    color: #D9E5FF;
}

@media (max-width: 1180px) {
    .academy-resource-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .academy-benefits-grid,
    .academy-popular-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 1080px) {
    .academy-hero-grid,
    .academy-support-card {
        grid-template-columns: 1fr;
    }

    .academy-visual {
        min-height: 540px;
    }

    .academy-phone {
        right: 20px;
    }

    .academy-cta-inner {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 760px) {
    .academy-mockup-body {
        grid-template-columns: 1fr;
    }

    .academy-mockup-body aside {
        display: none;
    }

    .academy-category-grid,
    .academy-benefits-grid,
    .academy-resource-grid,
    .academy-support-points,
    .academy-popular-grid,
    .academy-form-grid {
        grid-template-columns: 1fr;
    }

    .academy-dashboard {
        padding: 20px;
    }

    .academy-phone {
        position: relative;
        right: auto;
        bottom: auto;
        margin: 24px auto 0;
    }

    .academy-support-card {
        padding: 34px 22px;
    }

    .academy-support-points article,
    .academy-benefits-grid article {
        border-right: 0;
    }
}
.contact-page-hero {
    padding: 34px 0 70px;
    background:
        radial-gradient(circle at 95% 10%, rgba(0, 91, 255, .09), transparent 28%),
        linear-gradient(180deg, #FFFFFF 0%, #F7FAFF 100%);
}

.contact-hero-grid {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 70px;
    align-items: center;
}

.contact-hero-copy h1 {
    font-size: clamp(44px, 5vw, 70px);
    line-height: 1.02;
    letter-spacing: -.065em;
    margin: 22px 0 20px;
    color: var(--blue-dark);
}

.contact-hero-copy h1 span {
    color: var(--blue);
}

.contact-hero-copy p {
    color: #27354C;
    font-size: 17px;
    line-height: 1.65;
    max-width: 570px;
    margin-bottom: 22px;
}

.contact-check-list {
    list-style: none;
    display: grid;
    gap: 13px;
    margin-bottom: 30px;
    font-size: 15px;
    font-weight: 800;
    color: #1C2B45;
}

.contact-check-list li {
    display: flex;
    align-items: center;
    gap: 10px;
}

.contact-check-list li::before {
    content: "✓";
    width: 20px;
    height: 20px;
    border: 1.8px solid var(--blue);
    color: var(--blue);
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: 900;
}

.contact-visual {
    position: relative;
    min-height: 455px;
}

.contact-laptop {
    background: #071632;
    border-radius: 22px;
    padding: 10px;
    box-shadow: 0 35px 80px rgba(0, 29, 79, .22);
}

.contact-mockup-header {
    height: 34px;
    background: white;
    border-radius: 14px 14px 0 0;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 16px;
    color: var(--blue);
    font-size: 13px;
}

.contact-mockup-header strong {
    margin-right: auto;
}

.contact-mockup-header span {
    width: 12px;
    height: 12px;
    background: #EDF3FF;
    border-radius: 50%;
}

.contact-mockup-body {
    display: grid;
    grid-template-columns: 145px 1fr;
    background: #F8FBFF;
    min-height: 350px;
    border-radius: 0 0 14px 14px;
    overflow: hidden;
}

.contact-mockup-body aside {
    background: white;
    border-right: 1px solid #E5EAF3;
    padding: 28px 14px;
    display: grid;
    gap: 12px;
    align-content: start;
}

.contact-mockup-body aside span {
    font-size: 12px;
    font-weight: 750;
    color: #67748A;
    padding: 9px 10px;
    border-radius: 8px;
}

.contact-mockup-body aside span.active {
    background: #EAF2FF;
    color: var(--blue);
}

.contact-dashboard {
    padding: 32px;
}

.contact-dashboard h4 {
    font-size: 21px;
    color: var(--blue-dark);
    margin-bottom: 18px;
}

.contact-help-card {
    background: white;
    border: 1px solid #E5EAF3;
    border-radius: 14px;
    padding: 30px;
    margin-bottom: 24px;
}

.contact-help-card p {
    color: #27354C;
    font-size: 15px;
    margin-bottom: 16px;
}

.contact-help-card span {
    color: #14A56D;
    font-weight: 900;
    font-size: 13px;
}

.contact-support-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.contact-support-grid article {
    background: white;
    border: 1px solid #E5EAF3;
    border-radius: 14px;
    padding: 24px;
    text-align: center;
}

.contact-support-grid div {
    color: var(--blue);
    font-size: 30px;
    margin-bottom: 12px;
}

.contact-support-grid strong {
    display: block;
    color: var(--blue-dark);
    font-size: 15px;
    margin-bottom: 6px;
}

.contact-support-grid span {
    color: #536079;
    font-size: 12px;
}

.contact-phone {
    position: absolute;
    right: -10px;
    bottom: -18px;
    width: 190px;
    background: white;
    border: 9px solid #071632;
    border-radius: 32px;
    box-shadow: 0 28px 65px rgba(0, 29, 79, .25);
    padding: 26px 15px 22px;
    text-align: center;
}

.contact-phone > strong {
    display: block;
    color: var(--blue-dark);
    margin-bottom: 24px;
}

.contact-phone h5 {
    color: var(--blue-dark);
    font-size: 15px;
    margin-bottom: 6px;
}

.contact-phone p {
    color: #536079;
    font-size: 12px;
    line-height: 1.45;
}

.contact-chat-icon {
    width: 72px;
    height: 72px;
    background: var(--blue);
    color: white;
    border-radius: 50%;
    display: grid;
    place-items: center;
    margin: 22px auto;
    font-size: 30px;
}

.contact-phone span {
    color: var(--blue);
    font-size: 12px;
    font-weight: 900;
}

.contact-main-section,
.contact-trust-section,
.contact-faq-section {
    padding: 54px 0;
    background: white;
}

.contact-main-grid {
    display: grid;
    grid-template-columns: .75fr 1.35fr;
    gap: 44px;
    align-items: start;
}

.contact-sidebar h2,
.contact-form-card h2,
.contact-trust-section h2,
.contact-faq-section h2 {
    color: var(--blue-dark);
    font-size: 28px;
    letter-spacing: -.04em;
}

.contact-sidebar {
    display: grid;
    gap: 0;
}

.contact-sidebar > h2 {
    border: 1px solid #E5EAF3;
    border-radius: 13px 13px 0 0;
    padding: 26px;
    background: white;
}

.contact-sidebar > article {
    position: relative;
    border: 1px solid #E5EAF3;
    border-top: 0;
    padding: 26px;
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 20px;
    background: white;
}

.contact-sidebar > article > div:first-child {
    width: 58px;
    height: 58px;
    background: #F1F6FF;
    color: var(--blue);
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 27px;
}

.contact-sidebar h3 {
    color: var(--blue-dark);
    font-size: 18px;
    margin-bottom: 7px;
}

.contact-sidebar p {
    color: #536079;
    font-size: 14px;
    line-height: 1.55;
}

.contact-sidebar a {
    color: var(--blue);
    font-weight: 900;
}

.online-badge {
    position: absolute;
    right: 22px;
    top: 28px;
    background: #EAFBF4;
    color: #14A56D;
    border-radius: 999px;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 900;
}

.contact-client-box {
    background: linear-gradient(180deg, #F7FAFF, #EAF2FF);
    border: 1px solid #DDE7F6;
    border-radius: 0 0 13px 13px;
    padding: 28px;
}

.contact-client-box h3 {
    color: var(--blue-dark);
    font-size: 20px;
    margin-bottom: 10px;
}

.contact-client-box p {
    color: #536079;
    font-size: 15px;
    line-height: 1.55;
    margin-bottom: 18px;
}

.contact-form-card {
    border: 1px solid #E5EAF3;
    border-radius: 16px;
    background: white;
    padding: 38px;
    box-shadow: 0 18px 50px rgba(7, 22, 50, .055);
}

.contact-form-card > p {
    color: #536079;
    margin: 8px 0 28px;
}

.contact-form-card form {
    display: grid;
    gap: 18px;
}

.contact-form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.contact-form-card label {
    display: grid;
    gap: 8px;
    color: #44516A;
    font-size: 14px;
    font-weight: 800;
}

.contact-form-card input,
.contact-form-card select,
.contact-form-card textarea {
    width: 100%;
    border: 1px solid #DDE7F6;
    border-radius: 8px;
    padding: 14px 15px;
    font: inherit;
    font-size: 14px;
    color: var(--text);
    background: white;
}

.contact-form-card textarea {
    min-height: 125px;
    resize: vertical;
}

.contact-checkbox {
    display: flex !important;
    grid-template-columns: 18px 1fr;
    align-items: center;
    gap: 10px !important;
    font-size: 13px !important;
    color: #536079 !important;
}

.contact-checkbox input {
    width: 18px;
    height: 18px;
}

.contact-form-card button {
    border: 0;
    background: var(--blue);
    color: white;
    min-height: 48px;
    border-radius: 8px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(0,91,255,.22);
}

.contact-trust-section h2,
.contact-faq-section h2 {
    text-align: center;
}

.contact-faq-section > .container > p {
    text-align: center;
    color: #536079;
    margin-top: 8px;
}

.contact-trust-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 26px;
    margin-top: 36px;
}

.contact-trust-grid article {
    text-align: center;
    border-right: 1px solid #DDE7F6;
    padding-right: 22px;
}

.contact-trust-grid article:last-child {
    border-right: 0;
}

.contact-trust-grid div {
    color: var(--blue);
    font-size: 36px;
    margin-bottom: 12px;
}

.contact-trust-grid strong {
    color: var(--blue-dark);
    display: block;
    font-size: 15px;
    margin-bottom: 5px;
}

.contact-trust-grid span {
    color: #536079;
    font-size: 13px;
}

.contact-faq-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 18px;
    margin-top: 34px;
}

.contact-faq-grid article {
    border: 1px solid #E5EAF3;
    background: #F7FAFF;
    border-radius: 13px;
    padding: 22px;
}

.contact-faq-grid strong {
    color: var(--blue-dark);
    display: block;
    font-size: 15px;
    margin-bottom: 8px;
}

.contact-faq-grid span {
    color: #536079;
    font-size: 13px;
}

.contact-cta {
    background: white;
}

.contact-cta-inner {
    background: linear-gradient(135deg, #005BFF, #001D4F);
    color: white;
    border-radius: 12px;
    padding: 42px 48px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

.contact-cta h2 {
    font-size: 34px;
    letter-spacing: -.04em;
    margin-bottom: 8px;
}

.contact-cta p {
    color: #D9E5FF;
}

@media (max-width: 1180px) {
    .contact-faq-grid,
    .contact-trust-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 1080px) {
    .contact-hero-grid,
    .contact-main-grid {
        grid-template-columns: 1fr;
    }

    .contact-visual {
        min-height: 540px;
    }

    .contact-phone {
        right: 20px;
    }

    .contact-cta-inner {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 760px) {
    .contact-mockup-body {
        grid-template-columns: 1fr;
    }

    .contact-mockup-body aside {
        display: none;
    }

    .contact-support-grid,
    .contact-form-grid,
    .contact-faq-grid,
    .contact-trust-grid {
        grid-template-columns: 1fr;
    }

    .contact-dashboard {
        padding: 20px;
    }

    .contact-phone {
        position: relative;
        right: auto;
        bottom: auto;
        margin: 24px auto 0;
    }

    .contact-form-card {
        padding: 26px;
    }

    .contact-trust-grid article {
        border-right: 0;
    }
}
.pricing-page-hero {
    padding: 34px 0 70px;
    background:
        radial-gradient(circle at 95% 10%, rgba(0, 91, 255, .09), transparent 28%),
        linear-gradient(180deg, #FFFFFF 0%, #F7FAFF 100%);
}

.pricing-hero-grid {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 70px;
    align-items: center;
}

.pricing-hero-copy h1 {
    font-size: clamp(44px, 5vw, 70px);
    line-height: 1.02;
    letter-spacing: -.065em;
    margin: 22px 0 20px;
    color: var(--blue-dark);
}

.pricing-hero-copy h1 span {
    color: var(--blue);
}

.pricing-hero-copy p {
    color: #27354C;
    font-size: 17px;
    line-height: 1.65;
    max-width: 570px;
    margin-bottom: 22px;
}

.pricing-check-list {
    list-style: none;
    display: grid;
    gap: 13px;
    margin-bottom: 30px;
    font-size: 15px;
    font-weight: 800;
    color: #1C2B45;
}

.pricing-check-list li {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pricing-check-list li::before {
    content: "✓";
    width: 20px;
    height: 20px;
    border: 1.8px solid var(--blue);
    color: var(--blue);
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: 900;
}

.pricing-visual {
    position: relative;
    min-height: 455px;
}

.pricing-laptop {
    background: #071632;
    border-radius: 22px;
    padding: 10px;
    box-shadow: 0 35px 80px rgba(0, 29, 79, .22);
}

.pricing-mockup-header {
    height: 34px;
    background: white;
    border-radius: 14px 14px 0 0;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 16px;
    color: var(--blue);
    font-size: 13px;
}

.pricing-mockup-header strong {
    margin-right: auto;
}

.pricing-mockup-header span {
    width: 12px;
    height: 12px;
    background: #EDF3FF;
    border-radius: 50%;
}

.pricing-mockup-body {
    display: grid;
    grid-template-columns: 145px 1fr;
    background: #F8FBFF;
    min-height: 350px;
    border-radius: 0 0 14px 14px;
    overflow: hidden;
}

.pricing-mockup-body aside {
    background: white;
    border-right: 1px solid #E5EAF3;
    padding: 28px 14px;
    display: grid;
    gap: 12px;
    align-content: start;
}

.pricing-mockup-body aside span {
    font-size: 12px;
    font-weight: 750;
    color: #67748A;
    padding: 9px 10px;
    border-radius: 8px;
}

.pricing-mockup-body aside span.active {
    background: #EAF2FF;
    color: var(--blue);
}

.pricing-dashboard {
    padding: 30px;
}

.pricing-dashboard h4 {
    color: var(--blue-dark);
    font-size: 21px;
    margin-bottom: 6px;
}

.pricing-dashboard > p {
    color: #536079;
    font-size: 13px;
    margin-bottom: 20px;
}

.pricing-dashboard-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 13px;
    margin-bottom: 22px;
}

.pricing-dashboard-stats article {
    background: white;
    border: 1px solid #E5EAF3;
    border-radius: 12px;
    padding: 16px;
}

.pricing-dashboard-stats small {
    color: #64718A;
    font-size: 11px;
    font-weight: 800;
}

.pricing-dashboard-stats strong {
    display: block;
    color: var(--blue);
    font-size: 23px;
    margin-top: 6px;
}

.pricing-dashboard-stats span {
    color: #536079;
    font-size: 11px;
    font-weight: 800;
}

.pricing-activity {
    background: white;
    border: 1px solid #E5EAF3;
    border-radius: 14px;
    padding: 20px;
}

.pricing-activity h5 {
    color: var(--blue-dark);
    margin-bottom: 16px;
}

.pricing-activity div {
    display: grid;
    grid-template-columns: .8fr 1.6fr 1fr;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid #EEF2F8;
    color: #536079;
    font-size: 12px;
    font-weight: 800;
}

.pricing-activity strong {
    color: var(--blue-dark);
}

.pricing-activity em {
    color: #64718A;
    font-style: normal;
    text-align: right;
}

.pricing-phone {
    position: absolute;
    right: -10px;
    bottom: -18px;
    width: 190px;
    background: white;
    border: 9px solid #071632;
    border-radius: 32px;
    box-shadow: 0 28px 65px rgba(0, 29, 79, .25);
    padding: 26px 15px 22px;
}

.pricing-phone > strong {
    display: block;
    text-align: center;
    color: var(--blue);
    margin-bottom: 14px;
}

.pricing-phone h5 {
    color: var(--blue-dark);
    font-size: 15px;
    margin-bottom: 12px;
}

.pricing-phone-donut {
    width: 92px;
    height: 92px;
    margin: 0 auto 18px;
    border-radius: 50%;
    border: 16px solid #EAF2FF;
    border-top-color: var(--blue);
    display: grid;
    place-items: center;
    color: var(--blue-dark);
    font-weight: 900;
    font-size: 14px;
}

.pricing-phone h6 {
    color: var(--blue-dark);
    font-size: 12px;
    margin-bottom: 10px;
}

.pricing-phone > div:not(.pricing-phone-donut) {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    color: #536079;
    font-size: 12px;
    font-weight: 800;
}

.pricing-phone em {
    background: #EAFBF4;
    color: #14A56D;
    border-radius: 999px;
    padding: 3px 7px;
    font-style: normal;
    font-size: 10px;
}

.pricing-plans-section,
.pricing-how-section,
.pricing-compare-section,
.pricing-included-section,
.pricing-faq-section {
    padding: 54px 0;
    background: white;
}

.pricing-plans-section h2,
.pricing-compare-section h2,
.pricing-included-section h2,
.pricing-faq-section h2 {
    text-align: center;
    color: var(--blue-dark);
    font-size: 31px;
    letter-spacing: -.04em;
}

.pricing-plans-section > .container > p {
    text-align: center;
    color: #536079;
    margin-top: 8px;
}

.pricing-cards-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
    align-items: stretch;
}

.pricing-card {
    position: relative;
    border: 1px solid #E5EAF3;
    border-radius: 16px;
    padding: 42px;
    background: white;
    text-align: center;
    box-shadow: 0 18px 50px rgba(7,22,50,.055);
}

.pricing-featured {
    border: 2px solid var(--blue);
    transform: translateY(-10px);
}

.pricing-badge {
    position: absolute;
    top: -16px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--blue);
    color: white;
    border-radius: 999px;
    padding: 7px 18px;
    font-size: 13px;
    font-weight: 900;
}

.pricing-card-icon {
    width: 76px;
    height: 76px;
    border-radius: 50%;
    background: #EAFBF4;
    color: #14A56D;
    display: grid;
    place-items: center;
    font-size: 34px;
    margin: 0 auto 24px;
}

.pricing-featured .pricing-card-icon {
    background: #EAF2FF;
    color: var(--blue);
}

.pricing-purple .pricing-card-icon {
    background: #F2EAFE;
    color: #7C3AED;
}

.pricing-card h3 {
    color: var(--blue-dark);
    font-size: 27px;
    margin-bottom: 12px;
}

.pricing-card > p {
    color: #536079;
    font-size: 15px;
    line-height: 1.55;
    min-height: 48px;
}

.pricing-price {
    margin: 32px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.pricing-price strong {
    color: var(--blue);
    font-size: 58px;
    line-height: 1;
    letter-spacing: -.07em;
}

.pricing-green .pricing-price strong {
    color: #14A56D;
}

.pricing-purple .pricing-price strong {
    color: #7C3AED;
}

.pricing-price span {
    color: #536079;
    font-size: 14px;
    font-weight: 800;
    text-align: left;
}

.pricing-note {
    background: #F2EAFE;
    color: #7C3AED;
    border-radius: 10px;
    padding: 12px;
    font-weight: 900;
    margin: -18px 0 24px;
}

.pricing-card ul {
    list-style: none;
    display: grid;
    gap: 13px;
    text-align: left;
    margin-bottom: 32px;
    color: #27354C;
    font-size: 14px;
    font-weight: 800;
}

.pricing-card li::before {
    content: "✓";
    color: var(--blue);
    margin-right: 9px;
}

.pricing-green li::before {
    color: #14A56D;
}

.pricing-purple li::before {
    color: #7C3AED;
}

.btn-outline-green {
    border-color: #14A56D;
    color: #14A56D;
    background: white;
}

.btn-outline-purple {
    border-color: #7C3AED;
    color: #7C3AED;
    background: white;
}

.pricing-how-card {
    background: linear-gradient(180deg, #F7FAFF, #EAF2FF);
    border: 1px solid #DDE7F6;
    border-radius: 18px;
    padding: 32px 40px;
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 36px;
    align-items: center;
}

.pricing-how-info {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 18px;
}

.pricing-how-info > div:first-child {
    width: 58px;
    height: 58px;
    border: 2px solid var(--blue);
    color: var(--blue);
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 28px;
    font-weight: 900;
}

.pricing-how-info h3 {
    color: var(--blue-dark);
    font-size: 20px;
    margin-bottom: 6px;
}

.pricing-how-info p {
    color: #536079;
    font-size: 14px;
}

.pricing-formula {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr;
    gap: 18px;
    align-items: center;
    text-align: center;
}

.pricing-formula strong {
    display: block;
    color: var(--blue);
    font-size: 30px;
    margin-bottom: 8px;
}

.pricing-formula span {
    color: var(--blue-dark);
    font-size: 13px;
    font-weight: 900;
}

.pricing-formula b {
    color: var(--blue);
    font-size: 28px;
}

.pricing-table-wrap {
    margin-top: 34px;
    overflow-x: auto;
}

.pricing-table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #E5EAF3;
    border-radius: 14px;
    overflow: hidden;
    background: white;
}

.pricing-table th,
.pricing-table td {
    border-bottom: 1px solid #E5EAF3;
    padding: 17px 20px;
    font-size: 14px;
}

.pricing-table th {
    color: var(--blue);
    font-size: 15px;
    background: #F7FAFF;
}

.pricing-table td:first-child {
    color: #27354C;
    font-weight: 800;
    text-align: left;
}

.pricing-table td {
    text-align: center;
    color: var(--blue);
    font-weight: 900;
}

.pricing-help {
    text-align: center;
    color: #536079;
    margin-top: 24px;
}

.pricing-help a {
    color: var(--blue);
    font-weight: 900;
    margin-left: 10px;
}

.pricing-included-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 26px;
    margin-top: 34px;
    background: #F7FAFF;
    border-radius: 16px;
    padding: 28px;
}

.pricing-included-grid article {
    text-align: center;
    border-right: 1px solid #DDE7F6;
    padding-right: 22px;
}

.pricing-included-grid article:last-child {
    border-right: 0;
}

.pricing-included-grid div {
    color: var(--blue);
    font-size: 32px;
    margin-bottom: 12px;
}

.pricing-included-grid strong {
    display: block;
    color: var(--blue-dark);
    font-size: 15px;
}

.pricing-included-grid span {
    color: #536079;
    font-size: 13px;
}

.pricing-faq-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    margin-top: 34px;
}

.pricing-faq-grid details {
    border: 1px solid #E5EAF3;
    border-radius: 12px;
    background: white;
    padding: 18px 22px;
}

.pricing-faq-grid summary {
    cursor: pointer;
    color: var(--blue-dark);
    font-weight: 900;
}

.pricing-faq-grid p {
    color: #536079;
    margin-top: 12px;
    font-size: 14px;
}

.pricing-cta {
    background: white;
}

.pricing-cta-inner {
    background: linear-gradient(135deg, #005BFF, #001D4F);
    color: white;
    border-radius: 12px;
    padding: 42px 48px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

.pricing-cta h2 {
    font-size: 34px;
    letter-spacing: -.04em;
    margin-bottom: 8px;
}

.pricing-cta p {
    color: #D9E5FF;
}

@media (max-width: 1080px) {
    .pricing-hero-grid,
    .pricing-cards-grid,
    .pricing-how-card,
    .pricing-included-grid {
        grid-template-columns: 1fr;
    }

    .pricing-visual {
        min-height: 540px;
    }

    .pricing-phone {
        right: 20px;
    }

    .pricing-featured {
        transform: none;
    }

    .pricing-cta-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .pricing-included-grid article {
        border-right: 0;
    }
}

@media (max-width: 760px) {
    .pricing-mockup-body {
        grid-template-columns: 1fr;
    }

    .pricing-mockup-body aside {
        display: none;
    }

    .pricing-dashboard-stats,
    .pricing-formula,
    .pricing-faq-grid {
        grid-template-columns: 1fr;
    }

    .pricing-dashboard {
        padding: 20px;
    }

    .pricing-activity div {
        grid-template-columns: 1fr;
        text-align: left;
    }

    .pricing-phone {
        position: relative;
        right: auto;
        bottom: auto;
        margin: 24px auto 0;
    }

    .pricing-card {
        padding: 32px 24px;
    }
}
.checkout-page {
    padding: 34px 0 70px;
    background:
        radial-gradient(circle at 95% 10%, rgba(0, 91, 255, .08), transparent 30%),
        linear-gradient(180deg, #FFFFFF 0%, #F7FAFF 100%);
}

.checkout-title {
    text-align: center;
    margin-bottom: 36px;
}

.checkout-title h1 {
    font-size: clamp(34px, 4vw, 50px);
    color: var(--blue-dark);
    letter-spacing: -.055em;
    margin-bottom: 12px;
}

.checkout-title h1 span {
    color: var(--blue);
}

.checkout-title p {
    color: #536079;
    font-size: 16px;
}

.checkout-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
    margin-bottom: 42px;
}

.checkout-steps article {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 14px;
    align-items: center;
    position: relative;
}

.checkout-steps strong {
    width: 48px;
    height: 48px;
    background: #EAF2FF;
    color: var(--blue);
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 20px;
}

.checkout-steps .active strong {
    background: var(--blue);
    color: white;
}

.checkout-steps b {
    color: var(--blue-dark);
    font-size: 14px;
}

.checkout-steps span {
    display: block;
    color: #64718A;
    font-size: 12px;
    font-weight: 700;
}

.checkout-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 34px;
    align-items: start;
}

.checkout-card {
    background: white;
    border: 1px solid #E5EAF3;
    border-radius: 16px;
    padding: 34px;
    box-shadow: 0 18px 50px rgba(7,22,50,.055);
}

.checkout-card h2 {
    color: var(--blue-dark);
    font-size: 25px;
    letter-spacing: -.035em;
    margin-bottom: 24px;
}

.option-card {
    border: 1.5px solid #DDE7F6;
    border-radius: 14px;
    padding: 26px;
    display: grid;
    grid-template-columns: 1fr 190px;
    gap: 22px;
    margin-bottom: 20px;
    background: linear-gradient(180deg, #FFFFFF, #FBFDFF);
}

.option-green {
    border-color: #BFEBD4;
}

.option-blue {
    border-color: #BDD1FF;
}

.option-purple {
    border-color: #D8C2FF;
}

.option-left {
    display: grid;
    grid-template-columns: 76px 1fr;
    gap: 20px;
}

.option-icon {
    width: 76px;
    height: 76px;
    border-radius: 50%;
    background: #EAFBF4;
    color: #14A56D;
    display: grid;
    place-items: center;
    font-size: 34px;
}

.option-blue .option-icon {
    background: #EAF2FF;
    color: var(--blue);
}

.option-purple .option-icon {
    background: #F2EAFE;
    color: #7C3AED;
}

.option-card h3 {
    color: var(--blue-dark);
    font-size: 22px;
    margin-bottom: 7px;
}

.option-card p {
    color: #536079;
    font-size: 13px;
    margin-bottom: 12px;
}

.option-card ul {
    list-style: none;
    display: grid;
    gap: 6px;
    color: #27354C;
    font-size: 13px;
    font-weight: 800;
}

.option-card li::before {
    content: "✓";
    color: var(--blue);
    margin-right: 8px;
}

.option-green li::before {
    color: #14A56D;
}

.option-purple li::before {
    color: #7C3AED;
}

.option-right {
    display: grid;
    justify-items: end;
    align-content: start;
    gap: 16px;
}

.switch input {
    display: none;
}

.switch span {
    width: 48px;
    height: 28px;
    border-radius: 999px;
    background: #CBD7EB;
    display: block;
    position: relative;
    cursor: pointer;
}

.switch span::before {
    content: "";
    width: 22px;
    height: 22px;
    background: white;
    border-radius: 50%;
    position: absolute;
    top: 3px;
    left: 3px;
    transition: .2s ease;
}

.switch input:checked + span {
    background: var(--blue);
}

.switch input:checked + span::before {
    left: 23px;
}

.option-green .switch input:checked + span {
    background: #14A56D;
}

.option-purple .switch input:checked + span {
    background: #7C3AED;
}

.option-price {
    display: flex;
    align-items: center;
    gap: 8px;
}

.option-price strong {
    color: var(--blue);
    font-size: 44px;
    letter-spacing: -.06em;
}

.option-green .option-price strong {
    color: #14A56D;
}

.option-purple .option-price strong {
    color: #7C3AED;
}

.option-price span {
    color: #536079;
    font-size: 12px;
    font-weight: 800;
}

.option-right label {
    color: #536079;
    font-size: 12px;
    font-weight: 800;
}

.qty {
    display: grid;
    grid-template-columns: 42px 64px 42px;
    border: 1px solid #DDE7F6;
    border-radius: 9px;
    overflow: hidden;
}

.qty button,
.qty input {
    border: 0;
    height: 44px;
    background: white;
    text-align: center;
    font-weight: 900;
    color: var(--blue-dark);
    font-size: 18px;
}

.qty button {
    cursor: pointer;
    color: var(--blue);
}

.option-note {
    background: #F2EAFE;
    color: #7C3AED;
    padding: 13px;
    border-radius: 10px;
    text-align: center;
    font-weight: 900;
    font-size: 13px;
}

.order-summary {
    border: 1px solid #E5EAF3;
    border-radius: 14px;
    padding: 24px;
    margin-top: 26px;
    background: #FBFDFF;
}

.order-summary h3 {
    color: var(--blue-dark);
    margin-bottom: 16px;
}

.order-summary div {
    display: flex;
    justify-content: space-between;
    color: #536079;
    font-weight: 750;
    padding: 7px 0;
}

.order-summary b {
    color: var(--blue-dark);
}

.order-summary hr {
    border: 0;
    border-top: 1px solid #E5EAF3;
    margin: 12px 0;
}

.summary-total span,
.summary-total b {
    color: var(--blue) !important;
    font-size: 22px;
    font-weight: 900;
}

.checkout-info-box {
    margin-top: 20px;
    background: #EAF2FF;
    color: #304057;
    border-radius: 12px;
    padding: 18px;
    font-size: 14px;
    font-weight: 750;
}

.checkout-form {
    display: grid;
    gap: 17px;
}

.checkout-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 17px;
}

.checkout-form label {
    display: grid;
    gap: 8px;
    color: #44516A;
    font-size: 14px;
    font-weight: 800;
}

.checkout-form input,
.checkout-form select {
    border: 1px solid #DDE7F6;
    border-radius: 8px;
    padding: 14px 15px;
    font: inherit;
    color: var(--text);
}

.payment-title {
    margin-top: 22px !important;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
}

.payment-title span {
    font-size: 13px;
    color: #536079;
    font-weight: 800;
}

.payment-methods {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.payment-methods label {
    border: 1px solid #DDE7F6;
    border-radius: 12px;
    padding: 18px;
    text-align: center;
    cursor: pointer;
    color: var(--blue-dark);
}

.payment-methods label.active,
.payment-methods label:hover {
    border-color: var(--blue);
    background: #F7FAFF;
}

.payment-methods input {
    display: none;
}

.payment-methods small {
    display: block;
    color: #536079;
    margin-top: 8px;
    font-size: 11px;
}

.card-fields {
    display: grid;
    gap: 12px;
}

.checkout-checkbox {
    display: flex !important;
    grid-template-columns: 18px 1fr;
    gap: 10px !important;
    align-items: center;
}

.checkout-checkbox input {
    width: 18px;
    height: 18px;
}

.checkout-pay-btn {
    border: 0;
    background: var(--blue);
    color: white;
    min-height: 52px;
    border-radius: 8px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(0,91,255,.22);
}

.payment-note {
    text-align: center;
    color: #536079;
    font-size: 13px;
}

.checkout-benefits {
    padding: 54px 0;
    background: white;
}

.checkout-benefits h2 {
    text-align: center;
    color: var(--blue-dark);
    font-size: 31px;
    letter-spacing: -.04em;
    margin-bottom: 34px;
}

.checkout-benefits-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 26px;
}

.checkout-benefits-grid article {
    text-align: center;
    border-right: 1px solid #DDE7F6;
    padding-right: 22px;
}

.checkout-benefits-grid article:last-child {
    border-right: 0;
}

.checkout-benefits-grid div {
    color: var(--blue);
    font-size: 34px;
    margin-bottom: 12px;
}

.checkout-benefits-grid strong {
    color: var(--blue-dark);
    display: block;
    font-size: 15px;
    margin-bottom: 6px;
}

.checkout-benefits-grid span {
    color: #536079;
    font-size: 13px;
}

.checkout-cta {
    background: white;
}

.checkout-cta-inner {
    background: linear-gradient(135deg, #005BFF, #001D4F);
    color: white;
    border-radius: 12px;
    padding: 42px 48px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

.checkout-cta h2 {
    font-size: 34px;
    letter-spacing: -.04em;
    margin-bottom: 8px;
}

.checkout-cta p {
    color: #D9E5FF;
}

@media (max-width: 1080px) {
    .checkout-grid,
    .checkout-steps,
    .checkout-benefits-grid {
        grid-template-columns: 1fr;
    }

    .option-card {
        grid-template-columns: 1fr;
    }

    .option-right {
        justify-items: start;
    }

    .checkout-cta-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .checkout-benefits-grid article {
        border-right: 0;
    }
}

@media (max-width: 760px) {
    .checkout-card {
        padding: 24px;
    }

    .option-left,
    .checkout-form-grid,
    .payment-methods {
        grid-template-columns: 1fr;
    }

    .payment-title {
        display: block;
    }
}
.checkout-header {
    height: 74px;
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid var(--line);
    display: flex;
    align-items: center;
}

.checkout-header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.checkout-logo img {
    height: 40px;
    width: auto;
    display: block;
}

.checkout-secure {
    color: var(--blue-dark);
    font-size: 14px;
    font-weight: 800;
}

.real-checkout-page {
    padding: 44px 0 0;
    background:
        radial-gradient(circle at 90% 0%, rgba(0,91,255,.08), transparent 30%),
        linear-gradient(180deg, #FFFFFF 0%, #F7FAFF 100%);
}

.checkout-progress {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 42px;
    max-width: 850px;
    margin-bottom: 42px;
}

.checkout-progress article {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 14px;
    align-items: center;
    position: relative;
}

.checkout-progress article::after {
    content: "";
    position: absolute;
    left: calc(100% + 8px);
    top: 24px;
    width: 70px;
    height: 1px;
    background: #CBD7EB;
}

.checkout-progress article:last-child::after {
    display: none;
}

.checkout-progress strong {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #EAF2FF;
    color: var(--blue-dark);
    display: grid;
    place-items: center;
    font-size: 20px;
    font-weight: 900;
}

.checkout-progress .active strong,
.checkout-progress .done strong {
    background: var(--blue);
    color: white;
}

.checkout-progress b {
    color: var(--blue-dark);
    font-size: 14px;
}

.checkout-progress span {
    color: #64718A;
    font-size: 13px;
    font-weight: 800;
}

.checkout-progress .done span {
    color: #14A56D;
}

.real-checkout-grid {
    display: grid;
    grid-template-columns: 1.35fr .75fr;
    gap: 34px;
    align-items: start;
    padding-bottom: 54px;
}

.real-checkout-form-card,
.summary-card,
.summary-help-card,
.summary-trust-card {
    background: white;
    border: 1px solid #E5EAF3;
    border-radius: 16px;
    box-shadow: 0 18px 50px rgba(7,22,50,.055);
}

.real-checkout-form-card {
    overflow: hidden;
}

.checkout-form-section {
    padding: 34px;
    border-bottom: 1px solid #EEF2F8;
}

.checkout-form-section:last-child {
    border-bottom: 0;
}

.checkout-form-section h2 {
    color: var(--blue-dark);
    font-size: 24px;
    letter-spacing: -.035em;
    margin-bottom: 24px;
}

.checkout-form-section > p {
    color: #536079;
    margin-top: -12px;
    margin-bottom: 24px;
}

.checkout-form-section label {
    display: grid;
    gap: 8px;
    color: #44516A;
    font-size: 14px;
    font-weight: 800;
    margin-bottom: 17px;
}

.checkout-form-section input,
.checkout-form-section select {
    border: 1px solid #DDE7F6;
    border-radius: 8px;
    padding: 14px 15px;
    font: inherit;
    font-size: 14px;
    color: var(--text);
    background: white;
}

.checkout-form-section small {
    color: #64718A;
    font-size: 12px;
}

.password-ok {
    color: #14A56D !important;
    font-weight: 900;
}

.real-form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 17px;
}

.real-payment-tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 22px;
}

.payment-card-option {
    border: 1px solid #DDE7F6;
    border-radius: 14px;
    padding: 18px;
    cursor: pointer;
    transition: .2s ease;
    background: white;
    min-height: 110px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.payment-card-option:hover {
    border-color: var(--blue);
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(0,91,255,.08);
}

.payment-card-option.active {
    border-color: var(--blue);
    background: #F7FAFF;
    box-shadow: inset 0 0 0 1.5px var(--blue);
}

.payment-card-option input {
    display: none;
}

.payment-option-top {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.payment-icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: #EAF2FF;
    color: var(--blue);
    display: grid;
    place-items: center;
    font-size: 20px;
    font-weight: 900;
}

.payment-card-option strong {
    color: var(--blue-dark);
    font-size: 15px;
}

.payment-card-option small {
    color: #64718A;
    font-size: 12px;
    line-height: 1.4;
}

.stripe-secure-box {
    background: #F7FAFF;
    border: 1px solid #DDE7F6;
    border-radius: 12px;
    padding: 16px;
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    align-items: center;
    margin: 12px 0 22px;
    color: #536079;
    font-size: 13px;
    font-weight: 800;
}

.stripe-secure-box strong {
    color: var(--blue);
}

.real-checkbox {
    display: flex !important;
    grid-template-columns: 18px 1fr;
    gap: 10px !important;
    align-items: center;
    margin-bottom: 10px !important;
}

.real-checkbox input {
    width: 18px;
    height: 18px;
}

.real-pay-button {
    width: 100%;
    border: 0;
    background: var(--blue);
    color: white;
    min-height: 54px;
    border-radius: 8px;
    font-weight: 900;
    font-size: 16px;
    cursor: pointer;
    box-shadow: 0 14px 32px rgba(0,91,255,.25);
    margin-top: 16px;
}

.real-payment-note {
    color: #64718A;
    text-align: center;
    font-size: 13px;
    margin-top: 16px;
}

.real-checkout-summary {
    display: grid;
    gap: 28px;
    position: sticky;
    top: 96px;
}

.summary-card {
    padding: 30px;
}

.summary-card h2 {
    color: var(--blue-dark);
    font-size: 22px;
    margin-bottom: 28px;
}

.summary-line {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 13px 0;
    color: #536079;
}

.summary-line strong {
    color: var(--blue-dark);
    display: block;
    margin-bottom: 4px;
}

.summary-line span {
    font-size: 14px;
}

.summary-line b {
    color: var(--blue-dark);
    white-space: nowrap;
}

.summary-card hr {
    border: 0;
    border-top: 1px solid #E5EAF3;
    margin: 16px 0;
}

.summary-total-line {
    display: flex;
    justify-content: space-between;
    align-items: end;
    margin-top: 18px;
    color: var(--blue);
}

.summary-total-line span {
    font-size: 17px;
    font-weight: 900;
}

.summary-total-line strong {
    font-size: 34px;
    letter-spacing: -.05em;
}

.summary-total-line small {
    font-size: 16px;
    color: var(--blue-dark);
}

.summary-info-box {
    background: #F7FAFF;
    border: 1px solid #DDE7F6;
    border-radius: 12px;
    padding: 18px;
    margin: 26px 0;
    color: #536079;
    font-size: 14px;
}

.summary-info-box strong {
    color: var(--blue);
}

.summary-card h3 {
    color: var(--blue-dark);
    margin-bottom: 16px;
}

.summary-included {
    list-style: none;
    display: grid;
    gap: 12px;
    color: #44516A;
    font-size: 14px;
    font-weight: 750;
}

.summary-included li::before {
    content: "✓";
    color: #14A56D;
    margin-right: 9px;
}

.summary-help-card,
.summary-trust-card {
    padding: 28px;
}

.summary-help-card h3,
.summary-trust-card h3 {
    color: var(--blue-dark);
    margin-bottom: 10px;
}

.summary-help-card p,
.summary-trust-card p {
    color: #536079;
    margin-bottom: 12px;
}

.summary-help-card a {
    color: var(--blue);
    font-weight: 900;
}

.fake-avatars {
    display: flex;
    align-items: center;
    gap: 0;
    margin: 18px 0;
}

.fake-avatars span,
.fake-avatars b {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #EAF2FF;
    border: 3px solid white;
    margin-left: -8px;
}

.fake-avatars span:first-child {
    margin-left: 0;
}

.fake-avatars span:nth-child(2) {
    background: #EAFBF4;
}

.fake-avatars span:nth-child(3) {
    background: #FFF2D6;
}

.fake-avatars span:nth-child(4) {
    background: #F2EAFE;
}

.fake-avatars b {
    display: grid;
    place-items: center;
    color: var(--blue);
    font-size: 13px;
}

.summary-trust-card strong {
    color: var(--blue-dark);
}

@media (max-width: 1080px) {
    .real-checkout-grid {
        grid-template-columns: 1fr;
    }

    .real-checkout-summary {
        position: static;
    }

    .checkout-progress {
        grid-template-columns: 1fr;
    }

    .checkout-progress article::after {
        display: none;
    }
}

@media (max-width: 760px) {
    .real-form-grid,
    .real-payment-tabs {
        grid-template-columns: 1fr;
    }

    .checkout-form-section {
        padding: 24px;
    }

    .checkout-header-inner {
        gap: 20px;
    }
}
.checkout-options-form {
    max-width: 980px;
}

.checkout-options-form .checkout-card {
    width: 100%;
}

.checkout-options-form .checkout-pay-btn {
    width: 100%;
    margin-top: 24px;
    border: 0;
    background: var(--blue);
    color: white;
    min-height: 52px;
    border-radius: 8px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(0,91,255,.22);
}
.checkout-title h1 {
    justify-content: center;
}
.checkout-title h1 {
    justify-content: center;
}
.checkout-title {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.checkout-title h1,
.checkout-title p {
    text-align: center;
}
.checkout-title h1 {
    white-space: nowrap;
}
.trial-info {
    margin-top: 10px;
    padding: 10px;
    background: #ECFDF3;
    border: 1px solid #A6F4C5;
    border-radius: 8px;
    text-align: center;
    color: #027A48;
    font-size: 13px;
    line-height: 1.4;
}

.trial-info small {
    display: block;
    margin-top: 4px;
    color: #039855;
    font-size: 12px;
}
.dt-chatbot {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 9999;
    font-family: inherit;
}

.dt-chatbot-button {
    width: 62px;
    height: 62px;
    border-radius: 50%;
    border: 0;
    background: var(--blue);
    color: white;
    font-size: 26px;
    cursor: pointer;
    box-shadow: 0 18px 40px rgba(0,91,255,.28);
}

.dt-chatbot-window {
    position: absolute;
    right: 0;
    bottom: 78px;
    width: 360px;
    max-width: calc(100vw - 32px);
    background: white;
    border: 1px solid #E5EAF3;
    border-radius: 18px;
    box-shadow: 0 24px 70px rgba(7,22,50,.18);
    overflow: hidden;
    display: none;
}

.dt-chatbot.open .dt-chatbot-window {
    display: block;
}

.dt-chatbot-header {
    background: linear-gradient(135deg, #005BFF, #001D4F);
    color: white;
    padding: 16px 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.dt-chatbot-close {
    border: 0;
    background: transparent;
    color: white;
    font-size: 24px;
    cursor: pointer;
}

.dt-chatbot-messages {
    padding: 16px;
    height: 260px;
    overflow-y: auto;
    background: #F7FAFF;
}

.dt-bot-message,
.dt-user-message {
    padding: 11px 13px;
    border-radius: 14px;
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 1.45;
}

.dt-bot-message {
    background: white;
    color: #27354C;
    border: 1px solid #E5EAF3;
}

.dt-user-message {
    background: var(--blue);
    color: white;
    margin-left: 45px;
}

.dt-chatbot-quick {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    padding: 12px;
    border-top: 1px solid #E5EAF3;
}

.dt-chatbot-quick button {
    border: 1px solid #DDE7F6;
    background: #F7FAFF;
    color: var(--blue);
    border-radius: 999px;
    padding: 7px 10px;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.dt-chatbot-form {
    display: grid;
    grid-template-columns: 1fr auto;
    border-top: 1px solid #E5EAF3;
}

.dt-chatbot-form input {
    border: 0;
    padding: 14px;
    font: inherit;
    outline: none;
}

.dt-chatbot-form button {
    border: 0;
    background: var(--blue);
    color: white;
    padding: 0 14px;
    font-weight: 900;
    cursor: pointer;
}
.cgu-link {
    color: #005BFF;
    text-decoration: none;
    font-weight: 700;
}

.cgu-link:hover {
    text-decoration: underline;
}
.contact-chat-link a {
    text-decoration: none;
    color: inherit;
    display: block;
    cursor: pointer;
}

.contact-chat-link {
    transition: all .2s ease;
}

.contact-chat-link:hover {
    transform: translateY(-2px);
}
.legal-hero {
    padding: 34px 0 70px;
    background:
        radial-gradient(circle at 95% 10%, rgba(0, 91, 255, .09), transparent 28%),
        linear-gradient(180deg, #FFFFFF 0%, #F7FAFF 100%);
}

.legal-hero-inner {
    max-width: 850px;
    text-align: center;
}

.legal-hero h1 {
    font-size: clamp(42px, 5vw, 68px);
    line-height: 1.02;
    letter-spacing: -.06em;
    color: var(--blue-dark);
    margin: 22px 0 18px;
}

.legal-hero h1 span {
    color: var(--blue);
}

.legal-hero p {
    color: #536079;
    font-size: 17px;
    line-height: 1.6;
}

.legal-section {
    padding: 56px 0;
    background: white;
}

.legal-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 34px;
    align-items: start;
}

.legal-summary {
    position: sticky;
    top: 100px;
    background: #F7FAFF;
    border: 1px solid #E5EAF3;
    border-radius: 16px;
    padding: 24px;
}

.legal-summary h3 {
    color: var(--blue-dark);
    margin-bottom: 14px;
}

.legal-summary a {
    display: block;
    color: #536079;
    text-decoration: none;
    font-weight: 800;
    font-size: 14px;
    padding: 9px 0;
    border-bottom: 1px solid #E5EAF3;
}

.legal-summary a:hover {
    color: var(--blue);
}

.legal-content {
    display: grid;
    gap: 18px;
}

.legal-card {
    background: white;
    border: 1px solid #E5EAF3;
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 12px 35px rgba(7,22,50,.04);
}

.legal-card h2 {
    color: var(--blue-dark);
    font-size: 23px;
    margin-bottom: 14px;
    letter-spacing: -.03em;
}

.legal-card h3 {
    color: var(--blue-dark);
    margin: 18px 0 8px;
}

.legal-card p,
.legal-card li {
    color: #44516A;
    line-height: 1.65;
    font-size: 15px;
}

.legal-card ul {
    margin: 12px 0 0 20px;
}

.legal-highlight {
    background: linear-gradient(180deg, #F7FAFF, #EAF2FF);
    border-color: #BDD1FF;
}

.legal-highlight strong {
    color: var(--blue);
}

.legal-cta {
    background: white;
    padding-bottom: 56px;
}

.legal-cta-inner {
    background: linear-gradient(135deg, #005BFF, #001D4F);
    color: white;
    border-radius: 14px;
    padding: 42px 48px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

.legal-cta h2 {
    font-size: 32px;
    letter-spacing: -.04em;
}

.legal-cta p {
    color: #D9E5FF;
    margin-top: 8px;
}

@media (max-width: 980px) {
    .legal-layout {
        grid-template-columns: 1fr;
    }

    .legal-summary {
        position: static;
    }

    .legal-cta-inner {
        flex-direction: column;
        align-items: flex-start;
    }
}
.cookie-banner{
    position:fixed;
    left:20px;
    right:20px;
    bottom:20px;
    z-index:9998;

    background:white;
    border:1px solid #E5EAF3;

    border-radius:18px;

    box-shadow:0 20px 60px rgba(7,22,50,.15);

    display:none;
}

.cookie-banner.show{
    display:block;
}

.cookie-banner-content{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    padding:24px;
}

.cookie-banner-text h3{
    margin-bottom:8px;
}

.cookie-banner-text p{
    margin:0;
    color:#536079;
}

.cookie-banner-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
.contact-alert {
    padding: 14px 16px;
    border-radius: 10px;
    margin: 18px 0;
    font-weight: 800;
    font-size: 14px;
}

.contact-alert.success {
    background: #EAFBF4;
    color: #14A56D;
    border: 1px solid #BFEBD4;
}

.contact-alert.error {
    background: #FFF1F1;
    color: #C83737;
    border: 1px solid #F5B5B5;
}
.biometry-section{
    padding:90px 0;
    background:#f8fbff;
}

.biometry-inner{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:50px;
    align-items:center;
}

.biometry-copy h2{
    font-size:48px;
    line-height:1.1;
    margin:20px 0;
    color:#001D4F;
}

.biometry-copy h2 span{
    color:#005BFF;
}

.biometry-copy p{
    font-size:18px;
    line-height:1.7;
    color:#536079;
    max-width:700px;
}

.biometry-card{
    background:#fff;
    border:1px solid #e5eaf3;
    border-radius:20px;
    padding:30px;
    box-shadow:0 15px 40px rgba(0,0,0,.06);
}

.biometry-card h3{
    margin-bottom:20px;
    color:#001D4F;
}

.biometry-methods{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.biometry-methods article{
    padding:14px;
    border-radius:12px;
    background:#f4f8ff;
    border:1px solid #dce7f7;
    font-weight:600;
    text-align:center;
}

.biometry-warning{
    margin-top:20px;
    padding:16px;
    border-radius:12px;
    background:#fff1f1;
    color:#c62828;
    font-weight:700;
}

@media(max-width:900px){

    .biometry-inner{
        grid-template-columns:1fr;
    }

    .biometry-copy h2{
        font-size:36px;
    }
}
.academy-article-header{
    max-width:900px;
    margin:auto;
    text-align:center;
    padding:60px 0;
}

.academy-article-header h1{
    font-size:52px;
    color:#001D4F;
    margin:20px 0;
}

.academy-article-meta{
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
    margin-top:20px;
}

.academy-video-placeholder{
    background:#f5f7fb;
    border:2px dashed #d9e1ef;
    border-radius:20px;
    min-height:400px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.academy-content-grid{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:40px;
    padding:80px 0;
}

.academy-step{
    margin-bottom:40px;
}

.academy-step h2{
    color:#001D4F;
}

.academy-tip{
    background:#eef6ff;
    border-left:5px solid #005BFF;
    padding:20px;
    border-radius:12px;
    margin:40px 0;
}

.academy-sidebar-card{
    background:#fff;
    border:1px solid #e5eaf3;
    border-radius:18px;
    padding:24px;
    margin-bottom:20px;
}

@media(max-width:900px){
    .academy-content-grid{
        grid-template-columns:1fr;
    }
}
.academy-video-container{
    max-width:1100px;
    margin:auto;
}

.academy-card-link {
    display: block;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.academy-resource-card {
    overflow: hidden;
}

.academy-resource-card:hover {
    transform: translateY(-4px);
    transition: all .2s ease;
}
.biometry-card-alert {
    position: relative;
    overflow: hidden;
}

.biometry-ribbon {
    position: absolute;
    top: 26px;
    right: -58px;

    transform: rotate(38deg);

    background: #B42318;
    color: #fff;

    font-size: 14px;
    font-weight: 800;

    padding: 10px 75px;

    text-align: center;
    white-space: nowrap;

    box-shadow: 0 10px 25px rgba(180,35,24,.25);

    z-index: 10;
}
.biometry-case-note {
    margin-top: 14px;
    padding: 14px;
    border-radius: 12px;
    background: #FFF8E6;
    color: #7A4B00;
    font-size: 13px;
    line-height: 1.5;
    font-weight: 700;
}
.hero-image-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
}

.hero-main-image {
    display: block;
    width: 100%;
    max-width: 900px;
    height: auto;
    object-fit: contain;
}
@media (max-width: 900px) {
    .hero-grid {
        grid-template-columns: 1fr;
    }

    .hero-image-wrap {
        margin-top: 30px;
    }

    .hero-main-image {
        max-width: 750px;
        margin: 0 auto;
    }
}

@media (max-width: 600px) {
    .hero-main-image {
        width: 110%;
        max-width: none;
        margin-left: -5%;
    }
}
.pointage-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
}

.pointage-hero-image {
    display: block;
    width: 115%;
    max-width: 950px;
    height: auto;
    object-fit: contain;
}
@media (max-width: 1100px) {
    .pointage-hero-image {
        width: 105%;
        max-width: 800px;
    }
}

@media (max-width: 800px) {
    .pointage-hero-grid {
        grid-template-columns: 1fr;
    }

    .pointage-visual {
        margin-top: 30px;
    }

    .pointage-hero-image {
        width: 100%;
        max-width: 700px;
        margin: 0 auto;
    }
}
.prestation-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
}

.prestation-hero-image {
    display: block;
    width: 115%;
    max-width: 950px;
    height: auto;
    object-fit: contain;
}
@media (max-width: 1100px) {
    .prestation-hero-image {
        width: 105%;
        max-width: 800px;
    }
}

@media (max-width: 800px) {
    .prestation-hero-grid {
        grid-template-columns: 1fr;
    }

    .prestation-visual {
        margin-top: 30px;
    }

    .prestation-hero-image {
        width: 100%;
        max-width: 700px;
        margin: 0 auto;
    }
}
.todo-visual{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-width:0;
}

.todo-hero-image{
    display:block;
    width:115%;
    max-width:950px;
    height:auto;
    object-fit:contain;
}
@media (max-width:1100px){

    .todo-hero-image{
        width:105%;
        max-width:800px;
    }

}

@media (max-width:800px){

    .todo-hero-grid{
        grid-template-columns:1fr;
    }

    .todo-visual{
        margin-top:30px;
    }

    .todo-hero-image{
        width:100%;
        max-width:700px;
        margin:auto;
    }

}

.facturation-visual{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-width:0;
}

.facturation-hero-image{
    display:block;
    width:115%;
    max-width:950px;
    height:auto;
    object-fit:contain;
}
/* =========================================================
   PAGE GESTION DE PROJETS
========================================================= */

.projets-page-hero {
    position: relative;
    overflow: hidden;
    padding: 30px 0 90px;
    background:
        radial-gradient(
            circle at 85% 25%,
            rgba(38, 198, 166, 0.14),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #f7fbff 0%,
            #ffffff 55%,
            #f3fffc 100%
        );
}

.projets-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: 60px;
    align-items: center;
    padding-top: 45px;
}

.projets-hero-copy {
    min-width: 0;
}

.projets-hero-copy h1 {
    margin: 18px 0 12px;
    font-size: clamp(42px, 5vw, 70px);
    line-height: 1.05;
    color: #12213f;
}

.projets-hero-copy h2 {
    max-width: 700px;
    margin: 0 0 22px;
    font-size: clamp(24px, 2.6vw, 38px);
    line-height: 1.18;
    color: #173b72;
}

.projets-hero-copy > p {
    max-width: 700px;
    margin-bottom: 25px;
    font-size: 17px;
    line-height: 1.75;
    color: #5e6d82;
}

.projets-check-list {
    display: grid;
    gap: 13px;
    margin: 0 0 30px;
    padding: 0;
    list-style: none;
}

.projets-check-list li {
    position: relative;
    padding-left: 34px;
    font-size: 16px;
    font-weight: 600;
    color: #263c5c;
}

.projets-check-list li::before {
    content: "✓";
    position: absolute;
    top: 50%;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 23px;
    height: 23px;
    border-radius: 50%;
    background: #20b991;
    color: #ffffff;
    font-size: 13px;
    font-weight: 800;
    transform: translateY(-50%);
}


/* Image du hero */

.projets-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
}

.projets-hero-image {
    display: block;
    width: 115%;
    max-width: 950px;
    height: auto;
    object-fit: contain;
}


/* =========================================================
   AVANTAGES
========================================================= */

.projets-section {
    padding: 95px 0;
    background: #ffffff;
}

.projets-section-subtitle {
    max-width: 760px;
    margin: -5px auto 48px;
    text-align: center;
    font-size: 18px;
    line-height: 1.6;
    color: #64748b;
}

.projets-benefits-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.projets-benefits-grid article {
    padding: 30px;
    border: 1px solid #e6edf5;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 14px 35px rgba(22, 46, 88, 0.07);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.projets-benefits-grid article:hover {
    transform: translateY(-6px);
    border-color: rgba(35, 185, 145, 0.35);
    box-shadow: 0 22px 45px rgba(22, 46, 88, 0.12);
}

.projets-benefit-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin-bottom: 22px;
    border-radius: 17px;
    background: linear-gradient(
        135deg,
        rgba(36, 191, 151, 0.16),
        rgba(42, 111, 220, 0.12)
    );
    color: #167e69;
    font-size: 26px;
    font-weight: 800;
}

.projets-benefits-grid h3 {
    margin: 0 0 13px;
    font-size: 21px;
    color: #172a49;
}

.projets-benefits-grid p {
    margin: 0;
    font-size: 15.5px;
    line-height: 1.7;
    color: #68778c;
}


/* =========================================================
   COMMENT ÇA FONCTIONNE
========================================================= */

.projets-how-section {
    padding: 95px 0;
    background: #f5f9fd;
    text-align: center;
}

.projets-how-section > .container > h2 {
    margin: 0 0 12px;
    font-size: clamp(32px, 4vw, 48px);
    color: #142a4d;
}

.projets-how-section > .container > p {
    margin: 0 0 50px;
    font-size: 18px;
    color: #64748b;
}

.projets-steps-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.projets-steps-grid article {
    position: relative;
    padding: 38px 25px 30px;
    border: 1px solid #e4ebf3;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(19, 42, 79, 0.06);
}

.projets-steps-grid article > span {
    position: absolute;
    top: 17px;
    right: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 31px;
    height: 31px;
    border-radius: 50%;
    background: #183c75;
    color: #ffffff;
    font-size: 14px;
    font-weight: 800;
}

.projets-step-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 68px;
    height: 68px;
    margin: 0 auto 22px;
    border-radius: 20px;
    background: linear-gradient(
        135deg,
        #e8f9f4,
        #eaf2ff
    );
    color: #15866d;
    font-size: 30px;
    font-weight: 800;
}

.projets-steps-grid h3 {
    margin: 0 0 12px;
    font-size: 20px;
    color: #172c4e;
}

.projets-steps-grid p {
    margin: 0;
    font-size: 15px;
    line-height: 1.65;
    color: #6a788b;
}


/* =========================================================
   CTA
========================================================= */

.projets-cta {
    padding: 70px 0;
    background: linear-gradient(
        115deg,
        #142f5e 0%,
        #194f85 52%,
        #18a884 100%
    );
}

.projets-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.projets-cta h2 {
    max-width: 780px;
    margin: 0 0 12px;
    font-size: clamp(30px, 4vw, 47px);
    line-height: 1.15;
    color: #ffffff;
}

.projets-cta p {
    margin: 0;
    font-size: 18px;
    color: rgba(255, 255, 255, 0.84);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {
    .projets-hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 35px;
    }

    .projets-hero-image {
        width: 105%;
        max-width: 800px;
    }

    .projets-benefits-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .projets-steps-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 800px) {
    .projets-page-hero {
        padding-bottom: 65px;
    }

    .projets-hero-grid {
        grid-template-columns: 1fr;
        padding-top: 30px;
    }

    .projets-visual {
        margin-top: 20px;
    }

    .projets-hero-image {
        width: 100%;
        max-width: 700px;
        margin: 0 auto;
    }

    .projets-cta-inner {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 620px) {
    .projets-section,
    .projets-how-section {
        padding: 70px 0;
    }

    .projets-benefits-grid,
    .projets-steps-grid {
        grid-template-columns: 1fr;
    }

    .projets-benefits-grid article {
        padding: 26px;
    }

    .projets-cta {
        padding: 55px 0;
    }
}
/* =========================================================
   UNIFORMISATION FINALE DES CARTES TARIFAIRES
========================================================= */

.pricing-featured {
    --card-color: #005BFF;
    --card-border: rgba(0, 91, 255, 0.42);
    --card-soft: #EAF2FF;
    --card-shadow: rgba(0, 91, 255, 0.16);
}

.pricing-green {
    --card-color: #14A56D;
    --card-border: rgba(20, 165, 109, 0.34);
    --card-soft: #EAFBF4;
    --card-shadow: rgba(20, 165, 109, 0.15);
}

.pricing-projects {
    --card-color: #F39C12;
    --card-border: rgba(243, 156, 18, 0.38);
    --card-soft: #FFF4DF;
    --card-shadow: rgba(243, 156, 18, 0.16);
}

.pricing-purple {
    --card-color: #7C3AED;
    --card-border: rgba(124, 58, 237, 0.34);
    --card-soft: #F2EAFE;
    --card-shadow: rgba(124, 58, 237, 0.15);
}

.pricing-card {
    display: flex;
    flex-direction: column;
    border: 1.5px solid var(--card-border);
    transition:
        transform 0.22s ease,
        border-color 0.22s ease,
        box-shadow 0.22s ease;
}

.pricing-card:hover {
    transform: translateY(-4px);
    border-color: var(--card-color);
    box-shadow: 0 22px 52px var(--card-shadow);
}

.pricing-featured {
    border-width: 2px;
    transform: translateY(-10px);
}

.pricing-featured:hover {
    transform: translateY(-14px);
}

.pricing-card-icon {
    background: var(--card-soft);
    color: var(--card-color);
}

.pricing-price strong,
.pricing-card li::before {
    color: var(--card-color);
}

.pricing-card ul {
    flex: 1;
    display: block;
    list-style: none;
    margin: 0 0 28px;
    padding: 0;
}

.pricing-card ul li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0;
    padding: 4px 0;
    line-height: 1.3;
}

.pricing-card ul li::before {
    content: "✓";
    color: var(--card-color);
    font-weight: 900;
    flex: 0 0 auto;
    margin: 0;
}

.btn-outline-pointage,
.btn-outline-green,
.btn-outline-projects,
.btn-outline-purple {
    width: 100%;
    margin-top: auto;
    border: 2px solid var(--card-color);
    background: transparent;
    color: var(--card-color);
    box-shadow: none;
}

.btn-outline-pointage:hover,
.btn-outline-green:hover,
.btn-outline-projects:hover,
.btn-outline-purple:hover {
    border-color: var(--card-color);
    background: var(--card-color);
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 10px 24px var(--card-shadow);
}

@media (max-width: 1080px) {
    .pricing-featured,
    .pricing-featured:hover {
        transform: translateY(-4px);
    }
}
.option-orange {
    border-color: rgba(243, 156, 18, 0.35);
}

.option-orange .option-icon {
    background: #fff4df;
    color: #f39c12;
}

.option-orange .switch input:checked + span {
    background: #f39c12;
}

.option-orange .option-price strong {
    color: #f39c12;
}

.option-orange li::before {
    color: #f39c12;
}
.language-selector {
    margin-right: 15px;
}

.language-selector select {
    border: 1px solid #d7dce3;
    border-radius: 8px;
    padding: 8px 10px;
    background: white;
    color: #1f2937;
    font-size: 14px;
    cursor: pointer;
}
.nav-links a,
.nav-dropdown > a {
    white-space: nowrap;
}
