/* FORTIS — ÉDITION ÉDITORIALE  |  Scoped to .ft-case */
.ft-case{--ft-ink:#39281f;--ft-muted:#88786d;--ft-coffee:#b86c38;--ft-paper:#f2ece3;--ft-cream:#e9dfd1;color:var(--ft-ink);font-family:var(--sans,Inter,Arial,sans-serif);width:100%;overflow:visible}
.ft-case *{box-sizing:border-box}
.ft-case .ft-inner{width:min(1160px,calc(100% - 48px));margin:0 auto;padding:clamp(36px,6vw,86px) 0 clamp(28px,4vw,60px)}
.ft-case .ft-kicker{display:flex;justify-content:space-between;gap:22px;padding:0 0 15px;border-bottom:1px solid rgba(60,42,30,.21);color:var(--ft-ink);font-size:10px;font-weight:600;letter-spacing:.15em}
.ft-case .ft-opening{margin-top:clamp(26px,3vw,46px);display:grid;grid-template-columns:.96fr 1.4fr .65fr;align-items:center;gap:clamp(14px,2.15vw,30px)}
.ft-case .ft-opening-copy{align-self:center;padding-right:clamp(0px,1.5vw,20px)}
.ft-case .ft-num{display:block;font-size:10px;letter-spacing:.18em;font-weight:600;color:var(--ft-coffee);text-transform:uppercase}
.ft-case h2,.ft-case h3{margin:0;color:var(--ft-ink);font-family:var(--display,var(--serif,Georgia,serif));font-weight:400;letter-spacing:-.045em;line-height:1.05}
.ft-case h2{font-size:clamp(35px,4.1vw,66px);margin:24px 0 19px}
.ft-case h3{font-size:clamp(34px,3.55vw,54px)}
.ft-case h2 em,.ft-case h3 em{font-weight:400;font-family:var(--serif,Georgia,serif);font-style:italic;color:var(--ft-coffee)}
.ft-case p{margin:0;font-size:clamp(13px,1.05vw,16px);line-height:1.8;color:#74685d}
.ft-case .ft-opening-copy p{max-width:300px}
.ft-case .ft-opening-rule,.ft-case .ft-hairline{display:block;background:rgba(60,42,30,.22);height:1px;width:min(120px,45%);margin:28px 0 12px}
.ft-case .ft-opening-signature{font-size:9px;letter-spacing:.17em;color:var(--ft-muted)}
.ft-case figure{margin:0!important;min-width:0;position:relative}
.ft-case .ft-image-button{display:block;position:relative;width:100%;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;color:inherit;line-height:0;overflow:hidden;cursor:zoom-in;isolation:isolate}
.ft-case .ft-image-button img{display:block!important;width:100%!important;height:auto!important;max-width:100%;object-fit:contain!important;transform:none;transition:transform .8s cubic-bezier(.2,.7,.25,1),filter .5s ease;box-shadow:none!important;border-radius:0!important}
.ft-case figcaption{margin-top:11px;font-size:9px;letter-spacing:.09em;color:var(--ft-muted);line-height:1.55;text-transform:uppercase}
.ft-case .ft-image-action{position:absolute;bottom:12px;right:12px;display:flex;align-items:center;gap:13px;background:rgba(245,240,233,.95);color:#39281f;padding:13px 15px;font-size:9px;font-weight:600;letter-spacing:.13em;line-height:1;opacity:0;transform:translateY(8px);transition:opacity .28s,transform .28s;pointer-events:none}
.ft-case .ft-image-action span{font-size:17px}
@media(hover:hover) and (pointer:fine){.ft-case .ft-image-button:hover img{transform:scale(1.012)}.ft-case .ft-image-button:hover .ft-image-action,.ft-case .ft-image-button:focus-visible .ft-image-action{opacity:1;transform:none}}
.ft-case .ft-image-button:focus-visible{outline:3px solid var(--ft-coffee)!important;outline-offset:4px}
.ft-case .ft-opening-detail{align-self:end;padding-bottom:45px}
.ft-case .ft-section-title{display:flex;justify-content:space-between;align-items:end;gap:30px;margin:clamp(86px,11vw,145px) 0 25px;border-top:1px solid rgba(60,42,30,.2);padding-top:27px}
.ft-case .ft-section-title h3{margin:13px 0 0;max-width:760px}
.ft-case .ft-section-title > p{max-width:235px;padding-bottom:5px;font-size:13px}
.ft-case .ft-logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.ft-case .ft-symbols{margin:clamp(25px,4vw,50px) 0 0;display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:40px;padding:20px 0}
.ft-case .ft-symbol-intro{max-width:270px;padding-left:clamp(0px,3vw,40px)}
.ft-case .ft-symbol-intro p{margin-top:14px;font-family:var(--serif,Georgia,serif);font-size:clamp(18px,2vw,25px);line-height:1.45}
.ft-case .ft-symbols figure{max-width:560px}
.ft-case .ft-pack-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(15px,2.3vw,30px);align-items:start}
.ft-case .ft-pack-grid figure:nth-child(2){width:82%;justify-self:end;margin-top:15%!important}
.ft-case .ft-coffee-feature{display:grid;grid-template-columns:.68fr 1fr;gap:clamp(35px,7vw,100px);align-items:center;margin:clamp(40px,7vw,100px) auto 0;width:80%}
.ft-case .ft-coffee-feature figure{max-width:340px}
.ft-case .ft-feature-copy h3{margin:13px 0 19px}
.ft-case .ft-feature-copy p{max-width:300px}
.ft-case .ft-panorama{width:100%;margin-top:10px}
.ft-case .ft-panorama .ft-image-button img{max-height:none!important}
.ft-case .ft-atmos-grid{margin-top:clamp(22px,3vw,42px);display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(16px,2.4vw,33px);align-items:start}
.ft-case .ft-atmos-grid figure:nth-child(2){margin-top:clamp(0px,6vw,95px)!important}
.ft-case .ft-people{width:80%;margin:clamp(42px,7vw,95px) auto 0!important}
.ft-case .ft-pattern-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.4vw,32px);align-items:start}
.ft-case .ft-pattern-grid figure:nth-child(2){width:78%;margin-top:15%!important;justify-self:end}
.ft-case .ft-end{display:flex;justify-content:space-between;gap:20px;padding:32px 0 0;margin-top:clamp(65px,8vw,115px);border-top:1px solid rgba(60,42,30,.22);font-size:10px;letter-spacing:.13em;font-weight:600;color:var(--ft-muted)}
.ft-case .ft-end span:last-child span{font-size:18px;vertical-align:middle}
/* Motion, enabled only after script initializes */
.ft-case.ft-motion .ft-reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform 1s cubic-bezier(.22,1,.36,1)}
.ft-case.ft-motion .ft-reveal.ft-in{opacity:1;transform:none}
/* Modal */
.ft-case .ft-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(20,15,12,.97);color:#faf6ef;display:flex;justify-content:center;align-items:center;gap:clamp(7px,2vw,25px);padding:65px clamp(12px,3vw,40px) 34px;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}
.ft-case .ft-lightbox[aria-hidden="false"]{visibility:visible;opacity:1;pointer-events:auto}
.ft-case .ft-lightbox-stage{max-width:min(1120px,83vw);min-width:0;display:flex;flex-direction:column;align-items:center;gap:15px}
.ft-case .ft-lightbox-stage img{width:auto;max-width:100%;max-height:calc(100dvh - 155px);object-fit:contain!important;display:block;box-shadow:none;border:0}
.ft-case .ft-lightbox-caption{width:100%;display:flex;justify-content:space-between;gap:25px;color:rgba(255,255,255,.7);font-size:10px;letter-spacing:.1em;line-height:1.5}
.ft-case .ft-lightbox button{color:#fff;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:999px!important;width:45px;height:45px;flex:0 0 45px;cursor:pointer;display:grid;place-items:center;font-size:21px;transition:background .2s ease}
.ft-case .ft-lightbox button:hover{background:rgba(255,255,255,.22)!important}
.ft-case .ft-lightbox-close{position:absolute;right:25px;top:18px}
@media(max-width:900px){.ft-case .ft-opening{grid-template-columns:1fr 1.2fr;gap:18px}.ft-case .ft-opening-detail{display:block;grid-column:2;justify-self:end;width:46%;padding-bottom:0;margin-top:-5%}.ft-case .ft-opening-copy{padding:15px 0}.ft-case .ft-opening-copy h2{font-size:clamp(35px,5.6vw,60px)}.ft-case .ft-section-title>p{max-width:190px}}
@media(max-width:640px){.ft-case .ft-inner{width:calc(100% - 30px);padding-top:36px}.ft-case .ft-kicker{font-size:8px;letter-spacing:.09em}.ft-case .ft-opening{grid-template-columns:1fr;gap:22px}.ft-case .ft-opening-copy h2{margin:12px 0 15px;font-size:clamp(45px,11vw,58px)}.ft-case .ft-opening-copy p{max-width:100%}.ft-case .ft-opening-detail{display:block;grid-column:1;width:62%;justify-self:end;margin-top:0;padding-bottom:0}.ft-case .ft-section-title{display:block;margin-top:70px;padding-top:20px}.ft-case .ft-section-title h3{font-size:clamp(33px,9vw,49px)}.ft-case .ft-section-title>p{margin-top:13px;max-width:100%}.ft-case .ft-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ft-case .ft-logo-grid figure:first-child{grid-column:1/-1;width:74%;justify-self:center}.ft-case .ft-logo-grid figcaption{font-size:8px}.ft-case .ft-symbols{grid-template-columns:1fr;gap:15px;padding:0}.ft-case .ft-symbol-intro{padding-left:0}.ft-case .ft-pack-grid{grid-template-columns:1fr 1fr;gap:12px}.ft-case .ft-pack-grid figure:nth-child(2){width:100%;margin-top:24%!important}.ft-case .ft-coffee-feature{width:100%;grid-template-columns:.72fr 1fr;gap:20px;margin-top:60px}.ft-case .ft-feature-copy h3{font-size:clamp(26px,6.7vw,38px)}.ft-case .ft-feature-copy p{font-size:12px;line-height:1.65}.ft-case .ft-atmos-grid{grid-template-columns:1fr 1fr;gap:13px}.ft-case .ft-atmos-grid figure:nth-child(2){margin-top:30px!important}.ft-case .ft-people{width:100%;margin-top:43px!important}.ft-case .ft-pattern-grid{gap:12px}.ft-case .ft-pattern-grid figure:nth-child(2){width:100%;margin-top:26%!important}.ft-case .ft-end{font-size:8px;letter-spacing:.07em}.ft-case .ft-lightbox{padding:65px 8px 25px;gap:4px}.ft-case .ft-lightbox-arrow{width:33px!important;height:33px!important;flex-basis:33px!important;font-size:18px!important}.ft-case .ft-lightbox-stage{max-width:calc(100vw - 90px)}.ft-case .ft-lightbox-close{right:12px;top:12px}.ft-case .ft-lightbox-caption{font-size:8px}}
@media(prefers-reduced-motion:reduce){.ft-case .ft-reveal{opacity:1!important;transform:none!important;transition:none!important}.ft-case .ft-image-button img{transition:none!important;transform:none!important}.ft-case .ft-lightbox{transition:none!important}}
