/* All visual changes are confined to the homepage supply section. */
.homepage #supply .section-header{align-items:end;gap:36px;margin-bottom:32px}
.homepage #supply .section-header>div:first-child{flex:1;min-width:0}
.homepage #supply .section-header>p{max-width:340px;flex:0 1 340px;margin:0;line-height:1.7}
.homepage #supply .supply-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.homepage #supply .supply-card{position:relative;display:block;min-width:0;height:280px;padding:0;overflow:hidden;isolation:isolate;border-radius:14px;background:var(--deep);color:white;transform:none;box-shadow:0 5px 20px #073f2610;transition:box-shadow .35s ease}
.homepage #supply .supply-card-media{position:absolute;inset:0;display:block;z-index:-2}
.homepage #supply .supply-card-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .65s cubic-bezier(.2,.65,.3,1)}
.homepage #supply .supply-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 28%,#05190c20 48%,#05190cd4 100%);pointer-events:none}
.homepage #supply .supply-card-content{position:absolute;inset:auto 20px 22px;display:flex;align-items:end;gap:12px}
.homepage #supply .supply-card-copy{flex:1;min-width:0}
.homepage #supply .supply-card h3{margin:0 0 8px;font:700 19px/1.25 'DM Sans',Arial,sans-serif;letter-spacing:0;color:white}
.homepage #supply .supply-card small{display:block;max-width:none;min-height:3.1em;font-size:12px;font-weight:500;line-height:1.55;color:#fffffff0}
.homepage #supply .supply-card-arrow{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;margin-bottom:1px;border-radius:50%;background:white;color:var(--deep);transition:background .3s ease,color .3s ease}
.homepage #supply .supply-card-arrow>span{display:block;font-size:20px;line-height:1;transition:transform .35s ease}
.homepage #supply .supply-card:focus-visible{outline:3px solid var(--orange);outline-offset:4px;box-shadow:0 10px 26px #073f2624}
.homepage #supply .supply-card:focus-visible img{transform:scale(1.045)}
.homepage #supply .supply-card:focus-visible .supply-card-arrow{background:var(--orange);color:white}
.homepage #supply .supply-card:focus-visible .supply-card-arrow>span{transform:translate(2px,-2px)}
@media(hover:hover){
 .homepage #supply .supply-card:hover{box-shadow:0 10px 26px #073f2624}
 .homepage #supply .supply-card:hover img{transform:scale(1.045)}
 .homepage #supply .supply-card:hover .supply-card-arrow{background:var(--orange);color:white}
 .homepage #supply .supply-card:hover .supply-card-arrow>span{transform:translate(2px,-2px)}
}
@media(prefers-reduced-motion:no-preference){
 .homepage #supply.supply-reveal-ready .supply-card{opacity:0;transform:translateY(18px)}
 .homepage #supply.supply-reveal-ready.supply-revealed .supply-card{animation:supply-card-enter .6s cubic-bezier(.2,.65,.3,1) both}
 .homepage #supply.supply-revealed .supply-card:nth-child(2){animation-delay:.12s}
 .homepage #supply.supply-revealed .supply-card:nth-child(3){animation-delay:.24s}
 .homepage #supply.supply-revealed .supply-card:nth-child(4){animation-delay:.36s}
}
@keyframes supply-card-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:561px) and (max-width:1050px){
 .homepage #supply .section-header{flex-wrap:nowrap;gap:28px}
 .homepage #supply .section-header>div:first-child{flex-basis:55%}
 .homepage #supply .section-header>p{flex-basis:35%;max-width:300px}
 .homepage #supply .supply-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 .homepage #supply .supply-card{height:285px}
}
@media(max-width:560px){
 .homepage #supply .section-header{display:block;margin-bottom:26px}
 .homepage #supply .section-header>p{max-width:100%;margin-top:18px}
 .homepage #supply .supply-grid{grid-template-columns:1fr;gap:16px}
 .homepage #supply .supply-card{height:280px}
 .homepage #supply .supply-card-content{inset:auto 22px 22px}
 .homepage #supply .supply-card h3{font-size:21px}
 .homepage #supply .supply-card small{font-size:13px;min-height:0}
 .homepage #supply .supply-card-arrow{flex-basis:38px;width:38px;height:38px}
}
@media(prefers-reduced-motion:reduce){
 .homepage #supply .supply-card,.homepage #supply .supply-card img,.homepage #supply .supply-card-arrow,.homepage #supply .supply-card-arrow>span{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}
}
