/* Visual polish layer, loaded last. Refines rhythm, surfaces and interaction states; layout structure stays in global.css and design-system.css. */
/* IBM Plex Sans, self-hosted (SIL OFL 1.1, see fonts/OFL.txt). Variable weight for Latin and Cyrillic; static weights for Arabic. */
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-display:swap;font-weight:100 700;src:url('fonts/ibm-plex-sans-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-display:swap;font-weight:100 700;src:url('fonts/ibm-plex-sans-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-display:swap;font-weight:100 700;src:url('fonts/ibm-plex-sans-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-display:swap;font-weight:400;src:url('fonts/ibm-plex-sans-arabic-400.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-display:swap;font-weight:500 600;src:url('fonts/ibm-plex-sans-arabic-600.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-display:swap;font-weight:700 900;src:url('fonts/ibm-plex-sans-arabic-700.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
:root{
 font-family:"IBM Plex Sans","IBM Plex Sans Arabic",Arial,Helvetica,sans-serif;
 --red:#df1e26;--red-deep:#b8141b;--black:#15191e;--muted:#5b6672;--line:#e2e6ea;--pale:#f4f6f8;
 --radius-control:6px;--radius-card:10px;--radius-panel:18px;
 --shadow-lift:0 16px 34px -14px #15191e33,0 2px 6px #15191e0d;
 --ease:cubic-bezier(.2,.7,.2,1);
 --gutter:max(5%,calc(50% - 660px));
}
html{-webkit-text-size-adjust:100%}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
::selection{background:var(--red);color:#fff}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}

/* One content width: every full-bleed band shares the same gutters, capped at 1320px. */
.utility,.section,.page-intro,.page-intro:has(+ .cee-groups),.page-intro:has(+ .distribution-groups),.home-featured,.company-stat-strip,.film-hero,.business-entries,.voices,.home-finder,.home-industries,.partner-band,.site-footer,.breadcrumbs,.product-detail,.selection-links,.language-notice,.ev-detail-nav,.ev-group-intro,.ev-spotlight,.export-map-section{padding-inline:var(--gutter)}
.trust-section .company-stat-strip{padding-inline:0}
.export-map-heading,.export-map-footer{max-width:none}
.export-world-map{max-width:900px}
.film-hero-toggle{inset-inline-end:var(--gutter)}

/* Vertical rhythm on the homepage. */
.business-entries-detailed{padding-block:48px}
.home-featured{padding-block:72px}
.voices{padding-block:64px}
#news-events-home{padding-block:64px}
.voices .section-top,.home-featured .section-heading{margin-bottom:28px}
@media(max-width:700px){.business-entries-detailed{padding-block:28px}.home-featured,.voices,#news-events-home{padding-block:40px}}

/* Header */
.utility{background:var(--black);letter-spacing:.14em}
.main-nav{font-weight:600}
.main-nav>a,.product-menu-trigger{position:relative;transition:color .15s}
.main-nav>a:hover,.product-menu-trigger:hover{color:var(--red)}
.product-menu-trigger>span,.language-menu summary span{display:inline-grid;place-items:center;font-size:0;line-height:0;vertical-align:middle}
.product-menu-trigger>span::before,.language-menu summary span::before{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.language-menu summary{display:inline-flex;align-items:center;gap:2px;font-weight:600;padding:8px 4px;border-radius:var(--radius-control);transition:color .15s}
.language-menu summary::-webkit-details-marker{display:none}
.language-menu summary:hover{color:var(--red)}
.language-menu>div,.header-search>form{border-color:var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-lift)}
.language-menu>div{top:calc(100% + 8px);padding:8px}
.language-menu a{border-radius:4px;transition:background-color .15s}
.header-search>summary{border-radius:50%;transition:background-color .15s,color .15s}
.header-search>summary:hover{background:var(--pale);color:var(--red)}
.selection-links{color:var(--muted)}
.selection-links a:hover{color:var(--red)}
.product-menu-card{transition:background-color .15s,border-color .15s,box-shadow .2s}
.product-menu-card:hover{box-shadow:0 6px 16px -10px #15191e40}
.company-menu-panel a{border-radius:4px;transition:background-color .15s,color .15s}
.company-menu-panel a:hover{background:var(--pale);color:var(--red)}
@media(min-width:1200px){
 html{scroll-padding-top:92px}
 .site-header{position:sticky;top:0;z-index:40}
 .main-nav>a::after,.product-menu-trigger::after{content:"";position:absolute;inset-inline:0;bottom:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
 [dir=rtl] .main-nav>a::after,[dir=rtl] .product-menu-trigger::after{transform-origin:right}
 .main-nav>a:hover::after,.main-nav>a[aria-current]::after,.product-menu-trigger:hover::after,.product-menu[open]>.product-menu-trigger::after{transform:scaleX(1)}
 .main-nav>a{padding-block:8px}
 .product-menu-panel{box-shadow:0 28px 50px -20px #15191e40}
 .product-menu[open]>.product-menu-panel{animation:panel-in .2s var(--ease)}
}
@media(min-width:1200px) and (max-width:1399px){.utility{padding-inline:2%}}
@media(min-width:1400px){
 .site-header{padding-inline:var(--gutter)}
 .product-menu-panel{inset-inline:var(--gutter)}
}
@media(min-width:1400px) and (max-width:1519px){.site-header .logo span{display:none}}
@media(min-width:1520px){.site-header .main-nav{font-size:14px;gap:18px}}
/* Russian labels run long: tighten the header until there is room. */
@media(min-width:1200px){
 html[lang=ru] .site-header{gap:10px}
 html[lang=ru] .site-header .logo span{display:none}
 html[lang=ru] .site-header .main-nav{font-size:12.5px;gap:6px}
 html[lang=ru] .site-header .header-actions{gap:6px}
 html[lang=ru] .site-header .header-actions .btn{padding:10px 12px;font-size:12px}
 html[lang=ru] .product-menu-trigger>span{min-width:22px;padding-inline:4px}
}
@keyframes panel-in{from{opacity:0;transform:translateY(-6px)}}

/* Buttons and links */
.btn{border-radius:var(--radius-control);letter-spacing:.01em;transition:background-color .18s,border-color .18s,color .18s,box-shadow .2s,transform .2s var(--ease)}
.btn:hover{background:var(--red-deep);border-color:var(--red-deep);box-shadow:0 10px 20px -10px #da2028a6;transform:translateY(-1px)}
.btn:active{transform:none;box-shadow:none}
.btn.white:hover{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 10px 22px -10px #000a}
.text-link{border-bottom-color:#15191e47;transition:color .15s,border-color .15s}
a.text-link:hover,a:hover .text-link{color:var(--red);border-bottom-color:var(--red)}
.text-button{border-radius:var(--radius-control);border-color:var(--line);padding:8px 12px;transition:background-color .15s,border-color .15s}
.text-button:hover{background:#fff5f5}
.business-explore{border-radius:var(--radius-control);transition:background-color .18s}
.business-explore span{display:inline-block;transition:transform .25s var(--ease)}
.business-entry-detailed:hover .business-explore span{transform:translateX(5px)}
[dir=rtl] .business-entry-detailed:hover .business-explore span{transform:translateX(-5px)}

/* Section labels carry a short red rail, the same mark the contact form already uses. */
.page-intro>.eyebrow,.section-top .eyebrow,.section-heading .eyebrow,.why-bemis-intro .eyebrow,.company-film-copy .eyebrow,.export-map-heading .eyebrow,.partner-band .eyebrow{display:flex;align-items:center;gap:12px}
.page-intro>.eyebrow::before,.section-top .eyebrow::before,.section-heading .eyebrow::before,.why-bemis-intro .eyebrow::before,.company-film-copy .eyebrow::before,.export-map-heading .eyebrow::before,.partner-band .eyebrow::before{content:"";flex:none;width:22px;height:2px;background:var(--red)}
.home-featured .section-heading .eyebrow{color:var(--red);margin-bottom:14px}

/* Page intro: a faint drawing grid fades in from the far edge. */
.page-intro{position:relative;isolation:isolate;overflow:hidden;background:var(--pale)}
.page-intro::after{content:"";position:absolute;z-index:-1;inset-block:0;inset-inline-end:0;width:min(48%,640px);background-image:linear-gradient(#15191e14 1px,transparent 1px),linear-gradient(90deg,#15191e14 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:linear-gradient(to left,#000,transparent);mask-image:linear-gradient(to left,#000,transparent)}
[dir=rtl] .page-intro::after{-webkit-mask-image:linear-gradient(to right,#000,transparent);mask-image:linear-gradient(to right,#000,transparent)}
.page-intro p:not(.eyebrow){color:var(--muted)}

/* Hero */
.film-hero-logo{border-radius:4px}
.film-hero-toggle{transition:background-color .18s,border-color .18s}
.film-hero-toggle:hover{border-color:var(--red)}
@media(min-width:1200px){.film-hero{min-height:clamp(480px,60vh,600px)}}

/* Stat strip */
.trust-stat strong{font-variant-numeric:tabular-nums}
.company-stat-strip .trust-stat+.trust-stat{border-inline-start:1px solid var(--line)}
.company-stat-strip .trust-stat span{color:var(--muted)}

/* Cards: one radius, one lift. */
.featured-card,.news-card,.ev-group-card,.ev-model-card,.resource-card,.cee-group-card,.v-capacity-card,.distribution-group-card,.quality-badge,.company-links>a,.category-card{border-radius:var(--radius-card);transition:border-color .2s,box-shadow .28s var(--ease),transform .28s var(--ease)}
.ev-group-card,.category-card{overflow:hidden}
.featured-card:hover,.news-card:hover,.ev-group-card:hover,.cee-group-card:hover,.v-capacity-card:hover,.distribution-group-card:hover,.company-links>a:hover,.document-library .resource-card:hover{box-shadow:var(--shadow-lift);transform:translateY(-3px)}
.featured-card:hover,.news-card:hover{border-color:#cdd4db}
.quality-badge:hover{box-shadow:var(--shadow-lift)}
.featured-picture img,.product-picture img,.ev-group-image img,.cee-group-card img{transition:transform .45s var(--ease)}
.featured-card:hover .featured-picture img,.product-card:hover .product-picture img,.ev-group-card:hover .ev-group-image img,.cee-group-card:hover img{transform:scale(1.04)}
.product-picture{border-radius:8px;overflow:hidden;border-color:var(--line)}
.round-arrow{transition:background-color .18s,color .18s,border-color .18s}
.product-card:hover .round-arrow{border-color:var(--red)}
.product-card h3{transition:color .15s}
.product-card>a:hover h3{color:var(--red)}
.product-code{font-variant-numeric:tabular-nums}
.business-entry-detailed{border-radius:var(--radius-panel);transition:box-shadow .3s var(--ease),transform .3s var(--ease)}
.business-entry-detailed:hover{box-shadow:0 26px 44px -22px #15191e80;transform:translateY(-4px)}
.quality-badge .quality-logo-frame img{display:block;height:68px;width:auto;max-width:100%}
.business-counts>div{border-radius:8px}
.business-counts dd,.why-number{font-variant-numeric:tabular-nums}
.why-bemis figure{border-radius:var(--radius-card)}
.company-film-screen{border-radius:14px}
.company-film-play-icon{transition:background-color .18s,transform .25s var(--ease)}
.company-film-play:hover .company-film-play-icon{transform:scale(1.06)}
.detail-picture,.drawing{border-radius:var(--radius-card);overflow:hidden}
.spec-chips{gap:12px}
.spec-chips span{padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:#fff;font-weight:600;font-variant-numeric:tabular-nums}
.spec-chips small{font-weight:400}
.spec-table>div{padding:14px 0;border-bottom-color:var(--line)}
.spec-table dd{font-variant-numeric:tabular-nums}
.breadcrumbs{font-size:13px}
.breadcrumbs a:hover{color:var(--red)}
.pagination{text-decoration:none;gap:12px}
.pagination a{padding:10px 18px;border:1px solid var(--line);border-radius:var(--radius-control);font-weight:600;transition:border-color .15s,color .15s}
.pagination a:hover{border-color:var(--red);color:var(--red)}
.empty,.notice,.resource-help,.event-facts,.news-empty{border-radius:var(--radius-card)}

/* Forms */
label{font-size:13px}
input,select,textarea{border-color:#c5ccd4;border-radius:var(--radius-control);transition:border-color .15s,box-shadow .15s}
input:hover,select:hover,textarea:hover{border-color:#98a3ae}
input:focus,textarea:focus,select:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 3px #da202829}
input[type=checkbox]{accent-color:var(--red)}
.filters{border-radius:var(--radius-card);background:var(--pale)}
.form-layout aside a:hover{color:var(--red)}
@media(max-width:760px){.filters .btn{align-self:end;margin-bottom:22px}}
@media(min-width:761px){.filters{position:sticky;top:16px;max-height:calc(100dvh - 32px);overflow:auto}}
@media(min-width:1200px){.filters{top:104px;max-height:calc(100dvh - 120px)}}

/* Footer */
.site-footer{background:#12161b}
.site-footer .footer-column>a{color:#b4bac2;transition:color .15s}
.site-footer .footer-bottom{border-top-color:#ffffff1f}

@media(prefers-reduced-motion:reduce){*{animation:none!important}}

/* Long compound words (German, Russian) wrap inside cards instead of widening the page. */
h1,h2,h3,h4,dt,dd,.news-card-copy,.footer-column a{overflow-wrap:break-word}
.product-card h3,.product-card .product-specs,.product-menu-card span,.ev-group-copy h2,.quote-item a{overflow-wrap:anywhere;hyphens:auto}
.product-card,.product-grid>*{min-width:0}

/* Phone legibility and touch targets */
@media(max-width:760px){
.eyebrow,.footer-bottom,.text-button,.selection-links,.filters>a,.ev-group-copy p,.news-card-copy time,.spec-chips small,.product-menu-card span{font-size:12px}
.selection-links a,.footer-bottom a,.filters>a,.ev-detail-nav a,.news-tabs a,.whatsapp-link,.breadcrumbs a{display:inline-flex;align-items:center;min-height:40px}
.text-button{min-height:40px}
.check input{width:22px;height:22px}
.category-guide-questions summary,.product-faq summary{padding-block:10px}
}

/* Export network: dotted world map with animated routes from Bursa */
.export-map-section{position:relative;background:radial-gradient(120% 90% at 58% 38%,#14283a 0%,#0b1722 55%,#070f17 100%);padding-block:64px 36px}
.export-map-stage{position:relative;max-width:1240px;margin:18px auto 0}
.export-world-map{max-width:none;margin:0;overflow:visible}
.export-route{fill:none;stroke:#ff5a6a;stroke-width:1.2;stroke-linecap:round;opacity:.5;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.5s cubic-bezier(.6,0,.2,1) var(--d,0s),opacity .25s,stroke-width .25s}
.export-comet,.export-comet-glow{fill:none;stroke-linecap:round;stroke-dasharray:.07 1;stroke-dashoffset:1.07;opacity:0}
.export-comet{stroke:#fff;stroke-width:1.8}
.export-comet-glow{stroke:#ff3b4e;stroke-width:6;stroke-opacity:.35}
.export-destination{fill:#fff;stroke:#ff3b4e;stroke-width:1.6;transform-box:fill-box;transform-origin:center;transition:transform .45s cubic-bezier(.3,1.6,.5,1) calc(var(--d,0s) + 1.2s),opacity .3s calc(var(--d,0s) + 1.2s)}
.export-destination-ring{fill:none;stroke:#ff5a6a;stroke-width:1.2;opacity:0;transform-box:fill-box;transform-origin:center}
.export-label{fill:#fff;font-size:17px;font-weight:600;paint-order:stroke;stroke:#0b1722;stroke-width:5px;stroke-linejoin:round;opacity:0;transition:opacity .25s;pointer-events:none}
.export-origin-glow{transform-box:fill-box;transform-origin:center}
.export-origin-ring{fill:none;stroke:#ff566b;stroke-width:1.6;opacity:.7;transform-box:fill-box;transform-origin:center}
.export-origin-core{fill:#ff2d42;stroke:#fff;stroke-width:2.2}
.export-origin-tag path{fill:none;stroke:#fff;stroke-opacity:.6}
.export-origin-tag rect{fill:#e30613}
.export-origin-tag text{fill:#fff;font-size:15px;font-weight:700;letter-spacing:.06em}
.export-route-group.is-active .export-route{opacity:1;stroke-width:2.2;stroke:#ff8a95}
.export-route-group.is-active .export-label{opacity:1}
.export-route-group.is-active .export-destination{transform:scale(1.5)}
.export-world-map.has-active .export-route-group:not(.is-active) .export-route{opacity:.16}
.export-markets{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:1100px;margin:22px auto 26px;padding:0}
.export-markets button{font:inherit;font-size:13px;line-height:1;color:#c9d6e0;background:#ffffff0d;border:1px solid #ffffff24;border-radius:999px;padding:9px 14px;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.export-markets button:hover,.export-markets button:focus-visible,.export-markets button.is-active{background:#e30613;border-color:#e30613;color:#fff;outline:0}
.export-markets button:focus-visible{box-shadow:0 0 0 3px #ffffff59}
.export-map-footer{max-width:1240px}
@keyframes export-comet{0%{stroke-dashoffset:1.07;opacity:0}8%{opacity:1}55%{opacity:1}62%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes export-ping{0%{transform:scale(.4);opacity:.9}70%,100%{transform:scale(2.1);opacity:0}}
@keyframes export-origin{0%{transform:scale(.8);opacity:.85}100%{transform:scale(4.2);opacity:0}}
@keyframes export-breathe{0%,100%{transform:scale(.92);opacity:.8}50%{transform:scale(1.06);opacity:1}}
/* Routes draw in once the section scrolls into view; without scripting they are simply shown. */
.nav-script [data-export-map]:not(.is-visible) .export-route{stroke-dashoffset:1}
.nav-script [data-export-map]:not(.is-visible) .export-destination{transform:scale(0);opacity:0}
@media(prefers-reduced-motion:no-preference){
[data-export-map].is-visible .export-comet,[data-export-map].is-visible .export-comet-glow{animation:export-comet 4.6s linear calc(var(--d,0s)*3 + 1.6s) infinite}
[data-export-map].is-visible .export-destination-ring{animation:export-ping 4.6s ease-out calc(var(--d,0s)*3 + 3.9s) infinite}
[data-export-map].is-visible .export-origin-ring{animation:export-origin 2.8s ease-out infinite}
[data-export-map].is-visible .export-origin-ring-late{animation-delay:1.4s}
[data-export-map].is-visible .export-origin-glow{animation:export-breathe 5s ease-in-out infinite}
}
@media(prefers-reduced-motion:reduce){.export-route,.export-destination{transition:none}}
@media(max-width:760px){
.export-map-section{padding-block:40px 26px}
.export-map-stage{margin-inline:calc(var(--gutter,18px)*-1);overflow:hidden}
.export-world-map{width:136%;margin-inline-start:-22%}
[dir=rtl] .export-world-map{margin-inline-start:-14%}
.export-route{stroke-width:1.8}.export-comet{stroke-width:2.6}.export-destination{stroke-width:2.2}
.export-label{font-size:26px;stroke-width:7px}
.export-origin-tag text{font-size:19px}.export-origin-tag rect{height:40px}
.export-markets{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;margin:16px calc(var(--gutter,18px)*-1) 20px;padding:4px var(--gutter,18px);scrollbar-width:none}
.export-markets button{white-space:nowrap;padding:12px 16px}
}
.export-route-group:nth-child(1){--d:0s}.export-route-group:nth-child(2){--d:0.09s}.export-route-group:nth-child(3){--d:0.18s}.export-route-group:nth-child(4){--d:0.27s}.export-route-group:nth-child(5){--d:0.36s}.export-route-group:nth-child(6){--d:0.45s}.export-route-group:nth-child(7){--d:0.54s}.export-route-group:nth-child(8){--d:0.63s}.export-route-group:nth-child(9){--d:0.72s}.export-route-group:nth-child(10){--d:0.81s}.export-route-group:nth-child(11){--d:0.9s}.export-route-group:nth-child(12){--d:0.99s}.export-route-group:nth-child(13){--d:1.08s}.export-route-group:nth-child(14){--d:1.17s}.export-route-group:nth-child(15){--d:1.26s}.export-route-group:nth-child(16){--d:1.35s}.export-route-group:nth-child(17){--d:1.44s}.export-route-group:nth-child(18){--d:1.53s}.export-route-group:nth-child(19){--d:1.62s}.export-route-group:nth-child(20){--d:1.71s}.export-route-group:nth-child(21){--d:1.8s}.export-route-group:nth-child(22){--d:1.89s}

/* Motion layer: entrance reveals, live counters and ambient detail. Everything here is optional decoration. */
.site-header{transition:box-shadow .3s,background-color .3s}
.site-header.is-scrolled{box-shadow:0 10px 30px -18px #15191e59}
.scroll-progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:60;background:linear-gradient(90deg,var(--red),#ff6b76);transform:scaleX(0);transform-origin:left center;pointer-events:none}
[dir=rtl] .scroll-progress{transform-origin:right center}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease) var(--rd,0s),transform .8s var(--ease) var(--rd,0s)}
.reveal.reveal-zoom{transform:scale(.96)}
.reveal.is-in{opacity:1;transform:none}
.trust-stat strong{font-variant-numeric:tabular-nums}
.trust-stat svg{transition:transform .5s var(--ease)}
.trust-stat:hover svg{transform:translateY(-4px) scale(1.06)}

/* Buttons: light sweep and a moving arrow */
.btn{position:relative;overflow:hidden;isolation:isolate}
.btn::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 30%,#ffffff40 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--ease)}
.btn:hover::after{transform:translateX(120%)}
.btn>span[aria-hidden]{display:inline-block;transition:transform .3s var(--ease)}
.btn:hover>span[aria-hidden]{transform:translateX(5px)}
[dir=rtl] .btn:hover>span[aria-hidden]{transform:translateX(-5px)}

/* Section headings: the red marker draws in with the heading */
.reveal .eyebrow::before{transform:scaleX(0);transform-origin:left center;transition:transform .7s var(--ease) calc(var(--rd,0s) + .25s)}
[dir=rtl] .reveal .eyebrow::before{transform-origin:right center}
.reveal.is-in .eyebrow::before{transform:none}

/* Inner page intros: quiet dotted field with a soft red glow */
.page-intro{position:relative;overflow:hidden;isolation:isolate}
.page-intro::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(#15191e1f 1.2px,transparent 1.4px);background-size:18px 18px;mask-image:linear-gradient(105deg,transparent 45%,#000 100%);-webkit-mask-image:linear-gradient(105deg,transparent 45%,#000 100%)}
[dir=rtl] .page-intro::before{transform:scaleX(-1)}
.page-intro::after{content:"";position:absolute;z-index:-1;width:520px;height:520px;inset-inline-end:-140px;top:-260px;border-radius:50%;background:radial-gradient(circle,#df1e2624,transparent 65%)}

/* Partner band and footer share the dotted world from the export map */
.partner-band{position:relative;overflow:hidden;isolation:isolate}
.partner-band::before{content:"";position:absolute;inset:0;z-index:-1;background:url("maps/world-dots.svg") no-repeat right -60px center/auto 190%;opacity:.5}
[dir=rtl] .partner-band::before{transform:scaleX(-1)}
.partner-band::after{content:"";position:absolute;z-index:-1;width:460px;height:460px;border-radius:50%;inset-inline-end:8%;top:50%;margin-top:-230px;background:radial-gradient(circle,#ff3b4e38,transparent 62%)}
.site-footer{position:relative;isolation:isolate;overflow:hidden}
.site-footer::before{content:"";position:absolute;inset:0;z-index:-1;background:url("maps/world-dots.svg") no-repeat center 40%/min(1300px,140%) auto;opacity:.13}

/* Cards: pictures settle in and lift a touch further */
.product-card:hover,.news-card:hover,.featured-card:hover,.resource-card:hover{transform:translateY(-4px)}
.news-card img,.document-cover img,.why-bemis-images img{transition:transform .8s var(--ease)}
.news-card:hover img,.resource-card:hover .document-cover img,.why-bemis-images figure:hover img{transform:scale(1.04)}
.why-bemis-images figure,.document-cover{overflow:hidden}
.quality-badge{transition:transform .3s var(--ease),box-shadow .3s}
.quality-badge:hover{transform:translateY(-4px)}

/* Guide and FAQ disclosures open smoothly where the browser supports it */
:root{interpolate-size:allow-keywords}
.category-guide-questions details::details-content,.product-faq details::details-content{block-size:0;overflow:clip;transition:block-size .35s var(--ease),content-visibility .35s allow-discrete}
.category-guide-questions details[open]::details-content,.product-faq details[open]::details-content{block-size:auto}

@keyframes hero-rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes hero-drift{from{transform:scale(1)}to{transform:scale(1.09) translate(-1%,-1%)}}
@keyframes glow-drift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-40px,18px) scale(1.15)}}
@media(prefers-reduced-motion:no-preference){
.film-hero-copy>*{animation:hero-rise .9s var(--ease) both}
.film-hero-copy>:nth-child(2){animation-delay:.12s}
.film-hero-copy>:nth-child(3){animation-delay:.26s}
.film-hero-copy>:nth-child(4){animation-delay:.4s}
.film-hero-background>img{animation:hero-drift 22s ease-in-out infinite alternate}
.page-intro>*{animation:hero-rise .7s var(--ease) both}
.page-intro>:nth-child(2){animation-delay:.08s}
.page-intro>:nth-child(3){animation-delay:.16s}
.page-intro>:nth-child(4){animation-delay:.24s}
.partner-band::after,.page-intro::after{animation:glow-drift 12s ease-in-out infinite}
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.22s}
}
@media(prefers-reduced-motion:reduce){
.reveal,.reveal.reveal-zoom{opacity:1;transform:none;transition:none}
.reveal .eyebrow::before{transform:none;transition:none}
.btn::after{display:none}
.product-card:hover,.news-card:hover,.featured-card:hover,.resource-card:hover,.quality-badge:hover{transform:none}
}
@media(max-width:760px){.reveal{transform:translateY(16px)}.partner-band::before{background-size:auto 120%;background-position:right -160px center;opacity:.35}}
.product-card:not(.reveal),.news-card:not(.reveal),.featured-card:not(.reveal),.resource-card:not(.reveal){transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .2s}
@media print{.reveal,.reveal.reveal-zoom{opacity:1;transform:none}.scroll-progress{display:none}}

/* In-page image viewer */
a[data-lightbox]{display:block;position:relative;cursor:zoom-in}
a[data-lightbox]:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.detail-picture a[data-lightbox]::after,.ev-product-picture a[data-lightbox]::after,.details-grid a[data-lightbox]::after{content:"";position:absolute;inset-inline-end:14px;bottom:14px;width:40px;height:40px;border-radius:50%;background:#fff url("brand/zoom.svg") center/20px no-repeat;box-shadow:0 4px 14px -6px #15191e66;opacity:.92;transition:transform .25s var(--ease),opacity .25s}
a[data-lightbox]:hover::after{transform:scale(1.1);opacity:1}
.ev-gallery a[data-lightbox]::after{display:none}
.lightbox{border:0;padding:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:transparent;color:#fff;overflow:hidden}
.lightbox::backdrop{background:#0b1118e6;backdrop-filter:blur(6px)}
.lightbox figure{margin:0;width:100%;height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center;gap:14px;padding:64px max(4vw,16px) 22px;box-sizing:border-box}
.lightbox img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;background:#fff;border-radius:var(--radius-card);box-shadow:0 30px 80px -30px #000;transition:opacity .25s}
.lightbox.is-loading img{opacity:.25}
.lightbox figcaption{font-size:14px;color:#d5dde5;text-align:center;max-width:80ch}
.lightbox button{position:absolute;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid #ffffff38;background:#ffffff1a;color:#fff;font:inherit;font-size:28px;line-height:1;cursor:pointer;transition:background-color .2s,border-color .2s}
.lightbox button:hover,.lightbox button:focus-visible{background:var(--red);border-color:var(--red);outline:0}
.lightbox-close{top:14px;inset-inline-end:max(4vw,16px)}
.lightbox-step{top:50%;margin-top:-23px}
.lightbox-previous{inset-inline-start:max(1.5vw,10px)}
.lightbox-next{inset-inline-end:max(1.5vw,10px)}
[dir=rtl] .lightbox-step{transform:scaleX(-1)}
@keyframes lightbox-in{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){.lightbox[open] figure{animation:lightbox-in .28s var(--ease)}}
@media(max-width:760px){.lightbox figure{padding:64px 10px 18px}.lightbox-step{top:auto;bottom:14px;margin:0}}

/* Product picture: never stretched beyond its own resolution, so small catalogue images stay sharp. */
.detail-picture{position:relative;aspect-ratio:1/1;max-height:600px;width:100%}
.detail-picture>a,.detail-picture>img{position:absolute;inset:24px}
.detail-picture>a{display:grid;grid-template:minmax(0,1fr)/minmax(0,1fr);place-items:center}
.detail-picture>a::after{inset-inline-end:-8px;bottom:-8px}
.detail-picture img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.detail-picture>img{margin:auto}
@media(max-width:760px){.detail-picture>a,.detail-picture>img{inset:16px}}
