:root{
  --k9p-dark:#16181a;
  --k9p-accent:#c8102e;
  --k9p-line:#e4e7ea;
  --k9p-muted:#6a7178;
  --k9p-maxw:1140px;
}
*,*::before,*::after{ box-sizing:border-box; }
body{
  margin:0; font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  color:#2b2f33; background:#fff; -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; }
.k9p-wrap{ max-width:var(--k9p-maxw); margin:0 auto; padding:0 18px; }

.k9p-header{ background:#fff; border-bottom:1px solid var(--k9p-line); position:relative; z-index:20; }
.k9p-header__inner{ display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:14px 18px; max-width:var(--k9p-maxw); margin:0 auto; }
.k9p-logo img{ display:block; max-height:62px; width:auto; }
.k9p-nav ul{ list-style:none; display:flex; flex-wrap:wrap; gap:26px; margin:0; padding:0;
  align-items:center; }
.k9p-nav a{ text-decoration:none; color:var(--k9p-dark); font-size:14px; font-weight:700;
  text-transform:uppercase; letter-spacing:.06em; }
.k9p-nav a:hover,.k9p-nav a:focus{ color:var(--k9p-accent); }
.k9p-nav .k9p-tel a{ color:var(--k9p-accent); }
.k9p-nav [aria-current="page"]{ color:var(--k9p-accent); }

.k9p-hero{ background:var(--k9p-dark); color:#fff; padding:64px 0 60px; text-align:center; }
.k9p-hero h2{ margin:0 0 10px; font-size:13px; letter-spacing:.2em; text-transform:uppercase;
  color:#f0b429; font-weight:700; }
.k9p-hero p{ margin:0 0 26px; font-size:clamp(26px,4.4vw,42px); line-height:1.15; font-weight:800;
  text-transform:uppercase; letter-spacing:.01em; }
.k9p-hero__btns{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.k9p-hero__btns a{
  display:inline-block; padding:14px 28px; border-radius:6px; text-decoration:none;
  font-size:15px; font-weight:800; text-transform:uppercase; letter-spacing:.04em;
  background:var(--k9p-accent); color:#fff; border:2px solid var(--k9p-accent);
}
.k9p-hero__btns a+a{ background:transparent; border-color:#fff; }
.k9p-hero__btns a:hover{ opacity:.9; }

.k9p-services{ padding:56px 0; }
.k9p-services h2{ margin:0 0 8px; text-align:center; font-size:clamp(23px,3vw,32px);
  font-weight:800; text-transform:uppercase; }
.k9p-services__lead{ text-align:center; margin:0 auto 34px; max-width:720px; font-size:16.5px;
  line-height:1.7; color:var(--k9p-muted); }
.k9p-services__grid{ display:grid; gap:24px; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); }
.k9p-service h3{ margin:0 0 10px; font-size:18px; font-weight:800; text-transform:uppercase; }
.k9p-service h3 a{ color:var(--k9p-accent); text-decoration:none; }
.k9p-service h3 a:hover{ text-decoration:underline; }
.k9p-service p{ margin:0; font-size:15.5px; line-height:1.65; color:var(--k9p-muted); }

.k9p-awards{ padding:44px 0; border-top:1px solid var(--k9p-line); text-align:center; }
.k9p-awards p{ margin:0 auto 26px; max-width:760px; font-size:16px; line-height:1.7;
  color:var(--k9p-muted); }
.k9p-awards__row{ display:flex; gap:26px; justify-content:center; align-items:center;
  flex-wrap:wrap; }
.k9p-awards__row img{ max-height:96px; width:auto; }

.k9p-footer{ background:var(--k9p-dark); color:#c9ced4; padding:44px 0 32px; }
.k9p-footer h2{ margin:0 0 12px; font-size:13px; letter-spacing:.12em; text-transform:uppercase;
  color:#fff; font-weight:800; }
.k9p-footer p{ margin:0 0 14px; font-size:15px; line-height:1.7; }
.k9p-footer a{ color:#f0b429; }
.k9p-footer__logo{ margin-top:24px; }
.k9p-footer__logo img{ max-height:80px; width:auto; }
.k9p-copy{ background:#0e1012; color:#8a9096; padding:16px 0; font-size:13px; text-align:center; }
.k9p-copy a{ color:#8a9096; text-decoration:none; }
.k9p-copy a:hover{ text-decoration:underline; }

@media (max-width:820px){
  .k9p-header__inner{ flex-direction:column; align-items:flex-start; }
  .k9p-nav ul{ gap:16px; }
  .k9p-hero{ padding:46px 0 44px; }
  .k9p-services{ padding:42px 0; }
}

.k9p-slider{ position:relative; background:var(--k9p-dark); color:#fff; overflow:hidden; }
.k9p-slide{
  display:none; padding:78px 18px 74px; text-align:center; max-width:var(--k9p-maxw);
  margin:0 auto;
}
.k9p-slide.is-active{ display:block; animation:k9pFade .5s ease; }
@keyframes k9pFade{ from{ opacity:0; } to{ opacity:1; } }
.k9p-slide h2{
  margin:0 0 12px; font-size:clamp(28px,5vw,50px); line-height:1.1; font-weight:800;
  text-transform:uppercase; letter-spacing:.01em;
}
.k9p-slide h2 em{ display:block; font-style:normal; color:#f0b429; }
.k9p-slide p{ margin:0 auto 28px; max-width:640px; font-size:17px; line-height:1.6; color:#c9ced4; }
.k9p-slide__btns{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.k9p-slide__btns a{
  display:inline-block; padding:14px 28px; border-radius:6px; text-decoration:none;
  font-size:15px; font-weight:800; text-transform:uppercase; letter-spacing:.04em;
  background:var(--k9p-accent); color:#fff; border:2px solid var(--k9p-accent);
  transition:background .18s ease, transform .18s ease;
}
.k9p-slide__btns a+a{ background:transparent; border-color:#fff; }
.k9p-slide__btns a:hover{ transform:translateY(-2px); }
.k9p-slide__btns a+a:hover{ background:#fff; color:var(--k9p-dark); }
.k9p-dots{ display:flex; gap:10px; justify-content:center; padding:0 0 26px; margin:0; }
.k9p-dots button{
  width:11px; height:11px; padding:0; border-radius:50%; cursor:pointer;
  border:2px solid rgba(255,255,255,.5); background:transparent;
}
.k9p-dots button[aria-selected="true"]{ background:var(--k9p-accent); border-color:var(--k9p-accent); }
.k9p-dots button:focus-visible{ outline:3px solid #f0b429; outline-offset:3px; }

.k9p-intro{ padding:56px 0; }
.k9p-intro h1{ margin:0 0 14px; font-size:clamp(24px,3.4vw,34px); font-weight:800;
  text-transform:uppercase; letter-spacing:.01em; }
.k9p-intro p{ margin:0 0 18px; font-size:16.5px; line-height:1.75; color:var(--k9p-muted); }
.k9p-intro__grid{ display:grid; gap:38px; align-items:center;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.k9p-intro img{ border-radius:6px; display:block; }
.k9p-intro h2{ margin:26px 0 12px; font-size:clamp(20px,2.6vw,26px); font-weight:800;
  text-transform:uppercase; }

@media (max-width:820px){
  .k9p-intro__grid{ grid-template-columns:minmax(0,1fr); gap:24px; }
  .k9p-slide{ padding:52px 18px 46px; }
}

.k9p-sr{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0 0 0 0); white-space:nowrap; border:0; }
