@import url('https://api.fontshare.com/v2/css?f[]=general-sans@400,500,600,700&f[]=cabinet-grotesk@500,700,800,900&display=swap');

/*
 * AskOptimize — Atrakt-inspired editorial CSS
 * v=20260504a
 *
 * Architecture:
 *  1. Tokens & base typography      (.atk root + h1-h4, p, a)
 *  2. Layout primitives             (.atk-container, .atk-section)
 *  3. Components (header, hero,     (.atk-header, .atk-nav-pill, etc.)
 *     wizard, FAQ, etc.)
 *  4. Home page overrides           (.atk-skip, hero polish)
 *
 *  Body MUST carry the .atk class for the layer to apply.
 */


/* ============================================================
 * PHASE 2 — ATRAKT-INSPIRED LAYER (.atk-*)
 * Foundation : tokens, typo, base utilities.
 * Components are added in style-atrakt-components.css.
 * Body must carry .atk class for the layer to take over.
 * ============================================================ */

/* === FONT IMPORT === */
/* General Sans / Cabinet Grotesk are loaded via <link> in HTML head
 * (CSP whitelists are applied there). Inter remains the safe fallback.
 */

/* === TOKENS — adapted to AskOptimize blue === */
.atk {
    /* Surfaces */
    --atk-bg:           #fafafa;        /* default page bg */
    --atk-bg-soft:      #f0faff;        /* very pale blue, soft sections (process) */
    --atk-bg-tint:      #e6f6fe;        /* slightly stronger pale blue (FAQ side card, lavender-equiv) */
    --atk-bg-dark:      #0a0e1f;        /* near-black bluish, FAQ + final CTA + footer */
    --atk-bg-darker:    #050812;
    --atk-surface:      #ffffff;        /* card on bg */
    --atk-surface-dark: #11162a;        /* card on dark bg */

    /* Text */
    --atk-fg:           #0a1428;        /* near-black bluish */
    --atk-fg-on-dark:   #fafafa;
    --atk-muted:        #5a5a6e;        /* body text */
    --atk-muted-on-dark: rgba(250,250,250,0.72);
    --atk-border:       #e5e7ee;
    --atk-border-dark:  rgba(255,255,255,0.12);

    /* Accent — AskOptimize historical blue */
    --atk-accent:       #19aaed;
    --atk-accent-fg:    #ffffff;
    --atk-accent-soft:  rgba(25,170,237,0.12);   /* highlight bg, badge bg */
    --atk-accent-mid:   rgba(25,170,237,0.40);   /* underline hand-drawn semi */
    --atk-accent-dark:  #0e7fbe;                  /* hover / pressed */

    /* Status colors */
    --atk-warning:      #ff8a4b;        /* "situation actuelle" orange */
    --atk-warning-soft: rgba(255,138,75,0.12);
    --atk-success:      #25d366;        /* WhatsApp / availability dot */
    --atk-success-soft: rgba(37,211,102,0.14);

    /* Avatar palette (social proof + testimonials) */
    --atk-avatar-1: #1f2937;
    --atk-avatar-2: #19aaed;
    --atk-avatar-3: #ff8a4b;
    --atk-avatar-4: #7c3aed;
    --atk-avatar-5: #10b981;

    /* Google brand yellow (used by .atk-stars) */
    --atk-google-yellow: #FBBC04;

    /* Header height (used for scroll-margin-top) */
    --atk-header-h: 76px;

    /* Typography */
    --atk-font-display: 'Cabinet Grotesk', 'General Sans', 'Inter', system-ui, sans-serif;
    --atk-font-body:    'General Sans', 'Inter', system-ui, sans-serif;

    /* Sizing */
    --atk-container:    1240px;
    --atk-container-narrow: 880px;
    --atk-section-y:    clamp(80px, 10vw, 140px);
    --atk-radius-sm:    12px;
    --atk-radius:       20px;
    --atk-radius-lg:    32px;
    --atk-radius-pill:  999px;

    /* Motion */
    --atk-ease:         cubic-bezier(.2,.65,.2,1);
    --atk-fade:         420ms var(--atk-ease);

    /* Shadows (very subtle) */
    --atk-shadow-soft:  0 1px 2px rgba(10,20,40,.04), 0 8px 24px rgba(10,20,40,.04);
    --atk-shadow-pop:   0 2px 4px rgba(10,20,40,.06), 0 16px 40px rgba(10,20,40,.08);
}

/* === BASE === */
/* Override style.min.css `body,html{overflow-x:hidden}` which creates
 * a scroll container on <body> and breaks `position:sticky` on its
 * children (the header). `overflow-x:clip` clips horizontal overflow
 * without creating a scroll container — sticky keeps working.
 * Browser support : Chrome 90+, Firefox 81+, Safari 16+ (>97 % global). */
html, body.atk {
    overflow-x: clip;
    overflow-y: visible;
}

body.atk {
    background: var(--atk-bg);
    color: var(--atk-fg);
    font-family: var(--atk-font-body);
    font-size: 17px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: "ss01", "cv11";
}

/* === TYPOGRAPHIE — Atrakt-like geometric bold === */
.atk h1, .atk h2, .atk h3, .atk h4 {
    font-family: var(--atk-font-display);
    color: var(--atk-fg);
    margin: 0 0 24px;
    letter-spacing: -0.02em;
}
.atk h1 {
    font-weight: 800;
    font-size: clamp(48px, 7.4vw, 100px);
    line-height: 1.02;
    letter-spacing: -0.03em;
}
.atk h2 {
    font-weight: 800;
    font-size: clamp(40px, 5.4vw, 72px);
    line-height: 1.06;
    letter-spacing: -0.025em;
}
.atk h3 {
    font-weight: 700;
    font-size: clamp(20px, 1.9vw, 24px);
    line-height: 1.25;
    letter-spacing: -0.015em;
}
.atk h4 {
    font-weight: 600;
    font-size: 16px;
    line-height: 1.35;
}
.atk p {
    margin: 0 0 16px;
    color: var(--atk-muted);
    font-size: clamp(16px, 1.15vw, 18px);
    line-height: 1.65;
}
.atk p strong, .atk strong { color: var(--atk-fg); font-weight: 600; }
.atk a {
    color: var(--atk-fg);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color .15s ease;
}
.atk a:hover { color: var(--atk-accent); }

/* Dark surface variant for typography */
.atk-dark {
    background: var(--atk-bg-dark);
    color: var(--atk-fg-on-dark);
}
.atk-dark h1, .atk-dark h2, .atk-dark h3, .atk-dark h4 { color: var(--atk-fg-on-dark); }
.atk-dark p { color: var(--atk-muted-on-dark); }
.atk-dark p strong, .atk-dark strong { color: var(--atk-fg-on-dark); }

/* === LAYOUT === */
.atk-container {
    max-width: var(--atk-container);
    margin: 0 auto;
    padding: 0 24px;
}
@media (min-width: 768px) { .atk-container { padding: 0 48px; } }

