:root{
--navy:#071f45;--navy2:#0b2e61;--blue:#124a91;--gold:#f2a900;--gold2:#ffbf16;
--ink:#122033;--muted:#657284;--paper:#fff;--soft:#f5f7fa;--line:#e2e7ed;--green:#16815c;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.55}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1240px)/2));position:sticky;top:0;background:#ffffffee;backdrop-filter:blur(18px);z-index:50;border-bottom:1px solid #dce3eb}.logo-wrap img{width:190px;height:62px;object-fit:contain}.topbar nav{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:700}.topbar nav a:hover{color:var(--blue)}.nav-button{background:var(--navy);color:#fff!important;padding:12px 18px;border-radius:9px}.text-button{border:0;background:none;font-weight:700;color:var(--navy);cursor:pointer}.mobile-menu{display:none;border:0;background:none;font-size:26px;color:var(--navy)}
.hero{background:linear-gradient(120deg,#f7f9fc 0%,#fff 50%,#fff8e8 100%);min-height:650px;padding:80px max(24px,calc((100% - 1240px)/2));overflow:hidden}.hero-grid{max-width:1240px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.pill,.eyebrow{display:inline-block;font-size:11px;letter-spacing:.17em;font-weight:900;color:var(--blue)}.pill{background:#e8f0fa;border:1px solid #d3e1f2;padding:9px 13px;border-radius:999px}.hero h1{font-size:clamp(46px,6vw,78px);line-height:.99;letter-spacing:-.065em;margin:20px 0}.hero h1 em{font-style:normal;color:var(--gold)}.hero p{font-size:18px;color:var(--muted);max-width:650px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:13px 20px;font-size:14px;font-weight:850;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-2px)}.primary{background:var(--navy);color:white}.outline{border:1px solid #b8c5d4;color:var(--navy);background:white}.light{background:#fff;color:var(--navy)}.dark-outline{border:1px solid #d7e0eb;color:#fff;background:transparent}.hero-meta{display:flex;gap:18px;flex-wrap:wrap;color:#667383;font-size:12px;font-weight:700}.hero-meta span:first-child{color:var(--green)}.hero-visual{min-height:430px;display:grid;place-items:center;position:relative}.network-card{width:min(490px,100%);height:390px;background:linear-gradient(145deg,#061b3d,#0e3972);border-radius:30px;position:relative;box-shadow:0 30px 80px #071f4530;color:white;overflow:hidden}.network-title{position:absolute;top:25px;left:28px;font-size:10px;letter-spacing:.18em;color:#dce8f7;font-weight:900}.network-node{position:absolute;background:#fff;color:var(--navy);padding:12px 16px;border-radius:12px;box-shadow:0 12px 35px #0003;font-weight:900;font-size:12px;text-align:center}.network-node span{display:block;font-size:9px;color:#708096;font-weight:600;margin-top:3px}.network-node.main{left:50%;top:42%;transform:translate(-50%,-50%);border:3px solid var(--gold);padding:18px 28px}.network-node.n1{left:7%;top:22%}.network-node.n2{right:7%;top:22%}.network-node.n3{right:7%;bottom:17%}.network-line{position:absolute;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform-origin:left}.l1{width:170px;left:33%;top:38%;transform:rotate(-26deg)}.l2{width:170px;left:62%;top:38%;transform:rotate(26deg)}.l3{width:185px;left:61%;top:59%;transform:rotate(30deg)}.orbit{position:absolute;border:1px solid #f2a90044;border-radius:50%}.orbit-a{width:510px;height:510px}.orbit-b{width:380px;height:380px}
.trust-strip{background:var(--navy);color:#fff;display:grid;grid-template-columns:repeat(3,1fr);padding:25px max(24px,calc((100% - 1240px)/2));gap:30px}.trust-strip div{display:flex;flex-direction:column}.trust-strip b{font-size:11px;color:var(--gold);letter-spacing:.12em}.trust-strip span{font-size:13px;color:#b7c4d4}
.section{padding:100px max(24px,calc((100% - 1160px)/2))}.section-head{max-width:760px;margin:0 auto 48px;text-align:center}.section-head h2{font-size:clamp(35px,4vw,56px);line-height:1.04;letter-spacing:-.05em;margin:10px 0 14px}.section-head p{color:var(--muted)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.process-grid article{border:1px solid var(--line);border-radius:18px;padding:28px;background:#fff}.process-grid article>b{color:var(--gold);font-size:13px}.process-grid h3{font-size:20px;margin:25px 0 8px}.process-grid p{font-size:14px;color:var(--muted)}
.dark{background:var(--navy);color:#fff}.light p{color:#b7c4d4}.gold{color:var(--gold)}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.product-card{border:1px solid #294a73;background:#0b2b55;border-radius:18px;padding:25px}.product-card h3{margin:12px 0 7px}.product-card p{color:#b7c4d4;font-size:13px}.product-tag{display:inline-block;color:var(--gold);font-size:10px;font-weight:900;letter-spacing:.12em}.product-card .product-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.product-card .price{font-weight:900}.mini-btn{background:#fff;color:var(--navy);border:0;border-radius:7px;padding:8px 11px;font-weight:800;cursor:pointer}.loading{grid-column:1/-1;text-align:center;color:#b7c4d4}
.map-section{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;background:#f8fafc}.map-copy h2{font-size:clamp(35px,4vw,55px);line-height:1.03;letter-spacing:-.05em;margin:12px 0}.map-copy p{color:var(--muted);max-width:580px}.market-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:25px}.market{padding:17px 20px;background:#fff;border:1px solid var(--line);border-radius:11px;display:flex;justify-content:space-between;font-size:13px}.status{font-weight:800;font-size:10px;text-transform:uppercase}.operating{color:var(--green)}.expansion{color:#b06b00}.planned{color:#8390a0}.africa-art{height:430px;border-radius:30px;background:radial-gradient(circle at 50% 45%,#174a89,#061b3d);position:relative;display:grid;place-items:center;overflow:hidden}.africa-shape{font-size:70px;font-weight:1000;letter-spacing:-.06em;color:#ffffff18}.market-dot{position:absolute;background:var(--gold);color:var(--navy);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:11px;box-shadow:0 0 0 7px #f2a9001e}.d1{left:42%;top:48%}.d2{left:52%;top:42%}.d3{right:26%;top:47%}
.soft{background:var(--soft)}.partner-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.partner-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px}.card-icon{font-size:35px;color:var(--gold)}.partner-card h3{font-size:26px;margin:14px 0 7px}.partner-card p{color:var(--muted);max-width:480px;margin-bottom:25px}
.request-section{background:#fff}.request-box{max-width:1100px;margin:auto;border-radius:26px;background:linear-gradient(120deg,var(--navy),#124a91);padding:55px;color:#fff;display:flex;justify-content:space-between;gap:40px;align-items:center;box-shadow:0 20px 60px #071f451c}.request-box h2{font-size:42px;line-height:1;margin:10px 0}.request-box p{color:#c7d5e5;max-width:550px}.request-side{border-left:1px solid #ffffff35;padding-left:30px;min-width:240px}.request-side b,.request-side span{display:block}.request-side span{color:#c7d5e5;font-size:13px;margin-top:7px}
.resources{background:#f8fafc}.portal-card{max-width:900px;margin:auto;background:white;border:1px solid var(--line);border-radius:18px;padding:24px;display:flex;justify-content:space-between;align-items:center;gap:20px}.portal-card b,.portal-card span{display:block}.portal-card span{color:var(--muted);font-size:13px;margin-top:5px}
.contact-cta{background:var(--gold);padding:60px max(24px,calc((100% - 1160px)/2));display:flex;justify-content:space-between;align-items:center;gap:30px}.contact-cta h2{font-size:43px;line-height:1;margin:8px 0}.contact-cta p{margin:0;color:#674700}.cta-actions{display:flex;gap:10px;flex-wrap:wrap}
footer{background:#06182f;color:#fff;padding:60px max(24px,calc((100% - 1160px)/2)) 20px}.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:50px}.footer-main>div{display:flex;flex-direction:column;gap:8px}.footer-main b{color:var(--gold);font-size:12px;letter-spacing:.1em}.footer-main a,.footer-main span,.footer-main p{color:#aab9cb;font-size:13px}.footer-logo{width:210px;height:80px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1);opacity:.95}.copyright{border-top:1px solid #193252;margin-top:40px;padding-top:18px;color:#8091a7;font-size:12px}
.modal{position:fixed;inset:0;background:#04152acc;backdrop-filter:blur(7px);z-index:100;display:none;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.modal-card{width:min(620px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;padding:32px;position:relative}.modal-close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:28px;cursor:pointer;color:#667}.modal-card h2{margin:0 0 5px;font-size:30px}.modal-card .sub{color:var(--muted);font-size:13px;margin-bottom:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:13px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:850;color:#425168}.field input,.field select,.field textarea{border:1px solid #d6dee8;border-radius:8px;padding:11px 12px;outline:none;background:#fff}.field input:focus,.field select:focus,.field textarea:focus{border-color:#4d78aa;box-shadow:0 0 0 3px #124a9114}.field textarea{min-height:100px;resize:vertical}.form-note{font-size:11px;color:#778396;margin-top:10px}.toast{position:fixed;bottom:25px;right:25px;z-index:200;background:#071f45;color:#fff;padding:14px 18px;border-radius:10px;box-shadow:0 15px 40px #0003;display:none}.toast.show{display:block}
.dashboard{min-height:100vh;background:#f5f7fa}.dash-top{background:#fff;border-bottom:1px solid var(--line);padding:15px 25px;display:flex;justify-content:space-between;align-items:center}.dash-top img{height:48px;width:150px;object-fit:contain}.dash-body{max-width:1200px;margin:auto;padding:35px 20px}.dash-title{display:flex;justify-content:space-between;align-items:center}.dash-title h1{margin:0;font-size:32px}.stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:25px 0}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.stat b{font-size:27px;display:block}.stat span{font-size:11px;color:var(--muted)}.data-table{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:auto}.data-table table{width:100%;border-collapse:collapse;font-size:12px}.data-table th,.data-table td{padding:12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.data-table th{background:#f7f9fb;color:#516075;font-size:10px;text-transform:uppercase}.dash-tabs{display:flex;gap:8px;margin:20px 0}.dash-tabs button{border:1px solid var(--line);background:#fff;padding:9px 13px;border-radius:8px;font-weight:800;cursor:pointer}.dash-tabs button.active{background:var(--navy);color:#fff}
@media(max-width:900px){.topbar nav{display:none}.mobile-menu{display:block}.hero-grid,.map-section{grid-template-columns:1fr}.hero-visual{min-height:350px}.process-grid{grid-template-columns:1fr 1fr}.product-grid{grid-template-columns:1fr 1fr}.trust-strip{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr 1fr}.contact-cta{flex-direction:column;align-items:flex-start}.stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.hero{padding-top:55px}.hero h1{font-size:46px}.process-grid,.product-grid,.partner-grid,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.request-box{padding:35px;flex-direction:column;align-items:flex-start}.request-side{border-left:0;border-top:1px solid #ffffff35;padding:20px 0 0;min-width:0}.footer-main{grid-template-columns:1fr}.market-list{grid-template-columns:1fr}.contact-cta h2{font-size:35px}.stat-grid{grid-template-columns:1fr 1fr}}

/* =========================================================
   DISTRIBUTOR DASHBOARD
========================================================= */

.distributor-dashboard-shell{
  width:min(1180px,100%);
  height:90vh;
  min-height:680px;
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  background:#f5f7fa;
  border-radius:18px;
  overflow:hidden;
  color:var(--ink);
}

.distributor-dashboard-shell .dashboard-sidebar{
  background:var(--navy);
  color:#fff;
  display:flex;
  flex-direction:column;
  min-height:0;
  padding:24px 14px 14px;
}

.dashboard-sidebar-brand{
  padding:2px 12px 28px;
}

.dashboard-sidebar-brand .dashboard-brand{
  color:#fff;
  font-size:17px;
  font-weight:950;
  letter-spacing:.08em;
}

.dashboard-sidebar-subbrand{
  color:var(--gold);
  font-size:10px;
  font-weight:900;
  letter-spacing:.18em;
  margin-top:2px;
}

.dashboard-sidebar-nav{
  display:flex;
  flex-direction:column;
  gap:5px;
}

.dashboard-nav-item{
  width:100%;
  border:0;
  background:transparent;
  color:#b9c7d9;
  padding:11px 12px;
  border-radius:8px;
  text-align:left;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  transition:.18s ease;
}

.dashboard-nav-item:hover{
  background:#ffffff10;
  color:#fff;
}

.dashboard-nav-item.active{
  background:#ffffff14;
  color:#fff;
  box-shadow:inset 3px 0 0 var(--gold);
}

.dashboard-nav-item.locked{
  opacity:.5;
}

.dashboard-sidebar-divider{
  height:1px;
  background:#ffffff18;
  margin:18px 8px 12px;
}

.dashboard-sidebar-bottom{
  margin-top:auto;
}

.dashboard-signout{
  color:#d3dcea;
}

.dashboard-signout:hover{
  background:#b4231818;
  color:#fff;
}

.distributor-dashboard-shell .dashboard-main{
  min-width:0;
  overflow-y:auto;
  padding:30px 32px 35px;
  background:#f5f7fa;
}

.distributor-dashboard-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:25px;
  margin-bottom:25px;
}

.distributor-dashboard-header h1{
  margin:7px 0 4px;
  font-size:30px;
  line-height:1.1;
  letter-spacing:-.035em;
}

.distributor-dashboard-header p{
  margin:0;
  color:var(--muted);
  font-size:13px;
}

.distributor-header-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
}

.distributor-verification-badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:7px 10px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.06em;
  white-space:nowrap;
}

.distributor-verification-badge.verified{
  background:#e6f5ef;
  color:var(--green);
}

.distributor-verification-badge.pending{
  background:#fff3d6;
  color:#986600;
}

.distributor-notification-button{
  position:relative;
  width:36px;
  height:36px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  color:var(--navy);
  cursor:pointer;
  font-size:15px;
}

.distributor-notification-button span{
  position:absolute;
  right:-4px;
  top:-5px;
  min-width:16px;
  height:16px;
  padding:0 4px;
  border-radius:999px;
  background:var(--gold);
  color:var(--navy);
  font-size:9px;
  font-weight:900;
  display:grid;
  place-items:center;
}

.distributor-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-bottom:24px;
}

.distributor-summary-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:15px 16px;
}

.distributor-summary-card span,
.distributor-summary-card small{
  display:block;
}

.distributor-summary-card span{
  color:#526174;
  font-size:10px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.distributor-summary-card strong{
  display:block;
  margin:4px 0 1px;
  color:var(--navy);
  font-size:25px;
  line-height:1.1;
}

.distributor-summary-card small{
  color:#8995a5;
  font-size:10px;
}

.distributor-section{
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:21px;
  margin-bottom:16px;
}

.distributor-section-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  margin-bottom:17px;
}

.distributor-section-heading h2{
  margin:5px 0 3px;
  font-size:19px;
  letter-spacing:-.02em;
}

.distributor-section-heading p{
  margin:0;
  color:var(--muted);
  font-size:11px;
  max-width:650px;
}

.distributor-link-button{
  border:0;
  background:none;
  color:var(--blue);
  font-size:11px;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
}

.distributor-action-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}

.distributor-action-card{
  min-height:125px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fafbfd;
  padding:16px;
  text-align:left;
  cursor:pointer;
  transition:.18s ease;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.distributor-action-card:hover{
  border-color:#b9c9dc;
  transform:translateY(-1px);
  background:#fff;
}

.distributor-action-card.locked{
  opacity:.55;
}

.distributor-action-card strong{
  color:var(--navy);
  font-size:13px;
}

.distributor-action-card span{
  color:var(--muted);
  font-size:10px;
  line-height:1.5;
  margin-top:7px;
}

.distributor-action-card em{
  margin-top:auto;
  padding-top:12px;
  color:var(--blue);
  font-size:10px;
  font-style:normal;
  font-weight:900;
}

.distributor-opportunity-list{
  display:grid;
  gap:10px;
}

.distributor-opportunity-card{
  border:1px solid var(--line);
  border-radius:11px;
  padding:16px;
  background:#fff;
}

.distributor-opportunity-main{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
}

.distributor-opportunity-main h3{
  margin:4px 0 2px;
  color:var(--navy);
  font-size:15px;
}

.distributor-opportunity-main strong{
  font-size:11px;
  color:#536276;
}

.distributor-fit-score{
  text-align:right;
}

.distributor-fit-score span{
  display:block;
  color:#7b8797;
  font-size:9px;
  font-weight:800;
}

.distributor-fit-score strong{
  display:block;
  color:var(--green);
  font-size:18px;
  margin-top:2px;
}

.distributor-opportunity-route{
  display:flex;
  align-items:center;
  gap:8px;
  margin:13px 0 9px;
  color:var(--navy);
  font-size:12px;
  font-weight:850;
}

.distributor-opportunity-route span:nth-child(2){
  color:var(--gold);
}

.distributor-opportunity-meta{
  display:flex;
  gap:15px;
  flex-wrap:wrap;
  color:#69778a;
  font-size:10px;
  margin-bottom:13px;
}

.distributor-select-opportunity{
  padding:9px 13px;
  font-size:10px;
}

.distributor-empty-state{
  border:1px dashed #cbd4df;
  border-radius:11px;
  padding:28px 20px;
  text-align:center;
  background:#fafbfd;
}

.distributor-empty-state.compact{
  padding:22px 20px;
}

.distributor-empty-state h3{
  margin:4px 0;
  font-size:14px;
  color:var(--navy);
}

.distributor-empty-state p{
  max-width:600px;
  margin:5px auto 0;
  color:var(--muted);
  font-size:11px;
}

.distributor-empty-icon{
  color:#9aa6b5;
  font-size:20px;
  font-weight:900;
}

.distributor-performance-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}

.distributor-performance-card{
  border:1px solid var(--line);
  border-radius:10px;
  padding:14px;
  background:#fafbfd;
}

.distributor-performance-card span{
  display:block;
  color:#687689;
  font-size:10px;
  font-weight:800;
}

.distributor-performance-card strong{
  display:block;
  color:var(--navy);
  margin-top:5px;
  font-size:17px;
}

.distributor-improvement-box{
  margin-top:12px;
  border-left:3px solid var(--gold);
  background:#fff9e9;
  padding:13px 15px;
  border-radius:0 9px 9px 0;
}

.distributor-improvement-box strong{
  color:var(--navy);
  font-size:11px;
}

.distributor-improvement-box ul{
  margin:7px 0 0;
  padding-left:18px;
  color:#667383;
  font-size:10px;
}

.distributor-verification-notice{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:15px 17px;
  margin-bottom:16px;
  background:#fff8e8;
  border:1px solid #f0d58e;
  border-radius:12px;
}

.distributor-verification-notice strong,
.distributor-verification-notice span{
  display:block;
}

.distributor-verification-notice strong{
  color:var(--navy);
  font-size:11px;
}

.distributor-verification-notice span{
  color:#786744;
  font-size:10px;
  margin-top:3px;
}

.distributor-verification-notice .btn{
  flex-shrink:0;
  padding:9px 13px;
  font-size:10px;
}

.distributor-account-footer{
  padding:4px 2px 0;
}

.distributor-account-footer strong,
.distributor-account-footer span{
  display:block;
}

.distributor-account-footer strong{
  color:var(--navy);
  font-size:11px;
}

.distributor-account-footer span{
  color:#7b8797;
  font-size:10px;
  margin-top:2px;
}


@media(max-width:900px){

  .distributor-dashboard-shell{
    grid-template-columns:180px minmax(0,1fr);
  }

  .distributor-summary-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .distributor-action-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .distributor-performance-grid{
    grid-template-columns:repeat(2,1fr);
  }

}


@media(max-width:700px){

  .distributor-dashboard-shell{
    display:block;
    height:90vh;
    overflow:auto;
  }

  .distributor-dashboard-shell .dashboard-sidebar{
    min-height:auto;
  }

  .dashboard-sidebar-nav{
    flex-direction:row;
    flex-wrap:wrap;
  }

  .dashboard-sidebar-bottom{
    margin-top:10px;
  }

  .distributor-dashboard-shell .dashboard-main{
    overflow:visible;
    padding:22px 16px;
  }

  .distributor-dashboard-header{
    flex-direction:column;
  }

  .distributor-header-actions{
    width:100%;
  }

  .distributor-summary-grid,
  .distributor-action-grid,
  .distributor-performance-grid{
    grid-template-columns:1fr;
  }

  .distributor-section-heading{
    flex-direction:column;
  }

  .distributor-verification-notice{
    align-items:flex-start;
    flex-direction:column;
  }

}



/* CEDIBITE HOMEPAGE STYLE POLISH - PASS 1 */

/* Refined navigation */
.topbar {
  box-shadow: 0 4px 24px rgba(7, 31, 69, 0.045);
  transition: box-shadow 0.25s ease;
}

.topbar nav a:not(.nav-button) {
  transition: color 0.2s ease;
}

.nav-button {
  box-shadow: 0 5px 14px rgba(7, 31, 69, 0.12);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.nav-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(7, 31, 69, 0.18);
}

/* More polished hero */
.hero {
  background:
    radial-gradient(ellipse at 83% 40%, rgba(242, 169, 0, 0.10), transparent 38%),
    radial-gradient(ellipse at 8% 5%, rgba(18, 74, 145, 0.07), transparent 38%),
    linear-gradient(135deg, #f7f9fc 0%, #ffffff 55%, #fffaf0 100%);
}

.hero h1 {
  text-wrap: balance;
}

.hero p {
  line-height: 1.8;
}

.pill {
  box-shadow: 0 3px 12px rgba(7, 31, 69, 0.04);
}

.network-card {
  box-shadow: 0 28px 70px rgba(7, 31, 69, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.10);
}

.hero .btn {
  min-height: 48px;
}

.btn {
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    background-color 0.22s ease;
}

.btn.primary {
  box-shadow: 0 7px 18px rgba(7, 31, 69, 0.14);
}

.btn.primary:hover {
  box-shadow: 0 11px 25px rgba(7, 31, 69, 0.20);
}

/* Clearer section rhythm */
.section {
  scroll-margin-top: 90px;
}

.section-head h2,
.map-copy h2 {
  text-wrap: balance;
}

.section-head p {
  line-height: 1.8;
}

/* Subtle, consistent card treatments */
.process-grid article,
.partner-card,
.portal-card,
.market {
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease;
}

.process-grid article:hover,
.partner-card:hover {
  transform: translateY(-4px);
  border-color: #c7d4e4;
  box-shadow: 0 16px 38px rgba(7, 31, 69, 0.08);
}

.product-card {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease;
}

.product-card:hover {
  transform: translateY(-4px);
  border-color: var(--gold);
  box-shadow: 0 18px 35px rgba(0, 0, 0, 0.16);
}

.product-card .mini-btn {
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.product-card .mini-btn:hover {
  background: var(--gold);
  transform: translateY(-1px);
}

.market:hover,
.portal-card:hover {
  border-color: #c5d3e4;
  box-shadow: 0 8px 24px rgba(7, 31, 69, 0.06);
}

/* Stronger sourcing request panel */
.request-box {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 100% 0%, rgba(242, 169, 0, 0.15), transparent 42%),
    linear-gradient(120deg, #071f45 0%, #124a91 100%);
  box-shadow: 0 24px 60px rgba(7, 31, 69, 0.16);
}

.request-box h2 {
  text-wrap: balance;
}

/* Refined final call to action */
.contact-cta {
  background: linear-gradient(115deg, #f2a900 0%, #ffd46a 100%);
}

.contact-cta h2 {
  text-wrap: balance;
}

.contact-cta .btn {
  box-shadow: 0 5px 15px rgba(7, 31, 69, 0.09);
}

/* Better footer finish */
footer {
  background:
    radial-gradient(ellipse at 85% 0%, rgba(18, 74, 145, 0.24), transparent 40%),
    #06182f;
}

.footer-main a {
  transition: color 0.2s ease, transform 0.2s ease;
}

.footer-main a:hover {
  color: #ffffff;
  transform: translateX(2px);
}

/* Visible keyboard focus */
.topbar a:focus-visible,
.btn:focus-visible,
button:focus-visible,
.footer-main a:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 3px;
}

/* Keep motion comfortable on smaller screens */
@media (max-width: 600px) {
  .hero {
    background:
      radial-gradient(ellipse at 90% 15%, rgba(242, 169, 0, 0.09), transparent 42%),
      linear-gradient(160deg, #f7f9fc 0%, #ffffff 75%);
  }

  .hero p {
    font-size: 16px;
    line-height: 1.75;
  }

  .section {
    padding-top: 72px;
    padding-bottom: 72px;
  }

  .request-box {
    border-radius: 20px;
  }

  .partner-card {
    padding: 26px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .topbar,
  .topbar nav a,
  .nav-button,
  .btn,
  .process-grid article,
  .partner-card,
  .product-card,
  .product-card .mini-btn,
  .market,
  .portal-card,
  .footer-main a {
    transition: none;
  }

  .btn:hover,
  .nav-button:hover,
  .process-grid article:hover,
  .partner-card:hover,
  .product-card:hover,
  .footer-main a:hover {
    transform: none;
  }
}

/* CEDIBITE HOMEPAGE SECTION POLISH - PASS 2 */
/* Scoped to homepage section classes to protect dashboards. */

.demand-supply-section,
.distribution-section,
.recurring-section,
.expansion-section {
  position: relative;
}

.demand-supply-section {
  background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
}

.demand-supply-section .section-head,
.workflow-section .section-head,
.partners-section .section-head,
.recurring-section .section-head {
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
}

.demand-supply-section .section-head h2,
.workflow-section .section-head h2,
.partners-section .section-head h2,
.recurring-section .section-head h2 {
  letter-spacing: -0.035em;
  line-height: 1.12;
}

.workflow-section {
  background: #f5f7fa;
}

.workflow-section .process-grid article {
  border: 1px solid #e3e9f1;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 8px 26px rgba(7, 31, 69, 0.045);
  transition: transform .22s ease, box-shadow .22s ease;
}

.workflow-section .process-grid article:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 34px rgba(7, 31, 69, 0.10);
}

.products-section {
  background:
    radial-gradient(ellipse at 85% 0%, rgba(242, 169, 0, .13), transparent 38%),
    linear-gradient(135deg, #071f45 0%, #0b2e61 100%);
}

.products-section .product-card {
  border: 1px solid rgba(255, 255, 255, .12);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .12);
}

.distribution-section {
  background: #ffffff;
}

.partners-section {
  background: linear-gradient(180deg, #f5f7fa 0%, #ffffff 100%);
}

.partners-section .partner-card {
  border: 1px solid #e3e9f1;
  border-radius: 16px;
  background: #ffffff;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.partners-section .partner-card:hover {
  border-color: rgba(242, 169, 0, .65);
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(7, 31, 69, .07);
}

.request-section {
  background: #ffffff;
}

.request-section .request-box {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .12);
}

.recurring-section {
  background: #f7f9fc;
}

.expansion-section {
  background: #ffffff;
}

.expansion-section .section-head {
  max-width: 850px;
}

.contact-cta {
  background:
    radial-gradient(ellipse at 90% 10%, rgba(242, 169, 0, .16), transparent 35%),
    linear-gradient(125deg, #071f45 0%, #0b2e61 100%);
}

@media (max-width: 700px) {
  .demand-supply-section .section-head,
  .workflow-section .section-head,
  .partners-section .section-head,
  .recurring-section .section-head {
    text-align: left;
  }

  .workflow-section .process-grid article,
  .partners-section .partner-card {
    border-radius: 14px;
  }

  .request-section .request-box {
    border-radius: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .workflow-section .process-grid article,
  .partners-section .partner-card {
    transition: none;
  }

  .workflow-section .process-grid article:hover,
  .partners-section .partner-card:hover {
    transform: none;
  }
}

/* =========================================================
   CEDIBITE — CLEAN HERO
========================================================= */

.hero-grid {
  grid-template-columns: 1fr;
}

.hero-copy {
  max-width: 760px;
}

.hero-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 28px;
}

.hero-actions .btn {
  min-height: 52px;
  padding: 14px 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.hero-trust {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  margin-top: 28px;
  font-size: 0.9rem;
  opacity: 0.75;
}

.hero-trust span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

@media (max-width: 600px) {
  .hero-actions {
    flex-direction: column;
    width: 100%;
  }

  .hero-actions .btn {
    width: 100%;
    min-height: 52px;
  }

  .hero-trust {
    flex-direction: column;
    gap: 10px;
  }
}

/* =========================================================
   CEDIBITE — PREMIUM NETWORK TRUST STRIP
========================================================= */

.network-trust-strip {
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1.2fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 28px;
  padding: 28px 5%;
  background: #f7f7f5;
  color: var(--navy);
  border-top: 1px solid rgba(7, 31, 69, 0.08);
  border-bottom: 1px solid rgba(7, 31, 69, 0.08);
}

.network-trust-strip .trust-item {
  text-align: center;
  align-items: center;
}

.network-trust-strip .trust-label {
  display: block;
  color: var(--navy);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.1em;
}

.network-trust-strip .trust-item p {
  margin: 7px 0 0;
  color: #657184;
  font-size: 0.88rem;
  line-height: 1.5;
  opacity: 1;
}

.network-trust-strip .trust-divider {
  display: block;
  width: 1px;
  height: 42px;
  background: rgba(7, 31, 69, 0.15);
}

@media (max-width: 800px) {
  .network-trust-strip {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    padding: 30px 6%;
  }

  .network-trust-strip .trust-divider {
    width: 50px;
    height: 1px;
    margin: 0 auto;
  }

  .network-trust-strip .trust-item p {
    margin-top: 6px;
  }
}



/* =========================================================
   CEDIBITE — PREMIUM WORKFLOW CARDS
   Targets the existing workflow-section HTML.
========================================================= */

.workflow-section {
  background: linear-gradient(180deg, #f4f6f9 0%, #ffffff 100%);
}

.workflow-section .section-head .eyebrow {
  display: inline-block;
  margin-bottom: 16px;
  padding: 8px 14px;
  color: var(--blue);
  background: rgba(242, 169, 0, 0.09);
  border: 1px solid rgba(242, 169, 0, 0.35);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.14em;
}

.workflow-section .section-head h2 em {
  color: var(--gold);
  font-style: normal;
}

.workflow-section .workflow-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  max-width: 1240px;
  margin: 0 auto;
  align-items: stretch;
}

.workflow-section .workflow-step {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  min-width: 0;
  min-height: 275px;
  box-sizing: border-box;
  padding: 25px 21px;
  background: #ffffff;
  border: 1px solid #e1e7ef;
  border-radius: 18px;
  box-shadow: 0 8px 26px rgba(7, 31, 69, 0.045);
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease;
}

.workflow-section .workflow-step:hover {
  transform: translateY(-5px);
  border-color: var(--gold);
  box-shadow:
    0 18px 38px rgba(7, 31, 69, 0.09),
    0 0 0 1px rgba(242, 169, 0, 0.12);
}

.workflow-section .workflow-step > span {
  display: inline-flex;
  flex: 0 0 42px;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  box-sizing: border-box;
  border-radius: 50%;
  background: var(--gold);
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.04em;
}

.workflow-section .workflow-step > div {
  flex: 1;
  min-width: 0;
}

.workflow-section .workflow-step strong {
  display: block;
  margin: 4px 0 12px;
  color: var(--blue);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.13em;
}

.workflow-section .workflow-step h3 {
  margin: 0 0 11px;
  color: var(--navy);
  font-size: 18px;
  line-height: 1.3;
  letter-spacing: -0.025em;
}

.workflow-section .workflow-step p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.75;
}

@media (max-width: 1050px) {
  .workflow-section .workflow-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .workflow-section .workflow-step {
    min-height: 230px;
    padding: 26px;
  }
}

@media (max-width: 640px) {
  .workflow-section {
    padding: 72px 20px;
  }

  .workflow-section .section-head {
    margin-bottom: 34px;
  }

  .workflow-section .workflow-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  .workflow-section .workflow-step {
    min-height: 0;
    padding: 23px 20px;
    border-radius: 15px;
  }

  .workflow-section .workflow-step h3 {
    font-size: 17px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .workflow-section .workflow-step {
    transition: none;
  }

  .workflow-section .workflow-step:hover {
    transform: none;
  }
}


/* CEDIBITE FINAL TRUST AND WORKFLOW LAYOUT */

/* Taller trust strip */
.trust-strip.network-trust-strip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1.2fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 25px;
  min-height: 150px;
  box-sizing: border-box;
  padding: 36px max(24px, calc((100% - 1240px) / 2));
}

.trust-strip.network-trust-strip .trust-item {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.trust-strip.network-trust-strip .trust-label {
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.11em;
}

.trust-strip.network-trust-strip .trust-item p {
  margin: 8px 0 0;
  color: #657184;
  font-size: 13px;
  line-height: 1.5;
}

.trust-strip.network-trust-strip .trust-divider {
  display: block;
  width: 1px;
  height: 48px;
  background: rgba(7, 31, 69, 0.16);
}

/* Compact How It Works section */
.workflow-section {
  padding-top: 48px;
  padding-bottom: 48px;
}

.workflow-section .section-head {
  margin-bottom: 26px;
}

.workflow-section .workflow-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  max-width: 1240px;
  margin: 0 auto;
  align-items: stretch;
}

/* First row: three cards */
.workflow-section .workflow-step {
  grid-column: span 2;
  min-height: 185px;
  box-sizing: border-box;
  padding: 19px;
  gap: 12px;
  border-radius: 15px;
}

/* Second row: two centered cards */
.workflow-section .workflow-step:nth-child(4) {
  grid-column: 2 / span 2;
}

.workflow-section .workflow-step:nth-child(5) {
  grid-column: 4 / span 2;
}

/* Tablet: two columns */
@media (max-width: 900px) {
  .workflow-section .workflow-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .workflow-section .workflow-step,
  .workflow-section .workflow-step:nth-child(4),
  .workflow-section .workflow-step:nth-child(5) {
    grid-column: auto;
    min-height: 175px;
  }
}

/* Mobile: one column */
@media (max-width: 640px) {
  .trust-strip.network-trust-strip {
    grid-template-columns: minmax(0, 1fr);
    gap: 17px;
    min-height: 0;
    padding: 28px 20px;
  }

  .trust-strip.network-trust-strip .trust-divider {
    width: 46px;
    height: 1px;
    margin: 0 auto;
  }

  .workflow-section {
    padding: 40px 20px;
  }

  .workflow-section .section-head {
    margin-bottom: 22px;
  }

  .workflow-section .workflow-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  .workflow-section .workflow-step,
  .workflow-section .workflow-step:nth-child(4),
  .workflow-section .workflow-step:nth-child(5) {
    grid-column: auto;
    min-height: 0;
    padding: 20px 18px;
  }
}


/* =========================================================
   SECTION 4: WHO WE SERVE
========================================================= */
.clients-section {
  background: linear-gradient(180deg, #f5f7fa 0%, #ffffff 100%);
}

.clients-section .section-head {
  max-width: 790px;
  margin: 0 auto 34px;
}

.clients-section .section-head h2 em {
  color: var(--gold);
  font-style: normal;
}

.clients-section .section-head p {
  line-height: 1.8;
}

.clients-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  max-width: 1160px;
  margin: 0 auto;
}

.client-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 220px;
  padding: 25px;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 16px;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.client-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--gold);
  opacity: 0;
  transition: opacity .2s ease;
}

.client-card:hover {
  transform: translateY(-4px);
  border-color: rgba(242, 169, 0, .65);
  box-shadow: 0 14px 30px rgba(7, 31, 69, .08);
}

.client-card:hover::before {
  opacity: 1;
}

.client-number {
  color: var(--gold);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
}

.client-card h3 {
  margin: 23px 0 9px;
  color: var(--navy);
  font-size: 19px;
  line-height: 1.3;
}

.client-card p {
  margin: 0 0 22px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.75;
}

.client-tag {
  margin-top: auto;
  padding: 7px 10px;
  color: var(--blue);
  background: #f0f4f9;
  border-radius: 5px;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .1em;
}

@media (max-width: 900px) {
  .clients-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .clients-section {
    padding: 48px 20px;
  }

  .clients-section .section-head {
    margin-bottom: 24px;
  }

  .clients-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  .client-card {
    min-height: 0;
    padding: 22px;
  }

  .client-card h3 {
    margin-top: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .client-card,
  .client-card::before {
    transition: none;
  }

  .client-card:hover {
    transform: none;
  }
}

/* =========================================================
   CEDIBITE HOMEPAGE — PRODUCT CATEGORIES (COMPACT CARDS)
========================================================= */
.products {
  padding: 100px 5%;
  background: #f4f6f3;
}

.products .product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  max-width: 1250px;
  margin: 0 auto;
}

.products .product-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 320px;
  overflow: hidden;
  padding: 0;
  background: var(--white);
  border: 1px solid rgba(212, 175, 55, 0.28);
  border-top: 4px solid var(--gold);
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.products .product-card:hover {
  transform: translateY(-7px);
  border-color: var(--gold);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.09);
}

.products .product-image {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 110px;
  background: linear-gradient(135deg, rgba(212, 175, 55, 0.12), rgba(212, 175, 55, 0.03));
  border-bottom: 1px solid rgba(212, 175, 55, 0.15);
  font-size: 3rem;
}

.products .product-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 22px 24px;
}

.products .product-category {
  display: inline-flex;
  align-self: flex-start;
  margin-bottom: 12px;
  padding: 6px 10px;
  color: var(--gold);
  background: rgba(212, 175, 55, 0.08);
  border: 1px solid rgba(212, 175, 55, 0.20);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
}

.products .product-body h3 {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: 1.3rem;
  line-height: 1.3;
  letter-spacing: -.02em;
}

.products .product-body p {
  margin: 0;
  color: var(--muted);
  font-size: .92rem;
  line-height: 1.7;
}

.products .product-link {
  display: inline-block;
  margin-top: auto;
  padding-top: 20px;
  color: var(--gold);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

@media (max-width: 1000px) {
  .products .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .products {
    padding: 75px 6%;
  }

  .products .product-grid {
    grid-template-columns: 1fr;
  }

  .products .product-card {
    min-height: 320px;
  }

  .products .product-body {
    padding: 22px 24px;
  }
}

/* =========================================================
   CEDIBITE — LIVE PRODUCT CATEGORIES
   Styles the existing API-driven catalogue without changing
   product loading or request-button behavior.
========================================================= */

.products-section {
  background: #f4f6f3;
  color: #071f45;
  padding: 80px 5%;
}

.products-section .section-head {
  max-width: 850px;
  margin: 0 auto 38px;
  text-align: center;
}

.products-section .section-head .eyebrow {
  color: #9a6b00;
}

.products-section .section-head h2 {
  color: #071f45;
}

.products-section .section-head p {
  color: #596579;
}

.products-section .product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  max-width: 1250px;
  margin: 0 auto;
}

.products-section .product-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 320px;
  padding: 26px 24px 22px;
  border: 0;
  border-top: 3px solid #f2a900;
  border-radius: 16px;
  background: #ffffff;
  color: #071f45;
  box-shadow: 0 8px 24px rgba(7, 31, 69, .07);
  transition: transform .22s ease, box-shadow .22s ease;
}

.products-section .product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px rgba(7, 31, 69, .12);
}

.products-section .product-tag {
  display: inline-block;
  align-self: flex-start;
  margin-bottom: 18px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #fff4d6;
  color: #805900;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.products-section .product-card h3 {
  margin: 0 0 12px;
  color: #071f45;
  font-size: 1.2rem;
  line-height: 1.35;
}

.products-section .product-card p {
  margin: 0 0 22px;
  color: #596579;
  font-size: .94rem;
  line-height: 1.7;
}

.products-section .product-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid #edf0f3;
}

.products-section .product-bottom .price {
  color: #071f45;
  font-size: .86rem;
  font-weight: 700;
}

.products-section .product-bottom .mini-btn {
  flex-shrink: 0;
  border: 0;
  border-radius: 8px;
  padding: 10px 16px;
  background: #071f45;
  color: #ffffff;
  font-weight: 700;
  cursor: pointer;
}

.products-section .product-bottom .mini-btn:hover {
  background: #f2a900;
  color: #071f45;
}

.products-section .loading {
  grid-column: 1 / -1;
  color: #596579;
}

.products-section .section-action {
  margin-top: 32px;
  text-align: center;
}

.products-section .section-action .btn {
  background: #071f45;
  color: #ffffff;
}

.products-section .section-action .btn:hover {
  background: #f2a900;
  color: #071f45;
}

@media (max-width: 1000px) {
  .products-section .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .products-section {
    padding: 58px 5%;
  }

  .products-section .section-head {
    text-align: left;
  }

  .products-section .product-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .products-section .product-card {
    min-height: 280px;
    padding: 22px 20px;
  }
}

/* CEDIBITE — PRODUCT CATEGORY ILLUSTRATIONS */
.products-section .category-illustrations {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
  margin: 0 0 38px;
}

.products-section .category-illustration-card {
  min-width: 0;
  padding: 22px 18px 24px;
  border: 1px solid rgba(23, 63, 53, 0.13);
  border-radius: 18px;
  background: #fff;
  color: #173f35;
  text-align: left;
  box-shadow: 0 8px 24px rgba(16, 45, 37, 0.05);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.products-section .category-illustration-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(16, 45, 37, 0.11);
}

.products-section .category-art {
  display: grid;
  place-items: center;
  min-height: 132px;
  margin-bottom: 18px;
  border-radius: 13px;
  background: #f5f3e9;
}

.products-section .category-art svg {
  display: block;
  width: 112px;
  max-width: 100%;
  height: 100px;
}

.products-section .category-index {
  display: block;
  margin-bottom: 9px;
  color: #92701f;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.1px;
}

.products-section .category-illustration-card h3 {
  margin: 0 0 9px;
  color: #173f35;
  font-size: 17px;
  line-height: 1.35;
}

.products-section .category-illustration-card p {
  margin: 0;
  color: #66736c;
  font-size: 13px;
  line-height: 1.65;
}

@media (max-width: 1100px) {
  .products-section .category-illustrations {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .products-section .category-illustrations {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 28px;
  }

  .products-section .category-illustration-card {
    padding: 15px 13px 18px;
    border-radius: 14px;
  }

  .products-section .category-art {
    min-height: 105px;
    margin-bottom: 14px;
  }

  .products-section .category-art svg {
    width: 92px;
    height: 85px;
  }

  .products-section .category-illustration-card h3 {
    font-size: 15px;
  }

  .products-section .category-illustration-card p {
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .products-section .category-illustration-card {
    transition: none;
  }

  .products-section .category-illustration-card:hover {
    transform: none;
  }
}

/* CEDIBITE REAL PRODUCT PHOTOGRAPHS */
.products-section .category-art {
  display: block;
  height: 132px;
  min-height: 0;
  margin-bottom: 18px;
  padding: 0;
  overflow: hidden;
  border-radius: 13px;
  background: #e9eee9;
}

.products-section .category-art img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 680px) {
  .products-section .category-art {
    height: 110px;
    margin-bottom: 14px;
  }
}

/* CEDIBITE PREMIUM CATEGORY DESIGN */
#products .category-illustrations {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
  max-width: 1120px;
  margin: 0 auto 42px;
}

#products .category-illustration-card {
  min-width: 0;
  padding: 18px;
  overflow: hidden;
  color: #071F45;
  background: #FFFFFF;
  border: 1px solid rgba(217, 173, 85, 0.42);
  border-radius: 18px;
  box-shadow: 0 8px 26px rgba(0, 0, 0, 0.10);
  transition: transform 180ms ease, box-shadow 180ms ease,
              border-color 180ms ease;
}

#products .category-illustration-card:hover {
  transform: translateY(-4px);
  border-color: #D9AD55;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.16);
}

#products .category-art {
  display: block;
  height: 190px;
  min-height: 0;
  margin: 0 0 18px;
  padding: 0;
  overflow: hidden;
  background: #F2F4F7;
  border-radius: 12px;
}

#products .category-art img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 300ms ease;
}

#products .category-illustration-card:hover .category-art img {
  transform: scale(1.035);
}

#products .category-index {
  display: block;
  margin-bottom: 8px;
  color: #967023;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.12em;
}

