/* Forest-green brand gallery with illuminated logo plaques and native swiping. */
body[data-page="index"] main>#partners{background:radial-gradient(ellipse at 85% 5%,#29463244,transparent 60%),#0c1912;color:#f2f5eb;border-top:1px solid #d5ebce12;padding:90px 0 72px;overflow:hidden}
.partners-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;align-items:end;margin-bottom:46px}
body[data-page="index"] #partners .eyebrow{color:#c8f560}
.partners-heading h2{font-size:clamp(38px,4.4vw,64px);line-height:1.3;color:#f2f5eb}
.partners-heading h2>span{color:#c8f560}
.partners-intro{padding-left:28px;border-left:2px solid #c8f56045;max-width:450px}
.partners-small-title{display:block;font-size:24px;font-weight:650;margin-bottom:14px}
.partners-intro p{font-size:16px;line-height:1.9;color:#b6c6b8}
body[data-page="index"] #partners .text-link{color:#d7e5cb;border-color:#c8f56045;margin-top:22px;display:inline-flex}
.partner-carousel{position:relative}
.partners-track{position:relative;display:flex;gap:22px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;list-style:none;margin:0;padding:12px 0 24px;}
.partners-track::-webkit-scrollbar{display:none}
.partner-card{position:relative;isolation:isolate;flex:0 0 calc((100% - 66px)/3.4);min-width:0;scroll-snap-align:start;border:1px solid #d6edce24;border-radius:20px;padding:22px 24px;background:linear-gradient(145deg,#213b2c,#14251b);box-shadow:0 16px 30px #00000018,inset 0 1px 0 #ffffff08;overflow:hidden;transition:transform .3s,border-color .3s}
.partner-card::before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 85% 10%,color-mix(in srgb,var(--partner-color) 5%,transparent),transparent 65%);pointer-events:none}
.partner-card::after{content:"";position:absolute;width:190px;height:190px;right:-85px;top:-95px;border:1px solid color-mix(in srgb,var(--partner-color) 13%,transparent);border-radius:50%;pointer-events:none}
.partner-card:hover{transform:translateY(-5px);border-color:#b7d58d66}
.partner-card-top{display:flex;justify-content:space-between;gap:12px;color:#a4b69e;font-size:10px;letter-spacing:.07em;line-height:1.6}
.partner-card-top>span:last-child{font:italic 15px Georgia,serif;letter-spacing:0}
.partner-logo-stage{display:flex;align-items:center;justify-content:center;height:200px;padding:38px 16px}
.partner-logo-stage img{display:block;width:100%;max-width:190px;height:138px;object-fit:contain;padding:22px 28px;border-radius:16px;background:linear-gradient(145deg,#ffffff,#e9efe2);border:1px solid #ffffff88;box-shadow:0 12px 28px #00000018}
.partner-card-caption{padding-top:20px;border-top:1px solid #d6edce24;min-height:75px}
.partner-card-caption h3{font-size:23px;line-height:1.4;color:#f2f5eb;font-weight:650;margin:0 0 6px}
.partner-card-caption>span{font-size:13px;line-height:1.6;letter-spacing:.04em;color:#b4c4ac}
.partner-carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-top:4px}
.partner-position{display:flex;align-items:center;gap:12px;flex:1;max-width:500px}
.partner-range{font:italic 24px Georgia,serif;color:#d5eeac;white-space:nowrap;font-variant-numeric:tabular-nums}
.partner-count{font-size:13px;color:#a4b69e;white-space:nowrap}
.partner-progress{height:2px;background:#d6edce24;flex:1;margin-left:16px;overflow:hidden}
.partner-progress>span{display:block;width:100%;height:100%;background:#c8f560;transform:scaleX(0);transform-origin:left;transition:none}
.partner-buttons{display:flex;align-items:center;gap:10px}
.partner-buttons button{cursor:pointer;background:transparent;color:#d5e5c8;font:inherit;border:1px solid #c8f56045;transition:background .2s}
.partner-buttons .partner-prev,.partner-buttons .partner-next{width:48px;height:48px;border-radius:50%;font-size:23px;display:grid;place-items:center;line-height:1}
.partner-buttons .partner-next{background:#c8f560;color:#14291a;border-color:#c8f560}
.partner-buttons .partner-play{border:0;padding:12px;margin-right:8px;font-size:13px}
.partner-buttons button:hover{background:#36533b}.partner-buttons .partner-next:hover{background:#dcff8c}
.partners-track:focus-visible,.partner-buttons button:focus-visible{outline:3px solid #c8f560;outline-offset:3px}
.partner-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:1000px){.partners-heading{gap:7%}.partner-card{flex-basis:calc((100% - 38px)/2.2)}.partner-logo-stage{height:180px}}
@media(max-width:700px){
 body[data-page="index"] main>#partners{padding:54px 0 42px}
 .partners-heading{grid-template-columns:1fr;gap:25px;margin-bottom:22px}.partners-heading h2{font-size:36px}.partners-intro{padding-left:18px}.partners-small-title{font-size:21px;margin-bottom:10px}.partners-intro p{font-size:15px}
 .partners-track{gap:16px;padding-bottom:20px}.partner-card{flex-basis:calc(100% - 30px);padding:22px;border-radius:18px}.partner-logo-stage{height:190px}.partner-card-caption h3{font-size:23px}
 .partner-carousel-controls{gap:18px;flex-wrap:wrap}.partner-position{min-width:120px}.partner-progress{display:none}.partner-range{font-size:22px}.partner-buttons{gap:8px}.partner-buttons .partner-prev,.partner-buttons .partner-next{width:40px;height:40px;font-size:21px}.partner-buttons .partner-play{margin:0;padding:10px 4px;font-size:12px}
}
@media(max-width:360px){.partners-heading h2{font-size:32px}.partner-carousel-controls{gap:10px}.partner-buttons{gap:5px}.partner-buttons .partner-prev,.partner-buttons .partner-next{width:36px;height:36px}.partner-position{gap:6px;min-width:95px}.partner-range{font-size:20px}}
@media(prefers-reduced-motion:reduce){.partner-card,.partner-buttons button,.partner-progress>span{transition:none}.partner-card:hover{transform:none}}