.atk-container-narrow {
    max-width: var(--atk-container-narrow);
    margin: 0 auto;
    padding: 0 24px;
}

.atk-section {
    padding: var(--atk-section-y) 0;
}
.atk-section-soft   { background: var(--atk-bg-soft); }
.atk-section-tint   { background: var(--atk-bg-tint); }
.atk-section-dark   { background: var(--atk-bg-dark); color: var(--atk-fg-on-dark); }
.atk-section-dark h1, .atk-section-dark h2, .atk-section-dark h3 { color: var(--atk-fg-on-dark); }
.atk-section-dark p { color: var(--atk-muted-on-dark); }

/* Sections with id get scroll-margin to clear the sticky header on anchor clicks */
.atk-section[id], section[id].atk-hero, section[id].atk-wizard-section,
section[id].atk-final-hero {
    scroll-margin-top: calc(var(--atk-header-h) + 12px);
}

/* === GRID === */
.atk-grid {
    display: grid;
    gap: 24px;
    grid-template-columns: 1fr;
}
.atk-grid-2 { grid-template-columns: 1fr; gap: 24px; }
.atk-grid-3 { grid-template-columns: 1fr; gap: 24px; }
@media (min-width: 640px) {
    .atk-grid-2 { grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (min-width: 768px) {
    .atk-grid-3 { grid-template-columns: repeat(3, 1fr); gap: 32px; }
}
@media (min-width: 1024px) {
    .atk-grid-2 { gap: 48px; }
    .atk-grid-3 { gap: 40px; }
}

/* === HIGHLIGHT MANUEL (SVG underline derrière mot-clé) === */
.atk-mark {
    position: relative;
    color: var(--atk-fg);
    white-space: nowrap;
    z-index: 0;
}
.atk-mark::after {
    content: "";
    position: absolute;
    left: -4%;
    right: -4%;
    bottom: 4%;
    height: 38%;
    background: var(--atk-accent-mid);
    border-radius: 999px;
    z-index: -1;
    transform: skew(-2deg) rotate(-1deg);
}
/* Variant : underline thin sketchy */
.atk-mark-stroke::after {
    height: 14%;
    bottom: 0;
    background: var(--atk-accent);
    border-radius: 4px;
}

/* === REVEAL === */
.atk-reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity var(--atk-fade), transform var(--atk-fade);
    will-change: opacity, transform;
}
.atk-reveal.in-view {
    opacity: 1;
    transform: translateY(0);
}

/* === UTILITIES === */
.atk-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--atk-accent);
    letter-spacing: 0.02em;
}
.atk-text-center { text-align: center; }
.atk-mb-0 { margin-bottom: 0; }
.atk-mb-sm { margin-bottom: 12px; }
.atk-mb-md { margin-bottom: 24px; }
.atk-mb-lg { margin-bottom: 48px; }

/* === REDUCED MOTION === */
@media (prefers-reduced-motion: reduce) {
    .atk-reveal { transition: none; opacity: 1; transform: none; }
    .atk *, .atk *::before, .atk *::after {
        animation: none !important;
        transition: none !important;
    }
    .atk *:hover { transform: none !important; }
    html { scroll-behavior: auto; }
}

/* === FOCUS-VISIBLE (a11y) — applies wherever interactive === */
.atk a:focus-visible,
.atk button:focus-visible,
.atk summary:focus-visible,
.atk [role="button"]:focus-visible,
.atk-btn:focus-visible,
.atk-burger:focus-visible,
.atk-nav-pill a:focus-visible,
.atk-nav-mobile a:focus-visible,
.atk-sector-card:focus-visible,
.atk-faq-q:focus-visible,
.atk-stepper li[role="button"]:focus-visible,
.atk-wizard-input:focus-visible {
    outline: 2px solid var(--atk-accent);
    outline-offset: 3px;
    border-radius: 4px;
}
.atk-btn:focus-visible,
.atk-burger:focus-visible {
    outline-offset: 3px;
}

/* Skip link */
.atk-skip {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 9999;
    padding: 10px 16px;
    background: var(--atk-fg);
    color: var(--atk-bg) !important;
    border-radius: var(--atk-radius-pill);
    font-weight: 600;
    text-decoration: none !important;
    transform: translateY(-200%);
    transition: transform .2s ease;
}
.atk-skip:focus {
    transform: translateY(0);
    color: var(--atk-bg) !important;
}


/* ============================================================
 * PHASE 2B — COMPONENTS
 * ============================================================ */

/* === [1] HEADER PILL NAV (responsive) === */
.atk-header {
    position: sticky;
    top: 0;
    background: rgba(250,250,250,0.82);
    backdrop-filter: saturate(180%) blur(18px);
    -webkit-backdrop-filter: saturate(180%) blur(18px);
    border-bottom: 1px solid transparent;
    z-index: 100;
    padding: 12px 0;
    transition: border-color .2s ease, background .2s ease;
}
.atk-header.is-scrolled {
    border-bottom-color: var(--atk-border);
}
.atk-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: var(--atk-container);
    margin: 0 auto;
    padding: 0 16px;
    gap: 12px;
    min-width: 0;
}
@media (min-width: 480px) { .atk-nav { padding: 0 24px; } }
@media (min-width: 768px) { .atk-nav { padding: 0 32px; gap: 24px; } }
@media (min-width: 1100px) { .atk-nav { padding: 0 48px; } }

.atk-nav-logo {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none !important;
    font-family: var(--atk-font-display);
    font-weight: 800;
    font-size: 18px;
    color: var(--atk-fg) !important;
    letter-spacing: -0.025em;
    min-width: 0;
    flex-shrink: 0;
}
.atk-nav-logo img {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    display: block;
}
@media (min-width: 768px) {
    .atk-nav-logo { font-size: 20px; gap: 12px; }
    .atk-nav-logo img { width: 32px; height: 32px; }
}

.atk-nav-pill {
    display: none;
    list-style: none;
    margin: 0;
    padding: 6px;
    background: var(--atk-surface);
    border: 1px solid var(--atk-border);
    border-radius: var(--atk-radius-pill);
    box-shadow: var(--atk-shadow-soft);
    gap: 2px;
    flex-shrink: 1;
    min-width: 0;
}
@media (min-width: 1024px) { .atk-nav-pill { display: inline-flex; } }

.atk-nav-pill a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 16px;
    border-radius: var(--atk-radius-pill);
    text-decoration: none !important;
    font-weight: 500;
    font-size: 14px;
    color: var(--atk-fg) !important;
    white-space: nowrap;
    transition: background .15s ease, color .15s ease;
}
@media (min-width: 1200px) {
    .atk-nav-pill a { padding: 10px 20px; font-size: 15px; gap: 8px; }
}
.atk-nav-pill a:hover { background: var(--atk-bg-tint); color: var(--atk-accent) !important; }
.atk-nav-pill a.is-active {
    background: var(--atk-accent-soft);
    color: var(--atk-accent) !important;
}
.atk-nav-pill a .atk-play-dot {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--atk-accent);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 8px;
    flex-shrink: 0;
}

