:root{
  --sc-navy:#0b2d5c;
  --sc-blue:#1f6feb;
  --sc-sky:#66b3ff;
  --sc-bg:#f6f8fb;
  --sc-muted:#6b7280;
  --sc-border:#e5e7eb;
}

html { font-size: 16px; }
body{
  margin-bottom:60px;
  background: var(--sc-bg);
  color:#0f172a;
}

/* Make Bootstrap forms look premium + consistent across site & admin */
.form-label {
    font-weight: 600;
    color: #000 !important; /* color: var(--sc-navy); */
}
.form-control,.form-select{
  border-radius: 12px;
  border:1px solid var(--sc-border);
  padding:.70rem .85rem;
}
.form-control:focus,.form-select:focus{
  border-color: rgba(31,111,235,.45);
  box-shadow: 0 0 0 .25rem rgba(31,111,235,.12);
}
.form-text{ color: var(--sc-muted); }

a { text-decoration:none; }
a:hover { text-decoration:underline; }

.navbar.sc-navbar{
  background: rgba(255,255,255,.9) !important;
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--sc-border);
}

.sc-brand{
  display:flex;
  align-items:center;
  gap:.6rem;
  font-weight:700;
  letter-spacing:.2px;
  color:var(--sc-navy) !important;
}
.sc-badge{
  width:34px;height:34px;
  border-radius:10px;
  display:grid;place-items:center;
  color:white;
  background: linear-gradient(135deg,var(--sc-navy),var(--sc-blue));
  font-size:.95rem;
}

.sc-btn-primary{
  background: linear-gradient(135deg,var(--sc-blue),var(--sc-navy));
  border:0;
}
.sc-btn-primary:hover{ filter:brightness(.95); }

.sc-btn-outline{
  border:1px solid rgba(31,111,235,.25);
  color:var(--sc-navy);
  background:white;
}
.sc-btn-outline:hover{
  background:rgba(31,111,235,.06);
}

.sc-hero{
  border-radius: 22px;
  overflow:hidden;
  background:
    radial-gradient(1200px 500px at 20% 20%, rgba(102,179,255,.35), transparent 60%),
    radial-gradient(900px 400px at 80% 30%, rgba(31,111,235,.28), transparent 55%),
    linear-gradient(135deg, rgba(11,45,92,.96), rgba(31,111,235,.72));
  color:white;
  position:relative;
}
.sc-hero::after{
  content:"";
  position:absolute; inset:0;
  /* local, always-available pattern (no external image dependency) */
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='600'%3E%3Cdefs%3E%3CradialGradient id='g' cx='35%25' cy='30%25' r='70%25'%3E%3Cstop offset='0%25' stop-color='%2366b3ff' stop-opacity='.55'/%3E%3Cstop offset='60%25' stop-color='%231f6feb' stop-opacity='.15'/%3E%3Cstop offset='100%25' stop-color='%230b2d5c' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Crect width='100%25' height='100%25' fill='url(%23g)'/%3E%3Cg fill='%23ffffff' fill-opacity='.08'%3E%3Ccircle cx='120' cy='100' r='3'/%3E%3Ccircle cx='260' cy='140' r='2'/%3E%3Ccircle cx='420' cy='90' r='2'/%3E%3Ccircle cx='560' cy='160' r='3'/%3E%3Ccircle cx='720' cy='120' r='2'/%3E%3Ccircle cx='820' cy='200' r='3'/%3E%3Ccircle cx='160' cy='260' r='2'/%3E%3Ccircle cx='320' cy='300' r='3'/%3E%3Ccircle cx='520' cy='260' r='2'/%3E%3Ccircle cx='700' cy='320' r='3'/%3E%3Ccircle cx='840' cy='360' r='2'/%3E%3C/g%3E%3C/svg%3E");
  background-size: cover;
  background-position: center;
  opacity: .35;
  pointer-events:none;
}

.sc-hero-inner{
  position:relative;
  padding: 52px 28px;
}
@media (min-width:992px){
  .sc-hero-inner{ padding:72px 56px; }
}

.sc-kicker{ color: rgba(255,255,255,.85); font-weight:600; letter-spacing:.4px; }
.sc-hero h1{ font-weight:800; letter-spacing:-.5px; }
.sc-hero p{ color: rgba(255,255,255,.88); max-width: 54ch; }

.sc-section{ padding: 26px 0; }
.sc-card{
  border:1px solid var(--sc-border);
  border-radius:18px;
  background:white;
  box-shadow: 0 10px 28px rgba(2,6,23,.06);
}
.sc-card .card-body{ padding: 22px; }
.sc-icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: rgba(31,111,235,.10);
    color: #000 !important;
    /*color: var(--sc-navy);*/
    font-weight: 800;
}

.sc-muted{ color: var(--sc-muted); }

.sc-pill{
  display:inline-flex; gap:.4rem; align-items:center;
  border:1px solid rgba(255,255,255,.25);
  border-radius:999px;
  padding:.35rem .7rem;
  color: rgba(255,255,255,.92);
  background: rgba(255,255,255,.08);
}

.sc-form-card{
  border:1px solid var(--sc-border);
  border-radius:18px;
  background:white;
  box-shadow: 0 10px 28px rgba(2,6,23,.06);
}
.sc-form-card .card-body{ padding: 26px; }

/* Icon bullets (no external icon library required) */
.sc-list{ list-style:none; padding-left:0; }
.sc-list li{
  position:relative;
  padding-left:1.65rem;
  margin-bottom:.45rem;
  color:black;
}
.sc-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.30rem;
  width:1.1rem;
  height:1.1rem;
  background-repeat:no-repeat;
  background-size:contain;
  /* check-circle icon as inline SVG */
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%231f6feb' d='M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.53 5.47a.75.75 0 0 1 0 1.06L7.5 10.56a.75.75 0 0 1-1.06 0L4.47 8.59a.75.75 0 1 1 1.06-1.06L7 9l3.47-3.53a.75.75 0 0 1 1.06 0z'/%3E%3C/svg%3E");
}

/* Carousel polish */
.sc-carousel .carousel-item{
  border-radius:18px;
  overflow:hidden;
}
.sc-carousel .carousel-caption{
  text-align:left;
  left: 7%;
  right: 7%;
  bottom: 12%;
}
.sc-carousel .carousel-caption h3{ font-weight:800; }
.sc-carousel .carousel-caption p{ color: rgba(255,255,255,.9); max-width: 62ch; }


/* =========================================================
   SantaCruz — World-class Admin UI (Tables + Buttons)
   ========================================================= */

/* Buttons: keep everything uniform (public + admin) */
.btn{
  border-radius: 14px;
  font-weight: 600;
  padding: .55rem .95rem;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .06);
  border-width: 1px;
}
.btn:focus{ box-shadow: 0 0 0 .25rem rgba(31,111,235,.18) !important; }

