/* ==========================================================================
   KCS Design System V2 - Premium Institutional
   Colours extracted exactly from KCS Logo.svg: navy #03094B, coral #FF5A37.
   Serif display over system sans body. Hairlines, never shadows.
   ========================================================================== */

:root{
  --kcs-navy:#03094B;
  --kcs-navy-deep:#020733;
  --kcs-navy-soft:#1B2260;
  --kcs-coral:#FF5A37;
  --kcs-coral-deep:#E8431F;

  --kcs-paper:#FFFFFF;
  --kcs-mist:#F4F6FA;
  --kcs-mist-2:#EAEEF6;
  --kcs-line:#DCE2EE;
  --kcs-slate:#46506B;
  --kcs-slate-soft:#6C7590;

  /* legacy aliases so older markup keeps rendering correctly */
  --kcs-ink:#03094B;
  --kcs-ink2:#46506B;
  --kcs-ink-muted:#46506B;
  --kcs-accent:#03094B;
  --kcs-accent-deep:#020733;
  --kcs-accent2:#FF5A37;
  --kcs-surface:#FFFFFF;
  --kcs-border:#DCE2EE;
  --kcs-radius-sm:5px;
  --kcs-radius-md:10px;

  --kcs-font-display:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --kcs-font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --kcs-font-mono:"SF Mono",SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;
}

/* --------------------------------------------------------------- shell -- */
.kcs-page{ font-family:var(--kcs-font-body); color:var(--kcs-navy); background:var(--kcs-paper); }
.kcs-page *{ box-sizing:border-box; }

.kcs-container{ max-width:1120px; margin:0 auto; padding:0 40px; }
@media (min-width:1600px){ .kcs-container{ max-width:1200px; } }
@media (max-width:900px){ .kcs-container{ padding:0 24px; } }

.kcs-section{ padding:88px 0; }
.kcs-section--tight{ padding:60px 0; }
.kcs-section--surface{ background:var(--kcs-mist); }
.kcs-section--navy{ background:var(--kcs-navy); color:#fff; }
@media (max-width:900px){
  .kcs-section{ padding:56px 0; }
  .kcs-section--tight{ padding:40px 0; }
}

/* ---------------------------------------------------------- typography -- */
.kcs-h1{
  font-family:var(--kcs-font-display); font-weight:700;
  font-size:clamp(2.1rem,3.8vw,3.1rem); line-height:1.05; letter-spacing:-.015em;
  margin:0 0 20px; text-wrap:balance; color:inherit;
}
.kcs-h2{
  font-family:var(--kcs-font-display); font-weight:700;
  font-size:clamp(1.5rem,2.6vw,2.1rem); line-height:1.12; letter-spacing:-.01em;
  margin:0 0 14px; text-wrap:balance; color:inherit;
}
.kcs-h3{
  font-family:var(--kcs-font-display); font-weight:700;
  font-size:1.1rem; line-height:1.22; margin:0 0 8px; color:inherit;
}
.kcs-lede{ font-size:1.02rem; line-height:1.62; max-width:46ch; margin:0 0 30px; }
.kcs-body{ font-size:.97rem; line-height:1.68; color:var(--kcs-slate); max-width:62ch; }
.kcs-section--navy .kcs-body, .kcs-section--navy .kcs-lede{ color:rgba(255,255,255,.78); }

.kcs-eyebrow{
  font-size:.68rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--kcs-coral); margin:0 0 16px;
}
.kcs-eyebrow--quiet{ color:var(--kcs-slate-soft); }

.kcs-link{
  font-size:.79rem; font-weight:700; color:var(--kcs-navy); text-decoration:none;
  border-bottom:2px solid var(--kcs-coral); padding-bottom:2px;
  display:inline-block; align-self:flex-start;
}
.kcs-link:hover{ color:var(--kcs-coral-deep); }

/* -------------------------------------------------------------- buttons -- */
.kcs-btn{
  display:inline-flex; align-items:center; justify-content:center;
  height:46px; padding:0 24px; border-radius:var(--kcs-radius-sm);
  font-size:.85rem; font-weight:700; font-family:var(--kcs-font-body);
  text-decoration:none; border:1.5px solid transparent; white-space:nowrap;
  transition:background-color .16s ease, color .16s ease, border-color .16s ease;
  cursor:pointer;
}
/* Coral fill with navy label measures 5.9:1. White on coral is only 3.1:1, which
   fails WCAG AA at button text sizes, so the label is navy. Uses only the two
   colours taken from the logo. */