.atk-nav-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
@media (min-width: 768px) { .atk-nav-actions { gap: 12px; } }

.atk-nav-cta {
    padding: 10px 16px;
    font-size: 14px;
}
@media (min-width: 480px) {
    .atk-nav-cta { padding: 11px 20px; font-size: 14px; }
}
@media (min-width: 768px) {
    .atk-nav-cta { padding: 12px 22px; font-size: 15px; }
}

/* Burger : 3 lines animated to X */
.atk-burger {
    background: var(--atk-surface);
    border: 1px solid var(--atk-border);
    border-radius: var(--atk-radius-pill);
    width: 42px;
    height: 42px;
    cursor: pointer;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 0;
    flex-shrink: 0;
    transition: background .15s ease, border-color .15s ease;
}
.atk-burger:hover { border-color: var(--atk-accent); }
.atk-burger span {
    display: block;
    width: 16px;
    height: 2px;
    background: var(--atk-fg);
    border-radius: 2px;
    transition: transform .25s var(--atk-ease), opacity .15s ease;
}
.atk-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.atk-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.atk-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
@media (min-width: 1024px) { .atk-burger { display: none; } }

.atk-nav-mobile {
    display: none;
    flex-direction: column;
    gap: 4px;
    padding: 16px 16px 24px;
    border-top: 1px solid var(--atk-border);
    list-style: none;
    margin: 0;
}
.atk-nav-mobile.open { display: flex; }
.atk-nav-mobile a {
    padding: 14px 12px;
    text-decoration: none !important;
    color: var(--atk-fg) !important;
    font-size: 17px;
    font-weight: 500;
    border-radius: 12px;
}
.atk-nav-mobile a:hover { background: var(--atk-bg-tint); }
.atk-nav-mobile-cta {
    margin-top: 12px;
    justify-content: center;
    text-align: center;
}

/* Scroll lock when mobile menu open (avoid background scroll) */
body.atk.menu-open { overflow: hidden; }

/* === [2] SOCIAL PROOF EYEBROW (stars + label only, no circles) === */
.atk-social-proof {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
    padding: 8px 16px;
    border-radius: var(--atk-radius-pill);
}
.atk-avatars {
    display: inline-flex;
    align-items: center;
}
.atk-avatars > * {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 2px solid var(--atk-bg);
    background: #ddd center/cover no-repeat;
    margin-left: -10px;
    box-shadow: 0 1px 2px rgba(0,0,0,.08);
}
.atk-avatars > *:first-child { margin-left: 0; }

.atk-stars-row {
    display: inline-flex;
    gap: 2px;
    color: var(--atk-google-yellow);
    font-size: 16px;
    letter-spacing: 1px;
    text-shadow: 0 0 1px rgba(0,0,0,.06);
}
.atk-stars-label {
    color: var(--atk-fg);
    font-weight: 700;
    font-size: 14px;
    line-height: 1;
}
/* === [3] BTN PILL XXL === */
.atk-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 14px 22px;
    font-family: var(--atk-font-body);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none !important;
    border: none;
    border-radius: var(--atk-radius-pill);
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.atk-btn:hover { transform: translateY(-2px); }

.atk-btn-primary {
    background: var(--atk-accent);
    color: #fff !important;
    box-shadow: 0 6px 20px rgba(25,170,237,.32);
}
.atk-btn-primary:hover { box-shadow: 0 10px 28px rgba(25,170,237,.42); color: #fff !important; }

.atk-btn-ghost {
    background: var(--atk-surface);
    color: var(--atk-fg) !important;
    border: 1px solid var(--atk-border);
}
.atk-btn-ghost:hover { border-color: var(--atk-accent); color: var(--atk-accent) !important; }

.atk-btn-xxl {
    padding: 18px 30px;
    font-size: 16.5px;
    gap: 14px;
    border-radius: var(--atk-radius-pill);
}
.atk-btn-icon {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(255,255,255,0.22);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    flex-shrink: 0;
}
.atk-btn-xxl .atk-btn-icon { width: 36px; height: 36px; font-size: 14px; }

/* === [4] TRUST PILLS === */
.atk-trust-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
}
.atk-trust-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    background: var(--atk-surface);
    border: 1px solid var(--atk-border);
    border-radius: var(--atk-radius-pill);
    font-size: 14px;
    font-weight: 500;
    color: var(--atk-fg);
}
.atk-trust-pill svg, .atk-trust-pill .atk-trust-icon {
    width: 18px;
    height: 18px;
    color: var(--atk-accent);
    flex-shrink: 0;
}

/* === [5] AVAILABILITY DOT === */
.atk-availability {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 500;
    color: var(--atk-fg);
}
.atk-availability::before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--atk-success);
    box-shadow: 0 0 0 0 rgba(37,211,102,.6);
    animation: atk-pulse 1.8s var(--atk-ease) infinite;
}
@keyframes atk-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(37,211,102,.55); }
    70%  { box-shadow: 0 0 0 10px rgba(37,211,102,0); }
    100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); }
}

/* === [6] KPI INLINE BAR (3 cols with icon) === */
.atk-kpi-inline {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    justify-content: center;
    align-items: center;
}
@media (min-width: 768px) {
    .atk-kpi-inline {
        grid-template-columns: repeat(3, auto);
        gap: 32px;
        justify-content: center;
    }
}
.atk-kpi-item {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    color: var(--atk-fg);
    font-weight: 500;
}
.atk-kpi-item-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: var(--atk-accent-soft);
    color: var(--atk-accent);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* === [7] COMPARE BEFORE/AFTER === */
.atk-compare {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    align-items: stretch;
}
@media (min-width: 992px) {
    .atk-compare {
        grid-template-columns: 1fr 1.2fr 1fr;
        gap: 0;
        align-items: center;
        position: relative;
    }
}
.atk-compare-side {
    padding: 32px;
    border-radius: var(--atk-radius-lg);
    background: var(--atk-surface);
    border: 1px solid var(--atk-border);
}
.atk-compare-side h3 {
    font-size: 22px;
    margin-bottom: 20px;
}
.atk-compare-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 12px;
}
.atk-compare-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 16px;
    color: var(--atk-muted);
}
.atk-compare-bad li::before {
    content: "✕";
    color: #d23f3f;
    font-weight: 700;
    flex-shrink: 0;
}
.atk-compare-good {
    background: var(--atk-bg-tint);
    border-color: var(--atk-accent-soft);
}
.atk-compare-good li::before {
    content: "✓";
    color: var(--atk-accent);
    font-weight: 700;
    flex-shrink: 0;
}
.atk-compare-visual {
    background: linear-gradient(135deg, var(--atk-bg-soft), var(--atk-bg-tint));
    border-radius: var(--atk-radius-lg);
    aspect-ratio: 4/3;
    position: relative;
    overflow: hidden;
    box-shadow: var(--atk-shadow-pop);
}
.atk-compare-handle {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--atk-fg);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    box-shadow: 0 4px 16px rgba(0,0,0,.2);
    cursor: ew-resize;
}