#products .category-illustration-card h3 {
  margin: 0 0 8px;
  color: #071F45;
  font-size: clamp(17px, 1.6vw, 21px);
  line-height: 1.3;
}

#products .category-illustration-card p {
  margin: 0;
  color: #596579;
  font-size: 14px;
  line-height: 1.65;
}

/* The fifth category spans the full row, as in the selected concept. */
#products .category-illustration-card:nth-child(5) {
  display: grid;
  grid-template-columns: minmax(180px, 0.8fr) minmax(0, 1.2fr);
  grid-template-rows: auto auto 1fr;
  column-gap: 24px;
  align-items: start;
  grid-column: 1 / -1;
}

#products .category-illustration-card:nth-child(5) .category-art {
  grid-column: 1;
  grid-row: 1 / 4;
  height: 160px;
  margin: 0;
}

#products .category-illustration-card:nth-child(5) .category-index,
#products .category-illustration-card:nth-child(5) h3,
#products .category-illustration-card:nth-child(5) p {
  grid-column: 2;
}

#products .category-illustration-card:nth-child(5) .category-index {
  grid-row: 1;
}

#products .category-illustration-card:nth-child(5) h3 {
  grid-row: 2;
}

#products .category-illustration-card:nth-child(5) p {
  grid-row: 3;
}

