:root{--navy:#12354c;--teal:#2bae9b;--ink:#263746;--muted:#5b6c77;--light:#f5f7fa;--line:#dce5e8;--green:#087769}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);line-height:1.65;background:white}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #087769;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--navy);line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(2.6rem,4.4vw,4.3rem);font-weight:650;margin-bottom:26px}h2{font-size:clamp(2rem,3vw,2.9rem);font-weight:600;margin-bottom:24px}h3{font-size:1.3rem;letter-spacing:-.02em}.container{width:min(1200px,calc(100% - 64px));margin:auto}.header{position:sticky;top:0;background:#fffffff5;z-index:10;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:94px;gap:30px}.brand{display:flex;align-items:center;gap:10px;color:var(--navy);font-size:29px;font-weight:750;letter-spacing:.035em}.brand small{display:block;font-size:8px;font-weight:600;letter-spacing:.03em;line-height:1.5}.brand-icon{font-size:48px;color:var(--green);line-height:1}nav{display:flex;align-items:center;gap:24px}nav>a{font-size:13px;font-weight:600}nav>a:hover,.text-link:hover{color:var(--green)}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:15px 22px;background:var(--navy);color:white;border:1px solid var(--navy);border-radius:5px;font-size:14px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#20516d;color:white;transform:translateY(-2px)}.button.outline{background:transparent;color:var(--navy);border-color:#a8bac4}.button.outline:hover{background:#e9f3f1}.button.small{padding:11px 16px}.menu-toggle{display:none}.hero{overflow:hidden;background:linear-gradient(120deg,#f6f9fa,#eef5f4);padding:88px 0 82px}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:35px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700;color:var(--green);margin-bottom:20px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:8px}h1 span{color:var(--green)}.hero-copy{font-size:17px;max-width:570px;color:var(--muted);margin-bottom:32px}.actions{display:flex;gap:12px;flex-wrap:wrap}.hero-note{font-size:11px;color:var(--muted);margin-top:25px;margin-bottom:0}.network{position:relative;min-height:410px}.orbit{position:absolute;border:1px solid #aacac5;border-radius:50%;left:50%;top:47%;transform:translate(-50%,-50%)}.orbit-one{width:300px;height:300px}.orbit-two{width:410px;height:410px;border-style:dashed;opacity:.5}.hub{position:absolute;top:47%;left:50%;transform:translate(-50%,-50%);width:194px;height:194px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;flex-direction:column;color:white;box-shadow:0 20px 60px #12354c25}.hub-symbol{color:#71d4c5;font-size:45px;line-height:1}.hub strong{font-size:29px;letter-spacing:.06em}.hub small{font-size:8px;color:#b8d5de}.node{position:absolute;padding:14px 18px;background:white;box-shadow:0 8px 30px #12354c12;border:1px solid #dbe7e5;border-radius:7px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:12px}.node span{font-size:24px;color:var(--green)}.node-a{top:14px;left:38px}.node-b{top:164px;right:-8px}.node-c{bottom:56px;left:-8px}.spark{position:absolute;background:var(--teal);width:11px;height:11px;border:3px solid white;border-radius:50%}.spark-a{top:50px;right:62px}.spark-b{bottom:63px;right:78px}.network-label{position:absolute;bottom:-15px;right:0;font-size:11px;color:var(--muted);border-left:2px solid var(--teal);padding-left:15px}.principles{border-bottom:1px solid var(--line);padding:24px 0}.principles .container{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}.principles span:before{content:'✧';color:var(--green);margin-right:10px}.section{padding:88px 0;scroll-margin-top:20px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.lead{font-size:19px;color:var(--navy)}.intro-grid p:not(.eyebrow){max-width:550px}.text-link{color:var(--green);font-weight:650;font-size:14px}.muted{background:var(--light)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:35px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:14px;color:var(--muted);margin-bottom:0}.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.audience-card{background:white;border:1px solid var(--line);padding:40px;border-radius:8px}.icon-box{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:8px;background:#e7f4f0;color:var(--green);font-size:27px;margin-bottom:25px}.audience-card h3{font-size:27px}.audience-card>p:not(.eyebrow){font-size:14px;color:var(--muted)}.check-list{list-style:none;padding:0;font-size:13px;margin:25px 0 30px}.check-list li{position:relative;padding-left:22px;margin:13px 0}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--green)}.dark{background:var(--navy);border-color:var(--navy);color:white}.dark h3{color:white}.dark>p:not(.eyebrow){color:#c5d7e0}.dark .eyebrow,.dark .text-link,.dark .check-list li:before{color:#80dccd}.dark .icon-box{background:#ffffff14;color:#80dccd}.fine-print{font-size:12px;color:var(--muted);margin:22px 0 0}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.category-card{padding:25px 22px;border:1px solid var(--line);border-radius:6px;transition:border-color .2s}.category-card:hover{border-color:var(--teal)}.category-icon{font-size:26px;color:var(--green);display:block;margin-bottom:18px}.category-card h3{font-size:15px;line-height:1.4;letter-spacing:0}.category-card p{font-size:12px;color:var(--muted);margin-bottom:0}.pill{font-size:10px;letter-spacing:.05em;border:1px solid #bed7d0;border-radius:30px;color:var(--green);padding:6px 10px;background:#eef7f3;display:inline-block}.section-copy{font-size:14px;color:var(--muted);max-width:700px}.rfp-grid,.membership-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.rfp-card{padding:28px;background:white;border:1px solid var(--line);border-radius:7px}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.rfp-number{color:#96a8b3;font-size:12px}.rfp-card .eyebrow{font-size:9px;margin-bottom:10px}.rfp-card h3{font-size:21px;line-height:1.3}.rfp-card>p{font-size:13px;color:var(--muted)}dl{margin:22px 0}dl div{padding:10px 0;border-bottom:1px solid #edf0f2;font-size:11px}dt{color:var(--muted)}dd{margin:0;font-weight:600}.rfp-card .demo-status{font-size:10px;color:var(--green);margin:20px 0 0}.membership-tabs{display:flex;gap:5px;background:var(--light);border:1px solid var(--line);padding:5px;border-radius:6px;width:fit-content;margin-bottom:28px}.tab{border:0;border-radius:4px;background:transparent;padding:10px 18px;color:var(--muted);font-size:13px}.tab.active{background:var(--navy);color:white}.plan{padding:32px;border:1px solid var(--line);border-radius:7px;display:flex;flex-direction:column}.plan.featured{border-color:var(--green);box-shadow:0 8px 25px #12354c08}.plan .eyebrow{font-size:9px}.plan h3{font-size:23px}.plan-price{color:var(--green);font-size:14px;margin-bottom:0}.plan ul{flex:1}.notice{background:var(--light);border-left:3px solid var(--teal);margin-top:28px;padding:22px 26px;font-size:12px}.notice strong{font-size:14px;color:var(--navy)}.notice p{margin:8px 0 0;color:var(--muted)}.verified-section{background:#eaf3f1}.verified-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:center}.verified-grid p:not(.eyebrow){font-size:14px;max-width:560px}.verified-grid .button{margin-top:10px}.platform-card{padding:35px;background:white;border:1px solid #d5e3df;border-radius:10px;text-align:center;box-shadow:0 15px 40px #12354c08}.platform-mark{font-size:30px;font-weight:750;color:var(--navy);letter-spacing:.03em}.platform-mark.pv{font-size:25px;color:var(--green);letter-spacing:-.04em}.platform-card p{font-size:12px!important;color:var(--muted);margin:10px 0 0}.platform-connector{display:block;font-size:30px;color:var(--green);margin:18px}.contact-section{text-align:center}.contact-section>.container>p:not(.eyebrow){max-width:550px;margin:0 auto 25px;color:var(--muted)}.contact-placeholder{border:1px dashed #b2c7cd;background:var(--light);border-radius:7px;padding:22px;max-width:620px;margin:30px auto 20px}.contact-placeholder strong{font-size:14px}.contact-placeholder p{font-size:12px;margin:8px 0 0;color:var(--muted)}footer{background:var(--navy);color:#d3dfe5;padding:55px 0 24px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}.footer-grid .brand{color:white}.footer-grid .brand-icon{color:#80dccd}.footer-grid p{font-size:12px;margin-top:18px}.footer-grid h3{color:white;font-size:12px;letter-spacing:0;margin-bottom:20px}.footer-grid>div>a:not(.brand){display:block;font-size:12px;margin:10px 0}.footer-grid a:hover{color:#80dccd}.footer-bottom{border-top:1px solid #ffffff20;margin-top:35px;padding-top:25px;font-size:10px;color:#b8cbd5}.footer-bottom p{max-width:950px}.footer-bottom>span{display:block;margin-top:25px}.skip{position:fixed;top:-100px;left:15px;background:white;padding:12px;z-index:30}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){.hero{padding:110px 0}}@media(max-width:1100px){nav{gap:14px}nav>a{font-size:11px}.brand{font-size:25px}.brand small{font-size:7px}.hero-grid{grid-template-columns:1.2fr 1fr;gap:20px}.network{transform:scale(.85)}.category-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:850px){.container{width:calc(100% - 40px)}.header-inner{min-height:78px}.menu-toggle{display:block;padding:8px 12px;background:white;border:1px solid var(--line);border-radius:4px;color:var(--navy);font-size:13px}nav{display:none;position:absolute;top:78px;left:0;width:100%;background:white;padding:20px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav>a{font-size:14px;padding:12px}nav .button{margin-top:10px}.hero{padding:60px 0}.hero-grid{grid-template-columns:1fr}.hero-copy{max-width:620px}.network{width:480px;max-width:100%;margin:20px auto 0;transform:scale(.9)}.intro-grid{gap:30px}.section{padding:60px 0}.section-heading{align-items:start;gap:20px;flex-direction:column}.audience-card{padding:28px}.rfp-grid{grid-template-columns:1fr}.rfp-card{display:block}.membership-grid{grid-template-columns:1fr}.plan{padding:28px}.verified-grid{gap:35px}.footer-grid{grid-template-columns:2fr 1fr;gap:30px}.principles .container{display:grid;grid-template-columns:1fr 1fr;font-size:11px}}@media(max-width:550px){h1{font-size:2.7rem}.hero-copy{font-size:15px}.eyebrow{font-size:9px}.actions{flex-direction:column;align-items:stretch}.hero-note{font-size:10px}.network{height:340px;min-height:340px;transform:none}.orbit-one{width:230px;height:230px}.orbit-two{width:300px;height:300px}.hub{width:150px;height:150px}.hub strong{font-size:25px}.hub small{font-size:6px}.node{font-size:9px;padding:10px;gap:7px}.node span{font-size:20px}.node-a{left:4px;top:8px}.node-b{right:-4px;top:142px}.node-c{left:0;bottom:44px}.spark-a{right:35px}.spark-b{right:28px;bottom:60px}.network-label{font-size:9px;bottom:-4px}.intro-grid,.audience-grid,.verified-grid{grid-template-columns:1fr}.intro-grid{gap:8px}.category-grid{grid-template-columns:1fr 1fr;gap:10px}.category-card{padding:20px 15px}.category-card h3{font-size:13px}.category-card p{font-size:11px}.membership-tabs{width:100%}.tab{flex:1;padding:10px;font-size:12px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.principles .container{gap:12px}.section-heading h2{font-size:2rem}.button{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Compact spacing with a horizontal icon/title layout for categories. */
.hero { padding: 58px 0 52px; }
.section { padding: 56px 0; }
.section-heading { margin-bottom: 24px; gap: 24px; }
.eyebrow { margin-bottom: 12px; }
h2 { margin-bottom: 18px; }
.intro-grid { gap: 40px; }
.principles { padding: 18px 0; }
.audience-card { padding: 28px; }
.icon-box { margin-bottom: 18px; }
.check-list { margin: 18px 0 22px; }
.check-list li { margin: 9px 0; }
.category-grid { gap: 12px; }
.category-card {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-content: start;
  column-gap: 12px;
  row-gap: 10px;
  padding: 20px 18px;
}
.category-icon { grid-column: 1; margin: 0; line-height: 1.4; }
.category-card h3 {
  grid-column: 2;
  margin: 0;
  font-size: 15px;
  line-height: 1.4;
}
.category-card p { grid-column: 1 / -1; margin: 0; }
.rfp-card { padding: 22px; }
.card-top { margin-bottom: 18px; }
dl { margin: 16px 0; }
.plan { padding: 24px; }
.membership-tabs { margin-bottom: 22px; }
.notice { margin-top: 22px; padding: 18px 22px; }
.verified-grid { gap: 50px; }
.platform-card { padding: 26px; }
.contact-placeholder { margin: 22px auto 16px; padding: 18px; }
footer { padding-top: 40px; }
.footer-bottom { margin-top: 26px; padding-top: 20px; }
@media (min-width: 1500px) { .hero { padding: 70px 0; } }
@media (max-width: 850px) {
  .hero { padding: 42px 0; }
  .section { padding: 42px 0; }
  .audience-card { padding: 24px; }
  .intro-grid { gap: 24px; }
  .section-heading { gap: 14px; }
  .plan { padding: 24px; }
}
@media (max-width: 550px) {
  .section { padding: 36px 0; }
  .category-grid { grid-template-columns: 1fr; }
  .category-card { padding: 18px; }
  .category-card h3 { font-size: 15px; }
  .category-card p { font-size: 13px; }
  .intro-grid { gap: 8px; }
}

/* Compact review: explicit card headings and short, consistent content gaps. */
.header-inner { min-height: 76px; }
.hero { padding: 32px 0; }
.hero-grid { gap: 24px; }
.network { min-height: 350px; transform: scale(.85); }
.hero-copy { margin-bottom: 20px; }
.hero-note { margin-top: 16px; }
.section { padding: 32px 0; }
.section-heading { margin-bottom: 18px; gap: 20px; }
h2 { margin-bottom: 14px; }
.eyebrow { margin-bottom: 8px; }
.intro-grid { gap: 28px; }
.audience-grid, .rfp-grid, .membership-grid { gap: 16px; align-items: start; }
.audience-card, .rfp-card, .plan { padding: 18px; }
.audience-card h3, .rfp-card h3, .plan h3, .category-card h3 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #12354c !important;
  -webkit-text-fill-color: #12354c;
  font-weight: 700;
  margin: 0 0 10px;
  line-height: 1.3;
}
.dark h3 { color: #ffffff !important; -webkit-text-fill-color: #ffffff; }
.audience-card h3 { font-size: 24px; }
.rfp-card h3, .plan h3 { font-size: 20px; }
.category-card h3 { font-size: 15px; margin: 0; }
.icon-box { margin-bottom: 12px; width: 40px; height: 40px; }
.audience-card > p:not(.eyebrow), .rfp-card > p { margin-bottom: 12px; }
.check-list { margin: 12px 0 16px; }
.check-list li { margin: 7px 0; }
.category-grid { gap: 10px; }
.category-card { padding: 14px; row-gap: 6px; column-gap: 8px; }
.card-top { margin-bottom: 12px; }
.rfp-card .eyebrow { margin-bottom: 6px; }
dl { margin: 10px 0; }
dl div { padding: 6px 0; }
.rfp-card .demo-status { margin-top: 12px; }
.membership-tabs { margin-bottom: 16px; }
.plan { display: block; }
.plan .eyebrow { margin-bottom: 8px; }
.plan-price { margin: 0 0 12px; }
.plan .check-list { margin: 0 0 16px; }
.plan .button { width: 100%; padding: 11px 14px; }
.notice { margin-top: 16px; padding: 14px 18px; }
.verified-grid { gap: 32px; }
.platform-card { padding: 18px; }
.platform-connector { margin: 10px; }
.contact-placeholder { margin: 16px auto 12px; padding: 14px; }
footer { padding: 28px 0 20px; }
.footer-grid { gap: 24px; }
.footer-bottom { margin-top: 20px; padding-top: 16px; }
@media (min-width: 1500px) { .hero { padding: 40px 0; } }
@media (max-width: 850px) {
  nav { top: 76px; }
  .hero { padding: 28px 0; }
  .section { padding: 28px 0; }
  .audience-card, .plan, .rfp-card { padding: 18px; }
  .network { margin-top: 0; }
  .rfp-grid { grid-template-columns: 1fr; }
}
@media (max-width: 550px) {
  .section { padding: 24px 0; }
  .category-card { padding: 14px; }
  .network { min-height: 310px; height: 310px; transform: scale(.9); }
  .section-heading { gap: 10px; }
}

.membership-group + .membership-group { margin-top: 28px; }
.membership-group > h3 { color: #12354c; -webkit-text-fill-color: #12354c; font-size: 22px; margin-bottom: 6px; }
.membership-group > p { font-size: 14px; color: var(--muted); margin-bottom: 14px; }

.hero-copy { margin-bottom: 12px; }
.hero-benefit { font-size: 15px; line-height: 1.6; color: var(--ink); max-width: 570px; margin-bottom: 20px; }
#rfp-publishing { scroll-margin-top: 95px; }

.hero-pathways { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:18px 0; }
.hero-pathways h2 { font-size:16px; letter-spacing:0; margin-bottom:8px; }
.hero-action { display:block; padding:12px 14px; border:1px solid #b4c9cc; border-radius:5px; background:white; margin-bottom:8px; }
.hero-action strong { display:block; color:var(--navy); font-size:14px; }
.hero-action > span { display:block; font-size:12px; color:var(--muted); }
.hero-action:hover { border-color:var(--green); background:#eef6f4; }
.directory-page h1 { font-size:clamp(2rem,4vw,3rem); }
.directory-page h2 { font-size:24px; margin-top:24px; }
.directory-page .notice { margin:18px 0; }
.directory-filters { display:grid; grid-template-columns:1.5fr 1fr 1fr auto; align-items:end; gap:12px; margin:22px 0; }
.directory-filters label,.date-filter { font-size:14px; font-weight:600; display:block; }
input,select { display:block; width:100%; padding:10px; border:1px solid #a8bac4; border-radius:4px; background:white; font:inherit; color:var(--ink); margin-top:5px; }
input:focus-visible,select:focus-visible { outline:3px solid var(--green); outline-offset:2px; }
.date-filter { display:inline-block; margin:0 12px 14px 0; }
.preparation-list li { padding:7px 0; }
.directory-page .rfp-grid { margin-bottom:20px; }
[hidden] { display:none!important; }
@media(max-width:850px) { .directory-filters { grid-template-columns:1fr 1fr; } }
@media(max-width:550px) { .hero-pathways,.directory-filters { grid-template-columns:1fr; } }

/* Orange audience accents with subtle label shadows. */
#buyers .eyebrow, #buyers .icon-box { color: #a84300; }
#suppliers .eyebrow, #suppliers .icon-box { color: #ff9a45; }
#buyers .eyebrow { text-shadow: 0 1px 2px #12354c20; }
#suppliers .eyebrow { text-shadow: 0 1px 2px #00000055; }
#buyers .icon-box { background: #fff0e3; }
#suppliers .icon-box { background: #ff9a451a; }

/* Readable organization name beneath the wordmark. */
.brand small {
  font-size: 11px;
  line-height: 1.4;
  letter-spacing: .015em;
  max-width: 245px;
}
@media (max-width: 1100px) { .brand small { font-size: 10px; max-width: 210px; } }
@media (max-width: 550px) { .brand small { font-size: 10px; max-width: 195px; } }

/* Unified navy/orange identity, inspired by common corporate template patterns. */
:root { --navy: #12354c; --teal: #f58220; --green: #a84300; --light: #f5f7fa; }
h1 span, .text-link, .eyebrow { color: #a84300; }
.brand-icon, .category-icon, .node span { color: #a84300; }
.dot, .spark { background: #f58220; }
.orbit { border-color: #d9bb9e; }
.hub-symbol { color: #ffac65; }
.network-label { border-left-color: #f58220; }
.node { border-color: #e7d5c6; }
.hero { background: linear-gradient(120deg, #f5f7fa, #fff4e9); }
.hero-action:hover, .button.outline:hover { background: #fff0e2; border-color: #a84300; }
.hero-pathways > div:last-child .hero-action { background: #fff0e2; border-color: #d6a578; }
.icon-box { background: #fff0e2; color: #a84300; }
.dark .eyebrow, .dark .text-link, .dark .check-list li:before { color: #ffac65; }
.dark .icon-box { background: #ffffff14; color: #ffac65; }
.pill { background: #fff0e2; border-color: #e3be9c; color: #8e3800; }
.plan.featured { border-color: #c35b0d; }
.notice { border-left-color: #f58220; }
.verified-section { background: #fff4e9; }
.platform-mark.pv, .platform-connector { color: #a84300; }
.footer-grid .brand-icon, .footer-grid a:hover { color: #ffac65; }
a:focus-visible, button:focus-visible { outline-color: #c35b0d; }
.logo-section { overflow: hidden; background: #f5f7fa; }
.supplier-logos { background: #fff4e9; }
.logo-section .section-heading { align-items: center; }
.logo-section h2 { font-size: clamp(1.5rem, 2.5vw, 2rem); }
.logo-disclaimer { font-size: 13px; margin-bottom: 18px; color: var(--muted); }
.logo-rows { display: grid; gap: 10px; }
.logo-viewport { overflow: hidden; }
.logo-track { display: flex; width: max-content; animation: logo-scroll 100s linear infinite; }
.logo-track.row-1 { animation-direction: reverse; animation-duration: 115s; }
.logo-set { display: flex; gap: 12px; padding-right: 12px; }
.logo-placeholder { display: flex; align-items: center; gap: 12px; width: 190px; min-height: 70px; padding: 12px 16px; border: 1px solid #dce5e8; border-radius: 5px; background: white; color: #12354c; font-size: 13px; font-weight: 650; }
.logo-placeholder small { display: block; font-size: 11px; color: var(--muted); font-weight: 400; }
.logo-glyph { font-size: 28px; color: #12354c; }
.supplier-logos .logo-glyph { color: #a84300; }
.logo-section.paused .logo-track, .logo-rows:hover .logo-track { animation-play-state: paused; }
@keyframes logo-scroll { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
 .logo-track { animation: none; }
 .logo-viewport { overflow-x: auto; }
 .logo-set[aria-hidden="true"] { display: none; }
 .logo-pause { display: none; }
}

/* Consistent orange section labels with a slightly larger type size. */
.eyebrow, .rfp-card .eyebrow, .plan .eyebrow,
#buyers .eyebrow, #suppliers .eyebrow, .dark .eyebrow {
  color: #f58220;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .1em;
  text-shadow: 0 1px 1px #12354c25;
}
#suppliers .eyebrow, .dark .eyebrow {
  text-shadow: 0 1px 2px #00000055;
}

/* Gradient design study: retain approved content and compact spacing. */
.hero {
 background:
  radial-gradient(ellipse at 95% 15%, #4b88b942 0%, transparent 56%),
  radial-gradient(ellipse at 10% 95%, #ff9a4540 0%, transparent 52%),
  linear-gradient(120deg, #f5f8fc 0%, #edf4fb 50%, #fff3e8 100%);
 border-bottom: 1px solid #dbe5ee;
}
.network {
 border-radius: 32px;
 background: radial-gradient(ellipse at 75% 25%, #407eaa35, transparent 65%), radial-gradient(ellipse at 20% 85%, #f5822030, transparent 60%);
}
.hub { background: linear-gradient(135deg, #376c96, #12354c 72%); box-shadow: 0 16px 35px #12354c30; }
.audience-card { background: linear-gradient(135deg, #ffffff, #edf4fc); }
.audience-card.dark { background: linear-gradient(135deg, #376c96, #12354c 70%); }
.muted { background: linear-gradient(115deg, #f2f6fb, #fafbfc 65%, #fff6ec); }
.verified-section { background: linear-gradient(115deg, #ffe5cd 0%, #fff5eb 45%, #e4eff8 100%); }
.buyer-logos { background: linear-gradient(110deg, #e2edf7, #f7f9fc); }
.supplier-logos { background: linear-gradient(110deg, #ffdfc1, #fff7ef 65%, #edf4fa); }
.hero-action, .platform-card, .rfp-card { box-shadow: 0 4px 16px #12354c09; }
.plan.featured { background: linear-gradient(150deg, #fff, #fff3e7); }
.contact-section { background: radial-gradient(ellipse at 50% 100%, #ffe5ce 0%, #fff 70%); }
footer { background: linear-gradient(115deg, #12354c, #244e6d); }

/* Interactive lift and color feedback, including keyboard access. */
a, button {
 transition: color .18s ease, background-color .18s ease, border-color .18s ease,
 box-shadow .18s ease, transform .18s ease;
}
.button, .hero-action, .text-link, nav > a, .footer-grid a,
.brand, .tab, .menu-toggle { position: relative; }
.text-link, .footer-grid > div > a:not(.brand) { display: inline-block; }
.button:hover, .button:focus-visible,
.hero-action:hover, .hero-action:focus-visible,
.tab:hover, .tab:focus-visible,
.menu-toggle:hover, .menu-toggle:focus-visible {
 transform: translateY(-3px);
 box-shadow: 0 7px 16px #12354c24;
}
.button:hover, .button:focus-visible {
 background: #f58220; border-color: #a84300; color: #12354c;
}
.button.outline:hover, .button.outline:focus-visible {
 background: #ffe1c6; border-color: #a84300; color: #12354c;
}
.hero-action:hover, .hero-action:focus-visible {
 background: #ffe1c6; border-color: #a84300;
}
.hero-action:hover strong, .hero-action:focus-visible strong { color: #843400; }
.text-link:hover, .text-link:focus-visible,
nav > a:not(.button):hover, nav > a:not(.button):focus-visible {
 color: #a84300; transform: translateY(-2px);
 text-decoration: underline; text-underline-offset: 4px;
}
.dark .text-link:hover, .dark .text-link:focus-visible { color: #ffc38f; }
.footer-grid a:hover, .footer-grid a:focus-visible {
 color: #ffc38f; transform: translateY(-2px);
}
.brand:hover, .brand:focus-visible { transform: translateY(-2px); }
.tab:hover, .menu-toggle:hover { background: #ffe1c6; color: #12354c; }
a:active, button:active { transform: translateY(0); box-shadow: none; }
@media (prefers-reduced-motion: reduce) {
 a, button { transition: none !important; }
 a:hover, a:focus-visible, button:hover, button:focus-visible,
 a:active, button:active { transform: none !important; }
}

/* Symmetric buyer/supplier cards with shared light gradient and readable text. */
.audience-grid { align-items: stretch; }
#buyers.audience-card, #suppliers.audience-card {
  background: linear-gradient(135deg, #ffffff, #edf4fc);
  border: 1px solid #dce5e8;
  color: #263746;
  display: flex;
  flex-direction: column;
}
#buyers.audience-card h3, #suppliers.audience-card h3 {
  color: #12354c !important;
  -webkit-text-fill-color: #12354c;
}
#buyers.audience-card > p:not(.eyebrow), #suppliers.audience-card > p:not(.eyebrow) { color: #5b6c77; }
#buyers.audience-card .icon-box, #suppliers.audience-card .icon-box { background: #fff0e3; color: #a84300; flex-shrink: 0; }
#buyers.audience-card .eyebrow, #suppliers.audience-card .eyebrow { text-shadow: 0 1px 1px #12354c25; }
#buyers.audience-card .check-list li:before, #suppliers.audience-card .check-list li:before { color: #a84300; }
#buyers.audience-card > .text-link, #suppliers.audience-card > .text-link { color: #a84300; margin-top: auto; align-self: flex-start; }
#buyers.audience-card > .text-link:hover, #suppliers.audience-card > .text-link:hover { color: #843400; }

/* Stronger contrast: paired navy cards and alternating dark sections. */
#buyers.audience-card, #suppliers.audience-card {
 background: linear-gradient(135deg, #2d5e80, #12354c 75%);
 border-color: #12354c;
 color: #ffffff;
}
#buyers.audience-card h3, #suppliers.audience-card h3 {
 color: #ffffff !important;
 -webkit-text-fill-color: #ffffff;
}
#buyers.audience-card > p:not(.eyebrow), #suppliers.audience-card > p:not(.eyebrow) { color: #dfebf2; }
#buyers.audience-card .icon-box, #suppliers.audience-card .icon-box { background: #ffffff12; color: #ffac65; }
#buyers.audience-card .eyebrow, #suppliers.audience-card .eyebrow { color: #ffac65; text-shadow: 0 1px 2px #00000055; }
#buyers.audience-card .check-list li:before, #suppliers.audience-card .check-list li:before { color: #ffac65; }
#buyers.audience-card > .text-link, #suppliers.audience-card > .text-link { color: #ffac65; }
#buyers.audience-card > .text-link:hover, #suppliers.audience-card > .text-link:hover,
#buyers.audience-card > .text-link:focus-visible, #suppliers.audience-card > .text-link:focus-visible { color: #ffd0a8; }
.principles { background: #12354c; border-color: #12354c; }
.principles .container { color: #ffffff; }
.principles span:before { color: #ffac65; }
.supplier-logos { background: linear-gradient(115deg, #12354c, #285775); }
.supplier-logos h2 { color: #ffffff; }
.supplier-logos .eyebrow { color: #ffac65; }
.supplier-logos .logo-disclaimer { color: #dfebf2; }
.supplier-logos .logo-pause { color: #ffffff; border-color: #9fb9ca; }
.supplier-logos .logo-pause:hover, .supplier-logos .logo-pause:focus-visible { color: #12354c; }
#opportunities.muted { background: linear-gradient(115deg, #dce7f1, #eaf0f6 65%, #f4e7da); }
.category-card, .rfp-card, .plan { border-color: #b4c5d0; }
.category-card:hover { border-color: #a84300; }
.section-heading > p, .hero-copy, .section-copy, .category-card p,
.rfp-card > p, .fine-print, .notice p { color: #405565; }
.contact-section { background: linear-gradient(120deg, #12354c, #285775); color: #ffffff; }
.contact-section h2 { color: #ffffff; }
.contact-section .eyebrow { color: #ffac65; }
.contact-section > .container > p:not(.eyebrow) { color: #dfebf2; }
.contact-section .text-link { color: #ffac65; }
.contact-section .text-link:hover { color: #ffd0a8; }
.contact-section .contact-placeholder { background: #ffffff; color: #12354c; border-style: solid; }
footer { background: #0c2435; }

/* Compact hero headlines: two single-line sentences on laptop screens. */
.hero h1 { font-size: clamp(1.65rem, 2.35vw, 2.15rem); line-height: 1.2; margin-bottom: 18px; letter-spacing: -.035em; }
.hero-title-line { display: block; }
.hero h1 .hero-title-line:first-child { color: #12354c; }
@media (min-width: 851px) { .hero-title-line { white-space: nowrap; } }
@media (max-width: 850px) { .hero h1 { font-size: 30px; } }
@media (max-width: 550px) { .hero h1 { font-size: clamp(20px, 5.5vw, 25px); line-height: 1.25; margin-bottom: 14px; } }

.create-rfp-section { background: #fff4e9; }
.rfp-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; list-style-position: inside; padding: 0; }
.rfp-steps li { border: 1px solid #d8c3ae; border-radius: 5px; padding: 16px; background: #ffffff; }
.rfp-steps strong { color: #12354c; font-size: 15px; }
.rfp-steps span { display: block; font-size: 13px; margin-top: 6px; }
@media(max-width:650px) { .rfp-steps { grid-template-columns: 1fr; gap: 10px; } }

/* Version 2: navy, teal and white across all public pages. */
:root { --navy:#12354c; --teal:#2bae9b; --green:#087769; }
.eyebrow,.rfp-card .eyebrow,.plan .eyebrow,h1 span,.text-link,.category-icon,.plan-price,.platform-connector { color:#087769; }
.hero h1 .hero-title-line:first-child { color:#12354c; }
.hero { background:linear-gradient(120deg,#f5f7fa,#e5f3f0); }
.hero-grid { grid-template-columns:1.3fr 1fr; gap:28px; }
.hero-photo { margin:0; min-width:0; }
.hero-photo img { width:100%; height:340px; object-fit:cover; object-position:50% 45%; border-radius:16px; display:block; box-shadow:0 12px 30px #12354c20; }
.hero-photo figcaption { font-size:12px; color:#405565; margin-top:8px; }
.brand-logo { width:148px; height:86px; object-fit:contain; display:block; background:#fff; border-radius:6px; }
.header-inner { min-height:96px; }
.audience-photo { width:100%; height:185px; object-fit:cover; border-radius:8px; margin-bottom:16px; }
#buyers.audience-card .icon-box,#suppliers.audience-card .icon-box { color:#80dccd; background:#ffffff12; }
#buyers.audience-card .eyebrow,#suppliers.audience-card .eyebrow,
#buyers.audience-card .check-list li:before,#suppliers.audience-card .check-list li:before,
#buyers.audience-card > .text-link,#suppliers.audience-card > .text-link { color:#80dccd; }
#buyers.audience-card > .text-link:hover,#suppliers.audience-card > .text-link:hover { color:#bbf4ea; }
.hero-action,.hero-pathways > div:last-child .hero-action { background:#fff; border-color:#b4c9cc; }
.hero-action:hover,.hero-action:focus-visible { background:#e0f3ee; border-color:#087769; }
.hero-action:hover strong,.hero-action:focus-visible strong { color:#065e54; }
.button:hover,.button:focus-visible { background:#2bae9b; border-color:#087769; color:#12354c; }
.button.outline:hover,.button.outline:focus-visible { background:#d8f0e9; border-color:#087769; color:#12354c; }
.text-link:hover,.text-link:focus-visible,nav > a:not(.button):hover,nav > a:not(.button):focus-visible { color:#065e54; }
.principles span:before,.supplier-logos .eyebrow,.contact-section .eyebrow,.contact-section .text-link,.footer-grid a:hover { color:#80dccd; }
.logo-glyph,.supplier-logos .logo-glyph { color:#087769; }
.buyer-logos,.muted,#opportunities.muted { background:linear-gradient(115deg,#edf3f8,#f5f7fa); }
.verified-section,.create-rfp-section { background:linear-gradient(115deg,#e2f3ee,#f5f8fa); }
.pill { background:#e8f5f0; border-color:#b1d5ca; color:#087769; }
.notice { border-left-color:#2bae9b; }
.plan.featured { border-color:#087769; background:linear-gradient(150deg,#fff,#ecf7f3); }
.icon-box { color:#087769; background:#e8f5f0; }
.check-list li:before,.rfp-card .demo-status { color:#087769; }
.platform-mark.pv { color:#087769; }
.pv-logo { width:170px; height:170px; object-fit:contain; display:block; margin:auto; }
.platform-card .brand-disclaimer { font-size:12px!important; max-width:300px; margin:8px auto; }
.category-photo { grid-column:1/-1; width:100%; height:120px; object-fit:cover; border-radius:6px; margin-top:4px; }
.rfp-steps li { border-color:#b8d2ca; }
a:focus-visible,button:focus-visible { outline-color:#087769; }
.footer-grid a:hover,.footer-grid a:focus-visible,.contact-section .text-link:hover { color:#bbf4ea; }
@media(max-width:1100px) { .hero h1 { font-size:clamp(24px,2.3vw,30px); } }
@media(max-width:850px) { .hero-grid { grid-template-columns:1fr; } .hero-photo img { height:300px; } nav { top:96px; } }
@media(max-width:550px) { .hero h1 { font-size:clamp(20px,5.5vw,25px); } .hero-photo img { height:220px; } .brand-logo { width:125px; height:76px; } .header-inner { min-height:86px; } nav { top:86px; } }

/* Vivid blue accent based on the supplied color swatch. */
:root { --teal:#4b32f3; --green:#4b32f3; }
.eyebrow,.rfp-card .eyebrow,.plan .eyebrow,h1 span,.text-link,
.category-icon,.plan-price,.platform-connector,.logo-glyph,
.supplier-logos .logo-glyph,.check-list li:before,.rfp-card .demo-status { color:#4b32f3; }
.hero { background:linear-gradient(120deg,#f5f7fa,#eeebff); }
.hero-action:hover,.hero-action:focus-visible,.button.outline:hover,.button.outline:focus-visible { background:#e9e4ff; border-color:#4b32f3; color:#12354c; }
.hero-action:hover strong,.hero-action:focus-visible strong,.text-link:hover,.text-link:focus-visible,nav > a:not(.button):hover,nav > a:not(.button):focus-visible { color:#3820bf; }
.button:hover,.button:focus-visible { background:#4b32f3; border-color:#4b32f3; color:#ffffff; }
.button.outline:hover,.button.outline:focus-visible { background:#e9e4ff; color:#12354c; }
#buyers.audience-card .eyebrow,#suppliers.audience-card .eyebrow,
#buyers.audience-card .icon-box,#suppliers.audience-card .icon-box,
#buyers.audience-card .check-list li:before,#suppliers.audience-card .check-list li:before,
#buyers.audience-card > .text-link,#suppliers.audience-card > .text-link,
.principles span:before,.supplier-logos .eyebrow,.contact-section .eyebrow,
.contact-section .text-link,.footer-grid a:hover { color:#c7bfff; }
#buyers.audience-card > .text-link:hover,#suppliers.audience-card > .text-link:hover,
.footer-grid a:hover,.footer-grid a:focus-visible,.contact-section .text-link:hover { color:#e2ddff; }
.verified-section,.create-rfp-section { background:linear-gradient(115deg,#eeeaff,#f5f8fa); }
.pill,.icon-box { background:#eeebff; color:#4b32f3; border-color:#c4baf7; }
.notice { border-left-color:#4b32f3; }
.plan.featured { border-color:#4b32f3; background:linear-gradient(150deg,#ffffff,#f0edff); }
a:focus-visible,button:focus-visible { outline-color:#4b32f3; }

/* Horizontal brand artwork, preserved in its original colors. */
.brand-logo { width:250px; height:auto; aspect-ratio:3/1; object-fit:contain; background:#ffffff; padding:5px 8px; }
.intro-brand-logo { display:block; width:min(340px,100%); height:auto; margin-bottom:14px; }
footer .brand-logo { width:260px; max-width:100%; border-radius:6px; padding:10px; }
@media(max-width:1100px) { .header .brand-logo { width:205px; } }
@media(max-width:550px) { .header .brand-logo { width:210px; max-width:100%; } .intro-brand-logo { width:280px; } }

/* Explicit base sizing and constrained branding for deployment. */
html { font-size:16px; }
body { font-size:16px; }
.brand { flex-shrink:0; max-width:100%; }
.brand-logo { max-width:100%; }
.intro-grid > div { min-width:0; }
.intro-brand-logo { max-width:100%; }

/* Latest selected navy-and-teal artwork and supporting imagery. */
:root { --navy:#12354c; --teal:#2bae9b; --green:#087769; }
.eyebrow,.rfp-card .eyebrow,.plan .eyebrow,h1 span,.text-link,.category-icon,.plan-price,.platform-connector,.logo-glyph,.supplier-logos .logo-glyph,.check-list li:before,.rfp-card .demo-status { color:#087769; }
.hero h1 .hero-title-line:first-child { color:#12354c; }
.hero { background:linear-gradient(120deg,#f5f7fa,#e5f3f0); }
.hero-action:hover,.hero-action:focus-visible,.button.outline:hover,.button.outline:focus-visible { background:#e0f3ee; border-color:#087769; color:#12354c; }
.hero-action:hover strong,.hero-action:focus-visible strong,.text-link:hover,.text-link:focus-visible,nav > a:not(.button):hover,nav > a:not(.button):focus-visible { color:#065e54; }
.button:hover,.button:focus-visible { background:#2bae9b; border-color:#087769; color:#12354c; }
#buyers.audience-card .eyebrow,#suppliers.audience-card .eyebrow,#buyers.audience-card .icon-box,#suppliers.audience-card .icon-box,#buyers.audience-card .check-list li:before,#suppliers.audience-card .check-list li:before,#buyers.audience-card > .text-link,#suppliers.audience-card > .text-link,.principles span:before,.supplier-logos .eyebrow,.contact-section .eyebrow,.contact-section .text-link { color:#80dccd; }
#buyers.audience-card > .text-link:hover,#suppliers.audience-card > .text-link:hover,.footer-grid a:hover,.footer-grid a:focus-visible,.contact-section .text-link:hover { color:#bbf4ea; }
.verified-section,.create-rfp-section { background:linear-gradient(115deg,#e2f3ee,#f5f8fa); }
.pill,.icon-box { background:#e8f5f0; color:#087769; border-color:#b1d5ca; }
.notice { border-left-color:#2bae9b; }
.plan.featured { border-color:#087769; background:linear-gradient(150deg,#fff,#ecf7f3); }
a:focus-visible,button:focus-visible { outline-color:#087769; }
.header-inner { min-height:112px; }
.header .brand-logo { width:108px; height:108px; padding:0; aspect-ratio:1; }
footer .brand-logo { width:138px; height:138px; padding:0; aspect-ratio:1; }
.intro-brand-logo { width:170px; height:170px; object-fit:contain; margin-bottom:10px; }
.platform-nagpo { width:140px; height:140px; display:block; margin:auto; object-fit:contain; }
.footer-pv img { width:86px; height:86px; object-fit:contain; border-radius:5px; background:white; display:block; }
.page-photo { margin:20px 0; }
.page-photo img { width:100%; height:260px; object-fit:cover; border-radius:12px; display:block; }
.page-photo figcaption { font-size:12px; color:#405565; margin-top:6px; }
@media(max-width:850px) { nav { top:112px; } }
@media(max-width:550px) { .header-inner { min-height:96px; } .header .brand-logo { width:92px; height:92px; } nav { top:96px; } .page-photo img { height:190px; } }
.footer-grid > div > a:not(.brand) { display:block; width:fit-content; }

/* First-section review: navy, electric blue and white. */
:root { --navy:#12354c; --teal:#3521ff; --green:#3521ff; }
html { scroll-padding-top:160px; }
.eyebrow,.rfp-card .eyebrow,.plan .eyebrow,.text-link,.category-icon,.plan-price,.platform-connector,.logo-glyph,.supplier-logos .logo-glyph,.check-list li:before,.rfp-card .demo-status { color:#3521ff; }
#buyers.audience-card .eyebrow,#suppliers.audience-card .eyebrow,#buyers.audience-card .icon-box,#suppliers.audience-card .icon-box,#buyers.audience-card .check-list li:before,#suppliers.audience-card .check-list li:before,#buyers.audience-card > .text-link,#suppliers.audience-card > .text-link,.principles span:before,.supplier-logos .eyebrow,.contact-section .eyebrow,.contact-section .text-link { color:#c5beff; }
.verified-section,.create-rfp-section { background:linear-gradient(115deg,#eeeaff,#f5f8fa); }
.pill,.icon-box { background:#eeebff; color:#3521ff; border-color:#c4baf7; }
.notice { border-left-color:#3521ff; }
.plan.featured { border-color:#3521ff; background:linear-gradient(150deg,#fff,#f0edff); }
.button:hover,.button:focus-visible { background:#3521ff; color:#fff; border-color:#3521ff; }
.button.outline:hover,.button.outline:focus-visible { background:#eae7ff; color:#12354c; }
a:focus-visible,button:focus-visible { outline-color:#3521ff; }
.text-link:hover,.text-link:focus-visible,nav > a:not(.button):hover,nav > a:not(.button):focus-visible { color:#3521ff; }
.utility-bar { background:#0c203c; color:#fff; font-size:13px; }
.utility-inner,.contact-links,.portal-links { display:flex; align-items:center; gap:22px; }
.utility-inner { justify-content:space-between; min-height:40px; }
.utility-bar a:hover { color:#c5beff; text-decoration:underline; }
.header-v3 .header-inner { min-height:88px; gap:24px; }
.header-v3 .brand-logo { width:260px; height:auto; aspect-ratio:3/1; padding:0; object-fit:contain; }
.header-v3 nav { gap:20px; }
.header-v3 nav a { font-size:13px; line-height:1.4; }
.header-v3 nav a:last-child { padding:12px; background:#3521ff; border-radius:5px; color:#fff; }
.header-v3 nav a:last-child:hover { background:#2311cb; }
footer .brand-logo { width:260px; height:auto; aspect-ratio:3/1; padding:8px; }
.intro-brand-logo { width:320px; height:auto; }
.platform-nagpo { width:240px; height:auto; }
.hero-v3 { position:relative; isolation:isolate; overflow:hidden; background:#e8ecf3; padding:72px 0 20px; }
.hero-scene { position:absolute; inset:0; z-index:-2; }
.hero-scene img { width:100%; height:100%; object-fit:cover; filter:grayscale(1); animation:hero-pan 12s ease-in-out infinite alternate; }
.hero-v3:before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,#ffffffed,#ffffffe0 65%,#f5f7faec); }
.hero-content { text-align:center; max-width:1050px; }
.hero-kicker { display:inline-block; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#3521ff; padding:9px 18px; border:1px solid #b5aaff; background:#f2eeffbb; border-radius:4px; margin-bottom:24px; }
.hero-v3 h1 { font-size:clamp(30px,3.7vw,50px); line-height:1.15; letter-spacing:-.035em; color:#102440; max-width:1000px; margin:0 auto 24px; }
.hero-v3 h1 span { color:#3521ff; }
.hero-description { max-width:850px; margin:0 auto 16px; font-size:18px; line-height:1.65; }
.hero-free { font-size:16px; max-width:800px; margin:0 auto 24px; }
.hero-free strong { color:#102440; }
.hero-v3 .actions { justify-content:center; gap:16px; }
.hero-v3 .hero-join { background:#3521ff; border-color:#3521ff; color:#fff; padding:15px 24px; box-shadow:0 5px 14px #3521ff30; }
.hero-v3 .hero-join:hover,.hero-v3 .hero-join:focus-visible { background:#2311cb; border-color:#2311cb; transform:translateY(-3px); box-shadow:0 9px 20px #3521ff40; }
.hero-availability { font-size:12px; max-width:740px; margin:22px auto 26px; color:#405565; }
.hero-media-controls { display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:11px; color:#405565; border-top:1px solid #b2c1d070; padding-top:14px; }
.motion-toggle { border:1px solid #9cacc2; background:#ffffffcc; color:#12354c; padding:6px 10px; border-radius:4px; font-size:12px; }
.hero-v3.motion-paused .hero-scene img { animation-play-state:paused; }
@keyframes hero-pan { from { transform:scale(1.04) translateX(-1%); } to { transform:scale(1.12) translateX(1%); } }
@media(max-width:1100px) { .header-v3 nav { gap:12px; } .header-v3 nav a { font-size:12px; } .header-v3 .brand-logo { width:210px; } }
@media(max-width:850px) { .header-v3 nav { top:128px; } .hero-v3 { padding-top:48px; } }
@media(max-width:550px) { .utility-inner { padding:10px 0; gap:9px; flex-direction:column; } .utility-bar { font-size:12px; } .contact-links,.portal-links { gap:18px; } .header-v3 .header-inner { min-height:78px; } .header-v3 .brand-logo { width:205px; } .header-v3 nav { top:148px; } .hero-v3 { padding:32px 0 16px; } .hero-v3 h1 { font-size:28px; margin-bottom:18px; } .hero-kicker { font-size:10px; padding:8px; margin-bottom:18px; } .hero-description { font-size:16px; } .hero-free { font-size:14px; } .hero-v3 .actions { flex-direction:column; } .hero-media-controls { align-items:flex-start; } }
@media(prefers-reduced-motion:reduce) { .hero-scene img { animation:none; } .motion-toggle { display:none; } .hero-v3 .hero-join:hover { transform:none; } }
.menu-toggle:hover,.menu-toggle:focus-visible { background:#eae7ff; color:#12354c; border-color:#3521ff; }

/* Review refinement: shorter hero and distinct supplier calls to action. */
.hero-v3 { padding-top:40px; }
.header-v3 nav a[href="supplier-membership.html"],
.hero-v3 .supplier-join { background:#087f83; border:1px solid #087f83; color:#fff; border-radius:5px; }
.header-v3 nav a[href="supplier-membership.html"] { padding:12px; }
.hero-v3 .supplier-join { box-shadow:0 5px 14px #087f8330; }
.header-v3 nav a[href="supplier-membership.html"]:hover,
.header-v3 nav a[href="supplier-membership.html"]:focus-visible,
.hero-v3 .supplier-join:hover,.hero-v3 .supplier-join:focus-visible { background:#06666a; border-color:#06666a; color:#fff; }
.hero-v3 .supplier-join:hover { box-shadow:0 9px 20px #087f8340; }
@media(max-width:850px) { .hero-v3 { padding-top:32px; } }
@media(max-width:550px) { .hero-v3 { padding-top:24px; } }

/* About Us story and explicitly illustrative case library. */
.case-preview-heading { margin-top:26px; }
.case-preview-heading h3 { font-size:21px; margin-bottom:6px; }
.case-preview-heading p { font-size:13px; color:#405565; margin-bottom:14px; }
.case-preview-grid,.future-case-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.case-preview { display:flex; flex-direction:column; align-items:flex-start; gap:10px; padding:20px; border:1px solid #c5cde3; background:linear-gradient(130deg,#fff,#f4f1ff); border-radius:8px; }
.case-preview h3 { font-size:21px; margin:0; }
.case-preview p { font-size:15px; margin:0; }
.case-disclaimer { font-size:12px; color:#405565; }
.case-preview strong { color:#3521ff; font-size:14px; margin-top:auto; }
.case-preview:hover,.case-preview:focus-visible { transform:translateY(-3px); border-color:#3521ff; box-shadow:0 8px 18px #12354c16; }
.case-library-link { display:inline-block; margin-top:16px; }
.case-library-nav { display:flex; position:static; width:auto; padding:0; gap:12px; margin:22px 0; border:0; background:transparent; }
.case-detail { padding:24px; margin:20px 0; border:1px solid #c5cde3; border-radius:8px; scroll-margin-top:160px; }
.case-detail h3 { font-size:18px; margin:18px 0 8px; }
.future-case { padding:18px; background:#f5f7fa; border:1px solid #dce5e8; border-radius:6px; }
.future-case h3 { font-size:18px; margin:12px 0; }
.future-case p { font-size:14px; margin:0; }
#future-cases { margin-bottom:24px; scroll-margin-top:160px; }
@media(max-width:650px) { .case-preview-grid,.future-case-grid { grid-template-columns:1fr; } .case-library-nav { flex-wrap:wrap; } .case-detail { padding:18px; } }
@media(prefers-reduced-motion:reduce) { .case-preview:hover,.case-preview:focus-visible { transform:none; } }

/* Concise About Us and polished member-story calls to action. */
.member-stories { margin-top:28px; }
.member-stories .case-preview-heading { margin-top:0; }
.member-stories .case-preview-heading > h3 { font-size:clamp(23px,2.3vw,30px); line-height:1.25; margin-bottom:10px; }
.member-stories .case-preview-heading .stories-introduction { font-size:16px; max-width:850px; margin-bottom:8px; }
.member-stories .case-preview-heading .stories-status { font-size:12px; margin-bottom:18px; }
.member-stories .case-preview { padding:22px; gap:12px; }
.stories-action { display:flex; justify-content:center; margin-top:22px; }
.stories-button { background:#3521ff; border-color:#3521ff; color:#fff; padding:15px 24px; box-shadow:0 5px 14px #3521ff26; text-align:center; }
.stories-button:hover,.stories-button:focus-visible { background:#2311cb; border-color:#2311cb; color:#fff; box-shadow:0 8px 20px #3521ff38; }
@media(max-width:550px) { .member-stories { margin-top:22px; } .member-stories .case-preview { padding:18px; } .stories-button { width:100%; font-size:14px; padding:14px 18px; } }

/* Hero refinement: clear actions, portal lift and a drawn underline. */
.hero-v3 .hero-join { font-size:16px; }
.portal-links a { display:inline-flex; align-items:center; gap:6px; font-weight:750; padding:4px 7px; border-radius:4px; }
.portal-links a:hover,.portal-links a:focus-visible { color:#fff; background:#3521ff; transform:translateY(-3px) scale(1.03); box-shadow:0 5px 12px #00000030; text-decoration:none; }
.free-join-highlight { display:inline-block; position:relative; padding-bottom:5px; }
.free-join-highlight:after { content:''; position:absolute; left:0; right:0; bottom:0; height:4px; border-radius:50%; background:#3521ff; transform:scaleX(0); transform-origin:left center; animation:draw-free-underline 1.1s ease-out .4s forwards; }
@keyframes draw-free-underline { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@media(prefers-reduced-motion:reduce) { .free-join-highlight:after { animation:none!important; transform:scaleX(1); } .portal-links a:hover,.portal-links a:focus-visible { transform:none!important; } }

/* Compact About typography and photographic member experience cards. */
.about-v3 .intro-grid h2 { font-size:clamp(22px,2.1vw,28px); line-height:1.3; letter-spacing:-.035em; }
.about-v3 .intro-grid h2 > span { display:block; }
.about-v3 .intro-grid .lead { font-size:16px; line-height:1.65; margin-bottom:14px; }
.about-v3 .intro-grid > div:last-child > p:not(.lead) { font-size:13px; line-height:1.6; }
.member-stories .case-preview { position:relative; isolation:isolate; overflow:hidden; min-height:240px; border-color:#bcc9db; background:#eef2f8; }
.experience-backdrop { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.member-stories .case-preview:before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(100deg,#ffffffed,#ffffffe8 55%,#ffffffbd); }
.member-stories .case-preview h3 { font-size:22px; }
.member-stories .case-preview .pill { background:#f1edffed; }
.member-stories .case-preview p { color:#263746; }
.stories-button { font-size:16px; }
.hero-scene img { animation:none!important; transform:none; }
.hero-v3 { padding-bottom:34px; }
@media(min-width:851px) { .about-v3 .intro-grid h2 > span { white-space:nowrap; } }
@media(max-width:550px) { .about-v3 .intro-grid h2 { font-size:22px; } .member-stories .case-preview { min-height:230px; } .stories-button { font-size:16px; } }

/* Scoped membership comparisons: charcoal cards and accessible four-column tables. */
.membership-details { background:#101010; color:#f3f3f3; border:1px solid #333; border-radius:12px; margin-top:26px; padding:24px; scroll-margin-top:160px; }
.membership-availability { font-size:13px; color:#cfcfcf; margin:0 0 22px; }
.membership-panel { scroll-margin-top:160px; }
.membership-panel + .membership-panel { margin-top:32px; padding-top:26px; border-top:1px solid #333; }
.membership-panel > h3 { color:#f3f3f3; font-size:22px; margin:0 0 16px; }
.tier-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; align-items:stretch; }
.membership-tier { background:#2c2c2c; border:1px solid #4a4a4a; border-radius:12px; padding:20px; display:flex; flex-direction:column; align-items:flex-start; }
.membership-tier.recommended-tier { border-color:#6751ff; }
.tier-label { font-size:11px; color:#dedede; line-height:20px; }
.recommended-badge { font-size:12px; font-weight:600; color:#72c6ff; background:#173b53; padding:2px 8px; border-radius:20px; line-height:20px; }
.membership-tier h4 { color:white; font-size:17px; line-height:1.35; margin:10px 0; letter-spacing:-.015em; }
.tier-price { color:white; font-size:26px; font-weight:700; line-height:1.2; margin:0 0 8px; }
.tier-period { font-size:13px; color:#ddd; margin:0 0 18px; }
.tier-description { width:100%; margin:auto 0 0; padding-top:18px; border-top:1px solid #515151; color:#fff; font-size:15px; line-height:1.5; }
.comparison-scroll { max-width:100%; overflow-x:auto; margin-top:22px; }
.membership-comparison { border-collapse:collapse; width:100%; min-width:700px; table-layout:fixed; font-size:13px; }
.membership-comparison caption { text-align:left; font-size:16px; font-weight:700; padding:0 0 14px; color:white; }
.membership-comparison th,.membership-comparison td { padding:10px 8px; border-bottom:1px solid #303030; text-align:left; vertical-align:top; overflow-wrap:break-word; }
.membership-comparison th:first-child { width:40%; }
.membership-comparison thead th { font-size:13px; color:#fff; }
.membership-comparison tbody th { font-weight:500; color:#eee; }
.membership-comparison td { color:#ddd; }
.membership-disclaimer { font-size:12px; line-height:1.6; color:#ccc; margin:16px 0 0; }
.spend360-info { margin-top:14px; border:1px solid #414141; border-radius:6px; padding:12px; font-size:13px; color:#ddd; }
.spend360-info summary { cursor:pointer; color:#b6adff; font-weight:600; }
.spend360-info p { margin:12px 0 0; }
.comparison-scroll:focus-visible,.spend360-info summary:focus-visible { outline:3px solid #aaa0ff; outline-offset:3px; }
@media(max-width:850px) { .membership-details { padding:18px; } .tier-grid { gap:10px; } .membership-tier { padding:14px; } .membership-tier h4 { font-size:16px; } .tier-price { font-size:23px; } }
@media(max-width:650px) { .tier-grid { grid-template-columns:1fr; } .membership-details { padding:16px; } .membership-tier { padding:18px; } .tier-description { margin-top:0; } }

/* Keep each audience's introduction and membership together. */
.journey-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:stretch; }
.audience-journey { display:grid; grid-template-rows:subgrid; grid-row:span 2; gap:16px; min-width:0; }
.audience-journey > .membership-details { background:#f5f7fc; border:1px solid #c9d4e2; color:#263746; margin:0; padding:16px; border-radius:8px; min-width:0; }
.audience-journey .membership-panel > h3 { color:#12354c; font-size:22px; }
.audience-journey .tier-grid { gap:8px; }
.audience-journey .membership-tier { background:#fff; border-color:#c9d4e2; padding:12px 10px; border-radius:8px; }
.audience-journey .membership-tier.recommended-tier { background:#f0edff; border-color:#6751ff; }
.audience-journey .tier-label { font-size:10px; color:#4b5a69; line-height:20px; }
.audience-journey .recommended-badge { font-size:11px; color:#283f9b; background:#dde7ff; padding:2px 7px; line-height:18px; }
.audience-journey .membership-tier h4 { font-size:15px; color:#12354c; line-height:1.35; }
.audience-journey .tier-price { font-size:22px; color:#12354c; }
.audience-journey .tier-period { font-size:12px; color:#4b5a69; margin-bottom:12px; }
.audience-journey .tier-description { font-size:13px; color:#263746; border-color:#dce1eb; padding-top:12px; }
.audience-journey .membership-comparison { font-size:13px; min-width:560px; }
.audience-journey .membership-comparison caption { color:#12354c; font-size:15px; }
.audience-journey .membership-comparison th,.audience-journey .membership-comparison td { padding:9px 7px; border-color:#dce1eb; }
.audience-journey .membership-comparison th:first-child { width:37%; }
.audience-journey .membership-comparison thead th { font-size:12px; color:#12354c; background:#e7edf5; }
.audience-journey .membership-comparison tbody th,.audience-journey .membership-comparison td { color:#263746; }
.audience-journey .membership-disclaimer { color:#4b5a69; font-size:12px; }
.audience-journey .spend360-info { border-color:#c9d4e2; color:#263746; background:#fff; }
.audience-journey .spend360-info summary { color:#3521ff; }
.audience-journey .comparison-scroll { margin-top:18px; }
.audience-journey > .audience-card { height:100%; }
@media(max-width:1100px) { .journey-grid { grid-template-columns:1fr; gap:24px; } .audience-journey { display:flex; flex-direction:column; grid-row:auto; gap:12px; } .audience-journey > .audience-card { height:auto; } .audience-journey .membership-tier { padding:16px; } }
@media(max-width:650px) { .audience-journey .tier-grid { grid-template-columns:1fr; gap:10px; } .audience-journey > .membership-details { padding:14px; } .audience-journey .membership-tier h4 { font-size:17px; } .audience-journey .tier-description { font-size:14px; } }

/* Compact chart layout with navy membership headers and recommended columns. */
.audience-journey .membership-panel > h3 { margin:-16px -16px 16px; padding:0; background:linear-gradient(135deg,#285775,#12354c); border-radius:7px 7px 0 0; text-align:center; }
.audience-journey .membership-panel > h3 a { display:block; padding:17px 12px; color:#fff; font-size:26px; font-weight:800; line-height:1.2; }
.audience-journey .membership-panel > h3 a span { font-size:17px; color:#c5beff; }
.audience-journey .membership-panel > h3 a:hover,.audience-journey .membership-panel > h3 a:focus-visible { background:#233b7b; color:#fff; box-shadow:0 5px 12px #12354c25; transform:translateY(-2px); }
.audience-journey .membership-comparison { min-width:560px; font-size:12px; }
.audience-journey .membership-comparison th:first-child { width:34%; }
.audience-journey .membership-comparison th,.audience-journey .membership-comparison td { padding:6px; line-height:1.35; }
.audience-journey .membership-comparison tbody th,.audience-journey .membership-comparison tbody td { white-space:nowrap; }
.audience-journey .membership-comparison thead th { font-size:11px; vertical-align:bottom; }
.audience-journey .membership-comparison tr > :nth-child(3) { background:#ede9ff; border-left:1px solid #c3b8ff; border-right:1px solid #c3b8ff; }
.audience-journey .membership-comparison thead th:nth-child(3) { border-top:2px solid #6751ff; }
.table-recommended { display:block; width:fit-content; background:#dde7ff; color:#283f9b; border-radius:16px; padding:3px 6px; font-size:10px; line-height:1.3; margin-bottom:5px; }
.audience-journey .membership-comparison tbody tr:last-child > :nth-child(3) { border-bottom:2px solid #6751ff; }
.audience-journey .spend360-info { margin-top:12px; }
@media(max-width:650px) { .audience-journey .membership-panel > h3 { margin:-14px -14px 14px; } .audience-journey .membership-panel > h3 a { font-size:24px; padding:15px 10px; } }
@media(prefers-reduced-motion:reduce) { .audience-journey .membership-panel > h3 a:hover,.audience-journey .membership-panel > h3 a:focus-visible { transform:none; } }

/* Synchronize membership card rows so both comparison tables start together. */
@media(min-width:1101px) {
 .journey-grid { grid-template-rows:auto auto auto auto auto auto; }
 .audience-journey { grid-row:span 6; }
 .audience-journey > .membership-details { display:grid; grid-template-rows:subgrid; grid-row:span 5; }
 .audience-journey .membership-panel { display:grid; grid-template-rows:subgrid; grid-row:span 5; row-gap:0; }
 .audience-journey .membership-panel > h3 { grid-row:1; }
 .audience-journey .tier-grid { grid-row:2; }
 .audience-journey .comparison-scroll { grid-row:3; align-self:start; }
 .audience-journey .membership-disclaimer { grid-row:4; align-self:start; }
 .audience-journey .spend360-info { grid-row:5; align-self:start; }
}

/* Align pricing-card content and the notes beneath both comparison charts. */
.audience-journey .membership-tier {
 display:grid;
 grid-template-rows:24px 42px 28px 36px minmax(0,1fr);
 align-items:start;
 row-gap:8px;
}
.audience-journey .membership-tier > .tier-label,
.audience-journey .membership-tier > .recommended-badge { grid-row:1; justify-self:start; }
.audience-journey .membership-tier h4 { grid-row:2; margin:0; }
.audience-journey .tier-price { grid-row:3; margin:0; }
.audience-journey .tier-period { grid-row:4; margin:0; }
.audience-journey .tier-description { grid-row:5; margin:0; align-self:stretch; }
.audience-journey .membership-comparison caption { text-align:center; }
.audience-journey .spend360-info {
 background:#3521ff;
 border-color:#3521ff;
 color:#fff;
 box-shadow:0 5px 14px #3521ff26;
 margin-top:16px;
}
.audience-journey .spend360-info summary { color:#fff; }
.audience-journey .spend360-info:hover { background:#2311cb; border-color:#2311cb; }
.audience-journey .spend360-info summary:focus-visible { outline-color:#fff; }
@media(min-width:1101px) { .audience-journey .spend360-info { grid-row:4; } }

/* Clean shared footer and concise support pages. */
.simple-site-footer { background:#0c2435; padding:30px 0 20px; }
.simple-footer-links { display:grid; grid-template-columns:1fr 1fr 1fr; gap:30px; }
.simple-footer-links h3 { color:#fff; font-size:15px; letter-spacing:0; margin:0 0 14px; }
.simple-footer-links a { display:block; width:fit-content; color:#dce7ef; font-size:13px; margin:8px 0; }
.simple-footer-links a:hover,.simple-footer-links a:focus-visible { color:#c5beff; transform:translateY(-2px); }
.simple-footer-bottom { display:flex; justify-content:space-between; gap:16px; border-top:1px solid #ffffff25; padding-top:16px; margin-top:22px; font-size:11px; color:#b8cbd5; }
.support-page { max-width:1000px; }
.support-page h1 { font-size:clamp(30px,4vw,44px); }
.support-page details { border:1px solid #dce5e8; border-radius:6px; padding:16px; margin:12px 0; }
.support-page summary { cursor:pointer; font-weight:650; color:#12354c; }
.support-page details p { margin:12px 0 0; }
.support-policy { padding:20px 0; border-bottom:1px solid #dce5e8; scroll-margin-top:170px; }
.support-policy h2 { font-size:24px; }
@media(max-width:550px) { .simple-footer-links { grid-template-columns:1fr 1fr; gap:24px; } .simple-footer-bottom { flex-direction:column; gap:6px; } }
@media(prefers-reduced-motion:reduce) { .simple-footer-links a:hover,.simple-footer-links a:focus-visible { transform:none; } }

/* Shared tactile button treatment: raised at rest, lifted on hover, pressed on click. */
button,.button { box-shadow:0 3px 0 #0c203c24,0 5px 12px #12354c14; }
button:hover,button:focus-visible,.button:hover,.button:focus-visible { box-shadow:0 4px 0 #0c203c20,0 8px 16px #12354c24; transform:translateY(-2px); }
button:active,.button:active { box-shadow:0 1px 0 #0c203c24,0 2px 5px #12354c16; transform:translateY(1px); }
button:disabled { box-shadow:none; cursor:not-allowed; transform:none; }
.audience-journey .spend360-info { box-shadow:0 4px 0 #2311cb,0 7px 16px #3521ff30; transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease; }
.audience-journey .spend360-info:hover,.audience-journey .spend360-info:focus-within { transform:translateY(-3px); box-shadow:0 5px 0 #2311cb,0 11px 20px #3521ff38; }
.audience-journey .spend360-info:active { transform:translateY(1px); box-shadow:0 1px 0 #2311cb,0 3px 8px #3521ff26; }
@media(prefers-reduced-motion:reduce) { button:hover,button:focus-visible,button:active,.button:hover,.button:focus-visible,.button:active,.audience-journey .spend360-info:hover,.audience-journey .spend360-info:focus-within,.audience-journey .spend360-info:active { transform:none!important; } }
.header-v3 #navigation a[href$="-membership.html"] { box-shadow:0 3px 0 #0c203c24,0 5px 12px #12354c18; }
.header-v3 #navigation a[href$="-membership.html"]:hover,.header-v3 #navigation a[href$="-membership.html"]:focus-visible { box-shadow:0 4px 0 #0c203c20,0 8px 16px #12354c26; transform:translateY(-2px); }
.header-v3 #navigation a[href$="-membership.html"]:active { box-shadow:0 1px 0 #0c203c24,0 2px 5px #12354c16; transform:translateY(1px); }
@media(prefers-reduced-motion:reduce) { .header-v3 #navigation a[href$="-membership.html"]:hover,.header-v3 #navigation a[href$="-membership.html"]:focus-visible,.header-v3 #navigation a[href$="-membership.html"]:active { transform:none!important; } }

/* Twelve category cards keep their photos aligned across each row. */
#category-grid .category-card { grid-template-rows:42px 38px auto; }
#category-grid .category-photo { height:auto; aspect-ratio:16/9; margin-top:4px; object-fit:cover; }
@media(max-width:550px) { #category-grid .category-card { grid-template-rows:auto auto auto; } }

/* Five managed sourcing steps, followed by a direct demo invitation. */
#create-rfp .rfp-steps { grid-template-columns:repeat(5,minmax(0,1fr)); margin-top:24px; }
#create-rfp .rfp-steps li { padding:16px 14px; }
#create-rfp .rfp-steps strong { font-size:14px; }
#contact .demo-email { color:inherit; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:1100px) { #create-rfp .rfp-steps { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:650px) { #create-rfp .rfp-steps { grid-template-columns:1fr; } }