/* === [8] NUMBERED STEP (1/2/3 XXL + tag %) === */
.atk-numbered {
    display: flex;
    flex-direction: column;
    gap: 14px;
    background: var(--atk-surface);
    border: 1px solid var(--atk-border);
    border-radius: var(--atk-radius);
    padding: 32px 28px;
    box-shadow: 0 1px 2px rgba(10,20,40,.03);
}
.atk-numbered-head {
    display: inline-flex;
    align-items: center;
    gap: 14px;
}
.atk-numbered-num {
    font-family: var(--atk-font-display);
    font-weight: 800;
    font-size: clamp(80px, 8vw, 120px);
    line-height: 0.85;
    color: var(--atk-accent);
    letter-spacing: -0.04em;
}
.atk-numbered-tag {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    border-radius: var(--atk-radius-pill);
    background: var(--atk-accent-soft);
    color: var(--atk-accent);
    font-weight: 600;
    font-size: 14px;
}
.atk-numbered h3 {
    font-size: clamp(20px, 1.8vw, 24px);
    margin: 8px 0 0;
}
.atk-numbered p {
    margin: 0;
    font-size: 16px;
    line-height: 1.55;
}
.atk-numbered-callout {
    color: var(--atk-accent);
    font-style: italic;
    font-weight: 500;
    font-size: 15px;
    margin-top: 8px;
}

/* === [9] PROCESS ROW (steps with connectors) === */
.atk-process {
    background: var(--atk-bg-soft);
    border-radius: var(--atk-radius-lg);
    padding: clamp(40px, 5vw, 72px);
    position: relative;
    overflow: hidden;
}
.atk-process h2 { margin-bottom: 48px; max-width: 18ch; }
.atk-process-grid {
    display: grid;
    gap: 32px;
    grid-template-columns: 1fr;
}
@media (min-width: 768px) {
    .atk-process-grid { grid-template-columns: repeat(3, 1fr); gap: 48px; }
}
.atk-process-step { position: relative; }
.atk-process-num {
    font-family: var(--atk-font-display);
    font-weight: 800;
    font-size: clamp(60px, 6vw, 96px);
    line-height: 0.9;
    color: var(--atk-fg);
    margin-bottom: 16px;
    letter-spacing: -0.04em;
}
@media (min-width: 768px) {
    .atk-process-step:not(:last-child)::after {
        content: "";
        position: absolute;
        top: 38px;
        left: 80px;
        right: -30px;
        height: 2px;
        background: var(--atk-fg);
        opacity: 0.15;
    }
}
.atk-process-step h3 { font-size: 20px; margin: 8px 0 12px; }
.atk-process-step p { margin: 0; font-size: 15px; line-height: 1.55; }