@media (max-width: 680px) {
  #products .category-illustrations {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  #products .category-illustration-card {
    padding: 14px;
    border-radius: 15px;
  }

  #products .category-art {
    height: 175px;
    margin-bottom: 15px;
  }

  #products .category-illustration-card:nth-child(5) {
    display: block;
    grid-column: auto;
  }

  #products .category-illustration-card:nth-child(5) .category-art {
    height: 175px;
    margin-bottom: 15px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #products .category-illustration-card,
  #products .category-art img {
    transition: none;
  }

  #products .category-illustration-card:hover,
  #products .category-illustration-card:hover .category-art img {
    transform: none;
  }
}

/* Distribution market-card spacing on mobile */
@media (max-width: 600px) {
  .market {
    padding: 18px;
  }
}

/* CEDIBITE DISTRIBUTION REAL AFRICA MAP */
.map-section {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: clamp(30px, 5vw, 76px);
  padding: clamp(65px, 8vw, 110px) clamp(22px, 6vw, 90px);
  background: #f8fafc;
}

.map-section .map-copy {
  width: 100%;
  max-width: 620px;
  min-width: 0;
  margin: 0;
}

.map-section .map-copy h2 {
  margin: 14px 0 20px;
  line-height: 1.12;
}

.map-section .map-copy h2 em {
  font-style: normal;
  color: #c88b24;
}

