:root {
  --pk-orange: #c65d2d;
  --pk-orange-dark: #a74720;
  --pk-black: #202020;
  --pk-gray: #f2f2f0;
  --pk-line: #deded9;
  --pk-display: "Arial Narrow", "Helvetica Neue Condensed Black", "Roboto Condensed", Arial, sans-serif;
  --header-h: 76px;
}

/*
 * Desktopové prohlížeče při 50% zoomu zdvojnásobí dostupný CSS viewport.
 * Tato třída vrátí layout na efektivní šířku odpovídající 100% zobrazení.
 * Aktivuje se pouze cílenou detekcí v JavaScriptu.
 */
html.pk-zoom-50 {
  zoom: 2;
}

html.pk-zoom-50 .pk-hero {
  height: 480px;
}

html.pk-zoom-50 .pk-hero--page {
  height: 360px;
}

html {
  scroll-padding-top: var(--header-h);
}

body {
  background: #fff;
  color: var(--pk-black);
  font-family: Arial, Helvetica, sans-serif;
}

.pk-shell {
  width: min(calc(100% - 40px), 1480px);
  margin-inline: auto;
}

.pk-header.site-header {
  height: var(--header-h);
  background: rgba(255, 255, 255, .98);
  border-bottom: 1px solid #e5e5e2;
  box-shadow: none;
  backdrop-filter: blur(12px);
}

.pk-header .pk-header__inner {
  height: 100%;
  display: flex;
  align-items: center;
  gap: 26px;
}

.pk-header .pk-header__logo {
  width: 220px;
  flex: 0 0 auto;
}

.pk-header .pk-header__nav {
  gap: 22px;
  margin-left: auto;
}

.pk-header .pk-header__nav a {
  padding: 30px 0 25px;
  color: #222;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .035em;
}

.pk-header .pk-header__nav a::after {
  bottom: 18px;
}

.pk-header .pk-header__nav .nav-reviews {
  color: var(--pk-orange);
}

.pk-header .pk-header__contact {
  display: flex;
  align-items: center;
  gap: 13px;
}

.pk-header .header-phone {
  min-width: 135px;
}

.pk-header .header-phone span {
  font-size: 8px;
}

.pk-header .header-phone b {
  font-size: 14px;
}

.pk-header__estimate {
  min-height: 38px;
  border: 1px solid var(--pk-orange);
  background: #fff;
  color: var(--pk-orange);
  padding: 0 13px;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
  transition: .2s ease;
}

.pk-header__estimate:hover {
  background: var(--pk-orange);
  color: #fff;
}

.pk-home {
  overflow: hidden;
}

.pk-hero {
  position: relative;
  width: 100%;
  height: clamp(480px, 30vw, 570px);
  margin: var(--header-h) 0 0;
  overflow: hidden;
  background: #d1d1cf;
}

.pk-hero__photo,
.pk-hero__plan,
.pk-hero__shade {
  position: absolute;
  inset-block: 0;
}

.pk-hero__photo {
  left: 0;
  width: 64%;
  background: url("../img/projects/ai-koupelna-hero.jpg") center 55% / cover no-repeat;
}

.pk-hero__plan {
  right: 0;
  width: 44%;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #fff;
}

.pk-hero__plan::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0 auto 0 0;
  width: 22%;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(45, 45, 45, .62), rgba(110, 110, 110, .34) 42%, rgba(255, 255, 255, 0));
}

.pk-hero__plan img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transform: none;
}

.pk-hero__shade {
  left: 0;
  right: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, .27) 0%, rgba(0, 0, 0, .78) 34%, rgba(0, 0, 0, .8) 55%, rgba(70, 70, 70, .72) 64%, rgba(155, 155, 155, .38) 73%, rgba(255, 255, 255, 0) 84%);
}

.pk-hero__content {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: min(calc(100% - 40px), 1040px);
  margin-inline: auto;
  padding: 24px 0 30px;
  color: #fff;
  text-align: center;
}

.pk-kicker {
  margin: 0 0 12px;
  color: #e7a37f;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.pk-hero h1 {
  max-width: 900px;
  margin: 0;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: clamp(28px, 3.2vw, 44px);
  font-stretch: condensed;
  line-height: .98;
  letter-spacing: -.025em;
  text-transform: uppercase;
  text-shadow: 0 3px 18px rgba(0, 0, 0, .34);
}

.pk-hero__lead {
  margin: 14px 0 21px;
  font-size: 16px;
  line-height: 1.45;
}

.pk-actions {
  display: flex;
  justify-content: center;
  gap: 10px;
}

.pk-button {
  min-height: 45px;
  border: 1px solid transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .055em;
  text-transform: uppercase;
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}

.pk-button:hover {
  transform: translateY(-2px);
}

.pk-button--accent {
  border-color: var(--pk-orange);
  background: var(--pk-orange);
  color: #fff;
}

.pk-button--accent:hover {
  border-color: var(--pk-orange-dark);
  background: var(--pk-orange-dark);
}

.pk-button--dark {
  border-color: rgba(255, 255, 255, .7);
  background: rgba(25, 25, 25, .72);
  color: #fff;
}

.pk-button--whatsapp {
  border-color: #188c59;
  background: #188c59;
  color: #fff;
}

.pk-button--full {
  width: 100%;
}

.pk-services {
  position: relative;
  z-index: 4;
  margin-top: -38px;
  padding-bottom: 14px;
}

.pk-services__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.pk-service {
  min-height: 126px;
  border: 1px solid #ecebe7;
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 14px;
  align-items: center;
  padding: 20px 18px;
  background: #fff;
  box-shadow: 0 12px 26px rgba(0, 0, 0, .13);
  transform: rotate(-.35deg);
}

.pk-service:nth-child(even) {
  transform: rotate(.35deg);
}

.pk-service__icon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  color: var(--pk-orange);
}

