/* SRID Minimal Site Styles */

:root{
  --srid-font: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  --srid-bg: #f6f4f8;
  --srid-surface: #ffffff;
  --srid-ink: #0f172a;
  --srid-muted: rgba(15,23,42,.72);
  --srid-border: rgba(15,23,42,.10);
  --srid-blue: #0b5cab;
  --srid-blue-2: #084a8b;
  --srid-red: #c53030;
  --srid-soft-red: rgba(197,48,48,.08);
  --srid-soft: rgba(11,92,171,.08);
  --srid-radius: 18px;
  --srid-shadow: 0 12px 34px rgba(0,0,0,.08);
}

/* Reset + base */
*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family: var(--srid-font);
  color: var(--srid-ink);
  background: var(--srid-bg);
  font-size:16px;
  line-height:1.8;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; }
::selection{ background: rgba(11,92,171,.18); }

.container{ max-width:1100px; margin:0 auto; padding:0 16px; }
.srid-wrap{ max-width:980px; margin:0 auto; padding:0 16px; }

/* Top nav */
.srid-topnav{
  position: sticky;
  top: 0;
  z-index: 50;
  background: linear-gradient(90deg, rgba(255,255,255,.92), rgba(246,244,248,.96));
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.srid-topnav__wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:88px;
}

.srid-brand{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
}
.srid-brand__logo{
  width: 110px;
  height: 110px;
  object-fit: contain;
  border-radius: 10px;
}
@media (max-width: 600px){
  .srid-brand__logo{
    width: 84px;
    height: 84px;
  }
}
/* Hidden by default (logo only). Shown if the logo fails to load via inline onerror handler. */
.srid-brand__text{ display:none; font-weight:900; letter-spacing:.02em; font-size:15px; }

.srid-nav{
  display:flex;
  align-items:center;
  gap:6px;
}
.srid-nav a{
  text-decoration:none;
  padding:10px 12px;
  border-radius:999px;
  font-weight:800;
  color: rgba(15,23,42,.82);
  border: 1px solid transparent;
}
.srid-nav a:hover{
  background: linear-gradient(135deg, rgba(11,92,171,.08), rgba(197,48,48,.10));
  border-color: rgba(197,48,48,.28);
}
.srid-nav a.is-active{
  color: var(--srid-ink);
  background: linear-gradient(135deg, rgba(11,92,171,.12), rgba(197,48,48,.18));
  border-color: rgba(197,48,48,.55);
}
.srid-nav a.nav-cta{
  background: linear-gradient(135deg, rgba(197,48,48,.12), rgba(11,92,171,.16));
  border-color: rgba(197,48,48,.55);
  color: rgba(15,23,42,.96);
}
.srid-nav a.nav-cta:hover{
  background: linear-gradient(135deg, rgba(197,48,48,.18), rgba(11,92,171,.22));
  border-color: rgba(197,48,48,.70);
}

/* Mobile menu */
.srid-menu-btn{
  display:none;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  border-radius:999px;
  padding:10px 12px;
  font-weight:900;
  cursor:pointer;
}
.srid-menu-btn:active{ transform: translateY(1px); }

@media (max-width: 900px){
  .srid-menu-btn{ display:inline-flex; align-items:center; gap:8px; }
  .srid-nav{
    position: fixed;
    inset: 64px 12px auto 12px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:8px;
    padding:12px;
    background:#fff;
    border:1px solid rgba(0,0,0,.08);
    border-radius:16px;
    box-shadow: 0 16px 46px rgba(0,0,0,.12);
  }
  .srid-nav.is-open{ display:flex; }
  .srid-nav a{ text-align:center; }
}

/* Main section */
.srid-site{
  padding: 64px 0;
  background:
    radial-gradient(1100px 520px at 55% -10%, rgba(11,92,171,.18), transparent 58%),
    radial-gradient(900px 520px at 10% 20%, rgba(197,48,48,.10), transparent 60%),
    linear-gradient(180deg, #faf7ff 0%, var(--srid-bg) 100%);
}

/* Hero */
.srid-hero{ text-align:center; margin-bottom:18px; }
.srid-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 14px;
  border-radius:999px;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color: var(--srid-muted);
  background: linear-gradient(135deg, var(--srid-soft-red) 0%, var(--srid-soft) 100%);
  border:1px solid rgba(197,48,48,.35);
}
.srid-h1{
  margin:12px 0 10px;
  font-size:clamp(34px,4vw,54px);
  line-height:1.06;
  letter-spacing:-0.02em;
  font-weight:800;
}
.srid-lead{
  margin:0 auto;
  max-width:880px;
  font-size:18px;
  line-height:1.95;
  color: var(--srid-muted);
}
.srid-highlight{
  background: linear-gradient(180deg, rgba(11,92,171,.12), rgba(197,48,48,.14));
  box-shadow: inset 0 -0.45em 0 rgba(197,48,48,.18);
  border-radius: 10px;
  padding: 0 .18em;
}

