/* RESET */
* {margin: 0;padding: 0;box-sizing: border-box;}

html {scroll-behavior: smooth;}
body {font-family: "Georgia", "Times New Roman", serif;color: #1f2430;background-color: #f7f5f0;line-height: 1.6;}

/* GLOBAL */
.container {width: min(1120px, calc(100% - 48px));margin: 0 auto;}

a {text-decoration: none;color: inherit;}
img {max-width: 100%;display: block;}
.section-heading {max-width: 760px;margin-bottom: 48px;}
.section-heading__eyebrow {font-size: 0.85rem;letter-spacing: 0.12em;text-transform: uppercase;color: #8b7355;margin-bottom: 12px;}
.section-heading__title {font-size: clamp(2rem, 4vw, 3rem);line-height: 1.2;color: #162033;}

/* BUTTONS */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 24px;
  border-radius: 2px;
  font-size: 0.95rem;
  font-weight: 600;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.btn--primary {
  background-color: #162033;
  color: #ffffff;
  border: 1px solid #162033;
}

.btn--primary:hover {
  background-color: #0f1724;
  border-color: #0f1724;
}

.btn--secondary {
  background-color: transparent;
  color: #f9f9f9;
  border: 1px solid #162033;
}

.btn--secondary:hover {
  background-color: #162033;
  color: #ffffff;
}

/* HEADER */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background-color: rgba(247, 245, 240, 0.96);
  border-bottom: 1px solid rgba(22, 32, 51, 0.08);
  backdrop-filter: blur(8px);
}

.site-header__inner {min-height: 88px;display: flex;align-items: center;justify-content: space-between;gap: 24px;}

/*.site-logo {display: flex;gap: 2px;}*/
.site-logo__main {font-size: 1.4rem;font-weight: 700;color: #162033;}
.site-logo__sub {font-size: 0.82rem;letter-spacing: 0.12em;text-transform: uppercase;color: #8b7355;}

.site-logo{display:flex;align-items:center;gap:16px;text-decoration:none;}
.site-logo__image{width:67px;height:48px;object-fit:contain;flex-shrink:0;}
.site-logo__text{display:flex;flex-direction:column;}

.site-nav__list {display: flex;align-items: center;gap: 28px;list-style: none;}
.site-nav__list a {font-size: 0.95rem;color: #263248;transition: color 0.25s ease;}
.site-nav__list a:hover {color: #8b7355;}
.site-nav-toggle {display: none;width: 44px;height: 44px;border: none;background: transparent;cursor: pointer;}
.site-nav-toggle span {display: block;width: 24px;height: 2px;margin: 5px auto;background-color: #162033;}

/* HERO */
.hero-section {
  padding: 120px 0 96px;
  background:
    linear-gradient(to right, rgba(22, 32, 51, 0.96), rgba(22, 32, 51, 0.9)),
    linear-gradient(to bottom, #1f2a3c, #162033);
  color: #ffffff;
}

.hero-section__inner {
  display: grid;
  grid-template-columns: 1.3fr 0.7fr;
  gap: 48px;
  align-items: center;
}

.hero-section__eyebrow {
  font-size: 0.85rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #c9b89a;
  margin-bottom: 18px;
}

.hero-section__title {font-size: clamp(2.6rem, 5vw, 4.6rem);line-height: 1.12;margin-bottom: 24px;max-width: 760px;}
.hero-section__text {max-width: 680px;font-size: 1.08rem;color: rgba(255, 255, 255, 0.88);margin-bottom: 32px;}
.hero-section__actions {display: flex;flex-wrap: wrap;gap: 16px;}
.hero-section__panel {display: flex;justify-content: flex-end;}
.hero-section__card {width: 100%;max-width: 360px;padding: 36px 32px;background-color: rgba(255, 255, 255, 0.08);border: 1px solid rgba(201, 184, 154, 0.25);}
.hero-section__card-title {font-size: 1.3rem;margin-bottom: 16px;}
.hero-section__card-text {color: rgba(255, 255, 255, 0.84);}

/* TRUST SECTION */
.trust-section {padding: 96px 0;background-color: #f7f5f0;}
.trust-section__grid {display: grid;grid-template-columns: repeat(3, 1fr);gap: 24px;}
.trust-card {padding: 32px;background-color: #ffffff;border: 1px solid rgba(22, 32, 51, 0.08);}
.trust-card__title {font-size: 1.25rem;color: #162033;margin-bottom: 14px;}
.trust-card__text {color: #4a5568;}

/* SERVICES */
.services-section {padding: 96px 0;background-color: #efe9df;}
.services-section__grid {display: grid;grid-template-columns: repeat(2, 1fr);gap: 24px;}
.service-card {padding: 34px 32px;background-color: #ffffff;border-left: 4px solid #8b7355;}
.service-card__title {font-size: 1.35rem;color: #162033;margin-bottom: 14px;}
.service-card__text {color: #4a5568;}

/* ABOUT */
.about-section {padding: 96px 0;background-color: #ffffff;}
.about-section__inner {display: grid;grid-template-columns: 1.15fr 0.85fr;gap: 48px;align-items: start;}
.about-section__title {font-size: clamp(2rem, 4vw, 3rem);line-height: 1.2;color: #162033;margin-bottom: 24px;}
.about-section__text {color: #4a5568;margin-bottom: 18px;max-width: 720px;}
.about-section__box {padding: 36px 32px;background-color: #f7f5f0;border: 1px solid rgba(22, 32, 51, 0.08);}
.about-info {display: flex;flex-direction: column;gap: 22px;}
.about-info__item {display: flex;flex-direction: column;gap: 8px;padding-bottom: 18px;border-bottom: 1px solid rgba(22, 32, 51, 0.08);}
.about-info__item:last-child {border-bottom: none;padding-bottom: 0;}
.about-info__label {font-size: 0.82rem;letter-spacing: 0.12em;text-transform: uppercase;color: #8b7355;}
.about-info__value {font-size: 1.15rem;color: #162033;}

/* CONTACT CTA */
.contact-cta-section {padding: 88px 0;background-color: #162033;color: #ffffff;}
.contact-cta-section__inner {display: flex;align-items: center;justify-content: space-between;gap: 32px;}
.contact-cta-section__title {font-size: clamp(2rem, 4vw, 3rem);line-height: 1.2;margin-bottom: 18px;}
.contact-cta-section__text {max-width: 720px;color: rgba(255, 255, 255, 0.84);}
.contact-cta-section .section-heading__eyebrow {color: #c9b89a;}
.contact-cta-section__actions {display: flex;flex-wrap: wrap;gap: 16px;}

/* FOOTER */
.site-footer {padding: 48px 0;background-color: #101826;color: rgba(255, 255, 255, 0.78);}

.site-footer__inner {display: grid;grid-template-columns: 1fr 1fr 1fr;gap: 24px;align-items: start;}
.site-footer__logo{margin-bottom:25px;float:none;}
.site-footer__title {font-size: 1.25rem;color: #ffffff;margin-bottom: 6px;}
.site-footer__subtitle {font-size: 0.82rem;letter-spacing: 0.12em;text-transform: uppercase;color: #c9b89a;}
.site-footer__info p,.site-footer__legal p {margin-bottom: 8px;}

/* RESPONSIVE */
@media (max-width: 992px) {
  .hero-section__inner,.about-section__inner,.site-footer__inner,.contact-cta-section__inner {grid-template-columns: 1fr;display: grid;}
  .trust-section__grid,.services-section__grid {grid-template-columns: 1fr;}
  .hero-section__panel {justify-content: flex-start;}
}

@media (max-width: 768px) {
  .site-nav-toggle {display: block;}
  .site-nav {position: absolute;top: 88px;left: 0;width: 100%;background-color: #f7f5f0;border-bottom: 1px solid rgba(22, 32, 51, 0.08);padding: 20px 24px;display: none;}
  .site-nav.is-open {display: block;}
  .site-nav__list {flex-direction: column;align-items: flex-start;gap: 18px;}
  .hero-section {padding: 96px 0 72px;}
  .hero-section__title {font-size: 2.35rem;}
  .section-heading__title,.about-section__title,.contact-cta-section__title {font-size: 2rem;}
  .container {width: min(1120px, calc(100% - 32px));}
}


/* HERO */
.hero-section {padding: 110px 0 96px;background:linear-gradient(to right, rgba(22, 32, 51, 0.97), rgba(22, 32, 51, 0.94)),linear-gradient(to bottom, #1d2738, #162033);color: #ffffff;}

.hero-section__inner--balanced {display: grid;grid-template-columns: 1fr 1fr 1fr; /* stejné sloupce */gap: 28px;align-items: stretch;}

/* COMMON COLUMN / PANEL */
.hero-column {display: flex;}
.hero-panel {width: 100%;min-height: 720px;display: flex;flex-direction: column;justify-content: space-between;border: 1px solid rgba(201, 184, 154, 0.18);}
.hero-panel--content,.hero-panel--trust {padding: 42px 34px;background-color: rgba(255, 255, 255, 0.05);}
.hero-panel--photo {padding: 0;background-color: rgba(255, 255, 255, 0.04);overflow: hidden;}

/* LEFT CONTENT */
.hero-section__eyebrow {font-size: 0.82rem;letter-spacing: 0.14em;text-transform: uppercase;color: #c9b89a;margin-bottom: 18px;}
.hero-section__title {font-size: clamp(2.4rem, 3.7vw, 4rem);line-height: 1.12;margin-bottom: 24px;max-width: 520px;}
.hero-section__text {font-size: 1.02rem;line-height: 1.75;color: rgba(255, 255, 255, 0.86);margin-bottom: 32px;max-width: 500px;}
.hero-section__actions {display: flex;flex-wrap: wrap;gap: 14px;margin-bottom: 34px;}
.hero-content-meta {display: grid;grid-template-columns: 1fr;gap: 18px;margin-top: auto;padding-top: 28px;border-top: 1px solid rgba(201, 184, 154, 0.16);}
.hero-content-meta__item {display: flex;flex-direction: column;gap: 6px;}
.hero-content-meta__label {font-size: 0.78rem;letter-spacing: 0.12em;text-transform: uppercase;color: #c9b89a;}
.hero-content-meta__value {font-size: 1rem;color: #ffffff;}

/* PHOTO */
.hero-photo,.hero-photo--tall {width: 100%;height: 100%;min-height: 720px;}
.hero-photo img {width: 100%;height: 100%;object-fit: cover;object-position: center top;display: block;}

/* RIGHT TRUST PANEL */
.trust-box {padding-bottom: 28px;margin-bottom: 28px;border-bottom: 1px solid rgba(201, 184, 154, 0.16);}
.trust-box__logo {margin-bottom: 20px;text-align:center;width:100%;}
.trust-box__logo img {max-width: 140px;max-height: 62px;object-fit: contain;filter: brightness(0) invert(1);opacity: 0.92;margin: 0px auto 0px auto;}
.trust-box__eyebrow {font-size: 0.78rem;letter-spacing: 0.12em;text-transform: uppercase;color: #c9b89a;margin-bottom: 12px;text-align:center;}
.trust-box__title {font-size: 1.7rem;line-height: 1.25;margin-bottom: 18px;color: #ffffff;text-align:center;}
.trust-box__text {font-size: 0.98rem;line-height: 1.75;color: rgba(255, 255, 255, 0.84);margin-bottom: 18px;}
.trust-box__link {display: inline-block;font-size: 0.95rem;font-weight: 600;color: #c9b89a;border-bottom: 1px solid transparent;transition: border-color 0.25s ease, color 0.25s ease;}
.trust-box__link:hover {border-color: #c9b89a;}

/* TRUST POINTS */
.trust-points {display: flex;flex-direction: column;gap: 22px;margin-top: auto;}
.trust-points__item {display: grid;grid-template-columns: 52px 1fr;gap: 16px;align-items: start;}
.trust-points__icon {display: inline-flex;align-items: center;justify-content: center;width: 52px;height: 52px;border: 1px solid rgba(201, 184, 154, 0.22);color: #c9b89a;font-size: 0.9rem;font-weight: 700;}
.trust-points__body h3 {font-size: 1.02rem;margin-bottom: 8px;color: #ffffff;}
.trust-points__body p {font-size: 0.95rem;line-height: 1.7;color: rgba(255, 255, 255, 0.8);}
.hero-column--content .hero-section__title {font-size: clamp(1.4rem, 2vw, 2rem);line-height: 1.3;}
.hero-column--content .hero-section__text {font-size: 0.92rem;line-height: 1.7;}
.hero-column--content .hero-section__eyebrow {font-size: 0.72rem;}
.hero-column--content .btn {min-height: 44px;font-size: 0.85rem;padding: 0 18px;}


/* RESPONSIVE */
@media (max-width: 1180px) {
  .hero-section__inner--balanced {grid-template-columns: 1fr;}
  .hero-panel,.hero-panel--content,.hero-panel--trust,.hero-photo,.hero-photo--tall {min-height: auto;}
  .hero-panel--photo {min-height: 680px;}
  .hero-photo img {object-position: center center;}
}

@media (max-width: 768px) {
  .hero-section {padding: 92px 0 72px;}
  .hero-panel--content,.hero-panel--trust {padding: 30px 24px;}
  .hero-panel--photo {min-height: 520px;}
  .hero-section__title {font-size: 2.2rem;}
  .hero-section__actions {flex-direction: column;}
  .hero-section__actions .btn {width: 100%;}
}
/*hero animace*/
/* =========================================================
   HERO ANIMATIONS
========================================================= */

.hero-animate {opacity: 0;will-change: transform, opacity;}
.hero-animate--left {transform: translateY(32px);}
.hero-animate--center {transform: translateY(24px) scale(1.02);}
.hero-animate--right {transform: translateY(32px);}
.hero-animate.is-visible {opacity: 1;transform: translateY(0) scale(1);transition:opacity 0.9s ease,transform 1s ease;}
.hero-animate--left.is-visible {transition-delay: 0.12s;}
.hero-animate--center.is-visible {transition-delay: 0.28s;}
.hero-animate--right.is-visible {transition-delay: 0.44s;}

/* jemnější náběh fotky */
.hero-column--photo .hero-photo img {transform: scale(1.06);transition: transform 1.4s ease;}
.hero-column--photo.is-visible .hero-photo img {transform: scale(1);}

/* jemný náběh vnitřního obsahu levého panelu */
.hero-column--content .hero-section__eyebrow,
.hero-column--content .hero-section__title,
.hero-column--content .hero-section__text,
.hero-column--content .hero-section__actions,
.hero-column--content .hero-content-meta {
  opacity: 0;
  transform: translateY(14px);
  transition:
    opacity 0.7s ease,
    transform 0.7s ease;
}

.hero-column--content.is-visible .hero-section__eyebrow,
.hero-column--content.is-visible .hero-section__title,
.hero-column--content.is-visible .hero-section__text,
.hero-column--content.is-visible .hero-section__actions,
.hero-column--content.is-visible .hero-content-meta {
  opacity: 1;
  transform: translateY(0);
}

.hero-column--content.is-visible .hero-section__eyebrow {
  transition-delay: 0.22s;
}

.hero-column--content.is-visible .hero-section__title {
  transition-delay: 0.34s;
}

.hero-column--content.is-visible .hero-section__text {
  transition-delay: 0.46s;
}

.hero-column--content.is-visible .hero-section__actions {
  transition-delay: 0.58s;
}

.hero-column--content.is-visible .hero-content-meta {
  transition-delay: 0.7s;
}

/* jemný náběh pravého panelu po částech */
.hero-column--trust .trust-box,
.hero-column--trust .trust-points__item {
  opacity: 0;
  transform: translateY(14px);
  transition:
    opacity 0.7s ease,
    transform 0.7s ease;
}

.hero-column--trust.is-visible .trust-box {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.56s;
}

.hero-column--trust.is-visible .trust-points__item:nth-child(1) {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.68s;
}

.hero-column--trust.is-visible .trust-points__item:nth-child(2) {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.8s;
}

.hero-column--trust.is-visible .trust-points__item:nth-child(3) {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.92s;
}

/* accessibility */
@media (prefers-reduced-motion: reduce) {
  .hero-animate,
  .hero-animate--left,
  .hero-animate--center,
  .hero-animate--right,
  .hero-column--photo .hero-photo img,
  .hero-column--content .hero-section__eyebrow,
  .hero-column--content .hero-section__title,
  .hero-column--content .hero-section__text,
  .hero-column--content .hero-section__actions,
  .hero-column--content .hero-content-meta,
  .hero-column--trust .trust-box,
  .hero-column--trust .trust-points__item {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}


.hero-animate {
  opacity: 1;
  transform: none;
}

.js .hero-animate {
  opacity: 0;
}

.js .hero-animate.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* =========================================================
   TRUST SECTION ANIMATION
========================================================= */

.trust-animate {
  opacity: 1;
  transform: none;
}

.js .trust-animate {
  opacity: 0;
  transform: translateY(28px);
}

.js .trust-animate.is-visible {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

/* heading */
.js .trust-animate--heading.is-visible {
  transition-delay: 0.1s;
}

/* cards stagger */
.js .trust-animate--card:nth-child(1).is-visible {
  transition-delay: 0.2s;
}

.js .trust-animate--card:nth-child(2).is-visible {
  transition-delay: 0.35s;
}

.js .trust-animate--card:nth-child(3).is-visible {
  transition-delay: 0.5s;
}

/* accessibility */
@media (prefers-reduced-motion: reduce) {
  .trust-animate {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}


/* =========================================================
   SERVICES SECTION ANIMATION
========================================================= */

.services-animate {opacity: 1;transform: none;}
.js .services-animate {opacity: 0;transform: translateY(30px);}
.js .services-animate.is-visible {opacity: 1;transform: translateY(0);transition: opacity 0.85s ease, transform 0.85s ease;}
.js .services-animate--heading.is-visible {transition-delay: 0.08s;}
.js .services-section__grid .services-animate--card:nth-child(1).is-visible {transition-delay: 0.16s;}
.js .services-section__grid .services-animate--card:nth-child(2).is-visible {transition-delay: 0.28s;}
.js .services-section__grid .services-animate--card:nth-child(3).is-visible {transition-delay: 0.4s;}
.js .services-section__grid .services-animate--card:nth-child(4).is-visible {transition-delay: 0.52s;}
@media (prefers-reduced-motion: reduce) {
  .services-animate {opacity: 1 !important;transform: none !important;transition: none !important;}
}

/* =========================================================
   ABOUT SECTION ANIMATION
========================================================= */

.about-animate {opacity: 1;transform: none;}
.js .about-animate {opacity: 0;transform: translateY(30px);}
.js .about-animate--content {transform: translateY(24px);}
.js .about-animate--box {transform: translateY(30px);}
.js .about-animate--item {transform: translateY(18px);}
.js .about-animate.is-visible {opacity: 1;transform: translateY(0);transition: opacity 0.85s ease, transform 0.85s ease;}
.js .about-animate--content.is-visible {transition-delay: 0.1s;}
.js .about-animate--box.is-visible {transition-delay: 0.24s;}
.js .about-info__item.about-animate--item:nth-child(1).is-visible {transition-delay: 0.34s;}
.js .about-info__item.about-animate--item:nth-child(2).is-visible {transition-delay: 0.48s;}
.js .about-info__item.about-animate--item:nth-child(3).is-visible {transition-delay: 0.62s;}
@media (prefers-reduced-motion: reduce) {
  .about-animate {opacity: 1 !important;transform: none !important;transition: none !important;}
}

/* =========================================================
   BACK TO TOP BUTTON
========================================================= */

.back-to-top {position: fixed;right: 28px;bottom: 28px;width: 52px;height: 52px;display: flex;align-items: center;justify-content: center;font-size: 18px;
  color: #ffffff;background-color: #162033;border: 1px solid rgba(201, 184, 154, 0.4);

  cursor: pointer;z-index: 200;

  opacity: 0;visibility: hidden;transform: translateY(10px);

  transition:
    opacity 0.3s ease,
    transform 0.3s ease,
    visibility 0.3s ease,
    background-color 0.25s ease;
}

.back-to-top:hover {background-color: #0f1724;}

.back-to-top.is-visible {opacity: 1;visibility: visible;transform: translateY(0);}

/* mobile */
@media (max-width: 768px) {
  .back-to-top {right: 16px;bottom: 16px;width: 46px;height: 46px;}
}


.blog-section{padding:100px 0;background:#f7f5f0;}

.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.blog-card{background:#ffffff;border:1px solid rgba(22,32,51,.08);transition:.35s;}
.blog-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,0,0,.08);}
.blog-card__image{aspect-ratio:16/10;overflow:hidden;}
.blog-card__image img{width:100%;height:100%;object-fit:cover;}
.blog-card__content{padding:28px;}
.blog-meta{display:flex;justify-content:space-between;margin-bottom:18px;font-size:.82rem;color:#777;}
.blog-card__title{font-size:1.35rem;line-height:1.35;color:#162033;margin-bottom:18px;}
.blog-card__perex{line-height:1.8;color:#555;margin-bottom:28px;}
.blog-card__button{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 22px;border:1px solid #162033;color:#162033;font-weight:600;}
.blog-card__button:hover{background:#162033;color:white;}

@media(max-width:1000px){
.blog-grid{grid-template-columns:1fr;}
}

.blog-animate{opacity:1;transform:none;}
.js .blog-animate{opacity:0;transform:translateY(28px);}
.js .blog-animate.is-visible{opacity:1;transform:none;transition:opacity .8s ease,transform .8s ease;}
.blog-grid .blog-card:nth-child(1).is-visible{transition-delay:.15s;}
.blog-grid .blog-card:nth-child(2).is-visible{transition-delay:.3s;}
.blog-grid .blog-card:nth-child(3).is-visible{transition-delay:.45s;}

/* =========================================================
   ARTICLE DETAIL
========================================================= */

.article-detail {background-color: #f7f5f0;}

/* =========================================================
   BREADCRUMBS
========================================================= */

.article-breadcrumbs-section {padding: 28px 0;background-color: #f7f5f0;border-bottom: 1px solid rgba(22, 32, 51, 0.08);}
.article-breadcrumbs__list {display: flex;align-items: center;flex-wrap: wrap;gap: 10px;list-style: none;font-size: 0.86rem;}
.article-breadcrumbs__item {display: inline-flex;align-items: center;color: #687080;}
.article-breadcrumbs__item:not(:last-child)::after {content: "/";margin-left: 10px;color: #b2a58e;}
.article-breadcrumbs__item a {color: #687080;transition: color 0.25s ease;}
.article-breadcrumbs__item a:hover {color: #8b7355;}
.article-breadcrumbs__item--current {color: #162033;}

/* =========================================================
   ARTICLE HEADER
========================================================= */

.article-header-section {padding: 72px 0 88px;background-color: #162033;color: #ffffff;}
.article-header {display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(420px, 1.05fr);gap: 64px;align-items: center;}
.article-header__content {max-width: 700px;}
.article-header__eyebrow {margin-bottom: 20px;font-size: 0.8rem;font-weight: 600;letter-spacing: 0.14em;text-transform: uppercase;color: #c9b89a;}
.article-header__title {margin-bottom: 28px;font-size: clamp(1.6rem, 2.7vw, 2.8rem); line-height: 1.08;font-weight: 600;color: #ffffff;}
.article-header__perex {max-width: 680px;margin-bottom: 34px;font-size: 1.08rem;line-height: 1.8;color: rgba(255, 255, 255, 0.84);}
.article-header__meta {display: flex;align-items: center;flex-wrap: wrap;gap: 34px;padding-top: 28px;border-top: 1px solid rgba(201, 184, 154, 0.2);}

/* AUTHOR */

.article-author {display: flex;align-items: center;gap: 14px;}
.article-author__initials {width: 48px;height: 48px;display: inline-flex;align-items: center;justify-content: center;flex: 0 0 48px;border: 1px solid rgba(201, 184, 154, 0.42);font-size: 0.84rem;font-weight: 700;letter-spacing: 0.06em;color: #c9b89a;}
.article-author__content,.article-update {display: flex;flex-direction: column;gap: 4px;}
.article-author__label,.article-update__label {font-size: 0.72rem;letter-spacing: 0.11em;text-transform: uppercase;color: #c9b89a;}
.article-author__name,.article-update time {font-size: 0.94rem;color: #ffffff;}

/* MAIN IMAGE */
/*
.article-header__image {margin: 0;}
.article-header__image img {width: 100%;height: clamp(440px, 54vw, 650px);display: block;object-fit: cover;object-position: center;}
*/
.article-header__image {width: 100%;margin: 0;}
.article-header__image img {width: 100%;aspect-ratio: 4 / 3;height: auto;display: block;object-fit: cover;object-position: center;}

.article-header__image figcaption {padding-top: 12px;font-size: 0.82rem;line-height: 1.5;color: rgba(255, 255, 255, 0.58);}

/* =========================================================
   ARTICLE LAYOUT
========================================================= */

.article-content-section {padding: 96px 0 112px;background-color: #f7f5f0;}
.article-layout {display: grid;grid-template-columns: minmax(0, 1fr) 360px;gap: 72px;align-items: start;}
.article-content {min-width: 0;}

/* =========================================================
   ARTICLE TYPOGRAPHY
========================================================= */

.article-prose {max-width: 790px;font-family: Arial, Helvetica, sans-serif;color: #3f4858;}
.article-prose + .article-prose {margin-top: 52px;}

.article-prose p {margin-bottom: 24px;font-size: 1.02rem;line-height: 1.9;}
.article-prose h2 {margin: 56px 0 22px;font-family: Georgia, "Times New Roman", serif;font-size: clamp(1.85rem, 3vw, 2.6rem);line-height: 1.22;font-weight: 600;color: #162033;}
.article-prose h3 {margin: 42px 0 18px;font-family: Georgia, "Times New Roman", serif;font-size: 1.5rem;line-height: 1.3;color: #162033;}
.article-prose ul,.article-prose ol {margin: 8px 0 30px;padding-left: 24px;}
.article-prose li {margin-bottom: 12px;padding-left: 6px;font-size: 1rem;line-height: 1.75;}
.article-prose li::marker {color: #8b7355;}
.article-prose a {color: #8b7355;text-decoration: underline;text-decoration-thickness: 1px;text-underline-offset: 4px;}
.article-prose blockquote {margin: 42px 0;padding: 28px 32px;border-left: 3px solid #8b7355;background-color: #ffffff;font-family: Georgia, "Times New Roman", serif;font-size: 1.22rem;line-height: 1.7;color: #162033;}

/* =========================================================
   OPTIONAL GALLERY
========================================================= */

.article-gallery {max-width: 900px;margin: 64px 0;padding: 44px;background-color: #efe9df;}
.article-gallery__heading {max-width: 620px;margin-bottom: 30px;}
.article-gallery__eyebrow {margin-bottom: 10px;font-size: 0.76rem;font-weight: 600;letter-spacing: 0.13em;text-transform: uppercase;color: #8b7355;}
.article-gallery__title {font-size: clamp(1.7rem, 2.7vw, 2.3rem);line-height: 1.25;color: #162033;}
.article-gallery__grid {display: grid;grid-template-columns: repeat(2, 1fr);grid-auto-rows: 220px;gap: 16px;}
.article-gallery__item {display: block;overflow: hidden;background-color: #d9d3c8;}
.article-gallery__item--large {grid-row: span 2;}
.article-gallery__item img {width: 100%;height: 100%;display: block;object-fit: cover;transition: transform 0.6s ease;}
.article-gallery__item:hover img {transform: scale(1.035);}

/* =========================================================
   ARTICLE CONTACT BOX
========================================================= */

.article-contact-box {max-width: 900px;margin-top: 68px;padding: 40px;display: flex;align-items: center;justify-content: space-between;gap: 34px;background-color: #162033;color: #ffffff;}
.article-contact-box__content {max-width: 610px;}
.article-contact-box__eyebrow {margin-bottom: 10px;font-size: 0.74rem;letter-spacing: 0.13em;text-transform: uppercase;color: #c9b89a;}
.article-contact-box__title {margin-bottom: 12px;font-size: clamp(1.6rem, 2.7vw, 2.2rem);line-height: 1.25;}
.article-contact-box__text {color: rgba(255, 255, 255, 0.78);}

/* =========================================================
   SIDEBAR
========================================================= */

.article-sidebar {min-width: 0;}
.article-sidebar__inner {position: sticky;top: 116px;}
.article-sidebar__heading {margin-bottom: 26px;padding-bottom: 20px;border-bottom: 1px solid rgba(22, 32, 51, 0.12);}
.article-sidebar__eyebrow {margin-bottom: 8px;font-size: 0.74rem;font-weight: 600;letter-spacing: 0.13em;text-transform: uppercase;color: #8b7355;}
.article-sidebar__title {font-size: 1.8rem;line-height: 1.25;color: #162033;}
.article-sidebar__list {display: flex;flex-direction: column;gap: 28px;}

/* SIDEBAR ARTICLE CARD */

.sidebar-article-card {background-color: #ffffff;border: 1px solid rgba(22, 32, 51, 0.08);transition:transform 0.35s ease,box-shadow 0.35s ease,border-color 0.35s ease;}
.sidebar-article-card:hover {transform: translateY(-4px);border-color: rgba(139, 115, 85, 0.26);box-shadow: 0 16px 36px rgba(22, 32, 51, 0.08);}
.sidebar-article-card__image {display: block;height: 190px;overflow: hidden;background-color: #ebe7df;}
.sidebar-article-card__image img {width: 100%;height: 100%;display: block;object-fit: cover;transition: transform 0.55s ease;}
.sidebar-article-card:hover .sidebar-article-card__image img {transform: scale(1.035);}
.sidebar-article-card__content {padding: 24px;}
.sidebar-article-card__date {display: block;margin-bottom: 10px;font-size: 0.76rem;letter-spacing: 0.05em;color: #8b7355;}
.sidebar-article-card__title {margin-bottom: 13px;font-size: 1.22rem;line-height: 1.35;color: #162033;}
.sidebar-article-card__title a {transition: color 0.25s ease;}
.sidebar-article-card__title a:hover {color: #8b7355;}
.sidebar-article-card__perex {margin-bottom: 18px;font-size: 0.9rem;line-height: 1.7;color: #616977;}
.sidebar-article-card__link {display: inline-flex;align-items: center;gap: 8px;padding-bottom: 3px;border-bottom: 1px solid rgba(139, 115, 85, 0.4);font-size: 0.84rem;font-weight: 600;color: #8b7355;transition:gap 0.25s ease,border-color 0.25s ease;}
.sidebar-article-card__link:hover {gap: 12px;border-color: #8b7355;}

/* =========================================================
   ARTICLE DETAIL ANIMATIONS
========================================================= */

.article-detail-animate {
  opacity: 1;
  transform: none;
}

/*
  Obsah se skryje pouze v případě aktivního JavaScriptu.
  Bez JavaScriptu tedy zůstane vždy viditelný.
*/
.js .article-detail-animate {opacity: 0;transform: translateY(28px);}

.js .article-header__image.article-detail-animate {transform: translateY(24px) scale(0.985);}

.js .article-detail-animate.is-visible {opacity: 1;transform: translateY(0) scale(1);transition:opacity 0.85s ease,transform 0.95s cubic-bezier(0.22, 1, 0.36, 1);}

/* úvodní pořadí */
.js .article-header__content.is-visible {transition-delay: 0.08s;}
.js .article-header__image.is-visible {transition-delay: 0.22s;}

/* sidebar cards */
.js .article-sidebar__inner.is-visible .sidebar-article-card {animation: sidebarArticleReveal 0.75s ease both;}

.js .article-sidebar__inner.is-visible .sidebar-article-card:nth-child(1) {animation-delay: 0.18s;}
.js .article-sidebar__inner.is-visible .sidebar-article-card:nth-child(2) {animation-delay: 0.32s;}
.js .article-sidebar__inner.is-visible .sidebar-article-card:nth-child(3) {animation-delay: 0.46s;}

@keyframes sidebarArticleReveal {
  from {opacity: 0;transform: translateY(18px);}
  to {opacity: 1;transform: translateY(0);}
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1180px) {
  .article-header {grid-template-columns: 1fr 1fr;gap: 42px;}
  .article-layout {grid-template-columns: minmax(0, 1fr) 320px;gap: 44px;}
  .article-header__title {font-size: clamp(2.5rem, 4vw, 3.8rem);}
}

@media (max-width: 960px) {
  .article-header {grid-template-columns: 1fr;}
  .article-header__content {max-width: 780px;}
  .article-header__image img {height: auto;}
  .article-layout {grid-template-columns: 1fr;}
  .article-prose,.article-gallery,.article-contact-box {max-width: none;}
  .article-sidebar__inner {position: static;}
  .article-sidebar__list {display: grid;grid-template-columns: repeat(3, 1fr);gap: 22px;}
  .sidebar-article-card__image {height: 170px;}
}

@media (max-width: 768px) {
  .article-breadcrumbs-section {padding: 20px 0;}
  .article-header-section {padding: 56px 0 66px;}
  .article-header__title {font-size: 2.45rem;}
  .article-header__perex {font-size: 1rem;}
  .article-header__image img {height: auto;}
  .article-content-section {padding: 72px 0 86px;}
  .article-prose p {font-size: 0.98rem;}
  .article-gallery {margin: 48px 0;padding: 28px;}
  .article-gallery__grid {grid-template-columns: 1fr;grid-auto-rows: 260px;}
  .article-gallery__item--large {grid-row: auto;}
  .article-contact-box {padding: 30px 26px;flex-direction: column;align-items: flex-start;}
  .article-sidebar__list {grid-template-columns: 1fr;}
  .sidebar-article-card {display: grid;grid-template-columns: 200px 1fr;}
  .sidebar-article-card__image {height: 100%;min-height: 230px;}
}

@media (max-width: 560px) {
  .article-header__title {font-size: 2rem;}
  .article-header__meta {flex-direction: column;align-items: flex-start;gap: 22px;}
  .article-header__image img {height: auto;}
  .article-prose blockquote {padding: 24px;font-size: 1.08rem;}
  .article-gallery {padding: 22px;}
  .article-gallery__grid {grid-auto-rows: 210px;}
  .sidebar-article-card {display: block;}
  .sidebar-article-card__image {height: 220px;min-height: 0;}
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {
  .article-detail-animate,.js .article-detail-animate,.sidebar-article-card,.sidebar-article-card__image img,.article-gallery__item img {opacity: 1 !important;transform: none !important;transition: none !important;animation: none !important;}
}


/* =========================================================
   BLOG PAGE
========================================================= */

.blog-page {
  background-color: #f7f5f0;
}

/* =========================================================
   BREADCRUMBS
========================================================= */

.blog-breadcrumbs-section {padding: 28px 0;border-bottom: 1px solid rgba(22, 32, 51, 0.08);background-color: #f7f5f0;}
.blog-breadcrumbs__list {display: flex;align-items: center;flex-wrap: wrap;gap: 10px;list-style: none;font-size: 0.86rem;}
.blog-breadcrumbs__item {display: inline-flex;align-items: center;color: #687080;}
.blog-breadcrumbs__item:not(:last-child)::after {content: "/";margin-left: 10px;color: #b2a58e;}
.blog-breadcrumbs__item a {color: #687080;transition: color 0.25s ease;}
.blog-breadcrumbs__item a:hover {color: #8b7355;}
.blog-breadcrumbs__item--current {color: #162033;}

/* =========================================================
   BLOG HEADER
========================================================= */

.blog-page-header {padding: 92px 0;background-color: #162033;color: #ffffff;}
.blog-page-header__inner {display: grid;grid-template-columns: minmax(0, 1.4fr) minmax(300px, 0.6fr);gap: 72px;align-items: end;}
.blog-page-header__content {max-width: 820px;}
.blog-page-header__eyebrow {margin-bottom: 18px;font-size: 0.8rem;font-weight: 600;letter-spacing: 0.14em;text-transform: uppercase;color: #c9b89a;}
.blog-page-header__title {margin-bottom: 26px;font-size: clamp(3rem, 6vw, 5.5rem);line-height: 1.05;font-weight: 600;color: #ffffff;}
.blog-page-header__text {max-width: 760px;font-size: 1.08rem;line-height: 1.85;color: rgba(255, 255, 255, 0.82);}
.blog-page-header__aside {padding: 30px;border: 1px solid rgba(201, 184, 154, 0.24);background-color: rgba(255, 255, 255, 0.05);}
.blog-page-header__aside-label {margin-bottom: 12px;font-size: 0.75rem;font-weight: 600;letter-spacing: 0.13em;text-transform: uppercase;color: #c9b89a;}
.blog-page-header__aside-text {font-size: 0.96rem;line-height: 1.75;color: rgba(255, 255, 255, 0.76);}

/* =========================================================
   BLOG LIST
========================================================= */

.blog-list-section {padding: 96px 0 112px;background-color: #f7f5f0;}
.blog-list-section__heading {display: flex;align-items: flex-end;justify-content: space-between;gap: 36px;margin-bottom: 52px;}
.blog-list-section__count {flex: 0 0 auto;padding-bottom: 8px;font-size: 0.88rem;color: #6a7280;}
.blog-list-section__count strong {color: #162033;}

/* =========================================================
   ARTICLES GRID
========================================================= */

.blog-page-grid {display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap: 32px;}

/* =========================================================
   ARTICLE CARD
========================================================= */

.blog-page-card {display: flex;flex-direction: column;min-width: 0;background-color: #ffffff;border: 1px solid rgba(22, 32, 51, 0.08);transition:transform 0.35s ease,box-shadow 0.35s ease,border-color 0.35s ease;}
.blog-page-card:hover {transform: translateY(-5px);border-color: rgba(139, 115, 85, 0.26);box-shadow: 0 18px 42px rgba(22, 32, 51, 0.08);}
/*
.blog-page-card__image {width: 100%;aspect-ratio: 16 / 10;display: block;overflow: hidden;background-color: #ebe7df;}
.blog-page-card__image img {width: 100%;height: 100%;display: block;object-fit: cover;transition: transform 0.6s ease;}
.blog-page-card:hover .blog-page-card__image img {transform: scale(1.035);}
*/
/* =========================================================
   BLOG – OBRÁZEK ČLÁNKU
========================================================= */

.blog-page-card__image {position: relative;width: 100%;height: 250px;display: block;flex-shrink: 0;overflow: hidden;background-color: #ebe7df;}
.blog-page-card__image img {position: absolute;inset: 0;width: 100%;height: 100%;display: block;visibility: visible;opacity: 1;object-fit: cover;object-position: center;transition: transform 0.6s ease;}
.blog-page-card:hover .blog-page-card__image img {transform: scale(1.035);}
.blog-page-card__content {/*min-height: 100%;*/padding: 30px 28px 28px;display: flex;flex: 1;flex-direction: column;}
.blog-page-card__date {display: block;margin-bottom: 14px;font-size: 0.76rem;letter-spacing: 0.05em;color: #8b7355;}
.blog-page-card__title {margin-bottom: 16px;font-size: 1.42rem;line-height: 1.35;color: #162033;}
.blog-page-card__title a {transition: color 0.25s ease;}
.blog-page-card__title a:hover {color: #8b7355;}
.blog-page-card__perex {margin-bottom: 26px;font-size: 0.95rem;line-height: 1.75;color: #5d6675;}
.blog-page-card__button {display: inline-flex;align-items: center;align-self: flex-start;gap: 9px;margin-top: auto;padding-bottom: 4px;border-bottom: 1px solid rgba(139, 115, 85, 0.42);font-size: 0.88rem;font-weight: 600;color: #8b7355;transition:gap 0.25s ease,border-color 0.25s ease;}
.blog-page-card__button:hover {gap: 13px;border-color: #8b7355;}

/* skrytí článků pomocí stránkování */
.blog-page-card.is-pagination-hidden {display: none;}

/* =========================================================
   PAGINATION
========================================================= */

.blog-pagination {display: none;align-items: center;justify-content: center;flex-wrap: wrap;gap: 8px;margin-top: 58px;}
.blog-pagination.is-visible {display: flex;}
.blog-pagination__button {min-width: 46px;height: 46px;padding: 0 15px;display: inline-flex;align-items: center;justify-content: center;border: 1px solid rgba(22, 32, 51, 0.16);background-color: transparent;font: inherit;font-size: 0.9rem;color: #162033;cursor: pointer;transition:color 0.25s ease,background-color 0.25s ease,border-color 0.25s ease;}
.blog-pagination__button:hover {border-color: #162033;}
.blog-pagination__button.is-active {border-color: #162033;background-color: #162033;color: #ffffff;}
.blog-pagination__button:disabled {opacity: 0.35;cursor: default;}
.blog-pagination__button:disabled:hover {border-color: rgba(22, 32, 51, 0.16);}

/* =========================================================
   ANIMATIONS
========================================================= */

.blog-page-animate {opacity: 1;transform: none;}

/*
  Obsah se skryje pouze tehdy, pokud je aktivní JavaScript.
  Bez JavaScriptu zůstává stránka kompletně viditelná.
*/

.js .blog-page-animate {opacity: 0;transform: translateY(28px);}
.js .blog-page-animate.is-visible {opacity: 1;transform: translateY(0);transition:opacity 0.82s ease,transform 0.92s cubic-bezier(0.22, 1, 0.36, 1);}

/* úvodní blok */

.js .blog-page-header__content.is-visible {transition-delay: 0.08s;}
.js .blog-page-header__aside.is-visible {transition-delay: 0.22s;}

/* karty */

.js .blog-page-card.is-visible:nth-child(3n + 1) {transition-delay: 0.08s;}
.js .blog-page-card.is-visible:nth-child(3n + 2) {transition-delay: 0.2s;}
.js .blog-page-card.is-visible:nth-child(3n + 3) {transition-delay: 0.32s;}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {
  .blog-page-header__inner {grid-template-columns: 1fr 340px;gap: 44px;}
  .blog-page-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
  .blog-page-card__image {height: 280px;}
}

@media (max-width: 820px) {
  .blog-page-header__inner {grid-template-columns: 1fr;}
  .blog-page-header__aside {max-width: 620px;}
  .blog-list-section__heading {align-items: flex-start;flex-direction: column;gap: 16px;}
  .blog-list-section__count {padding-bottom: 0;}
}

@media (max-width: 680px) {
  .blog-breadcrumbs-section {padding: 20px 0;}
  .blog-page-header {padding: 66px 0;}
  .blog-page-header__title {font-size: 3rem;}
  .blog-list-section {padding: 72px 0 84px;}
  .blog-page-grid {grid-template-columns: 1fr;gap: 24px;}
  .blog-page-card__content {padding: 26px 24px;}
  .blog-pagination {margin-top: 42px;}
  .blog-page-card__image {height: 240px;}
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {
  .blog-page-animate,.js .blog-page-animate,.blog-page-card,.blog-page-card__image img {opacity: 1 !important;transform: none !important;transition: none !important;animation: none !important;}
}

/* =========================================================
   CONTACT PAGE
========================================================= */

.contact-page {
  background-color: #f7f5f0;
}

/* =========================================================
   BREADCRUMBS
========================================================= */

.contact-breadcrumbs-section {padding: 28px 0;border-bottom: 1px solid rgba(22, 32, 51, 0.08);background-color: #f7f5f0;}
.contact-breadcrumbs__list {display: flex;align-items: center;flex-wrap: wrap;gap: 10px;list-style: none;font-size: 0.86rem;}
.contact-breadcrumbs__item {display: inline-flex;align-items: center;color: #687080;}
.contact-breadcrumbs__item:not(:last-child)::after {content: "/";margin-left: 10px;color: #b2a58e;}
.contact-breadcrumbs__item a {color: #687080;transition: color 0.25s ease;}
.contact-breadcrumbs__item a:hover {color: #8b7355;}
.contact-breadcrumbs__item--current {color: #162033;}

/* =========================================================
   CONTACT HEADER
========================================================= */

.contact-page-header {padding: 92px 0;background-color: #162033;color: #ffffff;}
.contact-page-header__inner {display: grid;grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);gap: 72px;align-items: end;}
.contact-page-header__content {max-width: 850px;}
.contact-page-header__eyebrow {margin-bottom: 18px;font-size: 0.8rem;font-weight: 600;letter-spacing: 0.14em;text-transform: uppercase;color: #c9b89a;}
.contact-page-header__title {max-width: 830px;margin-bottom: 28px;font-size: clamp(1.8rem, 3.4vw, 3.2rem);line-height: 1.06;font-weight: 600;color: #ffffff;}
.contact-page-header__text {max-width: 760px;font-size: 1.06rem;line-height: 1.85;color: rgba(255, 255, 255, 0.82);}
.contact-page-header__aside {padding: 32px;border: 1px solid rgba(201, 184, 154, 0.24);background-color: rgba(255, 255, 255, 0.05);}
.contact-page-header__aside-label {margin-bottom: 12px;font-size: 0.75rem;font-weight: 600;letter-spacing: 0.13em;text-transform: uppercase;color: #c9b89a;}
.contact-page-header__aside-text {margin-bottom: 24px;font-size: 0.96rem;line-height: 1.75;color: rgba(255, 255, 255, 0.76);}
.contact-page-header__aside .btn--secondary {border-color: rgba(255, 255, 255, 0.64);color: #ffffff;}
.contact-page-header__aside .btn--secondary:hover {background-color: #ffffff;color: #162033;}

/* =========================================================
   CONTACT DETAILS
========================================================= */

.contact-details-section {padding: 96px 0;background-color: #f7f5f0;}
.contact-details-section__heading {max-width: 760px;margin-bottom: 48px;}
.contact-details-grid {display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap: 28px;}
.contact-detail-card {min-width: 0;min-height: 310px;padding: 34px 30px;display: flex;flex-direction: column;background-color: #ffffff;border: 1px solid rgba(22, 32, 51, 0.08);transition:transform 0.35s ease,box-shadow 0.35s ease,border-color 0.35s ease;}
.contact-detail-card:hover {transform: translateY(-5px);border-color: rgba(139, 115, 85, 0.26);box-shadow: 0 18px 42px rgba(22, 32, 51, 0.08);}
.contact-detail-card__number {width: 48px;height: 48px;margin-bottom: 34px;display: inline-flex;align-items: center;justify-content: center;border: 1px solid rgba(139, 115, 85, 0.32);font-size: 0.82rem;font-weight: 700;color: #8b7355;}
.contact-detail-card__content {margin-top: auto;}
.contact-detail-card__label {margin-bottom: 10px;font-size: 0.74rem;font-weight: 600;letter-spacing: 0.12em;text-transform: uppercase;color: #8b7355;}
.contact-detail-card__title {margin-bottom: 16px;font-size: 1.3rem;line-height: 1.35;color: #162033;overflow-wrap: anywhere;}
.contact-detail-card__title a {transition: color 0.25s ease;}
.contact-detail-card__title a:hover {color: #8b7355;}
.contact-detail-card__text {font-size: 0.94rem;line-height: 1.72;color: #626b79;}

/* =========================================================
   MAIN CONTACT AREA
========================================================= */

.contact-main-section {padding: 96px 0;background-color: #efe9df;}
.contact-main-layout {display: grid;grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1.28fr);gap: 48px;align-items: stretch;}

/* OFFICE INFO */

.contact-office {padding: 42px 36px;background-color: #162033;color: #ffffff;}
.contact-office__heading {margin-bottom: 38px;}
.contact-office__eyebrow {margin-bottom: 12px;font-size: 0.74rem;font-weight: 600;letter-spacing: 0.13em;text-transform: uppercase;color: #c9b89a;}
.contact-office__title {margin-bottom: 18px;font-size: clamp(1.8rem, 3vw, 2.6rem);line-height: 1.22;}
.contact-office__text {font-size: 0.96rem;line-height: 1.78;color: rgba(255, 255, 255, 0.78);}
.contact-office__list {display: flex;flex-direction: column;}
.contact-office__item {padding: 19px 0;display: flex;flex-direction: column;gap: 6px;border-top: 1px solid rgba(201, 184, 154, 0.18);}
.contact-office__item-label {font-size: 0.72rem;letter-spacing: 0.11em;text-transform: uppercase;color: #c9b89a;}
.contact-office__item-value {font-size: 0.98rem;color: #ffffff;}
.contact-office__notice {margin-top: 32px;padding: 22px;border: 1px solid rgba(201, 184, 154, 0.2);background-color: rgba(255, 255, 255, 0.04);}
.contact-office__notice p {font-size: 0.84rem;line-height: 1.7;color: rgba(255, 255, 255, 0.66);}

/* =========================================================
   CONTACT FORM
========================================================= */

.contact-form-box {padding: 44px 42px;background-color: #ffffff;border: 1px solid rgba(22, 32, 51, 0.08);}
.contact-form-box__heading {max-width: 720px;margin-bottom: 38px;}
.contact-form-box__eyebrow {margin-bottom: 10px;font-size: 0.74rem;font-weight: 600;letter-spacing: 0.13em;text-transform: uppercase;color: #8b7355;}
.contact-form-box__title {margin-bottom: 15px;font-size: clamp(1.8rem, 3vw, 2.65rem);line-height: 1.22;color: #162033;}
.contact-form-box__text {font-size: 0.96rem;line-height: 1.75;color: #626b79;}
.contact-form__grid {display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 24px;}
.contact-form__group {margin-bottom: 24px;}
.contact-form__group label {display: block;margin-bottom: 9px;font-size: 0.82rem;font-weight: 600;color: #162033;}
.contact-form__group label span {color: #8b7355;}
.contact-form__group input,.contact-form__group textarea {width: 100%;border: 1px solid rgba(22, 32, 51, 0.18);border-radius: 0;background-color: #fbfaf7;font: inherit;color: #162033;outline: none;transition:border-color 0.25s ease,background-color 0.25s ease,box-shadow 0.25s ease;}
.contact-form__group input {height: 54px;padding: 0 16px;}
.contact-form__group textarea {min-height: 180px;padding: 16px;resize: vertical;line-height: 1.65;}
.contact-form__group input:focus,.contact-form__group textarea:focus {border-color: #8b7355;background-color: #ffffff;box-shadow: 0 0 0 3px rgba(139, 115, 85, 0.1);}
.contact-form__privacy {margin-top: 4px;}
.contact-form__checkbox {display: grid;grid-template-columns: 20px 1fr;gap: 12px;align-items: start;cursor: pointer;}
.contact-form__checkbox input {width: 18px;height: 18px;margin-top: 3px;accent-color: #162033;}
.contact-form__checkbox span {font-size: 0.84rem;line-height: 1.65;color: #687080;}
.contact-form__footer {margin-top: 32px;padding-top: 28px;display: flex;align-items: center;justify-content: space-between;gap: 24px;border-top: 1px solid rgba(22, 32, 51, 0.1);}
.contact-form__required {font-size: 0.8rem;color: #7a818d;}
.contact-form__status {display: none;margin-top: 24px;padding: 15px 18px;font-size: 0.9rem;line-height: 1.6;}
.contact-form__status.is-visible {display: block;}
.contact-form__status.is-success {border: 1px solid rgba(49, 112, 77, 0.24);background-color: rgba(49, 112, 77, 0.08);color: #275f40;}
.contact-form__status.is-error {border: 1px solid rgba(150, 54, 54, 0.24);background-color: rgba(150, 54, 54, 0.08);color: #803434;}

/* =========================================================
   MAP
========================================================= */

.contact-map-section {padding: 96px 0 112px;background-color: #f7f5f0;}
.contact-map-section__heading {margin-bottom: 42px;display: flex;align-items: flex-end;justify-content: space-between;gap: 30px;}
.contact-map-section__address {padding-bottom: 8px;font-size: 0.92rem;color: #687080;}
.contact-map {height: 520px;overflow: hidden;background-color: #e4ded4;border: 1px solid rgba(22, 32, 51, 0.08);}
.contact-map iframe {width: 100%;height: 100%;display: block;}

/* =========================================================
   CONTACT PAGE ANIMATIONS
========================================================= */

.contact-page-animate {opacity: 1;transform: none;}
.js .contact-page-animate {opacity: 0;transform: translateY(28px);}
.js .contact-page-animate.is-visible {opacity: 1;transform: translateY(0);transition:opacity 0.82s ease,transform 0.92s cubic-bezier(0.22, 1, 0.36, 1);}

/* header */

.js .contact-page-header__content.is-visible {transition-delay: 0.08s;}
.js .contact-page-header__aside.is-visible {transition-delay: 0.22s;}

/* contact cards */

.js .contact-details-grid .contact-detail-card:nth-child(1).is-visible {transition-delay: 0.08s;}
.js .contact-details-grid .contact-detail-card:nth-child(2).is-visible {transition-delay: 0.2s;}
.js .contact-details-grid .contact-detail-card:nth-child(3).is-visible {transition-delay: 0.32s;}

/* main section */

.js .contact-office.is-visible {transition-delay: 0.08s;}
.js .contact-form-box.is-visible {transition-delay: 0.2s;}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {
  .contact-page-header__inner {grid-template-columns: 1fr 340px;gap: 44px;}
  .contact-main-layout {grid-template-columns: 340px minmax(0, 1fr);gap: 32px;}
}
@media (max-width: 900px) {.contact-page-header__inner,.contact-main-layout {grid-template-columns: 1fr;}
  .contact-page-header__aside {max-width: 620px;}
  .contact-details-grid {grid-template-columns: 1fr;}
  .contact-detail-card {min-height: 0;}
  .contact-map-section__heading {align-items: flex-start;flex-direction: column;gap: 12px;}
  .contact-map-section__address {padding-bottom: 0;}
}

@media (max-width: 680px) {
  .contact-breadcrumbs-section {padding: 20px 0;}
  .contact-page-header {padding: 66px 0;}
  .contact-page-header__title {font-size: 1.8rem;}
  .contact-details-section,.contact-main-section,.contact-map-section {padding: 72px 0;}
  .contact-form-box,.contact-office {padding: 30px 24px;}
  .contact-form__grid {grid-template-columns: 1fr;gap: 0;}
  .contact-form__footer {align-items: stretch;flex-direction: column;}
  .contact-form__footer .btn {width: 100%;}
  .contact-map {height: 420px;}
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {
  .contact-page-animate,.js .contact-page-animate,.contact-detail-card {opacity: 1 !important;transform: none !important;transition: none !important;animation: none !important;}
}

/*---------------------------------------------------------------------------------------------------------------LASTZZZZZ*/

/* =========================================================
   PŘEHLED PRÁVNÍCH SLUŽEB
   <main class="services-page">
========================================================= */

.services-page {
  overflow: hidden;
  background-color: #f7f5f0;
  color: #162033;
}

/* =========================================================
   DROBEČKOVÁ NAVIGACE
========================================================= */

.services-breadcrumbs-section {
  padding: 26px 0;
  background-color: #f7f5f0;
  border-bottom: 1px solid rgba(22, 32, 51, 0.08);
}

.services-breadcrumbs__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.86rem;
}

.services-breadcrumbs__item {
  display: inline-flex;
  align-items: center;
  color: #687080;
}

.services-breadcrumbs__item:not(:last-child)::after {
  content: "/";
  margin-left: 10px;
  color: #b2a58e;
}

.services-breadcrumbs__item a {
  color: #687080;
  text-decoration: none;
  transition: color 0.25s ease;
}

.services-breadcrumbs__item a:hover {
  color: #8b7355;
}

.services-breadcrumbs__item--current {
  color: #162033;
}

/* =========================================================
   HLAVNÍ ZÁHLAVÍ STRÁNKY
========================================================= */

.services-page-header {
  position: relative;
  padding: 100px 0 104px;
  overflow: hidden;
  background:
    linear-gradient(
      120deg,
      rgba(22, 32, 51, 1) 0%,
      rgba(26, 38, 59, 1) 58%,
      rgba(18, 27, 43, 1) 100%
    );
  color: #ffffff;
}

.services-page-header::before,
.services-page-header::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border: 1px solid rgba(201, 184, 154, 0.08);
}

.services-page-header::before {
  top: -210px;
  right: -120px;
  width: 480px;
  height: 480px;
  transform: rotate(28deg);
}

.services-page-header::after {
  right: 12%;
  bottom: -250px;
  width: 560px;
  height: 560px;
  transform: rotate(45deg);
}

.services-page-header__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
  gap: 72px;
  align-items: end;
}

.services-page-header__content {max-width: 860px;}
.services-page-header__eyebrow {margin: 0 0 18px;font-size: 0.78rem;font-weight: 600;letter-spacing: 0.14em;text-transform: uppercase;color: #c9b89a;}
.services-page-header__title {max-width: 880px;margin: 0 0 28px;font-size: clamp(1.8rem, 3.2vw, 3.2rem);font-weight: 600;line-height: 1.06;color: #ffffff;}
.services-page-header__text {max-width: 760px;margin: 0;font-size: 1.05rem;line-height: 1.85;color: rgba(255, 255, 255, 0.82);}
.services-page-header__aside {padding: 34px 32px;border: 1px solid rgba(201, 184, 154, 0.24);background-color: rgba(255, 255, 255, 0.05);backdrop-filter: blur(6px);}
.services-page-header__aside-label {margin: 0 0 12px;font-size: 0.74rem;font-weight: 600;letter-spacing: 0.13em;text-transform: uppercase;color: #c9b89a;}
.services-page-header__aside-text {margin: 0 0 26px;font-size: 0.95rem;line-height: 1.75;color: rgba(255, 255, 255, 0.76);}
.services-page-header__aside .btn--secondary {border-color: rgba(255, 255, 255, 0.54);color: #ffffff;}
.services-page-header__aside .btn--secondary:hover {border-color: #ffffff;background-color: #ffffff;color: #162033;}

/* =========================================================
   ÚVODNÍ BLOK
========================================================= */

.services-page-intro {
  padding: 92px 0;
  background-color: #f7f5f0;
}

.services-page-intro__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 70px;
  align-items: end;
}

.services-page-intro__text {
  max-width: 760px;
  margin: 0;
  padding-left: 32px;
  border-left: 1px solid rgba(139, 115, 85, 0.34);
  font-size: 1rem;
  line-height: 1.85;
  color: #5d6675;
}

/* =========================================================
   PŘEHLED SLUŽEB
========================================================= */

.services-overview-section {
  padding: 0 0 104px;
  background-color: #f7f5f0;
}

.services-overview-list {
  display: flex;
  flex-direction: column;
  gap: 26px;
}

/* =========================================================
   OBECNÁ KARTA SLUŽBY
========================================================= */

.services-overview-card {
  position: relative;
  min-width: 0;
  padding: 38px 34px;
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  gap: 26px;
  background-color: #ffffff;
  border: 1px solid rgba(22, 32, 51, 0.08);
  transition:
    transform 0.35s ease,
    border-color 0.35s ease,
    box-shadow 0.35s ease,
    background-color 0.35s ease;
}

.services-overview-card:hover {
  transform: translateY(-4px);
  border-color: rgba(139, 115, 85, 0.24);
  box-shadow: 0 18px 42px rgba(22, 32, 51, 0.07);
}

.services-overview-card__number {
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(139, 115, 85, 0.3);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #8b7355;
}

.services-overview-card__content {
  min-width: 0;
}

.services-overview-card__eyebrow {
  margin: 0 0 10px;
  font-size: 0.73rem;
  font-weight: 600;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #8b7355;
}

.services-overview-card__title {
  margin: 0 0 15px;
  font-size: clamp(1.65rem, 2.5vw, 2.5rem);
  line-height: 1.2;
  color: #162033;
}

.services-overview-card__lead {
  margin: 0 0 17px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.08rem;
  line-height: 1.55;
  color: #8b7355;
}

.services-overview-card__text {
  margin: 0;
  font-size: 0.96rem;
  line-height: 1.8;
  color: #596372;
}

.services-overview-card__list {
  display: grid;
  gap: 12px;
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
}

.services-overview-card__list li {
  position: relative;
  padding: 15px 18px 15px 46px;
  border: 1px solid rgba(22, 32, 51, 0.08);
  background-color: #f9f7f3;
  font-size: 0.92rem;
  line-height: 1.65;
  color: #46505f;
}

.services-overview-card__list li::before {
  content: "";
  position: absolute;
  top: 21px;
  left: 20px;
  width: 9px;
  height: 5px;
  border-left: 1.5px solid #8b7355;
  border-bottom: 1.5px solid #8b7355;
  transform: rotate(-45deg);
}

/* =========================================================
   ŠIROKÉ KARTY 01–03
========================================================= */

.services-overview-card--wide {padding: 48px 46px;grid-template-columns: 88px minmax(0, 1fr);gap: 36px;}
.services-overview-card--wide .services-overview-card__number {width: 64px;height: 64px;}
.services-overview-card--wide .services-overview-card__content {display: grid;grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);column-gap: 54px;}
.services-overview-card--wide .services-overview-card__eyebrow,.services-overview-card--wide .services-overview-card__title,.services-overview-card--wide .services-overview-card__lead {grid-column: 1;}
.services-overview-card--wide .services-overview-card__text,.services-overview-card--wide .services-overview-card__list {grid-column: 2;}
.services-overview-card--wide .services-overview-card__text {grid-row: 1 / span 3;padding-top: 4px;}
.services-overview-card--wide .services-overview-card__list {grid-row: 4;margin-top: 24px;}

/* =========================================================
   MENŠÍ KARTY 04–07
========================================================= */

.services-overview-grid {display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 26px;}
.services-overview-grid .services-overview-card {min-height: 390px;align-content: start;}
.services-overview-grid .services-overview-card__content {display: flex;flex-direction: column;height: 100%;}
.services-overview-grid .services-overview-card__text {margin-top: auto;padding-top: 24px;}

/* =========================================================
   TMAVÁ KARTA – TRESTNÍ PRÁVO
========================================================= */

.services-overview-card--dark {
  background-color: #162033;
  border-color: #162033;
  color: #ffffff;
}

.services-overview-card--dark:hover {border-color: #2a3954;box-shadow: 0 20px 44px rgba(16, 24, 38, 0.18);}
.services-overview-card--dark .services-overview-card__number {border-color: rgba(201, 184, 154, 0.38);color: #c9b89a;}
.services-overview-card--dark .services-overview-card__eyebrow,.services-overview-card--dark .services-overview-card__lead {color: #c9b89a;}
.services-overview-card--dark .services-overview-card__title {color: #ffffff;}
.services-overview-card--dark .services-overview-card__text {color: rgba(255, 255, 255, 0.76);}

/* =========================================================
   PRŮBĚH SPOLUPRÁCE
========================================================= */

.services-process-section {padding: 100px 0;background-color: #efe9df;}
.services-process-section__heading {max-width: 820px;margin-bottom: 48px;}
.services-process-grid {display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap: 24px;}
.services-process-card {position: relative;min-height: 290px;padding: 34px 30px;background-color: #ffffff;border: 1px solid rgba(22, 32, 51, 0.08);transition:transform 0.35s ease,border-color 0.35s ease,box-shadow 0.35s ease;}
.services-process-card:hover {transform: translateY(-5px);border-color: rgba(139, 115, 85, 0.24);box-shadow: 0 18px 40px rgba(22, 32, 51, 0.07);}
.services-process-card__number {width: 48px;height: 48px;margin-bottom: 42px;display: inline-flex;align-items: center;justify-content: center;border: 1px solid rgba(139, 115, 85, 0.3);font-size: 0.78rem;font-weight: 700;color: #8b7355;}
.services-process-card__title {margin: 0 0 14px;font-size: 1.32rem;line-height: 1.35;color: #162033;}
.services-process-card__text {margin: 0;font-size: 0.93rem;line-height: 1.75;color: #626b79;}

/* propojující linka na desktopu */

.services-process-card:not(:last-child)::after {content: "";position: absolute;top: 57px;right: -25px;width: 25px;height: 1px;background-color: rgba(139, 115, 85, 0.34);}

/* =========================================================
   ZÁVĚREČNÉ CTA
========================================================= */

.services-cta-section {padding: 96px 0;background-color: #f7f5f0;}
.services-cta-section__inner {padding: 54px 52px;display: flex;align-items: center;justify-content: space-between;gap: 48px;background-color: #162033;color: #ffffff;}
.services-cta-section__content {max-width: 760px;}
.services-cta-section__eyebrow {margin: 0 0 12px;font-size: 0.74rem;font-weight: 600;letter-spacing: 0.13em;text-transform: uppercase;color: #c9b89a;}
.services-cta-section__title {margin: 0 0 16px;font-size: clamp(2rem, 3.5vw, 3.15rem);line-height: 1.2;color: #ffffff;}
.services-cta-section__text {margin: 0;font-size: 0.98rem;line-height: 1.8;color: rgba(255, 255, 255, 0.76);}
.services-cta-section__actions {flex: 0 0 auto;display: flex;flex-wrap: wrap;gap: 14px;}
.services-cta-section .btn--primary {background-color: #ffffff;border-color: #ffffff;color: #162033;}
.services-cta-section .btn--primary:hover {background-color: #c9b89a;border-color: #c9b89a;color: #162033;}
.services-cta-section .btn--secondary {border-color: rgba(255, 255, 255, 0.54);color: #ffffff;}
.services-cta-section .btn--secondary:hover {border-color: #ffffff;background-color: #ffffff;color: #162033;}

/* =========================================================
   ANIMACE – ZÁKLAD
========================================================= */

.services-page-animate {opacity: 1;transform: none;}

/*
  Prvky se skryjí pouze tehdy, když je na <html> třída .js.
  Pokud JavaScript selže, obsah zůstane normálně viditelný.
*/

.js .services-page .services-page-animate {
  opacity: 0;
  transform: translateY(30px);
}

.js .services-page .services-page-animate.is-visible {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 0.82s ease,
    transform 0.95s cubic-bezier(0.22, 1, 0.36, 1);
}

/* záhlaví */

.js .services-page-header__content.is-visible {transition-delay: 0.08s;}
.js .services-page-header__aside.is-visible {transition-delay: 0.22s;}

/* široké karty */

.js .services-overview-card--wide.is-visible:nth-child(1) {transition-delay: 0.04s;}
.js .services-overview-card--wide.is-visible:nth-child(2) {transition-delay: 0.08s;}
.js .services-overview-card--wide.is-visible:nth-child(3) {transition-delay: 0.12s;}

/* menší karty */

.js .services-overview-grid .services-overview-card:nth-child(1).is-visible {transition-delay: 0.06s;}
.js .services-overview-grid .services-overview-card:nth-child(2).is-visible {transition-delay: 0.16s;}
.js .services-overview-grid .services-overview-card:nth-child(3).is-visible {transition-delay: 0.26s;}
.js .services-overview-grid .services-overview-card:nth-child(4).is-visible {transition-delay: 0.36s;}

/* průběh spolupráce */

.js .services-process-grid .services-process-card:nth-child(1).is-visible {transition-delay: 0.08s;}
.js .services-process-grid .services-process-card:nth-child(2).is-visible {transition-delay: 0.2s;}
.js .services-process-grid .services-process-card:nth-child(3).is-visible {transition-delay: 0.32s;}

/* vnitřní animace širokých karet */

.js .services-overview-card--wide .services-overview-card__number,
.js .services-overview-card--wide .services-overview-card__content {
  opacity: 0;
}

.js .services-overview-card--wide .services-overview-card__number {
  transform: translateY(16px);
}

.js .services-overview-card--wide .services-overview-card__content {
  transform: translateY(20px);
}

.js .services-overview-card--wide.is-visible .services-overview-card__number,
.js .services-overview-card--wide.is-visible .services-overview-card__content {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 0.7s ease,
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.js .services-overview-card--wide.is-visible .services-overview-card__number {
  transition-delay: 0.14s;
}

.js .services-overview-card--wide.is-visible .services-overview-card__content {
  transition-delay: 0.24s;
}

/* postupné zobrazení odrážek */

.js .services-overview-card__list li {opacity: 0;transform: translateY(12px);}
.js .services-overview-card.is-visible .services-overview-card__list li {opacity: 1;transform: translateY(0);transition:opacity 0.55s ease,transform 0.65s ease;}
.js .services-overview-card.is-visible .services-overview-card__list li:nth-child(1) {transition-delay: 0.42s;}
.js .services-overview-card.is-visible .services-overview-card__list li:nth-child(2) {transition-delay: 0.54s;}
.js .services-overview-card.is-visible .services-overview-card__list li:nth-child(3) {transition-delay: 0.66s;}

/* =========================================================
   RESPONSIVNÍ ZOBRAZENÍ
========================================================= */

@media (max-width: 1180px) {
  .services-page-header__inner {grid-template-columns: minmax(0, 1fr) 340px;gap: 44px;}
  .services-overview-card--wide .services-overview-card__content {column-gap: 36px;}
  .services-cta-section__inner {padding: 48px 42px;}
}

@media (max-width: 960px) {
  .services-page-header__inner,.services-page-intro__inner {grid-template-columns: 1fr;}
  .services-page-header__aside {max-width: 640px;}
  .services-page-intro__text {padding-left: 0;padding-top: 26px;border-left: 0;border-top: 1px solid rgba(139, 115, 85, 0.28);}
  .services-overview-card--wide {grid-template-columns: 72px minmax(0, 1fr);padding: 40px 36px;}
  .services-overview-card--wide .services-overview-card__content {display: block;}
  .services-overview-card--wide .services-overview-card__text {margin-top: 18px;padding-top: 0;}
  .services-overview-card--wide .services-overview-card__list {margin-top: 24px;}
  .services-overview-grid {grid-template-columns: 1fr;}
  .services-overview-grid .services-overview-card {min-height: 0;}
  .services-overview-grid .services-overview-card__text {margin-top: 0;}
  .services-process-grid {grid-template-columns: 1fr;}
  .services-process-card {min-height: 0;}
  .services-process-card:not(:last-child)::after {display: none;}
  .services-cta-section__inner {align-items: flex-start;flex-direction: column;}
}

@media (max-width: 680px) {
  .services-breadcrumbs-section {padding: 20px 0;}
  .services-page-header {padding: 68px 0 72px;}
  .services-page-header__title {font-size: 2.55rem;}
  .services-page-header__aside {padding: 28px 24px;}
  .services-page-intro {padding: 72px 0;}
  .services-overview-section {padding-bottom: 76px;}
  .services-overview-list {gap: 20px;}
  .services-overview-card,.services-overview-card--wide {grid-template-columns: 1fr;gap: 22px;padding: 30px 24px;}
  .services-overview-card__number,.services-overview-card--wide .services-overview-card__number {width: 50px;height: 50px;}
  .services-overview-card__title {font-size: 1.75rem;}
  .services-overview-card__list li {padding: 14px 15px 14px 42px;}
  .services-overview-card__list li::before {left: 17px;}
  .services-process-section {padding: 74px 0;}
  .services-process-card {padding: 28px 24px;}
  .services-process-card__number {margin-bottom: 30px;}
  .services-cta-section {padding: 72px 0;}
  .services-cta-section__inner {padding: 34px 26px;}
  .services-cta-section__actions {width: 100%;flex-direction: column;}
  .services-cta-section__actions .btn {width: 100%;}
}

/* =========================================================
   OMEZENÍ ANIMACÍ PODLE NASTAVENÍ UŽIVATELE
========================================================= */

@media (prefers-reduced-motion: reduce) {
  .services-page-animate,
  .js .services-page .services-page-animate,
  .services-overview-card,
  .services-overview-card__number,
  .services-overview-card__content,
  .services-overview-card__list li,
  .services-process-card {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }
}


/* =========================================================
   FAQ PAGE
   ========================================================= */

.faq-page {position: relative;overflow: hidden;}


/* ---------------------------------------------------------
   Drobečková navigace
   --------------------------------------------------------- */

.faq-breadcrumbs-section {padding: 28px 0;border-bottom: 1px solid rgba(22, 32, 51, 0.08);background-color: #f7f5f0;}
.faq-breadcrumbs__list {display: flex;align-items: center;flex-wrap: wrap;gap: 10px;margin: 0;padding: 0;list-style: none;}
.faq-breadcrumbs__item {display: flex;align-items: center;gap: 10px;color: rgba(46, 47, 52, 0.58);font-size: 13px;font-weight: 500;letter-spacing: 0.04em;}
.faq-breadcrumbs__item:not(:last-child)::after {content: "/";color: rgba(46, 47, 52, 0.28);}
.faq-breadcrumbs__item a {color: inherit;text-decoration: none;transition:color 0.25s ease,opacity 0.25s ease;}
.faq-breadcrumbs__item a:hover {color: #2e2f34;}
.faq-breadcrumbs__item--current {color: #2e2f34;}


/* ---------------------------------------------------------
   Hlavička stránky
   --------------------------------------------------------- */

.faq-page-header {position: relative;padding: 92px 0;background-color: #162033;color: #ffffff;}
.faq-page-header::before {content: "";position: absolute;top: 10px;right: -180px;width: 480px;height: 480px;border: 1px solid rgba(46, 47, 52, 0.07);border-radius: 50%;pointer-events: none;}
.faq-page-header::after {content: "";position: absolute;top: 110px;right: -70px;width: 250px;height: 250px;border: 1px solid rgba(46, 47, 52, 0.07);border-radius: 50%;pointer-events: none;}
.faq-page-header__inner {position: relative;z-index: 1;display: grid;grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.55fr);gap: clamp(50px, 8vw, 130px);align-items: end;}
.faq-page-header__content {max-width: 810px;}
.faq-page-header__eyebrow,.faq-section__eyebrow,.faq-contact__eyebrow {margin-bottom: 18px;font-size: 0.8rem;font-weight: 600;letter-spacing: 0.14em;text-transform: uppercase;color: #c9b89a;}
.faq-page-header__title {max-width: 830px;margin-bottom: 28px;font-size: clamp(1.8rem, 3.4vw, 3.2rem);line-height: 1.06;font-weight: 600;color: #ffffff;}
.faq-page-header__text {max-width: 760px;font-size: 1.06rem;line-height: 1.85;color: rgba(255, 255, 255, 0.82);}
.faq-page-header__note {padding: 32px;border: 1px solid rgba(201, 184, 154, 0.24);background-color: rgba(255, 255, 255, 0.05);}
.faq-page-header__note-label {margin-bottom: 12px;font-size: 0.75rem;font-weight: 600;letter-spacing: 0.13em;text-transform: uppercase;color: #c9b89a;}
.faq-page-header__note p {margin-bottom: 24px;font-size: 0.96rem;line-height: 1.75;color: rgba(255, 255, 255, 0.76);}


/* ---------------------------------------------------------
   FAQ sekce
   --------------------------------------------------------- */

.faq-section {position: relative;padding: 110px 0 130px;background: #f5f4f1;}
.faq-section__heading {display: grid;grid-template-columns: minmax(0, 1fr) minmax(260px, 420px);gap: 60px;align-items: end;margin-bottom: 62px;}
.faq-section__title {max-width: 680px;margin: 0;color: #24262a;font-size: clamp(34px, 4.5vw, 56px);font-weight: 500; line-height: 1.12;letter-spacing: -0.035em;}
.faq-section__intro {margin: 0 0 6px;color: rgba(46, 47, 52, 0.65);font-size: 16px;line-height: 1.7;}


/* ---------------------------------------------------------
   Jednotlivé FAQ položky
   --------------------------------------------------------- */

.faq-list {border-top: 1px solid rgba(46, 47, 52, 0.16);}
.faq-item {border-bottom: 1px solid rgba(46, 47, 52, 0.16);}
.faq-item__heading {margin: 0;padding: 0;}
.faq-item__question {width: 100%;display: grid;grid-template-columns: 72px minmax(0, 1fr) 42px;gap: 26px;align-items: center;padding: 32px 4px;border: 0;background: transparent;color: #24262a;font-family: inherit;text-align: left;cursor: pointer;transition:padding-left 0.3s ease,color 0.3s ease;}
.faq-item__question:hover {padding-left: 12px;}
.faq-item__number {color: rgba(46, 47, 52, 0.42);font-size: 12px;font-weight: 700;letter-spacing: 0.16em;transition: color 0.3s ease;}
.faq-item__question-text {max-width: 900px;font-size: clamp(19px, 2vw, 25px);font-weight: 500;line-height: 1.4;letter-spacing: -0.015em;}
.faq-item__icon {position: relative;width: 40px;
    height: 40px;
    justify-self: end;
    border: 1px solid rgba(46, 47, 52, 0.18);
    border-radius: 50%;
    transition:
        border-color 0.3s ease,
        background-color 0.3s ease,
        transform 0.35s ease;
}

.faq-item__icon span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 1px;
    background: #2e2f34;
    transform: translate(-50%, -50%);
    transition:
        transform 0.35s ease,
        background-color 0.3s ease;
}

.faq-item__icon span:last-child {
    transform: translate(-50%, -50%) rotate(90deg);
}

.faq-item__question:hover .faq-item__icon {
    border-color: #9a7b4f;
}

.faq-item__question[aria-expanded="true"] {
    color: #17191c;
}

.faq-item__question[aria-expanded="true"] .faq-item__number {
    color: #9a7b4f;
}

.faq-item__question[aria-expanded="true"] .faq-item__icon {
    background: #2e2f34;
    border-color: #2e2f34;
    transform: rotate(180deg);
}

.faq-item__question[aria-expanded="true"] .faq-item__icon span {
    background: #ffffff;
}

.faq-item__question[aria-expanded="true"] .faq-item__icon span:last-child {
    transform: translate(-50%, -50%) rotate(0deg);
}


/* Rozbalovací odpověď */

.faq-item__answer {display: grid;grid-template-rows: 0fr;visibility: hidden;opacity: 0;transition:grid-template-rows 0.45s cubic-bezier(0.22, 1, 0.36, 1),opacity 0.3s ease,visibility 0s linear 0.45s;}
.faq-item__answer.is-open {grid-template-rows: 1fr;visibility: visible;opacity: 1;transition:grid-template-rows 0.45s cubic-bezier(0.22, 1, 0.36, 1),opacity 0.35s ease 0.05s,visibility 0s linear 0s;}
.faq-item__answer-inner {min-height: 0;overflow: hidden;}
.faq-item__answer-inner > * {max-width: 870px;margin-right: 80px;margin-left: 98px;}
.faq-item__answer-inner p {margin-top: 0;margin-bottom: 18px;color: rgba(46, 47, 52, 0.72);font-size: 17px;line-height: 1.8;}
.faq-item__answer-inner p:last-child {margin-bottom: 34px;}


/* ---------------------------------------------------------
   Kontaktní CTA
   --------------------------------------------------------- */

.faq-contact-section {padding: 110px 0;}
.faq-contact {position: relative;display: grid;grid-template-columns: minmax(0, 1fr) auto;gap: 60px;align-items: center;padding: clamp(40px, 6vw, 76px);overflow: hidden;background: #292b2f;}
.faq-contact::before {content: "";position: absolute;top: -190px; right: -120px;width: 430px;height: 430px; border: 1px solid rgba(255, 255, 255, 0.08);border-radius: 50%;}
.faq-contact::after {content: "";position: absolute;right: 50px;bottom: -190px;width: 300px;height: 300px; border: 1px solid rgba(255, 255, 255, 0.08);border-radius: 50%;}
.faq-contact__content,.faq-contact__action {position: relative;z-index: 1;}
.faq-contact__eyebrow {color: #c5a978;}
.faq-contact__title {margin: 0;color: #ffffff;font-size: clamp(34px, 4vw, 52px);font-weight: 500;line-height: 1.1;letter-spacing: -0.035em;}
.faq-contact__text {max-width: 660px;margin: 22px 0 0;color: rgba(255, 255, 255, 0.68);font-size: 16px;line-height: 1.75;}
.faq-contact__button {display: inline-flex;align-items: center;justify-content: center;gap: 26px;min-height: 58px;padding: 14px 26px;border: 1px solid rgba(255, 255, 255, 0.34);color: #ffffff;font-size: 14px;font-weight: 600;line-height: 1.4;
    letter-spacing: 0.02em;text-decoration: none;white-space: nowrap;transition:color 0.3s ease,background-color 0.3s ease,border-color 0.3s ease,transform 0.3s ease;}

.faq-contact__button span {font-size: 19px;transition: transform 0.3s ease;}
.faq-contact__button:hover {color: #292b2f;background: #ffffff;border-color: #ffffff;transform: translateY(-2px);}
.faq-contact__button:hover span {transform: translateX(4px);}


/* ---------------------------------------------------------
   Animace prvků při scrollování
   --------------------------------------------------------- */

.faq-animate {
    opacity: 0;
    transform: translateY(36px);
    transition:
        opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}

.faq-animate.is-visible {
    opacity: 1;
    transform: translateY(0);
}


/* ---------------------------------------------------------
   Responsivní zobrazení
   --------------------------------------------------------- */

@media (max-width: 980px) {

    .faq-page-header {padding: 62px 0 82px;}
    .faq-page-header__inner {grid-template-columns: 1fr;gap: 48px;}
    .faq-page-header__note {max-width: 650px;}
    .faq-section {padding: 90px 0 105px;}
    .faq-section__heading {grid-template-columns: 1fr;gap: 24px;margin-bottom: 48px;}
    .faq-section__intro {max-width: 620px;}
    .faq-contact {grid-template-columns: 1fr;gap: 38px;}
    .faq-contact__action {justify-self: start;}

}


@media (max-width: 700px) {

    .faq-breadcrumbs-section {
        padding-top: 22px;
    }

    .faq-page-header {
        padding: 48px 0 64px;
    }

    .faq-page-header::before,
    .faq-page-header::after {
        display: none;
    }

    .faq-page-header__title {
        font-size: clamp(38px, 12vw, 54px);
    }

    .faq-page-header__text {
        margin-top: 24px;
        font-size: 16px;
    }

    .faq-page-header__note {
        padding: 22px 0 0 20px;
    }

    .faq-section {
        padding: 70px 0 82px;
    }

    .faq-section__heading {
        margin-bottom: 34px;
    }

    .faq-item__question {
        grid-template-columns: 36px minmax(0, 1fr) 36px;
        gap: 12px;
        padding: 25px 0;
    }

    .faq-item__question:hover {
        padding-left: 0;
    }

    .faq-item__number {
        font-size: 10px;
    }

    .faq-item__question-text {
        font-size: 18px;
        line-height: 1.45;
    }

    .faq-item__icon {
        width: 34px;
        height: 34px;
    }

    .faq-item__icon span {
        width: 12px;
    }

    .faq-item__answer-inner > * {
        margin-right: 46px;
        margin-left: 48px;
    }

    .faq-item__answer-inner p {
        font-size: 15px;
        line-height: 1.75;
    }

    .faq-item__answer-inner p:last-child {
        margin-bottom: 28px;
    }

    .faq-contact-section {
        padding: 70px 0;
    }

    .faq-contact {
        gap: 32px;
        padding: 36px 26px;
    }

    .faq-contact__button {
        width: 100%;
        white-space: normal;
    }

}


@media (prefers-reduced-motion: reduce) {

    .faq-animate {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .faq-item__answer,
    .faq-item__icon,
    .faq-item__icon span {
        transition-duration: 0.01ms;
    }

}





/* =========================================================
   O MNĚ – ABOUT PAGE
   ========================================================= */

.about-page {
    position: relative;
    overflow: hidden;
}

.about-page *,
.about-page *::before,
.about-page *::after {
    box-sizing: border-box;
}


/* Společné prvky */

.about-eyebrow {
    margin: 0 0 18px;
    color: #9a7b4f;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.about-section-number {
    display: block;
    margin-bottom: 22px;
    color: rgba(46, 47, 52, 0.34);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.18em;
}


/* =========================================================
   Drobečková navigace
   ========================================================= */

.about-breadcrumbs-section {padding: 28px 0;border-bottom: 1px solid rgba(22, 32, 51, 0.08);background-color: #f7f5f0;}
.about-breadcrumbs__list {display: flex;align-items: center;flex-wrap: wrap;gap: 10px;margin: 0;padding: 0;list-style: none;}
.about-breadcrumbs__item {display: flex;align-items: center;gap: 10px;color: rgba(46, 47, 52, 0.55);font-size: 13px;font-weight: 500;letter-spacing: 0.04em;}
.about-breadcrumbs__item:not(:last-child)::after {content: "/";color: rgba(46, 47, 52, 0.25);}
.about-breadcrumbs__item a {color: inherit;text-decoration: none;transition: color 0.25s ease;}
.about-breadcrumbs__item a:hover {color: #2e2f34;}
.about-breadcrumbs__item--current {color: #2e2f34;}


/* =========================================================
   Hero
   ========================================================= */

.about-hero {position: relative;padding: 62px 0 110px;background-color: #162033;color: #ffffff;}
.about-hero::before {content: "";position: absolute;top: 80px;left: -220px;width: 470px;height: 470px;border: 1px solid rgba(46, 47, 52, 0.07);border-radius: 50%;pointer-events: none;}
.about-hero__grid {position: relative;z-index: 1;display: grid;grid-template-columns: minmax(0, 1fr) minmax(340px, 470px);gap: clamp(55px, 9vw, 140px);align-items: center;}
.about-hero__content {max-width: 790px;}
.about-hero__title {margin: 0;color: #ffffff;font-size: clamp(44px, 5.8vw, 76px);font-weight: 500;line-height: 1.04;letter-spacing: -0.045em;}
.about-hero__lead {max-width: 690px;margin: 32px 0 0;color: rgba(255, 255, 255, 0.7);font-size: clamp(18px, 1.6vw, 21px);line-height: 1.75;}
.about-hero__facts {display: flex;flex-wrap: wrap;gap: 25px 60px;margin-top: 48px;padding-top: 30px;border-top: 1px solid rgba(46, 47, 52, 0.14);}
.about-hero__fact {display: flex;flex-direction: column;gap: 6px;}
.about-hero__fact-label {color: rgba(255, 255, 255, 0.46);font-size: 11px;font-weight: 700;letter-spacing: 0.14em;text-transform: uppercase;}
.about-hero__fact strong {color: #ffffff;font-size: 15px;font-weight: 600;}
.about-hero__visual {position: relative;}
.about-hero__image-wrap {position: relative;padding: 18px 18px 0 0;}
.about-hero__image-wrap::before {content: "";position: absolute;top: 0;right: 0;width: calc(100% - 18px);height: calc(100% - 18px);border: 1px solid rgba(154, 123, 79, 0.35);}
.about-hero__image {position: relative;z-index: 1;display: block;width: 100%;aspect-ratio: 2 / 3;object-fit: cover;object-position: center top;}
.about-hero__image-caption {position: relative;z-index: 2;width: calc(100% - 34px);margin: -42px 0 0 34px;padding: 22px 25px;background: #292b2f;color: #ffffff;}
.about-hero__image-caption span {display: block;margin-bottom: 5px;color: rgba(255, 255, 255, 0.55);font-size: 10px;font-weight: 700;letter-spacing: 0.14em;text-transform: uppercase;}
.about-hero__image-caption strong {font-size: 17px;font-weight: 500;}

/* =========================================================
   Profesní příběh
   ========================================================= */

.about-story-section {padding: 120px 0;background: #f5f4f1;}
.about-story {display: grid;grid-template-columns: minmax(250px, 0.48fr) minmax(0, 1fr);gap: clamp(65px, 10vw, 150px);}
.about-story__side {position: sticky;top: 130px;align-self: start;}
.about-story__title {max-width: 380px;margin: 0;color: #24262a;font-size: clamp(36px, 4vw, 55px);font-weight: 500;line-height: 1.1;letter-spacing: -0.04em;}
.about-story__content {max-width: 780px;}
.about-text-block {color: rgba(46, 47, 52, 0.74);font-size: 17px;line-height: 1.85;}
.about-text-block p {margin: 0 0 24px;}
.about-text-block p:last-child {margin-bottom: 0;}
.about-quote {position: relative;margin: 52px 0;padding: 35px 35px 35px 42px;border-left: 3px solid #9a7b4f;background: #ffffff;}
.about-quote::before {content: "“";position: absolute;top: 2px;right: 24px;color: rgba(154, 123, 79, 0.12);font-family: Georgia, serif;font-size: 110px;line-height: 1;}
.about-quote p {position: relative;z-index: 1;max-width: 650px;margin: 0;color: #292b2f;font-family: Georgia, serif;font-size: clamp(22px, 2.3vw, 30px);font-style: italic;line-height: 1.5;}


/* =========================================================
   Odborné zázemí
   ========================================================= */

.about-expertise-section {padding: 120px 0 130px;}
.about-expertise__header {display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);gap: 60px;align-items: end;margin-bottom: 60px;}
.about-expertise__title {margin: 0;color: #24262a;font-size: clamp(38px, 4.5vw, 58px);font-weight: 500;line-height: 1.1;letter-spacing: -0.04em;}
.about-expertise__intro {margin: 0 0 5px;color: rgba(46, 47, 52, 0.66);font-size: 16px;line-height: 1.75;}
.about-expertise__grid {display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));border-top: 1px solid rgba(46, 47, 52, 0.14);border-bottom: 1px solid rgba(46, 47, 52, 0.14);}
.about-expertise-card {position: relative;min-height: 330px;padding: 38px 36px 42px;}
.about-expertise-card:not(:last-child) {border-right: 1px solid rgba(46, 47, 52, 0.14);}
.about-expertise-card::after {content: "";position: absolute;right: 0;bottom: 0;left: 0;height: 0;background: #292b2f;transition: height 0.45s cubic-bezier(0.22, 1, 0.36, 1);}
.about-expertise-card:hover::after {height: 100%;}
.about-expertise-card > * {position: relative;z-index: 1;transition: color 0.35s ease;}
.about-expertise-card__number {display: block;margin-bottom: 80px;color: rgba(46, 47, 52, 0.38);font-size: 11px;font-weight: 700;letter-spacing: 0.16em;}
.about-expertise-card h3 {margin: 0 0 18px;color: #292b2f;font-size: 23px;font-weight: 500;}
.about-expertise-card p {margin: 0;color: rgba(46, 47, 52, 0.66);font-size: 15px;line-height: 1.75;}
.about-expertise-card:hover .about-expertise-card__number,.about-expertise-card:hover h3,.about-expertise-card:hover p {color: #ffffff;}
.about-expertise-card:hover p {color: rgba(255, 255, 255, 0.68);}
.about-expertise__text {display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 55px;margin-top: 62px;}
.about-expertise__text p {margin: 0;color: rgba(46, 47, 52, 0.72);font-size: 16px;line-height: 1.85;}


/* =========================================================
   Právo a motory
   ========================================================= */

.about-passion-section {padding: 120px 0; background: #292b2f;}
.about-passion {display: grid;grid-template-columns: minmax(0, 0.8fr) minmax(420px, 1fr);gap: clamp(65px, 10vw, 150px);align-items: start;}
.about-passion .about-section-number {color: rgba(255, 255, 255, 0.3);}
.about-passion .about-eyebrow {color: #c5a978;}
.about-passion__title {max-width: 570px;margin: 0;color: #ffffff;font-size: clamp(38px, 4.5vw, 58px);font-weight: 500;line-height: 1.1;letter-spacing: -0.04em;}
.about-passion__lead {margin: 34px 0 20px;color: #ffffff;font-family: Georgia, serif;font-size: 22px;font-style: italic;line-height: 1.6;}
.about-passion__content > p:last-child {max-width: 620px;margin-bottom: 0;color: rgba(255, 255, 255, 0.66);font-size: 16px;line-height: 1.8;}
.about-passion__values {border-top: 1px solid rgba(255, 255, 255, 0.16);}
.about-passion__value {display: grid;grid-template-columns: 52px minmax(0, 1fr);gap: 24px;padding: 30px 0;border-bottom: 1px solid rgba(255, 255, 255, 0.16);}
.about-passion__value > span {color: #c5a978;font-size: 11px;font-weight: 700;letter-spacing: 0.14em;}
.about-passion__value strong {display: block;margin-bottom: 9px;color: #ffffff;font-size: 18px;font-weight: 500;}
.about-passion__value p {margin: 0;color: rgba(255, 255, 255, 0.6);font-size: 14px;line-height: 1.7;}


/* =========================================================
   Závěrečný CTA blok
   ========================================================= */

.about-partner-section {padding: 120px 0;}
.about-partner {position: relative;max-width: 1050px;margin: 0 auto;padding: 75px clamp(35px, 7vw, 100px);overflow: hidden;background: #f5f4f1;text-align: center;}
.about-partner::before,.about-partner::after {content: "";position: absolute;border: 1px solid rgba(46, 47, 52, 0.07);border-radius: 50%;}
.about-partner::before {top: -180px;left: -120px;width: 390px;height: 390px;}
.about-partner::after {right: -120px;bottom: -210px;width: 430px;height: 430px;}
.about-partner__label,.about-partner__title,.about-partner__text,.about-partner__button {position: relative;z-index: 1;}
.about-partner__label {margin: 0 0 20px;color: #9a7b4f;font-size: 11px;font-weight: 700;letter-spacing: 0.18em;text-transform: uppercase;}
.about-partner__title {max-width: 780px;margin: 0 auto;color: #24262a;font-size: clamp(36px, 4.5vw, 58px);font-weight: 500;line-height: 1.12;letter-spacing: -0.04em;}
.about-partner__text {max-width: 760px;margin: 28px auto 0;color: rgba(46, 47, 52, 0.7);font-size: 17px;line-height: 1.8;}
.about-partner__button {display: inline-flex;align-items: center;justify-content: center;gap: 25px;min-height: 58px;margin-top: 38px;padding: 14px 27px;border: 1px solid #292b2f;background: #292b2f;color: #ffffff;font-size: 14px;font-weight: 600;text-decoration: none;transition:background-color 0.3s ease,color 0.3s ease,transform 0.3s ease;}
.about-partner__button span {font-size: 18px;transition: transform 0.3s ease;}
.about-partner__button:hover {background: transparent;color: #292b2f;transform: translateY(-2px);}
.about-partner__button:hover span {transform: translateX(4px);}


/* =========================================================
   Animace
   ========================================================= */

.about-animate {
    opacity: 0;
    transform: translateY(38px);
    transition:
        opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}

.about-animate.is-visible {
    opacity: 1;
    transform: translateY(0);
}


/* =========================================================
   Responsivita
   ========================================================= */

@media (max-width: 1050px) {
    .about-hero__grid {grid-template-columns: minmax(0, 1fr) minmax(310px, 390px);gap: 60px;}
    .about-story {grid-template-columns: 260px minmax(0, 1fr);gap: 65px;}
    .about-passion {grid-template-columns: 1fr 1fr;gap: 65px;}
}


@media (max-width: 850px) {
    .about-hero {padding-bottom: 90px;}
    .about-hero__grid {grid-template-columns: 1fr;}
    .about-hero__content {max-width: 760px;}
    .about-hero__visual {width: min(100%, 500px);}
    .about-story {grid-template-columns: 1fr;gap: 48px;}
    .about-story__side {position: static;}
    .about-expertise__header {grid-template-columns: 1fr;gap: 24px;}
    .about-expertise__grid {grid-template-columns: 1fr;}
    .about-expertise-card {min-height: auto;}
    .about-expertise-card:not(:last-child) {border-right: 0;border-bottom: 1px solid rgba(46, 47, 52, 0.14);}
    .about-expertise-card__number {margin-bottom: 38px;}
    .about-passion {grid-template-columns: 1fr;gap: 60px;}
}


@media (max-width: 650px) {
    .about-breadcrumbs-section {padding-top: 22px;}
    .about-hero {padding: 45px 0 70px;}
    .about-hero::before {display: none;}
    .about-hero__title {font-size: clamp(38px, 11vw, 52px);}
    .about-hero__lead {margin-top: 24px;font-size: 16px;}
    .about-hero__facts {gap: 22px 35px;margin-top: 34px;}
    .about-hero__image-wrap {padding: 12px 12px 0 0;}
    .about-hero__image-caption {width: calc(100% - 20px);margin-left: 20px;padding: 18px 20px;}
    .about-story-section,.about-expertise-section,.about-passion-section,.about-partner-section {padding: 75px 0;}
    .about-quote {margin: 38px 0;padding: 28px 24px;}
    .about-quote p {font-size: 21px;}
    .about-expertise__text {grid-template-columns: 1fr;gap: 22px;margin-top: 42px;}
    .about-expertise-card {padding: 30px 24px 34px;}
    .about-passion__value {grid-template-columns: 36px minmax(0, 1fr);gap: 15px;}
    .about-partner {padding: 48px 24px;}
    .about-partner__text {font-size: 16px;}
    .about-partner__button {width: 100%;}

}


@media (prefers-reduced-motion: reduce) {
    .about-animate {opacity: 1;transform: none;transition: none;}
}

/* =========================================================
   EXTERNÍ FIREMNÍ PRÁVNÍK
   ========================================================= */

.external-lawyer-page {position: relative;overflow: hidden;}
.external-lawyer-page *,.external-lawyer-page *::before,.external-lawyer-page *::after {box-sizing: border-box;}
.external-lawyer-eyebrow {margin: 0 0 18px;color: #9a7b4f;font-size: 12px;font-weight: 700;line-height: 1.4;letter-spacing: 0.18em;text-transform: uppercase;}
.external-lawyer-section-number {display: block;margin-bottom: 22px;color: rgba(46, 47, 52, 0.35);font-size: 12px;font-weight: 700;letter-spacing: 0.18em;}


/* Drobečková navigace */

.external-lawyer-breadcrumbs-section {padding: 28px 0;border-bottom: 1px solid rgba(22, 32, 51, 0.08);background-color: #f7f5f0;}
.external-lawyer-breadcrumbs__list {display: flex;align-items: center;flex-wrap: wrap;gap: 10px;margin: 0;padding: 0;list-style: none;}
.external-lawyer-breadcrumbs__item {display: flex;align-items: center;gap: 10px;color: rgba(46, 47, 52, 0.55);font-size: 13px;font-weight: 500;letter-spacing: 0.04em;}
.external-lawyer-breadcrumbs__item:not(:last-child)::after {content: "/";color: rgba(46, 47, 52, 0.25);}
.external-lawyer-breadcrumbs__item a {color: inherit;text-decoration: none;transition: color 0.25s ease;}
.external-lawyer-breadcrumbs__item a:hover {color: #2e2f34;}
.external-lawyer-breadcrumbs__item--current {color: #2e2f34;}

/* Hero */

.external-lawyer-hero {position: relative;padding: 75px 0 120px;background-color: #162033;color: #ffffff;}
.external-lawyer-hero::before {content: "";position: absolute;top: -140px;right: -190px;width: 560px;height: 560px;border: 1px solid rgba(46, 47, 52, 0.07);border-radius: 50%;pointer-events: none;}
.external-lawyer-hero::after {content: "";position: absolute;top: 50px;right: -40px;width: 280px;height: 280px;border: 1px solid rgba(46, 47, 52, 0.07);border-radius: 50%;pointer-events: none;}
.external-lawyer-hero__grid {position: relative;z-index: 1;display: grid;grid-template-columns: minmax(0, 1.3fr) minmax(310px, 0.55fr);gap: clamp(60px, 9vw, 140px);align-items: end;}
.external-lawyer-hero__content {max-width: 850px;}
.external-lawyer-hero__title {max-width: 820px;margin: 0;color: #ffffff;font-size: clamp(44px, 6vw, 78px);font-weight: 500;line-height: 1.03;letter-spacing: -0.048em;}
.external-lawyer-hero__lead {max-width: 730px;margin: 34px 0 0;color: #f5f4f1;font-size: clamp(19px, 1.8vw, 23px);font-weight: 500;line-height: 1.65;}
.external-lawyer-hero__text {max-width: 730px;margin: 18px 0 0;color: rgba(255, 255, 255, 0.7);font-size: 17px;line-height: 1.8;}
.external-lawyer-hero__actions {display: flex;flex-wrap: wrap;gap: 14px;margin-top: 40px;}
.external-lawyer-button {display: inline-flex;align-items: center;justify-content: center;gap: 25px;min-height: 58px;padding: 14px 27px;font-size: 14px;font-weight: 600;line-height: 1.4;text-decoration: none;transition:color 0.3s ease,background-color 0.3s ease,border-color 0.3s ease,transform 0.3s ease;}
.external-lawyer-button span {font-size: 18px;transition: transform 0.3s ease;}
.external-lawyer-button:hover {transform: translateY(-2px);}
.external-lawyer-button:hover span {transform: translateX(4px);}
.external-lawyer-button--primary {border: 1px solid #292b2f;background: #292b2f;color: #ffffff;}
.external-lawyer-button--primary:hover {background: transparent;color: #292b2f;}
.external-lawyer-button--secondary {border: 1px solid rgba(180, 142, 85, 0.25);color: #ffffff;}
.external-lawyer-button--secondary:hover {border-color: #292b2f;}
.external-lawyer-hero__panel {position: relative;padding: 38px 34px;background: #292b2f;color: #ffffff;}
.external-lawyer-hero__panel::before {content: "";position: absolute;top: -13px;right: -13px;width: 100%;height: 100%;border: 1px solid rgba(154, 123, 79, 0.42);pointer-events: none;}
.external-lawyer-hero__panel-number {display: block;margin-bottom: 65px;color: rgba(255, 255, 255, 0.32);font-size: 11px;font-weight: 700;letter-spacing: 0.18em;}
.external-lawyer-hero__panel-label {margin: 0 0 15px;color: #c5a978;font-size: 10px;font-weight: 700;letter-spacing: 0.16em;text-transform: uppercase;}
.external-lawyer-hero__panel h2 {margin: 0;color: #ffffff;font-size: clamp(24px, 2.5vw, 34px);font-weight: 500;line-height: 1.3;letter-spacing: -0.025em;}
.external-lawyer-hero__panel-line {width: 55px;height: 1px;margin: 28px 0;background: #c5a978;}
.external-lawyer-hero__panel > p:last-child {margin: 0;color: rgba(255, 255, 255, 0.65);font-size: 15px;line-height: 1.75;}

/* Sekce výhod */

.external-lawyer-benefits {padding: 120px 0 130px;background: #f5f4f1;scroll-margin-top: 100px;}
.external-lawyer-section-heading {display: grid;grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);gap: 60px;align-items: end;margin-bottom: 62px;}
.external-lawyer-section-heading__title {max-width: 720px;margin: 0;color: #24262a;font-size: clamp(38px, 4.7vw, 60px);font-weight: 500;line-height: 1.1;letter-spacing: -0.04em;}
.external-lawyer-section-heading__text {margin: 0 0 6px;color: rgba(46, 47, 52, 0.67);font-size: 16px;line-height: 1.75;}
.external-lawyer-benefits__grid {display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));border-top: 1px solid rgba(46, 47, 52, 0.15);border-bottom: 1px solid rgba(46, 47, 52, 0.15);}
.external-lawyer-benefit {position: relative;min-height: 390px;padding: 38px 36px 43px;overflow: hidden;}
.external-lawyer-benefit:not(:last-child) {border-right: 1px solid rgba(46, 47, 52, 0.15);}
.external-lawyer-benefit::before {content: "";position: absolute;inset: auto 0 0;height: 0;background: #292b2f;transition: height 0.45s cubic-bezier(0.22, 1, 0.36, 1);}
.external-lawyer-benefit:hover::before {height: 100%;}
.external-lawyer-benefit > * {position: relative;z-index: 1;}
.external-lawyer-benefit__top {display: flex;align-items: center;justify-content: space-between;margin-bottom: 100px;}
.external-lawyer-benefit__number {color: rgba(46, 47, 52, 0.38);font-size: 11px;font-weight: 700;letter-spacing: 0.16em;transition: color 0.35s ease;}
.external-lawyer-benefit__symbol {color: rgba(46, 47, 52, 0.3);font-size: 21px;transition:color 0.35s ease,transform 0.35s ease;}
.external-lawyer-benefit h3 {margin: 0 0 20px;color: #292b2f;font-size: 24px;font-weight: 500;line-height: 1.35;transition: color 0.35s ease;}
.external-lawyer-benefit p {margin: 0;color: rgba(46, 47, 52, 0.67);font-size: 15px;line-height: 1.75;transition: color 0.35s ease;}
.external-lawyer-benefit:hover .external-lawyer-benefit__number,
.external-lawyer-benefit:hover h3 {color: #ffffff;}
.external-lawyer-benefit:hover p {color: rgba(255, 255, 255, 0.67);}
.external-lawyer-benefit:hover .external-lawyer-benefit__symbol {color: #c5a978;transform: translate(3px, 3px);}

/* Model spolupráce */

.external-lawyer-cooperation {padding: 125px 0;}
.external-lawyer-cooperation__grid {display: grid;grid-template-columns: minmax(0, 0.85fr) minmax(430px, 1fr);gap: clamp(70px, 10vw, 150px);align-items: start;}
.external-lawyer-cooperation__content {position: sticky;top: 130px;}
.external-lawyer-cooperation__title {max-width: 660px;margin: 0;color: #24262a;font-size: clamp(38px, 4.6vw, 59px);font-weight: 500;line-height: 1.1;letter-spacing: -0.04em;}
.external-lawyer-cooperation__lead {margin: 34px 0 20px;color: #292b2f;font-family: Georgia, serif;font-size: 22px;font-style: italic;line-height: 1.6;}
.external-lawyer-cooperation__content > p:not(.external-lawyer-eyebrow):not(.external-lawyer-cooperation__lead) {margin: 0 0 20px;color: rgba(46, 47, 52, 0.7);font-size: 16px;line-height: 1.8;}
.external-lawyer-cooperation__list {border-top: 1px solid rgba(46, 47, 52, 0.16);}
.external-lawyer-cooperation__item {display: grid;grid-template-columns: 50px minmax(0, 1fr);gap: 25px;padding: 31px 0;border-bottom: 1px solid rgba(46, 47, 52, 0.16);}
.external-lawyer-cooperation__item > span {color: #9a7b4f;font-size: 11px;font-weight: 700;letter-spacing: 0.16em;}
.external-lawyer-cooperation__item h3 {margin: 0 0 10px;color: #292b2f;font-size: 20px;font-weight: 500;}
.external-lawyer-cooperation__item p {margin: 0;color: rgba(46, 47, 52, 0.65);font-size: 15px;line-height: 1.7;}

/* Porovnání */

.external-lawyer-comparison {padding: 120px 0;background: #292b2f;}
.external-lawyer-comparison__box {position: relative;}
.external-lawyer-comparison__header {max-width: 850px;margin-bottom: 62px;}
.external-lawyer-comparison .external-lawyer-eyebrow {color: #c5a978;}
.external-lawyer-comparison__header h2 {margin: 0;color: #ffffff;font-size: clamp(38px, 4.7vw, 60px);font-weight: 500;line-height: 1.12;letter-spacing: -0.04em;}
.external-lawyer-comparison__columns {display: grid;grid-template-columns: minmax(0, 1fr) 100px minmax(0, 1fr);align-items: stretch;border-top: 1px solid rgba(255, 255, 255, 0.16);border-bottom: 1px solid rgba(255, 255, 255, 0.16);}
.external-lawyer-comparison__column {padding: 45px 0;}
.external-lawyer-comparison__label {display: block;margin-bottom: 28px;color: #c5a978;font-size: 11px;font-weight: 700;letter-spacing: 0.15em;text-transform: uppercase;}
.external-lawyer-comparison__column ul {display: grid;gap: 18px;margin: 0;padding: 0;list-style: none;}
.external-lawyer-comparison__column li {position: relative;padding-left: 29px;color: rgba(255, 255, 255, 0.76);font-size: 16px;line-height: 1.65;}
.external-lawyer-comparison__column li::before {content: "";position: absolute;top: 0.72em;left: 0;width: 11px;height: 1px;background: #c5a978;}
.external-lawyer-comparison__divider {display: flex;align-items: center;justify-content: center;border-right: 1px solid rgba(255, 255, 255, 0.16);border-left: 1px solid rgba(255, 255, 255, 0.16);}
.external-lawyer-comparison__divider span {display: flex;align-items: center;justify-content: center;width: 48px;height: 48px;border: 1px solid rgba(197, 169, 120, 0.55);border-radius: 50%;color: #c5a978;font-size: 25px;font-weight: 300;}

/* Kontaktní CTA */

.external-lawyer-contact {padding: 110px 0;}
.external-lawyer-contact__inner {position: relative;display: grid;grid-template-columns: minmax(0, 1fr) auto;gap: 70px;align-items: center;padding: clamp(45px, 6vw, 78px);overflow: hidden;background: #f5f4f1;}
.external-lawyer-contact__inner::before,.external-lawyer-contact__inner::after {content: "";position: absolute;border: 1px solid rgba(46, 47, 52, 0.07);border-radius: 50%;}
.external-lawyer-contact__inner::before {top: -180px;right: -110px;width: 410px;height: 410px;}
.external-lawyer-contact__inner::after {right: 80px;bottom: -210px;width: 330px;height: 330px;}
.external-lawyer-contact__content,.external-lawyer-contact__action {position: relative;z-index: 1;}
.external-lawyer-contact__content {max-width: 750px;}
.external-lawyer-contact__content h2 {margin: 0;color: #24262a;font-size: clamp(36px, 4.3vw, 56px);font-weight: 500;line-height: 1.12;letter-spacing: -0.04em;}
.external-lawyer-contact__content > p:last-child {max-width: 680px;margin: 25px 0 0;color: rgba(46, 47, 52, 0.68);font-size: 16px;line-height: 1.75;}
.external-lawyer-contact__button {display: inline-flex;align-items: center;justify-content: center;gap: 25px;min-height: 59px;padding: 14px 27px;border: 1px solid #292b2f;background: #292b2f;color: #ffffff;font-size: 14px;font-weight: 600;text-decoration: none;white-space: nowrap;transition:color 0.3s ease,background-color 0.3s ease,transform 0.3s ease;}
.external-lawyer-contact__button span {font-size: 18px;transition: transform 0.3s ease;}
.external-lawyer-contact__button:hover {background: transparent;color: #292b2f;transform: translateY(-2px);}
.external-lawyer-contact__button:hover span {transform: translateX(4px);}

/* Animace */

.external-lawyer-animate {opacity: 0;transform: translateY(38px);transition:opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);will-change: opacity, transform;}
.external-lawyer-animate.is-visible {opacity: 1;transform: translateY(0);}

/* Responsivita */

@media (max-width: 1000px) {
    .external-lawyer-hero__grid {grid-template-columns: minmax(0, 1fr) minmax(280px, 350px);gap: 55px;}
    .external-lawyer-cooperation__grid {grid-template-columns: 1fr 1fr;gap: 65px;}
    .external-lawyer-contact__inner {grid-template-columns: 1fr;gap: 38px;}
    .external-lawyer-contact__action {justify-self: start;}
}

@media (max-width: 850px) {
    .external-lawyer-hero {padding-bottom: 90px;}
    .external-lawyer-hero__grid {grid-template-columns: 1fr;}
    .external-lawyer-hero__panel {max-width: 560px;}
    .external-lawyer-section-heading {grid-template-columns: 1fr;gap: 25px;}
    .external-lawyer-benefits__grid {grid-template-columns: 1fr;}
    .external-lawyer-benefit {min-height: auto;}
    .external-lawyer-benefit:not(:last-child) {border-right: 0;border-bottom: 1px solid rgba(46, 47, 52, 0.15);}
    .external-lawyer-benefit__top {margin-bottom: 50px;}
    .external-lawyer-cooperation__grid {grid-template-columns: 1fr;gap: 55px;}
    .external-lawyer-cooperation__content {position: static;}
    .external-lawyer-comparison__columns {grid-template-columns: 1fr;}
    .external-lawyer-comparison__divider {min-height: 90px;border: 0;border-top: 1px solid rgba(255, 255, 255, 0.16);border-bottom: 1px solid rgba(255, 255, 255, 0.16);}
}


@media (max-width: 650px) {
    .external-lawyer-breadcrumbs-section {padding-top: 22px;}
    .external-lawyer-hero {padding: 48px 0 72px;}
    .external-lawyer-hero::before,.external-lawyer-hero::after {display: none;}
    .external-lawyer-hero__title {font-size: clamp(39px, 11vw, 53px);}
    .external-lawyer-hero__lead {margin-top: 25px;font-size: 18px;}
    .external-lawyer-hero__text {font-size: 16px;}
    .external-lawyer-hero__actions {flex-direction: column;align-items: stretch;}
    .external-lawyer-button {width: 100%;}
    .external-lawyer-hero__panel {padding: 30px 25px;}
    .external-lawyer-hero__panel-number {margin-bottom: 45px;}
    .external-lawyer-benefits,.external-lawyer-cooperation,.external-lawyer-comparison,.external-lawyer-contact {padding: 75px 0;}
    .external-lawyer-benefit {padding: 31px 24px 35px;}
    .external-lawyer-benefit__top {margin-bottom: 38px;}
    .external-lawyer-cooperation__item {grid-template-columns: 36px minmax(0, 1fr);gap: 15px;}
    .external-lawyer-comparison__header {margin-bottom: 42px;}
    .external-lawyer-comparison__column {padding: 35px 0;}
    .external-lawyer-contact__inner {padding: 43px 25px;}
    .external-lawyer-contact__button {width: 100%;white-space: normal;text-align: center;}
}


@media (prefers-reduced-motion: reduce) {
    .external-lawyer-animate {opacity: 1;transform: none;transition: none;}
}