.pk-service__icon svg {
  width: 46px;
  height: 46px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.pk-service h2 {
  margin: 0 0 7px;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 18px;
  line-height: 1.02;
  text-transform: uppercase;
}

.pk-service p {
  margin: 0;
  color: #494949;
  font-size: 11px;
  line-height: 1.38;
}

.pk-projects {
  padding: 28px 0 44px;
  background: #f8f8f6;
}

.pk-section-title {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}

.pk-section-title span,
.pk-label {
  display: block;
  margin-bottom: 5px;
  color: var(--pk-orange);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.pk-section-title h2 {
  margin: 0;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 36px;
  line-height: 1;
  text-transform: uppercase;
}

.pk-section-title > a,
.pk-text-link {
  color: var(--pk-orange);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.pk-projects__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.pk-project {
  min-width: 0;
}

.pk-project__image {
  position: relative;
  aspect-ratio: 1.56 / 1;
  overflow: hidden;
  background: #ddd;
}

.pk-project__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}

.pk-project:hover .pk-project__image img {
  transform: scale(1.035);
}

.pk-project h3 {
  margin: 10px 0 0;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 18px;
  line-height: 1.05;
  text-transform: uppercase;
}

.pk-about {
  padding: 70px 0;
  background: #fff;
}

.pk-about__grid {
  display: grid;
  grid-template-columns: .88fr 1.12fr;
  gap: 70px;
  align-items: center;
}

.pk-about__image img {
  width: 100%;
  height: 390px;
  object-fit: cover;
}

.pk-about__copy h2,
.pk-contact h2 {
  margin: 0 0 18px;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: clamp(34px, 4vw, 55px);
  line-height: .98;
  text-transform: uppercase;
}

.pk-about__copy p {
  max-width: 650px;
  color: #626262;
  font-size: 15px;
  line-height: 1.65;
}

.pk-about__copy ul {
  margin: 22px 0;
  padding: 0;
  list-style: none;
}

.pk-about__copy li {
  border-bottom: 1px solid var(--pk-line);
  padding: 10px 0;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.pk-about__copy li::before {
  content: "+";
  margin-right: 9px;
  color: var(--pk-orange);
}

.pk-contact {
  padding: 62px 0;
  background: var(--pk-orange);
  color: #fff;
}

.pk-contact__grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 60px;
  align-items: center;
}

.pk-contact .pk-label {
  color: #fff;
  opacity: .72;
}

.pk-contact h2 {
  margin: 0;
  max-width: 720px;
}

.pk-contact__actions {
  display: grid;
  gap: 9px;
}

.pk-contact__actions .pk-button--accent {
  border-color: #fff;
  background: #fff;
  color: var(--pk-black);
}

.pk-contact__phone {
  color: #fff;
  text-align: center;
  font-size: 18px;
  font-weight: 900;
}

.pk-footer {
  padding: 42px 0 18px;
  background: #202124;
  color: #fff;
}

.pk-footer__grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: 60px;
  align-items: start;
}

.pk-footer__brand img {
  width: 225px;
}

.pk-footer nav,
.pk-footer__contact {
  display: grid;
  gap: 9px;
}

.pk-footer a {
  color: #c8c8c8;
  font-size: 12px;
}

.pk-footer a:hover {
  color: #fff;
}

.pk-footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, .12);
  display: flex;
  align-items: center;
  gap: 22px;
  margin-top: 30px;
  padding-top: 15px;
}

.pk-footer__bottom > * {
  color: #8f8f8f;
  font-size: 10px;
}

.pk-footer__social {
  display: flex;
  gap: 8px;
  margin-left: auto;
}

.pk-footer__social span {
  width: 25px;
  height: 25px;
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
}

.estimate-modal .pk-button {
  border: 0;
}

@media (max-width: 1160px) {
  .pk-header .pk-header__nav {
    gap: 14px;
  }

  .pk-header .pk-header__nav a {
    font-size: 10px;
  }

  .pk-header .header-phone {
    display: none;
  }

  .pk-services__grid {
    gap: 8px;
  }

  .pk-service {
    grid-template-columns: 46px 1fr;
    gap: 10px;
    padding: 17px 13px;
  }

  .pk-service__icon {
    width: 44px;
  }
}

@media (max-width: 980px) {
  :root {
    --header-h: 68px;
  }

  .pk-shell {
    width: min(calc(100% - 28px), 1480px);
  }

  .pk-header .pk-header__logo {
    width: 205px;
  }

  .pk-header .pk-header__nav,
  .pk-header__estimate {
    display: none;
  }

  .pk-header .menu-toggle {
    display: block;
  }

  .pk-header .pk-header__contact {
    margin-left: auto;
  }

  .pk-hero {
    height: 470px;
  }

  .pk-hero__photo {
    width: 70%;
  }

  .pk-hero__plan {
    width: 40%;
  }

  .pk-hero__content {
    width: min(calc(100% - 28px), 860px);
    margin-inline: auto;
  }

  .pk-services__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .pk-service {
    transform: none !important;
  }

  .pk-projects__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 14px;
  }

  .pk-about__grid {
    gap: 38px;
  }
}

@media (max-width: 640px) {
  .pk-shell {
    width: min(calc(100% - 22px), 1480px);
  }

  .pk-header .pk-header__logo {
    width: 178px;
  }

  .pk-hero {
    height: auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    padding: 0;
    background: #fff;
  }

  .pk-hero__photo {
    inset: 0 0 auto;
    width: 100%;
    height: 370px;
    background-position: center;
  }

  .pk-hero__shade {
    inset: 0 0 auto;
    height: 370px;
    background: linear-gradient(90deg, rgba(0, 0, 0, .64), rgba(0, 0, 0, .58));
  }

  .pk-hero__content {
    order: 2;
    width: min(calc(100% - 28px), 520px);
    min-height: 370px;
    margin: 0 auto;
    padding: 28px 0 30px;
  }

  .pk-kicker {
    font-size: 8px;
  }

  .pk-hero h1 {
    font-size: clamp(29px, 8.7vw, 34px);
    line-height: .96;
  }

  .pk-hero__lead {
    max-width: 350px;
    margin: 12px 0 17px;
    font-size: 13px;
  }

  .pk-actions {
    width: 100%;
    flex-direction: row;
    gap: 7px;
  }

  .pk-actions .pk-button {
    width: auto;
    min-width: 0;
    min-height: 44px;
    flex: 1 1 0;
    padding-inline: 9px;
    font-size: 8.5px;
  }

  .pk-hero__plan {
    position: relative;
    inset: auto;
    order: 3;
    width: 100%;
    height: 250px;
    border-bottom: 1px solid var(--pk-line);
  }

  .pk-hero__plan img {
    transform: none;
  }

  .pk-hero__plan::before {
    inset: 0 0 auto;
    width: 100%;
    height: 30px;
    background: linear-gradient(180deg, rgba(64, 64, 64, .28), rgba(255, 255, 255, 0));
  }

  .pk-services {
    margin-top: -12px;
    padding-bottom: 0;
  }

  .pk-services__grid {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .pk-service {
    min-height: 172px;
    display: block;
    padding: 16px 13px;
  }

  .pk-service__icon {
    width: 42px;
    height: 42px;
    margin-bottom: 10px;
  }

  .pk-service__icon svg {
    width: 38px;
    height: 38px;
  }

  .pk-service h2 {
    font-size: 16px;
  }

  .pk-service p {
    font-size: 10px;
  }

  .pk-projects {
    padding: 38px 0 45px;
  }

  .pk-section-title {
    align-items: center;
  }

  .pk-section-title h2 {
    font-size: 31px;
  }

  .pk-section-title > a {
    max-width: 90px;
    text-align: right;
  }

  .pk-projects__grid {
    gap: 20px 8px;
  }

  .pk-project__image {
    aspect-ratio: 1.1 / 1;
  }

  .pk-project h3 {
    font-size: 15px;
  }

  .pk-about {
    padding: 50px 0;
  }

  .pk-about__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .pk-about__image img {
    height: 270px;
  }

  .pk-about__copy h2,
  .pk-contact h2 {
    font-size: 36px;
  }

  .pk-about__copy p {
    font-size: 14px;
  }

  .pk-contact {
    padding: 48px 0;
  }

  .pk-contact__grid {
    grid-template-columns: 1fr;
    gap: 25px;
  }

  .pk-footer {
    padding-top: 36px;
  }

  .pk-footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: 28px 18px;
  }

  .pk-footer__brand {
    grid-column: 1 / -1;
  }

  .pk-footer__brand img {
    width: 205px;
  }

  .pk-footer__bottom {
    flex-wrap: wrap;
    gap: 12px 18px;
  }

  .pk-footer__social {
    width: 100%;
    margin-left: 0;
  }

  .mobile-menu {
    overflow-y: auto;
    padding: 22px;
  }

  .mobile-menu nav {
    margin-top: 32px;
  }

  .mobile-menu nav a {
    padding: 12px 0;
    font-size: 29px;
  }
}