.atk-process-bottom {
    margin-top: 40px;
    padding: 28px 32px;
    background: var(--atk-bg-dark);
    color: var(--atk-fg-on-dark);
    border-radius: var(--atk-radius);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
.atk-process-bottom > div { flex: 1 1 320px; min-width: 0; }
.atk-process-bottom h3 { font-size: 18px; margin: 0 0 6px; color: var(--atk-fg-on-dark); }
.atk-process-bottom p { font-size: 14px; margin: 0; color: rgba(255,255,255,.78); }

/* === [10] ROI SIMULATOR CARD (full color) === */
.atk-roi {
    background: var(--atk-accent);
    color: #fff;
    border-radius: var(--atk-radius-lg);
    padding: clamp(40px, 5vw, 72px);
    box-shadow: 0 30px 80px rgba(25,170,237,.28);
    position: relative;
    overflow: hidden;
}
.atk-roi h2 { color: #fff; text-align: center; margin-bottom: 40px; }
.atk-roi-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 32px;
}
@media (min-width: 768px) { .atk-roi-grid { grid-template-columns: 1fr 1fr; gap: 24px; } }
.atk-roi-field label {
    display: block;
    font-size: 14px;
    color: rgba(255,255,255,.85);
    margin-bottom: 8px;
    font-weight: 500;
}
.atk-roi-input {
    width: 100%;
    padding: 18px 22px;
    border: none;
    border-radius: var(--atk-radius-pill);
    background: rgba(255,255,255,.16);
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    font-family: var(--atk-font-display);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
}
.atk-roi-input:focus { outline: 2px solid #fff; outline-offset: 2px; }
.atk-roi-input::placeholder { color: rgba(255,255,255,.5); }

.atk-roi-slider-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 8px;
}
.atk-roi-slider-row label { font-size: 14px; color: rgba(255,255,255,.85); }
.atk-roi-slider-value {
    font-family: var(--atk-font-display);
    font-weight: 800;
    font-size: 28px;
}
.atk-roi-slider {
    width: 100%;
    appearance: none;
    -webkit-appearance: none;
    height: 4px;
    border-radius: 999px;
    background: rgba(255,255,255,.3);
    outline: none;
    margin: 12px 0 6px;
}
.atk-roi-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 22px;
    height: 22px;
    background: #fff;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(0,0,0,.2);
}
.atk-roi-slider::-moz-range-thumb {
    width: 22px;
    height: 22px;
    background: #fff;
    border: none;
    border-radius: 50%;
    cursor: pointer;
}
.atk-roi-slider-bounds {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: rgba(255,255,255,.6);
}
.atk-roi-compare {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 32px;
}
@media (min-width: 768px) {
    .atk-roi-compare {
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
        gap: 12px;
    }
}
.atk-roi-card {
    border-radius: var(--atk-radius);
    padding: 28px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.2);
}
.atk-roi-card h4 { font-size: 16px; font-weight: 600; margin: 0 0 16px; color: #fff; }
.atk-roi-card.is-now h4 { color: var(--atk-warning); }
.atk-roi-card-row {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    font-size: 15px;
    color: rgba(255,255,255,.85);
}
.atk-roi-card-row strong {
    font-family: var(--atk-font-display);
    font-weight: 700;
    color: #fff;
}
.atk-roi-card.is-now .atk-roi-card-row strong { color: var(--atk-warning); }
.atk-roi-arrow {
    text-align: center;
    font-size: 24px;
    color: rgba(255,255,255,.6);
}
.atk-roi-totals {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 24px;
}
@media (min-width: 768px) { .atk-roi-totals { grid-template-columns: 1fr 1fr; } }
.atk-roi-total {
    background: rgba(255,255,255,.1);
    border-radius: var(--atk-radius);
    padding: 24px;
    text-align: center;
}
.atk-roi-total-label {
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 0.1em;
    color: rgba(255,255,255,.7);
    margin-bottom: 8px;
}
.atk-roi-total-value {
    font-family: var(--atk-font-display);
    font-weight: 800;
    font-size: clamp(36px, 4vw, 56px);
    line-height: 1;
    color: #fff;
}
.atk-roi-cta {
    text-align: center;
    margin-top: 32px;
}
.atk-roi-cta .atk-btn {
    background: #fff;
    color: var(--atk-accent) !important;
    box-shadow: none;
}
.atk-roi-cta .atk-btn:hover { background: rgba(255,255,255,.92); }
.atk-roi-cta .atk-btn-icon {
    background: var(--atk-accent-soft);
    color: var(--atk-accent);
}

/* === [11] TESTIMONIAL MOSAIC === */
.atk-testimonials {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}
@media (min-width: 768px) {
    .atk-testimonials {
        grid-template-columns: repeat(3, 1fr);
        grid-auto-rows: minmax(200px, auto);
        gap: 20px;
    }
}
.atk-testi {
    background: var(--atk-surface);
    border: 1px solid var(--atk-border);
    border-radius: var(--atk-radius);
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.atk-testi-header {
    display: flex;
    align-items: center;
    gap: 12px;
}
.atk-testi-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #ddd center/cover no-repeat;
    flex-shrink: 0;
}
.atk-testi-author {
    font-weight: 600;
    color: var(--atk-fg);
    line-height: 1.2;
}
.atk-testi-role {
    font-size: 13px;
    color: var(--atk-muted);
    margin-top: 2px;
}
.atk-testi-quote { color: var(--atk-fg); font-size: 16px; line-height: 1.55; margin: 0; }
.atk-testi-stars { color: var(--atk-accent); font-size: 14px; letter-spacing: 2px; }
.atk-testi-tall { grid-row: span 2; }
.atk-testi-video {
    border-radius: var(--atk-radius);
    overflow: hidden;
    aspect-ratio: 9/16;
    background: linear-gradient(135deg, #1c2438, #0e7fbe);
    display: flex;
    align-items: flex-end;
    padding: 24px;
    color: #fff;
    position: relative;
}
.atk-testi-video-play {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: rgba(255,255,255,.18);
    backdrop-filter: blur(6px);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

/* === [12] FAQ ACCORDION (dark variant) === */
.atk-faq {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
}
@media (min-width: 992px) { .atk-faq { grid-template-columns: 320px 1fr; gap: 48px; } }

.atk-faq h2 { margin-bottom: 24px; }
.atk-faq-side {
    background: var(--atk-bg-tint);
    border-radius: var(--atk-radius);
    padding: 22px;
    color: var(--atk-fg);
    display: flex;
    align-items: center;
    gap: 14px;
}
.atk-section-dark .atk-faq-side {
    background: rgba(255,255,255,.06);
    color: var(--atk-fg-on-dark);
    border: 1px solid var(--atk-border-dark);
}
.atk-faq-side-icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--atk-success);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    flex-shrink: 0;
    font-size: 18px;
}
.atk-faq-side-label {
    font-size: 13px;
    color: var(--atk-accent);
    margin-bottom: 4px;
    font-weight: 500;
}
.atk-section-dark .atk-faq-side-label { color: var(--atk-accent); }
.atk-faq-side-text { font-weight: 600; line-height: 1.35; }

.atk-faq-list { display: flex; flex-direction: column; gap: 8px; }
.atk-faq-item {
    border-bottom: 1px solid var(--atk-border);
    padding: 0;
}
.atk-section-dark .atk-faq-item { border-color: var(--atk-border-dark); }
.atk-faq-q {
    list-style: none;
    cursor: pointer;
    padding: 22px 0;
    font-weight: 600;
    font-size: 17px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--atk-fg);
    transition: color .15s ease;
}
.atk-section-dark .atk-faq-q { color: var(--atk-fg-on-dark); }
.atk-faq-q::-webkit-details-marker { display: none; }
.atk-faq-q::after {
    content: "↓";
    font-size: 14px;
    transition: transform .25s ease;
    color: var(--atk-muted);
    margin-left: 16px;
}
.atk-faq-item[open] .atk-faq-q::after { transform: rotate(180deg); color: var(--atk-accent); }
.atk-faq-q:hover { color: var(--atk-accent); }
.atk-faq-a {
    padding: 0 0 22px;
    color: var(--atk-muted);
    font-size: 16px;
    line-height: 1.65;
    max-width: 70ch;
}
.atk-section-dark .atk-faq-a { color: var(--atk-muted-on-dark); }

/* === FLOATING ACTIONS (WhatsApp + phone) === */
.atk-floating {
    position: fixed;
    right: 24px;
    bottom: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    z-index: 90;
}
.atk-floating-btn {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 22px;
    box-shadow: 0 8px 24px rgba(0,0,0,.18);
    transition: transform .15s ease;
}
.atk-floating-btn:hover { transform: translateY(-2px); }
.atk-floating-wa { background: var(--atk-success); }
.atk-floating-tel { background: var(--atk-accent); }

/* === FOOTER COMPACT === */
.atk-footer-compact {
    background: var(--atk-bg-dark);
    color: var(--atk-fg-on-dark);
    padding: 32px 0;
}
.atk-footer-compact-row {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    align-items: center;
    justify-content: space-between;
    max-width: var(--atk-container);
    margin: 0 auto;
    padding: 0 24px;
}
.atk-footer-compact a {
    color: rgba(255,255,255,.7) !important;
    text-decoration: none !important;
    font-size: 14px;
    margin-right: 24px;
}
.atk-footer-compact a:hover { color: #fff !important; }


/* ============================================================
 * PHASE 2C — H1 GRADIENT + ROI WIZARD (Digiflow-style)
 * ============================================================ */

/* === H1 SUBTLE GRADIENT (dark dominant, accent at the very end only) === */
.atk-h1-gradient {
    background-image: linear-gradient(135deg, #0a1428 0%, #0a1428 75%, #19aaed 105%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}
.atk-h1-gradient .atk-mark {
    -webkit-text-fill-color: var(--atk-fg);
    color: var(--atk-fg);
    background-image: none;
}

/* === SOCIAL PROOF — responsive tuning === */
.atk-social-proof { justify-content: center; }
@media (max-width: 480px) {
    .atk-social-proof { gap: 10px; padding: 6px 12px; }
    .atk-stars-row { font-size: 14px; }
    .atk-stars-label { font-size: 13px; }
}

/* === WIZARD SECTION === */
.atk-wizard-section {
    background: var(--atk-bg-tint);
    padding: clamp(64px, 8vw, 120px) 0;
}
.atk-wizard-eyebrow {
    display: flex;
    width: max-content;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: var(--atk-surface);
    border: 1px solid var(--atk-border);
    border-radius: var(--atk-radius-pill);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: var(--atk-fg);
    margin: 0 auto 24px;
}
.atk-wizard-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--atk-accent);
}
.atk-wizard-section .atk-wizard-eyebrow,
.atk-wizard-section .atk-wizard-title,
.atk-wizard-section .atk-wizard-lead { text-align: center; }
.atk-wizard-section .atk-wizard-eyebrow { margin-left: auto; margin-right: auto; }
.atk-wizard-title {
    margin: 0 auto 16px;
    max-width: 22ch;
}
.atk-wizard-lead {
    text-align: center;
    margin: 0 auto 40px;
    color: var(--atk-muted);
    font-size: clamp(15px, 1.1vw, 17px);
    max-width: 50ch;
}

/* === STEPPER === */
.atk-stepper {
    list-style: none;
    margin: 0 auto 32px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    max-width: 480px;
}
.atk-stepper li {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    cursor: default;
    color: var(--atk-muted);
    font-size: 12px;
    font-weight: 500;
    position: relative;
    padding: 0 8px;
}
/* Pseudo-element connectors disabled : we use explicit
 * <span class="atk-stepper-line"> elements between LIs (cleaner math). */
.atk-step-num {
    position: relative;
    z-index: 1;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--atk-surface);
    border: 1.5px solid var(--atk-border);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-family: var(--atk-font-display);
    font-size: 15px;
    color: var(--atk-muted);
    transition: all .2s ease;
}
.atk-stepper li.is-active .atk-step-num {
    background: var(--atk-fg);
    border-color: var(--atk-fg);
    color: #fff;
}
.atk-stepper li.is-done .atk-step-num {
    background: var(--atk-accent);
    border-color: var(--atk-accent);
    color: #fff;
    cursor: pointer;
}
.atk-stepper li.is-done {
    cursor: pointer;
    color: var(--atk-fg);
}
.atk-stepper li.is-active {
    color: var(--atk-fg);
}
.atk-step-label {
    font-size: 12px;
    line-height: 1.2;
}
@media (min-width: 480px) {
    .atk-stepper { gap: 0; max-width: 560px; }
    .atk-step-num { width: 40px; height: 40px; font-size: 16px; }
    .atk-step-label { font-size: 13px; }
    .atk-stepper li { padding: 0 16px; }
}