.map-section .map-copy > p {
  line-height: 1.8;
}

.map-section .market-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  margin-top: 28px;
}

.map-section .market-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 5px 14px;
  padding: 17px 20px;
  border: 1px solid #dfe6ef;
  border-radius: 12px;
  background: #fff;
  transition: border-color .2s ease, transform .2s ease;
}

.map-section .market-item.active {
  border-color: #c88b24;
  box-shadow: inset 3px 0 0 #c88b24;
}

.map-section .market-item:hover {
  border-color: #9baec5;
  transform: translateY(-2px);
}

.map-section .market-item strong {
  grid-column: 1;
  color: #071f45;
  font-size: 17px;
}

.map-section .market-item > span:last-child {
  grid-column: 1 / -1;
  color: #65738a;
  font-size: 13px;
  line-height: 1.6;
}

.map-section .market-status {
  grid-column: 1 / -1;
  color: #64748b;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .11em;
}

.map-section .market-item.active .market-status {
  color: #986714;
}

.map-section .africa-art {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  min-width: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 24px;
  background: #071f45;
  box-shadow: 0 24px 60px rgba(7, 31, 69, .15);
}

.map-section .africa-map {
  display: block;
  width: 100%;
  max-width: 700px;
  height: auto;
  object-fit: contain;
}