/* Jednotný vizuální systém všech podstránek */
.pk-page {
  background: #fff;
}

.pk-hero--page {
  height: clamp(360px, 22vw, 450px);
}

.pk-hero--page .pk-hero__content {
  padding-block: 28px;
}

.pk-hero--page h1 {
  max-width: 820px;
}

.pk-hero--page .pk-hero__lead {
  max-width: 680px;
}

.pk-page-title {
  margin-bottom: 24px;
}

.pk-page-title > span {
  display: block;
  margin-bottom: 5px;
  color: var(--pk-orange);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.pk-page-title h2 {
  max-width: 850px;
  margin: 0;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: clamp(32px, 3.5vw, 50px);
  line-height: .98;
  text-transform: uppercase;
}

.pk-page-title--row {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 40px;
}

.pk-page-title--row > div {
  flex: 1;
}

.pk-page-title--row p {
  max-width: 440px;
  margin: 0;
  color: #777;
  font-size: 12px;
  line-height: 1.55;
}

.pk-icon-section,
.pk-gallery-section,
.pk-story-section,
.pk-form-section {
  padding: 54px 0;
  background: #f8f8f6;
}

.pk-icon-section {
  border-bottom: 1px solid #ecece8;
}

.pk-icon-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.pk-icon-grid .pk-service {
  color: inherit;
  transform: none;
}

.pk-icon-grid .pk-service h3 {
  margin: 0 0 7px;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 18px;
  line-height: 1.02;
  text-transform: uppercase;
}

.pk-detail-section {
  padding: 58px 0;
}

.pk-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.pk-detail-card {
  border: 1px solid var(--pk-line);
  background: #fff;
  box-shadow: 0 10px 28px rgba(24, 24, 24, .055);
  transition: transform .25s ease, box-shadow .25s ease;
}

.pk-detail-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(24, 24, 24, .09);
}

.pk-detail-card__image {
  position: relative;
  height: 245px;
  overflow: hidden;
}

.pk-detail-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}

.pk-detail-card:hover .pk-detail-card__image img {
  transform: scale(1.035);
}

.pk-detail-card__copy {
  padding: 22px;
}

.pk-detail-card__copy .pk-service__icon {
  width: 42px;
  height: 42px;
  margin-bottom: 12px;
}

.pk-detail-card__copy h2 {
  margin: 0 0 10px;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 24px;
  line-height: 1;
  text-transform: uppercase;
}

.pk-detail-card__copy p {
  min-height: 58px;
  margin: 0 0 18px;
  color: #666;
  font-size: 13px;
  line-height: 1.5;
}

.pk-text-link {
  border: 0;
  background: none;
  padding: 0;
  color: var(--pk-orange);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.pk-page-cta {
  border-top: 4px solid var(--pk-orange);
  padding: 48px 0;
  background: #252628;
  color: #fff;
  text-align: center;
}

.pk-page-cta h2 {
  margin: 0 0 8px;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 36px;
  text-transform: uppercase;
}

.pk-page-cta p {
  margin: 0 auto 20px;
  color: #bbb;
  font-size: 13px;
}

.pk-gallery-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 22px;
}

.pk-gallery-filter button {
  border: 1px solid var(--pk-line);
  background: #fff;
  padding: 9px 13px;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.pk-gallery-filter button.is-active {
  border-color: var(--pk-orange);
  background: var(--pk-orange);
  color: #fff;
}

.pk-gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px 14px;
}

.pk-gallery-card.is-hidden {
  display: none;
}

.pk-gallery-card__image {
  position: relative;
  width: 100%;
  aspect-ratio: 1.38 / 1;
  border: 0;
  overflow: hidden;
  padding: 0;
  background: #ddd;
}

.pk-gallery-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}

.pk-gallery-card__image:hover img {
  transform: scale(1.04);
}

.pk-gallery-card small {
  display: block;
  margin-top: 10px;
  color: #888;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.pk-gallery-card h2 {
  margin: 5px 0 0;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 20px;
  line-height: 1.05;
  text-transform: uppercase;
}

.pk-gallery-card {
  min-width: 0;
}

.pk-story {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 62px;
  align-items: center;
}

.pk-story__image {
  position: relative;
}

.pk-story__image img {
  width: 100%;
  height: 410px;
  object-fit: cover;
}

.pk-story__image > span {
  position: absolute;
  right: -18px;
  bottom: 20px;
  padding: 13px 16px;
  background: var(--pk-orange);
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.pk-story__copy > p {
  color: #666;
  font-size: 14px;
  line-height: 1.65;
}

.pk-story__copy ul {
  margin: 20px 0;
  padding: 0;
  list-style: none;
}

.pk-story__copy li {
  border-bottom: 1px solid var(--pk-line);
  padding: 10px 0;
  font-size: 12px;
}

.pk-story__copy li::before {
  content: "+";
  margin-right: 8px;
  color: var(--pk-orange);
}

.pk-values-section {
  padding: 54px 0;
  background: #fff;
}

.pk-values-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--pk-line);
}

.pk-values-grid article {
  min-height: 210px;
  padding: 24px;
  background: #f5f5f2;
}

.pk-values-grid article > span {
  color: var(--pk-orange);
  font-size: 9px;
  font-weight: 900;
}

.pk-values-grid h3 {
  margin: 36px 0 10px;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 24px;
  text-transform: uppercase;
}

.pk-values-grid p {
  margin: 0;
  color: #666;
  font-size: 12px;
  line-height: 1.55;
}

.pk-contact-cards-section {
  position: relative;
  z-index: 4;
  margin-top: -32px;
}

.pk-contact-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