/* === WIZARD CARD === */
.atk-wizard-card {
    background: var(--atk-surface);
    border: 1px solid var(--atk-border);
    border-radius: var(--atk-radius-lg);
    padding: clamp(24px, 4vw, 48px);
    box-shadow: var(--atk-shadow-soft);
}
.atk-wizard-step {
    display: none;
    animation: atk-wiz-fade .35s var(--atk-ease);
}
.atk-wizard-step.is-active { display: block; }
@keyframes atk-wiz-fade {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}
.atk-wizard-step h3 {
    font-size: clamp(20px, 2vw, 24px);
    margin: 0 0 6px;
}
.atk-wizard-sub {
    margin: 0 0 24px;
    color: var(--atk-muted);
    font-size: 15px;
}

/* === SECTOR GRID === */
.atk-sector-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-bottom: 28px;
}
@media (min-width: 600px)  { .atk-sector-grid { grid-template-columns: repeat(3, 1fr); gap: 14px; } }
@media (min-width: 900px)  { .atk-sector-grid { grid-template-columns: repeat(4, 1fr); gap: 16px; } }

.atk-sector-card {
    appearance: none;
    -webkit-appearance: none;
    background: var(--atk-surface);
    border: 1.5px solid var(--atk-border);
    border-radius: var(--atk-radius);
    padding: 18px 14px;
    cursor: pointer;
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: 8px;
    color: var(--atk-fg);
    font-family: inherit;
    transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease, background .15s ease;
    min-height: 110px;
}
.atk-sector-card:hover {
    border-color: var(--atk-accent);
    transform: translateY(-2px);
    box-shadow: var(--atk-shadow-soft);
}
.atk-sector-card.is-selected {
    border-color: var(--atk-accent);
    background: var(--atk-accent-soft);
    box-shadow: 0 0 0 3px rgba(25,170,237,.15);
}
.atk-sector-icon {
    width: 32px;
    height: 32px;
    color: var(--atk-fg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.atk-sector-card.is-selected .atk-sector-icon { color: var(--atk-accent); }
.atk-sector-icon svg { width: 100%; height: 100%; }
.atk-sector-name {
    font-weight: 600;
    font-size: 14px;
    line-height: 1.25;
    letter-spacing: -0.01em;
}
@media (min-width: 600px) { .atk-sector-name { font-size: 15px; } }
.atk-sector-ticket {
    font-size: 12px;
    color: var(--atk-muted);
    line-height: 1.3;
    margin-top: auto;
}

/* === WIZARD FIELDS (step 2) === */
.atk-wizard-fields {
    display: grid;
    gap: 18px;
    grid-template-columns: 1fr;
    margin-bottom: 32px;
}
@media (min-width: 640px) { .atk-wizard-fields { grid-template-columns: 1fr 1fr; gap: 24px; } }
.atk-wizard-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.atk-wizard-field-label {
    font-size: 13px;
    color: var(--atk-muted);
    font-weight: 500;
}
.atk-wizard-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
}
.atk-wizard-input {
    width: 100%;
    padding: 16px 18px;
    border: 1.5px solid var(--atk-border);
    border-radius: var(--atk-radius);
    background: var(--atk-surface);
    color: var(--atk-fg);
    font-family: var(--atk-font-display);
    font-size: 22px;
    font-weight: 700;
    transition: border-color .15s ease, box-shadow .15s ease;
    -moz-appearance: textfield;
}
.atk-wizard-input::-webkit-outer-spin-button,
.atk-wizard-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.atk-wizard-input:focus {
    outline: none;
    border-color: var(--atk-accent);
    box-shadow: 0 0 0 3px rgba(25,170,237,.18);
}
.atk-wizard-input-suffix {
    position: absolute;
    right: 18px;
    pointer-events: none;
    color: var(--atk-muted);
    font-family: var(--atk-font-display);
    font-weight: 700;
    font-size: 22px;
}
.atk-wizard-input-wrap .atk-wizard-input { padding-right: 40px; }

/* === WIZARD RESULTS (step 3) === */
.atk-wizard-results {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 32px;
}
@media (min-width: 640px) {
    .atk-wizard-results {
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }
    .atk-wizard-kpi-hero { grid-column: 1 / -1; }
}
.atk-wizard-kpi {
    background: var(--atk-bg-soft);
    border: 1px solid var(--atk-border);
    border-radius: var(--atk-radius);
    padding: 20px;
    text-align: center;
}
.atk-wizard-kpi-hero {
    background: var(--atk-accent);
    color: #fff;
    border-color: transparent;
    padding: 28px 24px;
    box-shadow: 0 18px 40px rgba(25,170,237,.28);
}
.atk-wizard-kpi-label {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--atk-muted);
    margin-bottom: 8px;
    font-weight: 600;
}
.atk-wizard-kpi-hero .atk-wizard-kpi-label { color: rgba(255,255,255,.85); }
.atk-wizard-kpi-value {
    display: block;
    font-family: var(--atk-font-display);
    font-weight: 800;
    font-size: clamp(26px, 3.2vw, 36px);
    line-height: 1;
    color: var(--atk-fg);
    letter-spacing: -0.02em;
}
.atk-wizard-kpi-hero .atk-wizard-kpi-value {
    color: #fff;
    font-size: clamp(36px, 5vw, 56px);
}
.atk-wizard-cta {
    text-align: center;
    margin-top: 16px;
    margin-bottom: 16px;
}
.atk-wizard-cta .atk-btn { width: 100%; max-width: 360px; justify-content: center; }
@media (min-width: 480px) {
    .atk-wizard-cta .atk-btn { width: auto; }
}
.atk-wizard-disclaimer {
    margin-top: 14px;
    font-size: 12px;
    color: var(--atk-muted);
    text-align: center;
}