.btn-primary{
  background: linear-gradient(135deg, var(--sc-navy), var(--sc-blue));
  border-color: rgba(31,111,235,.25);
}
.btn-primary:hover{
  filter: brightness(0.98);
  transform: translateY(-1px);
}
.btn-outline-primary{
  color: var(--sc-navy);
  border-color: rgba(11,45,92,.35);
  background: #fff;
}
.btn-outline-primary:hover{
  background: rgba(31,111,235,.10);
  color: var(--sc-navy);
  border-color: rgba(31,111,235,.35);
}
.btn-secondary{
  background: #fff;
  color: var(--sc-navy);
  border-color: var(--sc-border);
}
.btn-secondary:hover{ background: #f9fbff; }
.btn-success{
  background: linear-gradient(135deg, #0b6b3a, #15a05c);
  border-color: rgba(21,160,92,.25);
}
.btn-danger{
  background: linear-gradient(135deg, #9b1c1c, #e11d48);
  border-color: rgba(225,29,72,.25);
}
.btn-sm{
  border-radius: 12px;
  padding: .40rem .70rem;
  font-size: .875rem;
}

/* ===== Admin Tables ===== */
.sc-table-card{
  background:#fff;
  border:1px solid var(--sc-border);
  border-radius:16px;
  box-shadow:0 8px 24px rgba(18, 32, 51, .06);
  overflow:hidden;
}
.sc-table-header{
  background:linear-gradient(180deg, rgba(102,179,255,.18), #fff);
  border-bottom:1px solid var(--sc-border);
  padding:14px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.sc-table-title{
  margin:0;
  font-weight:800;
  color:var(--sc-navy);
  letter-spacing:.2px;
}
.sc-table-subtitle{
  margin:2px 0 0;
  color: var(--sc-muted);
  font-size:.92rem;
}
.sc-table-toolbar{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}
.sc-table-wrap{
  width:100%;
  overflow:auto;
}

table.sc-table{
  width:100%;
  margin:0;
  border-collapse:separate;
  border-spacing:0;
  color:#0f172a;
}
table.sc-table thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:#fff;
  border-bottom:1px solid var(--sc-border);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color: var(--sc-muted);
  padding:12px 14px;
  white-space:nowrap;
}
table.sc-table tbody td{
  border-bottom:1px solid var(--sc-border);
  padding:12px 14px;
  vertical-align:middle;
  white-space:nowrap;
}
table.sc-table tbody tr:hover{ background:#FBFCFF; }

.sc-row-actions{
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}

/* Badge pills */
.sc-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  font-weight:700;
  font-size:.82rem;
  border:1px solid var(--sc-border);
  background:#fff;
}
.sc-badge--blue{ background:rgba(31,111,235,.10); border-color:rgba(31,111,235,.25); color:var(--sc-navy); }
.sc-badge--green{ background:#E9FBF0; border-color:#BFEBD1; color:#0B6B3A; }
.sc-badge--amber{ background:#FFF6E6; border-color:#FFE0A8; color:#8A5A00; }
.sc-badge--red{ background:#FFECEC; border-color:#FFC3C3; color:#9B1C1C; }

/* Make legacy bootstrap tables look nicer even if a view still uses .table */
.table-responsive{ border-radius:16px; }
.table{
  border-collapse:separate;
  border-spacing:0;
}
.table thead th{
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.78rem;
  color: var(--sc-muted);
}
.table td, .table th{ padding:12px 14px; }

/* ============================
   Public Website Polish (Home / About / Careers)
   - CSS only
   - Does NOT affect Admin pages
   ============================ */

/* HOME: hero typography + spacing (scoped to .sc-hero which only exists on Home) */
.sc-hero h1{
  font-weight:800;
  letter-spacing:-0.02em;
  line-height:1.08;
}
.sc-hero .sc-kicker{
  font-weight:600;
  letter-spacing:0.02em;
  opacity:.95;
}
.sc-hero .sc-pill{
  border:1px solid rgba(255,255,255,.35);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

/* HOME: carousel readability + centered text (scoped to .sc-carousel) */
.sc-carousel .carousel-caption{
  text-align:center !important;
}
.sc-carousel .carousel-caption h3{
  font-weight:800;
  letter-spacing:-0.01em;
}
.sc-carousel .carousel-caption p{
  max-width: 900px;
  margin-left:auto;
  margin-right:auto;
  text-align:center !important;
  opacity:.95;
}

/* ABOUT: make the first intro card feel premium (very targeted selector)
   About page starts with .sc-card.mb-3 directly under main.
   Admin pages typically start with container-fluid; this selector avoids them.
*/
.container{
max-width: 1520px;
}
.container > main > .sc-card.mb-3:first-child{
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(31,111,235,.18);
  box-shadow:0 14px 34px rgba(11,45,92,.10);
}
.container > main > .sc-card.mb-3:first-child > .card-body{
  background: linear-gradient(135deg, rgba(11,45,92,.96) 0%, rgba(31,111,235,.58) 55%, rgba(102,179,255,.16) 100%);
  color:#fff;
}
.container > main > .sc-card.mb-3:first-child > .card-body .sc-muted,
.container > main > .sc-card.mb-3:first-child > .card-body h6{
  color: rgba(255,255,255,.88);
}
.container > main > .sc-card.mb-3:first-child > .card-body h3,
.container > main > .sc-card.mb-3:first-child > .card-body h4{
  color:#fff;
  font-weight:800;
  letter-spacing:-0.01em;
}

/* ABOUT: section cards only on About (pt-0 is used there) */
section.sc-section.pt-0 .sc-card,
section.sc-section.pt-0 + section.sc-section .sc-card{
  border-radius:18px;
  border:1px solid rgba(31,111,235,.16);
  box-shadow:0 12px 30px rgba(11,45,92,.08);
  overflow:hidden;
}
section.sc-section.pt-0 .sc-card > .card-body,
section.sc-section.pt-0 + section.sc-section .sc-card > .card-body{
  background: linear-gradient(135deg, rgba(31,111,235,.08) 0%, rgba(102,179,255,.04) 55%, rgba(255,255,255,1) 100%);
}

/* CAREERS: polish headings + cards inside the Careers wrapper
   Careers page uses .container.py-4 and contains #applyCollapse.
   This keeps Admin unaffected.
*/
.container.py-4:has(#applyCollapse) h4,
.container.py-4:has(#applyCollapse) h5 {
    font-weight: 800;
    letter-spacing: -0.01em;
    color: #000 !important;
}
.container.py-4:has(#applyCollapse) .sc-card{
  border-radius:18px;
  border:1px solid rgba(31,111,235,.16);
  box-shadow:0 12px 30px rgba(11,45,92,.08);
  overflow:hidden;
}
.container.py-4:has(#applyCollapse) .sc-card > .card-body{
  background: linear-gradient(135deg, rgba(31,111,235,.06) 0%, rgba(102,179,255,.03) 55%, rgba(255,255,255,1) 100%);
}

/* Careers form labels: slightly stronger hierarchy (scoped to apply form only) */
#applyForm .form-label{
  font-weight:600;
}

/* Uniform required star color (yellow) without affecting validation messages */
.form-label .text-danger{
  color:#f1c40f !important;
  font-weight:800;
}

/* Small, consistent section heading rhythm across public pages (scoped to sc-section only) */
.sc-section h3, .sc-section h4{
  font-weight:800;
  letter-spacing:-0.01em;
}

/* ===========================
   ABOUT TOP CARD POLISH
   (no markup changes required)
   =========================== */

/* Target the About page top card (h3 + h4 inside first sc-card.mb-3) */
main .sc-card.mb-3:has(h3):has(h4) {
    border: 1px solid rgba(31,111,235,.16);
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(11,45,92,.10);
    overflow: hidden;
}

    /* Give the card a richer premium background (less washed out) */
    main .sc-card.mb-3:has(h3):has(h4) .card-body {
        background: radial-gradient(900px 280px at 15% 0%, rgba(31,111,235,.14) 0%, rgba(102,179,255,.06) 45%, rgba(255,255,255,0) 72%), linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(245,249,255,.96) 100%);
    }

    /* Headings: stronger, more “world-class” */
    main .sc-card.mb-3:has(h3):has(h4) h3 {
        font-weight: 800;
        letter-spacing: .2px;
        color: #0B2D5C;
        margin-bottom: .35rem !important;
    }

    main .sc-card.mb-3:has(h3):has(h4) h4 {
        font-weight: 700;
        color: rgba(11,45,92,.92);
        margin-bottom: .6rem !important;
    }

    /* Highlight small headings (like your h6 inside sc-muted) */
    main .sc-card.mb-3:has(h3):has(h4) h6 {
        display: inline-block;
        margin: .25rem 0 .6rem 0;
        padding: .55rem .75rem;
        border-radius: 12px;
        background: linear-gradient(135deg, rgba(31,111,235,.12), rgba(102,179,255,.06));
        border: 1px solid rgba(31,111,235,.18);
        color: rgba(11,45,92,.95);
        font-weight: 600;
        line-height: 1.45;
    }

    /* Muted text: keep it muted but not too light */
    main .sc-card.mb-3:has(h3):has(h4) .sc-muted {
        color: rgba(15,23,42,.78);
    }

    /* Improve spacing within that top block for readability */
    main .sc-card.mb-3:has(h3):has(h4) .card-body > .sc-muted:last-of-type {
        margin-top: .65rem;
        padding-top: .65rem;
        border-top: 1px dashed rgba(31,111,235,.18);
    }

/* Highlight small headings inside public cards (main content area only) */
main .sc-card .card-body h5,
main .sc-card .card-body h6 {
    color: rgba(11,45,92,.92);
}

main .sc-card .card-body h5 {
    font-weight: 750;
    letter-spacing: .1px;
}

main .sc-card .card-body h6 {
    font-weight: 650;
}
/* ============================
   Home page video hero and makeover
   Keeps original content intact
   ============================ */

.sc-home-video-hero{
  position:relative;
  min-height:100vh;
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  margin-top:-1rem;
  margin-bottom:28px;
  overflow:hidden;
  background:#08192f;
  display:flex;
  align-items:center;
  justify-content:center;
}

.sc-home-video-hero-media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

/*.sc-home-video-hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(3,12,24,.38), rgba(3,12,24,.60));
}
*/
.sc-home-video-hero-content{
  position:relative;
  z-index:2;
  width:100%;
  display:flex;
  justify-content:center;
  padding:32px;
}

.sc-home-video-hero-inner{
  max-width:900px;
  text-align:center;
  color:#fff;
}

.sc-home-video-hero-inner h1{
  font-size:clamp(2.4rem, 5vw, 4.8rem);
  line-height:1.08;
  font-weight:800;
  letter-spacing:-0.03em;
  margin:18px 0 18px;
  /*color:#fff;*/
  color:white;
}

.sc-home-video-hero-inner p{
  font-size:1.1rem;
  line-height:1.9;
  color:rgba(255,255,255,.92);
  max-width:760px;
  margin:0 auto 28px;
}

.sc-home-chip{
  display:inline-flex;
  align-items:center;
  padding:.45rem .9rem;
  margin:.25rem;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
  font-size:.84rem;
  font-weight:700;
  letter-spacing:.03em;
}

.sc-home-showcase{
  padding-top:18px;
  padding-bottom:18px;
}

.sc-home-showcase-card,
.sc-home-gallery-card{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,250,255,1));
  border:1px solid rgba(31,111,235,.14);
  border-radius:22px;
  box-shadow:0 16px 36px rgba(11,45,92,.07);
  overflow:hidden;
}

.sc-home-showcase-media,
.sc-home-showcase-video-card{
  min-height:440px;
}

.sc-home-showcase-img,
.sc-home-showcase-video,
.sc-home-gallery-img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.sc-home-showcase-video{
  min-height:440px;
  background:#0b1d36;
}

.sc-home-showcase-copy{
  padding:14px 8px 14px 0;
}

.sc-home-label {
    color: #000 !important;
    display: inline-flex;
    align-items: center;
    padding: .42rem .85rem;
    border-radius: 999px;
    background: rgba(31,111,235,.09);
    /*color: var(--sc-navy);*/
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.sc-home-showcase-copy h2{
  color:var(--sc-navy);
  font-size:clamp(1.7rem, 3vw, 2.8rem);
  line-height:1.15;
  font-weight:800;
  letter-spacing:-0.02em;
  margin-bottom:16px;
}

.sc-home-showcase-copy p,
.sc-home-gallery-body p{
  color:#55657a;
  font-size:1rem;
  line-height:1.9;
}

.sc-home-gallery-img{
  height:260px;
}

.sc-home-gallery-body{
  padding:22px;
}

.sc-home-gallery-body h3{
  color:var(--sc-navy);
  font-size:1.2rem;
  font-weight:800;
  margin-bottom:10px;
}

@media (max-width: 991.98px){
  .sc-home-video-hero{
    min-height:78vh;
    border-radius:18px;
  }

  .sc-home-video-hero-content{
    padding:22px;
  }

  .sc-home-showcase-media,
  .sc-home-showcase-video,
  .sc-home-showcase-video-card{
    min-height:280px;
  }

  .sc-home-gallery-img{
    height:220px;
  }

  .sc-home-showcase-copy{
    padding-right:0;
  }
}
/* ============================
   About Us page enhancement
   ============================ */

.sc-about-hero-v2 {
    padding: 18px 0 10px;
}

.sc-about-hero-copy h1 {
    /*color: var(--sc-navy);*/
    font-size: clamp(2rem, 4vw, 3.5rem);
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.03em;
    margin: 14px 0 18px;
    color: #000 !important;
}

.sc-about-lead {
    color: #55657a;
    font-size: 1.04rem;
    line-height: 1.95;
    margin-bottom: 20px;
}

.sc-about-mission-box {
    padding: 18px 20px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(31,111,235,.08), rgba(102,179,255,.05));
    border: 1px solid rgba(31,111,235,.14);
    color: #42586f;
    line-height: 1.85;
    box-shadow: 0 12px 28px rgba(11,45,92,.05);
}

.sc-about-hero-media {
    min-height: 460px;
}

.sc-about-section-v2 {
    padding-top: 18px;
    padding-bottom: 18px;
}

.sc-about-card-body {
    padding: 28px;
}

    .sc-about-card-body h2,
    .sc-about-side-copy h2,
    .sc-about-contact-wrap h2 {
        /*color: var(--sc-navy);*/
        color: #000 !important;
        font-size: clamp(1.6rem, 2.8vw, 2.5rem);
        line-height: 1.15;
        font-weight: 800;
        letter-spacing: -0.02em;
        margin-bottom: 16px;
    }

.sc-about-feature-block {
    padding-bottom: 18px;
    margin-bottom: 18px;
    border-bottom: 1px solid rgba(31,111,235,.12);
}

    .sc-about-feature-block h5 {
        margin-bottom: 8px;
    }

.sc-about-side-copy {
    padding: 12px 8px 12px 0;
}

    .sc-about-side-copy p {
        color: #55657a;
        font-size: 1rem;
        line-height: 1.9;
    }

.sc-about-contact-wrap {
    padding: 28px;
}

@media (max-width: 991.98px) {
    .sc-about-hero-media {
        min-height: 280px;
    }

    .sc-about-side-copy {
        padding-right: 0;
    }

    .sc-about-card-body,
    .sc-about-contact-wrap {
        padding: 22px;
    }
}
.sc-about-hero-v2 {
    padding: 28px 0 18px;
}

.sc-about-section-v2 {
    padding-top: 28px;
    padding-bottom: 28px;
}

.sc-about-card-body, .sc-about-contact-wrap {
    padding: 34px;
}
/* =========================================================
   Public site consistency layer
   Scoped to website pages; admin logic unaffected
   ========================================================= */
:root{
  --sc-muted:#111111;
}

body{
  color:#111111;
}

.sc-muted,
.sc-about-body,
.sc-about-lead,
.sc-about-side-copy p,
.sc-about-card-body p,
.sc-about-card-body li,
.sc-about-contact-wrap .sc-muted,
.sc-home-showcase-copy p,
.sc-home-gallery-body p,
.sc-card .card-body .sc-muted,
.form-text{
  color:#111111 !important;
  font-size:1.03rem;
  line-height:1.85;
}

.sc-home-label{
  color:#000 !important;
}

h1{
    color:white;
}


h2, h3, h4, h5, h6,
.sc-home-showcase-copy h2,
.sc-home-gallery-body h3,
.sc-about-card-body h2,
.sc-about-card-body h3,
.sc-about-side-copy h2,
.sc-about-contact-wrap h2 {
    color: var(--sc-navy) !important;
}

.sc-navbar .nav-link,
.sc-navbar .navbar-brand span{
  color:var(--sc-navy) !important;
  font-weight:600;
}

.sc-navbar .nav-link{
  padding-left:.9rem;
  padding-right:.9rem;
}

.sc-home-showcase-card,
.sc-home-gallery-card,
.sc-card,
.sc-form-card{
  border-radius:20px;
  box-shadow:0 12px 32px rgba(11,45,92,.08);
}

.sc-about-hero-v3{
  padding:18px 0 10px;
}

.sc-about-copy-wrap h1{
  font-size:clamp(2rem, 4vw, 3.5rem);
  line-height:1.1;
  font-weight:800;
  letter-spacing:-0.03em;
  margin:14px 0 10px;
}

.sc-about-subheading{
  font-size:1.35rem;
  font-weight:700;
  margin-bottom:16px;
}

.sc-about-body{
  color:#111111;
  font-size:1.05rem;
  line-height:1.95;
}

.sc-about-mission-box{
  padding:18px 20px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(31,111,235,.08), rgba(102,179,255,.05));
  border:1px solid rgba(31,111,235,.14);
  color:#111111;
  line-height:1.85;
  box-shadow:0 12px 28px rgba(11,45,92,.05);
  margin-top:18px;
}

.sc-about-hero-media,
.sc-about-video-wrap{
  min-height:420px;
}

.sc-about-section-v3{
  padding-top:24px;
  padding-bottom:24px;
}

.sc-about-card-body,
.sc-about-contact-wrap{
  padding:32px;
}

.sc-about-feature-block{
  padding-bottom:18px;
  margin-bottom:18px;
  border-bottom:1px solid rgba(31,111,235,.12);
}

.sc-about-feature-block h5{
  margin-bottom:8px;
}

.sc-about-gallery-img{
  height:220px;
}

.sc-careers-top-visual .sc-home-gallery-card{
  overflow:hidden;
}

.sc-careers-top-img{
  height:260px;
  object-fit:cover;
}

@media (max-width: 991.98px){
  .sc-about-hero-media,
  .sc-about-video-wrap,
  .sc-home-showcase-video{
    min-height:280px;
  }

  .sc-about-card-body,
  .sc-about-contact-wrap{
    padding:30px;
  }

  .sc-careers-top-img,
  .sc-about-gallery-img{
    height:220px;
  }
}
.sc-about-hero-v3 {
    padding-top: 48px;
}

.sc-about-heading-center {
    text-align: center;
    margin-bottom: 32px;
}

    .sc-about-heading-center .sc-home-label {
        display: inline-flex;
        justify-content: center;
        margin-bottom: 12px;
    }

    .sc-about-heading-center h2 {
        margin-bottom: 0;
    }
/* =========================================================
   Website-only visual refinement (public pages only)
   ========================================================= */
.sc-site-public{
  font-family: Inter, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color:#102133;
}

.sc-site-public body,
.sc-site-public p,
.sc-site-public li,
.sc-site-public .sc-muted,
.sc-site-public .form-text{
  color:#102133;
}

.sc-site-public main{
  padding-top:.4rem;
}

.sc-site-public .sc-navbar{
  background:rgba(255,255,255,.96) !important;
  border-bottom:1px solid rgba(11,45,92,.08);
  box-shadow:0 10px 28px rgba(11,45,92,.05);
}

.sc-site-public .sc-brand img{
  filter: drop-shadow(0 6px 10px rgba(11,45,92,.08));
}

.sc-site-public .nav-link{
  font-weight:600;
  letter-spacing:.01em;
}

.sc-site-public h1,
.sc-site-public h2,
.sc-site-public h3,
.sc-site-public h4,
.sc-site-public h5,
.sc-site-public h6{
  color:var(--sc-navy);
  line-height:1.12;
}

/*.sc-site-public .sc-home-video-hero-inner h1,
.sc-site-public .sc-hero h1,
.sc-site-public .sc-carousel .carousel-item h1{
  color:#fff;
}

.sc-site-public .sc-home-video-hero-inner p,
.sc-site-public .sc-hero p,
.sc-site-public .sc-kicker,
.sc-site-public .sc-pill,
.sc-site-public .sc-home-chip{
  color:#fff !important;
}*/

.sc-site-public .sc-home-label{
  color:var(--sc-navy) !important;
  background:rgba(31,111,235,.08);
  border:1px solid rgba(31,111,235,.08);
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.06em;
}

.sc-site-public .sc-home-video-hero{
  box-shadow:0 18px 48px rgba(11,45,92,.12);
}

.sc-site-public .sc-home-video-hero-inner{
  max-width:980px;
}

.sc-site-public .sc-home-video-hero-inner h1{
  font-size:clamp(2.7rem,5vw,5rem);
  letter-spacing:-.04em;
}

.sc-site-public .sc-home-video-hero-inner p{
  font-size:1.08rem;
  line-height:1.9;
}

.sc-site-public .sc-hero,
.sc-site-public .sc-card,
.sc-site-public .sc-home-showcase-card,
.sc-site-public .sc-home-gallery-card,
.sc-site-public .card.shadow-sm{
  border-radius:24px;
  box-shadow:0 16px 36px rgba(11,45,92,.08);
}

.sc-site-public .sc-card .card-body,
.sc-site-public .sc-home-gallery-body,
.sc-site-public .sc-about-card-body,
.sc-site-public .sc-about-contact-wrap,
.sc-site-public .card.shadow-sm .card-body{
  padding:32px;
}

.sc-site-public .sc-section,
.sc-site-public .sc-about-section-v3,
.sc-site-public .sc-home-showcase{
  padding-top:28px;
  padding-bottom:28px;
}

.sc-site-public .sc-home-showcase-copy h2,
.sc-site-public .sc-about-card-body h3,
.sc-site-public .sc-about-copy-wrap h2,
.sc-site-public .sc-about-subheading,
.sc-site-public .sc-careers-public-page h4,
.sc-site-public .sc-careers-public-page h5{
  font-weight:800;
  letter-spacing:-.02em;
}

.sc-site-public .sc-about-copy-wrap h2{
  font-size:clamp(2.1rem,3.5vw,3.2rem);
  text-align:center;
}

.sc-site-public .sc-about-subheading{
  font-size:1.28rem;
  font-family: Georgia, "Times New Roman", serif;
  text-transform:none;
}

.sc-site-public .sc-about-copy-box{
  min-height:100%;
}

.sc-site-public .sc-about-rich-text,
.sc-site-public .sc-about-body,
.sc-site-public .sc-about-lead,
.sc-site-public .sc-about-side-copy p,
.sc-site-public .sc-about-card-body p,
.sc-site-public .sc-about-card-body li,
.sc-site-public .sc-home-showcase-copy p,
.sc-site-public .sc-home-gallery-body p,
.sc-site-public .sc-careers-public-page .sc-muted,
.sc-site-public .sc-careers-public-page .form-text{
  color:#102133 !important;
  font-size:1.03rem;
  line-height:1.9;
}

.sc-site-public .sc-about-video-intro .sc-about-video-wrap,
.sc-site-public .sc-about-hero-media,
.sc-site-public .sc-home-showcase-video{
  min-height:420px;
}

.sc-site-public .sc-about-gallery-img{
  height:230px;
}

.sc-site-public .sc-about-location-card,
.sc-site-public .sc-about-map-wrap{
  background:linear-gradient(180deg,#fff,#f8fbff);
  border:1px solid rgba(11,45,92,.08);
  border-radius:22px;
  box-shadow:0 14px 32px rgba(11,45,92,.07);
  overflow:hidden;
  min-height:100%;
}

.sc-site-public .sc-about-location-img{
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  display:block;
  background:#eef5fb;
  padding:8px;
}

.sc-site-public .sc-about-location-copy{
  padding:22px;
}

.sc-site-public .sc-about-map-wrap iframe{
  min-height:100%;
  aspect-ratio: 4 / 3;
}

.sc-site-public .sc-contact-link{
  color:var(--sc-blue);
  font-weight:600;
}

.sc-site-public .sc-contact-link:hover{
  color:var(--sc-navy);
  text-decoration:underline;
}

.sc-site-public .sc-careers-public-page .form-label,
.sc-site-public .sc-careers-public-page .sc-card h4,
.sc-site-public .sc-careers-public-page .sc-card h5,
.sc-site-public .sc-careers-public-page .sc-card h6{
  color:var(--sc-navy) !important;
}

.sc-site-public .sc-careers-public-page .form-control,
.sc-site-public .sc-careers-public-page .form-select{
  min-height:50px;
  border-radius:14px;
}

.sc-site-public .btn,
.sc-site-public .sc-btn-primary,
.sc-site-public .sc-btn-outline{
  border-radius:14px;
  font-weight:600;
}

.sc-site-public .sc-btn-primary,
.sc-site-public .btn-primary{
  background:linear-gradient(135deg,#16529a,#0b2d5c);
  border-color:transparent;
}

.sc-site-public .sc-btn-outline{
  border:1px solid rgba(11,45,92,.18);
}

.sc-admin-tick{
  border-radius:999px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--sc-blue),var(--sc-navy));
}

.sc-admin-tick svg{
  display:block;
}

@media (max-width: 991.98px) {
    .sc-site-public .sc-card .card-body,
    .sc-site-public .sc-home-gallery-body,
    .sc-site-public .sc-about-card-body,
    .sc-site-public .sc-about-contact-wrap,
    .sc-site-public .card.shadow-sm .card-body {
        padding: 24px;
    }

    .sc-site-public .sc-home-video-hero-inner h1 {
        font-size: clamp(2.2rem,7vw,3.5rem);
    }

    .sc-site-public .sc-about-video-intro .sc-about-video-wrap,
    .sc-site-public .sc-about-hero-media,
    .sc-site-public .sc-home-showcase-video {
        min-height: 280px;
    }

    .sc-site-public .sc-about-location-copy {
        padding: 18px;
    }
}
.sc-about-map-wrap {
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(31,111,235,.12);
    box-shadow: 0 10px 24px rgba(11,45,92,.06);
    max-width: 100%;
}

    .sc-about-map-wrap iframe {
        width: 100%;
        height: 260px;
        display: block;
        border: 0;
    }

@media (max-width: 991.98px) {
    .sc-about-map-wrap iframe {
        height: 220px;
    }
}

.sc-about-section-v3 {
    padding-top: 30px;
    padding-bottom: 30px;
}

.sc-about-left-block,
.sc-about-right-block {
    max-width: 100%;
}

    .sc-about-left-block .sc-home-label,
    .sc-about-right-block .sc-home-label {
        margin-bottom: 14px;
    }

.sc-about-subheading {
    color: var(--sc-navy);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.02em;
    margin-bottom: 18px;
}

.sc-about-list li {
    color: #111;
    font-size: 1.03rem;
    line-height: 1.9;
    margin-bottom: .7rem;
}

.sc-about-feature-block {
    padding-bottom: 18px;
    margin-bottom: 18px;
    border-bottom: 1px solid rgba(31,111,235,.10);
}

    .sc-about-feature-block h5 {
        color: var(--sc-navy);
        font-weight: 700;
        margin-bottom: 8px;
    }

    .sc-about-feature-block p {
        color: #111;
        font-size: 1.02rem;
        line-height: 1.85;
        margin-bottom: 0;
    }

.sc-about-image-wrap,
.sc-about-video-wrap {
    border-radius: 18px;
    overflow: hidden;
}

.sc-about-full-image {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
    background: #fff;
}

.sc-contact-link {
    color: var(--sc-navy);
    font-weight: 600;
    text-decoration: none;
}

    .sc-contact-link:hover {
        text-decoration: underline;
    }

.sc-about-contact-frame {
    padding: 6px 0;
}

.sc-about-contact-building,
.sc-about-contact-details,
.sc-about-map-wrap {
    background: #fff;
    border: 1px solid rgba(31,111,235,.12);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 10px 24px rgba(11,45,92,.06);
}

.sc-about-contact-details {
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.sc-about-building-img {
    width: 100%;
    height: 100%;
    min-height: 280px;
    object-fit: cover;
    display: block;
}

.sc-about-map-wrap iframe {
    width: 100%;
    height: 100%;
    min-height: 280px;
    border: 0;
    display: block;
}

.sc-about-image-wrap {
    border-radius: 18px;
    overflow: hidden;
}

.sc-about-full-image {
    width: 100%;
    height: 100%;
    min-height: 360px;
    object-fit: cover;
    display: block;
}

.sc-contact-link {
    color: var(--sc-navy);
    font-weight: 600;
    text-decoration: none;
}

    .sc-contact-link:hover {
        text-decoration: underline;
    }

@media (max-width: 991.98px) {
    .sc-about-building-img,
    .sc-about-map-wrap iframe,
    .sc-about-full-image {
        min-height: 220px;
    }

    .sc-about-contact-details {
        padding: 20px;
    }
}

.sc-card .sc-muted h5 {
    margin-top: 6px;
    font-weight: 700;
}

.sc-card .sc-muted p {
    line-height: 1.85;
}

.sc-card .sc-muted .sc-list li {
    margin-bottom: .55rem;
}

.sc-about-contact-details {
    background: #fff;
    border: 1px solid rgba(31,111,235,.12);
    border-radius: 18px;
    padding: 28px;
    box-shadow: 0 10px 24px rgba(11,45,92,.06);
}

.sc-about-contact-building,
.sc-about-map-wrap {
    background: #fff;
    border: 1px solid rgba(31,111,235,.12);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 10px 24px rgba(11,45,92,.06);
}

.sc-about-building-img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    display: block;
}

.sc-about-map-wrap iframe {
    width: 100%;
    height: 320px;
    border: 0;
    display: block;
}

.sc-contact-link {
    color: var(--sc-navy);
    font-weight: 600;
    text-decoration: none;
}

    .sc-contact-link:hover {
        text-decoration: underline;
    }

@media (max-width: 991.98px) {
    .sc-about-building-img,
    .sc-about-map-wrap iframe {
        height: 220px;
    }

    .sc-about-contact-details {
        padding: 22px;
    }
}

/* =========================================================
   Final uniform theme override
   ========================================================= */
:root{
  --sc-navy:#163f73;
  --sc-blue:#2c7be5;
  --sc-sky:#dff0ff;
  --sc-sky-2:#f5fbff;
  --sc-bg:#f3f8fe;
  --sc-text:#14263a;
  --sc-heading:#173f73;
  --sc-border-soft:rgba(31,111,235,.12);
  --sc-shadow-soft:0 16px 36px rgba(16,46,86,.08);
  --sc-radius-xl:24px;
  --sc-radius-lg:20px;
}

body.sc-site-public,
body.sc-site-admin{
  background:linear-gradient(180deg,#f5faff 0%, #eef6ff 100%);
  color:var(--sc-text);
  font-family:Inter, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.sc-site-public .container,
.sc-site-admin .container-fluid,
.sc-site-admin .container{
  max-width:1520px;
}

.sc-site-public .container,
.sc-site-admin .container-fluid{
  padding-left:20px;
  padding-right:20px;
}

.sc-site-public p,
.sc-site-public li,
.sc-site-public .sc-muted,
.sc-site-public .form-text,
.sc-site-admin p,
.sc-site-admin li,
.sc-site-admin .sc-muted,
.sc-site-admin .form-text,
.sc-site-admin td,
.sc-site-admin th{
  color:var(--sc-text) !important;
  line-height:1.85;
}

.sc-site-public h1,
.sc-site-public h2,
.sc-site-public h3,
.sc-site-public h4,
.sc-site-public h5,
.sc-site-public h6,
.sc-site-admin h1,
.sc-site-admin h2,
.sc-site-admin h3,
.sc-site-admin h4,
.sc-site-admin h5,
.sc-site-admin h6{
  color:var(--sc-heading) !important;
  line-height:1.14;
  letter-spacing:-.02em;
}

.sc-site-public h1,
.sc-site-public h2,
.sc-site-admin h1,
.sc-site-admin h2{font-weight:800;}
.sc-site-public h3,
.sc-site-public h4,
.sc-site-admin h3,
.sc-site-admin h4{font-weight:750;}
.sc-site-public h5,
.sc-site-public h6,
.sc-site-admin h5,
.sc-site-admin h6{font-weight:700;}

.sc-site-public .sc-navbar,
.sc-site-admin .sc-navbar{
  background:rgba(255,255,255,.92) !important;
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(22,63,115,.08);
  box-shadow:0 10px 30px rgba(16,46,86,.06);
}

.sc-site-public .navbar,
.sc-site-admin .navbar{
  padding-top:.85rem;
  padding-bottom:.85rem;
}

.sc-site-public .nav-link,
.sc-site-admin .nav-link{
  color:var(--sc-heading) !important;
  font-weight:600;
  padding:.55rem .9rem !important;
  border-radius:999px;
}

.sc-site-public .nav-link:hover,
.sc-site-admin .nav-link:hover{
  background:rgba(44,123,229,.08);
  text-decoration:none;
}

.sc-site-admin .sc-admin-user{
  font-weight:600;
  color:var(--sc-heading) !important;
  background:rgba(44,123,229,.08);
  border:1px solid rgba(44,123,229,.12);
}

.sc-site-public .sc-brand,
.sc-site-admin .sc-brand{
  gap:.75rem;
  color:var(--sc-heading) !important;
}

.sc-site-public .sc-brand img{
  max-height:44px;
  width:auto;
}

.sc-site-public .sc-card,
.sc-site-public .sc-home-showcase-card,
.sc-site-public .sc-home-gallery-card,
.sc-site-public .sc-form-card,
.sc-site-admin .sc-card,
.sc-site-admin .sc-form-card,
.sc-site-admin .sc-table-card,
.sc-site-admin .table-responsive,
.sc-site-admin .modal-content{
  background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(247,251,255,.98) 100%);
  border:1px solid var(--sc-border-soft);
  border-radius:var(--sc-radius-xl);
  box-shadow:var(--sc-shadow-soft);
}

.sc-site-public .sc-card .card-body,
.sc-site-public .sc-home-gallery-body,
.sc-site-public .sc-about-card-body,
.sc-site-public .sc-about-contact-wrap,
.sc-site-public .sc-form-card .card-body,
.sc-site-admin .sc-card .card-body,
.sc-site-admin .sc-form-card .card-body,
.sc-site-admin .sc-table-header,
.sc-site-admin .modal-body,
.sc-site-admin .modal-header,
.sc-site-admin .modal-footer{
  padding:32px;
}

.sc-site-public .sc-section,
.sc-site-public .sc-home-showcase,
.sc-site-public .sc-about-section-v3,
.sc-site-admin main.container-fluid{
  padding-top:30px;
  padding-bottom:30px;
}

.sc-site-public .sc-home-label,
.sc-site-admin .sc-home-label{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.5rem .9rem;
  background:rgba(44,123,229,.08);
  border:1px solid rgba(44,123,229,.12);
  border-radius:999px;
  color:var(--sc-heading) !important;
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.sc-site-public .btn,
.sc-site-admin .btn,
.sc-site-public .sc-btn-primary,
.sc-site-admin .sc-btn-primary,
.sc-site-public .sc-btn-outline,
.sc-site-admin .sc-btn-outline{
  border-radius:14px;
  font-weight:700;
  padding:.7rem 1.15rem;
  box-shadow:0 10px 24px rgba(16,46,86,.08);
}

.sc-site-public .btn-light{
  background:#fff;
  color:var(--sc-heading);
  border:1px solid rgba(22,63,115,.1);
}

.sc-site-public .btn-light:hover{
  background:#f8fbff;
  color:var(--sc-heading);
}

.sc-site-public .sc-btn-primary,
.sc-site-public .btn-primary,
.sc-site-admin .sc-btn-primary,
.sc-site-admin .btn-primary{
  background:linear-gradient(135deg, #2f82ec 0%, #1a5eb5 100%);
  border-color:transparent;
}

.sc-site-public .sc-btn-outline,
.sc-site-admin .sc-btn-outline,
.sc-site-admin .btn-outline-primary{
  background:#fff;
  border:1px solid rgba(22,63,115,.14);
  color:var(--sc-heading);
}

.sc-site-public .sc-btn-outline:hover,
.sc-site-admin .sc-btn-outline:hover,
.sc-site-admin .btn-outline-primary:hover{
  background:rgba(44,123,229,.08);
  color:var(--sc-heading);
}

/* Home hero + carousel softened */
.sc-site-public .sc-hero{
  background:linear-gradient(135deg, #eff7ff 0%, #dceeff 52%, #f7fbff 100%);
  border:1px solid var(--sc-border-soft);
  box-shadow:var(--sc-shadow-soft);
}
.sc-site-public .sc-hero::after{display:none;}
.sc-site-public .sc-hero h1,
.sc-site-public .sc-hero p,
.sc-site-public .sc-kicker,
.sc-site-public .sc-pill{
  color:var(--sc-heading) !important;
}
.sc-site-public .sc-pill{
  background:#fff;
  border:1px solid rgba(22,63,115,.12);
}
.sc-site-public .sc-hero .sc-card{
  background:#fff;
}

.sc-site-public .sc-carousel .carousel-item{
  border-radius:var(--sc-radius-xl);
  overflow:hidden;
  border:1px solid var(--sc-border-soft);
  box-shadow:var(--sc-shadow-soft);
}
.sc-site-public .sc-carousel .carousel-item > div{
  background:linear-gradient(135deg, #edf6ff 0%, #dcebff 58%, #f8fbff 100%) !important;
  min-height:260px;
}
.sc-site-public .sc-carousel .carousel-caption{
  background:transparent;
  padding:0;
}
.sc-site-public .sc-carousel .carousel-item h1,
.sc-site-public .sc-carousel .carousel-item h3,
.sc-site-public .sc-carousel .carousel-item p,
.sc-site-public .sc-carousel .carousel-item span{
  color:var(--sc-heading) !important;
}
.sc-site-public .carousel-control-prev-icon,
.sc-site-public .carousel-control-next-icon{
  filter:invert(19%) sepia(22%) saturate(1680%) hue-rotate(182deg) brightness(93%) contrast(95%);
}

/* About sections */
.sc-site-public .sc-about-mission-box,
.sc-site-public .sc-about-copy-box,
.sc-site-public .sc-about-contact-details,
.sc-site-public .sc-about-contact-building,
.sc-site-public .sc-about-map-wrap,
.sc-site-public .sc-about-image-wrap{
  background:linear-gradient(180deg, #ffffff 0%, #f7fbff 100%) !important;
  border:1px solid var(--sc-border-soft);
  box-shadow:0 14px 30px rgba(16,46,86,.06);
  border-radius:var(--sc-radius-lg);
}
.sc-site-public .sc-about-subheading{
  font-family:Inter, "Segoe UI", Roboto, sans-serif;
  font-size:1.35rem;
  font-weight:800;
  letter-spacing:-.02em;
}
.sc-site-public .sc-about-copy-wrap h2{
  font-size:clamp(2.2rem, 3.8vw, 3.4rem);
}
.sc-site-public .sc-about-rich-text,
.sc-site-public .sc-about-rich-text div,
.sc-site-public .sc-about-rich-text b{
  color:var(--sc-text) !important;
}
.sc-site-public .sc-about-full-image,
.sc-site-public .sc-about-building-img,
.sc-site-public .sc-home-showcase-img,
.sc-site-public .sc-home-gallery-img{
  object-fit:cover;
}
.sc-site-public .sc-about-building-img,
.sc-site-public .sc-about-map-wrap iframe{
  height:300px;
}

/* Careers page */
.sc-site-public .sc-careers-public-page .card.shadow-sm,
.sc-site-public .sc-careers-public-page .sc-card,
.sc-site-public .sc-careers-public-page .sc-form-card{
  border:1px solid var(--sc-border-soft);
}
.sc-site-public .sc-careers-public-page .form-control,
.sc-site-public .sc-careers-public-page .form-select,
.sc-site-admin .form-control,
.sc-site-admin .form-select{
  min-height:50px;
  border-radius:14px;
  border:1px solid rgba(22,63,115,.12);
}
.sc-site-public .sc-careers-public-page .form-control:focus,
.sc-site-public .sc-careers-public-page .form-select:focus,
.sc-site-admin .form-control:focus,
.sc-site-admin .form-select:focus{
  border-color:rgba(44,123,229,.4);
  box-shadow:0 0 0 .25rem rgba(44,123,229,.12);
}

/* Admin polish */
.sc-site-admin .sc-badge,
.sc-site-admin .sc-admin-tick{
  border-radius:999px;
  background:linear-gradient(135deg, #2f82ec 0%, #1a5eb5 100%);
}
.sc-site-admin table.sc-table thead th,
.sc-site-admin .table thead th{
  background:#f6fbff;
  color:#46617e;
  border-bottom:1px solid rgba(22,63,115,.08);
}
.sc-site-admin table.sc-table tbody td,
.sc-site-admin .table td{
  background:transparent;
  border-bottom:1px solid rgba(22,63,115,.06);
}
.sc-site-admin table.sc-table tbody tr:hover,
.sc-site-admin .table-hover tbody tr:hover{
  background:#f8fbff;
}
.sc-site-admin .sc-table-header{
  background:linear-gradient(180deg, rgba(232,243,255,.95), #fff 100%);
}
.sc-site-admin .sc-row-actions{gap:.5rem;}
.sc-site-admin .badge,
.sc-site-admin .sc-badge{font-weight:700;}

/* Better spacing for footer and alerts */
.footer{
  background:transparent;
}
.alert{
  border-radius:18px;
  border:none;
  box-shadow:0 10px 24px rgba(16,46,86,.08);
}

@media (max-width: 991.98px){
  .sc-site-public .sc-card .card-body,
  .sc-site-public .sc-home-gallery-body,
  .sc-site-public .sc-about-card-body,
  .sc-site-public .sc-about-contact-wrap,
  .sc-site-public .sc-form-card .card-body,
  .sc-site-admin .sc-card .card-body,
  .sc-site-admin .sc-form-card .card-body,
  .sc-site-admin .sc-table-header,
  .sc-site-admin .modal-body,
  .sc-site-admin .modal-header,
  .sc-site-admin .modal-footer{
    padding:24px;
  }
  .sc-site-public .sc-home-video-hero-inner h1{font-size:clamp(2.2rem,7vw,3.8rem);}
  .sc-site-public .sc-about-building-img,
  .sc-site-public .sc-about-map-wrap iframe{height:220px;}
}

/* Final light background refinement for easier reading across website + admin */
body.sc-site-public,
body.sc-site-admin{
  background:#f7fbff !important;
}

.sc-site-public .sc-card,
.sc-site-public .sc-home-showcase-card,
.sc-site-public .sc-home-gallery-card,
.sc-site-public .sc-form-card,
.sc-site-public .sc-about-mission-box,
.sc-site-public .sc-about-copy-box,
.sc-site-public .sc-about-contact-details,
.sc-site-public .sc-about-contact-building,
.sc-site-public .sc-about-map-wrap,
.sc-site-public .sc-about-image-wrap,
.sc-site-admin .sc-card,
.sc-site-admin .sc-form-card,
.sc-site-admin .sc-table-card,
.sc-site-admin .table-responsive,
.sc-site-admin .modal-content{
  background:#ffffff !important;
  background-image:none !important;
}

.sc-site-admin .sc-table-header,
.sc-site-admin .modal-header,
.sc-site-admin .modal-footer{
  background:#f6fbff !important;
  background-image:none !important;
}

.sc-site-admin main.container-fluid,
.sc-site-public .sc-section,
.sc-site-public .sc-home-showcase,
.sc-site-public .sc-about-section-v3{
  background:transparent !important;
}

.sc-site-admin table.sc-table tbody tr,
.sc-site-admin .table tbody tr{
  background:#ffffff;
}

.sc-site-admin table.sc-table tbody tr:hover,
.sc-site-admin .table-hover tbody tr:hover{
  background:#f7fbff !important;
}

.sc-site-admin .form-control,
.sc-site-admin .form-select,
.sc-site-public .form-control,
.sc-site-public .form-select{
  background:#ffffff;
}

/* =========================================
   FINAL HOME VIDEO HERO TEXT FIX
   Keep this at the very end of site.css
   ========================================= */

.sc-site-public .sc-home-video-hero {
    background: #eaf4ff;
}

.sc-site-public .sc-home-video-hero-media {
    filter: brightness(1.08) saturate(1.03);
}

.sc-site-public .sc-home-video-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient( 180deg, rgba(255,255,255,.22) 0%, rgba(228,240,255,.26) 45%, rgba(205,226,248,.32) 100% );
}

.sc-site-public .sc-home-video-hero .sc-home-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .56rem 1rem;
    margin: .25rem;
    border-radius: 999px;
    background: rgba(255,255,255,.82) !important;
    border: 1px solid rgba(11,45,92,.12) !important;
    color: #0b2d5c !important;
    font-size: .84rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    box-shadow: 0 8px 22px rgba(11,45,92,.06);
}

.sc-site-public .sc-home-video-hero .sc-home-video-hero-inner h1 {
    color: #0b2d5c !important;
    font-size: clamp(2.4rem, 5vw, 4.8rem);
    line-height: 1.06;
    font-weight: 800;
    letter-spacing: -0.035em;
    text-shadow: 0 2px 12px rgba(255,255,255,.22);
}

.sc-site-public .sc-home-video-hero .sc-home-video-hero-inner p {
    color: #10243f !important;
    font-size: 1.1rem;
    line-height: 1.9;
    font-weight: 500;
    max-width: 760px;
    margin: 0 auto 28px;
    text-shadow: none !important;
}

.sc-site-public .sc-home-video-hero .btn.btn-light {
    background: rgba(255,255,255,.92);
    color: #0b2d5c;
    border: 1px solid rgba(11,45,92,.10);
    border-radius: 14px;
    font-weight: 700;
    box-shadow: 0 10px 24px rgba(11,45,92,.08);
}

    .sc-site-public .sc-home-video-hero .btn.btn-light:hover {
        background: #ffffff;
        color: #0b2d5c;
        transform: translateY(-1px);
    }

@media (max-width: 991.98px) {
    .sc-site-public .sc-home-video-hero {
        min-height: 78vh;
    }

    .sc-site-public .sc-home-video-hero-content {
        padding: 22px;
    }

    .sc-site-public .sc-home-video-hero .sc-home-video-hero-inner h1 {
        line-height: 1.12;
    }

    .sc-site-public .sc-home-video-hero .sc-home-video-hero-inner p {
        font-size: 1rem;
        line-height: 1.8;
    }
}

/* =========================================
   Softer admin background + button loading
   ========================================= */

body.sc-site-admin {
    background: #f8fbff !important;
}

.sc-site-admin main.container-fluid {
    background: transparent !important;
}

.sc-site-admin .sc-card,
.sc-site-admin .sc-form-card,
.sc-site-admin .sc-table-card,
.sc-site-admin .table-responsive,
.sc-site-admin .modal-content {
    background: #ffffff !important;
    box-shadow: 0 10px 26px rgba(16,46,86,.05) !important;
}

.sc-site-admin .sc-table-header,
.sc-site-admin .modal-header,
.sc-site-admin .modal-footer {
    background: #f7fbff !important;
}

.sc-site-admin table.sc-table tbody tr:hover,
.sc-site-admin .table-hover tbody tr:hover {
    background: #f7fbff !important;
}

.sc-site-admin .form-control,
.sc-site-admin .form-select {
    background: #ffffff !important;
}

/* Loading button state */
.btn.is-loading,
.nav-link.is-loading {
    pointer-events: none;
    opacity: .92;
}

    .btn.is-loading .spinner-border,
    .nav-link.is-loading .spinner-border {
        vertical-align: middle;
    }

#scCarousel .carousel-control-prev-icon,
#scCarousel .carousel-control-next-icon {
    filter: invert(17%) sepia(31%) saturate(1658%) hue-rotate(187deg) brightness(92%) contrast(92%);
    opacity: 1;
}

#scCarousel .carousel-control-prev,
#scCarousel .carousel-control-next {
    opacity: 1;
}

#scCarousel .carousel-indicators [data-bs-target] {
    background-color: #0b2d5c;
    opacity: .35;
}

#scCarousel .carousel-indicators .active {
    background-color: #0b2d5c;
    opacity: 1;
}

#scCarousel .carousel-control-prev-icon,
#scCarousel .carousel-control-next-icon {
    filter: invert(37%) sepia(88%) saturate(1426%) hue-rotate(194deg) brightness(94%) contrast(92%);
    opacity: 1;
}

#scCarousel .carousel-indicators [data-bs-target] {
    background-color: #1f6feb;
    opacity: .4;
}

#scCarousel .carousel-indicators .active {
    background-color: #1f6feb;
    opacity: 1;
}
/*------------------------------------------------------------------*/
.sc-help-box,
.sc-help-inner {
    border: 1px solid rgba(11,45,92,.18);
    border-radius: 10px;
    background: #fff;
}

    .sc-help-box summary,
    .sc-help-inner summary {
        cursor: pointer;
        list-style: none;
        padding: 12px 16px;
        font-weight: 600;
    }

        .sc-help-box summary::-webkit-details-marker,
        .sc-help-inner summary::-webkit-details-marker {
            display: none;
        }

    .sc-help-box > div,
    .sc-help-inner > div {
        padding: 0 16px 16px;
    }
/*------------------------------------------------------------------*/