/* Owner's final annotated review: shared interactions and compact original ratios. */
.nav-logo img{filter:brightness(0)}
.nav .lang{font-size:9px!important;padding:9px 12px;border-radius:20px;transition:background .2s;color:var(--ink)}
:is(.nav a,.nav button,.case-rail a,.fig-list a,.btn,.chip,.card-open,.cbam-capabilities button):hover,:is(.nav a,.nav button,.case-rail a,.fig-list a,.btn,.chip,.card-open):focus-visible{background:#ededee;color:#171717;text-decoration:none}
.nav-mid a{border-radius:18px;transition:background .2s,color .2s}
.card-cover img{filter:saturate(.12)!important;transition:filter .4s ease}
.project-card:hover .card-cover img,.project-card:focus-within .card-cover img{filter:saturate(1)!important}
.ccos-logo-cover{background:transparent!important}
.ccos-logo-cover img{max-width:130px;object-fit:contain!important;padding:0!important;margin:auto}
.carbon-grid [data-project=cbam] .card-cover img{object-fit:contain!important;object-position:center!important}
.scroll-hint{padding:8px 18px;border-radius:28px;transition:background .2s}
.scroll-hint:hover,.scroll-hint:focus-visible{background:#ededee;text-decoration:none}
.scroll-arrow{width:34px;height:34px;border:1px solid #aeb0b3;border-radius:50%;display:grid;place-items:center;font-size:23px;animation:entry-breathe 2.5s ease-in-out infinite!important}
@keyframes entry-breathe{0%,100%{transform:translateY(0) scale(.95);opacity:.6}50%{transform:translateY(9px) scale(1.08);opacity:1}}
.fig .anode{animation:node-float 5s ease-in-out infinite;box-shadow:none}
.fig .n-ai{animation-delay:-1.6s}.fig .n-del{animation-delay:-3s}
.fig .pdot{width:9.2%;animation:node-float 5.5s ease-in-out infinite;box-shadow:none}
.fig .p-d1,.fig .p-d2,.fig .p-d3{width:8.2%}.fig .p-d4{width:5.5%}.fig .p-d4 .t{font-size:22px}
.fig .pdot:nth-of-type(2n){animation-delay:-2s}.fig .pdot:nth-of-type(3n){animation-delay:-3.5s}
.fig :is(.anode,.pdot):hover,.fig :is(.anode,.pdot):focus-visible{animation-play-state:paused;background:#343538;box-shadow:none;border-color:#ddd}
@keyframes node-float{0%,100%{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-5px)}}
.fig .arc,.fig .carbon-wire{animation:signal-flow 2.8s linear infinite}
@keyframes signal-flow{to{stroke-dashoffset:-42}}
.fig .signal{fill:none;stroke:#d4e5df;stroke-width:1.5;stroke-dasharray:8 180;filter:drop-shadow(0 0 3px #b4d0c2);animation:fiber-flow 4s linear infinite}
@keyframes fiber-flow{to{stroke-dashoffset:-188}}
#fxCanvas{mix-blend-mode:normal!important}
.page.on{animation:page-arrival .38s ease-out}
@keyframes page-arrival{from{opacity:.1}to{opacity:1}}
::view-transition-old(root){animation:page-departure .22s ease-in both}
::view-transition-new(root){animation:page-arrival .38s ease-out both}
@keyframes page-departure{to{opacity:0}}
/* Evidence figures and video keep their original aspect ratio without empty side gutters. */
.ccos-body .shot{background:transparent;max-width:var(--evidence-width,100%);width:100%;margin:16px auto!important}
.ccos-body .shot img{width:100%;height:auto!important;max-height:none!important;object-fit:contain}
.ccos-body .shot .compact-image-trigger{width:100%;background:transparent}
.ccos-body .compact-gallery{align-items:start}
.ccos-video{width:min(100%,534px)!important;height:auto!important;max-height:none!important;aspect-ratio:16/9;margin:18px auto!important;object-fit:contain}
.mexico-split:has(.mexico-topo-gif){align-items:end}
.mexico-video{margin:16px 0 16px;align-self:end}
.mexico-topo-gif{height:240px}
.mexico-video .note{margin:7px 0 0!important;min-height:18px}
.cbam-tool-cards article{position:relative;padding-bottom:110px}
.cbam-tool-logo{position:absolute;right:24px;bottom:24px;width:104px;height:74px;display:block}
.ibex-split.institution figure{text-align:center}.ibex-split.institution figcaption{text-align:center}
.ibex-treemap button:hover,.ibex-treemap button:focus-visible{background:rgba(255,255,255,.13);outline:2px solid #fff;outline-offset:-3px}
.verification-document{padding:116px 0 60px}.verification-body{max-width:1160px;margin:0 auto;padding:0 var(--gutter);color:var(--ink)}
.verification-body h1{font-size:34px;margin:24px 0 16px}.verification-body p{font-size:14px;line-height:1.85}.verification-body .kick{font-size:11px}
.verification-body .tablewrap{overflow:auto;border:1px solid var(--line);border-radius:12px;margin:24px 0;background:var(--bg)}
.verification-body table{border-collapse:collapse;min-width:1050px;width:100%;font-size:12px;line-height:1.7;text-align:left}
.verification-body :is(th,td){vertical-align:top;border-bottom:1px solid var(--line);padding:14px 12px}.verification-body th{background:#f4f4f5;font-weight:600}.verification-body td:nth-child(5),.verification-body td:nth-child(6){min-width:220px}.record-header{padding:26px var(--gutter);border-bottom:1px solid var(--line)}
@media(max-width:900px),(max-height:560px){.fig .pdot{display:none}.fig .anode{animation:node-float 5s ease-in-out infinite}}
@media(max-width:768px){.verification-document{padding-top:150px}.verification-body h1{font-size:28px}.mexico-topo-gif{height:190px}.cbam-tool-logo{width:82px;height:58px;right:18px;bottom:18px}.cbam-tool-cards article{padding-bottom:92px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}.fig .signal{display:none}}

.ccos-body .ccos-lead{max-width:none}
.ccos-body .shot{max-width:var(--evidence-width,100%)!important}
.ccos-evidence-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:24px;align-items:center}
.case-page :is(.agro-zoom,.ibex-zoom,.monaco-zoom,.rabat-zoom,.tfm-zoom) img{height:auto!important;max-height:none!important;object-fit:contain}
.case-page :is(.btn,summary,[data-capability],[data-radar]):hover{background:#ededee;color:#171717}
@media(max-width:768px){.ccos-evidence-split{grid-template-columns:1fr;gap:14px}.ccos-body .shot{max-width:min(100%,var(--evidence-width))!important}}

.route-transition .page.on{animation:none}
.mexico-split:has(.mexico-topo-gif) .mexico-topo-gif{height:262px}.mexico-split:has(.mexico-topo-gif) .mexico-video .note{margin:7px 0!important}
@media(max-width:768px){.mexico-split:has(.mexico-topo-gif) .mexico-topo-gif{height:212px}}
.mexico-split:has(.mexico-topo-gif) .mexico-video .note{margin:7px 0 0!important}
