/* Shared TFM-scale reading system. Original images and interaction coordinates are preserved. */
.case-page:not(.tfm-document){padding-top:104px;padding-bottom:40px}
.case-page :is(.ccos-body,.cbam-body,.ibex-body,.agro-body,.monaco-body,.rabat-body){max-width:1160px;padding-left:calc(var(--gutter) + 70px)}
.case-page :is(.ccos-body,.cbam-body,.ibex-body,.agro-body,.monaco-body,.rabat-body)>section{margin:0;padding:28px 0;border-bottom:1px solid var(--line);scroll-margin-top:96px}
.case-page :is(.ccos-body,.cbam-body,.ibex-body,.agro-body,.monaco-body,.rabat-body)>section:first-of-type{padding-top:0}
.case-page:not(.tfm-document) h1{font-size:34px;line-height:1.3;margin:12px 0}
.case-page:not(.tfm-document) h2{font-size:25px;line-height:1.45;margin:0 0 12px}
.case-page:not(.tfm-document) h3{font-size:16px;line-height:1.45;margin:0 0 7px}
.case-page:not(.tfm-document) h4{font-size:14px;line-height:1.5;margin:0 0 8px}
.case-page:not(.tfm-document) :is(p,li){font-size:14px;line-height:1.85}
.case-page:not(.tfm-document) p{margin:8px 0}
.case-page:not(.tfm-document) li{margin:6px 0}
.case-page:not(.tfm-document) :is(ul,ol){margin:12px 0;padding-left:22px}
.case-page:not(.tfm-document) .kick{font-size:11px;margin:0 0 12px}
.case-page:not(.tfm-document) :is(.lead,.ccos-lead,.story-intro,.q){font-size:16px;line-height:1.8;margin:10px 0}
.case-page :is(.agro-subtitle,.ibex-subtitle,.monaco-subtitle,.rabat-subtitle,.cbam-subtitle){font-size:19px!important}
.case-page:not(.tfm-document) :is(.note,.small,figcaption,.review-note,.story-role){font-size:11px;line-height:1.65}
.case-page:not(.tfm-document) figcaption{margin:7px 0;padding:0}
.case-page:not(.tfm-document) :is(.btn,.actions a){font-size:12px;padding:9px 14px}
.case-page:not(.tfm-document) .actions{gap:10px;margin:18px 0}
.case-page :is(.agro-metrics,.ibex-metrics,.monaco-metrics,.rabat-metrics,.cbam-metrics,.story-metrics){gap:20px;margin:22px 0}
.case-page :is(.agro-metrics,.ibex-metrics,.monaco-metrics,.rabat-metrics,.cbam-metrics) strong{font-size:30px;line-height:1.4;margin:0;font-weight:500}
.case-page :is(.agro-metrics,.ibex-metrics,.monaco-metrics,.rabat-metrics,.cbam-metrics) span{font-size:11px;line-height:1.6}
.case-page :is(.agro-metrics,.ibex-metrics,.monaco-metrics,.rabat-metrics,.cbam-metrics)>div{padding-top:12px}
.case-page:not(.tfm-document) :is(.agro-three,.ibex-three,.monaco-three,.rabat-three,.agro-split,.ibex-split,.monaco-split,.rabat-split,.story-grid){gap:20px;margin:18px 0}
.case-page :is(.monaco-process,.rabat-process){gap:18px;margin:18px 0}
.case-page :is(.monaco-process,.rabat-process) h3{font-size:16px}
.case-page :is(.monaco-process,.rabat-process) article{padding-top:12px}
.case-page :is(.agro-bridge,.ibex-bridge,.monaco-bridge,.rabat-bridge){padding:20px;border-radius:14px}
.case-page:not(.tfm-document) figure{margin:16px 0!important}
.case-page:not(.tfm-document) :is(.agro-zoom,.ibex-zoom,.monaco-zoom,.rabat-zoom){width:min(100%,var(--compact-width,100%));margin-inline:auto}
.case-page:not(.tfm-document) :is(.agro-zoom,.ibex-zoom,.monaco-zoom,.rabat-zoom) img{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}
.case-page:not(.tfm-document) :is(.agro-zoom,.ibex-zoom,.monaco-zoom,.rabat-zoom)>span{font-size:10px;padding:3px 9px;right:7px;bottom:7px}
.case-page:not(.tfm-document) .shot{border-radius:12px;padding:10px;margin:16px 0;max-width:100%;overflow:hidden}
.case-page:not(.tfm-document) .shot img{width:100%;height:240px;max-height:240px;aspect-ratio:auto;object-fit:contain}
.case-page:not(.tfm-document) .shot figcaption{padding:7px 0 0}
.case-page .agro-rag-map,.case-page .ibex-treemap{max-width:min(100%,var(--compact-width,100%));margin-inline:auto}
.case-page .agro-rag-map img,.case-page .ibex-treemap img{width:100%;height:auto}
.case-page .agro-ui-grid{gap:20px;margin:18px 0}
.case-page .agro-identity{padding:16px 0;gap:24px;grid-template-columns:120px 1fr}
.case-page .agro-mark{max-height:110px;object-fit:contain}
.case-page .agro-recognition img{max-height:65px;object-fit:contain}
.case-page .agro-certificate{padding:16px;margin:18px 0}
.case-page .agro-module-detail{padding:16px;margin:14px 0}
.case-page .institution{padding:16px 0}
.case-page .institution img{height:110px;object-fit:contain}
.case-page :is(.ibex-radars,.ibex-radars.is-compare){max-width:650px}
.case-page .ibex-radars img{width:100%;height:240px;object-fit:contain}
.case-page :is(.monaco-original-radar,.rabat-original-radar){height:240px;object-fit:contain;margin:15px auto}
.case-page .ccos-video{width:100%;max-height:300px;object-fit:contain}
.case-page.case-story .mod{padding:28px 0;scroll-margin-top:96px}
.case-page.case-story .m1{text-align:left;padding-bottom:28px}
.case-page.case-story .wrap{max-width:1160px;padding-left:calc(var(--gutter) + 70px)}
.case-page.case-story .story-image{margin:16px 0;border-radius:12px}
.case-page.case-story .story-block{padding:16px;border-radius:12px}
.case-page.case-story .bignum .v{font-size:30px}.case-page.case-story .bignum .l{font-size:11px}
.case-page :is(.agro-table-wrap,.monaco-result-table,.rabat-result-table){margin:18px 0}
.case-page :is(.monaco-result-table,.rabat-result-table) :is(th,td){font-size:13px;padding:12px}
.case-page :is(.monaco-result-table,.rabat-result-table) td:nth-child(2){font-size:14px}
.index-order-note{font-size:12px;color:var(--ink-3);margin:12px 0}.index-list .index-item{padding:16px;border-radius:14px}.index-list .index-item .t{font-size:16px}.index-list .index-item :is(.m,p){font-size:13px;line-height:1.8}.index-list .index-description{margin-top:12px}
.case-page :is(.compact-gallery){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;margin:16px 0}
.case-page .compact-gallery figure{margin:0!important}
.case-page .compact-image-trigger{display:block;width:100%;border:0;padding:0;background:transparent;cursor:zoom-in}
.case-page .compact-image-trigger:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.compact-image-dialog{max-width:min(1100px,94vw);max-height:92vh;border:1px solid #ddd;border-radius:16px;padding:20px;overflow:auto;background:#fff;color:#171717}.compact-image-dialog::backdrop{background:rgba(0,0,0,.7)}.compact-image-dialog img{width:100%;height:auto;background:#fff;display:block}.compact-image-dialog p{margin:0 100px 18px 0;font-size:14px}.compact-image-dialog button{position:sticky;top:0;float:right;background:#fff;border:1px solid #bbb;border-radius:24px;padding:9px 16px;cursor:pointer;font:inherit}.compact-image-dialog>a{display:block;margin-top:16px}
@media(max-width:1100px){.case-page :is(.ccos-body,.cbam-body,.ibex-body,.agro-body,.monaco-body,.rabat-body),.case-page.case-story .wrap{padding-left:125px}.case-page:not(.tfm-document) h1{font-size:30px}}
@media(max-width:768px){.case-page:not(.tfm-document){padding-top:145px}.case-page :is(.ccos-body,.cbam-body,.ibex-body,.agro-body,.monaco-body,.rabat-body),.case-page.case-story .wrap{padding-left:var(--gutter)}.case-page :is(.ccos-body,.cbam-body,.ibex-body,.agro-body,.monaco-body,.rabat-body)>section,.case-page.case-story .mod{padding:24px 0;scroll-margin-top:150px}.case-page:not(.tfm-document) h1{font-size:28px}.case-page:not(.tfm-document) h2{font-size:23px}.case-page:not(.tfm-document) :is(.agro-split,.ibex-split,.monaco-split,.rabat-split){gap:16px}.case-page:not(.tfm-document) .shot img{height:200px;max-height:200px}.case-page:not(.tfm-document) :is(.agro-zoom,.ibex-zoom,.monaco-zoom,.rabat-zoom){width:min(100%,var(--compact-mobile-width,100%))}.case-page .agro-rag-map,.case-page .ibex-treemap{max-width:min(100%,var(--compact-mobile-width,100%))}.case-page .agro-ui-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.case-page .agro-ui-grid figcaption{font-size:10px}.case-page .agro-identity{grid-template-columns:100px 1fr}.case-page .agro-recognition{gap:15px}.case-page .agro-recognition img{width:65px}.case-page .ibex-radars img{height:200px}.case-page :is(.monaco-original-radar,.rabat-original-radar){height:200px}.case-page .compact-gallery{gap:12px}.case-page .compact-gallery .shot img{height:160px;max-height:160px}.case-page .ccos-video{max-height:240px}}
@media(max-width:520px){.case-page:not(.tfm-document) h1{font-size:27px}.case-page .agro-metrics{grid-template-columns:1fr;gap:14px}.case-page .agro-metrics strong{font-size:27px}.case-page .agro-identity{grid-template-columns:1fr}.case-page .compact-gallery{grid-template-columns:1fr}.case-page .compact-gallery .shot img{height:180px;max-height:180px}.case-page:not(.tfm-document) .shot img{height:200px}.case-page .agro-ui-grid{gap:8px}.case-page .agro-ui-grid .agro-zoom>span{position:static;display:block;font-size:10px}.case-page .agro-ui-grid .agro-zoom{width:100%}}
.case-page:not(.tfm-document) :is(.lead,.ccos-lead,.story-intro,.q){font-size:14px}
.case-page :is(.monaco-chart,.rabat-chart){padding:20px;margin:20px 0}
#project-index:focus{outline:none}
.collection-page .card-copy h2{font-size:19px;line-height:1.4}.collection-page .card-description{font-size:14px;line-height:1.85}.collection-page .card-role{font-size:12px;line-height:1.7}.collection-page .card-cover img{max-height:200px}.collection-page .grid-2 .card-cover{min-height:180px}.collection-page .grid-2 .project-card{min-height:0}
@media(max-width:768px){.collection-page .card-cover img{max-height:180px}.collection-page .card-copy h2{font-size:18px}}
