:root {
      --primary:#5936f6;
      --secondary:#0e0e52;
      --bg:#ecf0f1;
      --max-width-content:1600px;
      --margin-mobile:10px;
      --margin-tablet:14px;
      --margin-desktop:18px;
      --margin-large:20px;
      --container-x:var(--margin-mobile);
    }
    body { margin:0; font-family:Arial,sans-serif; background:linear-gradient(180deg,#f4f7ff 0%,#eef3f8 100%); color:#111827; padding-top:92px; }
    .wrap p + p { margin-top:14px; }
    .why-item p + p,
    .process-item p + p,
    .collectivites-item p + p,
    .compliance-card p + p { margin-top:8px; }
    button,
    .btn,
    a,
    input[type="range"] {
      touch-action:manipulation;
    }
    .wrap {
      max-width:var(--max-width-content);
      margin:0 auto;
      padding:10px var(--container-x) 12px;
      box-sizing:border-box;
    }
    .sr-header {
      position:fixed;
      top:0;
      left:0;
      right:0;
      z-index:50;
      height:88px;
      background:#ffffff;
      border-bottom:1px solid #e5e7eb;
      box-shadow:0 4px 18px rgba(14,14,82,.08);
    }
    .sr-header-inner {
      max-width:var(--max-width-content);
      height:100%;
      margin:0 auto;
      padding:0 var(--container-x);
      display:grid;
      grid-template-columns:1fr auto 1fr;
      align-items:center;
      gap:12px;
      box-sizing:border-box;
    }
    .sr-logo-wrap { display:flex; align-items:center; text-decoration:none; justify-self:start; }
    .sr-logo { width:210px; height:58px; border-radius:0; object-fit:contain; }
    .sr-header-center {
      display:flex;
      align-items:center;
      justify-content:center;
      gap:18px;
      width:100%;
    }
    .sr-header-right {
      display:flex;
      align-items:center;
      justify-content:flex-end;
      gap:10px;
      justify-self:end;
    }
    .sr-header-center a {
      color:#0e0e52;
      text-decoration:none;
      font-weight:700;
      font-size:16px;
      padding:10px 12px;
      border-radius:8px;
      min-width:auto;
      text-align:center;
      white-space:nowrap;
    }
    .sr-tool-link { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:0 12px; border-radius:999px; background:#5936f6; color:#fff; font-size:16px; font-weight:800; }
    .sr-header-center .sr-tool-link { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:0 12px; border-radius:999px; background:#5936f6; color:#fff; font-size:16px; font-weight:800; }
    .sr-header-center .sr-tool-link:hover { background:#4b2ee0; color:#fff; }
    .sr-external-link {
      display:inline-flex;
      align-items:center;
      gap:8px;
      background:transparent;
      color:#5936f6;
      border:none;
      border-radius:10px;
      margin-left:10px;
      white-space:nowrap;
      font-size:16px;
    }
    .sr-external-link img {
      width:36px;
      height:36px;
      object-fit:contain;
    }
    .sr-external-link:hover {
      background:transparent;
      color:#4b2ee0;
    }
    .sr-header-center a:hover { background:#f3f4f6; color:#5936f6; }
    .cart-link {
      position:relative;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:70px;
      height:56px;
      border-radius:999px;
      color:#0e0e52;
      padding:0;
      min-width:70px !important;
    }
    .cart-link:hover { background:#f3f4f6; color:#5936f6; }
    .cart-link svg { width:32px; height:32px; }
    .cart-count {
      position:absolute;
      top:-8px;
      right:-10px;
      min-width:20px;
      height:20px;
      padding:0 5px;
      border-radius:999px;
      background:#5936f6;
      color:#fff;
      font-size:12px;
      line-height:20px;
      text-align:center;
      font-weight:700;
    }
    .sr-footer {
      margin-top:18px;
      background:#0e0e52;
      color:#fff;
    }
    .sr-footer-inner {
      max-width:var(--max-width-content);
      margin:0 auto;
      padding:28px var(--container-x) 20px;
      box-sizing:border-box;
    }
    .sr-footer-grid {
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:24px;
      margin-bottom:18px;
    }
    .sr-footer-col ul {
      list-style:none;
      margin:0;
      padding:0;
      display:flex;
      flex-direction:column;
      gap:8px;
    }
    .sr-footer-col a {
      color:#fff;
      text-decoration:none;
      opacity:.92;
      font-size:14px;
      transition:color .2s ease, opacity .2s ease;
    }
    .sr-footer-col a:hover { opacity:1; color:#d6ccff; }
    .sr-footer-bottom {
      border-top:1px solid rgba(255,255,255,.28);
      padding-top:16px;
      display:grid;
      grid-template-columns:1fr auto 1fr;
      align-items:center;
      gap:16px;
    }
    .sr-footer-brand {
      display:flex;
      align-items:center;
      gap:12px;
    }
    .sr-footer-brand .sr-logo { width:94px; height:94px; }
    .sr-footer-brand p {
      margin:0;
      font-size:12px;
      opacity:.88;
      line-height:1.5;
      text-align:center;
    }
    .sr-footer-copy {
      width:auto;
      margin:0;
      text-align:center;
      font-size:12px;
      opacity:.88;
      line-height:1.5;
      justify-self:center;
    }
    .sr-footer-badges {
      display:flex;
      align-items:center;
      gap:12px;
      grid-column:3;
      justify-self:end;
      margin-left:auto;
    }
    .sr-footer-brand { justify-self:start; }
    .sr-footer-badges img {
      width:44px;
      height:44px;
      object-fit:contain;
    }
    .sr-footer-social {
      color:#fff;
      display:inline-flex;
      width:34px;
      height:34px;
      align-items:center;
      justify-content:center;
      text-decoration:none;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.3);
    }
    .sr-footer-social:hover { border-color:#fff; }
    .non-panier { display:block !important; }
    .card {
      background:#fff;
      border-radius:18px;
      padding:20px;
      margin-bottom:12px;
      box-shadow:0 10px 24px rgba(14,14,82,.06);
      border:none;
      transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
      will-change:transform;
    }
    .card:hover {
      transform:translateY(-4px);
      box-shadow:0 16px 34px rgba(89,54,246,.18);
      border-color:#4b2ee0;
    }
    .hero-top {
      display:grid;
      grid-template-columns:1.1fr .9fr;
      gap:18px;
      align-items:stretch;
      padding-top:8px;
    }
    .hero-top-copy {
      display:flex;
      flex-direction:column;
      justify-content:flex-start;
      min-height:100%;
      padding-bottom:12px;
    }
    .hero-top-media {
      border-radius:14px;
      overflow:hidden;
      background:#ffffff;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border:1px solid #ddd;
      width:fit-content;
      justify-self:center;
      align-self:start;
      padding:8px;
    }
    .hero-top-media img {
      width:auto;
      max-width:420px;
      height:auto;
      display:block;
      border-radius:12px;
    }
    .hero-main-title {
      grid-column:1 / -1;
      text-align:center;
      margin:0 auto 18px;
      font-size:50px;
    }
    .hero-top-copy { margin-top:20px; }
    .hero-benefits {
      color:#1f2a6b;
      font-weight:700;
      margin:14px 0 28px 24px;
      font-size:20px;
      line-height:1.6;
    }
    .hero-top .muted {
      font-size:18px;
      line-height:1.7;
      margin:0 0 24px;
    }
    .yellow-underline {
      position:relative;
      display:inline-block;
      z-index:0;
      padding:0 .12em;
      white-space:normal;
    }
    #outil-panier .yellow-underline {
      margin:0 .14em;
      white-space:normal;
    }
    #outil-panier .title-lock .yellow-underline {
      margin-left:0;
      margin-right:0;
    }
    .title-lock {
      white-space:normal;
      display:inline;
    }
    .yellow-underline::after {
      content:"";
      position:absolute;
      left:0;
      right:0;
      bottom:.05em;
      height:.24em;
      background:#f1c40f;
      border-radius:999px;
      z-index:-1;
    }
    .hero-cta {
      display:inline-flex;
      align-items:center;
      justify-content:center;
      margin:16px auto 0;
      align-self:center;
      min-height:52px;
      padding:0 20px;
      border-radius:999px;
      background:#5936f6;
      color:#fff;
      text-decoration:none;
      font-weight:800;
      font-size:16px;
    }
    .hero-cta:hover { background:#4b2ee0; }
    .tool-panel {
      margin-top:12px;
      position:relative;
      padding:30px;
      padding-bottom:56px;
      border:none;
      border-radius:0;
      background:transparent;
    }
    .tool-panel.hidden { display:none; }
    .tool-only .hero-top { display:none; }
    .tool-only .tool-panel.hidden { display:block; }
    .tool-only .tool-panel {
      margin-top:4px;
      padding-top:0;
    }
    .tool-only .sr-header-inner {
      grid-template-columns:auto minmax(0,1fr) auto;
      gap:8px;
    }
    .tool-only .sr-logo {
      width:168px;
      height:48px;
    }
    .tool-only .sr-header-center {
      justify-content:center;
      gap:10px;
      min-width:0;
    }
    .tool-only .sr-header-center a:not(.sr-tool-link) { display:inline-flex; }
    .tool-only .sr-tool-link {
      max-width:100%;
      white-space:normal;
      text-align:center;
      line-height:1.2;
      padding:8px 12px;
    }
    .tool-only .sr-header,
    .tool-only .sr-footer {
      display:block !important;
      visibility:visible !important;
    }
    .tool-only .non-panier { display:none !important; }
    .back-to-landing {
      display:none;
      margin:0 0 12px;
      align-items:center;
      justify-content:center;
      min-height:40px;
      padding:0 14px;
      border-radius:999px;
      background:#f3f4f6;
      color:#0e0e52;
      text-decoration:none;
      font-weight:700;
      width:fit-content;
    }
    .back-to-landing:hover { background:#e7e9ee; }
    .tool-only .back-to-landing {
      display:inline-flex;
      position:static;
      top:auto;
      left:auto;
      margin:0 0 12px;
    }
    #outil-panier {
      margin-top:-16px;
      margin-bottom:18px;
      max-width:1200px;
      margin-left:auto;
      margin-right:auto;
      text-wrap:balance;
    }
    .tool-only #outil-panier {
      margin-top:20px;
      min-height:40px;
      display:block;
    }
    .tool-intro {
      margin:0 0 8px;
      text-align:center;
      color:#4b5563;
      font-size:14px;
      line-height:1.45;
    }
    #outil-panier .panier-word { margin-left:.18em; }
    #outil-panier.is-long-title {
      text-align:center !important;
      font-size:30px;
      line-height:1.2;
      text-wrap:normal;
    }
    @media (max-width: 920px) {
      .hero-top { grid-template-columns:1fr; }
      .hero-top-media img { max-width:100%; }
    }
    h1,h2,h3 { color:var(--secondary); margin:0 0 12px; line-height:1.14; letter-spacing:-.01em; }
    h1 { font-size:42px; max-width:980px; }
    h2 { font-size:34px; }
    h3 { font-size:24px; }
    .grid { display:grid; gap:12px; }
    .g2 { grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
    .g3 { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
    .pill { background:#eef2ff; border-radius:999px; padding:8px 12px; color:var(--primary); font-weight:700; font-size:12px; display:inline-block; margin-right:6px; }
    .btn { background:var(--primary); color:#fff; border:none; border-radius:12px; height:42px; padding:0 14px; cursor:pointer; font-weight:700; }
    .btn-outline { border:1px solid #ddd; background:#fff; color:#333; }
    .item { border:1px solid #ddd; border-radius:12px; padding:10px; }
    .active { border-color:var(--primary); background:#f8f7ff; }
    .muted { color:#4b5563; font-size:15px; line-height:1.55; }
    input,select,textarea { width:100%; border:1px solid #ccc; border-radius:10px; padding:9px; box-sizing:border-box; }
    .inline { display:flex; align-items:center; gap:8px; }
    .qty { display:inline-flex; border:1px solid #ddd; border-radius:999px; overflow:hidden; }
    .qty button { border:none; background:#fff; width:34px; height:34px; cursor:pointer; }
    .qty span { width:40px; text-align:center; line-height:34px; background:#f7f7f7; }
    .qty-wrap { display:flex; justify-content:center; margin:34px 0 10px; }
    .qty-box {
      display:flex;
      align-items:center;
      justify-content:center;
      padding:10px;
      border-radius:20px;
      background:#f8f7ff;
      border:1px solid #d8d2ff;
      box-shadow:0 6px 16px rgba(89,54,246,.12);
      max-width:none;
      width:auto;
    }
    .qty {
      width:auto;
      display:grid;
      grid-template-columns:58px 88px 58px;
      align-items:center;
      border:1px solid #ddd6fe;
      border-radius:16px;
      overflow:hidden;
      background:#fff;
    }
    .qty-btn {
      width:58px !important;
      height:56px !important;
      padding:0 !important;
      margin:0 !important;
      display:flex;
      align-items:center;
      justify-content:center;
      border:none !important;
      border-radius:0;
      font-size:30px;
      font-weight:700;
      line-height:1;
      color:#5b39f6;
      background:#fdfdff !important;
      transition:background .12s ease, color .12s ease;
    }
    .qty-btn:hover { background:#f3f0ff !important; }
    #qMinus,
    #qPlus {
      font-weight:900;
      font-size:34px;
    }
    #qMinus { border-right:1px solid #e9e5ff !important; }
    #qPlus { border-left:1px solid #e9e5ff !important; }
    .qty-value {
      min-width:88px;
      text-align:center;
      font-size:34px;
      font-weight:800;
      color:#0e0e52;
      background:#ffffff !important;
      line-height:56px !important;
      height:56px;
      border-left:1px solid #e9e5ff;
      border-right:1px solid #e9e5ff;
      letter-spacing:.2px;
    }
    .lot-question { margin-top:22px; }
    .lot-toggle { display:flex; gap:10px; justify-content:center; margin-top:8px; }
    .lot-toggle button.selected { background:var(--primary); color:#fff; border-color:var(--primary); }
    .lot-area { margin-top:14px; padding:12px; border:1px solid #ddd; border-radius:12px; background:#fafafa; }
    .lot-count { display:flex; align-items:center; justify-content:center; gap:10px; margin-bottom:12px; }
    .lot-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:10px; }
    .lot-card { border:1px solid #ddd; border-radius:10px; padding:10px; background:#fff; text-align:center; }
    .lot-card h5 { margin:0 0 8px; color:var(--secondary); }
    .lot-qty { display:flex; align-items:center; justify-content:center; gap:8px; }
    .lot-mini { font-size:12px; color:#666; margin-bottom:6px; }
    .cart-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:12px; }
    .cart-section.hidden { display:none; }
    .cart-card { border:1px solid #ddd; border-radius:14px; background:#fff; padding:10px; }
    .cart-media {
      position:relative;
      border-radius:10px;
      overflow:hidden;
      background:#f8f8f8;
      display:flex;
      align-items:center;
      justify-content:center;
      width:100%;
      height:190px;
    }
    .cart-media img {
      width:220px;
      height:160px;
      object-fit:contain;
      display:block;
      margin:0 auto;
    }
    .cart-media img.compact-visual { transform:scale(.84); transform-origin:center; }
    .cart-qty-badge { position:absolute; right:8px; bottom:8px; background:var(--primary); color:#fff; border-radius:999px; padding:4px 10px; font-weight:700; font-size:12px; }
    .cart-title { margin:10px 0 6px; font-weight:700; color:var(--secondary); }
    .cart-meta { font-size:13px; color:#444; margin:3px 0; }
    .cart-note { margin-top:8px; }
    .ok { color:#166534; background:#ecfdf3; border:1px solid #bbf7d0; padding:10px; border-radius:10px; }
    .err { color:#991b1b; background:#fef2f2; border:1px solid #fecaca; padding:10px; border-radius:10px; }
    .step { display:none; }
    .step.active-step { display:block; }
    .actions { display:flex; gap:14px; margin-top:18px; flex-wrap:wrap; }
    #step1 .actions { margin-top:0; }
    .progress {
      position:absolute;
      right:24px;
      bottom:18px;
      margin:0;
      font-weight:700;
      color:var(--primary);
      font-size:14px;
    }
    .wizard-card { display:flex; flex-direction:column; justify-content:flex-start; padding:34px; }
    .step h3 { margin-bottom:18px; }
    .note-title {
      margin:52px 0 8px;
      font-weight:700;
      color:var(--secondary);
    }
    .note-area { margin-top:0; min-height:82px; }
    .budget-line-label { margin:6px 0 6px; font-weight:700; color:var(--secondary); }
    .budget-line { height:8px; background:#ddd; border-radius:999px; overflow:hidden; margin-bottom:10px; }
    .budget-line-fill { height:100%; width:0%; background:var(--primary); transition:width .15s linear; }
    #price {
      -webkit-appearance:none;
      -moz-appearance:none;
      appearance:none;
      --price-thumb-size:20px;
      --price-track-size:6px;
      --price-fill:50%;
      accent-color:var(--primary);
      width:100%;
      margin:0;
      padding:0;
      border:none;
      outline:none;
      background:transparent;
      height:var(--price-thumb-size);
      cursor:pointer;
    }
    #price:focus { outline:none; }
    #price::-moz-focus-outer { border:0; }
    #price::-webkit-slider-runnable-track {
      height:var(--price-track-size);
      border-radius:999px;
      background:linear-gradient(to right, #6f2cff 0 var(--price-fill), #d7d2ff var(--price-fill) 100%);
    }
    #price::-webkit-slider-thumb {
      -webkit-appearance:none;
      appearance:none;
      width:var(--price-thumb-size);
      height:var(--price-thumb-size);
      border-radius:50%;
      background:#6f2cff;
      border:none;
      box-shadow:none;
      cursor:grab;
      margin-top:calc((var(--price-track-size) - var(--price-thumb-size)) / 2);
    }
    #price:active::-webkit-slider-thumb {
      cursor:grabbing;
      transform:scale(1.05);
    }
    #price::-moz-range-thumb {
      width:var(--price-thumb-size);
      height:var(--price-thumb-size);
      border-radius:50%;
      background:#6f2cff;
      border:none;
      box-shadow:none;
      cursor:grab;
    }
    #price::-moz-range-track {
      height:var(--price-track-size);
      border-radius:999px;
      background:#d7d2ff;
    }
    #price::-moz-range-progress {
      height:var(--price-track-size);
      border-radius:999px;
      background:#6f2cff;
    }
    #price:active::-moz-range-thumb {
      cursor:grabbing;
      transform:scale(1.05);
    }
    #meetingPeople {
      -webkit-appearance:none;
      -moz-appearance:none;
      appearance:none;
      --meeting-thumb-size:20px;
      --meeting-track-size:6px;
      --meeting-fill:50%;
      width:100%;
      margin:0;
      padding:0;
      border:none;
      outline:none;
      background:transparent;
      height:var(--meeting-thumb-size);
      cursor:pointer;
      touch-action:pan-y;
    }
    #meetingPeople:focus { outline:none; }
    #meetingPeople::-moz-focus-outer { border:0; }
    #meetingPeople::-webkit-slider-runnable-track {
      height:var(--meeting-track-size);
      border-radius:999px;
      background:linear-gradient(to right, #6f2cff 0 var(--meeting-fill), #d7d2ff var(--meeting-fill) 100%);
    }
    #meetingPeople::-webkit-slider-thumb {
      -webkit-appearance:none;
      appearance:none;
      width:var(--meeting-thumb-size);
      height:var(--meeting-thumb-size);
      border-radius:50%;
      background:#6f2cff;
      border:none;
      box-shadow:none;
      cursor:grab;
      margin-top:calc((var(--meeting-track-size) - var(--meeting-thumb-size)) / 2);
    }
    #meetingPeople:active::-webkit-slider-thumb {
      cursor:grabbing;
      transform:scale(1.05);
    }
    #meetingPeople::-moz-range-thumb {
      width:var(--meeting-thumb-size);
      height:var(--meeting-thumb-size);
      border-radius:50%;
      background:#6f2cff;
      border:none;
      box-shadow:none;
      cursor:grab;
    }
    #meetingPeople::-moz-range-track {
      height:var(--meeting-track-size);
      border-radius:999px;
      background:#d7d2ff;
    }
    #meetingPeople::-moz-range-progress {
      height:var(--meeting-track-size);
      border-radius:999px;
      background:#6f2cff;
    }
    #meetingPeople:active::-moz-range-thumb {
      cursor:grabbing;
      transform:scale(1.05);
    }
    .budget-block {
      margin-top:46px;
    }
    .price-track-wrap {
      position:relative;
      padding-top:16px;
    }
    .quartile-ticks {
      position:absolute;
      left:0;
      right:0;
      top:0;
      height:var(--price-thumb-size);
      pointer-events:none;
    }
    .quartile-tick {
      position:absolute;
      top:calc((var(--price-thumb-size) - 12px) / 2);
      width:2px;
      height:12px;
      background:#6f2cff;
      border-radius:2px;
      transform:translateX(-1px);
      opacity:.9;
    }
    .quartile-message {
      margin:0 0 10px;
      text-align:center;
      color:#1f2a6b;
      font-weight:700;
    }
    #quartileLine {
      position:relative;
      height:22px;
      margin-top:8px;
    }
    #quartileLine span {
      position:absolute;
      top:0;
      transform:translateX(-50%);
      white-space:nowrap;
    }
    #zeroLabel {
      transform:translateX(0);
    }
    #highLabel {
      transform:translateX(-100%);
    }
    #priceValue { color:var(--primary); }
    .dim-presets { display:flex; flex-direction:column; gap:8px; margin-top:10px; }
    .dim-preset {
      min-height:56px;
      height:auto;
      padding:10px 12px;
      text-align:left;
      line-height:1.2;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
    }
    .dim-type-label { font-weight:800; }
    .dim-type-values { font-size:12px; color:#4b5563; }
    .dim-preset.selected {
      border:2px solid #5936f6 !important;
      color:#1f214f !important;
      background:#f4f1ff !important;
      box-shadow:0 0 0 3px rgba(89,54,246,.12);
    }
    .dimension-row { display:flex; align-items:center; gap:10px; margin-top:10px; }
    .dimension-row select { flex:1; min-width:0; }
    .dimension-row-label { font-weight:700; color:#0e0e52; min-width:54px; text-align:center; }
    .dim-help { margin:8px 0; }
    .meeting-people-wrap {
      margin-top:10px;
      padding:12px;
      border:1px solid #ddd6fe;
      border-radius:12px;
      background:#f8f7ff;
    }
    .meeting-people-value {
      margin-top:8px;
      text-align:center;
      color:#1f2a6b;
      font-weight:800;
    }
    .meeting-people-scale {
      margin-top:8px;
      display:flex;
      justify-content:space-between;
      font-size:12px;
      color:#4b5563;
    }
    .office-option-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; margin-top:14px; }
    .office-option-card { border:1px solid #ddd; border-radius:12px; padding:14px; background:#fff; }
    .office-option-card h4 { margin:0 0 10px; color:var(--secondary); }
    .office-choices { display:flex; flex-direction:column; gap:8px; }
    .office-choice { flex:1; min-height:38px; }
    .office-choice.selected { background:var(--primary); color:#fff; border-color:var(--primary); }
    .preview-img { width:100%; max-width:220px; max-height:160px; object-fit:contain; border-radius:12px; border:1px solid #ddd; display:block; margin:10px auto 0; }
    .preview-img.compact-visual { transform:scale(.84); transform-origin:center; }
    .preview-img.constraint-preview {
      max-width:320px;
      max-height:220px;
      border:1px solid var(--primary);
      background:#fff;
      padding:10px;
      box-sizing:border-box;
    }
    .product-choice {
      position:relative;
      height:282px;
      min-height:282px;
      display:flex;
      align-items:center;
      justify-content:center;
      padding:14px 14px 52px;
      text-align:center;
      background:#fff !important;
      color:#222 !important;
      border:1px solid var(--primary) !important;
      overflow:hidden;
      border-radius:14px !important;
      transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    }
    @media (hover:hover) and (pointer:fine) {
      .product-choice:hover {
        transform:translateY(-3px);
        box-shadow:0 12px 24px rgba(89,54,246,.2);
        border-color:#4b2ee0 !important;
      }
    }
    .product-choice img { width:100%; max-width:320px; height:200px; object-fit:contain; background:#fff; border-radius:10px; border:none; }
    .product-choice img.compact-visual { transform:scale(.84); transform-origin:center; }
    .product-choice img { margin-top:0; }
    .product-choice img.small-thumb { max-width:240px; height:160px; }
    .product-choice img.chair-thumb {
      height:164px;
    }
    #pickFoldingTable img { max-width:390px; height:240px; }
    .product-choice span {
      position:absolute;
      left:8px;
      right:8px;
      bottom:8px;
      font-size:16px;
      line-height:1.2;
      font-weight:700;
      text-align:center;
      color:var(--secondary);
    }
    .product-choice:active { border-color:#ddd !important; }
    .step2-choice.preselected {
      transform:translateY(-3px);
      box-shadow:0 12px 24px rgba(89,54,246,.2);
      border-color:#4b2ee0 !important;
    }
    .step2-choice.preselected::after {
      content:"✓";
      position:absolute;
      top:10px;
      right:10px;
      width:28px;
      height:28px;
      border-radius:999px;
      background:#f1c40f;
      color:#0e0e52;
      display:flex;
      align-items:center;
      justify-content:center;
      font-size:18px;
      font-weight:800;
      box-shadow:0 4px 10px rgba(0,0,0,.18);
      z-index:2;
    }
    .step2-next-wrap {
      display:flex;
      justify-content:flex-end;
      margin-top:14px;
    }
    .step2-next-btn {
      min-width:170px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
    }
    .choice-selected {
      transform:translateY(-3px);
      box-shadow:0 12px 24px rgba(89,54,246,.2);
      border-color:#4b2ee0 !important;
    }
    .choice-selected::after {
      content:"✓";
      position:absolute;
      top:10px;
      right:10px;
      width:28px;
      height:28px;
      border-radius:999px;
      background:#f1c40f;
      color:#0e0e52;
      display:flex;
      align-items:center;
      justify-content:center;
      font-size:18px;
      font-weight:800;
      box-shadow:0 4px 10px rgba(0,0,0,.18);
      z-index:2;
    }
    .step-next-wrap {
      display:flex;
      justify-content:flex-end;
      margin-top:30px;
    }
    .step-next-btn {
      min-width:170px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
    }
    .lot-question .muted {
      color:var(--secondary);
      font-weight:700;
    }
    .product-choice:focus-visible,
    .btn:focus-visible,
    .faq-question:focus-visible,
    .sr-nav a:focus-visible,
    .hero-cta:focus-visible,
    .sr-tool-link:focus-visible,
    .sr-external-link:focus-visible,
    .cart-link:focus-visible {
      outline:3px solid #f1c40f;
      outline-offset:2px;
    }
    .image-actions {
      width:100%;
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
      gap:18px;
      align-items:stretch;
      margin-top:88px;
    }
    #step2 .actions.image-actions {
      grid-template-columns:repeat(2,minmax(280px,380px));
      justify-content:center;
    }
    #separatorScreenOptions.image-actions,
    #caissonOptions.image-actions {
      grid-template-columns:1fr;
      justify-content:center;
      max-width:560px;
      margin-left:auto;
      margin-right:auto;
    }
    .actions.image-actions { grid-template-columns:repeat(3,minmax(0,1fr)); }
    @media (max-width: 980px) {
      .actions.image-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
      #step2 .actions.image-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
    }
    @media (max-width: 640px) {
      .actions.image-actions { grid-template-columns:1fr; }
      #step2 .actions.image-actions { grid-template-columns:1fr; }
    }
    .image-actions .product-choice { width:100%; max-width:none; }
    .hero-card { background:#f7f9ff; }
    .brand-badge {
      display:inline-flex;
      align-items:center;
      gap:8px;
      background:#fff;
      color:var(--secondary);
      border:1px solid #d9ddf7;
      border-radius:999px;
      padding:6px 12px;
      font-weight:700;
      font-size:12px;
      margin-bottom:10px;
    }
    .brand-badge img {
      width:22px;
      height:22px;
      border-radius:999px;
      object-fit:cover;
    }
    .intro-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; margin-top:12px; }
    .intro-chip {
      background:#fff;
      border:1px solid #e6e9f3;
      border-radius:12px;
      min-height:120px;
      padding:14px;
      display:flex;
      align-items:flex-start;
      justify-content:flex-start;
      font-size:15px;
      color:#1f2937;
      line-height:1.5;
    }
    .split-section { background:#f8faff; }
    .subhero {
      max-width:960px;
      font-size:20px;
      line-height:1.45;
      color:#233252;
      margin:8px 0 0;
    }
    .section-copy {
      margin:0;
      color:#4b5563;
      font-size:16px;
      line-height:1.6;
      max-width:1020px;
    }
    .why-section {
      border:1px solid #e6e9f3;
      background:linear-gradient(180deg,#f8faff 0%,#f1f5ff 100%);
    }
    .why-lead {
      margin:0;
      max-width:880px;
      color:#27324c;
      font-size:18px;
      line-height:1.65;
      font-weight:500;
    }
    .why-lead.one-line { white-space:nowrap; }
    .why-grid {
      margin-top:16px;
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
      gap:12px;
    }
    section.non-panier > .why-grid {
      margin-top:30px;
    }
    .why-item {
      background:#fff;
      border:1px solid #dfe5ff;
      border-radius:14px;
      padding:14px;
      box-shadow:0 8px 18px rgba(89,54,246,.08);
      text-align:center;
    }
    .why-item-title {
      margin:0 0 6px;
      color:#0e0e52;
      font-size:16px;
      font-weight:800;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:10px;
    }
    .why-grid .why-icon {
      width:84px;
      height:84px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      background:#efeaff;
      color:#5936f6;
      flex:0 0 84px;
    }
    .why-grid .why-icon svg {
      width:44px;
      height:44px;
      stroke:currentColor;
      fill:none;
      stroke-width:2;
      display:block;
    }
    .why-grid .why-icon .euro-circle {
      width:44px;
      height:44px;
      border:2px solid currentColor;
      border-radius:50%;
      display:grid;
      place-items:center;
      font-size:24px;
      font-weight:700;
      line-height:1;
      padding:0;
      box-sizing:border-box;
      text-align:center;
    }
    .why-item p {
      margin:0;
      color:#4b5563;
      font-size:15px;
      line-height:1.55;
    }
    .process-grid {
      margin-top:14px;
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
      gap:12px;
    }
    .process-item {
      background:#fff;
      border:1px solid #dfe5ff;
      border-radius:14px;
      padding:14px;
      box-shadow:0 8px 18px rgba(89,54,246,.08);
      display:flex;
      flex-direction:column;
      min-height:0;
    }
    .process-item-title {
      margin:0 0 6px;
      color:#0e0e52;
      font-size:16px;
      font-weight:800;
      display:flex;
      align-items:flex-end;
      gap:8px;
      line-height:1.25;
    }
    .process-step-number {
      color:#5936f6;
      font-size:28px;
      font-weight:900;
      line-height:1;
    }
    .process-cart-link {
      margin-top:0;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:148px;
      height:148px;
      border-radius:12px;
      color:#5936f6;
      text-decoration:none;
      border:none;
      background:transparent;
    }
    .process-cart-link:hover { color:#4b2ee0; background:transparent; }
    .process-cart-link svg { width:112px; height:112px; }
    .process-visual-wrap {
      margin-top:auto;
      padding-top:0;
      min-height:148px;
      display:flex;
      justify-content:center;
      align-items:flex-end;
    }
    .process-truck-icon {
      width:148px;
      height:148px;
      border-radius:12px;
      border:none;
      background:transparent;
      object-fit:contain;
      display:block;
      box-sizing:border-box;
    }
    .process-item p {
      margin:0;
      color:#4b5563;
      font-size:15px;
      line-height:1.55;
    }
    .process-link {
      display:inline;
      margin-top:0;
      padding:0;
      border-radius:0;
      background:transparent;
      color:#5936f6;
      text-decoration:underline;
      font-weight:700;
      font-size:inherit;
    }
    .process-link:hover { color:#4b2ee0; }
    .process-logo-wrap {
      margin:0;
      margin-top:auto;
      padding-top:0;
      min-height:148px;
      display:flex;
      justify-content:center;
      align-items:flex-end;
      position:relative;
    }
    .process-logo-wrap img {
      width:148px;
      height:148px;
      object-fit:contain;
      border-radius:0;
      background:transparent;
      border:none;
      padding:0;
      display:block;
    }
    .process-favicon-overlay {
      position:absolute;
      top:50%;
      left:50%;
      transform:translate(-50%, -50%);
      width:108px;
      height:108px;
      object-fit:contain;
      pointer-events:none;
      opacity:1;
      transition:opacity .2s ease;
    }
    #processDevisCard:hover .process-favicon-overlay { opacity:0; }
    .faq-layout {
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:20px;
      align-items:start;
    }
    .faq-list { display:flex; flex-direction:column; gap:10px; }
    .faq-question {
      width:100%;
      border:none;
      border-radius:14px;
      padding:16px 18px;
      text-align:left;
      cursor:pointer;
      color:#fff;
      background:#0e0e52;
      font-size:16px;
      font-weight:600;
      transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
      box-shadow:0 6px 14px rgba(14,14,82,.14);
    }
    .faq-question:hover { background:#34495e; }
    .faq-question.active {
      background:#5936f6;
      transform:scale(1.02);
      box-shadow:0 10px 22px rgba(89,54,246,.26);
    }
    .faq-answer-card {
      background:#fff;
      border-radius:16px;
      overflow:hidden;
      box-shadow:0 10px 24px rgba(14,14,82,.12);
    }
    .faq-answer-title {
      margin:0;
      padding:18px 20px;
      min-height:74px;
      display:flex;
      align-items:center;
      justify-content:center;
      background:#5936f6;
      color:#fff;
      font-size:18px;
      line-height:1.45;
      text-align:center;
    }
    .faq-answer-text {
      margin:0;
      padding:20px;
      color:#34495e;
      font-size:16px;
      line-height:1.65;
    }
    .compliance-section { background:#f8faff; }
    .collectivites-highlight {
      border:1px solid #d9ddf7;
      background:linear-gradient(180deg,#f7f9ff 0%,#eef2ff 100%);
      margin:28px 0;
    }
    .collectivites-head p {
      margin:0;
      color:#34495e;
      font-size:16px;
      line-height:1.7;
      max-width:none;
      text-align:center;
    }
    .collectivites-grid {
      margin-top:14px;
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
      gap:12px;
    }
    .collectivites-item {
      background:#fff;
      border:1px solid #dfe5ff;
      border-radius:14px;
      padding:14px;
      box-shadow:0 8px 18px rgba(89,54,246,.08);
    }
    .collectivites-item h3 {
      margin:0 0 8px;
      font-size:16px;
      color:#0e0e52;
    }
    .collectivites-item p {
      margin:0;
      color:#4b5563;
      font-size:14px;
      line-height:1.6;
    }
    .collectivites-cta-wrap { margin-top:12px; text-align:center; }
    .collectivites-cta {
      display:inline-block;
      background:#5936f6;
      color:#fff;
      text-decoration:none;
      border-radius:10px;
      padding:10px 14px;
      font-weight:700;
      font-size:14px;
    }
    .collectivites-cta:hover { background:#4b2ee0; }
    .compliance-head { text-align:center; margin-bottom:14px; }
    .compliance-head p { margin:0; color:#34495e; font-size:15px; line-height:1.7; }
    .compliance-grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:12px; margin-bottom:12px; }
    .compliance-grid-4 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:12px; margin-bottom:12px; }
    .compliance-card {
      background:#fff;
      border:1px solid #dfe5ff;
      border-radius:12px;
      padding:14px;
      box-shadow:0 8px 18px rgba(89,54,246,.08);
    }
    .compliance-card-head {
      display:flex;
      align-items:flex-start;
      gap:12px;
    }
    .compliance-icon {
      width:48px;
      height:48px;
      border-radius:10px;
      display:flex;
      align-items:center;
      justify-content:center;
      background:rgba(89,54,246,.1);
      color:#5936f6;
      flex-shrink:0;
    }
    .compliance-icon svg {
      width:24px;
      height:24px;
      stroke:currentColor;
      fill:none;
      stroke-width:2;
      stroke-linecap:round;
      stroke-linejoin:round;
    }
    .compliance-grid-4 .compliance-card { text-align:center; }
    .compliance-grid-4 .compliance-card .compliance-icon { margin:0 auto 10px; }
    .compliance-card h3 { margin:0 0 8px; font-size:16px; color:#0e0e52; }
    .compliance-card p { margin:0 0 8px; color:#34495e; font-size:14px; line-height:1.6; }
    .compliance-link { color:#5936f6; text-decoration:none; font-size:14px; font-weight:700; }
    .compliance-link:hover { text-decoration:underline; }
    .compliance-cta-wrap { text-align:center; margin-top:8px; }
    .compliance-cta {
      display:inline-block;
      background:#5936f6;
      color:#fff;
      text-decoration:none;
      border-radius:10px;
      padding:10px 14px;
      font-weight:700;
      font-size:14px;
    }
    .compliance-cta:hover { background:#4b2ee0; }
    @media (min-width: 768px) {
      :root { --container-x:var(--margin-tablet); }
    }
    @media (min-width: 1024px) {
      :root { --container-x:var(--margin-desktop); }
    }
    @media (min-width: 1280px) {
      :root { --container-x:var(--margin-large); }
    }
    @media (max-width: 1080px) {
      .sr-external-link { margin-left:0; padding:8px 10px; }
      .hero-main-title { font-size:42px; }
      .hero-top .muted { font-size:16px; }
      .hero-benefits { font-size:18px; }
      .wizard-card { padding:28px; }
      .tool-panel { padding:24px; padding-bottom:52px; }
      .product-choice { height:252px; min-height:252px; }
      .product-choice img.chair-thumb { height:154px; }
    }
    @media (max-width: 900px) {
      body { padding-top:78px; }
      .sr-header { height:74px; }
      .sr-header-inner { padding:0 var(--container-x); gap:8px; }
      .sr-logo { width:150px; height:46px; }
      .sr-tool-link { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:0 12px; border-radius:999px; background:#5936f6; color:#fff; font-size:14px; font-weight:800; }
      .sr-external-link { display:none; }
      .sr-header-center { justify-content:flex-end; gap:10px; }
      .sr-header-center a { min-width:auto; font-size:14px; padding:6px 8px; }
      .cart-link { width:50px; height:50px; margin-right:0; min-width:50px !important; }
      .cart-link svg { width:28px; height:28px; }
      h1 { font-size:32px; }
      h2 { font-size:28px; }
      h3 { font-size:20px; }
      .wrap { padding:8px var(--container-x); }
      .card { padding:18px; border-radius:16px; }
      .hero-top {
        display:flex;
        flex-direction:column;
        gap:12px;
        padding-top:0;
      }
      .hero-main-title { font-size:34px; margin-bottom:12px; }
      .hero-benefits { margin:8px 0 10px 20px; font-size:17px; line-height:1.5; }
      .hero-top .muted { font-size:15px; line-height:1.6; }
      .hero-cta { width:100%; font-size:15px; padding:10px 14px; min-height:48px; text-align:center; }
      .hero-top-copy { gap:10px; }
      .hero-top-media {
        width:100%;
        max-width:100%;
        order:3;
        margin-top:6px;
      }
      .hero-top-copy { order:2; }
      .hero-top-media img { max-width:100%; }
      .actions .btn { flex:1 1 100%; }
      .tool-panel { margin-top:18px; padding:18px; padding-bottom:46px; }
      .progress { right:16px; bottom:12px; font-size:13px; }
      .g2, .g3 { grid-template-columns:1fr; }
      .dimension-row { flex-direction:column; align-items:stretch; }
      .dimension-row-label { text-align:left; min-width:0; }
      .office-option-grid { grid-template-columns:1fr; }
      .faq-layout { grid-template-columns:1fr; }
      .faq-answer-title { font-size:16px; min-height:auto; }
      .faq-question { font-size:15px; padding:14px 15px; }
      .faq-answer-text { font-size:15px; padding:16px; }
      .process-grid, .why-grid, .intro-grid, .cart-grid { grid-template-columns:1fr; }
      .why-lead.one-line { white-space:normal; }
      .compliance-grid-2, .compliance-grid-4 { grid-template-columns:1fr; }
      .subhero { font-size:17px; }
      .sr-footer-grid { grid-template-columns:1fr; gap:18px; }
      .sr-footer-bottom { grid-template-columns:1fr; justify-items:center; }
      .sr-footer-brand { justify-self:center; }
      .sr-footer-brand .sr-logo { width:74px; height:74px; }
      .sr-footer-badges { justify-self:center; }
      .sr-footer-copy { width:100%; margin-top:6px; text-align:center; }
    }
    @media (max-width: 560px) {
      .sr-logo { width:124px; height:40px; }
      .tool-only .sr-logo { width:112px; height:34px; }
      .sr-header-center { gap:6px; }
      .tool-only .sr-header-inner { grid-template-columns:auto minmax(0,1fr) auto; }
      .tool-only .sr-header-center { justify-content:center; }
      .tool-only .sr-tool-link {
        font-size:12px;
        min-height:34px;
        padding:6px 10px;
      }
      .sr-nav a { font-size:12px; padding:5px 6px; }
      .hero-main-title { font-size:28px; }
      .hero-benefits { margin-left:16px; font-size:16px; }
      .qty { grid-template-columns:52px 1fr 52px; }
      .qty-btn { width:52px !important; height:50px !important; font-size:26px; }
      #qPlus { font-size:30px; }
      .qty-value { height:50px; line-height:50px !important; font-size:30px; }
      .tool-panel { padding:14px; padding-bottom:42px; }
      .product-choice { height:210px; min-height:210px; padding-bottom:42px; }
      .product-choice img { height:138px; }
      .product-choice img.chair-thumb { height:128px; }
      .preview-img.constraint-preview { max-width:280px; max-height:190px; }
      .card { padding:14px; }
    }
    .section-title {
      margin-bottom:8px;
    }
    .automated-tool-card {
      margin-top:56px;
    }
