/* Shared independent polish for the 24 case pages and their catalogue. */
@font-face{font-family:Barlow;src:url(assets/Barlow-Regular.ttf) format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Barlow;src:url(assets/Barlow-SemiBold.ttf) format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Barlow;src:url(assets/Barlow-Bold.ttf) format('truetype');font-weight:700;font-display:swap}
body,.lbl,.chip,.card h3,.h2,.hero h1,.kpi strong{font-family:Barlow,-apple-system,system-ui,sans-serif}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.top{gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}
.top a.cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:14px 22px;font:600 15px/1.2 Barlow,sans-serif;background:#f5f5f3;color:#121412;border:1px solid #fff;border-radius:999px;box-shadow:0 4px 12px #0003;transition:background .2s,transform .2s}
.top a.cta .cta__icon{width:18px;height:18px;object-fit:contain;flex:none}
.top a.cta:hover{background:#fff;transform:translateY(-1px)}
a:focus-visible,nav:focus-visible{outline:2px solid var(--ac2);outline-offset:5px}
.hero .case-intro{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;max-width:none;margin-top:0;font-size:11px}
.case-intro img{width:112px;height:32px;object-fit:contain;flex:none}
.hero .logo{height:clamp(64px,8vw,104px);max-width:min(75vw,440px);margin-top:34px;margin-bottom:26px}
.end{text-align:left}
.case-invite{padding:clamp(28px,5vw,56px);border:1px solid var(--line);border-radius:28px;background:var(--s1)}
.end .case-invite .h2{font-size:clamp(36px,5vw,64px);line-height:1.08;max-width:14ch}
.end .case-invite>p:not(.lbl){margin:18px 0 0!important;max-width:42ch!important}
.case-invite .btns{justify-content:flex-start;margin-top:24px}
.case-invite .btn{min-height:48px;padding:14px 22px}
.more-title{font:600 clamp(20px,2vw,26px)/1.3 Barlow,sans-serif;margin-top:48px;color:var(--tx2)}
.more{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:22px}
.more a{display:flex;align-items:center;justify-content:center;min-height:108px;padding:22px;border-radius:18px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line);transition:background .2s}
.more a img{display:block;width:100%;max-width:160px;height:64px;object-fit:contain}
.more a:hover{background:var(--s2)}
@media(max-width:700px){
 .top{gap:12px;padding:16px 0}
 .top>a:first-child img{height:32px;width:auto;max-width:110px;object-fit:contain}
 .top a.cta{font-size:13px;gap:8px;padding:12px 16px;min-height:48px}
 .hero .case-intro{gap:10px;line-height:1.5}
 .hero .logo{margin-top:28px;margin-bottom:24px}
 .case-invite{border-radius:22px;padding:28px 22px}
 .case-invite .btns{flex-direction:column;align-items:stretch}
 .case-invite .btn{justify-content:center;text-align:center;white-space:normal}
 .more{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;flex-wrap:nowrap;padding:4px 2px 18px}
 .more a{flex:0 0 160px;min-height:100px;scroll-snap-align:start}
}
@media(prefers-reduced-motion:reduce){.top a.cta,.more a{transition:none}.top a.cta:hover{transform:none}}
