.partner-carousel-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:24px 0 14px; }
.partner-scroll-note { margin:0; color:#64727a; font-size:13px; }
.partner-controls { display:flex; gap:8px; }
.partner-scroll-button { width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(9,41,65,.16); border-radius:50%; background:#fff; color:var(--navy); font-size:19px; cursor:pointer; transition:background .2s,color .2s,transform .2s,opacity .2s; }
.partner-scroll-button:hover:not(:disabled) { background:var(--navy); color:#fff; transform:translateY(-2px); }
.partner-scroll-button:disabled { opacity:.3; cursor:default; }
.partner-grid { display:flex !important; gap:16px; overflow-x:auto; padding:4px 2px 16px; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:thin; scrollbar-color:#0b2f45 #e4e8e5; }
.partner-card { position:relative; isolation:isolate; overflow:hidden; flex:0 0 calc((100% - 48px) / 4); aspect-ratio:4 / 3; min-height:220px !important; padding:22px !important; border:1px solid rgba(9,41,65,.1); border-radius:var(--radius); color:#fff; scroll-snap-align:start; box-shadow:0 10px 28px rgba(9,41,65,.08); text-decoration:none; transition:transform .22s,box-shadow .22s; }
.partner-card:hover { transform:translateY(-4px); box-shadow:0 15px 34px rgba(9,41,65,.15); }
.partner-card-image { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.partner-card:hover .partner-card-image { transform:scale(1.035); }
.partner-card::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(5,31,49,.02) 24%,rgba(5,31,49,.88) 100%); }
.partner-card small,.partner-card strong,.partner-card span { display:block; }
.partner-card small { color:rgba(255,255,255,.78) !important; font-size:12px; }
.partner-card strong { margin-top:7px !important; font-size:clamp(18px,1.5vw,23px) !important; line-height:1.35; }
.partner-place-link { margin-top:11px; font-size:12px; font-weight:800; color:#fff; }
.partner-card.is-placeholder { background:linear-gradient(145deg,#edf1ed,#dce5e1) !important; color:var(--navy); box-shadow:none; }
.partner-card.is-placeholder::after { background:linear-gradient(145deg,transparent,#cbd9d344); }
.partner-card.is-placeholder:hover { transform:none; }
.partner-slot-number { position:absolute; top:18px; right:20px; color:#0b2f4518; font-size:48px; font-weight:900; line-height:1; }
.partner-card.is-placeholder small { color:#728087 !important; }
.partner-card.is-placeholder strong { color:var(--navy); max-width:150px; }
@media(max-width:960px) { .partner-card { flex-basis:calc((100% - 16px) / 2); } }
@media(max-width:680px) { .partner-carousel-head { align-items:flex-end; } .partner-scroll-note { font-size:12px; } .partner-scroll-button { width:38px; height:38px; } .partner-card { flex-basis:min(82vw,310px) !important; min-height:220px !important; } }
@media(prefers-reduced-motion:reduce) { .partner-grid { scroll-behavior:auto; } .partner-card,.partner-card-image,.partner-scroll-button { transition:none; } }
