/* networking-partners.css — extracted from Step 40 without visual edits. */
/* Step 37: Networking + Partners */
.partner-hero .inner-hero-bg{background-image:url('/assets/images/hero-slide-04.webp')}.network-coming{padding:90px 0}.coming-card{max-width:900px;margin:auto;text-align:center;padding:70px 40px;border:1px solid rgba(24,104,72,.12);border-radius:28px;background:linear-gradient(145deg,#fff,#f5faf7);box-shadow:0 18px 50px rgba(15,70,48,.08)}.coming-title{font-size:clamp(44px,7vw,86px);font-weight:800;letter-spacing:.08em;color:#176847;margin:20px 0}.coming-card p{max-width:650px;margin:auto;color:#66756e;line-height:1.8}.network-orbit{width:130px;height:130px;margin:0 auto 30px;border-radius:50%;border:1px solid rgba(24,104,72,.22);position:relative;display:grid;place-items:center;color:#176847;font-size:42px}.network-orbit span{position:absolute;width:13px;height:13px;background:#d44738;border-radius:50%}.network-orbit span:nth-child(1){top:-6px}.network-orbit span:nth-child(3){right:-6px}.network-orbit span:nth-child(4){bottom:8px;left:4px}.partners-showcase{padding-top:70px}.section-heading.center{text-align:center;max-width:800px;margin:0 auto 45px}.partner-stage{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(0,1.4fr);gap:45px;align-items:stretch;min-height:600px}.partner-rail-wrap{height:600px;overflow:hidden;border-radius:28px;background:#f5faf7;padding:24px;position:relative}.partner-rail{height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:none;display:flex;flex-direction:column;gap:14px;padding:90px 10px;scroll-behavior:smooth;touch-action:pan-y}.partner-rail::-webkit-scrollbar{display:none}.partner-rail-control{position:absolute;z-index:3;left:50%;transform:translateX(-50%);width:42px;height:42px;border:1px solid #d8e6df;border-radius:50%;background:rgba(255,255,255,.96);color:#176847;font-size:20px;font-weight:800;cursor:pointer;box-shadow:0 8px 20px rgba(15,70,48,.10);transition:transform .2s,background .2s,color .2s}.partner-rail-control:hover{background:#176847;color:#fff;transform:translateX(-50%) scale(1.06)}.partner-rail-up{top:14px}.partner-rail-down{bottom:14px}.partner-scroll-hint{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#8a9892;background:rgba(245,250,247,.9);padding:2px 8px;pointer-events:none}.partner-logo{border:0;background:#fff;border-radius:18px;padding:18px;display:flex;align-items:center;gap:18px;text-align:left;cursor:pointer;min-height:82px;box-shadow:0 8px 24px rgba(15,70,48,.06);transition:.35s}.partner-logo span,.partner-panel-mark,.partner-modal-mark{width:58px;height:58px;border-radius:16px;background:#176847;color:#fff;display:grid;place-items:center;font-weight:800;flex:0 0 auto}.partner-logo small{font-size:14px;color:#53625c}.partner-logo.active{transform:scale(1.04);box-shadow:0 15px 35px rgba(15,70,48,.15);outline:2px solid rgba(212,71,56,.22)}.partner-logo.active span{background:#d44738}.partner-panel{border-radius:28px;padding:55px;background:#f5faf7;display:flex;flex-direction:column;justify-content:center}.partner-panel h2{font-size:clamp(34px,4vw,54px);margin:10px 0 18px;color:#153f2f}.partner-panel-lead{font-size:18px;line-height:1.8;color:#64726c;max-width:680px}.partner-meta{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0}.partner-meta div{background:#fff;border-radius:16px;padding:18px}.partner-meta small{display:block;color:#8a9690;font-size:11px;letter-spacing:.1em;margin-bottom:7px}.partner-meta strong{color:#244c3c}.partnership-story{background:#f7faf8}.partnership-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.partnership-timeline div{background:#fff;border-radius:20px;padding:28px;min-height:160px}.partnership-timeline b{display:block;color:#d44738;font-size:25px;margin-bottom:18px}.partnership-timeline span{color:#68756f;line-height:1.65}.partner-modal[aria-hidden=true]{display:none}.partner-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px}.partner-modal-backdrop{position:absolute;inset:0;background:rgba(8,31,23,.7);backdrop-filter:blur(6px)}.partner-modal-dialog{position:relative;z-index:1;background:#fff;max-width:760px;width:100%;max-height:90vh;overflow:auto;border-radius:28px;padding:55px}.partner-modal-close{position:absolute;right:20px;top:18px;border:0;background:#f1f5f3;width:40px;height:40px;border-radius:50%;font-size:25px;cursor:pointer}.partner-modal-dialog h2{font-size:42px;margin:15px 0}.partner-modal-dialog p{color:#66736d;line-height:1.8}.partner-social{display:flex;gap:10px;margin-top:25px}.partner-social a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#176847;color:#fff;text-decoration:none;font-weight:700}.modal-open{overflow:hidden}@media(max-width:800px){.partner-stage{grid-template-columns:1fr}.partner-rail-wrap{height:300px}.partner-rail{padding:65px 10px}.partner-rail-control{display:grid}.partner-scroll-hint{display:none}.partner-panel{padding:35px 25px}.partnership-timeline{grid-template-columns:1fr 1fr}.partner-meta{grid-template-columns:1fr}.partner-modal-dialog{padding:40px 25px}}@media(max-width:520px){.partnership-timeline{grid-template-columns:1fr}.coming-card{padding:50px 22px}.partner-panel h2{font-size:36px}}

/* STEP 37.3 PARTNER SHOWCASE: logo-only circular selector */
.partner-rail-wrap{height:620px;overflow:hidden;border-radius:30px;background:linear-gradient(160deg,#f7fbf9 0%,#eef7f2 100%);padding:0;position:relative;border:1px solid rgba(23,104,71,.08);box-shadow:0 20px 55px rgba(15,70,48,.07)}
.partner-rail-viewport{position:absolute;inset:72px 18px 72px;overflow:hidden;overscroll-behavior:none;touch-action:pan-y;cursor:grab;mask-image:linear-gradient(to bottom,transparent 0%,#000 13%,#000 87%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 13%,#000 87%,transparent 100%)}
.partner-rail-viewport:active{cursor:grabbing}
.partner-rail-track{position:absolute;inset:0;display:block;will-change:transform}
.partner-logo-slot{position:absolute;left:0;right:0;top:50%;height:86px;margin-top:-43px;display:flex;align-items:center;justify-content:center;will-change:transform,opacity}
.partner-logo{width:100%;height:86px;min-height:86px;border:1px solid rgba(23,104,71,.07);background:rgba(255,255,255,.94);border-radius:18px;padding:12px 18px;display:flex;align-items:center;justify-content:center;text-align:center;cursor:pointer;box-shadow:0 7px 22px rgba(15,70,48,.045);transform-origin:center center;transition:box-shadow .3s ease,background .3s ease,border-color .3s ease,opacity .3s ease}
.partner-logo img{display:block;width:auto;height:auto;max-width:150px;max-height:58px;object-fit:contain}
.partner-logo-fallback{width:54px;height:54px;border-radius:14px;background:#176847;color:#fff;display:grid;place-items:center;font-weight:800;flex:0 0 auto;font-size:13px}
.partner-logo small{display:none}
.partner-logo.active{background:#fff;border-color:rgba(212,71,56,.34);box-shadow:0 18px 38px rgba(15,70,48,.16),0 0 0 1px rgba(212,71,56,.05);z-index:2}
.partner-logo.active img{max-width:165px;max-height:64px}
.partner-rail-control{position:absolute;z-index:5;left:50%;transform:translateX(-50%);width:44px;height:44px;border:1px solid #d7e6df;border-radius:50%;background:rgba(255,255,255,.97);color:#176847;font-size:20px;font-weight:800;cursor:pointer;box-shadow:0 9px 22px rgba(15,70,48,.12);transition:transform .2s ease,background .2s ease,color .2s ease}.partner-rail-control:hover{background:#176847;color:#fff;transform:translateX(-50%) scale(1.07)}.partner-rail-up{top:18px}.partner-rail-down{bottom:18px}
.partner-rail-fade{position:absolute;left:0;right:0;height:92px;z-index:4;pointer-events:none}.partner-fade-top{top:55px;background:linear-gradient(to bottom,#f4faf7 0%,rgba(244,250,247,.9) 35%,transparent 100%)}.partner-fade-bottom{bottom:55px;background:linear-gradient(to top,#f4faf7 0%,rgba(244,250,247,.9) 35%,transparent 100%)}
.partner-center-line{position:absolute;left:14px;right:14px;top:50%;height:92px;transform:translateY(-50%);border-radius:22px;border:1px dashed rgba(212,71,56,.18);background:rgba(255,255,255,.06);pointer-events:none;z-index:2}
.partner-scroll-hint{position:absolute;left:50%;bottom:6px;transform:translateX(-50%);font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#8a9892;background:rgba(245,250,247,.9);padding:2px 8px;pointer-events:none;white-space:nowrap}
.partner-panel{border-radius:30px;padding:58px;background:linear-gradient(145deg,#f7fbf9,#edf6f1);border:1px solid rgba(23,104,71,.08);box-shadow:0 20px 55px rgba(15,70,48,.07);display:flex;flex-direction:column;justify-content:center}.partner-panel-top{display:flex;align-items:center;gap:18px}.partner-panel-logo{display:block;width:auto;height:auto;max-width:150px;max-height:64px;object-fit:contain}.partner-panel-mark{width:72px;height:72px;border-radius:20px;background:#176847;color:#fff;display:grid;place-items:center;font-weight:800}.partner-panel h2{font-size:clamp(36px,4vw,58px);margin:15px 0 18px;color:#153f2f;letter-spacing:-1.5px}.partner-panel-lead{font-size:18px;line-height:1.85;color:#64726c;max-width:680px}.partner-meta div{border:1px solid rgba(23,104,71,.08);box-shadow:none}.partnership-story{background:#f7faf8}.partnership-timeline div{border:1px solid rgba(23,104,71,.07);box-shadow:0 10px 28px rgba(15,70,48,.045)}
@media(max-width:800px){.partner-rail-wrap{height:390px}.partner-rail-viewport{inset:60px 14px 60px}.partner-logo-slot,.partner-logo{height:76px;min-height:76px}.partner-logo img{max-width:125px;max-height:50px}.partner-logo.active img{max-width:140px;max-height:56px}.partner-center-line{height:82px}.partner-fade-top{top:42px}.partner-fade-bottom{bottom:42px}.partner-panel{padding:35px 25px}.partner-panel-logo{max-width:130px;max-height:56px}}

/* STEP 97 — dynamic networking directory */
.networking-directory{padding:80px 0 100px}.network-group{margin-top:58px}.network-group-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.network-group-head span{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#176847}.network-group-head b{font-size:12px;color:#89968f;background:#f1f6f3;border-radius:999px;padding:6px 11px}.network-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.network-card{background:#fff;border:1px solid rgba(23,104,71,.10);border-radius:22px;padding:26px;box-shadow:0 12px 35px rgba(15,70,48,.06);transition:transform .2s,box-shadow .2s}.network-card:hover,.network-card.featured{transform:translateY(-3px);box-shadow:0 18px 45px rgba(15,70,48,.10)}.network-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px}.network-logo{max-width:130px;max-height:58px;object-fit:contain}.network-mark,.network-modal-mark{width:58px;height:58px;border-radius:16px;background:#176847;color:#fff;display:grid;place-items:center;font-weight:800}.network-role{font-size:10px;line-height:1.35;text-transform:uppercase;letter-spacing:.08em;color:#d44738;text-align:right}.network-card h3{font-size:23px;line-height:1.25;color:#153f2f;margin:24px 0 12px}.network-card p{color:#68766f;line-height:1.7;min-height:72px;margin:0}.network-more{border:0;background:none;padding:0;margin-top:20px;color:#176847;font-weight:800;cursor:pointer}.network-more span{margin-left:5px}.network-empty{text-align:center;padding:70px 30px;border:1px solid rgba(23,104,71,.10);border-radius:24px;background:#f7fbf9}.network-modal[aria-hidden=true]{display:none}.network-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px}.network-modal-backdrop{position:absolute;inset:0;background:rgba(8,31,23,.72);backdrop-filter:blur(6px)}.network-modal-dialog{position:relative;z-index:1;background:#fff;max-width:760px;width:100%;max-height:88vh;overflow:auto;border-radius:28px;padding:48px}.network-modal-close{position:absolute;right:18px;top:16px;border:0;background:#f1f5f3;width:42px;height:42px;border-radius:50%;font-size:25px;color:#153f2f;cursor:pointer}.network-modal-logo{max-width:170px;max-height:72px;object-fit:contain;margin-bottom:20px}.network-modal-dialog h2{font-size:42px;line-height:1.12;color:#153f2f;margin:12px 0 18px}.network-modal-role{display:flex;flex-direction:column;gap:5px;background:#f5faf7;border-radius:14px;padding:14px 16px;margin:0 0 24px}.network-modal-role small{font-size:10px;letter-spacing:.12em;color:#89968f}.network-modal-role strong{color:#176847}.network-modal-description{color:#66746d;line-height:1.85;white-space:pre-line}.network-modal-link{display:inline-block;margin-top:22px;background:#176847;color:#fff;text-decoration:none;padding:12px 18px;border-radius:10px;font-weight:700}@media(max-width:900px){.network-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.network-grid{grid-template-columns:1fr}.network-modal-dialog{padding:38px 24px}.network-modal-dialog h2{font-size:34px}}
