body{font-family:system-ui,Segoe UI,Roboto,Arial;margin:0;background:#0b0d10;color:#e8edf2;line-height:1.4}
.container{max-width:1200px;margin:0 auto;padding:0 1rem}
.site-header,.site-footer{padding:1rem;text-align:center;background:#11161b}
.controls{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;padding:1rem;justify-content:center}
.filter-controls{display:flex;gap:.5rem;flex-wrap:wrap}
.search-control{width:100%;max-width:300px}
.chip{background:#202834;color:#fff;border:1px solid #2b3644;border-radius:999px;padding:.4rem .8rem;cursor:pointer;white-space:nowrap}
.chip.is-active{background:#56b6f7;color:#06131f;border-color:transparent}
#search{width:100%;padding:.5rem;border-radius:8px;border:1px solid #233241;background:#151b22;color:#e8edf2;box-sizing:border-box}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;padding:1rem}
.card{background:#151b22;border:1px solid #233241;border-radius:12px;overflow:hidden}
.card a{display:grid;grid-template-rows:140px auto;color:inherit;text-decoration:none}
.logo-wrap{display:grid;place-items:center;background:#0f151c}
.logo-wrap img{width:96px;height:96px;object-fit:contain}
.meta{padding:.75rem}.name{margin:0 0 .25rem;font-weight:700}.industry{margin:0;color:#a0acb8}
/* --- Partner badge --- */
.card{position:relative}
.partner-badge{
  position:absolute; top:8px; left:8px;
  background:#56b6f7; color:#06131f;
  font-weight:800; font-size:.75rem; letter-spacing:.2px;
  padding:.25rem .5rem; border-radius:999px;
  box-shadow:0 2px 8px rgba(0,0,0,.25);
}


/* Partner badge */
.card{position:relative}
.partner-badge{
  position:absolute;
  top:8px; left:8px;
  padding:.25rem .5rem;
  background:#56b6f7;
  color:#06131f;
  font-weight:800;
  font-size:.8rem;
  border-radius:999px;
  box-shadow:0 4px 14px rgba(0,0,0,.35);
  border:1px solid #0f1a22;
}


.card a.card-link{display:grid;grid-template-rows:160px auto;color:inherit;text-decoration:none}
.logo-wrap{display:grid;place-items:center;background:#0f151c}
.logo-wrap img{width:100%;height:100%;object-fit:cover;border-bottom:1px solid #233241}

/* Partner card text styles */
.meta .partner-name{margin:.1rem 0 .2rem; font-weight:800; font-size:1.05rem}
.meta .partner-note{margin:.35rem 0 0; color:#c7d2dc; font-size:.92rem; line-height:1.35}

/* === Hero (header) styles using user's content === */
.hero{position:relative; isolation:isolate; overflow:hidden; border-bottom:1px solid #1f2a34}
.hero-bg{width:100%; height:320px; object-fit:cover; display:block; filter: saturate(0.95) brightness(0.8)}
.hero-overlay{position:absolute; inset:0; background:radial-gradient(1000px 280px at 20% 0%, rgba(11,13,16,0.6), transparent 60%), linear-gradient(180deg, rgba(11,13,16,0.65) 0%, rgba(11,13,16,0.2) 100%)}
.hero-inner{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:1.5rem 1rem; text-align:center}
.hero-title{margin:0 0 .25rem 0; font-size:1.75rem; width:100%}
.hero .handshake{font-size:1.4rem}
.breadcrumb{color:#a0acb8; font-size:.95rem; width:100%}
.breadcrumb span{padding:0 .4rem}
/* Welcome section */
.welcome-area{border-bottom:1px dashed #223042; background:transparent}
.welcome-inner{padding:1.25rem 1rem 1rem}
.welcome-tag{margin:.25rem 0 .5rem; text-align:center}
.welcome-text{margin:.25rem auto 0; max-width:900px; text-align:center; color:#c7d2dc; line-height:1.6}

/* Enhanced mobile responsiveness */
@media (max-width:768px){
  .hero-bg{height:240px}
  .hero-title{font-size:1.4rem}
  .hero-inner{padding:1rem}
  .welcome-inner{padding:1rem 0.75rem}
  .welcome-text{font-size:0.95rem}
  .controls{flex-direction:column;gap:0.75rem;padding:0.75rem}
  .filter-controls{justify-content:center}
  .search-control{max-width:100%}
  .card-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));padding:0.75rem;gap:0.75rem}
  .container{padding:0 0.75rem}
}

@media (max-width:520px){
  .hero-bg{height:200px}
  .hero-title{font-size:1.2rem;line-height:1.3}
  .hero-inner{padding:0.75rem 0.5rem}
  .welcome-inner{padding:0.75rem 0.5rem}
  .welcome-text{font-size:0.9rem}
  .controls{padding:0.5rem}
  .chip{padding:0.35rem 0.7rem;font-size:0.9rem}
  .card-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));padding:0.5rem;gap:0.5rem}
  .card .meta{padding:0.6rem}
  .card .name{font-size:0.9rem}
  .card .industry{font-size:0.8rem}
  .container{padding:0 0.5rem}
  .partner-actions{flex-direction:column;gap:0.5rem}
  .btn{width:100%;text-align:center}
}

/* Become a Partner section */
.become-partner{border-top:1px solid #162028;background:linear-gradient(180deg, #071017 0%, #061018 100%);padding:2rem 0}
.partner-inner{max-width:900px;margin:0 auto;text-align:center;padding:0 1rem}
.partner-title{color:#e8f6ff;margin:0 0 .5rem;font-size:1.5rem}
.partner-count{color:#a0acb8;margin:0 0 1rem;font-size:0.95rem}
.partner-description{color:#c7d2dc;margin:0 auto 1rem;max-width:760px;line-height:1.6}
.partner-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin-bottom:.75rem}
.btn{display:inline-block;padding:.6rem 1rem;border-radius:10px;text-decoration:none;font-weight:700;transition:all 0.2s ease}
.btn-primary{background:#56b6f7;color:#06131f;border:1px solid #4aa6e0}
.btn-primary:hover{background:#4aa6e0}
.btn-outline{background:transparent;color:#e8edf2;border:1px solid #2b3644}
.btn-outline:hover{background:#2b3644}
.partner-note{color:#9fb0bd;font-size:.92rem;line-height:1.5}

/* === Contact page specific styles === */
.contact-page{padding:2rem 1rem 3.5rem;}
.contact-intro h2{font-size:1.6rem;margin:.25rem 0 .5rem;color:#ffffff}
.contact-intro p{color:#c7d2dc;max-width:880px;line-height:1.6}

.contact-grid{display:grid;grid-template-columns:1fr 320px;gap:2rem;align-items:start;margin-top:1.25rem}

.contact-form{background:transparent;padding:0;margin:0}
.contact-form label{display:block;margin:.45rem 0 .25rem;font-weight:700;color:#e8edf2}
.contact-form input[type="text"], .contact-form input[type="email"], .contact-form textarea{
  width:100%;padding:.6rem .7rem;border-radius:8px;border:1px solid #233241;background:#0f1416;color:#e8edf2;box-sizing:border-box;font-size:1rem;transition:border-color 0.2s ease
}
.contact-form textarea{min-height:150px;resize:vertical}

.form-actions{display:flex;gap:.75rem;align-items:center;margin-top:.75rem}
.form-actions .btn{padding:.6rem 1rem}

.contact-details{color:#c7d2dc}
.contact-details h3{margin-top:0;color:#e8f6ff}
.contact-details a{color:#56b6f7;text-decoration:none}
.contact-details a:hover{text-decoration:underline}

/* Enhanced mobile responsiveness for contact page */
@media (max-width:900px){
  .contact-grid{grid-template-columns:1fr;gap:1.5rem}
  .contact-page{padding:1.5rem 0.75rem 2.5rem}
}

@media (max-width:600px){
  .contact-page{padding:1rem 0.5rem 2rem}
  .contact-intro h2{font-size:1.4rem}
  .contact-intro p{font-size:0.95rem}
  .contact-form input[type="text"], .contact-form input[type="email"], .contact-form textarea{
    font-size:16px; /* Prevents zoom on iOS */
  }
  .form-actions{flex-direction:column;align-items:stretch;gap:0.5rem}
  .form-actions .btn{width:100%;text-align:center;padding:0.7rem 1rem}
}

/* Small niceties for focus states */
.contact-form input:focus,.contact-form textarea:focus{outline:none;box-shadow:0 0 0 3px rgba(86,182,247,0.12);border-color:#56b6f7}

/* Additional mobile utilities */
.text-center{text-align:center}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* Improve touch targets on mobile */
@media (max-width:768px){
  .btn, .chip, button, input, textarea{
    min-height:44px;
    touch-action:manipulation;
  }
  
  /* Prevent zoom on input focus for iOS */
  input[type="text"], input[type="email"], input[type="search"], textarea{
    font-size:16px;
  }
  
  /* Improve readability */
  body{
    -webkit-text-size-adjust:100%;
    -moz-text-size-adjust:100%;
    -ms-text-size-adjust:100%;
    text-size-adjust:100%;
  }
}

/* High contrast mode support */
@media (prefers-contrast: high){
  .btn-primary{border-width:2px}
  .btn-outline{border-width:2px}
  .card{border-width:2px}
}