#ep-proof,
    #ep-proof *,
    #ep-proof *::before,
    #ep-proof *::after{
      box-sizing:border-box;
    }

    #ep-proof{
      --epp-ivory:#f5f0e6;
      --epp-paper:#fbf8f1;
      --epp-white:#fffdf8;
      --epp-ink:#0d1d35;
      --epp-ink-2:#1a2d4a;
      --epp-soft:#3a4a66;
      --epp-muted:#5a6880;
      --epp-gold:#b08d57;
      --epp-gold-d:#7a5c2d;
      --epp-gold-l:#ead6ad;
      --epp-hair:rgba(13,29,53,.10);
      --epp-hair-2:rgba(13,29,53,.16);
      --epp-serif:'Fraunces',Georgia,serif;
      --epp-sans:'Inter Tight',Inter,system-ui,sans-serif;

      position:relative;
      isolation:isolate;
      overflow:hidden;
      padding:56px 30px;
      background:
        radial-gradient(62% 58% at 12% 0%,rgba(176,141,87,.11) 0%,transparent 62%),
        radial-gradient(52% 58% at 95% 100%,rgba(13,29,53,.06) 0%,transparent 58%),
        var(--epp-ivory);
      color:var(--epp-ink);
      font-family:var(--epp-sans);
      font-size:17px;
      line-height:1.65;
      -webkit-font-smoothing:antialiased;
    }

    #ep-proof::before{
      content:"";
      position:absolute;
      inset:0;
      z-index:-1;
      pointer-events:none;
      opacity:.13;
      background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.20'/%3E%3C/svg%3E");
      background-size:180px 180px;
    }

    #ep-proof .ep-proof-inner{
      display:grid;
      grid-template-columns:240px minmax(0,1fr);
      align-items:center;
      gap:58px;
      width:100%;
      max-width:1180px;
      margin:0 auto;
      padding:38px 42px;
      border:1px solid rgba(13,29,53,.10);
      border-radius:20px;
      background:rgba(255,253,248,.80);
      box-shadow:0 22px 54px rgba(13,29,53,.08);
      backdrop-filter:blur(10px);
      -webkit-backdrop-filter:blur(10px);
    }

    /* ===================== MÉDAILLON ===================== */
    #ep-proof .ep-rosette{
      position:relative;
      display:grid;
      width:220px;
      height:220px;
      place-items:center;
      justify-self:center;
    }

    #ep-proof .ep-rosette::before,
    #ep-proof .ep-rosette::after{
      content:"";
      position:absolute;
      border-radius:50%;
      pointer-events:none;
    }

    #ep-proof .ep-rosette::before{
      inset:0;
      border:1px dashed rgba(176,141,87,.68);
      animation:epProofSpin 42s linear infinite;
    }

    #ep-proof .ep-rosette::after{
      inset:16px;
      border:1px solid rgba(176,141,87,.22);
    }

    @keyframes epProofSpin{
      to{transform:rotate(360deg)}
    }

    #ep-proof .ep-rosette-core{
      position:relative;
      z-index:2;
      display:flex;
      width:164px;
      height:164px;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:8px;
      border:1px solid rgba(176,141,87,.70);
      border-radius:50%;
      background:
        radial-gradient(circle at 35% 25%,rgba(255,255,255,.90),transparent 45%),
        var(--epp-paper);
      box-shadow:
        inset 0 0 0 5px var(--epp-paper),
        inset 0 0 0 6px rgba(176,141,87,.20),
        0 16px 34px rgba(13,29,53,.10);
    }

    #ep-proof .ep-rosette-stars{
      display:flex;
      gap:4px;
      color:var(--epp-gold);
      font-size:15px;
      line-height:1;
      letter-spacing:.03em;
    }

    #ep-proof .ep-rosette-score{
      color:var(--epp-gold-d);
      font-family:var(--epp-serif);
      font-size:54px;
      font-style:italic;
      font-weight:500;
      line-height:.86;
      letter-spacing:-.04em;
    }

    #ep-proof .ep-rosette-score sup{
      color:var(--epp-gold);
      font-size:.34em;
      font-weight:500;
      letter-spacing:.05em;
      vertical-align:super;
    }

    #ep-proof .ep-rosette-label{
      color:var(--epp-soft);
      font-size:11px;
      font-weight:750;
      line-height:1.2;
      letter-spacing:.16em;
      text-transform:uppercase;
    }

    #ep-proof .ep-rosette-note{
      position:absolute;
      right:-4px;
      bottom:18px;
      z-index:3;
      padding:8px 11px;
      border:1px solid rgba(176,141,87,.30);
      border-radius:999px;
      background:var(--epp-ink);
      color:#fff;
      font-size:10px;
      font-weight:750;
      line-height:1.2;
      letter-spacing:.12em;
      text-transform:uppercase;
      box-shadow:0 8px 20px rgba(13,29,53,.18);
    }

    /* ===================== TEXTE ===================== */
    #ep-proof .ep-proof-content{
      min-width:0;
    }

    #ep-proof .ep-meta{
      display:flex;
      align-items:center;
      gap:13px;
      margin-bottom:18px;
      color:var(--epp-gold-d);
      font-size:12px;
      font-weight:750;
      line-height:1.3;
      letter-spacing:.17em;
      text-transform:uppercase;
    }

    #ep-proof .ep-meta::before{
      content:"";
      width:34px;
      height:1px;
      background:var(--epp-gold);
    }

    #ep-proof .ep-title{
      max-width:820px;
      margin:0 0 17px;
      color:var(--epp-ink);
      font-family:var(--epp-serif);
      font-size:clamp(38px,4vw,58px);
      font-weight:500;
      line-height:1.04;
      letter-spacing:-.028em;
      text-wrap:balance;
    }

    #ep-proof .ep-title em{
      color:var(--epp-gold-d);
      font-style:italic;
      font-weight:500;
    }

    #ep-proof .ep-sub{
      max-width:830px;
      margin:0 0 25px;
      color:var(--epp-ink-2);
      font-family:var(--epp-serif);
      font-size:20px;
      font-weight:400;
      line-height:1.62;
      letter-spacing:-.006em;
    }

    #ep-proof .ep-sub strong{
      color:var(--epp-gold-d);
      font-style:italic;
      font-weight:600;
    }

    #ep-proof .ep-proof-divider{
      width:100%;
      height:1px;
      margin-bottom:18px;
      background:linear-gradient(90deg,var(--epp-hair-2),transparent);
    }

    /* ===================== ORIGINES ===================== */
    #ep-proof .ep-origins-label{
      margin:0 0 11px;
      color:var(--epp-muted);
      font-size:11px;
      font-weight:750;
      line-height:1.3;
      letter-spacing:.15em;
      text-transform:uppercase;
    }

    #ep-proof .ep-origins{
      display:flex;
      flex-wrap:wrap;
      gap:9px;
    }

    #ep-proof .ep-origin{
      display:inline-flex;
      min-height:39px;
      align-items:center;
      gap:8px;
      padding:9px 13px;
      border:1px solid rgba(13,29,53,.11);
      border-radius:999px;
      background:rgba(255,255,255,.66);
      color:var(--epp-soft);
      font-size:11px;
      font-weight:750;
      line-height:1.2;
      letter-spacing:.10em;
      text-transform:uppercase;
      box-shadow:0 5px 14px rgba(13,29,53,.04);
    }

    #ep-proof .ep-origin-flag{
      font-size:16px;
      line-height:1;
    }

    /* ===================== TABLETTE ===================== */
    @media(max-width:900px){
      #ep-proof{
        padding:46px 24px;
      }

      #ep-proof .ep-proof-inner{
        grid-template-columns:1fr;
        gap:27px;
        padding:34px 30px;
        text-align:center;
      }

      #ep-proof .ep-meta{
        justify-content:center;
      }

      #ep-proof .ep-sub{
        margin-right:auto;
        margin-left:auto;
      }

      #ep-proof .ep-proof-divider{
        background:linear-gradient(90deg,transparent,var(--epp-hair-2),transparent);
      }

      #ep-proof .ep-origins{
        justify-content:center;
      }

      #ep-proof .ep-origins-label{
        text-align:center;
      }
    }

    /* ===================== MOBILE ===================== */
    @media(max-width:640px){
      #ep-proof{
        padding:30px 20px 34px;
      }

      #ep-proof .ep-proof-inner{
        gap:22px;
        padding:27px 20px 25px;
        border-radius:17px;
      }

      #ep-proof .ep-rosette{
        width:166px;
        height:166px;
      }

      #ep-proof .ep-rosette-core{
        width:126px;
        height:126px;
        gap:5px;
      }

      #ep-proof .ep-rosette-score{
        font-size:41px;
      }

      #ep-proof .ep-rosette-stars{
        font-size:13px;
      }

      #ep-proof .ep-rosette-label{
        font-size:9.5px;
        letter-spacing:.12em;
      }

      #ep-proof .ep-rosette-note{
        right:-12px;
        bottom:10px;
        font-size:9px;
      }

      #ep-proof .ep-meta{
        margin-bottom:14px;
        font-size:11px;
        letter-spacing:.12em;
      }

      #ep-proof .ep-meta::before{
        width:25px;
      }

      #ep-proof .ep-title{
        font-size:clamp(32px,9vw,43px);
        line-height:1.07;
      }

      #ep-proof .ep-sub{
        margin-bottom:20px;
        font-size:17px;
        line-height:1.65;
      }

      #ep-proof .ep-origins{
        width:calc(100% + 20px);
        flex-wrap:nowrap;
        justify-content:flex-start;
        gap:9px;
        margin-right:-20px;
        padding:2px 20px 10px 0;
        overflow-x:auto;
        scroll-snap-type:x mandatory;
        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
      }

      #ep-proof .ep-origins::-webkit-scrollbar{
        display:none;
      }

      #ep-proof .ep-origin{
        flex:0 0 auto;
        scroll-snap-align:start;
        min-height:41px;
        padding:10px 14px;
        font-size:11px;
      }
    }

    @media(max-width:380px){
      #ep-proof{
        padding-right:16px;
        padding-left:16px;
      }

      #ep-proof .ep-proof-inner{
        padding-right:17px;
        padding-left:17px;
      }

      #ep-proof .ep-title{
        font-size:30px;
      }

      #ep-proof .ep-sub{
        font-size:16.5px;
      }
    }

    @media(prefers-reduced-motion:reduce){
      #ep-proof .ep-rosette::before{
        animation:none;
      }
    }