.map-section .africa-map-caption {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  padding: 15px 20px;
  background: #071f45;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
}

.map-section .africa-map-key {
  display: inline-block;
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  border-radius: 50%;
  background: #f4b942;
}

@media (max-width: 900px) {
  .map-section {
    grid-template-columns: minmax(0, 1fr);
    gap: 36px;
    padding: 80px 6%;
  }

  .map-section .map-copy {
    max-width: 700px;
  }

  .map-section .africa-art {
    width: 100%;
    max-width: 650px;
    margin-inline: auto;
  }
}

@media (max-width: 600px) {
  .map-section {
    padding: 65px 6%;
  }

  .map-section .map-copy h2 {
    font-size: clamp(2rem, 8vw, 2.4rem);
  }

  .map-section .market-item {
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
    padding: 18px;
  }

  .map-section .market-item strong,
  .map-section .market-item > span:last-child,
  .map-section .market-status {
    grid-column: 1;
  }

  .map-section .africa-art {
    border-radius: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .map-section .market-item {
    transition: none;
  }

  .map-section .market-item:hover {
    transform: none;
  }
}

/* CEDIBITE DISTRIBUTION FULL-HEIGHT LAYOUT */
.map-section {
  height: auto;
  min-height: 0;
  align-items: stretch;
}

.map-section .map-copy {
  align-self: center;
}

.map-section .africa-art {
  align-self: stretch;
  min-height: 0;
  grid-template-rows: minmax(0, 1fr) auto;
}

.map-section .africa-map {
  width: 100%;
  height: 100%;
  min-height: 0;
  max-width: 700px;
  object-fit: contain;
}

@media (max-width: 900px) {
  .map-section .africa-art {
    height: auto;
    grid-template-rows: auto auto;
  }

  .map-section .africa-map {
    height: auto;
  }
}
/* END CEDIBITE DISTRIBUTION FULL-HEIGHT LAYOUT */

/* CEDIBITE DISTRIBUTION MAP COMPACT SIZE */
.map-section .africa-art {
  width: 100%;
  max-width: 480px;
  justify-self: center;
  align-self: center;
  height: auto;
  grid-template-rows: auto auto;
  overflow: hidden;
}

.map-section .africa-map {
  display: block;
  width: 100%;
  max-width: 480px;
  height: auto;
  object-fit: contain;
}

@media (max-width: 900px) {
  .map-section .africa-art {
    width: 100%;
    max-width: 480px;
    height: auto;
    margin-inline: auto;
  }

  .map-section .africa-map {
    width: 100%;
    height: auto;
  }
}
/* END CEDIBITE DISTRIBUTION MAP COMPACT SIZE */

/* CEDIBITE PRODUCTS DARK BLUE SECTION */
.products-section {
  background: #071f45;
  color: #ffffff;
}

.products-section .section-head .eyebrow {
  color: #f2b544;
}

.products-section .section-head h2 {
  color: #ffffff;
}

.products-section .section-head p {
  color: #d0d9e8;
}

.products-section .loading {
  display: none;
}
/* END CEDIBITE PRODUCTS DARK BLUE SECTION */

/* =========================================================
   CEDIBITE — PARTNER WITH US
========================================================= */

#partners {
  padding: 100px 5%;

  background: #f4f6f3;
}


