/* FATIHA ÉDITION LUXE — scoped styling only for /projets/fatiha/ */
.case-gallery.fatiha-showcase.ft-luxe{
 display:block!important;width:min(100%,1120px)!important;max-width:1120px!important;
 padding:0 0 clamp(32px,5vw,66px)!important;margin:clamp(25px,3.5vw,46px) auto 0!important;
 gap:0!important;grid-template-columns:none!important;align-items:initial!important;
 color:var(--ink,#221a18);overflow:visible!important;
 --ft-red:#8c1d22;--ft-ink:var(--ink,#241b18);--ft-muted:var(--muted,#81766e);
 --ft-ease:cubic-bezier(.17,.76,.23,1);
}
.ft-luxe,.ft-luxe *{box-sizing:border-box}
.ft-luxe h2,.ft-luxe h3,.ft-luxe p,.ft-luxe figure{margin:0}
.ft-luxe .ft-figure{position:relative;display:block!important;min-width:0!important;margin:0!important;
 padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;overflow:visible!important;cursor:zoom-in}
.ft-luxe .ft-figure img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;
 aspect-ratio:auto;object-fit:contain!important;object-position:center!important;border:0!important;border-radius:0!important;
 box-shadow:none!important;background:transparent!important;transform:none!important;transition:filter .5s ease,transform .85s var(--ft-ease)!important}
.ft-luxe .ft-figure figcaption{display:flex;justify-content:space-between;margin-top:10px!important;
 color:var(--ft-muted);font:500 9px/1.5 var(--sans,Arial,sans-serif)!important;letter-spacing:.12em;text-transform:uppercase}