/* === WIZARD ACTIONS (nav buttons) === */
.atk-wizard-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 12px;
    padding-top: 24px;
    border-top: 1px solid var(--atk-border);
}
.atk-wizard-actions > span:empty { flex: 0 0 auto; }
.atk-wizard-actions .atk-btn { flex-shrink: 0; }
@media (max-width: 480px) {
    .atk-wizard-actions { flex-direction: column-reverse; }
    .atk-wizard-actions .atk-btn { width: 100%; justify-content: center; }
    .atk-wizard-actions > span:empty { display: none; }
}
.atk-wizard-next:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    box-shadow: none;
    transform: none !important;
}



/* ============================================================
 * PHASE 4 — HOME PAGE OVERRIDES & POLISH
 * Migrated from former inline <style> in index.html
 * + microinteractions, scroll progress, KPI counter, slide step
 * ============================================================ */

/* === HERO === */
.atk-hero {
    padding: clamp(64px, 9vw, 128px) 0;
    text-align: center;
}
.atk-hero h1 {
    max-width: 24ch;
    margin: 0 auto 24px;
    text-wrap: balance;
}
.atk-hero h1 br { display: inline; }
@media (max-width: 640px) { .atk-hero h1 br { display: none; } }
.atk-hero-subtitle {
    max-width: 60ch;
    margin: 0 auto 12px;
    font-size: clamp(16px, 1.2vw, 19px);
    color: var(--atk-muted);
    line-height: 1.55;
    /* Flex column ensures each .atk-line span is independently centered */
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}
.atk-hero-subtitle .atk-line {
    display: block;
    text-align: center;
}
.atk-hero-guarantee { margin: 0 auto 8px; text-align: center; }
.atk-hero-link {
    color: var(--atk-accent);
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 4px;
}
.atk-cta-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    margin: 40px auto 0;
    max-width: 480px;
}
.atk-cta-stripe {
    font-size: 13px;
    color: var(--atk-muted);
    text-align: center;
    line-height: 1.5;
    max-width: 44ch;
}
.atk-cta-stripe strong { color: var(--atk-fg); font-weight: 700; white-space: nowrap; }
.atk-cta-stripe svg {
    display: inline-block;
    vertical-align: -2px;
    margin-right: 6px;
    color: var(--atk-fg);
}

