
    :root {
      --font-display: 'Cabinet Grotesk', system-ui, sans-serif;
      --font-body: 'Switzer', system-ui, sans-serif;
      --bg: #fcfbf7; --bg-2: #f3ede0; --bg-3: #e9e0cc;
      --ink: #0a0c0e; --ink-soft: #434a51; --ink-mute: #7c776f;
      --dark: #0a0c0e; --dark-2: #181b1f; --dark-3: #252a30;
      --on-d: #fcfbf7; --on-d-soft: rgba(252,251,247,0.74); --on-d-mute: rgba(252,251,247,0.48);
      --c: #d4783c; --c-bright: #ec8d56; --c-deep: #a35a30; --c-soft: #f5d4b3;
      --ok: #4c7d52; --ko: #b4543e;
      --border: rgba(10,12,14,0.08); --border-2: rgba(10,12,14,0.14);
      --border-d: rgba(245,212,179,0.16);
      --r: 6px; --card-r: 10px;
      --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
      --shadow-cuivre: 0 1px 2px rgba(163,90,48,0.18), 0 4px 12px -3px rgba(163,90,48,0.28);
      --shadow-cuivre-lift: 0 1px 2px rgba(10,12,14,0.10), 0 10px 24px -4px rgba(163,90,48,0.38), 0 20px 40px -10px rgba(10,12,14,0.20);
      --shadow-soft: 0 1px 2px rgba(10,12,14,0.04), 0 12px 28px -10px rgba(10,12,14,0.12);
    }
    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body { margin: 0; font-family: var(--font-body); background: var(--bg); color: var(--ink); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
    p, h1, h2, h3, h4 { margin: 0; }
    a { color: inherit; text-decoration: none; }
    img, svg { display: block; max-width: 100%; }
    ol, ul { margin: 0; padding: 0; list-style: none; }
    button, input, select { font: inherit; }
    button { border: 0; background: transparent; cursor: pointer; }
    .skip { position: absolute; left: -9999px; top: 0; z-index: 100; background: var(--ink); color: var(--on-d); padding: 12px 18px; border-radius: var(--r); }
    .skip:focus { left: 12px; top: 12px; }

    .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 52px; padding: 0 26px; border-radius: var(--r); font-family: var(--font-body); font-weight: 600; font-size: 14.5px; letter-spacing: -0.005em; line-height: 1; border: 1px solid transparent; white-space: nowrap; cursor: pointer; color: white; transition: background-color 240ms var(--ease-out), transform 240ms var(--ease-out), box-shadow 240ms var(--ease-out); box-shadow: var(--shadow-cuivre); }
    .btn .icon { transition: transform 240ms var(--ease-out); flex-shrink: 0; }
    .btn:hover .icon { transform: translateX(3px); }
    .btn--primary { background: var(--c); }
    .btn--primary:hover { background: #c46a30; transform: translateY(-2px); box-shadow: var(--shadow-cuivre-lift); }
    .btn--primary:active { transform: translateY(0); box-shadow: var(--shadow-cuivre); }
    .btn--ghost { background: transparent; color: var(--ink); border: 1.5px solid var(--ink); box-shadow: none; }
    .btn--ghost:hover { background: var(--ink); color: var(--on-d); }
    .btn--ghost-d { background: rgba(252,251,247,0.06); color: var(--on-d); border: 1px solid rgba(252,251,247,0.16); box-shadow: none; }
    .btn--ghost-d:hover { background: rgba(252,251,247,0.12); border-color: rgba(245,212,179,0.4); transform: translateY(-1px); }
    .btn--sm { height: 44px; padding: 0 18px; font-size: 13.5px; }
    .btn:focus-visible, a:focus-visible, summary:focus-visible, .tab-btn:focus-visible { outline: 3px solid var(--c); outline-offset: 3px; border-radius: 3px; }

    .eyebrow { display: inline-flex; align-items: center; gap: 12px; font-family: var(--font-display); font-size: 11.5px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-deep); }
    .eyebrow::before { content: ''; width: 28px; height: 1px; background: currentColor; flex-shrink: 0; }
    .eyebrow--light { color: var(--c-soft); }
    .eyebrow--center { justify-content: center; }

    .container { max-width: 1240px; margin: 0 auto; padding: 0 32px; }
    .container--narrow { max-width: 1000px; }
    @media (max-width: 720px) { .container { padding: 0 20px; } }
    .section { padding: 96px 0; }
    @media (max-width: 720px) { .section { padding: 56px 0; } }
    .section--tint { background: var(--bg-2); }
    .section--dark { background: var(--dark); color: var(--on-d); }
    .section--dark .h2, .section--dark .h-on { color: var(--on-d); }
    .section--dark .lede { color: var(--on-d-soft); }
    .section--dark .eyebrow { color: var(--c-soft); }
    .section--dark .prose { color: var(--on-d-soft); }
    .section--dark .prose strong { color: var(--on-d); }
    .section-head { max-width: 820px; margin: 0 auto 50px; text-align: center; }
    .section-head--left { text-align: left; margin: 0 0 42px; }
    @media (max-width: 720px) { .section-head { margin-bottom: 32px; } }
    .h2 { font-family: var(--font-display); font-size: clamp(27px, 3.1vw, 41px); font-weight: 700; line-height: 1.1; letter-spacing: -0.03em; color: var(--ink); margin-top: 16px; text-wrap: balance; }
    .lede { margin-top: 18px; font-family: var(--font-body); font-size: clamp(15.5px, 1.3vw, 17.5px); line-height: 1.62; color: var(--ink-soft); max-width: 720px; }
    .section-head .lede { margin-left: auto; margin-right: auto; }
    .section-head--left .lede { margin-left: 0; margin-right: 0; }
    .prose { font-family: var(--font-body); font-size: 16px; line-height: 1.72; color: var(--ink-soft); max-width: 760px; }
    .prose p + p { margin-top: 15px; }
    .prose strong { color: var(--ink); font-weight: 600; }
    .prose--wide { max-width: 900px; }
    .prose--center { margin-left: auto; margin-right: auto; text-align: center; }

    .header { position: sticky; top: 0; z-index: 40; width: 100%; background: rgba(252,251,247,0.86); backdrop-filter: blur(20px) saturate(180%); -webkit-backdrop-filter: blur(20px) saturate(180%); border-bottom: 1px solid var(--border); }
    .nav { width: 100%; max-width: 1240px; margin: 0 auto; height: 72px; padding: 0 32px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
    .nav__brand { display: flex; align-items: center; gap: 12px; color: var(--ink); }
    .nav__mark-svg { width: 40px; height: 40px; color: var(--ink); flex-shrink: 0; }
    .nav__name { font-family: var(--font-display); font-size: 16.5px; font-weight: 700; letter-spacing: -0.022em; }
    .nav__links { display: flex; gap: 26px; font-family: var(--font-body); font-size: 13.5px; font-weight: 500; color: var(--ink-soft); }
    .nav__links a { transition: color 180ms var(--ease-out); }
    .nav__links a:hover { color: var(--ink); }
    .nav__right { display: flex; align-items: center; gap: 18px; }
    .nav__cta { height: 44px; padding: 0 18px; font-size: 13.5px; }
    .hamburger { display: none; width: 40px; height: 40px; align-items: center; justify-content: center; border: 1px solid var(--border-2); border-radius: 4px; }
    .hamburger__icon { display: flex; flex-direction: column; gap: 3px; width: 16px; }
    .hamburger__icon span { display: block; height: 1.5px; background: var(--ink); width: 100%; transition: all 220ms var(--ease-out); }
    .hamburger[aria-expanded="true"] .hamburger__icon { position: relative; height: 14px; gap: 0; }
    .hamburger[aria-expanded="true"] .hamburger__icon span:nth-child(1) { position: absolute; top: 6px; transform: rotate(45deg); }
    .hamburger[aria-expanded="true"] .hamburger__icon span:nth-child(2) { opacity: 0; }
    .hamburger[aria-expanded="true"] .hamburger__icon span:nth-child(3) { position: absolute; top: 6px; transform: rotate(-45deg); }
    @media (max-width: 900px) { .nav { height: 62px; padding: 0 20px; } .nav__links, .nav__cta { display: none; } .hamburger { display: inline-flex; } .nav__mark-svg { width: 34px; height: 34px; } }
    .drawer { position: fixed; inset: 62px 0 0 0; z-index: 39; background: var(--bg); transform: translateX(100%); transition: transform 320ms var(--ease-out); display: flex; flex-direction: column; padding: 14px 22px 28px; overflow-y: auto; }
    .drawer[data-open="true"] { transform: translateX(0); }
    .drawer__links { display: flex; flex-direction: column; }
    .drawer__links a { display: flex; align-items: center; justify-content: space-between; padding: 17px 4px; border-bottom: 1px solid var(--border); font-family: var(--font-display); font-size: 16px; font-weight: 500; letter-spacing: -0.018em; color: var(--ink); }
    .drawer__links a::after { content: ''; width: 8px; height: 8px; border-right: 1.5px solid var(--c); border-top: 1.5px solid var(--c); transform: rotate(45deg); }
    .drawer__cta-block { margin-top: 22px; display: flex; flex-direction: column; gap: 12px; }
    .drawer__cta-block .btn { width: 100%; height: 54px; font-size: 15.5px; }
    .drawer__contact { margin-top: auto; padding-top: 24px; display: flex; flex-direction: column; gap: 4px; }
    .drawer__contact-eyebrow { font-family: var(--font-display); font-size: 11px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-deep); }
    .drawer__phone { font-family: var(--font-display); font-size: 22px; font-weight: 700; letter-spacing: -0.022em; color: var(--ink); margin-top: 4px; }

    .progress { position: fixed; top: 0; left: 0; height: 3px; width: 0; background: linear-gradient(90deg, var(--c-deep), var(--c-bright)); z-index: 50; transition: width 90ms linear; }

    /* HERO */
    .hero { background: var(--bg); overflow: hidden; }
    .hero__inner { display: grid; grid-template-columns: 1.04fr 0.96fr; gap: 56px; align-items: center; padding: 70px 0 78px; }
    .hero__text { min-width: 0; }
    .hero__h1 { font-family: var(--font-display); font-size: clamp(30px, 3.7vw, 49px); font-weight: 700; line-height: 1.06; letter-spacing: -0.035em; color: var(--ink); margin: 18px 0 20px; text-wrap: balance; max-width: 19ch; }
    .hero__sub { font-family: var(--font-body); font-size: clamp(15px, 1.25vw, 16.5px); line-height: 1.62; color: var(--ink-soft); margin-bottom: 16px; max-width: 580px; }
    .hero__sub + .hero__sub { margin-bottom: 16px; }
    .hero__actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 26px 0 18px; }
    .hero__micro { display: flex; align-items: center; gap: 8px; font-family: var(--font-body); font-size: 13px; color: var(--ink-mute); }
    .hero__micro svg { color: var(--ok); flex-shrink: 0; }
    @media (max-width: 920px) {
      .hero__inner { grid-template-columns: 1fr; gap: 38px; padding: 38px 0 48px; }
      .hero__h1 { max-width: none; }
      .hero__actions { flex-direction: column; }
      .hero__actions .btn { width: 100%; height: 54px; font-size: 15px; }
    }

    /* coded browser + phone mockup */
    .mock { position: relative; padding-bottom: 10px; }
    .mock__win { background: var(--bg); border: 1px solid var(--border-2); border-radius: 12px; box-shadow: var(--shadow-cuivre-lift); overflow: hidden; }
    .mock__bar { display: flex; align-items: center; gap: 6px; padding: 11px 14px; background: var(--bg-2); border-bottom: 1px solid var(--border); }
    .mock__dot { width: 9px; height: 9px; border-radius: 999px; background: var(--border-2); }
    .mock__url { margin-left: 10px; height: 18px; flex: 1; border-radius: 999px; background: var(--bg-3); }
    .mock__body { padding: 16px 16px 20px; }
    .mock__nav { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
    .mock__logo { width: 84px; height: 13px; border-radius: 4px; background: var(--ink); }
    .mock__links { display: flex; gap: 8px; }
    .mock__links i { width: 30px; height: 8px; border-radius: 3px; background: var(--border-2); display: block; }
    .mock__hero { height: 104px; border-radius: 8px; background: linear-gradient(135deg, var(--dark), var(--dark-3)); margin-bottom: 14px; position: relative; overflow: hidden; }
    .mock__hero::after { content: ''; position: absolute; left: 18px; top: 26px; width: 54%; height: 44px; border-radius: 6px; background: rgba(245,212,179,0.20); }
    .mock__hero::before { content: ''; position: absolute; left: 18px; bottom: 16px; width: 84px; height: 16px; border-radius: 999px; background: var(--c); }
    .mock__row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
    .mock__card { height: 58px; border-radius: 8px; background: var(--bg-2); border: 1px solid var(--border); }
    .mock__phone { position: absolute; right: -10px; bottom: -18px; width: 112px; border-radius: 18px; border: 6px solid var(--dark); background: var(--bg); box-shadow: var(--shadow-cuivre-lift); overflow: hidden; }
    .mock__phone .ph-hero { height: 64px; background: linear-gradient(135deg, var(--c-deep), var(--c)); }
    .mock__phone .ph-l { height: 7px; margin: 9px 10px 0; border-radius: 3px; background: var(--border-2); }
    .mock__phone .ph-l.s { width: 60%; }
    .mock__phone .ph-btn { height: 16px; margin: 11px 10px 12px; border-radius: 5px; background: var(--c); }
    @media (max-width: 920px) { .mock { max-width: 440px; margin: 0 auto; } }

    /* CLIENT LOGO WALL */
    @keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
    .cwall { --lh: 36px; --lw: 124px; background: var(--bg); padding: 40px 0; overflow: hidden; }
    .cwall__label { text-align: center; font-family: var(--font-display); font-size: 11px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--ink-mute); margin: 0 0 22px; }
    .cwall__vp { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
    .cwall__track { display: flex; flex-wrap: nowrap; align-items: center; gap: 52px; width: max-content; animation: marquee 64s linear infinite; }
    .cwall:hover .cwall__track { animation-play-state: paused; }
    .cwall__lg { max-height: var(--lh); max-width: var(--lw); width: auto; height: auto; object-fit: contain; display: block; filter: grayscale(0.45); opacity: 0.82; transition: filter 0.35s var(--ease-out), opacity 0.35s var(--ease-out); }
    .cwall__lg:hover { filter: none; opacity: 1; }
    .cwall__lg.is-sm { max-height: calc(var(--lh) * 0.72); max-width: calc(var(--lw) * 0.72); }
    .cwall__lg.is-stack { max-height: calc(var(--lh) * 1.3); max-width: calc(var(--lw) * 1.34); }
    .cwall__lock { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.02em; height: calc(var(--lh) * 1.3); font-size: calc(var(--lh) * 1.3); filter: grayscale(0.45); opacity: 0.82; transition: filter 0.35s var(--ease-out), opacity 0.35s var(--ease-out); }
    .cwall__lock:hover { filter: none; opacity: 1; }
    .cwall__lock img { display: block; width: auto; height: 0.6em; }
    .cwall__lock b { font-family: 'Quicksand', var(--font-display); font-weight: 700; color: var(--ink); font-size: 0.26em; letter-spacing: -0.01em; line-height: 1; white-space: nowrap; }
    @media (max-width: 720px) { .cwall { --lh: 42px; --lw: 144px; } .cwall__track { gap: 38px; } }
    @media (prefers-reduced-motion: reduce) { .cwall__track { animation: marquee 64s linear infinite !important; } }

    .toc { background: var(--bg-2); border-bottom: 1px solid var(--border); position: sticky; top: 71px; z-index: 30; }
    @media (max-width: 900px) { .toc { top: 61px; } }
    .toc__inner { display: flex; gap: 8px; overflow-x: auto; padding: 13px 0; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
    .toc__inner::-webkit-scrollbar { display: none; }
    .toc a { flex-shrink: 0; font-family: var(--font-body); font-size: 13px; font-weight: 500; color: var(--ink-soft); padding: 8px 14px; border: 1px solid var(--border); border-radius: 999px; background: var(--bg); transition: all 180ms var(--ease-out); white-space: nowrap; }
    .toc a:hover { border-color: var(--c); color: var(--c-deep); }
    .toc a.is-active { border-color: var(--c); color: var(--c-deep); background: var(--c-soft); font-weight: 600; }

    .grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
    .grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
    .card { background: var(--bg); border: 1px solid var(--border); border-radius: var(--card-r); padding: 28px 26px; display: flex; flex-direction: column; gap: 10px; }
    .section--tint .card { background: var(--bg); }
    .card__ico { width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; background: rgba(212,120,60,0.10); color: var(--c-deep); margin-bottom: 4px; }
    .card__ico svg { width: 21px; height: 21px; }
    .card__title { font-family: var(--font-display); font-size: 18px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.22; color: var(--ink); }
    .card__body { font-family: var(--font-body); font-size: 14.5px; line-height: 1.6; color: var(--ink-soft); }
    @media (max-width: 880px) { .grid-3 { grid-template-columns: 1fr 1fr; } }
    @media (max-width: 640px) { .grid-3, .grid-2 { grid-template-columns: 1fr; gap: 16px; } }

    .clist { display: flex; flex-direction: column; gap: 10px; margin-top: 6px; }
    .clist li { display: grid; grid-template-columns: 20px 1fr; gap: 11px; font-family: var(--font-body); font-size: 14.5px; line-height: 1.5; color: var(--ink-soft); }
    .clist svg { color: var(--ok); margin-top: 3px; }
    .xlist { display: flex; flex-direction: column; gap: 10px; margin-top: 6px; }
    .xlist li { display: grid; grid-template-columns: 20px 1fr; gap: 11px; font-family: var(--font-body); font-size: 14.5px; line-height: 1.5; color: var(--ink-soft); }
    .xlist svg { color: var(--ink-mute); margin-top: 3px; }

    /* answer block (AEO) */
    .enbref { max-width: 900px; margin: 0 auto; background: var(--bg); border: 1px solid var(--border); border-left: 4px solid var(--c); border-radius: var(--card-r); padding: 26px 30px; box-shadow: var(--shadow-soft); }
    .enbref__k { font-family: var(--font-display); font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-deep); margin-bottom: 10px; }
    .enbref p { font-family: var(--font-body); font-size: 16px; line-height: 1.68; color: var(--ink-soft); }
    .enbref p strong { color: var(--ink); font-weight: 600; }

    /* vertical feature list */
    .flist { display: flex; flex-direction: column; gap: 14px; max-width: 940px; margin: 0 auto; }
    .flist__row { display: grid; grid-template-columns: 46px 1fr; gap: 18px; background: var(--bg); border: 1px solid var(--border); border-radius: var(--card-r); padding: 20px 24px; }
    .section--tint .flist__row { background: var(--bg); }
    .flist__ico { width: 46px; height: 46px; border-radius: 11px; background: rgba(212,120,60,0.10); color: var(--c-deep); display: inline-flex; align-items: center; justify-content: center; }
    .flist__ico svg { width: 22px; height: 22px; }
    .flist__t { font-family: var(--font-display); font-size: 16.5px; font-weight: 700; letter-spacing: -0.018em; color: var(--ink); }
    .flist__d { font-family: var(--font-body); font-size: 14px; line-height: 1.6; color: var(--ink-soft); margin-top: 4px; }
    @media (max-width: 520px) { .flist__row { grid-template-columns: 1fr; gap: 10px; } }

    /* sector chips */
    .chips { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
    .chip { display: inline-flex; align-items: center; gap: 9px; font-family: var(--font-display); font-size: 14px; font-weight: 600; letter-spacing: -0.01em; color: var(--ink); padding: 12px 18px; border: 1px solid var(--border-2); border-radius: 999px; background: var(--bg); }
    .chip svg { color: var(--c-deep); }

    /* taxo (inclus / sur devis) */
    .taxo { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: 1px solid var(--border); border-radius: var(--card-r); overflow: hidden; }
    .taxo__col { padding: 28px 30px; }
    .taxo__col--in { background: var(--bg); }
    .taxo__col--out { background: var(--bg-2); border-left: 1px solid var(--border); }
    .taxo__h { font-family: var(--font-display); font-size: 15px; font-weight: 700; letter-spacing: -0.01em; color: var(--ink); display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
    .taxo__h .dot { width: 9px; height: 9px; border-radius: 999px; flex-shrink: 0; }
    .taxo__h .dot--in { background: var(--ok); }
    .taxo__h .dot--out { background: var(--ink-mute); }
    .taxo li { position: relative; padding-left: 20px; font-family: var(--font-body); font-size: 14px; line-height: 1.5; color: var(--ink-soft); margin-bottom: 9px; }
    .taxo li::before { content: ''; position: absolute; left: 0; top: 9px; width: 10px; height: 1px; background: var(--c); }
    @media (max-width: 640px) { .taxo { grid-template-columns: 1fr; } .taxo__col--out { border-left: 0; border-top: 1px solid var(--border); } }

    /* 2-col compare */
    .vs { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
    .vs__col { border-radius: 14px; padding: 28px 30px; background: var(--bg); border: 1px solid var(--border); }
    .vs__h { font-family: var(--font-display); font-size: 19px; font-weight: 700; letter-spacing: -0.02em; color: var(--ink); }
    .vs__sub { font-family: var(--font-body); font-size: 13px; color: var(--ink-mute); margin: 4px 0 16px; }
    .vs__row { display: grid; grid-template-columns: 18px 1fr; gap: 10px; padding: 9px 0; font-family: var(--font-body); font-size: 14px; line-height: 1.5; color: var(--ink-soft); border-top: 1px solid var(--border); }
    .vs__row:first-of-type { border-top: 0; }
    .vs__row svg { margin-top: 3px; color: var(--c-deep); }
    @media (max-width: 720px) { .vs { grid-template-columns: 1fr; } }

    /* table */
    .table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--border); border-radius: var(--card-r); background: var(--bg); }
    table.t { width: 100%; border-collapse: collapse; min-width: 560px; font-family: var(--font-body); }
    table.t caption { caption-side: bottom; text-align: left; padding: 14px 2px 0; font-size: 13px; color: var(--ink-mute); font-style: italic; }
    table.t th, table.t td { text-align: left; padding: 14px 18px; border-bottom: 1px solid var(--border); vertical-align: top; font-size: 14px; line-height: 1.5; color: var(--ink-soft); }
    table.t thead th { font-family: var(--font-display); font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--c-deep); background: var(--bg-2); }
    table.t thead th.col-us { background: var(--c-deep); color: #fff; }
    table.t td.col-us { background: rgba(212,120,60,0.07); color: var(--ink); font-weight: 600; }
    table.t tbody tr:last-child td { border-bottom: 0; }
    table.t .tname { font-family: var(--font-display); font-weight: 700; color: var(--ink); }
    @media (max-width: 680px) {
      .rtable { border: 0; background: transparent; overflow: visible; }
      .rtable table.t { min-width: 0; }
      .rtable thead { position: absolute; left: -9999px; }
      .rtable tbody tr { display: block; border: 1px solid var(--border); border-radius: var(--card-r); background: var(--bg); margin-bottom: 14px; padding: 6px 16px; }
      .rtable tbody td, .rtable tbody th { display: flex; justify-content: space-between; gap: 16px; text-align: right; padding: 10px 0; border-bottom: 1px solid var(--border); }
      .rtable tbody tr td:last-child { border-bottom: 0; }
      .rtable tbody td::before { content: attr(data-label); text-align: left; font-family: var(--font-display); font-size: 11px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--c-deep); flex-shrink: 0; }
      .rtable tbody th.tname { justify-content: flex-start; font-size: 15px; padding-top: 14px; }
    }

    /* tech recommendation band */
    .reco { display: flex; align-items: flex-start; gap: 18px; background: var(--dark); color: var(--on-d); border-radius: 14px; padding: 28px 32px; margin-top: 22px; }
    .reco__ico { width: 42px; height: 42px; border-radius: 11px; background: rgba(245,212,179,0.16); color: var(--c-bright); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
    .reco__k { font-family: var(--font-display); font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-soft); margin-bottom: 6px; }
    .reco p { font-family: var(--font-body); font-size: 14.5px; line-height: 1.62; color: var(--on-d-soft); }
    .reco p strong { color: var(--on-d); font-weight: 600; }

    /* offer price band */
    .priceband { display: flex; align-items: center; justify-content: space-between; gap: 24px; background: var(--dark); color: var(--on-d); border-radius: 14px; padding: 28px 34px; margin-top: 28px; flex-wrap: wrap; }
    .priceband__l .k { font-family: var(--font-display); font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-soft); }
    .priceband__l .v { font-family: var(--font-display); font-size: 34px; font-weight: 800; letter-spacing: -0.03em; color: var(--c-bright); margin-top: 4px; }
    .priceband__l .v small { font-size: 15px; font-weight: 600; color: var(--on-d-soft); margin-left: 4px; }
    .priceband__l .note { font-family: var(--font-body); font-size: 12.5px; color: var(--on-d-mute); margin-top: 6px; max-width: 460px; }

    /* process steps */
    .steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
    .step { background: var(--bg); border: 1px solid var(--border); border-radius: var(--card-r); padding: 24px 22px; }
    .section--tint .step { background: var(--bg); }
    .step__n { width: 34px; height: 34px; border-radius: 999px; background: var(--dark); color: var(--c-bright); font-family: var(--font-display); font-weight: 800; font-size: 15px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 12px; }
    .step__t { font-family: var(--font-display); font-size: 16px; font-weight: 700; letter-spacing: -0.018em; color: var(--ink); }
    .step__d { font-family: var(--font-body); font-size: 13.5px; line-height: 1.55; color: var(--ink-soft); margin-top: 6px; }
    @media (max-width: 860px) { .steps { grid-template-columns: 1fr 1fr; } }
    @media (max-width: 520px) { .steps { grid-template-columns: 1fr; } }

    /* portfolio */
    .pgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
    .pcard { display: flex; flex-direction: column; background: var(--bg); border: 1px solid var(--border); border-radius: 12px; overflow: hidden; box-shadow: var(--shadow-soft); transition: transform 0.24s var(--ease-out), box-shadow 0.24s var(--ease-out); }
    .pcard:hover { transform: translateY(-4px); box-shadow: var(--shadow-cuivre-lift); }
    .pcard__img { aspect-ratio: 16 / 10; overflow: hidden; background: var(--bg-2); border-bottom: 1px solid var(--border); }
    .pcard__img img { width: 100%; height: 100%; object-fit: cover; }
    .pcard__body { padding: 18px 20px; display: flex; flex-direction: column; gap: 5px; }
    .pcard__sec { font-family: var(--font-display); font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-deep); }
    .pcard__t { font-family: var(--font-display); font-size: 16.5px; font-weight: 700; letter-spacing: -0.018em; color: var(--ink); }
    .pcard__d { font-family: var(--font-body); font-size: 13.5px; line-height: 1.5; color: var(--ink-soft); }
    .pcard__cta { margin-top: 6px; font-family: var(--font-display); font-size: 12.5px; font-weight: 700; color: var(--c-deep); display: inline-flex; align-items: center; gap: 6px; }
    .pcard--cta { background: var(--dark); color: var(--on-d); align-items: flex-start; justify-content: center; padding: 28px; gap: 12px; }
    .pcard--cta .pcard__t { color: var(--on-d); }
    .pcard--cta .pcard__d { color: var(--on-d-soft); }
    @media (max-width: 900px) { .pgrid { grid-template-columns: 1fr 1fr; } }
    @media (max-width: 560px) { .pgrid { grid-template-columns: 1fr; } }

    .midcta { background: var(--bg); border: 1px solid var(--border); border-left: 3px solid var(--c); border-radius: var(--card-r); padding: 26px 32px; display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 1000px; margin: 44px auto 0; box-shadow: var(--shadow-soft); }
    .section--dark .midcta { background: var(--dark-2); border-color: var(--dark-3); border-left-color: var(--c); }
    .midcta__t { font-family: var(--font-display); font-size: clamp(17px, 2vw, 21px); font-weight: 700; letter-spacing: -0.02em; color: var(--ink); }
    .section--dark .midcta__t { color: var(--on-d); }
    .midcta .btn { flex-shrink: 0; }
    @media (max-width: 720px) { .midcta { flex-direction: column; align-items: stretch; text-align: center; } .midcta .btn { width: 100%; } }

    .faq__list { max-width: 880px; margin: 0 auto; border-top: 1px solid var(--border); }
    .faq-item { border-bottom: 1px solid var(--border); }
    .faq-item summary { list-style: none; cursor: pointer; padding: 23px 0; display: flex; align-items: center; justify-content: space-between; gap: 24px; font-family: var(--font-display); font-size: 16.5px; font-weight: 600; letter-spacing: -0.018em; color: var(--ink); }
    .faq-item summary::-webkit-details-marker { display: none; }
    .faq-item summary::after { content: ''; width: 13px; height: 13px; border-right: 1.5px solid var(--c); border-bottom: 1.5px solid var(--c); transform: rotate(45deg); transition: transform 280ms var(--ease-out); flex-shrink: 0; }
    .faq-item[open] summary::after { transform: rotate(-135deg); }
    .faq-item__body { padding: 0 30px 24px 0; font-family: var(--font-body); font-size: 15px; line-height: 1.64; color: var(--ink-soft); }

    .cta-final { position: relative; background: var(--dark); color: var(--on-d); overflow: hidden; padding: 108px 0; }
    .cta-final::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 60% 80% at 50% 50%, rgba(212,120,60,0.22) 0%, transparent 65%); pointer-events: none; }
    .cta-final__inner { position: relative; z-index: 1; text-align: center; max-width: 740px; margin: 0 auto; padding: 0 32px; }
    .cta-final__h2 { font-family: var(--font-display); font-size: clamp(30px, 4vw, 48px); font-weight: 700; line-height: 1.08; letter-spacing: -0.035em; color: var(--on-d); margin: 20px 0 18px; text-wrap: balance; }
    .cta-final__sub { font-family: var(--font-body); font-size: 16.5px; line-height: 1.6; color: var(--on-d-soft); margin-bottom: 30px; max-width: 580px; margin-left: auto; margin-right: auto; }
    .cta-final__actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
    .cta-final__actions .btn { min-width: 240px; }
    @media (max-width: 540px) { .cta-final__actions .btn { width: 100%; min-width: 0; } }

    .footer { background: var(--dark-2); color: var(--on-d-soft); padding: 66px 0 26px; border-top: 1px solid var(--border-d); }
    .footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 48px; margin-bottom: 48px; }
    .footer__brand { display: flex; align-items: center; gap: 14px; color: var(--on-d); margin-bottom: 16px; }
    .footer__brand svg { width: 52px; height: 52px; color: var(--on-d); }
    .footer__brand span { font-family: var(--font-display); font-size: 18px; font-weight: 700; letter-spacing: -0.022em; }
    .footer__manifesto { font-family: var(--font-body); font-size: 14px; line-height: 1.55; color: var(--on-d-soft); max-width: 360px; margin-bottom: 20px; }
    .footer__addr { font-family: var(--font-body); font-size: 13px; line-height: 1.5; color: var(--on-d-soft); padding-top: 14px; border-top: 1px solid var(--border-d); }
    .footer__addr span { font-family: var(--font-display); font-size: 10px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-soft); display: block; margin-bottom: 6px; }
    .footer__col-label { font-family: var(--font-display); font-size: 11px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-soft); margin-bottom: 18px; }
    .footer__col ul { display: flex; flex-direction: column; gap: 11px; font-family: var(--font-body); font-size: 14px; color: var(--on-d-soft); }
    .footer__col a:hover { color: var(--on-d); }
    .footer__phone { font-family: var(--font-display); font-size: 17px; font-weight: 700; letter-spacing: -0.022em; color: var(--on-d); display: block; }
    .footer__bottom { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-top: 22px; border-top: 1px solid var(--border-d); font-family: var(--font-body); font-size: 12.5px; color: var(--on-d-mute); flex-wrap: wrap; }
    @media (max-width: 760px) { .footer__grid { grid-template-columns: 1fr 1fr; gap: 32px; } }
    @media (max-width: 520px) { .footer__grid { grid-template-columns: 1fr; } }

    .fab { position: fixed; bottom: 22px; right: 22px; z-index: 60; width: 56px; height: 56px; background: #25D366; color: white; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 4px 16px rgba(37,211,102,0.32); transition: transform 220ms var(--ease-out); }
    .fab:hover { transform: translateY(-2px); }

    .reveal { opacity: 0; transform: translateY(18px); transition: opacity 620ms var(--ease-out), transform 620ms var(--ease-out); }
    .reveal.in { opacity: 1; transform: none; }
    @media (prefers-reduced-motion: reduce) { *, .cwall__track { animation: none; scroll-behavior: auto !important; transition: none !important; } .cwall__track { animation: marquee 64s linear infinite !important; } .reveal { opacity: 1; transform: none; } }

    /* wide comparison table (8 cols) keeps a desktop min-width, still stacks on mobile via .rtable */
    @media (min-width: 681px) { table.t.t--wide { min-width: 920px; } }

    /* vertical process timeline (count-safe, no orphan rows) */
    .tl { max-width: 880px; margin: 0 auto; }
    .tl__row { display: grid; grid-template-columns: 48px 1fr; gap: 20px; position: relative; padding-bottom: 26px; }
    .tl__row:not(:last-child)::before { content: ''; position: absolute; left: 23px; top: 52px; bottom: -2px; width: 2px; background: var(--border-2); }
    .tl__n { width: 48px; height: 48px; border-radius: 999px; background: var(--dark); color: var(--c-bright); font-family: var(--font-display); font-weight: 800; font-size: 17px; display: inline-flex; align-items: center; justify-content: center; z-index: 1; }
    .tl__t { font-family: var(--font-display); font-size: 17px; font-weight: 700; letter-spacing: -0.018em; color: var(--ink); margin-top: 12px; }
    .tl__d { font-family: var(--font-body); font-size: 14px; line-height: 1.62; color: var(--ink-soft); margin-top: 5px; }

    /* payment provider note */
    .pnote { max-width: 940px; margin: 22px auto 0; font-family: var(--font-body); font-size: 13px; line-height: 1.6; color: var(--ink-mute); font-style: italic; text-align: center; }

    /* hero device image */
    .heroimg { position: relative; }
    .heroimg img { width: 100%; height: auto; display: block; filter: drop-shadow(0 24px 44px rgba(10,12,14,0.16)) drop-shadow(0 6px 14px rgba(163,90,48,0.12)); }

    /* in-section device visual */
    .secimg { max-width: 760px; margin: 0 auto 36px; }
    .secimg img { width: 100%; height: auto; display: block; border-radius: 12px; filter: drop-shadow(0 16px 32px rgba(10,12,14,0.13)) drop-shadow(0 4px 10px rgba(163,90,48,0.10)); }

    /* sub-heading inside a merged section */
    .subhead { font-family: var(--font-display); font-size: 19px; font-weight: 700; letter-spacing: -0.018em; color: var(--ink); margin: 40px 0 18px; display: flex; align-items: center; gap: 12px; }
    .subhead::before { content: ''; width: 22px; height: 2px; background: var(--c); border-radius: 2px; flex-shrink: 0; }
    .subhead:first-of-type { margin-top: 8px; }
  
    /* ===== platform pages — shared hero + backbone modules (brand palette only) ===== */
    .pp-hero{ background:radial-gradient(120% 130% at 88% -10%, var(--c-soft) 0%, rgba(245,212,179,0) 42%), linear-gradient(180deg,var(--bg),var(--bg-2)); overflow:hidden; border-bottom:1px solid var(--border); }
    .pp-hero__in{ display:grid; grid-template-columns:1.05fr .95fr; gap:54px; align-items:center; padding:62px 0 70px; }
    .pp-chip{ display:inline-flex; align-items:center; gap:9px; font-family:var(--font-display); font-size:11.5px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--c-deep); background:rgba(212,120,60,.08); border:1px solid var(--border-2); padding:7px 13px; border-radius:999px; }
    .pp-chip .d{ width:7px; height:7px; border-radius:50%; background:var(--c); box-shadow:0 0 0 3px rgba(212,120,60,.16); }
    .pp-hero h1{ font-family:var(--font-display); font-size:clamp(31px,3.7vw,49px); font-weight:700; line-height:1.05; letter-spacing:-.035em; color:var(--ink); margin:18px 0 16px; max-width:17ch; text-wrap:balance; }
    .pp-hero h1 em{ font-style:normal; color:var(--c-deep); }
    .pp-hero__sub{ font-size:clamp(15px,1.25vw,16.5px); line-height:1.62; color:var(--ink-soft); max-width:540px; margin-bottom:22px; }
    .pp-cta{ display:flex; gap:12px; flex-wrap:wrap; margin-bottom:20px; }
    .pp-trust{ display:flex; flex-wrap:wrap; gap:8px 18px; }
    .pp-trust span{ display:inline-flex; align-items:center; gap:7px; font-size:12.5px; color:var(--ink-mute); }
    .pp-trust svg{ color:var(--ok); flex-shrink:0; }
    @media(max-width:920px){ .pp-hero__in{ grid-template-columns:1fr; gap:30px; padding:34px 0 42px; } .pp-cta .btn{ flex:1; } .pp-hero h1{ max-width:none; } }

    /* coded "window" hero visuals */
    .ppv{ border-radius:16px; overflow:hidden; border:1px solid var(--border-2); background:var(--bg); box-shadow:var(--shadow-cuivre-lift); }
    .ppv__top{ display:flex; align-items:center; gap:7px; padding:11px 15px; background:var(--dark); }
    .ppv__top .dot{ width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,.22); }
    .ppv__top .t{ margin-left:9px; color:var(--on-d); font-family:var(--font-display); font-size:12px; font-weight:700; }
    .ppv__top .pill{ margin-left:auto; font-size:10px; font-weight:700; color:var(--c-soft); background:rgba(212,120,60,.20); border:1px solid rgba(245,212,179,.30); padding:3px 9px; border-radius:999px; }
    @media(max-width:920px){ .ppv{ max-width:440px; margin:0 auto; } }
    .dash__body{ display:grid; grid-template-columns:56px 1fr; min-height:300px; }
    .dash__side{ background:var(--bg-2); border-right:1px solid var(--border); padding:13px 0; display:flex; flex-direction:column; gap:12px; align-items:center; }
    .dash__side i{ width:28px; height:28px; border-radius:8px; background:var(--bg-3); display:block; } .dash__side i.on{ background:var(--c); box-shadow:0 4px 10px rgba(163,90,48,.30); }
    .dash__main{ padding:16px 18px; }
    .dash__stats{ display:grid; grid-template-columns:1fr 1fr; gap:11px; margin-bottom:12px; }
    .dash__stat{ background:var(--bg-2); border:1px solid var(--border); border-radius:10px; padding:11px 13px; }
    .dash__stat .k{ font-family:var(--font-display); font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-mute); } .dash__stat .v{ font-family:var(--font-display); font-size:20px; font-weight:800; letter-spacing:-.02em; color:var(--ink); margin-top:3px; } .dash__stat .v small{ font-size:11.5px; color:var(--c-deep); font-weight:700; margin-left:3px; }
    .dash__chart{ background:var(--bg-2); border:1px solid var(--border); border-radius:10px; padding:11px 13px; margin-bottom:12px; } .dash__chart .k{ font-family:var(--font-display); font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:7px; } .dash__chart svg{ width:100%; height:42px; display:block; }
    .dash__row{ display:flex; align-items:center; gap:10px; padding:8px 0; border-top:1px solid var(--border); } .dash__av{ width:22px; height:22px; border-radius:6px; background:var(--bg-3); flex-shrink:0; } .dash__ln{ flex:1; } .dash__ln b{ display:block; height:7px; width:60%; border-radius:3px; background:var(--border-2); } .dash__ln span{ display:block; height:6px; width:38%; border-radius:3px; background:var(--bg-3); margin-top:5px; } .dash__tag{ font-size:9px; font-weight:700; color:var(--c-deep); background:var(--c-soft); padding:3px 8px; border-radius:999px; flex-shrink:0; }
    .lyr{ padding:20px; display:flex; flex-direction:column; gap:11px; min-height:300px; justify-content:center; }
    .lyr__row{ display:flex; align-items:center; gap:13px; background:var(--bg-2); border:1px solid var(--border); border-radius:11px; padding:14px 16px; } .lyr__ic{ width:38px; height:38px; border-radius:9px; background:rgba(212,120,60,.10); color:var(--c-deep); display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; } .lyr__t{ font-family:var(--font-display); font-size:14px; font-weight:700; color:var(--ink); } .lyr__d{ font-family:var(--font-body); font-size:11.5px; color:var(--ink-mute); margin-top:1px; } .lyr__plus{ text-align:center; color:var(--c); font-weight:800; font-size:14px; line-height:.4; }
    .lyr__sum{ display:flex; align-items:center; gap:13px; background:var(--dark); border-radius:11px; padding:14px 16px; } .lyr__sum .lyr__ic{ background:rgba(245,212,179,.16); color:var(--c-bright); } .lyr__sum .lyr__t{ color:var(--on-d); } .lyr__sum .lyr__d{ color:var(--on-d-soft); }
    .cat{ padding:18px; min-height:300px; } .cat__bar{ display:flex; gap:7px; margin-bottom:13px; flex-wrap:wrap; } .cat__chip{ font-family:var(--font-display); font-size:10.5px; font-weight:700; padding:5px 11px; border-radius:999px; background:var(--bg-2); border:1px solid var(--border); color:var(--ink-soft); } .cat__chip.on{ background:var(--c); color:#fff; border-color:var(--c); }
    .cat__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; } .cat__card{ border:1px solid var(--border); border-radius:9px; overflow:hidden; background:var(--bg-2); } .cat__img{ height:54px; background:linear-gradient(135deg,var(--bg-3),var(--bg-2)); position:relative; } .cat__img::after{ content:''; position:absolute; left:9px; bottom:9px; width:30px; height:8px; border-radius:999px; background:var(--c); opacity:.5; } .cat__meta{ padding:8px 10px; } .cat__meta b{ display:block; height:6px; width:70%; border-radius:3px; background:var(--border-2); } .cat__meta span{ display:block; height:9px; width:40%; border-radius:3px; background:var(--c-soft); margin-top:6px; } .cat__var{ display:flex; gap:5px; margin-top:7px; } .cat__var i{ width:13px; height:13px; border-radius:50%; border:1px solid var(--border-2); display:block; } .cat__var i:nth-child(1){ background:var(--c); } .cat__var i:nth-child(2){ background:var(--dark-3); } .cat__var i:nth-child(3){ background:var(--c-soft); }

    /* long-form prose (deep keyword intro) */
    .prose{ max-width:768px; margin:0 auto; }
    .prose p{ font-family:var(--font-body); font-size:16px; line-height:1.78; color:var(--ink-soft); margin:0 0 1.05em; }
    .prose p:last-child{ margin-bottom:0; }
    .prose strong{ color:var(--ink); font-weight:600; }

    /* value cards (vgrid) — used on Woo + Presta only */
    .vgrid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
    .vcard{ background:var(--bg); border:1px solid var(--border); border-radius:14px; padding:26px 26px; box-shadow:var(--shadow-soft); }
    .vcard__ic{ width:48px; height:48px; border-radius:12px; background:rgba(212,120,60,.10); color:var(--c-deep); display:inline-flex; align-items:center; justify-content:center; margin-bottom:15px; }
    .vcard__t{ font-family:var(--font-display); font-size:18.5px; font-weight:700; letter-spacing:-.02em; color:var(--ink); line-height:1.2; }
    .vcard__d{ font-family:var(--font-body); font-size:14.5px; line-height:1.62; color:var(--ink-soft); margin-top:9px; }
    @media(max-width:680px){ .vgrid{ grid-template-columns:1fr; gap:14px; } }

    /* outcome cards (out) — "ce qu'on construit", all 3 */
    .out{ display:grid; grid-template-columns:1fr 1fr; gap:14px 26px; max-width:980px; margin:0 auto; }
    .out__c{ display:flex; gap:13px; align-items:flex-start; background:var(--bg); border:1px solid var(--border); border-radius:12px; padding:18px 20px; }
    .out__ic{ width:38px; height:38px; border-radius:9px; background:rgba(212,120,60,.10); color:var(--c-deep); display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
    .out__t{ font-family:var(--font-display); font-size:14.5px; font-weight:700; color:var(--ink); } .out__d{ font-family:var(--font-body); font-size:13px; line-height:1.55; color:var(--ink-soft); margin-top:3px; }
    @media(max-width:680px){ .out{ grid-template-columns:1fr; } }

    /* feature matrix (feat) — Presta native capabilities only */
    .feat{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
    .feat__c{ display:grid; grid-template-columns:24px 1fr; gap:12px; background:var(--bg); border:1px solid var(--border); border-radius:11px; padding:16px 18px; align-items:start; }
    .feat__c svg{ color:var(--c-deep); margin-top:2px; } .feat__t{ font-family:var(--font-display); font-size:14px; font-weight:700; color:var(--ink); } .feat__d{ font-family:var(--font-body); font-size:12.5px; line-height:1.5; color:var(--ink-soft); margin-top:2px; }
    @media(max-width:640px){ .feat{ grid-template-columns:1fr; } }

    /* internal links */
    .ilinks{ display:grid; grid-template-columns:repeat(2,1fr); gap:13px; max-width:860px; margin:0 auto; }
    .ilink{ display:flex; align-items:center; justify-content:space-between; gap:14px; background:var(--bg); border:1px solid var(--border); border-radius:12px; padding:17px 20px; text-decoration:none; transition:border-color .15s, transform .15s; box-shadow:var(--shadow-soft); }
    .ilink:hover{ border-color:var(--c); transform:translateY(-2px); }
    .ilink__t{ font-family:var(--font-display); font-size:14.5px; font-weight:700; color:var(--ink); line-height:1.25; }
    .ilink svg{ color:var(--c-deep); flex-shrink:0; }
    @media(max-width:680px){ .ilinks{ grid-template-columns:1fr; } }

    /* ===== SHOPIFY signatures ===== */
    .qbar{ display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--border-2); border-radius:14px; overflow:hidden; background:var(--bg); box-shadow:var(--shadow-soft); max-width:980px; margin:0 auto; }
    .qbar__c{ display:flex; gap:14px; align-items:center; padding:22px 24px; border-right:1px solid var(--border); }
    .qbar__c:last-child{ border-right:none; }
    .qbar__ic{ width:44px; height:44px; border-radius:12px; background:rgba(212,120,60,.10); color:var(--c-deep); display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
    .qbar__t{ font-family:var(--font-display); font-size:15px; font-weight:700; color:var(--ink); line-height:1.15; }
    .qbar__d{ font-size:12.5px; color:var(--ink-mute); margin-top:2px; }
    @media(max-width:760px){ .qbar{ grid-template-columns:1fr; max-width:440px; } .qbar__c{ border-right:none; border-bottom:1px solid var(--border); } .qbar__c:last-child{ border-bottom:none; } }
    .ba{ display:grid; grid-template-columns:1fr auto 1fr; gap:20px; align-items:stretch; max-width:1000px; margin:0 auto; }
    .ba__col{ border-radius:16px; padding:28px 28px; border:1px solid var(--border); }
    .ba__col--now{ background:var(--bg-2); } .ba__col--new{ background:var(--dark); border-color:var(--dark); }
    .ba__lbl{ font-family:var(--font-display); font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; margin-bottom:13px; }
    .ba__col--now .ba__lbl{ color:var(--ink-mute); } .ba__col--new .ba__lbl{ color:var(--c-bright); }
    .ba__col h3{ font-family:var(--font-display); font-size:19px; font-weight:700; letter-spacing:-.02em; line-height:1.22; margin-bottom:14px; }
    .ba__col--now h3{ color:var(--ink-soft); } .ba__col--new h3{ color:var(--on-d); }
    .ba__li{ display:flex; gap:11px; align-items:flex-start; padding:8px 0; font-size:13.5px; line-height:1.5; }
    .ba__col--now .ba__li{ color:var(--ink-soft); } .ba__col--new .ba__li{ color:var(--on-d-soft); }
    .ba__ic{ flex-shrink:0; margin-top:1px; } .ba__col--now .ba__ic{ color:var(--ink-mute); } .ba__col--new .ba__ic{ color:var(--c-bright); }
    .ba__arrow{ display:flex; align-items:center; justify-content:center; color:var(--c); }
    @media(max-width:760px){ .ba{ grid-template-columns:1fr; gap:14px; } .ba__arrow{ transform:rotate(90deg); } }
    .who{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
    .who__c{ background:var(--bg); border:1px solid var(--border); border-top:3px solid var(--c); border-radius:14px; padding:26px 24px; box-shadow:var(--shadow-soft); }
    .who__ic{ width:46px; height:46px; border-radius:12px; background:rgba(212,120,60,.10); color:var(--c-deep); display:inline-flex; align-items:center; justify-content:center; margin-bottom:14px; }
    .who__t{ font-family:var(--font-display); font-size:16.5px; font-weight:700; letter-spacing:-.01em; color:var(--ink); line-height:1.2; }
    .who__d{ font-family:var(--font-body); font-size:13.5px; line-height:1.55; color:var(--ink-soft); margin-top:8px; }
    @media(max-width:820px){ .who{ grid-template-columns:1fr; } }

    /* ===== WOOCOMMERCE signatures ===== */
    .own{ background:var(--dark); border-radius:18px; padding:40px 42px; max-width:1000px; margin:0 auto; }
    .own__t{ font-family:var(--font-display); font-size:clamp(22px,2.4vw,28px); font-weight:700; letter-spacing:-.025em; color:var(--on-d); line-height:1.15; }
    .own__d{ font-family:var(--font-body); font-size:14.5px; line-height:1.6; color:var(--on-d-soft); margin-top:10px; max-width:640px; }
    .own__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:15px 28px; margin-top:26px; padding-top:24px; border-top:1px solid rgba(252,251,247,.12); }
    .own__li{ display:flex; gap:11px; align-items:center; color:var(--on-d); font-family:var(--font-display); font-weight:600; font-size:14.5px; }
    .own__li svg{ color:var(--c-bright); flex-shrink:0; }
    @media(max-width:820px){ .own{ padding:30px 26px; } .own__grid{ grid-template-columns:1fr 1fr; } }
    @media(max-width:520px){ .own__grid{ grid-template-columns:1fr; } }
    .eng{ display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:14px; align-items:center; max-width:1000px; margin:0 auto; }
    .eng__c{ background:var(--bg); border:1px solid var(--border); border-radius:14px; padding:26px 22px; text-align:center; box-shadow:var(--shadow-soft); position:relative; }
    .eng__n{ position:absolute; top:13px; right:16px; font-family:var(--font-display); font-size:13px; font-weight:800; color:var(--c-soft); }
    .eng__ic{ width:50px; height:50px; border-radius:13px; background:rgba(212,120,60,.10); color:var(--c-deep); display:inline-flex; align-items:center; justify-content:center; margin-bottom:13px; }
    .eng__t{ font-family:var(--font-display); font-size:16px; font-weight:700; color:var(--ink); line-height:1.2; }
    .eng__d{ font-family:var(--font-body); font-size:13px; line-height:1.55; color:var(--ink-soft); margin-top:7px; }
    .eng__ar{ display:flex; align-items:center; justify-content:center; color:var(--c); }
    @media(max-width:820px){ .eng{ grid-template-columns:1fr; } .eng__ar{ transform:rotate(90deg); margin:0 auto; } }

    /* ===== PRESTASHOP signatures ===== */
    .use{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
    .use__c{ background:var(--bg); border:1px solid var(--border); border-left:3px solid var(--c); border-radius:12px; padding:24px 22px; box-shadow:var(--shadow-soft); }
    .use__t{ font-family:var(--font-display); font-size:16.5px; font-weight:700; letter-spacing:-.01em; color:var(--ink); line-height:1.2; }
    .use__d{ font-family:var(--font-body); font-size:13.5px; line-height:1.55; color:var(--ink-soft); margin-top:8px; }
    .use__tags{ display:flex; flex-wrap:wrap; gap:6px; margin-top:13px; }
    .use__tag{ font-family:var(--font-display); font-size:10.5px; font-weight:700; color:var(--c-deep); background:var(--c-soft); padding:4px 10px; border-radius:999px; }
    @media(max-width:820px){ .use{ grid-template-columns:1fr; } }
    .scale{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; max-width:1000px; margin:0 auto; }
    .scale__c{ text-align:center; padding:6px; }
    .scale__ic{ width:54px; height:54px; border-radius:15px; background:rgba(212,120,60,.10); color:var(--c-deep); display:inline-flex; align-items:center; justify-content:center; margin-bottom:14px; }
    .scale__t{ font-family:var(--font-display); font-size:15.5px; font-weight:700; color:var(--ink); line-height:1.2; }
    .scale__d{ font-family:var(--font-body); font-size:12.5px; line-height:1.5; color:var(--ink-soft); margin-top:7px; }
    @media(max-width:820px){ .scale{ grid-template-columns:1fr 1fr; gap:24px 18px; } }
    @media(max-width:460px){ .scale{ grid-template-columns:1fr; } }

    /* mobile fix: long priceband CTA */
    @media(max-width:720px){ .priceband{ flex-direction:column; align-items:stretch; gap:18px; } .priceband .btn{ width:100%; white-space:normal; height:auto; min-height:54px; padding:14px 20px; line-height:1.3; } }

  