/* SECTION HEADING */

#partners .section-head {
  max-width: 720px;

  margin: 0 auto 55px;

  text-align: center;
}


#partners .section-head .eyebrow {
  display: inline-flex;

  margin-bottom: 14px;

  padding: 7px 13px;

  color: var(--gold);

  background: rgba(212, 175, 55, 0.08);

  border: 1px solid rgba(212, 175, 55, 0.30);

  border-radius: 999px;

  font-size: .72rem;

  font-weight: 800;

  letter-spacing: .12em;
}


#partners .section-head h2 {
  margin: 0;

  color: var(--navy);

  font-size: clamp(2rem, 4vw, 3.1rem);

  line-height: 1.1;

  letter-spacing: -.04em;
}


#partners .section-head h2 em {
  color: var(--gold);

  font-style: normal;
}


#partners .section-head p {
  max-width: 600px;

  margin: 18px auto 0;

  color: var(--muted);

  line-height: 1.7;
}


/* =========================================================
   PARTNER GRID
========================================================= */

.partner-grid {
  display: grid;

  grid-template-columns: repeat(2, 1fr);

  gap: 24px;

  max-width: 1050px;

  margin: 0 auto;
}


/* =========================================================
   PARTNER CARD
========================================================= */

.partner-card {
  position: relative;

  display: flex;

  flex-direction: column;

  min-height: 410px;

  padding: 38px;

  overflow: hidden;

  background: var(--white);

  border: 1px solid rgba(212, 175, 55, 0.30);

  border-top: 4px solid var(--gold);

  border-radius: 20px;

  box-shadow:
    0 10px 30px rgba(0, 0, 0, 0.05);

  transition:
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease;
}