.pk-contact-cards > * {
  min-width: 0;
  border: 1px solid #ecebe7;
  display: grid;
  gap: 7px;
  padding: 21px;
  background: #fff;
  box-shadow: 0 12px 26px rgba(0, 0, 0, .12);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.pk-contact-cards > a:hover {
  border-color: rgba(198, 93, 45, .55);
  transform: translateY(-3px);
  box-shadow: 0 16px 30px rgba(0, 0, 0, .14);
}

.pk-contact-cards span {
  color: var(--pk-orange);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.pk-contact-cards strong {
  overflow-wrap: anywhere;
  font-size: 14px;
}

.pk-form-section {
  padding-top: 66px;
  background: #fff;
}

.pk-form-layout {
  display: grid;
  grid-template-columns: .75fr 1.25fr;
  gap: 55px;
}

.pk-form-intro > p {
  color: #666;
  font-size: 14px;
  line-height: 1.6;
}

.pk-form-intro ol {
  margin: 24px 0 0;
  padding-left: 20px;
}

.pk-form-intro li {
  border-bottom: 1px solid var(--pk-line);
  padding: 10px 0;
  font-size: 12px;
}

.pk-form-layout .contact-form {
  border-top: 3px solid var(--pk-orange);
}

.legal {
  margin-top: var(--header-h);
  background: #f8f8f6;
}

.legal .legal__inner {
  max-width: 920px;
  padding-block: 55px;
}

.legal h1 {
  font-size: 52px;
}

.not-found {
  margin-top: var(--header-h);
  background: #f8f8f6;
}

@media (max-width: 980px) {
  .pk-icon-grid,
  .pk-detail-grid,
  .pk-gallery,
  .pk-values-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .pk-story,
  .pk-form-layout {
    grid-template-columns: 1fr;
  }

  .pk-story__image img {
    height: 350px;
  }

  .pk-contact-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .pk-hero--page {
    height: auto;
  }

  .pk-hero--page .pk-hero__photo,
  .pk-hero--page .pk-hero__shade {
    height: 340px;
  }

  .pk-hero--page .pk-hero__content {
    min-height: 340px;
    padding-block: 25px;
  }

  .pk-hero--page .pk-hero__plan {
    height: 220px;
  }

  .pk-hero--page h1 {
    font-size: clamp(28px, 8.2vw, 32px);
  }

  .pk-hero__plan img {
    object-fit: contain;
  }

  .pk-hero__plan::before {
    width: 100%;
  }

  .pk-page-title--row {
    display: block;
  }

  .pk-page-title--row p {
    margin-top: 12px;
  }

  .pk-page-title {
    margin-bottom: 19px;
  }

  .pk-page-title h2 {
    font-size: clamp(28px, 8.5vw, 34px);
  }

  .pk-icon-section,
  .pk-gallery-section,
  .pk-story-section,
  .pk-form-section,
  .pk-detail-section,
  .pk-values-section {
    padding: 40px 0;
  }

  .pk-icon-grid {
    gap: 8px;
  }

  .pk-icon-grid .pk-service {
    min-height: 170px;
  }

  .pk-detail-grid {
    grid-template-columns: 1fr;
  }

  .pk-detail-card__image {
    height: 220px;
  }

  .pk-detail-card:hover {
    transform: none;
  }

  .pk-detail-card__copy {
    padding: 19px;
  }

  .pk-detail-card__copy p {
    min-height: 0;
  }

  .pk-gallery-filter {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: none;
  }

  .pk-gallery-filter::-webkit-scrollbar {
    display: none;
  }

  .pk-gallery-filter button {
    flex: 0 0 auto;
  }

  .pk-gallery {
    gap: 22px 8px;
  }

  .pk-gallery-card__image {
    aspect-ratio: 1.08 / 1;
  }

  .pk-gallery-card h2 {
    font-size: 16px;
  }

  .pk-story {
    gap: 28px;
  }

  .pk-story__image img {
    height: 270px;
  }

  .pk-story__image > span {
    right: 8px;
  }

  .pk-values-grid {
    gap: 1px;
  }

  .pk-values-grid article {
    min-height: 190px;
    padding: 17px;
  }

  .pk-values-grid h3 {
    margin-top: 24px;
    font-size: 20px;
  }

  .pk-contact-cards-section {
    margin-top: -12px;
  }

  .pk-contact-cards {
    gap: 7px;
  }

  .pk-contact-cards > * {
    min-height: 105px;
    padding: 15px;
  }

  .pk-contact-cards strong {
    font-size: 12px;
  }

  .pk-form-layout {
    gap: 28px;
  }

  .pk-form-layout .form-grid {
    grid-template-columns: 1fr;
  }

  .pk-form-layout .form-wide {
    grid-column: auto;
  }

  .pk-form-layout .contact-form {
    padding: 24px 18px;
  }

  .pk-page-cta {
    padding: 42px 0;
  }

  .pk-page-cta h2 {
    font-size: 30px;
  }

  .pk-page-cta p {
    max-width: 340px;
    padding-inline: 8px;
    line-height: 1.55;
  }

  .pk-page-cta .pk-button {
    width: 100%;
  }

  .legal h1 {
    font-size: 38px;
  }
}

/* Výraznější technické nadpisy podle klientského vzoru */
.pk-home h1,
.pk-home h2,
.pk-home h3,
.pk-page h1,
.pk-page h2,
.pk-page h3 {
  font-family: var(--pk-display);
  font-weight: 900;
  font-stretch: condensed;
}

.pk-header .pk-header__nav a,
.pk-button,
.pk-header__estimate,
.pk-text-link {
  font-weight: 900;
}

/* Mobil zachovává stejnou skladbu jako desktop, jen v kompaktnějším měřítku */
@media (max-width: 640px) {
  .pk-header .pk-header__inner {
    gap: 10px;
  }

  .pk-header .pk-header__logo {
    width: 166px;
  }

  .pk-hero__photo {
    height: 350px;
    background-position: 36% center;
  }

  .pk-hero__shade {
    height: 350px;
    background: linear-gradient(90deg, rgba(0, 0, 0, .6), rgba(0, 0, 0, .7) 55%, rgba(0, 0, 0, .5));
  }

  .pk-hero__content {
    min-height: 350px;
    padding: 24px 0 26px;
  }

  .pk-hero h1 {
    font-size: clamp(29px, 8.4vw, 34px);
    letter-spacing: -.035em;
  }

  .pk-hero__lead {
    font-weight: 600;
  }

  .pk-hero__plan {
    height: 225px;
  }

  .pk-services {
    margin-top: -15px;
  }

  .pk-service,
  .pk-icon-grid .pk-service {
    min-height: 154px;
    padding: 14px 12px;
  }

  .pk-service__icon {
    width: 38px;
    height: 38px;
    margin-bottom: 8px;
  }

  .pk-service__icon svg {
    width: 35px;
    height: 35px;
  }

  .pk-service h2,
  .pk-icon-grid .pk-service h3 {
    font-size: 15px;
    line-height: .98;
  }

  .pk-project__image,
  .pk-gallery-card__image {
    aspect-ratio: 1.42 / 1;
  }

  .pk-project h3,
  .pk-gallery-card h2 {
    font-size: 15px;
    line-height: 1;
  }

  .pk-hero--page .pk-hero__photo,
  .pk-hero--page .pk-hero__shade {
    height: 320px;
  }

  .pk-hero--page .pk-hero__content {
    min-height: 320px;
    padding-block: 22px;
  }

  .pk-hero--page .pk-hero__plan {
    height: 200px;
  }

  .pk-icon-section,
  .pk-gallery-section,
  .pk-story-section,
  .pk-form-section,
  .pk-detail-section,
  .pk-values-section {
    padding: 34px 0;
  }

  .pk-page-title h2 {
    font-size: clamp(28px, 8.2vw, 33px);
    letter-spacing: -.025em;
  }

  .pk-detail-card__image {
    height: 205px;
  }

  .pk-values-grid article {
    min-height: 170px;
    padding: 15px;
  }

  .pk-values-grid h3 {
    margin-top: 20px;
    font-size: 19px;
    line-height: 1;
  }
}

/* Mobile floor-plan fix v2.4.0
   Keep the complete BEFORE / AFTER image in the normal document flow.
   The previous fixed height (250px) was shorter than the image's 3:2 ratio,
   so the bottom labels were clipped on mobile screens. */
@media (max-width: 640px) {
  .page-index .pk-home .pk-hero .pk-hero__plan {
    position: relative !important;
    inset: auto !important;
    order: 3;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 3 / 2;
    overflow: visible !important;
    background: #fff;
    border-bottom: 1px solid var(--pk-line);
  }

  .page-index .pk-home .pk-hero .pk-hero__plan img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 3 / 2;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
  }

  .page-index .pk-home .pk-hero .pk-hero__plan::before {
    display: none !important;
  }

  .page-index .pk-services {
    margin-top: 0 !important;
  }
}

/* Homepage content extension v2.6.0
   Compact, responsive and intentionally subtle. */
.pk-home-proof {
  background: #1f1f1f;
  color: #fff;
}

.pk-home-proof__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pk-home-proof__item {
  min-height: 104px;
  padding: 22px 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-right: 1px solid rgba(255, 255, 255, .12);
}

.pk-home-proof__item:last-child {
  border-right: 0;
}

.pk-home-proof__item strong {
  font-family: var(--pk-display);
  font-size: clamp(20px, 1.8vw, 28px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.02em;
  text-transform: uppercase;
}

.pk-home-proof__item span {
  max-width: 310px;
  margin-top: 8px;
  color: rgba(255, 255, 255, .68);
  font-size: 14px;
  line-height: 1.45;
}

.pk-home-eyebrow {
  display: block;
  margin-bottom: 10px;
  color: var(--pk-orange);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.pk-home-process {
  padding: 70px 0 76px;
  background: #f5f4f1;
}

.pk-home-process__intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .68fr);
  gap: 54px;
  align-items: end;
  margin-bottom: 34px;
}

.pk-home-process__intro h2,
.pk-home-about__content h2,
.pk-home-cta h2 {
  margin: 0;
  font-family: var(--pk-display);
  font-weight: 900;
  line-height: .98;
  letter-spacing: -.035em;
  text-transform: uppercase;
}

.pk-home-process__intro h2 {
  max-width: 720px;
  font-size: clamp(34px, 4vw, 54px);
}

.pk-home-process__intro p {
  margin: 0;
  color: #5c5c5c;
  font-size: 16px;
  line-height: 1.6;
}

.pk-home-process__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.pk-home-step {
  min-height: 196px;
  padding: 24px 22px;
  background: #fff;
  border: 1px solid #dfddd7;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.pk-home-step:hover {
  transform: translateY(-4px);
  border-color: #cec9c0;
  box-shadow: 0 16px 34px rgba(25, 25, 25, .08);
}

.pk-home-step > span {
  display: block;
  margin-bottom: 34px;
  color: var(--pk-orange);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .13em;
}

.pk-home-step h3 {
  margin: 0 0 10px;
  font-family: var(--pk-display);
  font-size: 21px;
  font-weight: 900;
  line-height: 1.02;
  text-transform: uppercase;
}

.pk-home-step p {
  margin: 0;
  color: #666;
  font-size: 14px;
  line-height: 1.5;
}

.pk-home-about {
  padding: 74px 0;
  background: #fff;
}

.pk-home-about__grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 54px;
  align-items: center;
}

