/* ChocoDiamant - Facette showcase. Scoped to body.cd2 */
body.cd2{--noir:#100C0A;--ivoire:#F3EDE3;--or:#C69B4A;--dim:rgba(243,237,227,.58);--faint:rgba(243,237,227,.14);--kunafa:#D98E3B;--ruby:#C4485F;--matcha:#A8B96A;--pistache:#7E9B52;--bleu:#5B7FA8;--d:"Fraunces",Georgia,serif;--s:"Instrument Sans",system-ui,sans-serif;--g:clamp(18px,4vw,64px);background:#100C0A;color:#F3EDE3;font:16px/1.6 var(--s);-webkit-font-smoothing:antialiased;overflow-x:clip}
.cd2 img{display:block;max-width:100%}
.cd2 a{color:inherit;text-decoration:none}
.cd2 button{font:inherit;color:inherit;background:none;border:none}
.cd2 :focus-visible{outline:2px solid var(--or);outline-offset:4px}
.cd2 .cd2-wrap{max-width:1320px;margin:0 auto;padding:0 var(--g)}
.cd2 .cut{clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px)}
/* Elementor compat */
.cd2 .e-con,.cd2 .e-con-inner{padding:0;margin:0}
.cd2 .e-con>.e-con-inner{max-width:none;display:block;gap:0}
.cd2 .e-con{--width:100%;--content-width:100%;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.cd2 .elementor-widget{width:100%;margin:0}
.cd2 .elementor-widget-container{line-height:inherit}
.cd2 .elementor-widget-image .elementor-widget-container{line-height:0}
/* cursor + grain */
.cd2 .grain{position:fixed;inset:-50%;z-index:9998;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");animation:cd2grain 1.1s steps(3) infinite}
@keyframes cd2grain{0%{transform:translate(0,0)}33%{transform:translate(-3%,2%)}66%{transform:translate(2%,-3%)}100%{transform:translate(0,0)}}
body.cd2.cd2-cursor{cursor:none}
body.cd2.cd2-cursor button,body.cd2.cd2-cursor a,body.cd2.cd2-cursor input{cursor:none}
.cd2 .cur{position:fixed;top:0;left:0;width:16px;height:16px;background:var(--ivoire);z-index:9999;pointer-events:none;transform:translate3d(-100px,-100px,0) rotate(45deg);mix-blend-mode:difference;transition:width .3s,height .3s,opacity .3s}
.cd2 .cur.big{width:64px;height:64px}
@media(hover:none){.cd2 .cur{display:none}}
/* loader */
.cd2 .load{position:fixed;inset:0;z-index:9997;background:var(--noir);display:grid;place-items:center;clip-path:polygon(50% -90%,190% 50%,50% 190%,-90% 50%);transition:clip-path 1.05s cubic-bezier(.76,0,.24,1),opacity .5s ease .55s}
.cd2 .load.out{clip-path:polygon(50% 50%,50% 50%,50% 50%,50% 50%);opacity:0;pointer-events:none}
.cd2 .load.gone{display:none}
.cd2 .load svg{width:56px;height:56px;animation:cd2spin 2.4s cubic-bezier(.76,0,.24,1) infinite}
@keyframes cd2spin{0%{transform:rotate(0)}60%,100%{transform:rotate(180deg)}}
/* header */
.cd2 .hdr{position:fixed;top:0;left:0;right:0;z-index:60;padding:18px var(--g);display:flex;align-items:center;gap:24px;mix-blend-mode:difference}
.cd2 .brand{display:flex;align-items:center;gap:10px;margin-right:auto;font-family:var(--d);font-size:17px;letter-spacing:.14em;text-transform:uppercase}
.cd2 .nav{display:flex;gap:22px;font-size:13px;letter-spacing:.04em}
.cd2 .nav a{opacity:.7}.cd2 .nav a:hover{opacity:1}
.cd2 .bag{font-size:13px;border:1px solid rgba(243,237,227,.4);padding:7px 14px}
/* hero wall */
.cd2 .wall{height:100vh;position:relative;overflow:clip;display:grid;place-items:center;background:var(--noir)}
.cd2 .wall>.e-con-inner{display:contents}
.cd2 .cols{position:absolute;inset:-14% -6%;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;transform:rotate(-7deg) scale(1.18);opacity:.92}
.cd2 .col{display:flex;flex-direction:column;gap:18px;will-change:transform}
.cd2 .col .t{background:var(--ivoire);aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;padding:14px;flex:none}
.cd2 .col .t img{mix-blend-mode:multiply;max-height:100%;object-fit:contain}
.cd2 .wall::after{content:"";position:absolute;inset:0;background:radial-gradient(58% 52% at 50% 50%,rgba(16,12,10,.86) 0%,rgba(16,12,10,.5) 45%,rgba(16,12,10,.9) 100%)}
.cd2 .wall-copy{position:relative;z-index:3;text-align:center;padding:0 var(--g);mix-blend-mode:difference}
.cd2 .wall-copy h1,.cd2 .wall-copy h1.elementor-heading-title{font-family:var(--d)!important;font-weight:200!important;font-size:clamp(52px,11.5vw,190px)!important;line-height:.86!important;letter-spacing:-.04em!important;color:#fff!important}
.cd2 .wall-sub{position:absolute;left:var(--g);right:var(--g);bottom:26px;z-index:3;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.cd2 .wall-sub>.e-con-inner{display:contents}
.cd2 .wall-sub .elementor-widget{width:auto}
.cd2 .wall-sub p{max-width:32ch;font-size:14px;color:var(--dim)}
.cd2 .cue{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);display:flex;align-items:center;gap:10px}
.cd2 .cue::after{content:"";width:7px;height:7px;background:var(--or);transform:rotate(45deg);animation:cd2pulse 2.2s ease-in-out infinite}
@keyframes cd2pulse{0%,100%{opacity:.3;transform:rotate(45deg) scale(.8)}50%{opacity:1;transform:rotate(45deg) scale(1.2)}}
/* marquee */
.cd2 .marq{border-block:1px solid var(--faint);padding:20px 0;overflow:clip;background:var(--noir);position:relative;z-index:4}
.cd2 .marq .run{display:flex;gap:38px;width:max-content;animation:cd2run 26s linear infinite;will-change:transform}
.cd2 .marq .run span{font-family:var(--d);font-weight:300;font-size:clamp(22px,3.2vw,40px);letter-spacing:-.01em;white-space:nowrap;display:flex;align-items:center;gap:38px}
.cd2 .marq .run span::after{content:"";width:10px;height:10px;background:var(--or);transform:rotate(45deg);flex:none}
@keyframes cd2run{to{transform:translateX(-50%)}}
/* morph */
.cd2 .morph{height:520vh;position:relative}
.cd2 .morph-stage{position:sticky;top:0;height:100vh;overflow:clip;background:#100C0A;transition:background .6s linear;display:grid;place-items:center}
.cd2 .morph-in{width:100%;max-width:1320px;padding:0 var(--g);display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,70px);align-items:center}
.cd2 .morph-media{position:relative;aspect-ratio:1;background:var(--ivoire)}
.cd2 .morph-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:9%;mix-blend-mode:multiply;clip-path:polygon(50% 50%,50% 50%,50% 50%,50% 50%);transition:clip-path .85s cubic-bezier(.76,0,.24,1)}
.cd2 .morph-media img.on{clip-path:polygon(50% -110%,210% 50%,50% 210%,-110% 50%)}
.cd2 .morph-num{position:absolute;left:-14px;top:-26px;font-family:var(--d);font-weight:200;font-size:clamp(60px,9vw,140px);line-height:1;color:var(--ivoire);opacity:.16;z-index:2}
.cd2 .morph-txt h2{font-family:var(--d);font-weight:200;font-size:clamp(46px,7.4vw,116px);line-height:.9;letter-spacing:-.035em;overflow:clip}
.cd2 .morph-txt h2 b{display:block;font-weight:200;transform:translateY(105%);transition:transform .8s cubic-bezier(.76,0,.24,1)}
.cd2 .morph-txt h2.on b{transform:none}
.cd2 .morph-txt p{color:var(--dim);max-width:34ch;margin:24px 0 0;opacity:0;transform:translateY(14px);transition:.7s cubic-bezier(.76,0,.24,1) .12s}
.cd2 .morph-txt p.on{opacity:1;transform:none}
.cd2 .morph-tag{display:inline-flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--or);margin-bottom:24px}
.cd2 .morph-tag::before{content:"";width:8px;height:8px;background:currentColor;transform:rotate(45deg)}
.cd2 .dots{position:absolute;right:var(--g);top:50%;transform:translateY(-50%);display:grid;gap:12px;z-index:5}
.cd2 .dots i{width:8px;height:8px;background:var(--faint);transform:rotate(45deg);transition:.4s}
.cd2 .dots i.on{background:var(--or);transform:rotate(45deg) scale(1.7)}
/* headings */
.cd2 h3.sec,.cd2 h3.elementor-heading-title{font-family:var(--d)!important;font-weight:200!important;font-size:clamp(32px,5vw,66px)!important;line-height:1!important;letter-spacing:-.025em!important;color:var(--ivoire)!important}
.cd2 .eyeb .elementor-heading-title,.cd2 .eyeb{font-family:var(--s)!important;font-size:11px!important;letter-spacing:.2em!important;text-transform:uppercase!important;color:var(--or)!important;font-weight:400!important;line-height:1.6!important}
.cd2 .eyeb{display:flex;align-items:center;gap:9px;margin-bottom:16px}
.cd2 .eyeb::before{content:"";width:8px;height:8px;background:currentColor;transform:rotate(45deg);flex:none}
.cd2 .elementor-widget-text-editor{color:var(--dim)}
/* deck */
.cd2 .deck{padding:clamp(70px,9vw,130px) 0 0}
.cd2 .deck-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:44px}
.cd2 .deck-head>.e-con-inner{display:contents}
.cd2 .deck-head .elementor-widget{width:auto}
.cd2 .stack{position:relative}
.cd2 .sticky-card{position:sticky;display:grid;grid-template-columns:.9fr 1.1fr;border:1px solid var(--faint);background:#171110;overflow:clip;margin-bottom:26px}
.cd2 .sticky-card .pic{background:var(--ivoire);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;padding:26px;overflow:clip}
.cd2 .sticky-card .pic img{mix-blend-mode:multiply;max-height:100%;object-fit:contain;transition:transform .8s cubic-bezier(.76,0,.24,1)}
.cd2 .sticky-card:hover .pic img{transform:scale(1.07)}
.cd2 .sticky-card .info{padding:clamp(24px,3vw,48px);display:flex;flex-direction:column;justify-content:center;gap:14px}
.cd2 .sticky-card .info h4{font-family:var(--d);font-weight:300;font-size:clamp(26px,3.4vw,44px);line-height:1.02;letter-spacing:-.02em}
.cd2 .sticky-card .meta{display:flex;gap:22px;font-size:13px;color:var(--dim);flex-wrap:wrap}
.cd2 .sticky-card .row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px}
.cd2 .pricetag{font-family:var(--d);font-size:30px;font-weight:300}
.cd2 .mag,.cd2 .elementor-button{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--faint);background:none;color:var(--ivoire);padding:13px 24px;font-family:var(--s)!important;font-size:13.5px!important;font-weight:500!important;border-radius:0!important;clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);transition:background .3s,color .3s,border-color .3s;will-change:transform}
.cd2 .mag:hover,.cd2 .elementor-button:hover{background:var(--ivoire)!important;color:var(--noir)!important;border-color:var(--ivoire)}
.cd2 .mag.solid{background:var(--ivoire);color:var(--noir);border-color:var(--ivoire)}
.cd2 .mag.solid:hover{background:var(--or);border-color:var(--or)}
/* editions pinned track */
.cd2 .ed{padding:0;position:relative;background:#171110;border-block:1px solid var(--faint)}
.cd2 .ed-pin{position:sticky;top:0;height:100vh;overflow:clip}
.cd2 .ed-pin>.e-con-inner{display:flex;flex-direction:column;justify-content:center;height:100%}
.cd2 .ed-head{padding:0 var(--g);margin-bottom:clamp(24px,4vw,44px)}
.cd2 .drag{display:flex;gap:20px;padding:0 0 0 max(var(--g),calc((100vw - 1320px)/2 + var(--g)));user-select:none;width:max-content;will-change:transform}
.cd2 .ed-card{flex:0 0 clamp(260px,30vw,420px)}
.cd2 .ed-card .pic{background:var(--ivoire);aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;padding:22px;overflow:clip}
.cd2 .ed-card .pic img{mix-blend-mode:multiply;max-height:100%;object-fit:contain;transition:transform .9s cubic-bezier(.76,0,.24,1)}
.cd2 .ed-card:hover .pic img{transform:scale(1.06)}
.cd2 .ed-card h4{font-family:var(--d);font-weight:300;font-size:26px;margin:18px 0 6px}
.cd2 .ed-card p{font-size:14px;color:var(--dim);max-width:30ch}
.cd2 .ed-prog{margin:clamp(26px,4vw,44px) auto 0;width:100%;max-width:1320px;padding:0 var(--g);display:flex;align-items:center;gap:16px}
.cd2 .ed-prog em{font-style:normal;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(243,237,227,.4)}
.cd2 .ed-prog .tk{flex:1;height:2px;background:var(--faint);position:relative}
.cd2 .ed-prog .fl{position:absolute;left:0;top:0;height:100%;width:0;background:var(--or)}
/* reveal */
.cd2 .rv{opacity:0;transform:translateY(30px);transition:opacity .9s ease,transform .9s cubic-bezier(.76,0,.24,1)}
.cd2 .rv.on{opacity:1;transform:none}
.cd2 .split .w{display:inline-block;overflow:hidden;vertical-align:top}
.cd2 .split .w>span{display:inline-block;transform:translateY(105%);transition:transform .95s cubic-bezier(.76,0,.24,1)}
.cd2 .split.on .w>span{transform:none}
/* pack */
.cd2 .pack-sec{padding:clamp(80px,10vw,140px) 0}
.cd2 .pack-grid{display:grid;grid-template-columns:1fr 360px;gap:clamp(24px,4vw,60px);align-items:start;margin-top:44px}
.cd2 .pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}
.cd2 .pick button{border:1px solid var(--faint);text-align:left;transition:border-color .3s,transform .3s}
.cd2 .pick button:hover{border-color:var(--or);transform:translateY(-3px)}
.cd2 .pick .p{background:var(--ivoire);aspect-ratio:1;display:flex;align-items:center;justify-content:center;padding:11px}
.cd2 .pick .p img{mix-blend-mode:multiply;max-height:100%;object-fit:contain}
.cd2 .pick .l{padding:10px 12px;font-size:12px;line-height:1.3;display:block}
.cd2 .pick .l b{display:block;color:var(--or);margin-top:3px}
.cd2 .box{border:1px solid var(--faint);padding:26px;position:sticky;top:100px}
.cd2 .slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}
.cd2 .slot{aspect-ratio:1;border:1px dashed rgba(243,237,227,.2);display:grid;place-items:center;font-size:10.5px;color:rgba(243,237,227,.3)}
.cd2 .slot.full{border:1px solid var(--or);background:var(--ivoire);animation:cd2drop .5s cubic-bezier(.34,1.56,.64,1)}
.cd2 .slot.full img{mix-blend-mode:multiply;width:100%;height:100%;object-fit:contain;padding:6px}
@keyframes cd2drop{0%{transform:scale(.5) rotate(-14deg);opacity:0}100%{transform:none;opacity:1}}
.cd2 .tot{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--faint);padding-top:16px}
.cd2 .tot b{font-family:var(--d);font-size:32px;font-weight:300}
/* strip + footer */
.cd2 .strip{border-block:1px solid var(--faint);display:grid;grid-template-columns:repeat(4,1fr)}
.cd2 .strip>div{padding:32px 24px;border-left:1px solid var(--faint)}
.cd2 .strip>div:first-child{border-left:none}
.cd2 .strip b{display:block;font-size:14px;font-weight:500;margin-bottom:5px}
.cd2 .strip span{font-size:13px;color:var(--dim)}
.cd2 .foot{padding:clamp(70px,9vw,120px) 0 40px}
.cd2 .foot-big .elementor-heading-title,.cd2 .foot-big{font-family:var(--d)!important;font-weight:200!important;font-size:clamp(54px,14vw,210px)!important;line-height:.84!important;letter-spacing:-.045em!important;margin-bottom:60px;color:var(--ivoire)!important}
.cd2 .fcols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:28px;font-size:14px}
.cd2 .fcols h5{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--or);margin-bottom:14px;font-weight:500}
.cd2 .fcols a{display:block;color:var(--dim);padding:4px 0}
.cd2 .fcols a:hover{color:var(--ivoire)}
.cd2 .fend{display:flex;justify-content:space-between;gap:14px;margin-top:50px;padding-top:22px;border-top:1px solid var(--faint);font-size:12px;color:rgba(243,237,227,.4);flex-wrap:wrap}
.cd2 .field{display:flex;border:1px solid var(--faint);margin-top:18px;max-width:420px}
.cd2 .field input{flex:1;background:none;border:none;color:var(--ivoire);padding:14px 16px;font:inherit;font-size:14px}
.cd2 .field input::placeholder{color:rgba(243,237,227,.35)}
.cd2 .field button{background:var(--ivoire);color:var(--noir);padding:0 22px;font-size:13.5px;font-weight:500}
@media(max-width:900px){
.cd2 .cols{grid-template-columns:repeat(3,1fr)}
.cd2 .nav{display:none}
.cd2 .morph-in{grid-template-columns:1fr;gap:26px}
.cd2 .morph-media{aspect-ratio:4/3}
.cd2 .dots{display:none}
.cd2 .sticky-card{grid-template-columns:1fr}
.cd2 .pack-grid{grid-template-columns:1fr}
.cd2 .strip{grid-template-columns:1fr 1fr}
.cd2 .strip>div:nth-child(3){border-left:none}
.cd2 .strip>div:nth-child(n+3){border-top:1px solid var(--faint)}
.cd2 .fcols{grid-template-columns:1fr 1fr}
.cd2 .box{position:static}
.cd2 .ed{height:auto!important}
.cd2 .ed-pin{position:static;height:auto;padding:clamp(70px,10vw,120px) 0;overflow:visible}
.cd2 .drag{transform:none!important;overflow-x:auto;padding:0 var(--g);scroll-snap-type:x mandatory;width:auto}
.cd2 .ed-card{scroll-snap-align:start}
.cd2 .ed-prog{display:none}
}
@media(prefers-reduced-motion:reduce){
.cd2 *{transition:none!important;animation:none!important}
.cd2 .rv,.cd2 .split .w>span,.cd2 .morph-txt h2 b{opacity:1;transform:none}
.cd2 .morph-txt p{opacity:1;transform:none}
.cd2 .morph{height:auto}.cd2 .morph-stage{position:static;height:auto;padding:80px 0}
.cd2 .morph-media img{display:none}
.cd2 .morph-media img.on{display:block;clip-path:none}
.cd2 .grain{display:none}
}