/* DECORATIVE CIRCLE */

.partner-card::after {
  content: "";

  position: absolute;

  right: -55px;

  bottom: -55px;

  width: 150px;

  height: 150px;

  border-radius: 50%;

  background: rgba(212, 175, 55, 0.07);

  transition: transform .3s ease;
}


.partner-card:hover {
  transform: translateY(-7px);

  border-color: var(--gold);

  box-shadow:
    0 20px 45px rgba(0, 0, 0, 0.09),
    0 0 0 1px rgba(212, 175, 55, 0.12);
}


.partner-card:hover::after {
  transform: scale(1.3);
}


/* =========================================================
   ICON
========================================================= */

.partner-card .card-icon {
  width: 50px;

  height: 50px;

  display: flex;

  align-items: center;

  justify-content: center;

  margin-bottom: 24px;

  color: var(--navy);

  background: var(--gold);

  border-radius: 14px;

  font-size: 1.35rem;

  font-weight: 800;
}


/* LABEL */

.partner-label {
  margin-bottom: 10px;

  color: var(--gold);

  font-size: .68rem;

  font-weight: 800;

  letter-spacing: .12em;
}


/* TITLE */

.partner-card h3 {
  margin: 0 0 14px;

  color: var(--navy);

  font-size: 1.6rem;

  line-height: 1.25;
}


/* DESCRIPTION */

.partner-card > p {
  margin: 0;

  max-width: 470px;

  color: var(--muted);

  font-size: .94rem;

  line-height: 1.7;
}


/* =========================================================
   PARTNER POINTS
========================================================= */

.partner-points {
  display: flex;

  flex-direction: column;

  gap: 9px;

  margin: 24px 0 28px;

  padding: 0;

  list-style: none;
}


.partner-points li {
  color: var(--navy);

  font-size: .82rem;

  font-weight: 600;
}


/* BUTTON */

.partner-card .btn {
  align-self: flex-start;

  margin-top: auto;

  min-height: 48px;

  padding: 12px 22px;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 800px) {

  #partners {
    padding: 75px 6%;
  }

  .partner-grid {
    grid-template-columns: 1fr;
  }

}


@media (max-width: 600px) {

  .partner-card {
    min-height: auto;

    padding: 30px;
  }

  .partner-card .btn {
    width: 100%;
  }

}
/* CEDIBITE — NAVY PARTNER SECTION */
#partners {
    background: #071f45 !important;
    color: #ffffff;
}

#partners h1,
#partners h2,
#partners > p,
#partners .eyebrow,
#partners .section-eyebrow,
#partners .section-kicker {
    color: #ffffff !important;
}

#partners .partner-card {
    background: #ffffff;
    color: #071f45;
}

#partners .partner-card h1,
#partners .partner-card h2,
#partners .partner-card h3,
#partners .partner-card p,
#partners .partner-card li {
    color: #071f45 !important;
}

#partners .partner-label {
    color: #f2a900 !important;
}

/* CEDIBITE — COMPACT PARTNER CARDS */
#partners .partner-grid {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    gap: 20px;
}

#partners .partner-card {
    padding: 24px;
    border-radius: 12px;
}

#partners .partner-card h3 {
    margin-bottom: 10px;
}

#partners .partner-card p {
    margin-bottom: 12px;
}

#partners .partner-points {
    gap: 8px;
    margin-bottom: 18px;
}

@media (max-width: 800px) {
    #partners .partner-grid {
        max-width: 520px;
        gap: 16px;
    }

    #partners .partner-card {
        padding: 20px;
    }
}

/* CEDIBITE — PARTNER INTRO READABILITY */
#partners > p,
#partners .section-description,
#partners .section-subtitle {
    color: #ffffff !important;
    font-size: 17px;
    line-height: 1.8;
    font-weight: 400;
    opacity: 1;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

/* CEDIBITE — FORCE PARTNER INTRO TEXT TO WHITE */
#partners > p,
#partners .section-description,
#partners .section-subtitle {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
}

/* CEDIBITE — EXACT PARTNER INTRO PARAGRAPH */
#partners .section-inner > p,
#partners .section-content > p,
#partners .section-header > p,
#partners h2 + p {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* CEDIBITE — GOLD PARTNER EYEBROW */
#partners .eyebrow,
#partners .section-eyebrow,
#partners .section-kicker {
    color: #f2a900 !important;
    -webkit-text-fill-color: #f2a900 !important;
    opacity: 1 !important;
}

/* =========================================================
   CEDIBITE — PRODUCT REQUEST
   New Section 7 layout
========================================================= */

.request-section {
  padding: 90px 5%;
  background: var(--navy);
}

.request-section .request-box {
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 60px;
  align-items: center;
  max-width: 1180px;
  margin: 0 auto;
  padding: 55px;
  border: 1px solid rgba(212, 175, 55, .25);
  border-radius: 24px;
}

.request-main .eyebrow {
  display: inline-flex;
  margin-bottom: 18px;
  padding: 8px 14px;
  color: var(--gold);
  background: rgba(212, 175, 55, .12);
  border: 1px solid rgba(212, 175, 55, .35);
  border-radius: 999px;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .12em;
}

.request-main h2 {
  color: #fff;
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.08;
  margin: 0 0 18px;
}

.request-main h2 em {
  color: var(--gold);
  font-style: normal;
}

.request-main p {
  max-width: 580px;
  color: #c7d5e5;
  line-height: 1.8;
}

.request-main .btn {
  margin-top: 14px;
}

.request-side-label {
  display: block;
  margin-bottom: 22px;
  color: var(--gold);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .12em;
}

.request-flow {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.request-flow span {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 17px;
  color: var(--gold);
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(212, 175, 55, .25);
  border-radius: 12px;
  font-size: .75rem;
  font-weight: 800;
}

.request-flow b {
  color: #fff;
  font-size: 1rem;
}

.request-side p {
  margin-top: 20px;
  color: #c7d5e5;
  font-size: .85rem;
  line-height: 1.7;
}

@media (max-width: 760px) {
  .request-section {
    padding: 60px 5%;
  }

  .request-section .request-box {
    grid-template-columns: 1fr;
    gap: 35px;
    padding: 30px 24px;
  }
}

/* =========================================================
   CEDIBITE - RECURRING SUPPLY PORTAL - FINAL SECTION OVERRIDE
========================================================= */

#resources {
  position: relative;
  padding: 100px 5%;
  background:
    radial-gradient(circle at 12% 20%, rgba(242, 169, 0, 0.08), transparent 25%),
    linear-gradient(135deg, #f7f9fc, #f4f6f3);
  overflow: hidden;
}

/* SECTION HEADING */

#resources .section-head {
  max-width: 760px;
  margin: 0 auto 55px;
  text-align: center;
}

#resources .section-head .eyebrow {
  display: inline-flex;
  align-items: center;
  margin-bottom: 15px;
  padding: 7px 13px;
  color: var(--gold);
  background: rgba(242, 169, 0, 0.08);
  border: 1px solid rgba(242, 169, 0, 0.30);
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}

#resources .section-head h2 {
  margin: 0;
  color: var(--navy);
  font-size: clamp(2rem, 4vw, 3.15rem);
  line-height: 1.08;
  letter-spacing: -0.045em;
}

#resources .section-head h2 em {
  color: var(--gold);
  font-style: normal;
}

#resources .section-head p {
  max-width: 650px;
  margin: 18px auto 0;
  color: var(--muted);
  font-size: 0.96rem;
  line-height: 1.7;
}

/* MAIN PORTAL CARD */

#resources .portal-card {
  position: relative;
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 50px;
  max-width: 1120px;
  margin: 0 auto;
  padding: 45px;
  overflow: hidden;
  background:
    radial-gradient(circle at 90% 10%, rgba(242, 169, 0, 0.12), transparent 30%),
    linear-gradient(135deg, #0b2e61, #071f45);
  border: 1px solid rgba(242, 169, 0, 0.28);
  border-radius: var(--radius-xl);
  box-shadow: 0 24px 60px rgba(7, 31, 69, 0.16);
}

#resources .portal-card::after {
  content: "";
  position: absolute;
  right: -110px;
  bottom: -130px;
  width: 310px;
  height: 310px;
  border-radius: 50%;
  background: rgba(242, 169, 0, 0.07);
  pointer-events: none;
}

/* LEFT CONTENT */

#resources .portal-content {
  position: relative;
  z-index: 1;
}

#resources .portal-label {
  margin-bottom: 12px;
  color: var(--gold);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.13em;
}

#resources .portal-content h3 {
  margin: 0 0 14px;
  color: var(--white);
  font-size: clamp(1.7rem, 3vw, 2.15rem);
  line-height: 1.2;
  letter-spacing: -0.035em;
}

#resources .portal-content > p {
  max-width: 580px;
  margin: 0;
  color: rgba(255, 255, 255, 0.67);
  font-size: 0.94rem;
  line-height: 1.75;
}