/* === FINAL HERO CTA (dark) === */
.atk-final-hero {
    padding: clamp(80px, 12vw, 180px) 0;
    text-align: center;
}
.atk-final-hero h2 {
    font-size: clamp(36px, 5.5vw, 80px);
    font-weight: 800;
    line-height: 1.05;
    color: var(--atk-fg-on-dark);
    max-width: 22ch;
    margin: 0 auto 32px;
    letter-spacing: -0.03em;
    text-wrap: balance;
}
.atk-final-hero .atk-availability {
    margin: 24px auto 0;
    color: var(--atk-fg-on-dark);
}
.atk-final-hero .atk-availability::before { background: var(--atk-success); }
.atk-final-hero-stripe {
    margin-top: 18px;
    font-size: 13px;
    color: rgba(255,255,255,.78);
    text-align: center;
    line-height: 1.5;
    max-width: 44ch;
    margin-left: auto;
    margin-right: auto;
}
.atk-final-hero-stripe strong { color: #fff; font-weight: 700; white-space: nowrap; }
.atk-final-hero-stripe svg {
    display: inline-block;
    vertical-align: -2px;
    margin-right: 6px;
    color: rgba(255,255,255,.85);
}

/* Final CTA H2 gets a subtle gradient on dark surface */
.atk-final-hero h2.atk-h1-gradient {
    background-image: linear-gradient(135deg, #ffffff 0%, #d6e8fa 60%, #19aaed 130%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}
.atk-final-hero h2.atk-h1-gradient .atk-mark {
    -webkit-text-fill-color: var(--atk-fg-on-dark);
    color: var(--atk-fg-on-dark);
}

/* === HEADER POLISH (scroll progress + scoped will-change) === */
.atk-header { transition: border-color .25s ease, box-shadow .25s ease, background .25s ease; }
.atk-header.is-scrolled {
    background: rgba(250,250,250,0.92);
    box-shadow: 0 1px 8px rgba(10,20,40,.04);
    will-change: transform;
}
.atk-scroll-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    background: var(--atk-accent);
    width: 0%;
    transition: width .08s linear;
    border-radius: 0 3px 3px 0;
    pointer-events: none;
}
.atk-header { position: sticky; top: 0; }

/* === ACTIVE NAV PILL === */
.atk-nav-pill a.is-active {
    background: var(--atk-accent-soft);
    color: var(--atk-accent) !important;
}

/* === BURGER 44x44 (touch target) === */
.atk-burger { width: 44px; height: 44px; }

/* === MICROINTERACTIONS (buttons + cards) === */
.atk-btn {
    transition: transform .18s var(--atk-ease),
                box-shadow .18s var(--atk-ease),
                opacity .18s var(--atk-ease),
                background .18s var(--atk-ease);
}
.atk-btn:hover { transform: translateY(-2px) scale(1.015); }
.atk-btn:active { transform: translateY(0) scale(0.98); }

.atk-numbered, .atk-process-step, .atk-testi {
    transition: transform .25s var(--atk-ease), box-shadow .25s var(--atk-ease), border-color .25s var(--atk-ease);
}
.atk-numbered:hover, .atk-testi:hover {
    transform: translateY(-4px);
    box-shadow: 0 6px 12px rgba(10,20,40,.04), 0 24px 48px rgba(10,20,40,.08);
    border-color: var(--atk-accent-soft);
}
.atk-testi { box-shadow: var(--atk-shadow-soft); }
.atk-faq-q { cursor: pointer; }
.atk-stepper li.is-done { cursor: pointer; }
.atk-sector-card { cursor: pointer; }

/* === KPI COUNTER (animated when in view) === */
.atk-numbered-tag[data-counter] {
    font-variant-numeric: tabular-nums;
}

/* === SECTOR CARD selected — checkmark === */
.atk-sector-card { position: relative; }
.atk-sector-card.is-selected::after {
    content: "";
    position: absolute;
    top: 10px;
    right: 10px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--atk-accent) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='3.5 8.5 6.5 11.5 12.5 5'/></svg>") center/14px no-repeat;
}

/* === WIZARD STEP — slide horizontal transition === */
.atk-wizard-step {
    transition: opacity .35s var(--atk-ease), transform .35s var(--atk-ease);
}
.atk-wizard-step:not(.is-active) {
    display: none;
}
.atk-wizard-step.is-active {
    display: block;
    animation: atk-wiz-slide .42s var(--atk-ease);
}
@keyframes atk-wiz-slide {
    from { opacity: 0; transform: translateX(24px); }
    to   { opacity: 1; transform: translateX(0); }
}

/* === STEPPER refonte (flex layout, no fragile pseudo math) === */
.atk-stepper { gap: 0; }
.atk-stepper-line {
    flex: 1;
    height: 2px;
    background: var(--atk-border);
    margin: 0 6px;
    align-self: flex-start;
    margin-top: 19px;
    transition: background .25s ease;
}
.atk-stepper li.is-done + .atk-stepper-line,
.atk-stepper-line.is-done {
    background: var(--atk-accent);
}
@media (min-width: 480px) {
    .atk-stepper-line { margin-top: 21px; margin: 21px 8px 0; }
}
@media (max-width: 379px) {
    .atk-stepper-line { display: none; }
}

/* === PROCESS connectors — relative calc, hidden on tablet === */
.atk-process-step {
    --num-size: clamp(60px, 6vw, 96px);
}
@media (min-width: 1024px) {
    .atk-process-step:not(:last-child)::after {
        content: "";
        position: absolute;
        top: calc(var(--num-size) / 2 - 1px);
        left: calc(var(--num-size) + 12px);
        right: -24px;
        height: 2px;
        background: var(--atk-fg);
        opacity: 0.12;
    }
}
@media (max-width: 1023px) {
    .atk-process-step::after { display: none !important; }
}

/* === PROCESS BOTTOM CTA cap width === */
.atk-process-bottom .atk-btn { max-width: 360px; }

/* === TESTIMONIALS auto-rows fix === */
@media (min-width: 768px) and (max-width: 1023px) {
    .atk-testimonials { grid-auto-rows: max-content; }
    .atk-testi-tall { grid-row: auto; }
}

/* === DARK MUTED contrast bump === */
.atk-section-dark p,
.atk-final-hero-stripe { color: rgba(255,255,255,0.78); }

/* === RESPONSIVE TYPOGRAPHY caps (avoid runaway H1) === */
@media (min-width: 1280px) {
    .atk h1 { font-size: clamp(72px, 6vw, 88px); }
}

/* === HERO SOCIAL PROOF responsive tuning === */
@media (max-width: 480px) {
    .atk-social-proof { gap: 10px; flex-wrap: wrap; row-gap: 6px; padding: 6px 12px; }
    .atk-stars-row { font-size: 14px; }
    .atk-stars-label { font-size: 13px; text-align: center; }
}

/* === html scroll-behavior smooth (with motion-safe override above) === */
html { scroll-behavior: smooth; }


/* === SR-ONLY (visually hidden but accessible) === */
.atk-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* === FAQ side cards as links (phone + WhatsApp) === */
.atk-faq-side-link {
    text-decoration: none !important;
    color: inherit !important;
    transition: transform .2s var(--atk-ease), background .2s var(--atk-ease);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 14px;
}
.atk-faq-side-link:hover { transform: translateY(-2px); }
.atk-faq-side-tel {
    background: rgba(255,255,255,.04) !important;
}
.atk-section-dark .atk-faq-side-link {
    background: rgba(255,255,255,.06);
    border: 1px solid var(--atk-border-dark);
}
.atk-section-dark .atk-faq-side-link:hover {
    background: rgba(255,255,255,.10);
}
.atk-faq-side-tel .atk-faq-side-icon {
    background: var(--atk-accent) !important;
}


/* === AVANTAGES section — Atrakt-aligned title + lead === */
.atk-avantages-title {
    max-width: 22ch;
    margin: 0 auto 24px;
    text-wrap: balance;
    /* Inherits font-size from .atk h2 (clamp 40-72px) */
}
.atk-avantages-lead {
    max-width: 78ch;
    margin: 0 auto 48px;
    color: var(--atk-muted);
    font-size: clamp(16px, 1.25vw, 19px);
    line-height: 1.65;
    /* Flex column ensures each .atk-line span is independently centered */
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}
.atk-avantages-lead .atk-line {
    display: block;
    text-align: center;
}
.atk-avantages-grid {
    margin-top: 24px;
}
@media (min-width: 768px) {
    .atk-avantages-grid { margin-top: 40px; }
}

/* Wizard intro spacing — title size left to default .atk h2 (matches avantages) */
.atk-wizard-section .atk-wizard-eyebrow {
    margin-bottom: 16px;
}
.atk-wizard-section .atk-wizard-title {
    margin-bottom: 12px;
}
.atk-wizard-section .atk-wizard-lead {
    margin-bottom: 40px;
}


/* === BRIDGE (avantages -> simulateur visual liaison) === */
.atk-bridge {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    margin: 32px auto 0;
    max-width: 320px;
    color: var(--atk-muted);
    text-align: center;
}
.atk-bridge-line {
    display: block;
    width: 1px;
    height: 28px;
    background: linear-gradient(to bottom, transparent 0%, var(--atk-border) 30%, var(--atk-border) 100%);
}
.atk-bridge-text {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--atk-muted);
}
.atk-bridge-arrow {
    color: var(--atk-accent);
    animation: atk-bridge-bounce 1.6s var(--atk-ease) infinite alternate;
}
@keyframes atk-bridge-bounce {
    from { transform: translateY(-3px); opacity: 0.85; }
    to   { transform: translateY(5px);  opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
    .atk-bridge-arrow { animation: none; }
}

/* Compact spacing : bring avantages and simulator visually close */
#avantages.atk-section {
    padding-bottom: clamp(40px, 5vw, 64px);
}
#avantages + #simulateur.atk-wizard-section {
    padding-top: clamp(28px, 3.5vw, 56px);
}

/* Force centering on every section title + their leads/h2/h3 unless
 * explicitly side-aligned (.atk-faq h2 stays left, lives in side col) */
.atk-section h2,
.atk-final-hero h2,
.atk-wizard-section h2,
.atk-process h2 {
    text-align: center;
}
.atk-faq h2 { text-align: left; } /* exception : FAQ uses 2-col layout */

/* Belt-and-suspenders : the whole hero, and the avantages content that
 * isn't a card/grid, must be centered. Defeats any inherited
 * text-align:left that could leak from style.min.css legacy rules. */
.atk-hero, .atk-hero h1, .atk-hero p, .atk-hero .atk-cta-block { text-align: center; }
#avantages > .atk-container > h2,
#avantages > .atk-container > .atk-avantages-lead { text-align: center; }