/* Buttons */
.srid-actions{ display:flex; gap:12px; flex-wrap:wrap; margin-top:14px; }
.center-actions{ justify-content:center; }
.srid-btn{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  padding:12px 16px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  font-weight:900;
  line-height:1;
  text-decoration:none !important;
}
.srid-btn:focus-visible, .srid-nav a:focus-visible, .srid-menu-btn:focus-visible, details summary:focus-visible{
  outline: 3px solid rgba(11,92,171,.28);
  outline-offset: 2px;
}
.srid-btn--primary{
  background: linear-gradient(135deg, var(--srid-blue) 0%, var(--srid-red) 100%);
  color:#fff !important;
  border-color: rgba(11,92,171,.35);
  box-shadow: 0 14px 30px rgba(197,48,48,.22);
}
.srid-btn--ghost{ background: rgba(255,255,255,.95); color: var(--srid-ink) !important; }

/* Cards */
.srid-card{
  background: var(--srid-surface);
  border:1px solid rgba(0,0,0,.06);
  border-radius: var(--srid-radius);
  padding:22px;
  box-shadow: var(--srid-shadow);
}
.srid-card h2{ margin:0 0 10px; font-size:20px; }
.srid-card h3{ margin:0 0 10px; font-size:18px; }
.srid-text{ margin:0 0 14px; font-size:16px; line-height:1.9; color: var(--srid-muted); }
.srid-divider{ border:0; height:1px; background: rgba(0,0,0,.08); margin:18px 0; }

/* Layout helpers */
.srid-home-stack{ display:grid; gap: 18px; }
.srid-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap:18px;
  margin-top:18px;
  align-items:start;
}

/* Featured wide (Home) */
.srid-feature-wide{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 0;
  border-radius: var(--srid-radius);
  overflow:hidden;
  border:1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.95);
  box-shadow: var(--srid-shadow);
}
@media (max-width: 900px){
  .srid-feature-wide{ grid-template-columns: 1fr; }
}
.srid-feature-wide__media{
  min-height: 260px;
  background: radial-gradient(900px 360px at 30% 0%, rgba(11,92,171,.26), transparent 60%);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #f5f7fb; /* subtle neutral background to match page */
}
.srid-feature-wide__body{ padding: 18px; }

/* Chips */
.srid-chip{
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(197,48,48,.45);
  background: linear-gradient(135deg, rgba(197,48,48,.14), rgba(11,92,171,.10));
  font-size:13px;
  color: rgba(15,23,42,.90);
  font-weight:700;
}

/* Partner Network */
.srid-benefits{ display:flex; flex-wrap:wrap; gap:10px; margin-top:10px; }
.srid-benefit{
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(197,48,48,.35);
  background: linear-gradient(135deg, rgba(197,48,48,.10), rgba(11,92,171,.05));
  color: rgba(15,23,42,.90);
  font-weight:700;
  font-size:13px;
}

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

.srid-partnercard{
  display:flex;
  gap:14px;
  align-items:center;
  padding:16px;
  border-radius:16px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  text-decoration:none;
}
.srid-partnercard:hover{ border-color: rgba(11,92,171,.22); box-shadow: 0 12px 28px rgba(0,0,0,.08); }

.srid-logo{
  width:56px;
  height:56px;
  flex:0 0 56px;
  border-radius:14px;
  border:1px solid rgba(11,92,171,.14);
  background: rgba(11,92,171,.06);
  display:grid;
  place-items:center;
  overflow:hidden;
  color: var(--srid-blue);
}
.srid-logo img{ max-width:80%; max-height:80%; object-fit:contain; }
.srid-initials{ font-weight:900; letter-spacing:.06em; font-size:13px; text-transform:uppercase; }
.srid-partner-name{ font-weight:900; margin-bottom:4px; }
.srid-partner-meta{ color: var(--srid-muted); font-size:13px; }

/* Services */
.srid-services-grid{
  display:grid;
  grid-template-columns: minmax(0, 1fr);
  max-width: 960px;
  margin: 18px auto 0;
  gap:18px;
  align-items:start;
}
@media (max-width: 900px){
  .srid-services-grid{
    grid-template-columns: minmax(0, 1fr);
    max-width: 100%;
    margin-top:16px;
  }
}
.srid-service-card{
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: var(--srid-radius);
  padding: 22px;
  box-shadow: var(--srid-shadow);
}
.srid-service-card h2{
  margin: 0 0 10px;
  font-size: 24px;
  font-weight: 900;
  letter-spacing: -0.02em;
}
.srid-service-card p{ margin: 0 0 14px; color: var(--srid-muted); line-height: 1.9; }