/* THREE FEATURES */

#resources .portal-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 30px;
}

#resources .portal-feature {
  padding: 17px;
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: var(--radius-md);
  transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

#resources .portal-feature:hover {
  transform: translateY(-3px);
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(242, 169, 0, 0.30);
}

#resources .portal-feature span {
  display: block;
  margin-bottom: 11px;
  color: var(--gold);
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.1em;
}

#resources .portal-feature strong {
  display: block;
  color: var(--white);
  font-size: 0.82rem;
  line-height: 1.35;
}

#resources .portal-feature small {
  display: block;
  margin-top: 7px;
  color: rgba(255, 255, 255, 0.45);
  font-size: 0.68rem;
  line-height: 1.5;
}

/* RIGHT PORTAL PANEL */

#resources .portal-action {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 28px;
  background: rgba(255, 255, 255, 0.055);
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: var(--radius-lg);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

#resources .portal-status {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 18px;
  color: var(--gold);
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.1em;
}

#resources .status-dot {
  width: 7px;
  height: 7px;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 0 5px rgba(242, 169, 0, 0.10);
}

/* SUPPLY PREVIEW */

#resources .portal-mini-card {
  padding: 20px;
  margin-bottom: 18px;
  background: rgba(255, 255, 255, 0.055);
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: var(--radius-md);
}

#resources .portal-mini-card span {
  display: block;
  margin-bottom: 8px;
  color: rgba(255, 255, 255, 0.43);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.1em;
}

#resources .portal-mini-card strong {
  display: block;
  color: var(--white);
  font-size: 1.3rem;
  line-height: 1.2;
}

#resources .portal-mini-card small {
  display: block;
  margin-top: 6px;
  color: var(--gold);
  font-size: 0.72rem;
}

/* PORTAL BUTTON */

#resources .portal-action .btn {
  width: 100%;
  min-height: 50px;
  background: var(--gold);
  color: var(--navy);
  border-color: var(--gold);
  font-weight: 850;
  box-shadow: 0 8px 20px rgba(242, 169, 0, 0.16);
}

#resources .portal-action .btn:hover {
  background: var(--gold-light);
  border-color: var(--gold-light);
  color: var(--navy);
  box-shadow: 0 12px 26px rgba(242, 169, 0, 0.22);
}

#resources .portal-action > p {
  margin: 14px 0 0;
  color: rgba(255, 255, 255, 0.42);
  font-size: 0.7rem;
  line-height: 1.5;
  text-align: center;
}

/* TABLET */

@media (max-width: 900px) {
  #resources {
    padding: 80px 6%;
  }

  #resources .portal-card {
    grid-template-columns: 1fr;
    gap: 35px;
    padding: 38px;
  }
}

/* MOBILE */

@media (max-width: 600px) {
  #resources {
    padding: 68px 6%;
  }

  #resources .section-head {
    margin-bottom: 38px;
  }

  #resources .portal-card {
    padding: 28px 24px;
    border-radius: 18px;
  }

  #resources .portal-content h3 {
    font-size: 1.65rem;
  }

  #resources .portal-features {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  #resources .portal-feature {
    padding: 15px;
  }

  #resources .portal-action {
    padding: 22px;
  }
}

/* SMALL PHONES */

@media (max-width: 420px) {
  #resources {
    padding: 60px 16px;
  }

  #resources .portal-card {
    padding: 24px 18px;
  }
}
/* CEDIBITE - RECURRING PORTAL WHITE TEXT FIX */
#resources .portal-content > p,
#resources .portal-feature small,
#resources .portal-mini-card > span,
#resources .portal-action > p {
  color: #ffffff !important;
}
/* CEDIBITE - RECURRING PORTAL GOLD TEXT FIX */
#resources .portal-content h3,
#resources .portal-feature strong,
#resources .portal-mini-card strong {
  color: #f2a900 !important;
}
/* CEDIBITE - CONTACT CTA HEADING WHITE */
.contact-copy h2,
.contact-copy h2 em {
  color: #ffffff !important;
}
/* CEDIBITE - FORCE CONTACT HEADING WHITE */
#contact h2,
#contact h2 em {
  color: #ffffff !important;
}
/* CEDIBITE - CONTACT CTA HEADING WHITE FIX */
section.contact-cta h2 {
  color: #ffffff !important;
}
/* CEDIBITE - CONTACT CTA BRAND LABEL */
.contact-cta .eyebrow.gold {
  color: #ffbf00 !important;
  font-size: 0.9rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.14em;
}
/* CEDIBITE - CONTACT CTA DESCRIPTION BRIGHT GOLD */
.contact-cta p {
  color: #ffbf00 !important;
}

/* CEDIBITE - NEW MAIN FOOTER DESIGN */

/* PASTE YOUR FULL FOOTER CSS HERE */

/* =========================================================
   CEDIBITE COMMERCE — PROFESSIONAL FOOTER
========================================================= */

#footer {
  position: relative;
  padding: 70px 5% 0;
  background: #041936;
  color: #ffffff;
  overflow: hidden;
}

#footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: #f2a900;
}

#footer .footer-main {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1.15fr;
  gap: 55px;
  max-width: 1180px;
  margin: 0 auto;
  padding-bottom: 55px;
}

#footer .footer-brand {
  max-width: 310px;
}

#footer .footer-logo {
  display: block;
  width: 170px;
  height: auto;
  margin-bottom: 20px;
  filter: none;
  opacity: 1;
}

#footer .footer-brand p {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: .88rem;
  line-height: 1.7;
}

#footer .footer-location {
  display: inline-block;
  margin-top: 18px;
  color: #f2a900;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

#footer .footer-column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

#footer .footer-column > b {
  margin-bottom: 8px;
  color: #f2a900;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

#footer .footer-column a,
#footer .footer-column > span {
  color: rgba(255, 255, 255, 0.68);
  font-size: .84rem;
  line-height: 1.5;
  text-decoration: none;
  transition: color .2s ease, transform .2s ease;
}

#footer .footer-column a:hover {
  color: #f2a900;
  transform: translateX(3px);
}

#footer .footer-contact a {
  display: flex;
  flex-direction: column;
  gap: 3px;
  color: rgba(255, 255, 255, 0.78);
}

#footer .footer-contact a span {
  color: rgba(255, 255, 255, 0.48);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

#footer .footer-contact .footer-region {
  margin-top: 5px;
  color: rgba(255, 255, 255, 0.55);
}

#footer .footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  max-width: 1180px;
  margin: 0 auto;
  padding: 22px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.58);
  font-size: .72rem;
  line-height: 1.5;
}

#footer .footer-bottom span:last-child {
  color: #f2a900;
}

@media (max-width: 900px) {
  #footer {
    padding: 65px 6% 0;
  }

  #footer .footer-main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 45px 35px;
  }
}

@media (max-width: 600px) {
  #footer {
    padding: 60px 6% 0;
  }

  #footer .footer-main {
    grid-template-columns: 1fr;
    gap: 35px;
  }

  #footer .footer-brand {
    max-width: 100%;
  }

  #footer .footer-logo {
    width: 155px;
  }

  #footer .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 20px 0;
  }
}

/* CEDIBITE — REFINED FOOTER LOGO SIZE */
#footer .footer-logo {
  width: 125px;
  max-width: 100%;
  height: auto;
  margin-bottom: 16px;
}

@media (max-width: 600px) {
  #footer .footer-logo {
    width: 115px;
  }
}

/* CEDIBITE — GOLD SECTION BOUNDARIES */
:root {
  --cedibite-gold: #f2a900;
}

main > section + section {
  border-top: 1px solid rgba(242, 169, 0, 0.65);
}

/* Keep the footer's gold top edge consistent */
#footer {
  border-top: 0;
}

#footer::before {
  background: var(--cedibite-gold);
}

/* CEDIBITE — CLEAR, BOLD GOLD SECTION DIVIDERS */
main > section + section {
  border-top: 3px solid #f2a900 !important;
}

/* CEDIBITE — FINAL CLICKABLE NAVIGATION */
.topbar nav[aria-label="Primary navigation"] {
  gap: 10px;
}

.topbar nav[aria-label="Primary navigation"] > a,
.topbar nav[aria-label="Primary navigation"] > button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 14px;
  border: 1.5px solid #f2a900;
  border-radius: 8px;
  background: #ffffff;
  color: #071f45;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.topbar nav[aria-label="Primary navigation"] > #requestNav {
  background: #f2a900;
  border-color: #f2a900;
  color: #071f45;
}

.topbar nav[aria-label="Primary navigation"] > a:hover,
.topbar nav[aria-label="Primary navigation"] > button:hover {
  background: #071f45;
  border-color: #f2a900;
  color: #f2a900;
}

.topbar nav[aria-label="Primary navigation"] > a:focus-visible,
.topbar nav[aria-label="Primary navigation"] > button:focus-visible {
  outline: 3px solid #f2a900;
  outline-offset: 3px;
}