.kcs-btn--primary{ background:var(--kcs-coral); color:var(--kcs-navy) !important; border-color:var(--kcs-coral); }
.kcs-btn--primary:hover{ background:var(--kcs-coral-deep); border-color:var(--kcs-coral-deep); color:#fff !important; }
.kcs-btn--secondary{ background:transparent; color:var(--kcs-navy) !important; border-color:var(--kcs-navy); }
.kcs-btn--secondary:hover{ background:var(--kcs-navy); color:#fff !important; }
.kcs-btn--onnavy{ background:transparent; color:#fff !important; border-color:rgba(255,255,255,.55); }
.kcs-btn--onnavy:hover{ background:#fff; color:var(--kcs-navy) !important; border-color:#fff; }
.kcs-btn--white{ background:#fff; color:var(--kcs-navy) !important; border-color:#fff; }
.kcs-btn--white:hover{ background:var(--kcs-mist-2); border-color:var(--kcs-mist-2); }
.kcs-btn-row{ display:flex; gap:12px; flex-wrap:wrap; margin-top:26px; }

/* --------------------------------------------------------------- badge -- */
/* Navy on coral measures 5.5:1. White on coral measures only 3.1:1, which fails
   WCAG AA for small text, so the badge label stays navy. */
.kcs-badge{
  display:inline-block; background:var(--kcs-coral); color:var(--kcs-navy);
  font-size:.62rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  padding:5px 11px; border-radius:4px; font-family:var(--kcs-font-body);
}

/* ---------------------------------------------------------------- hero -- */
.kcs-hero{ position:relative; display:grid; grid-template-columns:1.02fr .98fr; background:var(--kcs-navy); color:#fff; min-height:540px; }
.kcs-hero__copy{ display:flex; align-items:center; padding:76px 40px 76px 0; }
.kcs-hero__copy-in{ max-width:520px; margin-left:auto; padding-left:40px; width:100%; }
.kcs-hero .kcs-h1{ color:#fff; }
.kcs-hero .kcs-lede{ color:rgba(255,255,255,.8); }
.kcs-hero__art{ position:relative; overflow:hidden;
  background:radial-gradient(120% 90% at 78% 22%, rgba(255,90,55,.30), transparent 62%),
             linear-gradient(155deg,#1B2260 0%,#03094B 58%,#020733 100%); }
.kcs-hero__art img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.42; }
.kcs-hero__grid{ position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:52px 52px;
  -webkit-mask-image:radial-gradient(80% 70% at 60% 45%,#000 30%,transparent 78%);
  mask-image:radial-gradient(80% 70% at 60% 45%,#000 30%,transparent 78%); }
.kcs-hero__plate{ position:absolute; left:-46px; bottom:52px; background:var(--kcs-paper); color:var(--kcs-navy);
  border-radius:var(--kcs-radius-md); padding:20px 24px; width:272px; border:1px solid var(--kcs-line); }
.kcs-hero__plate .k{ font-size:.62rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--kcs-coral); }
.kcs-hero__plate .v{ font-family:var(--kcs-font-display); font-size:1.16rem; line-height:1.2; margin-top:7px; font-weight:700; }
.kcs-hero__plate .s{ font-size:.74rem; color:var(--kcs-slate-soft); margin-top:6px; }

/* compact page hero for interior pages */
.kcs-pagehead{ background:var(--kcs-navy); color:#fff; padding:74px 0 68px; position:relative; overflow:hidden; }
.kcs-pagehead::after{ content:""; position:absolute; inset:0;
  background:radial-gradient(90% 120% at 88% 12%, rgba(255,90,55,.22), transparent 58%); pointer-events:none; }
.kcs-pagehead > *{ position:relative; z-index:1; }
.kcs-pagehead .kcs-h1{ color:#fff; max-width:20ch; }
.kcs-pagehead .kcs-lede{ color:rgba(255,255,255,.8); }

@media (max-width:900px){
  .kcs-hero{ grid-template-columns:1fr; min-height:0; }
  .kcs-hero__copy{ padding:52px 0; }
  .kcs-hero__copy-in{ max-width:none; padding:0 24px; margin-left:0; }
  .kcs-hero__art{ min-height:260px; }
  .kcs-hero__plate{ left:24px; bottom:24px; width:auto; right:24px; }
  .kcs-pagehead{ padding:52px 0 48px; }
}

/* --------------------------------------------------------------- trust -- */
.kcs-trust{ background:var(--kcs-mist-2); border-bottom:1px solid var(--kcs-line); }
.kcs-trust__in{ display:flex; align-items:center; gap:24px; flex-wrap:wrap; padding:20px 0; }
.kcs-trust b{ font-size:.66rem; letter-spacing:.15em; text-transform:uppercase; color:var(--kcs-slate-soft); font-weight:700; }
.kcs-trust .chip{ font-size:.78rem; color:var(--kcs-navy); font-weight:600; padding:4px 0; border-bottom:2px solid var(--kcs-coral); }

/* --------------------------------------------------------------- grids -- */
.kcs-grid{ display:grid; gap:20px; }
.kcs-grid--2{ grid-template-columns:repeat(2,1fr); }
.kcs-grid--3{ grid-template-columns:repeat(3,1fr); }
.kcs-grid--4{ grid-template-columns:repeat(4,1fr); }
.kcs-split{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.kcs-split img{ width:100%; height:auto; border-radius:var(--kcs-radius-md); display:block; }
@media (max-width:900px){
  .kcs-grid--2,.kcs-grid--3,.kcs-grid--4,.kcs-split{ grid-template-columns:1fr; gap:20px; }
}

/* --------------------------------------------------------------- cards -- */
.kcs-card{
  background:var(--kcs-paper); border:1px solid var(--kcs-line); border-radius:var(--kcs-radius-md);
  padding:26px 24px 22px; display:flex; flex-direction:column;
  transition:border-color .18s ease, transform .18s ease;
}
.kcs-card:hover{ border-color:var(--kcs-navy); transform:translateY(-2px); }
.kcs-card .k{ font-size:.62rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--kcs-slate-soft); }
.kcs-card h3, .kcs-card h4{ font-family:var(--kcs-font-display); font-weight:700; font-size:1.08rem; line-height:1.22; margin:11px 0 8px; }
.kcs-card p{ margin:0 0 16px; font-size:.87rem; color:var(--kcs-slate); line-height:1.6; flex:1; }
.kcs-card--accent{ border-left:3px solid var(--kcs-coral); }
.kcs-section--surface .kcs-card{ background:var(--kcs-paper); }

.kcs-flagship-card{
  background:var(--kcs-navy); color:#fff; border-radius:var(--kcs-radius-md);
  padding:38px 40px; display:grid; grid-template-columns:1fr auto; gap:28px; align-items:center;
  position:relative; overflow:hidden; margin-bottom:20px;
}
.kcs-flagship-card::before{ content:""; position:absolute; inset:0 auto 0 0; width:4px; background:var(--kcs-coral); }
.kcs-flagship-card h3{ font-family:var(--kcs-font-display); font-size:1.55rem; margin:14px 0 8px; font-weight:700; color:#fff; }
.kcs-flagship-card p{ margin:0; color:rgba(255,255,255,.76); font-size:.92rem; max-width:52ch; line-height:1.6; }
@media (max-width:900px){ .kcs-flagship-card{ grid-template-columns:1fr; padding:28px 24px; } }

/* ------------------------------------------------------ numbered list -- */
.kcs-numlist{ display:grid; }
.kcs-numlist__item{ padding:22px 0; border-top:1px solid var(--kcs-line); display:grid; grid-template-columns:auto 1fr; gap:20px; align-items:baseline; }
.kcs-numlist__item:last-child{ border-bottom:1px solid var(--kcs-line); }
.kcs-numlist__item .n{ font-family:var(--kcs-font-mono); font-size:.74rem; color:var(--kcs-coral); font-weight:700; }
.kcs-numlist__item h4{ font-family:var(--kcs-font-display); font-size:1.1rem; margin:0 0 5px; font-weight:700; }
.kcs-numlist__item p{ margin:0; font-size:.89rem; color:var(--kcs-slate); line-height:1.6; }

/* ------------------------------------------------------------- steps --- */
.kcs-steps{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.16); border-radius:var(--kcs-radius-md); overflow:hidden; }
.kcs-steps .step{ background:var(--kcs-navy); padding:20px 22px; }
.kcs-steps .step .n{ font-family:var(--kcs-font-mono); font-size:.7rem; color:var(--kcs-coral); font-weight:700; }
.kcs-steps .step h5{ font-family:var(--kcs-font-display); font-size:1rem; margin:8px 0 4px; font-weight:700; color:#fff; }
.kcs-steps .step p{ margin:0; font-size:.79rem; color:rgba(255,255,255,.66); line-height:1.5; }
@media (max-width:600px){ .kcs-steps{ grid-template-columns:1fr; } }

/* ------------------------------------------------------------- lists --- */
.kcs-checklist{ list-style:none; margin:12px 0 0; padding:0; }
.kcs-checklist li{ position:relative; padding-left:22px; margin-bottom:11px; font-size:.93rem; line-height:1.6; color:var(--kcs-slate); }
.kcs-checklist li::before{ content:""; position:absolute; left:0; top:.55em; width:7px; height:7px; border-radius:2px; background:var(--kcs-coral); }
.kcs-acc-list{ list-style:none; margin:10px 0 0; padding:0; }
.kcs-acc-list li{ font-family:var(--kcs-font-mono); font-size:.78rem; color:var(--kcs-slate); padding:4px 0; border-bottom:1px solid var(--kcs-line); }
.kcs-acc-list li:last-child{ border-bottom:none; }

/* ---------------------------------------------------------------- faq --- */
.kcs-page details.kcs-card{ display:block; padding:20px 24px; margin-bottom:12px; }
.kcs-page details.kcs-card summary{
  font-family:var(--kcs-font-display); font-weight:700; font-size:1.02rem; cursor:pointer;
  color:var(--kcs-navy); list-style:none; position:relative; padding-right:28px;
}
.kcs-page details.kcs-card summary::-webkit-details-marker{ display:none; }
.kcs-page details.kcs-card summary::after{
  content:"+"; position:absolute; right:0; top:-2px; font-family:var(--kcs-font-body);
  font-size:1.3rem; color:var(--kcs-coral); font-weight:400; line-height:1;
}
.kcs-page details.kcs-card[open] summary::after{ content:"\2212"; }
.kcs-page details.kcs-card:hover{ transform:none; }

/* ----------------------------------------------------------- cta band --- */
.kcs-cta-band{ background:var(--kcs-navy); color:#fff; text-align:center; padding:84px 0; position:relative; overflow:hidden; }
.kcs-cta-band::after{ content:""; position:absolute; inset:0;
  background:radial-gradient(70% 130% at 50% 0%, rgba(255,90,55,.20), transparent 60%); pointer-events:none; }
.kcs-cta-band > *{ position:relative; z-index:1; }
.kcs-cta-band .kcs-h2{ color:#fff; margin-bottom:12px; }
.kcs-cta-band p{ color:rgba(255,255,255,.75); max-width:52ch; margin:0 auto; font-size:.96rem; line-height:1.6; }
.kcs-cta-band .kcs-btn-row{ justify-content:center; }

/* ------------------------------------------------------------- footer --- */
.kcs-footer-extra{ background:var(--kcs-navy-deep); color:rgba(255,255,255,.72); padding:62px 0 26px; }
.kcs-footer-extra .kcs-container{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:34px; }
.kcs-footer-extra h5{ font-size:.66rem; letter-spacing:.15em; text-transform:uppercase; color:#fff; margin:0 0 14px; font-weight:700; font-family:var(--kcs-font-body); }
.kcs-footer-extra ul{ list-style:none; margin:0; padding:0; }
.kcs-footer-extra li{ margin-bottom:9px; font-size:.84rem; line-height:1.5; }
.kcs-footer-extra a{ color:rgba(255,255,255,.72); text-decoration:none; font-size:.84rem; }
.kcs-footer-extra a:hover{ color:#fff; text-decoration:underline; }
.kcs-footer-extra .kcs-footer-brand p{ color:rgba(255,255,255,.6); font-size:.84rem; max-width:34ch; margin:10px 0 0; line-height:1.62; }
.kcs-footer-bottom{ border-top:1px solid rgba(255,255,255,.14); margin-top:36px; padding-top:20px;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:.75rem; color:rgba(255,255,255,.5); }
@media (max-width:900px){ .kcs-footer-extra .kcs-container{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .kcs-footer-extra .kcs-container{ grid-template-columns:1fr; } }

/* --------------------------------------------------------- animation --- */
.kcs-reveal{ opacity:1; }
html.kcs-js .kcs-reveal{ opacity:0; transform:translateY(14px); transition:opacity .5s ease, transform .5s ease; }
html.kcs-js .kcs-reveal.is-visible{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  html.kcs-js .kcs-reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
  .kcs-card:hover{ transform:none; }
}

/* ------------------------------------------------------------- focus --- */
.kcs-page a:focus-visible, .kcs-page summary:focus-visible, .kcs-btn:focus-visible{
  outline:3px solid var(--kcs-coral); outline-offset:3px; border-radius:2px;
}


/* ================= KCS UNIFIED CARD SYSTEM ================= */
.kcs-card, .kcs-page .kcs-card{
  background:#FFFFFF !important;
  border:1px solid #E1E6ED !important;
  border-top:1px solid #E1E6ED !important;
  border-radius:8px !important;
  box-shadow:none !important;
  padding:26px 24px 24px !important;
  display:flex; flex-direction:column;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.kcs-card:hover, .kcs-page .kcs-card:hover{
  border-color:#C7D0DC !important;
  box-shadow:0 6px 18px rgba(10,25,47,.08) !important;
  transform:translateY(-2px);
}
/* labels stay branded, borders do not */
.kcs-card .k{ color:#5A6B7D !important; }
.kcs-card h3, .kcs-card h4{ color:#12203D; }
.kcs-card-meta{ border-top:1px solid #EDF1F6 !important; }
/* badges: quiet neutral chip, not a coral block */
.kcs-card .kcs-badge{
  background:#F2F5F9 !important; color:#12203D !important;
  border:1px solid #E1E6ED !important; border-radius:4px !important;
}
/* cards on navy sections keep the same box language */
.kcs-section--navy .kcs-card{ background:#FFFFFF !important; }
@media (max-width:600px){
  .kcs-card, .kcs-page .kcs-card{ padding:22px 20px !important; border-radius:8px !important; }
  .kcs-card:hover{ transform:none; box-shadow:none !important; }
}


/* ================= KCS HERO FORM ================= */
.kcs-hero__art{ position:relative; overflow:hidden; }
.kcs-hero__form{
  position:absolute; top:50%; right:34px; transform:translateY(-50%);
  width:min(370px, calc(100% - 68px));
  background:#FFFFFF; border:1px solid #E1E6ED; border-radius:10px;
  box-shadow:0 14px 34px rgba(10,25,47,.18);
  padding:22px 22px 8px; box-sizing:border-box; z-index:3;
}
.kcs-hero__form-head{ border-bottom:1px solid #EDF1F6; padding-bottom:14px; margin-bottom:16px; }
.kcs-hero__form-head .k{ display:block; font-size:.62rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#5A6B7D; margin-bottom:7px; }
.kcs-hero__form-head strong{ display:block; font-family:var(--kcs-font-display); font-size:1.12rem; line-height:1.25; color:#12203D; }
.kcs-hero__form-head .s{ display:block; font-size:12.5px; color:#5A6B7D; margin-top:6px; }
.kcs-hero__form .ff-el-group{ margin-bottom:12px !important; }
.kcs-hero__form .ff-el-input--label label{ font-size:12.5px !important; font-weight:600; color:#12203D; margin-bottom:5px; }
.kcs-hero__form input[type=text], .kcs-hero__form input[type=tel], .kcs-hero__form select{
  width:100%; padding:10px 12px; border:1px solid #C9D2DE; border-radius:6px;
  font-size:14.5px; background:#fff; color:#12203D; box-sizing:border-box;
}
.kcs-hero__form input:focus, .kcs-hero__form select:focus{ outline:none; border-color:#0A192F; box-shadow:0 0 0 3px rgba(10,25,47,.08); }
.kcs-hero__form .ff-el-form-check label{ font-size:12px !important; line-height:1.45; color:#5A6B7D; }
.kcs-hero__form .ff-btn-submit{
  width:100%; background:#FF7A59 !important; color:#0A192F !important; border:0 !important;
  border-radius:6px !important; padding:13px 20px !important; font-weight:700 !important;
  font-size:15px !important; box-shadow:none !important; cursor:pointer;
}
.kcs-hero__form .ff-btn-submit:hover{ filter:brightness(.95); }
.kcs-hero__form .ff-message-success{ font-size:14px; color:#12203D; }
@media (max-width:1100px){ .kcs-hero__form{ right:22px; width:min(330px, calc(100% - 44px)); padding:18px 18px 6px; } }
@media (max-width:900px){
  .kcs-hero__art{ overflow:visible; }
  .kcs-hero__form{ position:static; transform:none; width:auto; margin:-42px 20px 24px; box-shadow:0 10px 26px rgba(10,25,47,.14); }
}


/* ================= KCS NAV CTA + POLISH ================= */
#ast-hf-menu-1 .kcs-nav-cta > a, .main-header-menu .kcs-nav-cta > a{
  background:#FF7A59; color:#0A192F !important; border-radius:6px;
  padding:9px 18px !important; font-weight:700 !important; font-size:13px !important;
  margin-left:10px; line-height:1.2; transition:filter .18s ease;
}
#ast-hf-menu-1 .kcs-nav-cta > a:hover, .main-header-menu .kcs-nav-cta > a:hover{ filter:brightness(.94); color:#0A192F !important; }
#ast-hf-menu-1 .kcs-nav-cta > a .menu-text{ color:#0A192F !important; }
/* tidy top-level spacing now that the menu is shorter */
#ast-hf-menu-1 > .menu-item > a, .main-header-menu > .menu-item > a{ font-size:14px !important; padding-left:14px !important; padding-right:14px !important; }
/* hero card breathing room */
.kcs-hero__form{ padding:24px 24px 10px !important; }
.kcs-hero__form-head{ padding-bottom:16px !important; margin-bottom:18px !important; }
.kcs-hero__form-head strong{ font-size:1.18rem !important; }
/* four steps sit 2x2 on desktop, stack on mobile */
@media (max-width:700px){ .kcs-steps{ grid-template-columns:1fr; } }

/* fallback: hide Astra footer where the KCS footer is present */
body.kcs-no-astra-footer #colophon.site-footer{ display:none !important; }


/* ================= KCS FOOTER V2 ================= */
.kcs-footer-extra{ background:#0A192F; color:#C9D4E2; padding:60px 0 26px; margin-top:0; }
.kcs-foot-grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1.15fr; gap:44px; align-items:start; }
.kcs-foot-logo{ width:auto; height:46px; max-width:230px; display:block; margin-bottom:18px; filter:brightness(0) invert(1); opacity:.95; }
.kcs-foot-brand p{ font-size:14px; line-height:1.65; color:#9FB0C4; margin:0 0 22px; max-width:340px; }
.kcs-foot-acc{ border-top:1px solid rgba(255,255,255,.12); padding-top:14px; }
.kcs-foot-acc .lbl{ display:block; font-size:.6rem; letter-spacing:.14em; text-transform:uppercase; color:#7C8FA6; margin-bottom:6px; font-weight:700; }
.kcs-foot-acc .nums{ display:block; font-size:11.5px; line-height:1.7; color:#9FB0C4; letter-spacing:.02em; }
.kcs-foot-col h5{ font-family:var(--kcs-font-display); font-size:.95rem; color:#FFFFFF; margin:0 0 16px; }
.kcs-foot-col ul{ list-style:none; margin:0; padding:0; }
.kcs-foot-col li{ font-size:14px; line-height:1.6; color:#9FB0C4; margin-bottom:10px; }
.kcs-foot-col a{ color:#C9D4E2; text-decoration:none; transition:color .16s ease; }
.kcs-foot-col a:hover{ color:#FF7A59; }
.kcs-foot-cta{ display:inline-block; margin-top:16px; background:#FF7A59; color:#0A192F !important; font-weight:700; font-size:14px; padding:11px 22px; border-radius:6px; text-decoration:none; transition:filter .16s ease; }
.kcs-foot-cta:hover{ filter:brightness(.94); color:#0A192F !important; }
.kcs-footer-bottom{ display:flex; flex-wrap:wrap; gap:10px 24px; justify-content:space-between; align-items:center; margin-top:46px; padding-top:20px; border-top:1px solid rgba(255,255,255,.12); font-size:12.5px; color:#7C8FA6; }
.kcs-foot-tag{ letter-spacing:.05em; text-transform:uppercase; font-size:11px; color:#7C8FA6; }
@media (max-width:1000px){ .kcs-foot-grid{ grid-template-columns:1fr 1fr; gap:36px; } }
@media (max-width:640px){
  .kcs-footer-extra{ padding:44px 0 22px; }
  .kcs-foot-grid{ grid-template-columns:1fr; gap:30px; }
  .kcs-footer-bottom{ flex-direction:column; align-items:flex-start; margin-top:32px; }
}