.pk-home-about__image {
  position: relative;
  min-height: 0;
  height: clamp(300px, 27vw, 390px);
  overflow: hidden;
  background: #e8e6e1;
}

.pk-home-about__image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 68%, rgba(0, 0, 0, .15));
}

.pk-home-about__image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s cubic-bezier(.2, .7, .2, 1);
}

.pk-home-about__image:hover img {
  transform: scale(1.025);
}

.pk-home-about__content h2 {
  max-width: 720px;
  font-size: clamp(34px, 4.2vw, 56px);
}

.pk-home-about__content p {
  max-width: 670px;
  margin: 22px 0 20px;
  color: #555;
  font-size: 16px;
  line-height: 1.65;
}

.pk-home-about__content ul {
  list-style: none;
  margin: 0 0 26px;
  padding: 0;
  border-top: 1px solid #dedbd5;
}

.pk-home-about__content li {
  position: relative;
  padding: 12px 0 12px 24px;
  border-bottom: 1px solid #dedbd5;
  font-size: 14px;
  font-weight: 700;
}

.pk-home-about__content li::before {
  content: "";
  position: absolute;
  left: 1px;
  top: 19px;
  width: 10px;
  height: 2px;
  background: var(--pk-orange);
}

.pk-home-cta {
  padding: 24px 0 70px;
  background: #fff;
}

.pk-home-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 38px 44px;
  background: #1f1f1f;
  color: #fff;
}