.ft-luxe .ft-figure:focus-visible{outline:1px solid var(--ft-red);outline-offset:5px}
.ft-luxe .ft-section{margin-top:clamp(80px,10vw,146px)}
.ft-luxe .ft-eyebrow,.ft-luxe .ft-section-label,.ft-luxe .ft-small-rule,.ft-luxe .ft-signoff{
 display:flex;align-items:center;justify-content:space-between;gap:14px;
 font:500 9px/1.6 var(--sans,Arial,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:var(--ft-muted)}
.ft-luxe .ft-section-label{padding:14px 0 0;margin-bottom:clamp(24px,3vw,40px);border-top:1px solid rgba(35,27,19,.22);position:relative}
.ft-luxe .ft-section-label span:last-child{opacity:.75;text-align:right}
.ft-luxe h2,.ft-luxe h3{font-family:var(--display,var(--serif,Georgia,serif));font-weight:400;line-height:1.03;letter-spacing:-.05em;color:var(--ft-ink)}
.ft-luxe h2 em,.ft-luxe h3 em,.ft-luxe .ft-aside em{font-family:var(--serif,Georgia,serif);font-weight:400;color:var(--ft-red)}
/* Hero: copy and hero product rather than oversized cards */
.ft-luxe .ft-opening{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(26px,5vw,78px);align-items:center}
.ft-luxe .ft-opening-copy{padding:0 clamp(0px,1vw,13px) 0 0}
.ft-luxe .ft-eyebrow{margin-bottom:clamp(26px,4vw,54px);padding-bottom:14px;border-bottom:1px solid rgba(35,27,19,.16)}
.ft-luxe .ft-opening h2{font-size:clamp(51px,6vw,85px);margin-bottom:18px}
.ft-luxe .ft-tagline{font:italic clamp(17px,1.7vw,23px)/1.5 var(--serif,Georgia,serif);color:var(--ft-muted)}
.ft-luxe .ft-opening-mark{width:min(65%,220px)!important;margin:clamp(28px,4vw,49px) 0 17px!important}
.ft-luxe .ft-small-rule{border-top:1px solid rgba(35,27,19,.14);padding-top:12px;max-width:320px;font-size:8px}
.ft-luxe .ft-lead-photo{width:100%;max-width:510px;justify-self:end;margin:18px 0 0!important}
/* 02 identity: modest quiet 4-up strip plus horizontal signature */
.ft-luxe .ft-lede,.ft-luxe .ft-packaging-head,.ft-luxe .ft-campaign-head{
 display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:clamp(27px,3.5vw,49px)}
.ft-luxe .ft-lede h3,.ft-luxe .ft-packaging-head h3,.ft-luxe .ft-campaign-head h3{font-size:clamp(39px,4.9vw,69px)}
.ft-luxe .ft-lede p,.ft-luxe .ft-packaging-head p,.ft-luxe .ft-campaign-head p{
 color:var(--ft-muted);font:400 12px/1.6 var(--sans,Arial,sans-serif);max-width:218px}
.ft-luxe .ft-identity-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,1.4vw,18px)}
.ft-luxe .ft-identity-strip img{aspect-ratio:1!important;object-fit:contain!important}
.ft-luxe .ft-signature-horizontal{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(24px,6vw,90px);margin-top:clamp(35px,5vw,65px)}
.ft-luxe .ft-signature-horizontal>.ft-figure{width:100%;max-width:600px}
.ft-luxe .ft-signature-horizontal>p{font:400 clamp(25px,3vw,42px)/1.14 var(--display,var(--serif,Georgia,serif));letter-spacing:-.035em}
.ft-luxe .ft-signature-horizontal>p em{color:var(--ft-red);font:italic 400 1em var(--serif,Georgia,serif)}
/* 03 product collection */
.ft-luxe .ft-packaging-stage{display:grid;grid-template-columns:minmax(0,1.26fr) minmax(0,.74fr);gap:clamp(22px,4.8vw,72px);align-items:start}
.ft-luxe .ft-strawberry-jars{max-width:660px}
.ft-luxe .ft-packaging-right{display:flex;flex-direction:column;align-items:flex-end;padding-top:clamp(28px,5.2vw,84px)}
.ft-luxe .ft-micro{align-self:flex-start;color:var(--ft-muted);font:500 9px/1.4 var(--sans,Arial,sans-serif);letter-spacing:.12em;margin:0 0 14px}
.ft-luxe .ft-lemon-jars{width:min(100%,335px)!important}
.ft-luxe .ft-aside{font:400 clamp(21px,2.65vw,36px)/1.12 var(--display,var(--serif,Georgia,serif));letter-spacing:-.04em;align-self:flex-start;margin-top:clamp(18px,3vw,34px)!important}
/* 04 sensory art direction, no masks that crop brand content */
.ft-luxe .ft-sense-top{display:grid;grid-template-columns:minmax(0,.64fr) minmax(0,.9fr) minmax(0,1.02fr);gap:clamp(15px,2.5vw,36px);align-items:start}
.ft-luxe .ft-sense-copy{padding:clamp(7px,3vw,41px) 0 0}
.ft-luxe .ft-sense-copy h3{font-size:clamp(39px,4.4vw,63px)}
.ft-luxe .ft-sense-copy p{margin-top:clamp(18px,3vw,39px);padding-top:14px;border-top:1px solid var(--ft-red);max-width:204px;font:400 12px/1.7 var(--sans,Arial,sans-serif);color:var(--ft-muted)}
.ft-luxe .ft-toast{margin-top:clamp(65px,9vw,131px)!important}
.ft-luxe .ft-sense-bottom{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,.55fr) minmax(0,1.08fr);gap:clamp(18px,4vw,65px);align-items:start;margin-top:clamp(-28px,-2vw,-9px)}
.ft-luxe .ft-rose{width:100%;max-width:335px;margin-top:clamp(18px,5vw,80px)!important}
.ft-luxe .ft-natural-note{padding:clamp(90px,12vw,156px) 0 0;display:flex;flex-direction:column;gap:13px;align-items:flex-start;font:500 9px/1.4 var(--sans,Arial,sans-serif);letter-spacing:.13em;color:var(--ft-muted)}
.ft-luxe .ft-natural-note b{font:400 clamp(23px,3.4vw,48px)/1 var(--display,var(--serif,Georgia,serif));letter-spacing:.14em;color:var(--ft-red)}
.ft-luxe .ft-orchard{margin-top:0!important}
/* 05 campaign: triptych with original untouched compositions */
.ft-luxe .ft-campaign-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.88fr) minmax(0,1fr);align-items:start;gap:clamp(12px,2vw,31px)}
.ft-luxe .ft-camp-a{margin-top:clamp(45px,8vw,115px)!important}
.ft-luxe .ft-camp-b{margin-top:0!important}
.ft-luxe .ft-camp-c{margin-top:clamp(90px,13vw,180px)!important}
.ft-luxe .ft-finale{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(25px,6vw,92px);margin-top:clamp(55px,8vw,108px)}
.ft-luxe .ft-finale-copy span{font:500 9px/1.4 var(--sans,Arial,sans-serif);letter-spacing:.14em;color:var(--ft-muted)}
.ft-luxe .ft-finale-copy h3{font-size:clamp(42px,5vw,73px);margin:23px 0}
.ft-luxe .ft-finale-copy p{max-width:230px;font:400 12px/1.7 var(--sans,Arial,sans-serif);color:var(--ft-muted)}
.ft-luxe .ft-finale-logo{max-width:435px;justify-self:end}
.ft-luxe .ft-signoff{border-top:1px solid rgba(35,27,19,.25);padding-top:16px;margin-top:clamp(55px,8vw,103px)}
/* Movement: only a few visual highlights, every image visible without JS */
.ft-luxe .ft-section-label{border-top:0}
.ft-luxe .ft-section-label::before{position:absolute;top:0;left:0;right:0;height:1px;content:'';background:rgba(35,27,19,.25);transform-origin:left;transform:scaleX(1)}
.ft-luxe.ft-motion-active .ft-section-label::before{transform:scaleX(0);transition:transform 1.05s var(--ft-ease)}
.ft-luxe.ft-motion-active .ft-section-label.line-visible::before{transform:scaleX(1)}
.ft-luxe.ft-motion-active .ft-opening h2,
.ft-luxe.ft-motion-active .ft-lede h3,
.ft-luxe.ft-motion-active .ft-packaging-head h3,
.ft-luxe.ft-motion-active .ft-sense-copy h3,
.ft-luxe.ft-motion-active .ft-campaign-head h3,
.ft-luxe.ft-motion-active .ft-finale-copy h3{opacity:0;transform:translateY(16px);transition:opacity .8s var(--ft-ease),transform .8s var(--ft-ease)}
.ft-luxe.ft-motion-active .ft-opening h2.is-visible,
.ft-luxe.ft-motion-active .ft-lede h3.is-visible,
.ft-luxe.ft-motion-active .ft-packaging-head h3.is-visible,
.ft-luxe.ft-motion-active .ft-sense-copy h3.is-visible,
.ft-luxe.ft-motion-active .ft-campaign-head h3.is-visible,
.ft-luxe.ft-motion-active .ft-finale-copy h3.is-visible{opacity:1;transform:none}
.ft-luxe.ft-motion-active .ft-lead-photo img,
.ft-luxe.ft-motion-active .ft-strawberry-jars img,
.ft-luxe.ft-motion-active .ft-camp-b img{clip-path:inset(0 0 8% 0);opacity:.85;transition:clip-path 1.1s var(--ft-ease),opacity 1.1s ease,transform .75s var(--ft-ease)!important}
.ft-luxe.ft-motion-active .ft-lead-photo.is-visible img,
.ft-luxe.ft-motion-active .ft-strawberry-jars.is-visible img,
.ft-luxe.ft-motion-active .ft-camp-b.is-visible img{clip-path:inset(0);opacity:1}
.ft-luxe.ft-motion-active .ft-identity-strip .ft-figure{opacity:0;transform:translateY(14px);transition:opacity .75s var(--ft-ease),transform .75s var(--ft-ease)}
.ft-luxe.ft-motion-active .ft-identity-strip .ft-figure.is-visible{opacity:1;transform:none}
.ft-luxe.ft-motion-active .ft-identity-strip .ft-figure:nth-child(2){transition-delay:.07s}
.ft-luxe.ft-motion-active .ft-identity-strip .ft-figure:nth-child(3){transition-delay:.14s}
.ft-luxe.ft-motion-active .ft-identity-strip .ft-figure:nth-child(4){transition-delay:.21s}
@media(hover:hover) and (pointer:fine){
 .ft-luxe .ft-figure:hover img{transform:translateY(-2px)!important;filter:brightness(1.012)}
 .ft-luxe .ft-figure figcaption{transition:color .25s ease}
 .ft-luxe .ft-figure:hover figcaption{color:var(--ft-red)}
}
/* Keyboard-accessible image viewer */
.ft-image-overlay{display:flex;visibility:hidden;opacity:0;pointer-events:none;position:fixed;inset:0;z-index:20000;align-items:center;justify-content:center;gap:20px;padding:clamp(18px,3vw,50px);background:rgba(19,9,8,.94);backdrop-filter:blur(12px);transition:opacity .26s ease,visibility .26s ease}
.ft-image-overlay.is-open{visibility:visible;opacity:1;pointer-events:auto}
.ft-image-overlay img{display:block;max-width:min(1100px,85vw);max-height:82vh;width:auto;height:auto;object-fit:contain;box-shadow:none}
.ft-image-overlay button{font-family:Arial,sans-serif;cursor:pointer;display:grid;place-items:center;width:44px;height:44px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.5);color:#fff;border-radius:50%;font-size:22px;flex:none}
.ft-image-overlay button:hover{background:rgba(255,255,255,.16)}
.ft-image-overlay .ft-close{position:absolute;right:clamp(17px,3vw,36px);top:clamp(15px,2vw,30px);z-index:1}
.ft-image-overlay .ft-counter{position:absolute;top:clamp(18px,2vw,33px);left:clamp(18px,3vw,37px);font:500 11px/1.4 Arial,sans-serif;letter-spacing:.17em;color:#fff}
.ft-image-overlay .ft-caption{position:absolute;bottom:20px;left:46px;right:46px;text-align:center;font:400 11px/1.5 Arial,sans-serif;color:#eee}
@media(max-width:900px){.ft-luxe .ft-opening{grid-template-columns:.88fr 1.12fr;gap:25px}.ft-luxe .ft-sense-top{grid-template-columns:.67fr .95fr 1fr;gap:14px}}
@media(max-width:650px){
 .case-gallery.fatiha-showcase.ft-luxe{margin-top:23px!important;padding-bottom:25px!important}
 .ft-luxe .ft-opening{grid-template-columns:1fr;gap:26px}
 .ft-luxe .ft-eyebrow{margin-bottom:21px}
 .ft-luxe .ft-opening h2{font-size:clamp(49px,12vw,72px);margin-bottom:13px}
 .ft-luxe .ft-opening-mark{width:min(45%,162px)!important;margin:18px 0 8px!important}
 .ft-luxe .ft-lead-photo{max-width:100%;margin:0!important}
 .ft-luxe .ft-section{margin-top:72px}
 .ft-luxe .ft-lede,.ft-luxe .ft-packaging-head,.ft-luxe .ft-campaign-head{display:block}
 .ft-luxe .ft-lede h3,.ft-luxe .ft-packaging-head h3,.ft-luxe .ft-campaign-head h3{font-size:clamp(41px,9vw,55px)}
 .ft-luxe .ft-lede p,.ft-luxe .ft-packaging-head p,.ft-luxe .ft-campaign-head p{margin-top:15px;max-width:320px}
 .ft-luxe .ft-identity-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .ft-luxe .ft-signature-horizontal{grid-template-columns:1fr;margin-top:38px;gap:16px}
 .ft-luxe .ft-signature-horizontal>p{font-size:31px}
 .ft-luxe .ft-packaging-stage{grid-template-columns:1fr;gap:23px}
 .ft-luxe .ft-packaging-right{padding:0;display:grid;grid-template-columns:1.25fr .75fr;gap:15px;align-items:center}
 .ft-luxe .ft-micro{grid-column:1/-1}
 .ft-luxe .ft-aside{font-size:clamp(20px,5vw,29px);margin:0!important}
 .ft-luxe .ft-sense-top{grid-template-columns:1fr 1fr;gap:14px}
 .ft-luxe .ft-sense-copy{grid-column:1/-1;padding-bottom:13px}
 .ft-luxe .ft-sense-copy h3{font-size:clamp(42px,9.5vw,59px)}
 .ft-luxe .ft-sense-copy p{max-width:290px;margin-top:20px}
 .ft-luxe .ft-toast{margin-top:54px!important}
 .ft-luxe .ft-sense-bottom{grid-template-columns:1fr 1fr;gap:15px;margin-top:26px}
 .ft-luxe .ft-rose{margin-top:0!important}
 .ft-luxe .ft-natural-note{grid-column:1/-1;grid-row:2;flex-direction:row;align-items:center;justify-content:space-between;padding:16px 0 0;gap:10px}
 .ft-luxe .ft-natural-note b{font-size:30px}
 .ft-luxe .ft-campaign-grid{grid-template-columns:1fr 1fr;gap:14px}
 .ft-luxe .ft-camp-a{margin-top:12px!important}
 .ft-luxe .ft-camp-b{grid-column:2;grid-row:1 / span 2}
 .ft-luxe .ft-camp-c{margin-top:16px!important}
 .ft-luxe .ft-finale{grid-template-columns:1fr 1fr;gap:17px;margin-top:75px}
 .ft-luxe .ft-finale-copy h3{font-size:clamp(33px,8vw,55px);margin:15px 0}
 .ft-luxe .ft-finale-copy p{font-size:11px}
 .ft-luxe .ft-signoff{flex-wrap:wrap;margin-top:63px;font-size:8px}
 .ft-luxe .ft-signoff span:last-child{display:none}
 .ft-image-overlay{padding:12px;gap:0}
 .ft-image-overlay img{max-width:95vw;max-height:76vh}
 .ft-image-overlay .ft-prev,.ft-image-overlay .ft-next{position:absolute;bottom:62px;width:39px;height:39px}
 .ft-image-overlay .ft-prev{left:16px}.ft-image-overlay .ft-next{right:16px}
 .ft-image-overlay .ft-caption{bottom:15px;font-size:9px;padding:0 40px}
}
@media(prefers-reduced-motion:reduce){
 .ft-luxe.ft-motion-active .ft-opening h2,.ft-luxe.ft-motion-active .ft-lede h3,
 .ft-luxe.ft-motion-active .ft-packaging-head h3,.ft-luxe.ft-motion-active .ft-sense-copy h3,
 .ft-luxe.ft-motion-active .ft-campaign-head h3,.ft-luxe.ft-motion-active .ft-finale-copy h3,
 .ft-luxe.ft-motion-active .ft-identity-strip .ft-figure{opacity:1!important;transform:none!important;transition:none!important}
 .ft-luxe.ft-motion-active .ft-lead-photo img,.ft-luxe.ft-motion-active .ft-strawberry-jars img,
 .ft-luxe.ft-motion-active .ft-camp-b img{clip-path:none!important;opacity:1!important;transition:none!important}
 .ft-luxe.ft-motion-active .ft-section-label::before{transform:none!important;transition:none!important}
 .ft-luxe .ft-figure img{transition:none!important}
 .ft-image-overlay{transition:none}
}