.srid-cleanlist{ list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.srid-cleanitem{ display:flex; gap:10px; align-items:flex-start; color: var(--srid-muted); line-height:1.85; font-size:15px; }
.srid-bullet{
  width:22px; height:22px;
  border-radius:999px;
  border:1px solid rgba(197,48,48,.45);
  background: rgba(197,48,48,.10);
  display:grid; place-items:center;
  color: var(--srid-red);
  flex:0 0 22px;
  margin-top:2px;
  font-weight:900;
}

.srid-sectionhead{ padding-bottom:10px; margin: 0 0 12px; border-bottom:1px solid rgba(197,48,48,.25); }
.srid-sectionhead__kicker{
  margin:0;
  font-size:14px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color: rgba(197,48,48,.90);
}
.srid-subhead{ margin: 16px 0 10px; font-size:14px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; color: rgba(15,23,42,.62); }

/* Event pages */
.srid-eventmeta{ display:flex; flex-wrap:wrap; gap:10px; margin-top:10px; justify-content:center; }
@media (max-width: 900px){ .srid-eventmeta{ justify-content:flex-start; } }

.srid-kicker{ margin: 0 0 12px; padding-bottom: 10px; border-bottom: 1px solid rgba(0,0,0,.08); }
.srid-kicker__title{
  margin:0;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(197,48,48,.90);
}
.srid-kicker--lg .srid-kicker__title{ font-size: 18px; }
.srid-kicker--md .srid-kicker__title{ font-size: 15px; }

.srid-eventgrid{ display:grid; grid-template-columns: 1.25fr .75fr; gap:14px; align-items:start; margin-top:14px; }
@media (max-width: 900px){ .srid-eventgrid{ grid-template-columns: 1fr; } }

.srid-aside{
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.76);
  border-radius: var(--srid-radius);
  padding: 16px;
}
.srid-aside__head{ padding-bottom: 10px; margin: 0 0 12px; border-bottom: 1px solid rgba(0,0,0,.08); }
.srid-aside__title{ margin:0; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; color: rgba(15,23,42,.70); font-size: 13px; }
.srid-aside__dl{ margin:0; display:grid; gap:12px; }
.srid-aside__dl dt{ font-weight: 800; margin:0; }
.srid-aside__dl dd{ margin:4px 0 0; color: var(--srid-muted); line-height:1.7; }

/* Upcoming events card */
.srid-eventcard{
  display:grid;
  grid-template-columns: 220px 1fr;
  gap:14px;
  border:1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  padding:14px;
  background:#fff;
  cursor:pointer;
}
.srid-eventcard__media{
  border-radius: 14px;
  background-image: linear-gradient(135deg, rgba(11,92,171,.22), rgba(0,0,0,.06)), var(--event-banner);
  background-size: cover;
  background-position:center;
  min-height: 150px;
}
.srid-eventcard__title{ margin: 6px 0 10px; font-size: 18px; }
.srid-eventcard__meta{ display:flex; flex-wrap:wrap; gap:10px; margin: 8px 0 10px; }
.srid-eventcard__text{ margin:0; color: var(--srid-muted); line-height:1.85; }
@media (max-width: 900px){
  .srid-eventcard{ grid-template-columns: 1fr; }
  .srid-eventcard__media{ min-height: 180px; }
}

/* Contact page list cards */
.srid-partnergrid{ display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 900px){ .srid-partnergrid{ grid-template-columns: 1fr; } }

.srid-partner{
  display:flex;
  gap:14px;
  align-items:center;
  padding:16px;
  border-radius:16px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
}
.srid-partner-logo{
  width:52px; height:52px; flex:0 0 52px;
  border-radius:14px;
  border:1px solid rgba(11,92,171,.14);
  background: rgba(11,92,171,.06);
  display:grid; place-items:center;
  color: var(--srid-blue);
}
.srid-partner-initials{ font-weight: 900; letter-spacing:.06em; font-size: 14px; }
.srid-partner-name{ font-weight: 900; margin-bottom: 4px; }
.srid-partner-meta{ color: var(--srid-muted); font-size: 13px; }
.srid-clickbox{ text-decoration:none; }
.srid-clickbox:hover{ border-color: rgba(11,92,171,.22); box-shadow: 0 12px 28px rgba(0,0,0,.08); }

/* Footer */
.srid-footer{
  margin-top: 24px;
  padding: 28px 0;
  border-top: 1px solid rgba(0,0,0,.06);
  background:#fff;
}
.srid-footer__wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.srid-footer small{ color: rgba(15,23,42,.70); }
.srid-footer a{
  text-decoration:none;
  font-weight:800;
  color: var(--srid-red);
}
.srid-footer a:hover{ text-decoration:underline; }