.pk-home-cta__inner > div > span {
  display: block;
  margin-bottom: 8px;
  color: rgba(255, 255, 255, .62);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.pk-home-cta h2 {
  font-size: clamp(29px, 3.2vw, 45px);
}

.pk-home-cta .pk-button {
  flex: 0 0 auto;
}

.pk-home-proof__item:nth-child(2),
.pk-home-step:nth-child(2) { transition-delay: .05s; }
.pk-home-proof__item:nth-child(3),
.pk-home-step:nth-child(3) { transition-delay: .1s; }
.pk-home-step:nth-child(4) { transition-delay: .15s; }

@media (prefers-reduced-motion: reduce) {
  .pk-home-step,
  .pk-home-about__image img {
    transition: none !important;
  }

  .pk-home-step:hover,
  .pk-home-about__image:hover img {
    transform: none;
  }
}

@media (max-width: 980px) {
  .pk-home-process__intro {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .pk-home-process__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pk-home-about__grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .pk-home-about__image {
    height: 380px;
  }
}

@media (max-width: 700px) {
  .pk-home-proof__grid {
    grid-template-columns: 1fr;
  }

  .pk-home-proof__item {
    min-height: 0;
    padding: 19px 22px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
  }

  .pk-home-proof__item:last-child {
    border-bottom: 0;
  }

  .pk-home-proof__item strong {
    font-size: 20px;
  }

  .pk-home-proof__item span {
    font-size: 13px;
  }

  .pk-home-process {
    padding: 48px 0 52px;
  }

  .pk-home-process__intro {
    margin-bottom: 24px;
  }

  .pk-home-process__intro h2,
  .pk-home-about__content h2 {
    font-size: 32px;
  }

  .pk-home-process__intro p,
  .pk-home-about__content p {
    font-size: 15px;
  }

  .pk-home-process__steps {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .pk-home-step {
    min-height: 0;
    padding: 20px;
  }

  .pk-home-step > span {
    margin-bottom: 18px;
  }

  .pk-home-about {
    padding: 50px 0;
  }

  .pk-home-about__grid {
    gap: 27px;
  }

  .pk-home-about__image {
    height: 270px;
  }

  .pk-home-about__content p {
    margin-top: 17px;
  }

  .pk-home-cta {
    padding: 10px 0 48px;
  }

  .pk-home-cta__inner {
    flex-direction: column;
    align-items: flex-start;
    padding: 28px 24px;
  }

  .pk-home-cta h2 {
    font-size: 29px;
  }

  .pk-home-cta .pk-button {
    width: 100%;
  }
}

/* Homepage motion polish v2.7.0
   Subtle entrance, hover and scroll motion without changing the layout. */
@keyframes pkHeroPhotoIn {
  from { opacity: .58; transform: scale(1.055); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes pkHeroPlanIn {
  from { opacity: 0; transform: translate3d(34px, 0, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes pkHeroCopyIn {
  from { opacity: 0; transform: translate3d(0, 24px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes pkSoftPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(204, 91, 39, 0); }
  50% { box-shadow: 0 0 0 8px rgba(204, 91, 39, .08); }
}

.page-index .pk-hero__photo {
  transform-origin: center center;
  animation: pkHeroPhotoIn 1.25s cubic-bezier(.2, .72, .2, 1) both;
}

.page-index .pk-hero__plan {
  animation: pkHeroPlanIn .95s cubic-bezier(.2, .72, .2, 1) .16s both;
}

.page-index .pk-hero__content .pk-kicker,
.page-index .pk-hero__content h1,
.page-index .pk-hero__content .pk-hero__lead,
.page-index .pk-hero__content .pk-actions {
  animation: pkHeroCopyIn .72s cubic-bezier(.2, .72, .2, 1) both;
}

.page-index .pk-hero__content .pk-kicker { animation-delay: .12s; }
.page-index .pk-hero__content h1 { animation-delay: .21s; }
.page-index .pk-hero__content .pk-hero__lead { animation-delay: .31s; }
.page-index .pk-hero__content .pk-actions { animation-delay: .40s; }

.pk-home .reveal {
  transition-delay: var(--pk-reveal-delay, 0ms);
}

.pk-home .pk-reveal-left:not(.is-visible) {
  transform: translate3d(-34px, 0, 0);
}

.pk-home .pk-reveal-right:not(.is-visible) {
  transform: translate3d(34px, 0, 0);
}

.pk-home .pk-reveal-card:not(.is-visible) {
  transform: translate3d(0, 22px, 0) scale(.985);
}

.pk-home-proof__item:nth-child(1),
.pk-services__grid > :nth-child(1),
.pk-home-process__steps > :nth-child(1),
.pk-projects__grid > :nth-child(1) { --pk-reveal-delay: 0ms; }

.pk-home-proof__item:nth-child(2),
.pk-services__grid > :nth-child(2),
.pk-home-process__steps > :nth-child(2),
.pk-projects__grid > :nth-child(2) { --pk-reveal-delay: 70ms; }

.pk-home-proof__item:nth-child(3),
.pk-services__grid > :nth-child(3),
.pk-home-process__steps > :nth-child(3),
.pk-projects__grid > :nth-child(3) { --pk-reveal-delay: 140ms; }

.pk-services__grid > :nth-child(4),
.pk-home-process__steps > :nth-child(4),
.pk-projects__grid > :nth-child(4) { --pk-reveal-delay: 210ms; }

.pk-service,
.pk-home-step,
.pk-project__image,
.pk-home-cta__inner {
  position: relative;
  overflow: hidden;
}

.pk-service {
  transition: transform .32s cubic-bezier(.2, .7, .2, 1), box-shadow .32s ease, border-color .32s ease;
}

.pk-service::before,
.pk-home-step::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: var(--pk-orange);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .55s cubic-bezier(.2, .72, .2, 1);
}

.pk-service.is-visible::before,
.pk-home-step.is-visible::before {
  transform: scaleX(1);
}

.pk-service:hover {
  transform: translateY(-5px);
  border-color: #ded9d0;
  box-shadow: 0 19px 38px rgba(18, 18, 18, .14);
}

.pk-service__icon {
  transition: transform .35s cubic-bezier(.2, .72, .2, 1), color .25s ease;
}

.pk-service:hover .pk-service__icon {
  transform: translate3d(0, -4px, 0) rotate(-3deg);
  color: var(--pk-orange-dark);
}

.pk-home-step::after {
  content: "";
  position: absolute;
  right: -46px;
  bottom: -54px;
  width: 112px;
  height: 112px;
  border: 1px solid rgba(204, 91, 39, .14);
  border-radius: 50%;
  transform: scale(.72);
  opacity: 0;
  transition: transform .45s ease, opacity .45s ease;
}

.pk-home-step:hover::after {
  transform: scale(1);
  opacity: 1;
}

.pk-home-about__image img {
  transform: scale(1.045) translate3d(0, var(--pk-parallax-y, 0px), 0);
  will-change: transform;
}

.pk-home-about__image:hover img {
  transform: scale(1.065) translate3d(0, var(--pk-parallax-y, 0px), 0);
}

.pk-home-about__content li::before {
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .45s cubic-bezier(.2, .72, .2, 1);
}

.pk-home-about__content.is-visible li::before {
  transform: scaleX(1);
}

.pk-home-about__content.is-visible li:nth-child(2)::before { transition-delay: 80ms; }
.pk-home-about__content.is-visible li:nth-child(3)::before { transition-delay: 160ms; }

.pk-project__image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 25%, rgba(255, 255, 255, .24) 48%, transparent 72%);
  transform: translateX(-125%);
  transition: transform .72s cubic-bezier(.2, .72, .2, 1);
}

.pk-project:hover .pk-project__image::after {
  transform: translateX(125%);
}

.pk-project h3 {
  transition: color .25s ease, transform .25s ease;
}

.pk-project:hover h3 {
  color: var(--pk-orange);
  transform: translateX(4px);
}

.pk-home-cta__inner::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 5px;
  height: 100%;
  background: var(--pk-orange);
  transform: scaleY(0);
  transform-origin: top center;
  transition: transform .65s cubic-bezier(.2, .72, .2, 1) .1s;
}

.pk-home-cta__inner.is-visible::before {
  transform: scaleY(1);
}

.pk-button {
  position: relative;
  overflow: hidden;
}

.pk-button::after {
  content: "";
  position: absolute;
  top: -70%;
  left: -45%;
  width: 28%;
  height: 240%;
  pointer-events: none;
  background: rgba(255, 255, 255, .23);
  transform: rotate(18deg) translateX(-170%);
  transition: transform .65s cubic-bezier(.2, .72, .2, 1);
}

.pk-button:hover::after {
  transform: rotate(18deg) translateX(560%);
}

.pk-header__estimate {
  animation: pkSoftPulse 4.8s ease-in-out 1.8s infinite;
}

@media (max-width: 640px) {
  .page-index .pk-hero__plan {
    animation-name: pkHeroCopyIn;
    animation-duration: .72s;
  }

  .pk-service:hover,
  .pk-home-step:hover,
  .pk-project:hover h3 {
    transform: none;
  }

  .pk-home-about__image img,
  .pk-home-about__image:hover img {
    transform: scale(1.035) translate3d(0, var(--pk-parallax-y, 0px), 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-index .pk-hero__photo,
  .page-index .pk-hero__plan,
  .page-index .pk-hero__content .pk-kicker,
  .page-index .pk-hero__content h1,
  .page-index .pk-hero__content .pk-hero__lead,
  .page-index .pk-hero__content .pk-actions,
  .pk-header__estimate {
    animation: none !important;
  }

  .pk-home .reveal,
  .pk-service,
  .pk-service::before,
  .pk-home-step,
  .pk-home-step::before,
  .pk-home-step::after,
  .pk-service__icon,
  .pk-home-about__image img,
  .pk-home-about__content li::before,
  .pk-project__image::after,
  .pk-project h3,
  .pk-home-cta__inner::before,
  .pk-button::after {
    transition: none !important;
  }

  .pk-home-about__image img,
  .pk-home-about__image:hover img {
    transform: none !important;
  }
}

/* ================================================================
   Subpage motion + local SEO sections v3.2.0
   Subtle animation only; no layout dimensions are changed.
   ================================================================ */

.pk-page .reveal {
  transition-delay: var(--pk-reveal-delay, 0ms);
}

.pk-page .pk-reveal-left:not(.is-visible) {
  transform: translate3d(-28px, 0, 0);
}

.pk-page .pk-reveal-right:not(.is-visible) {
  transform: translate3d(28px, 0, 0);
}

.pk-page .pk-reveal-card:not(.is-visible) {
  transform: translate3d(0, 20px, 0) scale(.986);
}

.pk-page .pk-reveal-up:not(.is-visible) {
  transform: translate3d(0, 24px, 0);
}

@keyframes pkPageHeroPhotoIn {
  from { opacity: .66; transform: scale(1.045); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes pkPageHeroPlanIn {
  from { opacity: 0; transform: translate3d(28px, 0, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes pkPageHeroCopyIn {
  from { opacity: 0; transform: translate3d(0, 20px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

.pk-page .pk-hero--page .pk-hero__photo {
  transform-origin: center center;
  animation: pkPageHeroPhotoIn 1.05s cubic-bezier(.2, .72, .2, 1) both;
}

.pk-page .pk-hero--page .pk-hero__plan {
  animation: pkPageHeroPlanIn .85s cubic-bezier(.2, .72, .2, 1) .12s both;
}

.pk-page .pk-hero--page .pk-kicker,
.pk-page .pk-hero--page h1,
.pk-page .pk-hero--page .pk-hero__lead,
.pk-page .pk-hero--page .pk-button {
  animation: pkPageHeroCopyIn .66s cubic-bezier(.2, .72, .2, 1) both;
}

.pk-page .pk-hero--page .pk-kicker { animation-delay: .10s; }
.pk-page .pk-hero--page h1 { animation-delay: .18s; }
.pk-page .pk-hero--page .pk-hero__lead { animation-delay: .27s; }
.pk-page .pk-hero--page .pk-button { animation-delay: .35s; }

.pk-detail-card,
.pk-gallery-card,
.pk-values-grid article,
.pk-contact-cards > *,
.pk-local-benefits__grid article,
.pk-local-related__grid a {
  transition: transform .34s cubic-bezier(.2, .72, .2, 1), box-shadow .34s ease, border-color .34s ease;
}

.pk-detail-card__image,
.pk-gallery-card__image,
.pk-story__image,
.pk-local-intro__image {
  overflow: hidden;
}

.pk-detail-card__image::after,
.pk-gallery-card__image::after,
.pk-story__image::after,
.pk-local-intro__image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 28%, rgba(255,255,255,.20) 49%, transparent 70%);
  transform: translateX(-135%);
  transition: transform .75s cubic-bezier(.2, .72, .2, 1);
}

.pk-detail-card:hover .pk-detail-card__image::after,
.pk-gallery-card:hover .pk-gallery-card__image::after,
.pk-story__image:hover::after,
.pk-local-intro__image:hover::after {
  transform: translateX(135%);
}

.pk-gallery-card:hover,
.pk-values-grid article:hover,
.pk-local-benefits__grid article:hover,
.pk-local-related__grid a:hover {
  transform: translateY(-4px);
}

.pk-gallery-card > p {
  margin: 8px 0 0;
  color: #707070;
  font-size: 11px;
  line-height: 1.55;
}

.pk-values-grid article,
.pk-local-benefits__grid article {
  position: relative;
  overflow: hidden;
}

.pk-values-grid article::before,
.pk-local-benefits__grid article::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: var(--pk-orange);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .5s cubic-bezier(.2, .72, .2, 1);
}

.pk-values-grid article.is-visible::before,
.pk-local-benefits__grid article.is-visible::before {
  transform: scaleX(1);
}

/* Homepage local content */
.pk-local-seo {
  padding: 62px 0;
  background: #252628;
  color: #fff;
}

.pk-local-seo__grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: clamp(42px, 7vw, 110px);
  align-items: center;
}

.pk-local-seo h2,
.pk-about-local h2,
.pk-local-intro h2,
.pk-local-areas h2 {
  margin: 7px 0 20px;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: clamp(34px, 4vw, 54px);
  line-height: .98;
  text-transform: uppercase;
}

.pk-local-seo__copy > p {
  max-width: 720px;
  margin: 0;
  color: #c7c7c7;
  font-size: 14px;
  line-height: 1.7;
}

.pk-local-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 25px;
}

.pk-local-links a {
  border: 1px solid rgba(198, 93, 45, .55);
  padding: 10px 13px;
  background: rgba(198, 93, 45, .08);
  color: inherit;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .045em;
  text-transform: uppercase;
  transition: background .25s ease, color .25s ease, transform .25s ease;
}

.pk-local-links a:hover {
  background: var(--pk-orange);
  color: #fff;
  transform: translateY(-2px);
}

.pk-local-seo__areas {
  border-left: 1px solid rgba(255,255,255,.16);
  padding-left: clamp(28px, 5vw, 64px);
}

.pk-local-seo__areas > strong {
  display: block;
  margin-bottom: 18px;
  color: #ef9368;
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.pk-local-seo__areas > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pk-local-seo__areas span,
.pk-local-areas__tags span {
  border: 1px solid rgba(255,255,255,.17);
  padding: 9px 12px;
  color: #ddd;
  font-size: 11px;
}

.pk-faq-section {
  padding: 62px 0;
  background: #f7f7f4;
}

.pk-faq-layout {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: clamp(45px, 8vw, 120px);
  align-items: start;
}

.pk-faq-list {
  border-top: 1px solid var(--pk-line);
}

.pk-faq-section .faq-item button {
  padding: 20px 0;
  font-size: 14px;
}

.pk-faq-section .faq-item.is-open > div p {
  padding: 0 42px 20px 0;
  font-size: 13px;
}

/* Existing subpages local additions */
.pk-service-area-strip,
.pk-about-local {
  padding: 58px 0;
  background: #f4f4f1;
}

.pk-service-area-strip .pk-shell > p {
  max-width: 820px;
  margin: -6px 0 0;
  color: #666;
  font-size: 14px;
  line-height: 1.7;
}

.pk-service-area-strip .pk-local-links a {
  color: var(--pk-black);
}

.pk-about-local__grid {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 70px;
  align-items: center;
}

.pk-about-local__grid > p {
  margin: 0;
  color: #666;
  font-size: 15px;
  line-height: 1.75;
}

.pk-contact-area-note {
  margin-top: 28px;
  border-left: 3px solid var(--pk-orange);
  padding: 15px 18px;
  background: #f5f5f2;
}

.pk-contact-area-note strong {
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.pk-contact-area-note p {
  margin: 6px 0 0;
  color: #666;
  font-size: 12px;
  line-height: 1.55;
}

/* SEO landing pages */
.pk-breadcrumbs {
  border-bottom: 1px solid #e9e9e5;
  background: #fff;
}

.pk-breadcrumbs .pk-shell {
  min-height: 46px;
  display: flex;
  align-items: center;
  gap: 10px;
  overflow: hidden;
  white-space: nowrap;
  font-size: 10px;
}

.pk-breadcrumbs a { color: #777; }
.pk-breadcrumbs span { color: var(--pk-orange); }
.pk-breadcrumbs strong {
  overflow: hidden;
  text-overflow: ellipsis;
  color: #222;
}

.pk-local-intro {
  padding: 68px 0;
  background: #fff;
}

.pk-local-intro__grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(45px, 7vw, 100px);
  align-items: center;
}

.pk-local-intro__copy > p {
  margin: 0 0 14px;
  color: #616161;
  font-size: 14px;
  line-height: 1.72;
}

.pk-local-intro__copy .pk-button {
  margin-top: 12px;
}

.pk-local-intro__image {
  position: relative;
  margin: 0;
  height: 470px;
  background: #ddd;
}

.pk-local-intro__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.035) translate3d(0, var(--pk-parallax-y, 0px), 0);
  transition: transform .55s cubic-bezier(.2, .72, .2, 1);
}

.pk-local-intro__image:hover img {
  transform: scale(1.055) translate3d(0, var(--pk-parallax-y, 0px), 0);
}

.pk-local-intro__image figcaption {
  position: absolute;
  right: 18px;
  bottom: 18px;
  max-width: 300px;
  padding: 12px 15px;
  background: rgba(32,32,32,.88);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.45;
  text-transform: uppercase;
}

.pk-local-benefits {
  padding: 62px 0;
  background: #f6f6f3;
}

.pk-local-benefits__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--pk-line);
}

.pk-local-benefits__grid article {
  min-height: 230px;
  padding: 25px;
  background: #fff;
}

.pk-local-benefits__grid article > span {
  color: var(--pk-orange);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
}

.pk-local-benefits__grid h3 {
  margin: 34px 0 10px;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 23px;
  line-height: 1;
  text-transform: uppercase;
}

.pk-local-benefits__grid p {
  margin: 0;
  color: #666;
  font-size: 12px;
  line-height: 1.6;
}

.pk-local-process {
  padding: 68px 0;
  background: #fff;
}

.pk-local-process__layout {
  display: grid;
  grid-template-columns: .78fr 1.22fr;
  gap: clamp(50px, 8vw, 115px);
}

.pk-local-process .pk-page-title > p {
  max-width: 500px;
  margin: 20px 0 0;
  color: #666;
  font-size: 14px;
  line-height: 1.7;
}

.pk-local-process__steps {
  border-top: 1px solid var(--pk-line);
}

.pk-local-process__steps article {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 20px;
  border-bottom: 1px solid var(--pk-line);
  padding: 20px 0;
}

.pk-local-process__steps article > span {
  color: var(--pk-orange);
  font-size: 10px;
  font-weight: 900;
}

.pk-local-process__steps h3 {
  margin: 0 0 6px;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 20px;
  text-transform: uppercase;
}

.pk-local-process__steps p {
  margin: 0;
  color: #676767;
  font-size: 12px;
  line-height: 1.55;
}

.pk-local-areas {
  padding: 60px 0;
  background: #252628;
  color: #fff;
}

.pk-local-areas__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(45px, 8vw, 110px);
  align-items: center;
}

.pk-local-areas__grid p {
  margin: 0;
  color: #c7c7c7;
  font-size: 14px;
  line-height: 1.7;
}

.pk-local-areas__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pk-faq-section--light {
  background: #fff;
}

.pk-local-related {
  padding: 58px 0;
  background: #f5f5f2;
}

.pk-local-related__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.pk-local-related__grid a {
  min-height: 88px;
  border: 1px solid var(--pk-line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px;
  background: #fff;
  color: var(--pk-black);
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 18px;
  font-weight: 900;
  text-transform: uppercase;
}

.pk-local-related__grid b {
  color: var(--pk-orange);
  font-size: 22px;
}

/* Footer expanded internal-link architecture */
.pk-footer__grid {
  grid-template-columns: 1.35fr .75fr 1fr 1fr;
  gap: 45px;
}

.pk-footer nav strong,
.pk-footer__contact strong {
  margin-bottom: 4px;
  color: #fff;
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

@media (max-width: 980px) {
  .pk-local-seo__grid,
  .pk-faq-layout,
  .pk-about-local__grid,
  .pk-local-intro__grid,
  .pk-local-process__layout,
  .pk-local-areas__grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .pk-local-seo__areas {
    border-top: 1px solid rgba(255,255,255,.16);
    border-left: 0;
    padding: 28px 0 0;
  }

  .pk-local-benefits__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .pk-local-related__grid {
    grid-template-columns: 1fr;
  }

  .pk-footer__grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .pk-footer__brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 700px) {
  .pk-local-seo,
  .pk-faq-section,
  .pk-service-area-strip,
  .pk-about-local,
  .pk-local-intro,
  .pk-local-benefits,
  .pk-local-process,
  .pk-local-areas,
  .pk-local-related {
    padding: 46px 0;
  }

  .pk-local-seo h2,
  .pk-about-local h2,
  .pk-local-intro h2,
  .pk-local-areas h2 {
    font-size: 31px;
  }

  .pk-faq-layout {
    gap: 20px;
  }

  .pk-faq-section .faq-item button {
    padding: 17px 0;
    font-size: 13px;
  }

  .pk-faq-section .faq-item.is-open > div p {
    padding-right: 12px;
    font-size: 12px;
  }

  .pk-local-intro__image {
    height: 285px;
  }

  .pk-local-intro__image figcaption {
    right: 12px;
    bottom: 12px;
    left: 12px;
    max-width: none;
  }

  .pk-local-benefits__grid {
    grid-template-columns: 1fr;
  }

  .pk-local-benefits__grid article {
    min-height: 0;
    padding: 21px;
  }

  .pk-local-benefits__grid h3 {
    margin-top: 22px;
    font-size: 22px;
  }

  .pk-local-process__steps article {
    grid-template-columns: 35px 1fr;
    gap: 12px;
  }

  .pk-local-links {
    display: grid;
  }

  .pk-local-links a {
    text-align: center;
  }

  .pk-local-seo__areas span,
  .pk-local-areas__tags span {
    padding: 8px 10px;
    font-size: 10px;
  }

  .pk-breadcrumbs .pk-shell {
    min-height: 42px;
  }

  .pk-footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: 28px 20px;
  }

  .pk-footer__services {
    grid-column: auto;
  }
}

@media (max-width: 460px) {
  .pk-footer__grid {
    grid-template-columns: 1fr;
  }

  .pk-footer__brand {
    grid-column: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pk-page .pk-hero--page .pk-hero__photo,
  .pk-page .pk-hero--page .pk-hero__plan,
  .pk-page .pk-hero--page .pk-kicker,
  .pk-page .pk-hero--page h1,
  .pk-page .pk-hero--page .pk-hero__lead,
  .pk-page .pk-hero--page .pk-button {
    animation: none !important;
  }

  .pk-page .reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .pk-detail-card,
  .pk-gallery-card,
  .pk-values-grid article,
  .pk-contact-cards > *,
  .pk-local-benefits__grid article,
  .pk-local-related__grid a,
  .pk-detail-card__image::after,
  .pk-gallery-card__image::after,
  .pk-story__image::after,
  .pk-local-intro__image::after,
  .pk-local-intro__image img {
    transition: none !important;
  }

  .pk-local-intro__image img,
  .pk-local-intro__image:hover img {
    transform: none !important;
  }
}
