@import url('https://fonts.googleapis.com/css2?family=Birthstone&family=Caveat:wght@500;600&family=Great+Vibes&family=Inter:wght@400;500;600;700;800&family=Lora:wght@400;500;600&family=Playfair+Display:wght@400;500;600&display=swap');
:root {
  --cream-50: #fffaf5;
  --cream-100: #fbf4ed;
  --cream-200: #f4e7dc;
  --cream-300: #ead7c8;
  --rose-300: #d4a39b;
  --rose-400: #c28d84;
  --rose-500: #a96f68;
  --sage-200: #e3e8db;
  --sage-300: #cfd8c2;
  --sage-500: #7a866b;
  --sage-700: #586246;
  --brown-900: #3f2e28;
  --brown-800: #4c3831;
  --brown-700: #614b41;
  --brown-600: #80675a;
  --brown-300: #c6ad9e;
  --white: #fffefd;
  --shadow: 0 24px 70px rgba(91, 61, 46, 0.12);
  --shadow-soft: 0 14px 40px rgba(91, 61, 46, 0.08);
  --radius-lg: 30px;
  --radius-md: 22px;
  --radius-pill: 999px;
  --max: 1180px;
  --focus: 0 0 0 4px rgba(122, 134, 107, 0.25);
  color-scheme: light;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    radial-gradient(circle at top left, rgba(212, 163, 155, 0.18), transparent 34rem),
    radial-gradient(circle at 90% 12%, rgba(122, 134, 107, 0.12), transparent 26rem),
    var(--cream-100);
  color: var(--brown-800);
  font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 17px;
  line-height: 1.72;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.no-scroll { overflow: hidden; }
img, svg { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--rose-500); }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
:focus-visible { outline: none; box-shadow: var(--focus); border-radius: 12px; }
::selection { background: rgba(212, 163, 155, .38); color: var(--brown-900); }

.container {
  width: min(var(--max), calc(100% - 40px));
  margin-inline: auto;
}
.section {
  padding: 112px 0;
  position: relative;
}
.section-tight { padding: 76px 0; }
.section-muted {
  background: linear-gradient(135deg, rgba(239, 229, 217, 0.8), rgba(225, 233, 219, 0.62));
  border-top: 1px solid rgba(129, 105, 87, 0.12);
  border-bottom: 1px solid rgba(129, 105, 87, 0.1);
}
.section-sage {
  background: linear-gradient(135deg, #e7eddf, #f6eee4 72%);
}
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border-radius: var(--radius-pill);
  background: rgba(255,255,255,.66);
  border: 1px solid rgba(120, 98, 82, .12);
  color: var(--sage-700);
  font-size: 13px;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.eyebrow::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 99px;
  background: var(--rose-300);
  box-shadow: 0 0 0 5px rgba(212, 163, 155, .18);
}
.kicker {
  display: inline-block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.3rem, 2vw, 1.8rem);
  color: var(--rose-500);
  transform: rotate(-1deg);
  margin-top: 18px;
}
h1, h2, h3, .display {
  margin: 0;
  color: var(--brown-900);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -0.04em;
}
h1 { font-size: clamp(3.05rem, 8vw, 6.7rem); }
h2 { font-size: clamp(2.45rem, 5.2vw, 4.65rem); }
h3 { font-size: clamp(1.45rem, 2.1vw, 2rem); }
p { margin: 0; }
.lead {
  font-size: clamp(1.08rem, 1.45vw, 1.32rem);
  line-height: 1.7;
  color: var(--brown-700);
}
.subtle { color: var(--brown-600); }
.small { font-size: .94rem; line-height: 1.55; }
.section-heading {
  max-width: 780px;
  display: grid;
  gap: 22px;
  margin-bottom: 50px;
}
.center { text-align: center; margin-inline: auto; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(251,244,237,.82);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(112, 86, 70, 0.08);
  transition: box-shadow .25s ease, background .25s ease;
}
.site-header.is-scrolled {
  background: rgba(251,244,237,.93);
  box-shadow: 0 10px 28px rgba(91,61,46,.08);
}
.nav-wrap {
  width: min(1260px, calc(100% - 34px));
  min-height: 78px;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
}
.brand {
  display: grid;
  gap: 2px;
  color: var(--brown-900);
  min-width: 0;
}
.brand strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.02rem, 1.5vw, 1.32rem);
  letter-spacing: -0.03em;
  font-weight: 500;
}
.brand span { font-size: .82rem; color: var(--brown-600); }
.nav-links {
  display: flex;
  align-items: center;
  gap: 24px;
  font-size: .95rem;
  color: var(--brown-700);
}
.nav-links a:not(.btn) { position: relative; }
.nav-links a:not(.btn)::after {
  content: "";
  position: absolute;
  left: 0; bottom: -9px;
  width: 100%; height: 1px;
  background: var(--rose-400);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .22s ease;
}
.nav-links a:hover::after, .nav-links a[aria-current="page"]::after { transform: scaleX(1); }
.nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(97,75,65,.14);
  border-radius: 15px;
  background: rgba(255,255,255,.58);
  color: var(--brown-900);
}
.nav-toggle span {
  display: block;
  width: 20px;
  height: 2px;
  background: currentColor;
  margin: 5px auto;
  border-radius: 2px;
  transition: transform .22s ease, opacity .22s ease;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid transparent;
  min-height: 48px;
  padding: 13px 22px;
  border-radius: var(--radius-pill);
  font-weight: 750;
  line-height: 1;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
  white-space: nowrap;
}
.btn-primary {
  color: #fffaf6;
  background: linear-gradient(135deg, var(--rose-400), var(--rose-500));
  box-shadow: 0 16px 38px rgba(169, 111, 104, .23);
}
.btn-primary:hover {
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 20px 50px rgba(169, 111, 104, .30);
}
.btn-secondary {
  background: rgba(255,255,255,.72);
  border-color: rgba(97,75,65,.15);
  color: var(--brown-800);
}
.btn-secondary:hover { background: var(--white); transform: translateY(-2px); color: var(--brown-900); }
.btn-link {
  display: inline-flex; align-items: center; gap: 8px; color: var(--rose-500); font-weight: 750;
}
.btn-link:hover { color: var(--brown-900); }

.hero {
  padding: 72px 0 112px;
  overflow: hidden;
}
.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .78fr);
  gap: clamp(42px, 6vw, 86px);
  align-items: center;
}
.hero-copy { display: grid; gap: 28px; }
.hero-title span {
  display: block;
  color: var(--rose-500);
  font-size: clamp(1.95rem, 5vw, 4.6rem);
}
.hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  margin-top: 4px;
}
.hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 13px;
  border-radius: var(--radius-pill);
  background: rgba(255,255,255,.68);
  border: 1px solid rgba(97,75,65,.11);
  color: var(--brown-700);
  font-size: .93rem;
}
.pill svg { color: var(--sage-500); }
.hero-card {
  position: relative;
  min-height: 620px;
  display: grid;
  align-items: center;
}
.photo-shell {
  position: relative;
  border-radius: 42px;
  padding: 16px;
  background: linear-gradient(145deg, rgba(255,255,255,.78), rgba(241, 226, 212, .76));
  box-shadow: var(--shadow);
  transform: rotate(1deg);
}
.photo-shell img {
  width: 100%;
  display: block;
  border-radius: 31px;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  background: var(--cream-200);
}
.floating-note {
  position: absolute;
  left: -30px;
  bottom: 44px;
  max-width: 270px;
  padding: 20px 22px;
  border-radius: 25px;
  background: rgba(255,255,255,.86);
  box-shadow: var(--shadow-soft);
  border: 1px solid rgba(97,75,65,.12);
  transform: rotate(-2.5deg);
}
.floating-note strong {
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  color: var(--brown-900);
  font-size: 1.2rem;
  line-height: 1.25;
  font-weight: 500;
  margin-bottom: 6px;
}
.leaf-mark {
  position: absolute;
  right: -14px;
  top: 34px;
  width: 112px;
  height: 112px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--sage-200);
  box-shadow: var(--shadow-soft);
}
.leaf-mark svg { width: 56px; height: 56px; color: var(--sage-700); }

.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
.card {
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(97,75,65,.11);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft);
  padding: clamp(24px, 3vw, 34px);
}
.card-soft {
  background: linear-gradient(145deg, rgba(255,255,255,.74), rgba(246,238,231,.78));
}
.card h3 { margin-bottom: 14px; }
.icon {
  width: 52px;
  height: 52px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: var(--sage-200);
  color: var(--sage-700);
  margin-bottom: 24px;
}
.icon.rose { background: rgba(212, 163, 155, .2); color: var(--rose-500); }
.icon svg { width: 25px; height: 25px; }
.card-list { display: grid; gap: 14px; margin: 24px 0 0; padding: 0; list-style: none; }
.card-list li { display: flex; gap: 12px; align-items: flex-start; }
.card-list li::before {
  content: "";
  flex: 0 0 8px;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  margin-top: 12px;
  background: var(--rose-300);
}
.split {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1fr);
  gap: clamp(36px, 6vw, 90px);
  align-items: center;
}
.panel {
  border-radius: 42px;
  padding: clamp(34px, 5vw, 58px);
  background: rgba(255,255,255,.66);
  border: 1px solid rgba(97,75,65,.1);
  box-shadow: var(--shadow-soft);
}
.service-card { display: grid; gap: 18px; }
.service-card .meta { color: var(--sage-700); font-weight: 750; font-size: .95rem; }
.stat-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 26px;
}
.stat {
  padding: 18px;
  border-radius: 22px;
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(97,75,65,.1);
}
.stat strong { display: block; color: var(--brown-900); font-family: Georgia, serif; font-size: 2rem; line-height: 1; font-weight: 500; }
.stat span { display: block; color: var(--brown-600); font-size: .92rem; margin-top: 7px; }
.location-list { display: grid; gap: 16px; }
.location-card { padding: 22px; border-radius: 26px; background: rgba(255,255,255,.64); border: 1px solid rgba(97,75,65,.1); }
.location-card strong { display: block; color: var(--brown-900); margin-bottom: 4px; }
.cta-band {
  position: relative;
  overflow: hidden;
  border-radius: 44px;
  padding: clamp(40px, 7vw, 76px);
  background: linear-gradient(135deg, #e4e9db, #fbf1e8 70%);
  border: 1px solid rgba(97,75,65,.1);
  box-shadow: var(--shadow-soft);
}
.cta-band::after {
  content: "";
  position: absolute;
  right: -80px;
  top: -90px;
  width: 280px;
  height: 280px;
  border-radius: 999px;
  background: rgba(212, 163, 155, .2);
}
.cta-band > * { position: relative; z-index: 1; }

.page-hero {
  padding: 76px 0 84px;
}
.page-hero .container {
  display: grid;
  gap: 26px;
  max-width: 880px;
}
.breadcrumb {
  font-size: .92rem;
  color: var(--brown-600);
}
.breadcrumb a { color: var(--sage-700); font-weight: 700; }
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.form-field { display: grid; gap: 8px; }
.form-field.full { grid-column: 1 / -1; }
label { font-weight: 750; color: var(--brown-900); }
input, textarea, select {
  width: 100%;
  border: 1px solid rgba(97,75,65,.18);
  border-radius: 18px;
  background: rgba(255,255,255,.78);
  padding: 15px 16px;
  color: var(--brown-900);
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
input:focus, textarea:focus, select:focus { outline: none; border-color: rgba(122,134,107,.55); box-shadow: var(--focus); background: #fff; }
textarea { min-height: 150px; resize: vertical; }
.form-note { padding: 18px 20px; border-radius: 22px; background: rgba(227,232,219,.74); color: var(--brown-700); }
.honeypot { position: absolute; left: -5000px; visibility: hidden; }
.form-status { min-height: 24px; font-weight: 700; color: var(--sage-700); }
.form-status.error { color: #9b4f47; }
.price-card {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}
.price-card .price {
  font-family: Georgia, serif;
  font-size: clamp(2.2rem, 4vw, 3.6rem);
  color: var(--brown-900);
  line-height: 1;
  white-space: nowrap;
}
.map-placeholder {
  min-height: 220px;
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(227,232,219,.8), rgba(247,237,228,.8));
  border: 1px solid rgba(97,75,65,.1);
  display: grid;
  place-items: center;
  text-align: center;
  padding: 24px;
}
.timeline { display: grid; gap: 18px; counter-reset: item; }
.timeline-item {
  position: relative;
  display: grid;
  gap: 9px;
  padding: 26px 26px 26px 72px;
  border-radius: 28px;
  background: rgba(255,255,255,.66);
  border: 1px solid rgba(97,75,65,.11);
}
.timeline-item::before {
  counter-increment: item;
  content: counter(item);
  position: absolute;
  left: 24px;
  top: 25px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(212,163,155,.22);
  color: var(--rose-500);
  display: grid;
  place-items: center;
  font-weight: 800;
}
.notice {
  padding: 22px 24px;
  border-radius: 25px;
  background: rgba(255,255,255,.64);
  border: 1px dashed rgba(97,75,65,.25);
}

.site-footer {
  background: #3f2e28;
  color: rgba(255,250,246,.82);
  padding: 78px 0 34px;
}
.site-footer a:hover { color: #fff; }
.footer-grid {
  display: grid;
  grid-template-columns: 1.25fr .8fr 1fr;
  gap: 44px;
  margin-bottom: 54px;
}
.footer-brand strong { display: block; font-family: Georgia, serif; font-size: 1.8rem; color: #fffaf6; font-weight: 500; line-height: 1.1; margin-bottom: 14px; }
.footer-title { color: #fffaf6; font-weight: 800; margin-bottom: 14px; }
.footer-links, .footer-contact { display: grid; gap: 10px; }
.footer-bottom {
  border-top: 1px solid rgba(255,250,246,.12);
  padding-top: 24px;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  color: rgba(255,250,246,.62);
  font-size: .9rem;
}
.footer-bottom a { text-decoration: underline; text-underline-offset: 4px; }

.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 100;
  transform: translateY(-140%);
  background: var(--brown-900);
  color: white;
  padding: 12px 16px;
  border-radius: 12px;
}
.skip-link:focus { transform: translateY(0); }

html.js .reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .7s ease, transform .7s ease;
}
html.js .reveal.is-visible { opacity: 1; transform: translateY(0); }
html.js .reveal.delay-1 { transition-delay: .08s; }
html.js .reveal.delay-2 { transition-delay: .16s; }
html.js .reveal.delay-3 { transition-delay: .24s; }

@media (max-width: 980px) {
  body { font-size: 16px; }
  .section { padding: 86px 0; }
  .hero { padding: 48px 0 86px; }
  .hero-grid, .split { grid-template-columns: 1fr; }
  .hero-card { min-height: auto; max-width: 520px; margin-inline: auto; }
  .floating-note { left: 14px; bottom: 22px; }
  .grid-3 { grid-template-columns: 1fr; }
  .grid-2 { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .stat-row { grid-template-columns: 1fr; }
}

@media (max-width: 860px) {
  .nav-toggle { display: inline-block; }
  .nav-links {
    position: fixed;
    inset: 78px 16px auto 16px;
    display: grid;
    gap: 4px;
    padding: 18px;
    border-radius: 26px;
    background: rgba(255,250,245,.96);
    border: 1px solid rgba(97,75,65,.11);
    box-shadow: var(--shadow);
    transform: translateY(-12px);
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease, transform .2s ease;
  }
  .nav-links.is-open { opacity: 1; transform: translateY(0); pointer-events: auto; }
  .nav-links a { padding: 12px 10px; }
  .nav-links .btn { margin-top: 8px; width: 100%; }
  .nav-links a::after { display: none; }
}

@media (max-width: 620px) {
  .container { width: min(100% - 28px, var(--max)); }
  .nav-wrap { width: calc(100% - 24px); min-height: 70px; }
  .nav-links { inset-top: 70px; }
  .brand span { display: none; }
  .hero { padding-top: 34px; }
  h1 { font-size: clamp(2.85rem, 13.5vw, 4.2rem); }
  h2 { font-size: clamp(2.18rem, 10vw, 3.35rem); }
  .hero-actions { align-items: stretch; }
  .hero-actions .btn { width: 100%; }
  .hero-meta { display: grid; }
  .pill { width: 100%; justify-content: center; }
  .photo-shell { border-radius: 31px; padding: 11px; }
  .photo-shell img { border-radius: 23px; }
  .leaf-mark { width: 82px; height: 82px; right: -8px; }
  .floating-note { position: relative; left: auto; bottom: auto; margin: -34px 14px 0; max-width: none; }
  .card, .panel { border-radius: 25px; padding: 24px; }
  .cta-band { border-radius: 28px; }
  .price-card { display: grid; }
  .form-grid { grid-template-columns: 1fr; }
  .footer-bottom { display: grid; }
}

@media (prefers-reduced-motion: reduce) {
  :root:not(.motion-forced) *,
  :root:not(.motion-forced) *::before,
  :root:not(.motion-forced) *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; transition-delay: 0ms !important; }
  :root:not(.motion-forced).js .reveal { opacity: 1; transform: none; }
}


/* ===== Reference-inspired homepage refresh ===== */
.brand {
  grid-template-columns: 52px 1fr;
  grid-template-areas: 'icon name' 'icon tag';
  column-gap: 12px;
  align-items: center;
}
.brand::before {
  content: '';
  grid-area: icon;
  width: 52px;
  height: 52px;
  background: url('/assets/img/brand-leaf.svg') center/contain no-repeat;
  align-self: center;
}
.brand strong { grid-area: name; }
.brand span { grid-area: tag; letter-spacing: .14em; text-transform: uppercase; font-size: .76rem; }
.nav-links { gap: 22px; }
.nav-links a[aria-current="page"] { color: var(--rose-500); }
.hero-reference { padding: 42px 0 64px; }
.hero-showcase {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
  gap: 0;
  background: rgba(255,255,255,.42);
  border-radius: 34px;
  overflow: hidden;
  border: 1px solid rgba(97,75,65,.08);
  box-shadow: 0 16px 48px rgba(91, 61, 46, .07);
}
.hero-visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 640px;
  object-fit: cover;
}
.hero-content {
  background: rgba(255,249,244,.88);
  padding: clamp(40px, 5vw, 70px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}
.hero-name {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.2rem, 1.7vw, 1.7rem);
  color: var(--brown-800);
  margin-bottom: 20px;
}
.hero-display {
  display: grid;
  gap: 10px;
  font-family: Georgia, 'Times New Roman', serif;
  line-height: 1.08;
}
.hero-display span {
  color: var(--rose-500);
  font-size: clamp(2.6rem, 4vw, 4.2rem);
  display: block;
}
.hero-display em {
  font-style: normal;
  font-size: clamp(2.2rem, 3.8vw, 3.8rem);
  color: var(--brown-800);
}
.hero-divider {
  display: flex;
  align-items: center;
  gap: 18px;
  justify-content: center;
  margin: 26px auto 22px;
  color: var(--rose-400);
  width: 100%;
}
.hero-divider span {
  height: 1px;
  background: rgba(194, 141, 132, .5);
  width: min(32%, 120px);
}
.hero-divider svg { width: 22px; height: 22px; }
.hero-problems {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.35rem, 2vw, 2rem);
  color: var(--brown-700);
  line-height: 1.45;
}
.hero-emdr {
  margin-top: 10px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.3rem, 1.9vw, 1.85rem);
  color: var(--rose-500);
}
.hero-locations {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px 28px;
  margin-top: 28px;
  color: var(--brown-600);
  font-size: 1.02rem;
}
.hero-locations span { display: inline-flex; align-items: center; gap: 10px; }
.hero-locations svg { width: 18px; height: 18px; color: var(--rose-400); }
.hero-actions-reference {
  justify-content: center;
  align-items: center;
  gap: 22px;
  margin-top: 34px;
}
.home-reference .btn-primary {
  min-height: 62px;
  padding: 18px 30px;
  font-size: 1.16rem;
  background: #d7938c;
  box-shadow: none;
}
.home-reference .btn-primary:hover { background: #ca847e; box-shadow: 0 12px 30px rgba(169,111,104,.18); }
.home-reference .btn-secondary {
  background: #fff;
}
.hero-handwritten {
  margin: 0;
  font-family: 'Brush Script MT', 'Segoe Script', cursive;
  font-size: clamp(1.55rem, 2vw, 2rem);
  color: var(--rose-500);
  line-height: 1.2;
  text-align: left;
}
.hero-support-grid {
  display: grid;
  grid-template-columns: 1.15fr repeat(3, 1fr);
  gap: 18px;
  margin-top: 18px;
}
.support-intro,
.support-card {
  background: rgba(255,250,246,.88);
  border: 1px solid rgba(97,75,65,.08);
  border-radius: 28px;
  padding: 26px 28px;
  min-height: 158px;
  box-shadow: 0 10px 24px rgba(91,61,46,.04);
}
.support-intro {
  display: grid;
  align-content: center;
}
.tiny-label {
  margin: 0 0 10px;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: .82rem;
  color: var(--rose-400);
}
.support-intro p:last-child {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.25rem;
  line-height: 1.55;
  color: var(--brown-700);
}
.support-card {
  display: flex;
  gap: 18px;
  align-items: flex-start;
}
.support-icon {
  width: 58px; height: 58px; border-radius: 999px; display: grid; place-items: center; flex: 0 0 58px;
}
.support-icon svg { width: 26px; height: 26px; }
.support-icon.rose { background: rgba(220, 168, 164, .22); color: var(--rose-500); }
.support-icon.sage { background: rgba(207,216,194,.56); color: var(--sage-700); }
.support-icon.sand { background: rgba(234,215,200,.65); color: #b78a54; }
.support-card h2 {
  font-size: 1.2rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--brown-800);
  margin-bottom: 8px;
}
.support-card p { color: var(--brown-700); line-height: 1.55; }
.section-problems {
  padding-top: 66px;
  padding-bottom: 66px;
}
.problem-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}
.problem-pill {
  display: inline-flex;
  padding: 14px 20px;
  border-radius: 999px;
  background: rgba(255,250,246,.92);
  border: 1px solid rgba(97,75,65,.10);
  color: var(--brown-700);
  box-shadow: 0 10px 24px rgba(91,61,46,.04);
}
.section-approach-reference {
  background: #eef0e9;
}
.about-reference-grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 42px;
  align-items: center;
}
.about-reference-copy {
  padding-right: 10px;
}
.about-reference-copy h2 {
  font-size: clamp(2.35rem, 3.8vw, 3.5rem);
  margin-top: 16px;
}
.about-reference-copy p {
  max-width: 640px;
  color: var(--brown-700);
  font-size: 1.18rem;
  line-height: 1.85;
  margin-top: 16px;
}
.mini-line {
  width: 48px;
  height: 3px;
  border-radius: 99px;
  background: var(--rose-400);
  margin-top: 20px;
}
.about-link-wrap { margin-top: 28px; }
.about-reference-visual img {
  display: block;
  width: 100%;
  border-radius: 30px;
  box-shadow: 0 18px 46px rgba(91,61,46,.08);
}
.section-services-reference {
  background: rgba(250, 241, 234, .8);
}
.section-services-reference h2 {
  font-size: clamp(2.5rem, 4.4vw, 4rem);
  text-transform: uppercase;
  letter-spacing: .03em;
}
.subtitle-small {
  margin: -6px 0 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.6rem;
  color: var(--brown-700);
}
.service-grid-reference {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.service-card-reference {
  background: rgba(255,250,246,.92);
  border-radius: 28px;
  border: 1px solid rgba(97,75,65,.08);
  box-shadow: 0 10px 24px rgba(91,61,46,.04);
  padding: 34px 28px 26px;
}
.service-icon {
  width: 72px; height: 72px; border-radius: 999px; display: grid; place-items: center; margin-bottom: 18px;
}
.service-icon svg { width: 34px; height: 34px; }
.service-icon.rose { background: rgba(220,168,164,.24); color: var(--rose-500); }
.service-icon.sage { background: rgba(207,216,194,.6); color: var(--sage-700); }
.service-icon.sand { background: rgba(234,215,200,.7); color: #b78a54; }
.service-card-reference h3 {
  font-size: 1.7rem;
  margin-bottom: 14px;
}
.service-card-reference p {
  color: var(--brown-700);
  min-height: 112px;
}
.chip-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 18px;
  border-radius: 999px;
  background: rgba(215,147,140,.20);
  color: var(--brown-800);
  font-weight: 700;
  border: 1px solid rgba(215,147,140,.28);
}
.chip-btn:hover { color: var(--brown-900); background: rgba(215,147,140,.3); }
.section-contact-soft {
  padding-top: 84px;
}
.contact-soft-grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 32px;
  align-items: start;
}
.contact-cards {
  display: grid;
  gap: 14px;
}
@media (max-width: 1100px) {
  .hero-showcase,
  .about-reference-grid,
  .contact-soft-grid {
    grid-template-columns: 1fr;
  }
  .hero-visual img { min-height: 460px; }
  .hero-support-grid,
  .service-grid-reference { grid-template-columns: 1fr 1fr; }
  .support-intro { grid-column: 1 / -1; }
}
@media (max-width: 820px) {
  .hero-reference { padding-top: 24px; }
  .hero-content { padding: 34px 26px 38px; }
  .hero-problems { font-size: 1.22rem; }
  .hero-handwritten {
    text-align: center;
    width: 100%;
  }
  .hero-actions-reference {
    flex-direction: column;
    gap: 16px;
  }
  .hero-support-grid,
  .service-grid-reference { grid-template-columns: 1fr; }
  .support-card { min-height: auto; }
}
@media (max-width: 640px) {
  .brand { grid-template-columns: 42px 1fr; }
  .brand::before { width: 42px; height: 42px; }
  .brand span { letter-spacing: .1em; font-size: .68rem; }
  .nav-wrap { min-height: 70px; }
  .hero-display span { font-size: 2.05rem; }
  .hero-display em { font-size: 1.9rem; }
  .hero-locations { justify-content: center; }
  .about-reference-copy p,
  .support-intro p:last-child { font-size: 1.08rem; }
  .service-card-reference p { min-height: auto; }
}


/* ===== Hand-sketch homepage layout refresh ===== */
.home-sketch {
  background:
    radial-gradient(circle at 8% 4%, rgba(215,147,140,.12), transparent 34rem),
    radial-gradient(circle at 95% 14%, rgba(122,134,107,.10), transparent 28rem),
    #fbf4ed;
}
.brand {
  grid-template-columns: 52px 1fr;
  grid-template-areas: 'icon name' 'icon tag';
  column-gap: 12px;
  align-items: center;
}
.brand::before {
  content: '';
  grid-area: icon;
  width: 52px;
  height: 52px;
  background: url('/assets/img/brand-leaf.svg') center/contain no-repeat;
}
.brand strong { grid-area: name; }
.brand span { grid-area: tag; letter-spacing: .14em; text-transform: uppercase; font-size: .74rem; }
.home-sketch .site-header { background: rgba(251,244,237,.9); }
.home-sketch .nav-links a[aria-current="page"] { color: var(--rose-500); }
.home-sketch .btn-primary {
  background: #d28d86;
  min-height: 58px;
  padding: 17px 29px;
  font-size: 1.05rem;
  box-shadow: none;
}
.home-sketch .btn-primary:hover { background: #c67f78; box-shadow: 0 16px 38px rgba(169,111,104,.20); }
.hero-sketch { padding: 34px 0 34px; }
.hero-sketch-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  min-height: 660px;
  align-items: stretch;
  border-radius: 0 0 34px 34px;
  overflow: hidden;
  background: rgba(255,250,246,.72);
  border: 1px solid rgba(97,75,65,.08);
  box-shadow: 0 16px 48px rgba(91,61,46,.06);
}
.hero-sketch-image { min-height: 640px; }
.hero-sketch-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-sketch-copy {
  padding: clamp(44px, 5.6vw, 82px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  background: rgba(255,250,246,.88);
}
.hero-small {
  margin: 0 0 12px;
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--brown-700);
  font-size: clamp(1.3rem, 1.8vw, 1.8rem);
}
.hero-sketch h1 {
  margin: 0;
  color: var(--rose-500);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(3rem, 5vw, 5.2rem);
  line-height: 1.05;
  letter-spacing: -.04em;
  font-weight: 500;
}
.hero-sketch h1 span {
  display: block;
  margin-top: 10px;
  color: var(--brown-800);
  font-size: clamp(2.25rem, 4.1vw, 4.1rem);
}
.sketch-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin: 30px 0 24px;
  color: var(--rose-400);
}
.sketch-divider span { width: min(165px, 30%); height: 1px; background: rgba(194,141,132,.52); }
.sketch-divider svg { width: 24px; height: 24px; }
.hero-issues {
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--brown-700);
  font-size: clamp(1.25rem, 2vw, 2rem);
  line-height: 1.45;
}
.hero-emdr {
  margin: 10px 0 0;
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--rose-500);
  font-size: clamp(1.32rem, 2vw, 1.95rem);
}
.hero-place-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px 32px;
  color: var(--brown-600);
  margin-top: 30px;
  font-weight: 650;
}
.hero-place-row span { display: inline-flex; align-items: center; gap: 10px; }
.hero-place-row svg { width: 18px; height: 18px; color: var(--rose-400); }
.hero-sketch-actions {
  margin-top: 38px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 28px;
}
.hero-sketch-actions p {
  max-width: 310px;
  margin: 0;
  text-align: left;
  font-family: 'Brush Script MT', 'Segoe Script', cursive;
  color: var(--rose-500);
  font-size: clamp(1.45rem, 2vw, 2rem);
  line-height: 1.1;
  transform: rotate(-1deg);
}
.image-proof-band { padding: 22px 0 76px; }
.sketch-section-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 18px;
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: .78rem;
  color: var(--rose-500);
  font-weight: 800;
}
.sketch-section-label::before {
  content: '✣';
  color: var(--rose-400);
  font-size: .9rem;
}
.image-proof-panel {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1.18fr repeat(3, 1fr);
  gap: 22px;
  align-items: stretch;
  padding: clamp(28px, 4vw, 46px);
  border-radius: 38px;
  background:
    linear-gradient(90deg, rgba(251,244,237,.92), rgba(251,244,237,.72)),
    url('/assets/img/hero-room.svg') center/cover;
  border: 1px solid rgba(97,75,65,.08);
  box-shadow: 0 20px 48px rgba(91,61,46,.08);
}
.proof-copy {
  display: grid;
  align-content: center;
  max-width: 360px;
}
.proof-copy p {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.36rem, 2vw, 1.95rem);
  line-height: 1.55;
  color: var(--brown-800);
}
.proof-card {
  min-height: 164px;
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 18px;
  align-items: center;
  padding: 28px;
  border-radius: 30px;
  background: rgba(255,250,246,.88);
  border: 1px solid rgba(97,75,65,.07);
  box-shadow: 0 12px 30px rgba(91,61,46,.06);
}
.proof-card h2 {
  font-size: 1.18rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 7px;
  color: var(--brown-800);
}
.proof-card p { line-height: 1.55; color: var(--brown-700); }
.round-icon {
  width: 64px;
  height: 64px;
  border-radius: 999px;
  display: grid;
  place-items: center;
}
.round-icon svg { width: 28px; height: 28px; }
.round-icon.rose { background: rgba(220,168,164,.25); color: var(--rose-500); }
.round-icon.sage { background: rgba(207,216,194,.62); color: var(--sage-700); }
.round-icon.sand { background: rgba(234,215,200,.74); color: #b78a54; }
.sketch-transition {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 18px;
  width: min(1100px, calc(100% - 40px));
  margin: -18px auto 0;
  color: var(--brown-600);
  opacity: .58;
}
.sketch-transition span { height: 1px; background: rgba(97,75,65,.22); }
.sketch-transition em {
  font-family: Georgia, 'Times New Roman', serif;
  font-style: normal;
  font-size: 1.12rem;
}
.approach-sketch {
  padding: 104px 0;
  background: #eef0e9;
  border-top: 1px solid rgba(97,75,65,.06);
  border-bottom: 1px solid rgba(97,75,65,.06);
}
.approach-sketch-grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: clamp(38px, 6vw, 82px);
  align-items: center;
}
.approach-sketch-copy h2 {
  margin-top: 8px;
  font-size: clamp(2.55rem, 4vw, 3.8rem);
}
.approach-sketch-copy p:not(.sketch-section-label) {
  max-width: 640px;
  margin-top: 18px;
  font-size: 1.16rem;
  line-height: 1.85;
  color: var(--brown-700);
}
.approach-sketch-copy .btn { margin-top: 30px; }
.mini-line { width: 54px; height: 3px; border-radius: 99px; background: var(--rose-400); margin: 22px 0 14px; }
.approach-sketch-image img {
  display: block;
  width: 100%;
  border-radius: 34px;
  box-shadow: 0 18px 46px rgba(91,61,46,.08);
}
.overview-sketch {
  padding: 100px 0 106px;
  background:
    linear-gradient(180deg, rgba(251,244,237,.78), rgba(251,244,237,.92)),
    url('/assets/img/still-life.svg') center/cover fixed;
}
.overview-title {
  text-align: center;
  margin-bottom: 44px;
}
.overview-title h2 {
  max-width: 920px;
  margin: 0 auto;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: clamp(2.35rem, 4vw, 4rem);
}
.overview-title > p:not(.sketch-section-label) {
  margin: 8px 0 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.7rem;
  color: var(--brown-700);
}
.overview-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}
.overview-card {
  background: rgba(255,250,246,.92);
  border-radius: 30px;
  border: 1px solid rgba(97,75,65,.08);
  box-shadow: 0 12px 30px rgba(91,61,46,.05);
  padding: 38px 30px 30px;
}
.service-icon {
  width: 72px;
  height: 72px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  margin-bottom: 20px;
}
.service-icon svg { width: 34px; height: 34px; }
.service-icon.rose { background: rgba(220,168,164,.24); color: var(--rose-500); }
.service-icon.sage { background: rgba(207,216,194,.6); color: var(--sage-700); }
.service-icon.sand { background: rgba(234,215,200,.7); color: #b78a54; }
.overview-card h3 {
  font-size: clamp(1.5rem, 2vw, 1.9rem);
  margin-bottom: 14px;
  text-transform: uppercase;
  letter-spacing: .055em;
}
.overview-card p {
  min-height: 140px;
  color: var(--brown-700);
  line-height: 1.7;
}
.chip-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin-top: 20px;
  padding: 10px 18px;
  border-radius: 999px;
  background: rgba(215,147,140,.20);
  color: var(--brown-800);
  font-weight: 700;
  border: 1px solid rgba(215,147,140,.28);
}
.chip-btn:hover { color: var(--brown-900); background: rgba(215,147,140,.3); }
.contact-sketch {
  padding: 90px 0 96px;
  background: #fbf4ed;
}
.contact-sketch-grid {
  display: grid;
  grid-template-columns: 1fr .55fr;
  gap: 42px;
  align-items: center;
}
.contact-sketch h2 { margin-top: 18px; }
.contact-sketch .lead { margin-top: 24px; }
.contact-sketch-action {
  display: grid;
  gap: 18px;
  justify-items: start;
  padding: 30px;
  border-radius: 30px;
  background: rgba(255,250,246,.82);
  border: 1px solid rgba(97,75,65,.08);
  box-shadow: 0 12px 30px rgba(91,61,46,.05);
}
.contact-sketch-action p { color: var(--brown-700); }
@media (max-width: 1120px) {
  .hero-sketch-grid,
  .approach-sketch-grid,
  .contact-sketch-grid { grid-template-columns: 1fr; }
  .hero-sketch-image { min-height: 460px; }
  .image-proof-panel { grid-template-columns: 1fr 1fr; }
  .proof-copy { grid-column: 1 / -1; max-width: none; }
  .overview-cards { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 820px) {
  .hero-sketch { padding-top: 20px; }
  .hero-sketch-grid { min-height: auto; }
  .hero-sketch-image { min-height: 340px; }
  .hero-sketch-copy { padding: 36px 24px 42px; }
  .hero-sketch-actions { flex-direction: column; gap: 16px; }
  .hero-sketch-actions p { text-align: center; }
  .image-proof-panel,
  .overview-cards { grid-template-columns: 1fr; }
  .proof-card { min-height: auto; }
  .approach-sketch,
  .overview-sketch,
  .contact-sketch { padding: 72px 0; }
}
@media (max-width: 640px) {
  .brand { grid-template-columns: 42px 1fr; }
  .brand::before { width: 42px; height: 42px; }
  .brand span { font-size: .66rem; letter-spacing: .1em; }
  .hero-sketch h1 { font-size: 2.35rem; }
  .hero-sketch h1 span { font-size: 1.92rem; }
  .hero-issues { font-size: 1.16rem; }
  .hero-place-row { gap: 10px; }
  .proof-card { grid-template-columns: 54px 1fr; padding: 24px; }
  .round-icon { width: 54px; height: 54px; }
  .overview-card p { min-height: auto; }
}

/* ===== Exact reference hero + palette final pass ===== */
:root {
  --cream-50: #fffdf9;
  --cream-100: #fbf6ef;
  --cream-200: #f4ebe2;
  --cream-300: #eadbd0;
  --rose-300: #d8a6a0;
  --rose-400: #cb8783;
  --rose-500: #bd7074;
  --sage-200: #e8eadf;
  --sage-300: #d4d7c9;
  --sage-500: #9a9b83;
  --sage-700: #777967;
  --brown-900: #3f3a34;
  --brown-800: #51483f;
  --brown-700: #67584c;
  --brown-600: #827166;
  --max: 1180px;
}
body.home-reference-exact {
  background: #fbf6ef;
  color: #51483f;
  font-family: Georgia, "Times New Roman", serif;
}
.home-reference-exact p,
.home-reference-exact a,
.home-reference-exact button,
.home-reference-exact input,
.home-reference-exact textarea,
.home-reference-exact select,
.home-reference-exact .lead {
  font-family: Georgia, "Times New Roman", serif;
}
.home-reference-exact .site-header {
  background: rgba(251, 246, 239, .94);
  border-bottom: 1px solid rgba(81,72,63,.055);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.home-reference-exact .nav-wrap {
  width: min(1540px, calc(100% - 84px));
  min-height: 104px;
  gap: 34px;
}
.home-reference-exact .brand {
  grid-template-columns: 70px 1fr;
  column-gap: 14px;
}
.home-reference-exact .brand::before {
  width: 70px;
  height: 70px;
}
.home-reference-exact .brand strong {
  font-size: clamp(1.25rem, 1.35vw, 1.65rem);
  color: #423b34;
  letter-spacing: .01em;
  line-height: 1.1;
}
.home-reference-exact .brand span {
  font-size: .76rem;
  letter-spacing: .34em;
  color: #84766c;
  margin-top: 4px;
}
.home-reference-exact .nav-links {
  gap: clamp(22px, 2.2vw, 42px);
  color: #453d36;
  font-size: clamp(.95rem, .9vw, 1.1rem);
}
.home-reference-exact .nav-links a:not(.btn)::after {
  bottom: -9px;
  background: #cb8783;
  height: 2px;
}
.home-reference-exact .nav-links a[aria-current="page"] {
  color: #bd7074;
}
.home-reference-exact .btn-primary {
  background: #bd7074;
  color: #fff8f3;
  min-height: 58px;
  padding: 17px 33px;
  border-radius: 999px;
  font-size: 1.08rem;
  font-weight: 500;
  box-shadow: none;
}
.home-reference-exact .btn-primary:hover {
  color: #fff;
  background: #b66569;
  transform: translateY(-1px);
  box-shadow: 0 18px 38px rgba(189,112,116,.18);
}
.home-reference-exact .hero-sketch {
  padding: 0;
  background: #fbf6ef;
}
.home-reference-exact .hero-sketch-grid {
  width: min(1660px, 100%);
  margin-inline: auto;
  min-height: clamp(620px, 47vw, 735px);
  display: grid;
  grid-template-columns: minmax(520px, .47fr) minmax(620px, .53fr);
  align-items: stretch;
  overflow: visible;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: #fbf6ef;
}
.home-reference-exact .hero-sketch-image {
  min-height: clamp(620px, 47vw, 735px);
  overflow: hidden;
  border-radius: 0 34px 0 0;
  background: #eadbd0;
}
.home-reference-exact .hero-sketch-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  filter: saturate(.96) contrast(.98) brightness(1.01);
}
.home-reference-exact .hero-sketch-copy {
  background: #fbf6ef;
  padding: clamp(54px, 6.2vw, 104px) clamp(44px, 6vw, 96px);
  justify-content: center;
  align-items: center;
  text-align: center;
}
.home-reference-exact .hero-small {
  color: #4a433b;
  font-size: clamp(2.05rem, 2.55vw, 3.1rem);
  line-height: 1.05;
  letter-spacing: .015em;
  margin: 0 0 12px;
}
.home-reference-exact .hero-sketch h1 {
  color: #bd7074;
  font-size: clamp(2.3rem, 3.15vw, 4rem);
  letter-spacing: .035em;
  line-height: 1.16;
  max-width: 900px;
}
.home-reference-exact .hero-sketch h1 span {
  color: #51483f;
  font-size: clamp(2.05rem, 2.85vw, 3.5rem);
  letter-spacing: .02em;
  margin-top: 9px;
}
.home-reference-exact .sketch-divider {
  width: min(640px, 88%);
  gap: 24px;
  margin: clamp(28px, 2.6vw, 42px) auto 24px;
  color: #cb8783;
}
.home-reference-exact .sketch-divider span {
  width: 100%;
  max-width: 280px;
  background: rgba(203,135,131,.55);
}
.home-reference-exact .sketch-divider svg { width: 26px; height: 26px; flex: 0 0 auto; }
.home-reference-exact .hero-issues {
  color: #51483f;
  font-size: clamp(1.35rem, 1.7vw, 2.15rem);
  letter-spacing: .02em;
  line-height: 1.45;
}
.home-reference-exact .hero-emdr {
  color: #bd7074;
  font-size: clamp(1.35rem, 1.65vw, 2rem);
  letter-spacing: .08em;
  font-weight: 600;
  margin-top: 8px;
}
.home-reference-exact .hero-place-row {
  margin-top: clamp(24px, 2.5vw, 36px);
  gap: 24px 54px;
  color: #67584c;
  font-size: clamp(1rem, 1.02vw, 1.18rem);
  font-weight: 500;
}
.home-reference-exact .hero-place-row span + span::before {
  content: "";
  width: 1px;
  height: 34px;
  background: rgba(203,135,131,.36);
  margin-right: 28px;
}
.home-reference-exact .hero-place-row svg {
  width: 24px;
  height: 24px;
  color: #cb8783;
}
.home-reference-exact .hero-sketch-actions {
  margin-top: clamp(34px, 3.2vw, 48px);
  gap: clamp(28px, 3vw, 54px);
}
.home-reference-exact .hero-sketch-actions .btn-primary {
  min-width: 248px;
  min-height: 64px;
  font-size: 1.28rem;
}
.home-reference-exact .hero-sketch-actions p {
  color: #c17575;
  max-width: 360px;
  font-size: clamp(1.55rem, 1.75vw, 2.2rem);
  line-height: 1.05;
  font-family: "Brush Script MT", "Segoe Script", cursive;
  transform: rotate(-1.2deg);
}
.home-reference-exact .image-proof-band {
  padding: 0 0 74px;
  background: #f6eee8;
}
.home-reference-exact .image-proof-band > .container {
  width: min(1540px, calc(100% - 96px));
}
.home-reference-exact .sketch-section-label {
  margin-top: 28px;
  color: #806d63;
  letter-spacing: .22em;
  font-size: .82rem;
}
.home-reference-exact .image-proof-panel {
  background: transparent;
  box-shadow: none;
  border: 0;
  border-radius: 0;
  padding: 18px 0 0;
  grid-template-columns: 1.05fr repeat(3, 1fr);
  gap: 28px;
}
.home-reference-exact .proof-copy p {
  font-size: clamp(1.25rem, 1.45vw, 1.7rem);
  color: #51483f;
  max-width: 330px;
}
.home-reference-exact .proof-card,
.home-reference-exact .overview-card,
.home-reference-exact .contact-sketch-action,
.home-reference-exact .faq-soft details {
  background: rgba(255, 251, 247, .78);
  border: 1px solid rgba(81,72,63,.045);
  box-shadow: 0 18px 48px rgba(81,72,63,.045);
}
.home-reference-exact .proof-card {
  border-radius: 28px;
  min-height: 142px;
}
.home-reference-exact .proof-card h2 {
  font-size: 1.02rem;
  letter-spacing: .12em;
}
.home-reference-exact .proof-card p { color: #67584c; }
.home-reference-exact .approach-sketch {
  background: #eef0e7;
  padding: 96px 0;
}
.home-reference-exact .approach-sketch .container,
.home-reference-exact .overview-sketch .container,
.home-reference-exact .contact-sketch .container,
.home-reference-exact .faq-soft .container {
  width: min(1540px, calc(100% - 96px));
}
.home-reference-exact .approach-sketch-copy h2,
.home-reference-exact .contact-sketch h2,
.home-reference-exact .faq-soft h2 {
  color: #51483f;
  letter-spacing: .01em;
}
.home-reference-exact .mini-line { background: #bd7074; width: 50px; height: 2px; }
.home-reference-exact .approach-sketch-image img {
  border-radius: 28px;
  box-shadow: none;
  aspect-ratio: 2.35 / 1;
  object-fit: cover;
}
.home-reference-exact .overview-sketch {
  background: #fbf6ef;
  padding: 90px 0 98px;
}
.home-reference-exact .overview-title h2 {
  color: #51483f;
  font-size: clamp(2.05rem, 3.2vw, 3.6rem);
  letter-spacing: .13em;
}
.home-reference-exact .overview-card {
  border-radius: 28px;
  padding: 36px 34px 30px;
}
.home-reference-exact .overview-card h3 {
  color: #51483f;
  font-size: 1.42rem;
  letter-spacing: .11em;
}
.home-reference-exact .overview-card p {
  color: #67584c;
  min-height: 120px;
}
.home-reference-exact .chip-btn {
  background: rgba(203,135,131,.24);
  color: #67584c;
  border: 0;
  min-height: 40px;
  padding: 10px 22px;
  font-weight: 600;
}
.home-reference-exact .faq-soft {
  padding: 86px 0 90px;
  background: #f6eee8;
}
.home-reference-exact .faq-soft-grid {
  display: grid;
  grid-template-columns: .7fr 1.3fr;
  gap: 42px;
  align-items: start;
}
.home-reference-exact .faq-soft-list {
  display: grid;
  gap: 14px;
}
.home-reference-exact .faq-soft details {
  border-radius: 24px;
  padding: 20px 24px;
}
.home-reference-exact .faq-soft summary {
  cursor: pointer;
  color: #51483f;
  font-weight: 600;
}
.home-reference-exact .faq-soft details p {
  margin-top: 12px;
  color: #67584c;
  line-height: 1.65;
}
.home-reference-exact .contact-sketch { background: #fbf6ef; }
@media (min-width: 1800px) {
  .home-reference-exact .hero-sketch-grid {
    width: min(1660px, calc(100% - 260px));
  }
}
@media (max-width: 1250px) {
  .home-reference-exact .nav-wrap { width: min(100% - 34px, 1260px); }
  .home-reference-exact .brand { grid-template-columns: 52px 1fr; }
  .home-reference-exact .brand::before { width: 52px; height: 52px; }
  .home-reference-exact .nav-links { gap: 20px; }
  .home-reference-exact .hero-sketch-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
@media (max-width: 1120px) {
  .home-reference-exact .hero-sketch-grid {
    width: min(100% - 40px, 920px);
    grid-template-columns: 1fr;
    padding-top: 20px;
  }
  .home-reference-exact .hero-sketch-image {
    border-radius: 32px 32px 0 0;
    min-height: 460px;
  }
  .home-reference-exact .hero-sketch-copy { border-radius: 0 0 32px 32px; }
  .home-reference-exact .image-proof-panel,
  .home-reference-exact .faq-soft-grid { grid-template-columns: 1fr 1fr; }
  .home-reference-exact .proof-copy { grid-column: 1 / -1; }
  .home-reference-exact .approach-sketch .container,
  .home-reference-exact .overview-sketch .container,
  .home-reference-exact .contact-sketch .container,
  .home-reference-exact .faq-soft .container,
  .home-reference-exact .image-proof-band > .container { width: min(100% - 40px, 920px); }
}
@media (max-width: 820px) {
  .home-reference-exact .nav-wrap { min-height: 76px; }
  .home-reference-exact .brand strong { font-size: 1.05rem; }
  .home-reference-exact .hero-sketch-grid { width: calc(100% - 28px); }
  .home-reference-exact .hero-sketch-copy { padding: 34px 22px 40px; }
  .home-reference-exact .hero-small { font-size: 1.75rem; }
  .home-reference-exact .hero-sketch h1 { font-size: 2.35rem; }
  .home-reference-exact .hero-sketch h1 span { font-size: 2rem; }
  .home-reference-exact .hero-place-row span + span::before { display: none; }
  .home-reference-exact .hero-sketch-actions { flex-direction: column; }
  .home-reference-exact .hero-sketch-actions p { text-align: center; }
  .home-reference-exact .image-proof-panel,
  .home-reference-exact .overview-cards,
  .home-reference-exact .faq-soft-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .home-reference-exact .brand { grid-template-columns: 44px 1fr; }
  .home-reference-exact .brand::before { width: 44px; height: 44px; }
  .home-reference-exact .brand span { font-size: .62rem; letter-spacing: .18em; }
  .home-reference-exact .hero-sketch-image { min-height: 340px; }
}

/* ===== Olive / gold botanical branding applied from client board ===== */
:root {
  --olive-deep: #3E3D2A;
  --olive-moss: #6B6A4A;
  --brown-warm: #8A6A4B;
  --gold-soft: #F1D78A;
  --gold-muted: #B99C43;
  --beige-sand: #E8E1CF;
  --cream-brand: #FAF6EC;
  --cream-brand-2: #F6F0E4;
  --paper: #FFFDF7;
  --ink: #3E3D2A;
  --muted-ink: #6A604F;
  --line-brand: rgba(62,61,42,.14);
  --shadow-brand: 0 22px 60px rgba(62,61,42,.09);
  --shadow-brand-soft: 0 14px 36px rgba(62,61,42,.06);

  --cream-50: #FFFDF7;
  --cream-100: #FAF6EC;
  --cream-200: #F1E8DA;
  --cream-300: #E8E1CF;
  --rose-300: #D9C990;
  --rose-400: #B99C43;
  --rose-500: #3E3D2A;
  --sage-200: #EEEBD7;
  --sage-300: #DAD7BD;
  --sage-500: #6B6A4A;
  --sage-700: #3E3D2A;
  --brown-900: #3E3D2A;
  --brown-800: #463F2D;
  --brown-700: #6A604F;
  --brown-600: #82745F;
  --brown-300: #C8B596;
  --focus: 0 0 0 4px rgba(241,215,138,.42);
}

body.botanical-brand {
  background:
    radial-gradient(circle at 18% 0%, rgba(241,215,138,.16), transparent 30rem),
    radial-gradient(circle at 94% 7%, rgba(232,225,207,.82), transparent 34rem),
    var(--cream-brand);
  color: var(--ink);
  font-family: "Lora", Georgia, serif;
  letter-spacing: .005em;
}
body.botanical-brand::before,
body.botanical-brand::after {
  content: "";
  position: fixed;
  z-index: -1;
  pointer-events: none;
  background: url('/assets/img/botanical-corner.svg') center/contain no-repeat;
  opacity: .62;
}
body.botanical-brand::before { width: 520px; height: 520px; top: -90px; right: -85px; transform: rotate(4deg); }
body.botanical-brand::after { width: 420px; height: 420px; bottom: 8%; left: -150px; transform: rotate(180deg); opacity: .3; }

.botanical-brand h1,
.botanical-brand h2,
.botanical-brand h3,
.botanical-brand .display {
  font-family: "Playfair Display", "Lora", Georgia, serif;
  color: var(--ink);
  letter-spacing: -.015em;
}
.botanical-brand p,
.botanical-brand .lead,
.botanical-brand li,
.botanical-brand label,
.botanical-brand input,
.botanical-brand textarea,
.botanical-brand select,
.botanical-brand button,
.botanical-brand a {
  font-family: "Lora", Georgia, serif;
}
.botanical-brand .site-header {
  background: rgba(250,246,236,.91) !important;
  border-bottom: 1px solid rgba(62,61,42,.12) !important;
  box-shadow: 0 6px 22px rgba(62,61,42,.03);
}
.botanical-brand .site-header.is-scrolled {
  background: rgba(250,246,236,.97) !important;
  box-shadow: 0 16px 34px rgba(62,61,42,.08) !important;
}
.botanical-brand .nav-wrap {
  width: min(1540px, calc(100% - 64px));
  min-height: 94px;
}
.botanical-brand .brand {
  grid-template-columns: 76px minmax(0, 1fr) !important;
  column-gap: 16px !important;
}
.botanical-brand .brand::before {
  width: 76px !important;
  height: 76px !important;
  background: url('/assets/img/brand-leaf.svg') center/contain no-repeat !important;
}
.botanical-brand .brand strong {
  font-family: "Great Vibes", "Brush Script MT", "Segoe Script", cursive !important;
  font-weight: 400 !important;
  font-size: clamp(2.1rem, 2.35vw, 3rem) !important;
  line-height: .92 !important;
  letter-spacing: .015em !important;
  color: var(--olive-deep) !important;
}
.botanical-brand .brand span {
  font-family: "Inter", system-ui, sans-serif !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  letter-spacing: .34em !important;
  text-transform: uppercase !important;
  color: var(--brown-warm) !important;
  margin-top: 4px;
}
.botanical-brand .nav-links {
  gap: clamp(18px, 2vw, 34px);
  color: var(--olive-deep) !important;
  font-family: "Inter", system-ui, sans-serif !important;
  font-size: .94rem !important;
}
.botanical-brand .nav-links a:not(.btn) {
  font-family: "Inter", system-ui, sans-serif !important;
  font-weight: 500;
}
.botanical-brand .nav-links a:not(.btn)::after {
  background: var(--gold-muted) !important;
  height: 2px !important;
}
.botanical-brand .nav-links a[aria-current="page"] { color: var(--gold-muted) !important; }
.botanical-brand a:hover { color: var(--gold-muted); }

.botanical-brand .btn,
.botanical-brand .chip-btn {
  font-family: "Inter", system-ui, sans-serif !important;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: .78rem !important;
  font-weight: 700 !important;
}
.botanical-brand .btn-primary {
  background: var(--olive-deep) !important;
  color: #FFFDF7 !important;
  border: 1px solid rgba(62,61,42,.92) !important;
  border-radius: 9px !important;
  box-shadow: 0 16px 34px rgba(62,61,42,.15) !important;
  min-height: 56px !important;
  padding: 16px 28px !important;
}
.botanical-brand .btn-primary::before,
.botanical-brand .chip-btn::before {
  content: "";
  width: 16px;
  height: 16px;
  background: url('/assets/img/brand-leaf.svg') center/contain no-repeat;
  filter: brightness(0) invert(1);
  opacity: .95;
}
.botanical-brand .btn-primary:hover {
  background: #2F301F !important;
  transform: translateY(-2px);
  box-shadow: 0 20px 44px rgba(62,61,42,.2) !important;
}
.botanical-brand .btn-secondary {
  background: transparent !important;
  color: var(--olive-deep) !important;
  border: 1px solid rgba(62,61,42,.45) !important;
  border-radius: 9px !important;
}
.botanical-brand .btn-secondary:hover { background: rgba(241,215,138,.18) !important; }

/* Homepage hero matching the branding board */
.botanical-brand.home-reference-exact .hero-sketch {
  position: relative;
  padding: 28px 0 34px !important;
  background: var(--cream-brand) !important;
  overflow: hidden;
}
.botanical-brand.home-reference-exact .hero-sketch::after {
  content: "";
  position: absolute;
  right: -120px;
  top: 0;
  width: 560px;
  height: 560px;
  background: url('/assets/img/botanical-corner.svg') center/contain no-repeat;
  opacity: .55;
  pointer-events: none;
}
.botanical-brand.home-reference-exact .hero-sketch-grid {
  position: relative;
  z-index: 1;
  width: min(1540px, calc(100% - 72px)) !important;
  grid-template-columns: minmax(430px, .88fr) minmax(540px, 1.12fr) !important;
  gap: clamp(44px, 5vw, 86px) !important;
  min-height: clamp(620px, 45vw, 760px) !important;
  align-items: center !important;
  background: transparent !important;
}
.botanical-brand.home-reference-exact .hero-sketch-image {
  min-height: clamp(520px, 40vw, 660px) !important;
  border-radius: 14px !important;
  border: 1px solid rgba(62,61,42,.10);
  box-shadow: var(--shadow-brand-soft) !important;
  overflow: hidden;
  position: relative;
}
.botanical-brand.home-reference-exact .hero-sketch-image::after {
  content: "";
  position: absolute;
  left: -80px;
  bottom: -60px;
  width: 280px;
  height: 280px;
  background: url('/assets/img/botanical-corner.svg') center/contain no-repeat;
  transform: rotate(180deg);
  opacity: .6;
}
.botanical-brand.home-reference-exact .hero-sketch-image img {
  filter: sepia(.16) saturate(.82) contrast(.98) brightness(1.04) !important;
  object-position: center center;
}
.botanical-brand.home-reference-exact .hero-sketch-copy {
  background: transparent !important;
  padding: clamp(30px, 4.5vw, 74px) clamp(20px, 3vw, 50px) !important;
}
.botanical-brand.home-reference-exact .hero-small {
  font-family: "Great Vibes", "Brush Script MT", "Segoe Script", cursive !important;
  color: var(--olive-deep) !important;
  font-size: clamp(4.4rem, 6vw, 7.5rem) !important;
  line-height: .88 !important;
  font-weight: 400 !important;
  margin-bottom: 28px !important;
  letter-spacing: .01em !important;
}
.botanical-brand.home-reference-exact .hero-sketch h1 {
  font-family: "Inter", system-ui, sans-serif !important;
  text-transform: uppercase;
  color: var(--brown-warm) !important;
  font-size: clamp(1rem, 1.25vw, 1.55rem) !important;
  font-weight: 500 !important;
  letter-spacing: .48em !important;
  line-height: 1.65 !important;
  max-width: 760px !important;
}
.botanical-brand.home-reference-exact .hero-sketch h1 span {
  display: none;
}
.botanical-brand.home-reference-exact .sketch-divider {
  width: min(580px, 85%) !important;
  margin: 20px auto 24px !important;
  color: var(--gold-muted) !important;
  background: url('/assets/img/botanical-line.svg') center/contain no-repeat;
  min-height: 46px;
}
.botanical-brand.home-reference-exact .sketch-divider span,
.botanical-brand.home-reference-exact .sketch-divider svg { display: none; }
.botanical-brand.home-reference-exact .hero-issues {
  font-family: "Inter", system-ui, sans-serif !important;
  text-transform: uppercase;
  letter-spacing: .34em !important;
  color: var(--olive-deep) !important;
  font-size: clamp(.78rem, .92vw, 1.08rem) !important;
  line-height: 2.1 !important;
}
.botanical-brand.home-reference-exact .hero-emdr {
  font-family: "Inter", system-ui, sans-serif !important;
  text-transform: uppercase;
  color: var(--olive-moss) !important;
  font-size: clamp(.78rem, .9vw, 1rem) !important;
  letter-spacing: .34em !important;
  margin-top: 16px !important;
}
.botanical-brand.home-reference-exact .hero-place-row {
  margin-top: 34px !important;
  color: var(--muted-ink) !important;
  font-size: .98rem !important;
  font-family: "Lora", Georgia, serif !important;
}
.botanical-brand.home-reference-exact .hero-place-row svg { color: var(--gold-muted) !important; }
.botanical-brand.home-reference-exact .hero-place-row span + span::before { background: rgba(62,61,42,.22) !important; }
.botanical-brand.home-reference-exact .hero-sketch-actions {
  flex-direction: column;
  gap: 22px !important;
  margin-top: 34px !important;
}
.botanical-brand.home-reference-exact .hero-sketch-actions .btn-primary {
  min-width: 280px;
}
.botanical-brand.home-reference-exact .hero-sketch-actions p {
  max-width: none !important;
  text-align: center !important;
  color: var(--brown-warm) !important;
  font-family: "Great Vibes", "Brush Script MT", "Segoe Script", cursive !important;
  font-size: clamp(2.5rem, 3.5vw, 4.4rem) !important;
  line-height: .92 !important;
  transform: none !important;
}

/* Sections */
.botanical-brand .image-proof-band { background: var(--cream-brand-2) !important; }
.botanical-brand .sketch-section-label,
.botanical-brand .eyebrow,
.botanical-brand .tiny-label {
  font-family: "Inter", system-ui, sans-serif !important;
  color: var(--olive-deep) !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  letter-spacing: .28em !important;
  font-weight: 800 !important;
}
.botanical-brand .sketch-section-label::before { content: "✦"; color: var(--gold-muted); }
.botanical-brand .eyebrow::before { background: var(--gold-muted) !important; box-shadow: 0 0 0 5px rgba(241,215,138,.25) !important; }
.botanical-brand .proof-copy p,
.botanical-brand .approach-sketch-copy p:not(.sketch-section-label),
.botanical-brand .overview-card p,
.botanical-brand .contact-sketch-action p,
.botanical-brand .faq-soft details p,
.botanical-brand .lead {
  color: var(--muted-ink) !important;
}
.botanical-brand .proof-card,
.botanical-brand .overview-card,
.botanical-brand .card,
.botanical-brand .panel,
.botanical-brand .contact-sketch-action,
.botanical-brand .faq-soft details,
.botanical-brand .location-card,
.botanical-brand .form-note,
.botanical-brand .notice,
.botanical-brand input,
.botanical-brand textarea,
.botanical-brand select {
  background: rgba(255,253,247,.72) !important;
  border: 1px solid rgba(62,61,42,.12) !important;
  box-shadow: var(--shadow-brand-soft) !important;
}
.botanical-brand .round-icon,
.botanical-brand .service-icon,
.botanical-brand .icon {
  background: rgba(241,215,138,.33) !important;
  color: var(--olive-deep) !important;
  border-radius: 999px !important;
}
.botanical-brand .proof-card h2,
.botanical-brand .overview-card h3,
.botanical-brand .footer-title {
  font-family: "Inter", system-ui, sans-serif !important;
  letter-spacing: .18em !important;
  color: var(--olive-deep) !important;
}
.botanical-brand .approach-sketch {
  background:
    linear-gradient(90deg, rgba(238,235,215,.88), rgba(250,246,236,.62)),
    var(--beige-sand) !important;
}
.botanical-brand .approach-sketch-image img,
.botanical-brand .photo-shell img,
.botanical-brand .map-placeholder {
  filter: sepia(.12) saturate(.86) brightness(1.03);
}
.botanical-brand .mini-line {
  background: var(--gold-muted) !important;
  width: 62px !important;
  height: 2px !important;
}
.botanical-brand .overview-sketch {
  background:
    linear-gradient(180deg, rgba(250,246,236,.88), rgba(250,246,236,.96)),
    url('/assets/img/botanical-corner.svg') right 8% top 8% / 420px auto no-repeat,
    var(--cream-brand) !important;
  background-attachment: scroll !important;
}
.botanical-brand .overview-title h2 {
  font-family: "Inter", system-ui, sans-serif !important;
  color: var(--olive-deep) !important;
  letter-spacing: .34em !important;
  font-size: clamp(1.4rem, 2.4vw, 2.6rem) !important;
}
.botanical-brand .chip-btn {
  background: transparent !important;
  border: 0 !important;
  color: var(--olive-deep) !important;
  box-shadow: none !important;
  padding-left: 0 !important;
}
.botanical-brand .chip-btn::before { filter: none; opacity: 1; }
.botanical-brand .faq-soft { background: var(--cream-brand-2) !important; }
.botanical-brand .contact-sketch { background: var(--cream-brand) !important; }
.botanical-brand .cta-band {
  background:
    linear-gradient(135deg, rgba(250,246,236,.88), rgba(232,225,207,.72)),
    url('/assets/img/botanical-corner.svg') left -110px bottom -150px / 420px auto no-repeat !important;
  border: 1px solid rgba(62,61,42,.12) !important;
}

.botanical-brand .site-footer {
  background: var(--olive-deep) !important;
  color: rgba(255,253,247,.8) !important;
  position: relative;
  overflow: hidden;
}
.botanical-brand .site-footer::after {
  content: "";
  position: absolute;
  right: -130px;
  top: -130px;
  width: 420px;
  height: 420px;
  background: url('/assets/img/botanical-corner.svg') center/contain no-repeat;
  opacity: .12;
}
.botanical-brand .site-footer .container { position: relative; z-index: 1; }
.botanical-brand .footer-brand strong {
  font-family: "Great Vibes", "Brush Script MT", "Segoe Script", cursive !important;
  font-size: 3rem !important;
  font-weight: 400 !important;
  color: var(--paper) !important;
}
.botanical-brand .site-footer a:hover { color: var(--gold-soft) !important; }
.botanical-brand .footer-title { color: var(--gold-soft) !important; }
.botanical-brand .footer-bottom { border-top-color: rgba(255,253,247,.15) !important; }

@media (max-width: 1250px) {
  .botanical-brand .nav-wrap { width: min(100% - 32px, 1260px); }
  .botanical-brand .brand { grid-template-columns: 56px minmax(0,1fr) !important; }
  .botanical-brand .brand::before { width: 56px !important; height: 56px !important; }
  .botanical-brand .brand strong { font-size: 2.1rem !important; }
  .botanical-brand.home-reference-exact .hero-sketch-grid { grid-template-columns: 1fr 1fr !important; width: min(100% - 40px, 1180px) !important; }
}
@media (max-width: 1120px) {
  .botanical-brand.home-reference-exact .hero-sketch-grid { grid-template-columns: 1fr !important; width: min(100% - 40px, 900px) !important; gap: 0 !important; }
  .botanical-brand.home-reference-exact .hero-sketch-image { border-radius: 14px 14px 0 0 !important; }
  .botanical-brand.home-reference-exact .hero-sketch-copy { background: rgba(255,253,247,.72) !important; border-radius: 0 0 14px 14px !important; }
}
@media (max-width: 860px) {
  .botanical-brand .nav-wrap { min-height: 76px; }
  .botanical-brand .nav-links {
    background: rgba(250,246,236,.98) !important;
    border: 1px solid rgba(62,61,42,.14) !important;
  }
  .botanical-brand .brand span { display: none; }
}
@media (max-width: 640px) {
  body.botanical-brand::before { width: 300px; height: 300px; right: -140px; }
  .botanical-brand .nav-wrap { width: calc(100% - 24px); }
  .botanical-brand .brand { grid-template-columns: 44px minmax(0,1fr) !important; }
  .botanical-brand .brand::before { width: 44px !important; height: 44px !important; }
  .botanical-brand .brand strong { font-size: 1.6rem !important; }
  .botanical-brand.home-reference-exact .hero-sketch-grid { width: calc(100% - 28px) !important; }
  .botanical-brand.home-reference-exact .hero-sketch-image { min-height: 300px !important; }
  .botanical-brand.home-reference-exact .hero-small { font-size: 3.4rem !important; }
  .botanical-brand.home-reference-exact .hero-sketch h1 { letter-spacing: .28em !important; font-size: .82rem !important; }
  .botanical-brand.home-reference-exact .hero-issues,
  .botanical-brand.home-reference-exact .hero-emdr { letter-spacing: .16em !important; }
  .botanical-brand.home-reference-exact .hero-place-row { display: grid; }
}

/* ===== V6 reference homepage final ===== */
.brand-v6 {
  --v6-olive: #3E3D2A;
  --v6-moss: #6B6A4A;
  --v6-brown: #8A6A4B;
  --v6-gold: #C4A44F;
  --v6-gold-soft: #F1D78A;
  --v6-paper: #FAF6EC;
  --v6-cream: #F5ECDD;
  --v6-border: rgba(62,61,42,.14);
  --v6-ink: #2F3020;
  --v6-muted: #6D604F;
  --v6-shadow: 0 18px 50px rgba(62,61,42,.09);
  margin: 0;
  background:
    url('/assets/img/botanical-v6.svg') right -120px top 88px / 420px auto no-repeat,
    linear-gradient(180deg,#FAF6EC 0%,#F7F0E5 55%,#FAF6EC 100%);
  color: var(--v6-ink);
  font-family: "Lora", Georgia, serif;
  font-size: 16px;
  line-height: 1.65;
}
.brand-v6 * { box-sizing: border-box; }
.brand-v6 img { max-width: 100%; height: auto; }
.brand-v6 svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.brand-v6 a:hover { color: var(--v6-gold); }
.brand-v6 .v6-container { width: min(1180px, calc(100% - 56px)); margin-inline: auto; }
.brand-v6 .site-header.v6-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(250,246,236,.88) !important;
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(62,61,42,.1) !important;
  box-shadow: none !important;
}
.brand-v6 .v6-nav {
  width: min(1180px, calc(100% - 54px)); margin: 0 auto;
  min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 22px;
}
.brand-v6 .v6-brand { display: flex; align-items: center; gap: 13px; min-width: 305px; color: var(--v6-olive); }
.brand-v6 .v6-brand img { width: 68px; height: 68px; flex: 0 0 auto; }
.brand-v6 .v6-brand strong,
.brand-v6 .v6-footer-brand strong {
  display:block; font-family:"Great Vibes","Brush Script MT",cursive; font-size:2.5rem; line-height:.9; font-weight:400; letter-spacing:.01em; color:var(--v6-olive);
}
.brand-v6 .v6-brand em,
.brand-v6 .v6-footer-brand em { display:block; font-style:normal; margin-top:8px; font: 700 .7rem/1.1 "Inter",system-ui,sans-serif; letter-spacing:.31em; text-transform:uppercase; color:var(--v6-muted); }
.brand-v6 .v6-links { gap: 22px; color: var(--v6-ink); font: 600 .83rem/1 "Inter",system-ui,sans-serif; }
.brand-v6 .v6-links a:not(.btn)::after { background: var(--v6-gold); bottom: -8px; height: 2px; }
.brand-v6 .btn { border-radius: 8px; min-height: 52px; padding: 15px 26px; font: 800 .82rem/1 "Inter",system-ui,sans-serif; letter-spacing:.14em; text-transform:uppercase; gap:10px; }
.brand-v6 .btn svg { width:18px;height:18px; }
.brand-v6 .btn-primary { background: var(--v6-olive) !important; color: #FFFDF7 !important; border-color: var(--v6-olive) !important; box-shadow: 0 12px 28px rgba(62,61,42,.18) !important; }
.brand-v6 .btn-primary:hover { background:#2f3020 !important; color:#fff !important; transform: translateY(-2px); }
.brand-v6 .btn-secondary { background: transparent !important; color: var(--v6-olive) !important; border: 1px solid var(--v6-olive) !important; box-shadow: none !important; }
.brand-v6 .btn-secondary:hover { background: rgba(62,61,42,.06) !important; transform: translateY(-2px); }
.brand-v6 .v6-hero { padding: 28px 0 42px; position:relative; overflow:hidden; }
.brand-v6 .v6-hero::after { content:""; position:absolute; right:-80px; top:150px; width:330px; height:410px; background:url('/assets/img/botanical-v6.svg') center/contain no-repeat; opacity:.5; pointer-events:none; }
.brand-v6 .v6-hero-grid { width:min(1180px, calc(100% - 54px)); margin-inline:auto; display:grid; grid-template-columns:.92fr 1.08fr; gap:70px; align-items:center; position:relative; z-index:1; }
.brand-v6 .v6-portrait { position:relative; border-radius: 9px; overflow:hidden; min-height: 502px; box-shadow: var(--v6-shadow); }
.brand-v6 .v6-portrait::after { content:""; position:absolute; left:-95px; bottom:-75px; width:310px; height:380px; background:url('/assets/img/botanical-v6.svg') center/contain no-repeat; opacity:.72; pointer-events:none; }
.brand-v6 .v6-portrait img { display:block; width:100%; height:100%; min-height:502px; object-fit:cover; filter: sepia(.12) saturate(.92) brightness(1.05); }
.brand-v6 .v6-hero-copy { text-align:center; padding: 18px 0; }
.brand-v6 .v6-hero-copy h1 { font-family:"Great Vibes","Brush Script MT",cursive; font-weight:400; font-size:clamp(4.8rem,6.2vw,7.5rem); line-height:.9; letter-spacing:.012em; color:var(--v6-olive); margin:0 0 28px; }
.brand-v6 .v6-role { font: 600 clamp(1rem,1.35vw,1.34rem)/1.5 "Inter",system-ui,sans-serif; letter-spacing:.43em; text-transform:uppercase; color:var(--v6-brown); margin-bottom:16px; }
.brand-v6 .v6-line { display:flex; align-items:center; justify-content:center; gap:18px; color:var(--v6-gold); margin: 18px auto 24px; }
.brand-v6 .v6-line span { width: min(170px,28vw); height:1px; background: rgba(196,164,79,.55); }
.brand-v6 .v6-line b { font-size:1.1rem; line-height:1; }
.brand-v6 .v6-intro { color: var(--v6-ink); font-size:1.16rem; line-height:1.8; margin-bottom:26px; }
.brand-v6 .v6-tags { display:flex; flex-wrap:wrap; justify-content:center; gap: 26px; margin: 0 0 26px; color:var(--v6-muted); font:600 .9rem/1 "Inter",system-ui,sans-serif; }
.brand-v6 .v6-tags span { display:inline-flex; align-items:center; gap:8px; }
.brand-v6 .v6-tags svg { width:16px;height:16px; color:var(--v6-gold); }
.brand-v6 .v6-location { display:inline-flex; align-items:center; justify-content:center; gap:10px; margin: 0 0 24px; color:var(--v6-ink); font: 600 1rem/1.3 "Lora",Georgia,serif; }
.brand-v6 .v6-location svg { width:18px;height:18px; color:var(--v6-gold); }
.brand-v6 .v6-mantra { margin-top: 24px; font-family:"Great Vibes","Brush Script MT",cursive; color:#B98F46; font-size:clamp(2.5rem,3.6vw,4rem); line-height:.94; }
.brand-v6 .v6-mantra small { font-family:Georgia,serif; font-size:1.2rem; color:var(--v6-gold); }
.brand-v6 .v6-values { padding: 28px 0 38px; position:relative; }
.brand-v6 .v6-values::after { content:""; position:absolute; right:40px; bottom:-110px; width:210px; height:260px; background:url('/assets/img/botanical-v6.svg') center/contain no-repeat; opacity:.42; pointer-events:none; }
.brand-v6 .v6-card-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:38px; }
.brand-v6 .v6-value-card { background:rgba(255,253,247,.5); border:1px solid rgba(62,61,42,.12); border-radius:8px; padding:32px 34px 34px; text-align:center; min-height:210px; box-shadow:0 12px 36px rgba(62,61,42,.045); }
.brand-v6 .v6-icon,.brand-v6 .v6-service-icon { width:58px; height:58px; border-radius:999px; display:grid; place-items:center; margin:0 auto 18px; color:var(--v6-olive); background:rgba(232,225,207,.65); }
.brand-v6 .v6-icon svg,.brand-v6 .v6-service-icon svg { width:28px;height:28px; }
.brand-v6 .v6-value-card h2 { font-family:"Lora",Georgia,serif; font-size:1.62rem; font-weight:500; color:var(--v6-olive); letter-spacing:0; margin-bottom:8px; }
.brand-v6 .v6-value-card b,.brand-v6 .v6-service b { color:var(--v6-gold); display:block; margin:0 0 12px; }
.brand-v6 .v6-value-card p { max-width:280px; margin:0 auto; font-size:.92rem; color:var(--v6-muted); }
.brand-v6 .v6-about { padding: 26px 0 42px; }
.brand-v6 .v6-about-grid { display:grid; grid-template-columns:.76fr 1.24fr; gap:64px; align-items:center; border:1px solid rgba(62,61,42,.11); border-radius:9px; padding:22px; background:rgba(255,253,247,.25); }
.brand-v6 .v6-about-copy { padding: 12px 12px 12px 34px; }
.brand-v6 .v6-eyebrow { font:800 .77rem/1 "Inter",system-ui,sans-serif; letter-spacing:.28em; text-transform:uppercase; color:var(--v6-olive); display:flex; align-items:center; gap:12px; margin-bottom:22px; }
.brand-v6 .v6-eyebrow::after { content:"♥"; color:var(--v6-gold); flex:1; border-top:1px solid rgba(196,164,79,.45); padding-left:14px; line-height:0; }
.brand-v6 .v6-about-copy h2 { font-family:"Lora",Georgia,serif; font-size:clamp(2rem,2.7vw,3.15rem); line-height:1.18; color:var(--v6-olive); margin:0 0 22px; letter-spacing:-.03em; }
.brand-v6 .v6-about-copy p { color:var(--v6-muted); margin:0 0 17px; font-size:.99rem; line-height:1.72; }
.brand-v6 .v6-about-copy .btn { margin-top:14px; }
.brand-v6 .v6-about-image { border-radius:7px; overflow:hidden; position:relative; min-height: 360px; }
.brand-v6 .v6-about-image::after { content:""; position:absolute; right:-80px; bottom:-100px; width:280px; height:340px; background:url('/assets/img/botanical-v6.svg') center/contain no-repeat; opacity:.72; pointer-events:none; }
.brand-v6 .v6-about-image img { width:100%; height:100%; min-height:360px; object-fit:cover; filter: sepia(.1) saturate(.9) brightness(1.04); display:block; }
.brand-v6 .v6-services { padding: 30px 0 42px; }
.brand-v6 .v6-section-title { text-align:center; margin-bottom:26px; }
.brand-v6 .v6-section-title h2 { font:800 .98rem/1.2 "Inter",system-ui,sans-serif; text-transform:uppercase; letter-spacing:.42em; color:var(--v6-olive); }
.brand-v6 .v6-service-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:24px; }
.brand-v6 .v6-service { display:grid; grid-template-columns: 42% 58%; min-height:225px; background:rgba(255,253,247,.55); border:1px solid rgba(62,61,42,.12); border-radius:8px; overflow:hidden; box-shadow:0 12px 36px rgba(62,61,42,.045); }
.brand-v6 .v6-service > img { width:100%; height:100%; object-fit:cover; filter: sepia(.12) saturate(.86) brightness(1.05); }
.brand-v6 .v6-service > div { padding:30px 26px 22px; position:relative; }
.brand-v6 .v6-service-icon { width:56px; height:56px; margin: -8px 0 14px; background:var(--v6-olive); color:#FDF7E9; }
.brand-v6 .v6-service h3 { font-family:"Lora",Georgia,serif; font-size:1.65rem; line-height:1.15; font-weight:500; color:var(--v6-olive); margin:0 0 8px; letter-spacing:-.02em; }
.brand-v6 .v6-service p { font-size:.9rem; color:var(--v6-muted); line-height:1.62; margin:0 0 16px; }
.brand-v6 .v6-service a { font:800 .78rem/1 "Inter",system-ui,sans-serif; text-transform:uppercase; letter-spacing:.16em; color:var(--v6-olive); }
.brand-v6 .v6-location-band { padding: 0 0 42px; }
.brand-v6 .v6-location-inner { position:relative; display:grid; grid-template-columns:80px 1fr auto; align-items:center; gap:28px; background:rgba(250,246,236,.7); border:1px solid rgba(62,61,42,.12); border-radius:9px; padding:30px 44px; overflow:hidden; }
.brand-v6 .v6-location-inner::after { content:""; position:absolute; right:-65px; top:-95px; width:230px; height:300px; background:url('/assets/img/botanical-v6.svg') center/contain no-repeat; opacity:.42; }
.brand-v6 .v6-pin { width:58px; height:58px; border:1px solid rgba(62,61,42,.18); border-radius:999px; display:grid; place-items:center; color:var(--v6-olive); }
.brand-v6 .v6-pin svg { width:28px;height:28px; }
.brand-v6 .v6-location-inner h2 { font-family:"Lora",Georgia,serif; font-size:1.65rem; line-height:1.28; font-weight:500; color:var(--v6-olive); margin:0 0 6px; }
.brand-v6 .v6-location-inner p { color:var(--v6-muted); }
.brand-v6 .v6-location-inner .btn { position:relative; z-index:1; }
.brand-v6 .v6-final-cta { text-align:center; padding: 46px 0 54px; background:linear-gradient(90deg, rgba(250,246,236,.3), rgba(232,225,207,.52), rgba(250,246,236,.3)); position:relative; overflow:hidden; }
.brand-v6 .v6-final-cta::before { content:""; position:absolute; left:-100px; top:-120px; width:310px; height:390px; background:url('/assets/img/botanical-v6.svg') center/contain no-repeat; opacity:.42; transform:rotate(-10deg); }
.brand-v6 .v6-final-cta h2 { font-family:"Lora",Georgia,serif; font-size:2.15rem; color:var(--v6-olive); margin:0 0 8px; }
.brand-v6 .v6-final-cta p { color:var(--v6-muted); margin-bottom:22px; }
.brand-v6 .v6-footer { background: var(--v6-olive); color:rgba(255,253,247,.76); padding:42px 0 18px; }
.brand-v6 .v6-footer-grid { display:grid; grid-template-columns:1.2fr .8fr .9fr; gap:56px; align-items:start; }
.brand-v6 .v6-footer-brand { display:grid; grid-template-columns:74px 1fr; column-gap:14px; align-items:center; }
.brand-v6 .v6-footer-brand img { grid-row:1/4; width:70px; height:70px; filter:brightness(1.65) saturate(.7); }
.brand-v6 .v6-footer-brand strong { color:#FFFDF7; font-size:2.25rem; }
.brand-v6 .v6-footer-brand em { color:rgba(255,253,247,.64); letter-spacing:.22em; }
.brand-v6 .v6-footer-brand p { grid-column:2; font-family:"Great Vibes",cursive; color:var(--v6-gold-soft); font-size:1.7rem; margin-top:8px; }
.brand-v6 .v6-footer h2 { font:800 .78rem/1 "Inter",system-ui,sans-serif; letter-spacing:.28em; text-transform:uppercase; color:#FFFDF7; margin:0 0 18px; }
.brand-v6 .v6-footer a,.brand-v6 .v6-footer span { display:block; color:rgba(255,253,247,.75); font-size:.92rem; margin:7px 0; }
.brand-v6 .v6-footer a:hover { color:var(--v6-gold-soft); }
.brand-v6 .v6-footer-bottom { border-top:1px solid rgba(255,253,247,.12); margin-top:34px; padding-top:14px; display:flex; justify-content:space-between; gap:20px; font-size:.82rem; color:rgba(255,253,247,.56); }
@media (min-width: 1600px) { .brand-v6 .v6-nav,.brand-v6 .v6-hero-grid,.brand-v6 .v6-container { width:min(1320px, calc(100% - 120px)); } }
@media (max-width: 1160px) {
  .brand-v6 .v6-brand { min-width:245px; }
  .brand-v6 .v6-brand strong { font-size:2rem; }
  .brand-v6 .v6-brand em { letter-spacing:.22em; }
  .brand-v6 .v6-links { gap:14px; font-size:.78rem; }
  .brand-v6 .v6-hero-grid { gap:38px; grid-template-columns:1fr 1fr; }
  .brand-v6 .v6-hero-copy h1 { font-size:4.6rem; }
  .brand-v6 .v6-role { letter-spacing:.28em; }
}
@media (max-width: 920px) {
  .brand-v6 .v6-nav { min-height:76px; width:calc(100% - 28px); }
  .brand-v6 .v6-brand img { width:52px; height:52px; }
  .brand-v6 .v6-brand strong { font-size:1.75rem; }
  .brand-v6 .v6-brand em { display:none; }
  .brand-v6 .nav-toggle { display:grid; place-items:center; }
  .brand-v6 .v6-links {
    position: fixed; inset: 76px 14px auto 14px; display:grid; gap:0; padding:14px;
    background:rgba(250,246,236,.98); border:1px solid var(--v6-border); border-radius:18px; box-shadow:var(--v6-shadow);
    opacity:0; pointer-events:none; transform:translateY(-8px); transition:.2s ease;
  }
  .brand-v6 .v6-links.is-open { opacity:1; pointer-events:auto; transform:translateY(0); }
  .brand-v6 .v6-links a { padding:14px 10px; }
  .brand-v6 .v6-links .btn { margin-top:10px; }
  .brand-v6 .v6-hero-grid, .brand-v6 .v6-about-grid, .brand-v6 .v6-card-grid, .brand-v6 .v6-service-grid, .brand-v6 .v6-footer-grid { grid-template-columns:1fr; }
  .brand-v6 .v6-hero-grid { width: min(720px, calc(100% - 28px)); gap:28px; }
  .brand-v6 .v6-portrait, .brand-v6 .v6-portrait img { min-height: 430px; }
  .brand-v6 .v6-about-copy { padding:14px; }
  .brand-v6 .v6-location-inner { grid-template-columns:1fr; text-align:center; }
  .brand-v6 .v6-pin { margin:auto; }
  .brand-v6 .v6-footer-bottom { display:grid; text-align:center; justify-content:center; }
}
@media (max-width: 620px) {
  .brand-v6 .v6-container, .brand-v6 .v6-hero-grid { width:calc(100% - 24px); }
  .brand-v6 .v6-hero { padding-top:18px; }
  .brand-v6 .v6-portrait, .brand-v6 .v6-portrait img { min-height: 330px; }
  .brand-v6 .v6-hero-copy h1 { font-size:3.8rem; }
  .brand-v6 .v6-role { font-size:.82rem; letter-spacing:.18em; }
  .brand-v6 .v6-tags { gap:14px; }
  .brand-v6 .v6-service { grid-template-columns:1fr; }
  .brand-v6 .v6-service > img { min-height:160px; }
  .brand-v6 .v6-about-image, .brand-v6 .v6-about-image img { min-height:260px; }
  .brand-v6 .v6-footer-brand { grid-template-columns:1fr; text-align:center; }
  .brand-v6 .v6-footer-brand img { grid-row:auto; margin:auto; }
  .brand-v6 .v6-footer-brand p { grid-column:auto; }
}

/* ===== V8 responsive quality pass: fixes desktop hero, wrapping and spacing ===== */
.brand-v6 {
  background:
    url('/assets/img/botanical-v6.svg') right -150px top 96px / min(34vw, 420px) auto no-repeat,
    linear-gradient(180deg,#FAF6EC 0%,#F7F0E5 55%,#FAF6EC 100%);
}
.brand-v6 .v6-container,
.brand-v6 .v6-nav,
.brand-v6 .v6-hero-grid {
  width: min(1220px, calc(100% - clamp(32px, 6vw, 96px)));
}
.brand-v6 .v6-nav {
  min-height: 88px;
  gap: clamp(16px, 2vw, 28px);
}
.brand-v6 .v6-brand {
  min-width: 0;
  flex: 0 1 365px;
}
.brand-v6 .v6-brand strong {
  font-size: clamp(2rem, 2.55vw, 2.75rem);
  white-space: nowrap;
}
.brand-v6 .v6-brand em {
  letter-spacing: clamp(.16em, .8vw, .28em);
  white-space: nowrap;
}
.brand-v6 .v6-links {
  flex: 1 1 auto;
  justify-content: flex-end;
  gap: clamp(12px, 1.45vw, 22px);
  white-space: nowrap;
}
.brand-v6 .v6-links a:not(.btn) {
  white-space: nowrap;
}
.brand-v6 .v6-links .btn {
  flex: 0 0 auto;
  padding-inline: clamp(18px, 2vw, 26px);
}
.brand-v6 .v6-hero {
  padding: clamp(28px, 3.4vw, 50px) 0 clamp(40px, 4vw, 64px);
}
.brand-v6 .v6-hero-grid {
  grid-template-columns: minmax(420px, .92fr) minmax(0, 1.08fr);
  gap: clamp(42px, 5vw, 74px);
  align-items: center;
}
.brand-v6 .v6-portrait {
  min-height: unset;
  height: clamp(460px, 39vw, 560px);
  align-self: stretch;
}
.brand-v6 .v6-portrait img {
  height: 100%;
  min-height: unset;
  object-position: center center;
}
.brand-v6 .v6-hero-copy {
  max-width: 640px;
  width: 100%;
  margin-inline: auto;
  padding: clamp(10px, 1.4vw, 20px) 0;
}
.brand-v6 .v6-hero-copy h1 {
  font-size: clamp(4.15rem, 5.3vw, 6.35rem);
  line-height: .96;
  margin-bottom: clamp(18px, 2vw, 24px);
  letter-spacing: .01em;
  overflow-wrap: normal;
  word-break: normal;
  text-wrap: balance;
}
.brand-v6 .v6-role {
  font-size: clamp(.84rem, 1vw, 1.1rem);
  letter-spacing: clamp(.18em, 1.3vw, .36em);
  white-space: nowrap;
  max-width: 100%;
}
.brand-v6 .v6-line {
  margin: 16px auto 22px;
}
.brand-v6 .v6-line span {
  width: min(150px, 24vw);
}
.brand-v6 .v6-intro {
  max-width: 560px;
  margin: 0 auto 24px;
  font-size: clamp(1rem, 1.1vw, 1.14rem);
  line-height: 1.75;
  text-wrap: pretty;
}
.brand-v6 .v6-tags {
  gap: clamp(14px, 2vw, 24px);
  line-height: 1.2;
}
.brand-v6 .v6-tags span,
.brand-v6 .v6-location,
.brand-v6 .btn {
  white-space: nowrap;
}
.brand-v6 .v6-mantra {
  font-size: clamp(2.45rem, 3.2vw, 3.55rem);
  margin-top: 22px;
}
.brand-v6 .v6-card-grid {
  gap: clamp(20px, 3vw, 34px);
}
.brand-v6 .v6-value-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 236px;
  padding: clamp(28px, 2.8vw, 36px) clamp(24px, 2.5vw, 34px);
}
.brand-v6 .v6-value-card h2 {
  min-height: 2.2em;
  display: flex;
  align-items: center;
  justify-content: center;
  text-wrap: balance;
}
.brand-v6 .v6-value-card p {
  line-height: 1.6;
  text-wrap: pretty;
}
.brand-v6 .v6-about-grid {
  grid-template-columns: minmax(330px, .78fr) minmax(0, 1.22fr);
  gap: clamp(36px, 5vw, 64px);
  padding: clamp(18px, 2.2vw, 26px);
}
.brand-v6 .v6-about-copy {
  min-width: 0;
  padding: clamp(14px, 2vw, 30px);
}
.brand-v6 .v6-about-copy h2 {
  font-size: clamp(2rem, 2.45vw, 2.75rem);
  text-wrap: balance;
}
.brand-v6 .v6-about-copy p {
  text-wrap: pretty;
}
.brand-v6 .v6-about-image,
.brand-v6 .v6-about-image img {
  min-height: clamp(330px, 28vw, 390px);
}
.brand-v6 .v6-service-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 24px);
}
.brand-v6 .v6-service {
  min-width: 0;
  min-height: 250px;
  grid-template-columns: 40% 60%;
}
.brand-v6 .v6-service > div {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: clamp(24px, 2.3vw, 30px) clamp(20px, 2vw, 26px) 22px;
}
.brand-v6 .v6-service h3 {
  font-size: clamp(1.42rem, 1.55vw, 1.65rem);
  text-wrap: balance;
}
.brand-v6 .v6-service p {
  flex: 1 1 auto;
  text-wrap: pretty;
}
.brand-v6 .v6-service a {
  margin-top: auto;
  overflow-wrap: anywhere;
}
.brand-v6 .v6-location-inner {
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: clamp(20px, 2.4vw, 34px);
  padding: clamp(26px, 3vw, 36px) clamp(28px, 4vw, 48px);
}
.brand-v6 .v6-location-inner h2 {
  max-width: 720px;
  text-wrap: balance;
}
.brand-v6 .v6-footer-grid {
  gap: clamp(34px, 5vw, 64px);
}
@media (min-width: 1280px) {
  .brand-v6 .v6-hero-copy h1 { white-space: nowrap; }
}
@media (max-width: 1260px) {
  .brand-v6 .v6-container,
  .brand-v6 .v6-nav,
  .brand-v6 .v6-hero-grid {
    width: min(1140px, calc(100% - 44px));
  }
  .brand-v6 .v6-brand { flex-basis: 305px; }
  .brand-v6 .v6-brand strong { font-size: 2.05rem; }
  .brand-v6 .v6-links { gap: 12px; font-size: .76rem; }
  .brand-v6 .v6-links .btn { padding-inline: 18px; letter-spacing: .1em; }
  .brand-v6 .v6-hero-grid { grid-template-columns: minmax(390px, .9fr) minmax(0, 1.1fr); gap: 44px; }
  .brand-v6 .v6-hero-copy h1 { font-size: clamp(3.75rem, 5vw, 5.4rem); }
  .brand-v6 .v6-role { letter-spacing: .22em; font-size: .9rem; }
  .brand-v6 .v6-portrait { height: clamp(430px, 38vw, 510px); }
  .brand-v6 .v6-service { grid-template-columns: 1fr; }
  .brand-v6 .v6-service > img { height: 170px; min-height: 170px; }
}
@media (max-width: 1080px) {
  .brand-v6 .v6-nav { min-height: 76px; width: calc(100% - 32px); }
  .brand-v6 .v6-brand { flex: 1 1 auto; min-width: 0; }
  .brand-v6 .v6-brand img { width: 52px; height: 52px; }
  .brand-v6 .v6-brand strong { font-size: 1.8rem; }
  .brand-v6 .v6-brand em { display: none; }
  .brand-v6 .nav-toggle { display: grid; place-items: center; flex: 0 0 44px; }
  .brand-v6 .v6-links {
    position: fixed;
    inset: 76px 16px auto 16px;
    display: grid;
    grid-template-columns: 1fr;
    justify-content: stretch;
    gap: 0;
    padding: 14px;
    background: rgba(250,246,236,.98);
    border: 1px solid var(--v6-border);
    border-radius: 18px;
    box-shadow: var(--v6-shadow);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
    transition: .2s ease;
    white-space: normal;
  }
  .brand-v6 .v6-links.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); }
  .brand-v6 .v6-links a { padding: 14px 10px; }
  .brand-v6 .v6-links .btn { margin-top: 10px; width: 100%; }
  .brand-v6 .v6-hero-grid,
  .brand-v6 .v6-about-grid,
  .brand-v6 .v6-card-grid,
  .brand-v6 .v6-service-grid,
  .brand-v6 .v6-footer-grid {
    grid-template-columns: 1fr;
  }
  .brand-v6 .v6-hero-grid {
    width: min(760px, calc(100% - 36px));
    gap: 30px;
  }
  .brand-v6 .v6-portrait { height: clamp(400px, 58vw, 520px); }
  .brand-v6 .v6-hero-copy { padding-top: 2px; }
  .brand-v6 .v6-hero-copy h1 { font-size: clamp(4rem, 11vw, 5.8rem); }
  .brand-v6 .v6-role { white-space: normal; letter-spacing: .22em; line-height: 1.75; }
  .brand-v6 .v6-card-grid { width: min(680px, calc(100% - 36px)); }
  .brand-v6 .v6-value-card { min-height: auto; }
  .brand-v6 .v6-value-card h2 { min-height: auto; }
  .brand-v6 .v6-about-grid { width: min(900px, calc(100% - 36px)); }
  .brand-v6 .v6-about-copy { padding: 14px; }
  .brand-v6 .v6-service-grid { width: min(760px, calc(100% - 36px)); margin-inline: auto; }
  .brand-v6 .v6-service { grid-template-columns: 38% 62%; min-height: 220px; }
  .brand-v6 .v6-location-inner { grid-template-columns: 1fr; text-align: center; }
  .brand-v6 .v6-pin { margin: auto; }
  .brand-v6 .v6-location-inner h2 { margin-inline: auto; }
  .brand-v6 .v6-footer-bottom { display: grid; text-align: center; justify-content: center; }
}
@media (max-width: 720px) {
  .brand-v6 { background-size: 260px auto, auto; background-position: right -125px top 78px, 0 0; }
  .brand-v6 .v6-container,
  .brand-v6 .v6-hero-grid,
  .brand-v6 .v6-card-grid,
  .brand-v6 .v6-about-grid,
  .brand-v6 .v6-service-grid {
    width: calc(100% - 28px);
  }
  .brand-v6 .v6-hero { padding-top: 20px; }
  .brand-v6 .v6-portrait { height: clamp(320px, 78vw, 440px); }
  .brand-v6 .v6-hero-copy h1 { font-size: clamp(3.15rem, 14vw, 4.35rem); line-height: .98; margin-bottom: 16px; }
  .brand-v6 .v6-role { font-size: .78rem; letter-spacing: .14em; line-height: 1.8; }
  .brand-v6 .v6-line { gap: 12px; margin: 12px auto 18px; }
  .brand-v6 .v6-line span { width: min(90px, 24vw); }
  .brand-v6 .v6-intro { font-size: 1rem; line-height: 1.68; }
  .brand-v6 .v6-tags { gap: 10px 14px; }
  .brand-v6 .v6-tags span { font-size: .86rem; }
  .brand-v6 .v6-location { white-space: normal; align-items: flex-start; text-align: center; line-height: 1.5; }
  .brand-v6 .v6-hero-copy .btn,
  .brand-v6 .v6-final-cta .btn,
  .brand-v6 .v6-location-inner .btn {
    width: min(100%, 340px);
  }
  .brand-v6 .v6-mantra { font-size: clamp(2rem, 11vw, 3rem); }
  .brand-v6 .v6-values { padding-top: 18px; }
  .brand-v6 .v6-value-card { padding: 28px 22px; }
  .brand-v6 .v6-about-grid { padding: 16px; }
  .brand-v6 .v6-about-copy h2 { font-size: clamp(1.75rem, 8vw, 2.35rem); }
  .brand-v6 .v6-about-image, .brand-v6 .v6-about-image img { min-height: 260px; }
  .brand-v6 .v6-section-title h2 { letter-spacing: .24em; line-height: 1.8; }
  .brand-v6 .v6-service { grid-template-columns: 1fr; }
  .brand-v6 .v6-service > img { height: 190px; min-height: 190px; }
  .brand-v6 .v6-service > div { padding: 26px 22px 24px; }
  .brand-v6 .v6-location-inner { padding: 28px 22px; }
  .brand-v6 .v6-location-inner h2 { font-size: 1.42rem; }
  .brand-v6 .v6-footer-brand { grid-template-columns: 1fr; text-align: center; }
  .brand-v6 .v6-footer-brand img { grid-row: auto; margin: auto; }
  .brand-v6 .v6-footer-brand p { grid-column: auto; }
}
@media (max-width: 420px) {
  .brand-v6 .v6-nav { width: calc(100% - 24px); }
  .brand-v6 .v6-brand strong { font-size: 1.46rem; }
  .brand-v6 .v6-brand img { width: 46px; height: 46px; }
  .brand-v6 .v6-hero-copy h1 { font-size: 3.05rem; }
  .brand-v6 .v6-role { font-size: .72rem; letter-spacing: .1em; }
  .brand-v6 .btn { letter-spacing: .08em; padding-inline: 16px; }
  .brand-v6 .v6-tags { justify-content: center; }
}

/* ===== Section order update: values with photo ===== */
.brand-v6 .v6-values-layout {
  width: min(1080px, calc(100% - clamp(32px, 7vw, 96px)));
  display: grid;
  grid-template-columns: minmax(280px, .48fr) minmax(0, 1.05fr);
  gap: clamp(24px, 3.4vw, 44px);
  align-items: stretch;
  margin-inline: auto;
}
.brand-v6 .v6-values-layout .v6-card-grid {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr;
  align-content: stretch;
  gap: clamp(12px, 1.3vw, 16px);
}
.brand-v6 .v6-values-layout .v6-value-card {
  min-height: 0;
  display: grid;
  grid-template-columns: 48px 1fr;
  grid-template-areas:
    "icon title"
    "icon heart"
    "icon text";
  column-gap: 18px;
  align-items: center;
  text-align: left;
  padding: clamp(17px, 1.8vw, 22px);
}
.brand-v6 .v6-values-layout .v6-icon {
  grid-area: icon;
  width: 46px;
  height: 46px;
  margin: 0;
}
.brand-v6 .v6-values-layout .v6-value-card h2 {
  grid-area: title;
  min-height: 0;
  justify-content: flex-start;
  font-size: clamp(1.18rem, 1.36vw, 1.38rem);
  line-height: 1.16;
  margin: 0 0 4px;
}
.brand-v6 .v6-values-layout .v6-value-card b {
  grid-area: heart;
  margin: 0 0 8px;
}
.brand-v6 .v6-values-layout .v6-value-card p {
  grid-area: text;
  max-width: none;
  margin: 0;
  font-size: .84rem;
  line-height: 1.55;
}
.brand-v6 .v6-values-photo {
  position: relative;
  min-height: 100%;
  border-radius: 9px;
  overflow: hidden;
  box-shadow: var(--v6-shadow);
  border: 1px solid rgba(62,61,42,.11);
}
.brand-v6 .v6-values-photo::after {
  content: "";
  position: absolute;
  right: -90px;
  bottom: -105px;
  width: 280px;
  height: 350px;
  background: url('/assets/img/botanical-v6.svg') center/contain no-repeat;
  opacity: .5;
  pointer-events: none;
}
.brand-v6 .v6-values-photo img {
  width: 100%;
  height: 100%;
  min-height: clamp(420px, 34vw, 510px);
  display: block;
  object-fit: cover;
  filter: sepia(.12) saturate(.86) brightness(1.05);
}
@media (max-width: 1080px) {
  .brand-v6 .v6-values-layout {
    width: min(760px, calc(100% - 36px));
    grid-template-columns: 1fr;
  }
  .brand-v6 .v6-values-layout .v6-card-grid {
    width: 100%;
    grid-template-columns: 1fr;
  }
  .brand-v6 .v6-values-layout .v6-value-card {
    grid-template-columns: 58px 1fr;
  }
  .brand-v6 .v6-values-photo img {
    min-height: clamp(300px, 52vw, 430px);
  }
}
@media (max-width: 720px) {
  .brand-v6 .v6-values-layout {
    width: calc(100% - 28px);
    gap: 20px;
  }
  .brand-v6 .v6-values-photo img {
    min-height: 260px;
  }
}
@media (max-width: 520px) {
  .brand-v6 .v6-values-layout .v6-value-card {
    grid-template-columns: 1fr;
    grid-template-areas:
      "icon"
      "title"
      "heart"
      "text";
    justify-items: center;
    text-align: center;
  }
  .brand-v6 .v6-values-layout .v6-icon {
    margin-bottom: 12px;
  }
  .brand-v6 .v6-values-layout .v6-value-card h2 {
    justify-content: center;
  }
}

/* ===== Identity and button polish from browser review ===== */
.brand-v6 .v6-identity {
  display: inline-grid;
  width: fit-content;
  max-width: 100%;
  min-width: 0;
  justify-items: center;
}
.brand-v6 .v6-identity > strong,
.brand-v6 .v6-identity > h1 {
  width: auto;
  text-align: center;
}
.brand-v6 .v6-role-line {
  display: block !important;
  width: auto;
  max-width: 100%;
  white-space: nowrap;
  text-align: center;
}
.brand-v6 .v6-role-line span {
  display: inline !important;
}
.brand-v6 .v6-role-line span + span {
  margin-left: .9em;
}
.brand-v6 .v6-identity-nav .v6-role-line,
.brand-v6 .v6-identity-footer .v6-role-line {
  letter-spacing: .28em;
}
.brand-v6 .v6-identity-nav strong {
  color: #494832;
  font-size: clamp(1.72rem, 2.2vw, 1.9rem);
}
.brand-v6 .v6-identity-nav .v6-role-line {
  color: rgba(109, 96, 79, .86);
  font-size: .64rem;
  letter-spacing: .25em;
}
.brand-v6 .v6-identity-hero {
  margin-inline: auto;
}
.brand-v6 .v6-identity-hero h1 {
  font-size: clamp(2.42rem, 3.1vw, 2.62rem);
  margin-bottom: clamp(16px, 1.8vw, 22px);
  white-space: nowrap;
}
.brand-v6 .v6-identity-hero .v6-role-line {
  margin-bottom: 0;
  font-size: clamp(.82rem, .95vw, 1.02rem);
  letter-spacing: clamp(.22em, .55vw, .32em);
  line-height: 1.5;
}
.brand-v6 .v6-footer-brand .v6-identity-footer {
  grid-column: 2;
}
.brand-v6 .v6-identity-footer strong {
  font-size: 2.06rem;
}
.brand-v6 .v6-footer-brand p {
  grid-column: auto;
  width: 100%;
  color: rgba(255, 253, 247, .68);
  font-size: 1.55rem;
  text-align: center;
  justify-self: center;
}
.brand-v6 .v6-footer .v6-role-line span {
  display: inline;
  color: inherit;
  font-size: inherit;
  margin-top: 0;
  margin-bottom: 0;
}
.brand-v6 .v6-footer .v6-role-line span + span {
  margin-left: .9em;
}
.brand-v6 .btn {
  min-height: 44px;
  padding: 12px 18px;
  border-radius: 10px;
  font-size: .76rem;
  font-weight: 750;
  letter-spacing: .1em;
  gap: 9px;
}
.brand-v6 .btn svg {
  width: 16px;
  height: 16px;
}
.brand-v6 .btn-primary {
  background: #5B4C35 !important;
  color: #FFFDF7 !important;
  border-color: rgba(196, 164, 79, .28) !important;
  box-shadow: 0 10px 22px rgba(91, 76, 53, .13) !important;
}
.brand-v6 .btn-primary:hover {
  background: #4D402D !important;
  color: #FFFDF7 !important;
  box-shadow: 0 12px 26px rgba(91, 76, 53, .17) !important;
  transform: translateY(-1px);
}
.brand-v6 .btn-secondary {
  border-color: rgba(62, 61, 42, .42) !important;
}
.brand-v6 .site-header .btn {
  min-height: 42px;
  padding: 11px 17px;
  border-radius: 9px;
  font-size: .74rem;
}
@media (max-width: 1080px) {
  .brand-v6 .v6-identity-nav strong {
    font-size: clamp(1.35rem, 4.1vw, 1.62rem);
  }
  .brand-v6 .v6-identity-nav .v6-role-line {
    display: none !important;
  }
  .brand-v6 .v6-identity-hero h1 {
    font-size: clamp(2.48rem, 5.2vw, 2.52rem);
    white-space: nowrap;
  }
  .brand-v6 .v6-identity-hero .v6-role-line {
    white-space: nowrap;
  }
}
@media (max-width: 720px) {
  .brand-v6 .v6-identity-hero {
    width: fit-content;
    max-width: 100%;
  }
  .brand-v6 .v6-identity-hero h1 {
    font-size: clamp(2rem, 5.5vw, 2.25rem);
  }
  .brand-v6 .v6-identity-hero .v6-role-line {
    font-size: .74rem;
    letter-spacing: .16em;
  }
  .brand-v6 .v6-hero-copy .btn,
  .brand-v6 .v6-final-cta .btn,
  .brand-v6 .v6-location-inner .btn {
    width: auto;
    max-width: 100%;
  }
}
@media (max-width: 620px) {
  .brand-v6 .v6-footer-brand .v6-identity-footer {
    grid-column: auto;
    margin-inline: auto;
  }
}
@media (max-width: 420px) {
  .brand-v6 .v6-identity-nav strong {
    font-size: clamp(1.05rem, 5vw, 1.26rem);
  }
  .brand-v6 .v6-identity-footer strong {
    font-size: clamp(1.65rem, 7.1vw, 1.8rem);
  }
  .brand-v6 .v6-identity-footer .v6-role-line {
    font-size: .72rem;
    letter-spacing: .12em;
  }
  .brand-v6 .v6-identity-hero h1 {
    font-size: clamp(1.7rem, 7.1vw, 1.95rem);
  }
  .brand-v6 .v6-identity-hero .v6-role-line {
    font-size: .72rem;
    letter-spacing: .12em;
  }
  .brand-v6 .v6-role-line span + span {
    margin-left: .45em;
  }
}
@media (min-width: 1081px) {
  .brand-v6 .v6-brand {
    flex: 0 0 auto;
  }
}

/* ===== Brand v6 inner pages ===== */
.brand-v6 .v6-page-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(52px, 6vw, 88px) 0 clamp(34px, 5vw, 64px);
}
.brand-v6 .v6-page-hero::after {
  content: "";
  position: absolute;
  right: -92px;
  top: 24px;
  width: min(330px, 42vw);
  height: 420px;
  background: url('/assets/img/botanical-v6.svg') center/contain no-repeat;
  opacity: .42;
  pointer-events: none;
}
.brand-v6 .v6-page-hero-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(280px, .58fr);
  gap: clamp(32px, 6vw, 76px);
  align-items: center;
}
.brand-v6 .v6-page-hero-inner.is-simple {
  display: block;
  max-width: 900px;
  text-align: center;
}
.brand-v6 .v6-breadcrumb {
  margin: 0 0 18px;
  font: 700 .76rem/1.3 "Inter", system-ui, sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(109, 96, 79, .78);
}
.brand-v6 .v6-breadcrumb a {
  color: var(--v6-olive);
}
.brand-v6 .v6-page-kicker {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  color: var(--v6-brown);
  font: 800 .76rem/1.1 "Inter", system-ui, sans-serif;
  letter-spacing: .28em;
  text-transform: uppercase;
}
.brand-v6 .v6-page-kicker::after {
  content: "♥";
  color: var(--v6-gold);
  letter-spacing: 0;
}
.brand-v6 .v6-page-title {
  margin: 0;
  color: var(--v6-olive);
  font-family: "Lora", Georgia, serif;
  font-size: clamp(2.55rem, 5.2vw, 4.75rem);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.brand-v6 .v6-page-lead {
  max-width: 760px;
  margin: 24px 0 0;
  color: var(--v6-ink);
  font-size: clamp(1.02rem, 1.25vw, 1.22rem);
  line-height: 1.78;
  text-wrap: pretty;
}
.brand-v6 .is-simple .v6-page-lead {
  margin-inline: auto;
}
.brand-v6 .v6-page-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}
.brand-v6 .is-simple .v6-page-actions {
  justify-content: center;
}
.brand-v6 .v6-page-photo {
  position: relative;
  overflow: hidden;
  border-radius: 9px;
  border: 1px solid rgba(62, 61, 42, .12);
  box-shadow: var(--v6-shadow);
  background: rgba(255, 253, 247, .44);
}
.brand-v6 .v6-page-photo::after {
  content: "";
  position: absolute;
  right: -76px;
  bottom: -110px;
  width: 260px;
  height: 340px;
  background: url('/assets/img/botanical-v6.svg') center/contain no-repeat;
  opacity: .58;
  pointer-events: none;
}
.brand-v6 .v6-page-photo img {
  display: block;
  width: 100%;
  height: clamp(320px, 34vw, 470px);
  object-fit: cover;
  filter: sepia(.12) saturate(.88) brightness(1.05);
}
.brand-v6 .v6-page-section {
  position: relative;
  padding: clamp(42px, 6vw, 78px) 0;
}
.brand-v6 .v6-page-section.is-soft {
  background: linear-gradient(90deg, rgba(250,246,236,.34), rgba(232,225,207,.44), rgba(250,246,236,.34));
  border-top: 1px solid rgba(62,61,42,.08);
  border-bottom: 1px solid rgba(62,61,42,.08);
}
.brand-v6 .v6-page-grid,
.brand-v6 .v6-two-column {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 34px);
  align-items: start;
}
.brand-v6 .v6-two-column.is-centered {
  align-items: center;
}
.brand-v6 .v6-panel,
.brand-v6 .v6-info-card,
.brand-v6 .v6-form-card,
.brand-v6 .v6-cta-panel {
  position: relative;
  background: rgba(255, 253, 247, .58);
  border: 1px solid rgba(62, 61, 42, .12);
  border-radius: 9px;
  box-shadow: 0 12px 36px rgba(62, 61, 42, .045);
}
.brand-v6 .v6-panel,
.brand-v6 .v6-info-card,
.brand-v6 .v6-form-card {
  padding: clamp(24px, 3.2vw, 38px);
  min-width: 0;
}
.brand-v6 .v6-panel h2,
.brand-v6 .v6-panel h3,
.brand-v6 .v6-info-card h2,
.brand-v6 .v6-info-card h3,
.brand-v6 .v6-form-card h2,
.brand-v6 .v6-cta-panel h2 {
  margin: 0;
  color: var(--v6-olive);
  font-family: "Lora", Georgia, serif;
  font-weight: 500;
  letter-spacing: -.025em;
  line-height: 1.18;
}
.brand-v6 .v6-panel h2,
.brand-v6 .v6-form-card h2,
.brand-v6 .v6-cta-panel h2 {
  font-size: clamp(2rem, 3.2vw, 3rem);
}
.brand-v6 .v6-panel h3,
.brand-v6 .v6-info-card h3 {
  font-size: clamp(1.35rem, 2vw, 1.75rem);
}
.brand-v6 .v6-panel p,
.brand-v6 .v6-info-card p,
.brand-v6 .v6-form-card p,
.brand-v6 .v6-cta-panel p {
  color: var(--v6-muted);
  line-height: 1.72;
}
.brand-v6 .v6-panel p + p {
  margin-top: 16px;
}
.brand-v6 .v6-info-card {
  min-height: 100%;
}
.brand-v6 .v6-info-card .v6-icon {
  margin: 0 0 18px;
}
.brand-v6 .v6-detail-list {
  display: grid;
  gap: 13px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}
.brand-v6 .v6-detail-list li {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 12px;
  color: var(--v6-muted);
  line-height: 1.62;
}
.brand-v6 .v6-detail-list li::before {
  content: "♥";
  color: var(--v6-gold);
  font-size: .8rem;
  line-height: 1.8;
}
.brand-v6 .v6-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 24px);
}
.brand-v6 .v6-two-column .v6-feature-grid {
  grid-template-columns: 1fr;
}
.brand-v6 .v6-page-grid > *,
.brand-v6 .v6-two-column > *,
.brand-v6 .v6-feature-grid > * {
  min-width: 0;
}
.brand-v6 .v6-price {
  margin-top: 24px;
  display: inline-grid;
  gap: 6px;
  color: var(--v6-olive);
}
.brand-v6 .v6-price strong {
  font: 500 clamp(2.45rem, 4vw, 3.75rem)/1 "Lora", Georgia, serif;
  letter-spacing: -.045em;
}
.brand-v6 .v6-price span {
  color: var(--v6-muted);
  font: 700 .78rem/1.4 "Inter", system-ui, sans-serif;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.brand-v6 .v6-contact-links {
  display: grid;
  gap: 14px;
}
.brand-v6 .v6-contact-link {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 16px;
  border: 1px solid rgba(62,61,42,.11);
  border-radius: 9px;
  background: rgba(250,246,236,.58);
}
.brand-v6 .v6-contact-link:hover {
  color: var(--v6-olive);
  border-color: rgba(196,164,79,.42);
  background: rgba(255,253,247,.72);
}
.brand-v6 .v6-contact-link .v6-icon {
  width: 48px;
  height: 48px;
  margin: 0;
}
.brand-v6 .v6-contact-link strong {
  display: block;
  color: var(--v6-olive);
  font: 800 .74rem/1.2 "Inter", system-ui, sans-serif;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.brand-v6 .v6-contact-link span {
  display: block;
  margin-top: 4px;
  color: var(--v6-muted);
  overflow-wrap: anywhere;
}
.brand-v6 .form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.brand-v6 .form-field {
  display: grid;
  gap: 8px;
}
.brand-v6 .form-field.full {
  grid-column: 1 / -1;
}
.brand-v6 label {
  color: var(--v6-olive);
  font: 800 .74rem/1.2 "Inter", system-ui, sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.brand-v6 input,
.brand-v6 textarea,
.brand-v6 select {
  width: 100%;
  border: 1px solid rgba(62,61,42,.16);
  border-radius: 9px;
  background: rgba(255,253,247,.74);
  padding: 13px 14px;
  color: var(--v6-ink);
  font: 500 .95rem/1.4 "Inter", system-ui, sans-serif;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.brand-v6 textarea {
  min-height: 146px;
  resize: vertical;
}
.brand-v6 input:focus,
.brand-v6 textarea:focus,
.brand-v6 select:focus {
  outline: none;
  border-color: rgba(196,164,79,.7);
  box-shadow: 0 0 0 4px rgba(196,164,79,.18);
  background: #fffdf7;
}
.brand-v6 [aria-invalid="true"] {
  border-color: #9b4f47;
}
.brand-v6 .form-note,
.brand-v6 .v6-note {
  padding: 15px 16px;
  border-radius: 9px;
  background: rgba(232,225,207,.52);
  border: 1px solid rgba(62,61,42,.1);
  color: var(--v6-muted);
  font-size: .92rem;
  line-height: 1.62;
}
.brand-v6 .form-status {
  min-height: 24px;
  margin: 14px 0 0;
  color: var(--v6-olive);
  font: 700 .92rem/1.45 "Inter", system-ui, sans-serif;
}
.brand-v6 .form-status.error {
  color: #9b4f47;
}
.brand-v6 .honeypot {
  position: absolute;
  left: -5000px;
  visibility: hidden;
}
.brand-v6 .v6-map-card {
  display: grid;
  gap: 18px;
}
.brand-v6 .v6-map-placeholder {
  min-height: 190px;
  display: grid;
  place-items: center;
  padding: 22px;
  text-align: center;
  border-radius: 9px;
  border: 1px dashed rgba(62,61,42,.18);
  background:
    url('/assets/img/botanical-v6.svg') right -60px bottom -92px / 210px auto no-repeat,
    rgba(250,246,236,.62);
}
.brand-v6 .v6-map-placeholder .btn {
  white-space: normal;
}
.brand-v6 .v6-cta-panel {
  overflow: hidden;
  padding: clamp(34px, 6vw, 64px);
  text-align: center;
}
.brand-v6 .v6-cta-panel::after {
  content: "";
  position: absolute;
  right: -92px;
  bottom: -130px;
  width: 310px;
  height: 380px;
  background: url('/assets/img/botanical-v6.svg') center/contain no-repeat;
  opacity: .38;
  pointer-events: none;
}
.brand-v6 .v6-cta-panel > * {
  position: relative;
  z-index: 1;
}
.brand-v6 .v6-cta-panel p {
  max-width: 720px;
  margin: 18px auto 0;
}
.brand-v6 .v6-cta-panel .btn {
  margin-top: 26px;
}
.brand-v6 .v6-legal-prose {
  max-width: 920px;
  margin-inline: auto;
}
.brand-v6 .v6-legal-prose .v6-panel + .v6-panel {
  margin-top: 18px;
}
.brand-v6 .v6-legal-prose h2 {
  font-size: clamp(1.45rem, 2vw, 1.9rem);
}
.brand-v6 .v6-legal-prose p,
.brand-v6 .v6-legal-prose li {
  color: var(--v6-muted);
  line-height: 1.72;
}
.brand-v6 .v6-legal-prose ul {
  margin: 16px 0 0;
  padding-left: 1.1rem;
}
.brand-v6 .v6-footer-note {
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,253,247,.12);
  color: rgba(255,253,247,.58);
  font-size: .82rem;
  line-height: 1.6;
}
.brand-v6 .v6-footer-bottom > span {
  display: block;
  margin: 0;
  color: inherit;
  font-size: inherit;
}
.brand-v6 .v6-footer-bottom a {
  display: inline;
  margin: 0;
  color: inherit;
  font-size: inherit;
}

/* ===== Homepage review polish ===== */
.brand-v6 .v6-hero,
.brand-v6 .v6-services {
  isolation: isolate;
}
.brand-v6 .v6-hero::before,
.brand-v6 .v6-services::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(250,246,236,.76) 0%, rgba(250,246,236,.58) 45%, rgba(250,246,236,.78) 100%),
    url('/assets/img/hero-forest-path.jpg') center / cover no-repeat;
  opacity: 1;
  filter: sepia(.06) saturate(.9) brightness(1.04);
}
.brand-v6 .v6-hero::before {
  transform: scaleX(-1);
}
.brand-v6 .v6-hero::before {
  background:
    linear-gradient(90deg, rgba(250,246,236,.39) 0%, rgba(250,246,236,.28) 45%, rgba(250,246,236,.38) 100%),
    linear-gradient(180deg, rgba(250,246,236,.06) 0%, rgba(250,246,236,.24) 100%),
    url('/assets/img/hero-forest-path.jpg') center 48% / cover no-repeat;
  opacity: 1;
}
.brand-v6 .v6-services {
  position: relative;
  overflow: hidden;
}
.brand-v6 .v6-services::before {
  background:
    linear-gradient(180deg, rgba(250,246,236,.7) 0%, rgba(250,246,236,.6) 48%, rgba(250,246,236,.72) 100%),
    url('/assets/img/services-forest-ferns.jpg') center 52% / cover no-repeat;
  opacity: 1;
}
.brand-v6 .v6-hero-grid,
.brand-v6 .v6-services .v6-container {
  position: relative;
  z-index: 1;
}
.brand-v6 .v6-hero::after {
  z-index: 0;
}
.brand-v6 .v6-hero-copy > .btn {
  margin: 0 auto;
}
.brand-v6 .v6-emdr {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: fit-content;
  margin: -10px auto 12px;
  color: var(--v6-muted);
  font: 700 .88rem/1 "Inter", system-ui, sans-serif;
}
.brand-v6 .v6-emdr::before {
  content: "";
  width: 15px;
  height: 15px;
  color: var(--v6-gold);
  background: currentColor;
  -webkit-mask: url('/assets/img/brand-leaf-v6.svg') center/contain no-repeat;
  mask: url('/assets/img/brand-leaf-v6.svg') center/contain no-repeat;
}
.brand-v6 .v6-hero-copy .v6-location {
  display: flex;
  width: fit-content;
  margin: 0 auto 26px;
}
.brand-v6 .v6-service a {
  display: inline-flex;
  align-items: center;
  gap: .42em;
  width: fit-content;
  max-width: 100%;
  white-space: nowrap;
  overflow-wrap: normal;
}
.brand-v6 .v6-footer-note {
  margin-top: 8px;
  padding-top: 0;
  border-top: 0;
}
@media (max-width: 720px) {
  .brand-v6 .v6-hero::before {
    background:
      linear-gradient(180deg, rgba(250,246,236,.21) 0%, rgba(250,246,236,.31) 58%, rgba(250,246,236,.39) 100%),
      url('/assets/img/hero-forest-path.jpg') center top / cover no-repeat;
    opacity: 1;
  }
  .brand-v6 .v6-services::before {
    background:
      linear-gradient(180deg, rgba(250,246,236,.7) 0%, rgba(250,246,236,.6) 48%, rgba(250,246,236,.72) 100%),
      url('/assets/img/services-forest-ferns.jpg') center 52% / cover no-repeat;
    opacity: 1;
  }
  .brand-v6 .v6-hero-copy > .btn {
    margin-bottom: 0;
  }
  .brand-v6 .v6-emdr {
    margin-top: -6px;
    margin-bottom: 12px;
  }
}
@media (max-width: 720px) {
  .brand-v6 .v6-hero {
    padding-top: 0;
  }
  .brand-v6 .v6-hero-grid {
    width: 100%;
    gap: 0;
  }
  .brand-v6 .v6-portrait {
    width: 100%;
    height: clamp(360px, 112vw, 520px);
    border-radius: 0;
    box-shadow: none;
  }
  .brand-v6 .v6-portrait::after {
    display: none;
  }
  .brand-v6 .v6-portrait img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-position: center top;
  }
  .brand-v6 .v6-hero-copy {
    width: calc(100% - 28px);
    margin-inline: auto;
    padding-top: 28px;
  }
}
@media (max-width: 1080px) {
  .brand-v6 .v6-page-hero-inner,
  .brand-v6 .v6-two-column,
  .brand-v6 .v6-page-grid,
  .brand-v6 .v6-feature-grid {
    grid-template-columns: 1fr;
  }
  .brand-v6 .v6-page-hero-inner {
    width: min(760px, calc(100% - 36px));
    margin-inline: auto;
  }
  .brand-v6 .v6-page-photo img {
    height: clamp(300px, 54vw, 430px);
  }
}
@media (max-width: 720px) {
  .brand-v6 .v6-page-hero {
    padding: 38px 0 34px;
  }
  .brand-v6 .v6-page-hero::after {
    right: -142px;
    top: 24px;
    width: 280px;
  }
  .brand-v6 .v6-page-hero-inner {
    width: calc(100% - 28px);
    gap: 24px;
  }
  .brand-v6 .v6-page-title {
    font-size: clamp(2.2rem, 12vw, 3.25rem);
  }
  .brand-v6 .v6-page-photo::after {
    display: none;
  }
  .brand-v6 .v6-page-lead {
    font-size: 1rem;
    line-height: 1.68;
  }
  .brand-v6 .v6-page-actions,
  .brand-v6 .is-simple .v6-page-actions {
    display: grid;
    justify-content: stretch;
  }
  .brand-v6 .v6-page-actions .btn {
    width: 100%;
  }
  .brand-v6 .form-grid {
    grid-template-columns: 1fr;
  }
  .brand-v6 .v6-panel,
  .brand-v6 .v6-info-card,
  .brand-v6 .v6-form-card,
  .brand-v6 .v6-cta-panel {
    padding: 24px 22px;
  }
  .brand-v6 .v6-contact-link {
    grid-template-columns: 42px minmax(0, 1fr);
    padding: 14px;
  }
  .brand-v6 .v6-contact-link .v6-icon {
    width: 42px;
    height: 42px;
  }
}

/* ===== Cleaner photo-led polish ===== */
.brand-v6 {
  background: linear-gradient(180deg, #FAF6EC 0%, #F7F0E5 55%, #FAF6EC 100%) !important;
}
.brand-v6 .v6-brand > img,
.brand-v6 .v6-footer-brand > img {
  display: none !important;
}
.brand-v6 .v6-brand {
  min-width: 0 !important;
  flex-basis: auto !important;
  gap: 0 !important;
}
.brand-v6 .v6-footer-brand {
  grid-template-columns: 1fr !important;
}
.brand-v6 .v6-footer-brand .v6-identity-footer {
  grid-column: auto !important;
}
.brand-v6 .v6-brand strong,
.brand-v6 .v6-footer-brand strong,
.brand-v6 .v6-identity > strong,
.brand-v6 .v6-identity > h1,
.brand-v6 .v6-hero-copy h1 {
  font-family: "Birthstone", "Caveat", "Segoe Print", cursive !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}
.brand-v6 .v6-identity-hero h1 {
  font-size: clamp(2.78rem, 3.7vw, 3.25rem);
  line-height: .95;
}
.brand-v6 .v6-identity-nav strong {
  font-size: clamp(2rem, 2.65vw, 2.28rem);
  line-height: .82;
}
.brand-v6 .v6-identity-footer strong {
  font-size: 2.45rem;
}
.brand-v6 .v6-service,
.brand-v6 .v6-service > div {
  background: #FFFDF7 !important;
}
.brand-v6 .v6-hero::after,
.brand-v6 .v6-portrait::after,
.brand-v6 .v6-values::after,
.brand-v6 .v6-values-photo::after,
.brand-v6 .v6-about-image::after,
.brand-v6 .v6-location-inner::after,
.brand-v6 .v6-final-cta::before,
.brand-v6 .v6-page-hero::after,
.brand-v6 .v6-page-photo::after,
.brand-v6 .v6-cta-panel::after {
  content: none !important;
  display: none !important;
  background: none !important;
}
.brand-v6 .v6-map-placeholder {
  background: rgba(250,246,236,.72) !important;
}
@media (max-width: 720px) {
  .brand-v6 .v6-identity-hero h1 {
    font-size: clamp(2.25rem, 9vw, 2.7rem);
  }
  .brand-v6 .v6-identity-nav strong {
    font-size: clamp(1.42rem, 6.8vw, 1.78rem);
  }
}
@media (max-width: 420px) {
  .brand-v6 .v6-identity-hero h1 {
    font-size: clamp(2rem, 9.4vw, 2.3rem);
  }
  .brand-v6 .v6-identity-nav strong {
    font-size: clamp(1.28rem, 6.4vw, 1.48rem);
  }
}

/* ===== Brand color and hero readability lock ===== */
.brand-v6 {
  --v6-brand: #46462B;
  --v6-olive: var(--v6-brand);
  --v6-ink: #2F3020;
  --v6-border: rgba(70,70,43,.16);
  --v6-shadow: 0 18px 50px rgba(70,70,43,.09);
}
.brand-v6 .v6-hero-copy,
.brand-v6 .v6-hero-copy h1,
.brand-v6 .v6-hero-copy .v6-role,
.brand-v6 .v6-hero-copy .v6-intro,
.brand-v6 .v6-hero-copy .v6-tags,
.brand-v6 .v6-hero-copy .v6-emdr,
.brand-v6 .v6-hero-copy .v6-location {
  color: var(--v6-brand) !important;
}
.brand-v6 .v6-hero-copy {
  text-shadow:
    0 1px 14px rgba(250,246,236,.88),
    0 0 2px rgba(250,246,236,.72);
}
.brand-v6 .v6-identity-nav strong,
.brand-v6 .v6-identity-footer strong,
.brand-v6 .v6-value-card h2,
.brand-v6 .v6-service h3,
.brand-v6 .v6-about-copy h2,
.brand-v6 .v6-location-inner h2,
.brand-v6 .v6-final-cta h2,
.brand-v6 .v6-page-title,
.brand-v6 .v6-page-copy h2 {
  color: var(--v6-brand) !important;
}
.brand-v6 .btn-primary {
  background: var(--v6-brand) !important;
  border-color: var(--v6-brand) !important;
  color: #FFFDF7 !important;
  box-shadow: 0 10px 22px rgba(70,70,43,.16) !important;
}
.brand-v6 .btn-primary:hover {
  background: #383822 !important;
  border-color: #383822 !important;
  color: #FFFDF7 !important;
}
.brand-v6 .btn-secondary {
  color: var(--v6-brand) !important;
  border-color: var(--v6-brand) !important;
}
.brand-v6 .v6-hero::before {
  background:
    linear-gradient(180deg, rgba(250,246,236,.46) 0%, rgba(250,246,236,.64) 54%, rgba(250,246,236,.78) 100%),
    url('/assets/img/hero-forest-path.jpg') 58% 42% / cover no-repeat !important;
}
.brand-v6 .v6-hero-copy {
  text-shadow:
    0 1px 18px rgba(250,246,236,.95),
    0 0 3px rgba(250,246,236,.86);
}
.brand-v6 .v6-identity-hero h1 {
  font-size: clamp(2.86rem, 4.6vw, 4.25rem) !important;
  line-height: .9;
  margin-bottom: 16px;
  white-space: normal;
  text-wrap: balance;
}
.brand-v6 .v6-identity-hero .v6-role-line {
  font-size: clamp(.82rem, 1vw, 1rem);
  letter-spacing: clamp(.13em, .45vw, .24em);
  line-height: 1.55;
}
.brand-v6 .v6-intro {
  font-size: clamp(1.14rem, 1.2vw, 1.3rem);
  line-height: 1.55;
  margin-bottom: 24px;
}
.brand-v6 .v6-tags {
  gap: 12px 16px;
  margin-bottom: 22px;
}
.brand-v6 .v6-tags span {
  font-size: clamp(.95rem, .95vw, 1.02rem);
  line-height: 1.3;
}
.brand-v6 .v6-emdr {
  font-size: .98rem;
}
.brand-v6 .v6-hero-copy .v6-location {
  font-size: clamp(1.02rem, 1.05vw, 1.12rem);
  line-height: 1.45;
  margin-bottom: 24px;
}

/* ===== Unified gentle reveal ===== */
html.js .brand-v6 .motion-reveal,
html.js .brand-v6 .section-reveal,
html.js .brand-v6 .block-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity 920ms ease,
    transform 920ms ease;
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}
html.js .brand-v6 .motion-reveal.is-visible,
html.js .brand-v6 .section-reveal.is-visible,
html.js .brand-v6 .block-reveal.is-visible {
  opacity: 1;
  transform: none;
  will-change: auto;
}
html.js .brand-v6 .reveal {
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity 920ms ease,
    transform 920ms ease;
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}
html.js .brand-v6 .v6-hero-copy.reveal,
html.js .brand-v6 .v6-section-title.reveal,
html.js .brand-v6 .v6-about-copy.reveal,
html.js .brand-v6 .v6-final-cta .reveal,
html.js .brand-v6 .reveal.motion-text-up {
  transform: translateY(30px);
}
html.js .brand-v6 .v6-portrait.reveal,
html.js .brand-v6 .v6-values-photo.reveal,
html.js .brand-v6 .v6-about-image.reveal,
html.js .brand-v6 .reveal.motion-fly-right {
  transform: translateY(30px);
  transition:
    opacity 920ms ease,
    transform 920ms ease;
  transition-delay: var(--reveal-delay, 0ms);
}
html.js .brand-v6 .v6-value-card.reveal,
html.js .brand-v6 .v6-service.reveal,
html.js .brand-v6 .v6-location-inner.reveal,
html.js .brand-v6 .reveal.motion-pop,
html.js .brand-v6 .reveal.motion-panel-card {
  transform: translateY(30px);
}
html.js .brand-v6 .reveal.is-visible {
  opacity: 1;
  transform: none;
  will-change: auto;
}
html.js .brand-v6 .reveal.delay-1 { transition-delay: var(--reveal-delay, .06s); }
html.js .brand-v6 .reveal.delay-2 { transition-delay: var(--reveal-delay, .12s); }
html.js .brand-v6 .reveal.delay-3 { transition-delay: var(--reveal-delay, .18s); }
@media (max-width: 720px) {
  html.js .brand-v6 .reveal.motion-text-up {
    transform: translateY(30px);
  }
  html.js .brand-v6 .reveal.motion-fly-right {
    transform: translateY(30px);
  }
  html.js .brand-v6 .reveal.is-visible {
    transform: none;
  }
}

/* Removed old fast hover prototype. v21 final clean hover system below controls all hover timing. */

@media (prefers-reduced-motion: reduce) {
  :root:not(.motion-forced).js .brand-v6 .motion-reveal,
  :root:not(.motion-forced).js .brand-v6 .motion-reveal.is-visible,
  :root:not(.motion-forced).js .brand-v6 .section-reveal,
  :root:not(.motion-forced).js .brand-v6 .section-reveal.is-visible,
  :root:not(.motion-forced).js .brand-v6 .block-reveal,
  :root:not(.motion-forced).js .brand-v6 .block-reveal.is-visible,
  :root:not(.motion-forced).js .brand-v6 .reveal,
  :root:not(.motion-forced).js .brand-v6 .reveal.is-visible {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
  .brand-v6 .site-header.v6-header,
  .brand-v6 .btn,
  .brand-v6 .v6-value-card,
  .brand-v6 .v6-service,
  .brand-v6 .v6-service > img,
  .brand-v6 .v6-portrait,
  .brand-v6 .v6-values-photo,
  .brand-v6 .v6-about-image,
  .brand-v6 .v6-tags span,
  .brand-v6 .v6-icon,
  .brand-v6 .v6-service-icon {
    transition: none !important;
  }
}

/* ===== Mobile hero readability polish ===== */
@media (max-width: 720px) {
  .brand-v6 .v6-hero::before {
    background:
      linear-gradient(180deg, rgba(250,246,236,.46) 0%, rgba(250,246,236,.64) 54%, rgba(250,246,236,.78) 100%),
      url('/assets/img/hero-forest-path.jpg') 58% 42% / cover no-repeat;
  }
  .brand-v6 .v6-hero-copy {
    width: min(100% - 32px, 440px);
    padding-top: 34px;
    padding-bottom: 8px;
    text-shadow:
      0 1px 18px rgba(250,246,236,.95),
      0 0 3px rgba(250,246,236,.86);
  }
  .brand-v6 .v6-identity-hero h1 {
    font-size: clamp(2.86rem, 13vw, 3.85rem) !important;
    line-height: .9;
    margin-bottom: 16px;
    white-space: normal;
    text-wrap: balance;
  }
  .brand-v6 .v6-identity-hero .v6-role-line {
    font-size: clamp(.82rem, 3.2vw, .96rem);
    letter-spacing: .13em;
    line-height: 1.55;
    white-space: normal;
  }
  .brand-v6 .v6-line {
    margin: 14px auto 20px;
  }
  .brand-v6 .v6-intro {
    font-size: clamp(1.14rem, 4.1vw, 1.26rem);
    line-height: 1.55;
    margin-bottom: 24px;
  }
  .brand-v6 .v6-tags {
    gap: 12px 16px;
    margin-bottom: 22px;
  }
  .brand-v6 .v6-tags span {
    font-size: clamp(.95rem, 3.4vw, 1.02rem);
    line-height: 1.3;
  }
  .brand-v6 .v6-emdr {
    font-size: .98rem;
  }
  .brand-v6 .v6-hero-copy .v6-location {
    font-size: clamp(1.02rem, 3.7vw, 1.12rem);
    line-height: 1.45;
    margin-bottom: 24px;
  }
  .brand-v6 .v6-hero-copy .btn {
    min-height: 48px;
    width: min(100%, 320px);
    font-size: .8rem;
  }
}
@media (max-width: 420px) {
  .brand-v6 .v6-identity-hero h1 {
    font-size: clamp(2.62rem, 12.8vw, 3.2rem) !important;
  }
  .brand-v6 .v6-identity-hero .v6-role-line {
    font-size: .82rem;
    letter-spacing: .1em;
  }
}

/* ===== v9 responsive scroll motion polish ===== */
html.js .brand-v6 .reveal,
html.js .brand-v6 .motion-reveal,
html.js .brand-v6 .section-reveal,
html.js .brand-v6 .block-reveal {
  opacity: 0;
  transform: translate3d(0, var(--reveal-y, 22px), 0) scale(.992);
  filter: blur(2px);
  transition-property: opacity, transform, filter;
  transition-duration: 760ms;
  transition-timing-function: cubic-bezier(.22, .72, .22, 1);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform, filter;
}
html.js .brand-v6 .reveal.is-visible,
html.js .brand-v6 .motion-reveal.is-visible,
html.js .brand-v6 .section-reveal.is-visible,
html.js .brand-v6 .block-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
  will-change: auto;
}
html.js .brand-v6 .v6-hero .reveal {
  --reveal-y: 18px;
  transition-duration: 700ms;
}
html.js .brand-v6 .v6-portrait.reveal {
  --reveal-y: 14px;
}
html.js .brand-v6 .v6-value-card.reveal,
html.js .brand-v6 .v6-service.reveal,
html.js .brand-v6 .v6-info-card.reveal,
html.js .brand-v6 .v6-panel.reveal,
html.js .brand-v6 .v6-form-card.reveal,
html.js .brand-v6 .v6-map-card.reveal,
html.js .brand-v6 .v6-cta-panel.reveal {
  --reveal-y: 20px;
}
html.js .brand-v6 .v6-section-title.reveal,
html.js .brand-v6 .v6-page-hero-inner.reveal,
html.js .brand-v6 .v6-about-copy.reveal {
  --reveal-y: 18px;
}
/* Removed old reveal hover prototype. */
@media (max-width: 720px) {
  html.js .brand-v6 .reveal,
  html.js .brand-v6 .motion-reveal,
  html.js .brand-v6 .section-reveal,
  html.js .brand-v6 .block-reveal {
    --reveal-y: 16px;
    filter: blur(1.5px);
    transition-duration: 640ms;
  }
  html.js .brand-v6 .v6-hero .reveal {
    --reveal-y: 14px;
    transition-duration: 620ms;
  }
  html.js .brand-v6 .v6-card-grid,
  html.js .brand-v6 .v6-service-grid,
  html.js .brand-v6 .v6-info-grid,
  html.js .brand-v6 .v6-map-grid,
  html.js .brand-v6 .v6-form-grid,
  html.js .brand-v6 .v6-feature-grid {
    overflow: visible;
  }
}
@media (prefers-reduced-motion: reduce) {
  :root:not(.motion-forced).js .brand-v6 .reveal,
  :root:not(.motion-forced).js .brand-v6 .motion-reveal,
  :root:not(.motion-forced).js .brand-v6 .section-reveal,
  :root:not(.motion-forced).js .brand-v6 .block-reveal,
  :root:not(.motion-forced).js .brand-v6 .reveal.is-visible,
  :root:not(.motion-forced).js .brand-v6 .motion-reveal.is-visible,
  :root:not(.motion-forced).js .brand-v6 .section-reveal.is-visible,
  :root:not(.motion-forced).js .brand-v6 .block-reveal.is-visible {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}


/* ===== v10 unified final-CTA reveal system =====
   Every scroll reveal now uses the exact same motion as the final
   “Jste připraveni udělat první krok?” CTA block: one gentle fade,
   the same small upward lift, the same blur, duration, easing, and no
   staggered delay. Mobile still reveals stacked blocks separately as
   they enter the viewport, but the motion style stays identical. */
html.js .brand-v6 .reveal,
html.js .brand-v6 .motion-reveal,
html.js .brand-v6 .section-reveal,
html.js .brand-v6 .block-reveal,
html.js .brand-v6 .v6-hero .reveal,
html.js .brand-v6 .v6-portrait.reveal,
html.js .brand-v6 .v6-values-photo.reveal,
html.js .brand-v6 .v6-about-image.reveal,
html.js .brand-v6 .v6-hero-copy.reveal,
html.js .brand-v6 .v6-section-title.reveal,
html.js .brand-v6 .v6-about-copy.reveal,
html.js .brand-v6 .v6-final-cta .reveal,
html.js .brand-v6 .v6-value-card.reveal,
html.js .brand-v6 .v6-service.reveal,
html.js .brand-v6 .v6-location-inner.reveal,
html.js .brand-v6 .v6-info-card.reveal,
html.js .brand-v6 .v6-panel.reveal,
html.js .brand-v6 .v6-form-card.reveal,
html.js .brand-v6 .v6-map-card.reveal,
html.js .brand-v6 .v6-cta-panel.reveal,
html.js .brand-v6 .reveal.motion-text-up,
html.js .brand-v6 .reveal.motion-fly-right,
html.js .brand-v6 .reveal.motion-pop,
html.js .brand-v6 .reveal.motion-panel-card {
  opacity: 0 !important;
  transform: translate3d(0, 22px, 0) scale(.992) !important;
  filter: blur(2px) !important;
  transition-property: opacity, transform, filter !important;
  transition-duration: 760ms !important;
  transition-timing-function: cubic-bezier(.22, .72, .22, 1) !important;
  transition-delay: 0ms !important;
  will-change: opacity, transform, filter;
}
html.js .brand-v6 .reveal.is-visible,
html.js .brand-v6 .motion-reveal.is-visible,
html.js .brand-v6 .section-reveal.is-visible,
html.js .brand-v6 .block-reveal.is-visible,
html.js .brand-v6 .v6-hero .reveal.is-visible,
html.js .brand-v6 .v6-portrait.reveal.is-visible,
html.js .brand-v6 .v6-values-photo.reveal.is-visible,
html.js .brand-v6 .v6-about-image.reveal.is-visible,
html.js .brand-v6 .v6-hero-copy.reveal.is-visible,
html.js .brand-v6 .v6-section-title.reveal.is-visible,
html.js .brand-v6 .v6-about-copy.reveal.is-visible,
html.js .brand-v6 .v6-final-cta .reveal.is-visible,
html.js .brand-v6 .v6-value-card.reveal.is-visible,
html.js .brand-v6 .v6-service.reveal.is-visible,
html.js .brand-v6 .v6-location-inner.reveal.is-visible,
html.js .brand-v6 .v6-info-card.reveal.is-visible,
html.js .brand-v6 .v6-panel.reveal.is-visible,
html.js .brand-v6 .v6-form-card.reveal.is-visible,
html.js .brand-v6 .v6-map-card.reveal.is-visible,
html.js .brand-v6 .v6-cta-panel.reveal.is-visible,
html.js .brand-v6 .reveal.motion-text-up.is-visible,
html.js .brand-v6 .reveal.motion-fly-right.is-visible,
html.js .brand-v6 .reveal.motion-pop.is-visible,
html.js .brand-v6 .reveal.motion-panel-card.is-visible {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
  filter: blur(0) !important;
  will-change: auto;
}
html.js .brand-v6 .reveal.delay-1,
html.js .brand-v6 .reveal.delay-2,
html.js .brand-v6 .reveal.delay-3 {
  transition-delay: 0ms !important;
}
@media (max-width: 720px) {
  html.js .brand-v6 .reveal,
  html.js .brand-v6 .motion-reveal,
  html.js .brand-v6 .section-reveal,
  html.js .brand-v6 .block-reveal,
  html.js .brand-v6 .v6-hero .reveal,
  html.js .brand-v6 .v6-portrait.reveal,
  html.js .brand-v6 .v6-values-photo.reveal,
  html.js .brand-v6 .v6-about-image.reveal,
  html.js .brand-v6 .v6-hero-copy.reveal,
  html.js .brand-v6 .v6-section-title.reveal,
  html.js .brand-v6 .v6-about-copy.reveal,
  html.js .brand-v6 .v6-final-cta .reveal,
  html.js .brand-v6 .v6-value-card.reveal,
  html.js .brand-v6 .v6-service.reveal,
  html.js .brand-v6 .v6-location-inner.reveal,
  html.js .brand-v6 .v6-info-card.reveal,
  html.js .brand-v6 .v6-panel.reveal,
  html.js .brand-v6 .v6-form-card.reveal,
  html.js .brand-v6 .v6-map-card.reveal,
  html.js .brand-v6 .v6-cta-panel.reveal {
    transform: translate3d(0, 22px, 0) scale(.992) !important;
    filter: blur(2px) !important;
    transition-duration: 760ms !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  :root:not(.motion-forced).js .brand-v6 .reveal,
  :root:not(.motion-forced).js .brand-v6 .motion-reveal,
  :root:not(.motion-forced).js .brand-v6 .section-reveal,
  :root:not(.motion-forced).js .brand-v6 .block-reveal,
  :root:not(.motion-forced).js .brand-v6 .reveal.is-visible,
  :root:not(.motion-forced).js .brand-v6 .motion-reveal.is-visible,
  :root:not(.motion-forced).js .brand-v6 .section-reveal.is-visible,
  :root:not(.motion-forced).js .brand-v6 .block-reveal.is-visible {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}

/* ===== v11 desktop section-level reveal =====
   Desktop/tablet now reveals one whole section at a time. Mobile keeps
   the existing block-by-block behavior. The section motion uses the
   exact same fade/lift/blur language as the final CTA reveal. */
@media (min-width: 721px) {
  html.js.desktop-section-reveal-mode .brand-v6 main > section.desktop-section-reveal,
  html.js.desktop-section-reveal-mode .brand-v6 footer.desktop-section-reveal {
    opacity: 0 !important;
    transform: translate3d(0, 22px, 0) scale(.992) !important;
    filter: blur(2px) !important;
    transition-property: opacity, transform, filter !important;
    transition-duration: 760ms !important;
    transition-timing-function: cubic-bezier(.22, .72, .22, 1) !important;
    transition-delay: 0ms !important;
    will-change: opacity, transform, filter;
  }

  html.js.desktop-section-reveal-mode .brand-v6 main > section.desktop-section-reveal.is-visible,
  html.js.desktop-section-reveal-mode .brand-v6 footer.desktop-section-reveal.is-visible {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) scale(1) !important;
    filter: blur(0) !important;
    will-change: auto;
  }

  html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .reveal,
  html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .motion-reveal,
  html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .section-reveal,
  html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .block-reveal,
  html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .reveal.is-visible,
  html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .motion-reveal.is-visible,
  html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .section-reveal.is-visible,
  html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .block-reveal.is-visible {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    /* v22: do not disable transitions here; hover widgets need their slow transition timing. */
    will-change: auto !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  :root:not(.motion-forced).js.desktop-section-reveal-mode .brand-v6 main > section.desktop-section-reveal,
  :root:not(.motion-forced).js.desktop-section-reveal-mode .brand-v6 main > section.desktop-section-reveal.is-visible,
  :root:not(.motion-forced).js.desktop-section-reveal-mode .brand-v6 footer.desktop-section-reveal,
  :root:not(.motion-forced).js.desktop-section-reveal-mode .brand-v6 footer.desktop-section-reveal.is-visible {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}

/* ===== v12 gentler scroll motion =====
   Keeps the v11 behavior: desktop/tablet reveals whole sections,
   mobile reveals stacked blocks. This pass makes the motion softer:
   less travel, less blur, slower easing, and a calmer fade. */
html.js .brand-v6 .reveal,
html.js .brand-v6 .motion-reveal,
html.js .brand-v6 .section-reveal,
html.js .brand-v6 .block-reveal,
html.js .brand-v6 .v6-hero .reveal,
html.js .brand-v6 .v6-portrait.reveal,
html.js .brand-v6 .v6-values-photo.reveal,
html.js .brand-v6 .v6-about-image.reveal,
html.js .brand-v6 .v6-hero-copy.reveal,
html.js .brand-v6 .v6-section-title.reveal,
html.js .brand-v6 .v6-about-copy.reveal,
html.js .brand-v6 .v6-final-cta .reveal,
html.js .brand-v6 .v6-value-card.reveal,
html.js .brand-v6 .v6-service.reveal,
html.js .brand-v6 .v6-location-inner.reveal,
html.js .brand-v6 .v6-info-card.reveal,
html.js .brand-v6 .v6-panel.reveal,
html.js .brand-v6 .v6-form-card.reveal,
html.js .brand-v6 .v6-map-card.reveal,
html.js .brand-v6 .v6-cta-panel.reveal,
html.js .brand-v6 .reveal.motion-text-up,
html.js .brand-v6 .reveal.motion-fly-right,
html.js .brand-v6 .reveal.motion-pop,
html.js .brand-v6 .reveal.motion-panel-card {
  opacity: .16 !important;
  transform: translate3d(0, 12px, 0) scale(.997) !important;
  filter: blur(.75px) !important;
  transition-property: opacity, transform, filter !important;
  transition-duration: 940ms !important;
  transition-timing-function: cubic-bezier(.22, .82, .24, 1) !important;
  transition-delay: 0ms !important;
}

html.js .brand-v6 .reveal.is-visible,
html.js .brand-v6 .motion-reveal.is-visible,
html.js .brand-v6 .section-reveal.is-visible,
html.js .brand-v6 .block-reveal.is-visible,
html.js .brand-v6 .v6-hero .reveal.is-visible,
html.js .brand-v6 .v6-portrait.reveal.is-visible,
html.js .brand-v6 .v6-values-photo.reveal.is-visible,
html.js .brand-v6 .v6-about-image.reveal.is-visible,
html.js .brand-v6 .v6-hero-copy.reveal.is-visible,
html.js .brand-v6 .v6-section-title.reveal.is-visible,
html.js .brand-v6 .v6-about-copy.reveal.is-visible,
html.js .brand-v6 .v6-final-cta .reveal.is-visible,
html.js .brand-v6 .v6-value-card.reveal.is-visible,
html.js .brand-v6 .v6-service.reveal.is-visible,
html.js .brand-v6 .v6-location-inner.reveal.is-visible,
html.js .brand-v6 .v6-info-card.reveal.is-visible,
html.js .brand-v6 .v6-panel.reveal.is-visible,
html.js .brand-v6 .v6-form-card.reveal.is-visible,
html.js .brand-v6 .v6-map-card.reveal.is-visible,
html.js .brand-v6 .v6-cta-panel.reveal.is-visible,
html.js .brand-v6 .reveal.motion-text-up.is-visible,
html.js .brand-v6 .reveal.motion-fly-right.is-visible,
html.js .brand-v6 .reveal.motion-pop.is-visible,
html.js .brand-v6 .reveal.motion-panel-card.is-visible {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
  filter: blur(0) !important;
}

@media (min-width: 721px) {
  html.js.desktop-section-reveal-mode .brand-v6 main > section.desktop-section-reveal,
  html.js.desktop-section-reveal-mode .brand-v6 footer.desktop-section-reveal {
    opacity: .16 !important;
    transform: translate3d(0, 12px, 0) scale(.997) !important;
    filter: blur(.75px) !important;
    transition-property: opacity, transform, filter !important;
    transition-duration: 940ms !important;
    transition-timing-function: cubic-bezier(.22, .82, .24, 1) !important;
    transition-delay: 0ms !important;
  }

  html.js.desktop-section-reveal-mode .brand-v6 main > section.desktop-section-reveal.is-visible,
  html.js.desktop-section-reveal-mode .brand-v6 footer.desktop-section-reveal.is-visible {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) scale(1) !important;
    filter: blur(0) !important;
  }
}

@media (max-width: 720px) {
  html.js .brand-v6 .reveal,
  html.js .brand-v6 .motion-reveal,
  html.js .brand-v6 .section-reveal,
  html.js .brand-v6 .block-reveal,
  html.js .brand-v6 .v6-hero .reveal,
  html.js .brand-v6 .v6-portrait.reveal,
  html.js .brand-v6 .v6-values-photo.reveal,
  html.js .brand-v6 .v6-about-image.reveal,
  html.js .brand-v6 .v6-hero-copy.reveal,
  html.js .brand-v6 .v6-section-title.reveal,
  html.js .brand-v6 .v6-about-copy.reveal,
  html.js .brand-v6 .v6-final-cta .reveal,
  html.js .brand-v6 .v6-value-card.reveal,
  html.js .brand-v6 .v6-service.reveal,
  html.js .brand-v6 .v6-location-inner.reveal,
  html.js .brand-v6 .v6-info-card.reveal,
  html.js .brand-v6 .v6-panel.reveal,
  html.js .brand-v6 .v6-form-card.reveal,
  html.js .brand-v6 .v6-map-card.reveal,
  html.js .brand-v6 .v6-cta-panel.reveal {
    opacity: .18 !important;
    transform: translate3d(0, 10px, 0) scale(.998) !important;
    filter: blur(.6px) !important;
    transition-duration: 840ms !important;
    transition-timing-function: cubic-bezier(.22, .82, .24, 1) !important;
  }
}

/* ===== v13 final interaction and contrast polish =====
   - Scroll animations are enabled by default; ?motion=off disables them through existing reduced-motion rules.
   - Hero CTA text does not inherit the soft text glow from the hero copy.
   - Footer identity uses light text for proper contrast on the olive background. */
.brand-v6 .v6-hero-copy .btn,
.brand-v6 .v6-hero-copy .btn *,
.brand-v6 .v6-hero-copy .btn-primary,
.brand-v6 .v6-hero-copy .btn-primary * {
  text-shadow: none !important;
}

.brand-v6 .v6-footer-brand .v6-identity-footer strong,
.brand-v6 .v6-footer .v6-identity-footer strong,
.brand-v6 footer .v6-identity-footer strong {
  color: #FFFDF7 !important;
  text-shadow: none !important;
}

.brand-v6 .v6-footer-brand .v6-identity-footer em,
.brand-v6 .v6-footer-brand .v6-identity-footer .v6-role-line,
.brand-v6 .v6-footer .v6-role-line,
.brand-v6 .v6-footer .v6-role-line span {
  color: rgba(255, 253, 247, .72) !important;
  text-shadow: none !important;
}

.brand-v6 .v6-footer-brand p,
.brand-v6 .v6-footer-note,
.brand-v6 .v6-footer-bottom,
.brand-v6 .v6-footer-bottom a {
  color: rgba(255, 253, 247, .68) !important;
}

.brand-v6 .v6-footer h2 {
  color: #FFFDF7 !important;
}

.brand-v6 .v6-footer a:hover {
  color: var(--v6-gold-soft) !important;
}


/* ===== v14 homepage hero appear animation =====
   Adds a gentle first-paint entrance for the hero on desktop/tablet.
   Mobile keeps the existing block-by-block reveal that already works well. */
@media (min-width: 721px) {
  html.js .brand-v6 .v6-hero.hero-appear {
    opacity: .16 !important;
    transform: translate3d(0, 10px, 0) scale(.998) !important;
    filter: blur(.6px) !important;
    transition-property: opacity, transform, filter !important;
    transition-duration: 960ms !important;
    transition-timing-function: cubic-bezier(.22, .82, .24, 1) !important;
    transition-delay: 0ms !important;
    will-change: opacity, transform, filter;
  }

  html.js .brand-v6 .v6-hero.hero-appear.hero-is-visible,
  html.js .brand-v6 .v6-hero.hero-appear.is-visible {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) scale(1) !important;
    filter: blur(0) !important;
    will-change: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  :root:not(.motion-forced).js .brand-v6 .v6-hero.hero-appear,
  :root:not(.motion-forced).js .brand-v6 .v6-hero.hero-appear.hero-is-visible,
  :root:not(.motion-forced).js .brand-v6 .v6-hero.hero-appear.is-visible {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}


/* ===== v32 balanced hover timing =====
   Root cause fixed: the desktop section reveal rule was setting
   transition:none!important on all revealed child elements. That made hover transforms
   instant. This system keeps one slow transition source and explicitly covers
   desktop-section children after they become visible.
*/
.brand-v6 {
  --v6-button-hover-duration: 1040ms;
  --v6-widget-hover-duration: 1560ms;
  --v6-hover-ease: cubic-bezier(.18, .72, .18, 1);
  --v6-hover-card-shadow: 0 18px 46px rgba(70, 70, 43, .085);
  --v6-hover-button-shadow: 0 12px 26px rgba(70, 70, 43, .14);
}

/* Buttons stay readable and responsive, but not sharp. */
.brand-v6 .btn,
.brand-v6 .v6-links a.btn,
html.js .brand-v6 .btn,
html.js .brand-v6 .v6-links a.btn {
  transition:
    transform var(--v6-button-hover-duration) var(--v6-hover-ease),
    box-shadow var(--v6-button-hover-duration) var(--v6-hover-ease),
    background-color var(--v6-button-hover-duration) var(--v6-hover-ease),
    border-color var(--v6-button-hover-duration) var(--v6-hover-ease),
    color var(--v6-button-hover-duration) var(--v6-hover-ease),
    opacity var(--v6-button-hover-duration) var(--v6-hover-ease) !important;
  will-change: transform, box-shadow;
}

/* All widget-like elements share the same calm hover timing. v32: doubled from 520ms to 1040ms for a calmer feel. */
.brand-v6 .v6-portrait,
.brand-v6 .v6-value-card,
.brand-v6 .v6-service,
.brand-v6 .v6-values-photo,
.brand-v6 .v6-about-image,
.brand-v6 .v6-location-inner,
.brand-v6 .v6-panel,
.brand-v6 .v6-info-card,
.brand-v6 .v6-form-card,
.brand-v6 .v6-map-card,
.brand-v6 .v6-map-placeholder,
.brand-v6 .v6-cta-panel,
.brand-v6 .v6-contact-link,
.brand-v6 .v6-page-photo,
.brand-v6 .v6-page-section,
html.js .brand-v6 .v6-portrait.reveal,
html.js .brand-v6 .v6-portrait.reveal.is-visible,
html.js .brand-v6 .v6-value-card.reveal,
html.js .brand-v6 .v6-value-card.reveal.is-visible,
html.js .brand-v6 .v6-service.reveal,
html.js .brand-v6 .v6-service.reveal.is-visible,
html.js .brand-v6 .v6-values-photo.reveal,
html.js .brand-v6 .v6-values-photo.reveal.is-visible,
html.js .brand-v6 .v6-about-image.reveal,
html.js .brand-v6 .v6-about-image.reveal.is-visible,
html.js .brand-v6 .v6-location-inner.reveal,
html.js .brand-v6 .v6-location-inner.reveal.is-visible,
html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .v6-portrait.reveal,
html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .v6-portrait.reveal.is-visible,
html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .v6-value-card.reveal,
html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .v6-value-card.reveal.is-visible,
html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .v6-service.reveal,
html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .v6-service.reveal.is-visible,
html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .v6-values-photo.reveal,
html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .v6-values-photo.reveal.is-visible,
html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .v6-about-image.reveal,
html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .v6-about-image.reveal.is-visible,
html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .v6-location-inner.reveal,
html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .v6-location-inner.reveal.is-visible {
  transition:
    transform var(--v6-widget-hover-duration) var(--v6-hover-ease),
    box-shadow var(--v6-widget-hover-duration) var(--v6-hover-ease),
    border-color var(--v6-widget-hover-duration) var(--v6-hover-ease),
    background-color var(--v6-widget-hover-duration) var(--v6-hover-ease),
    color var(--v6-widget-hover-duration) var(--v6-hover-ease),
    opacity var(--v6-widget-hover-duration) var(--v6-hover-ease) !important;
  will-change: transform, box-shadow;
}

.brand-v6 .v6-icon,
.brand-v6 .v6-service-icon,
.brand-v6 .v6-tags span,
.brand-v6 .v6-links a:not(.btn)::after,
.brand-v6 .nav-links a:not(.btn)::after,
html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .v6-icon,
html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .v6-service-icon,
html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .v6-tags span {
  transition:
    transform var(--v6-widget-hover-duration) var(--v6-hover-ease),
    background-color var(--v6-widget-hover-duration) var(--v6-hover-ease),
    border-color var(--v6-widget-hover-duration) var(--v6-hover-ease),
    color var(--v6-widget-hover-duration) var(--v6-hover-ease),
    opacity var(--v6-widget-hover-duration) var(--v6-hover-ease) !important;
}

/* Images themselves stay static: no zoom and no filter shift. */
.brand-v6 .v6-service > img,
.brand-v6 .v6-portrait img,
.brand-v6 .v6-values-photo img,
.brand-v6 .v6-about-image img,
.brand-v6 .v6-page-photo img,
.brand-v6 .v6-map-card img,
.brand-v6 .v6-map-placeholder img,
.brand-v6 .v6-service:hover > img,
.brand-v6 .v6-portrait:hover img,
.brand-v6 .v6-values-photo:hover img,
.brand-v6 .v6-about-image:hover img,
.brand-v6 .v6-page-photo:hover img,
.brand-v6 .v6-map-card:hover img,
.brand-v6 .v6-map-placeholder:hover img {
  transition: none !important;
  transform: none !important;
  filter: none !important;
}

@media (hover: hover) and (pointer: fine) {
  .brand-v6 .btn:hover,
  .brand-v6 .btn:focus-visible,
  html.js .brand-v6 .btn:hover,
  html.js .brand-v6 .btn:focus-visible {
    transform: translate3d(0, -2px, 0) scale(1) !important;
  }

  .brand-v6 .btn-primary:hover,
  .brand-v6 .btn-primary:focus-visible {
    box-shadow: var(--v6-hover-button-shadow) !important;
  }

  .brand-v6 .v6-portrait:hover,
  .brand-v6 .v6-value-card:hover,
  .brand-v6 .v6-service:hover,
  .brand-v6 .v6-values-photo:hover,
  .brand-v6 .v6-about-image:hover,
  .brand-v6 .v6-location-inner:hover,
  .brand-v6 .v6-panel:hover,
  .brand-v6 .v6-info-card:hover,
  .brand-v6 .v6-form-card:hover,
  .brand-v6 .v6-map-card:hover,
  .brand-v6 .v6-map-placeholder:hover,
  .brand-v6 .v6-cta-panel:hover,
  .brand-v6 .v6-contact-link:hover,
  .brand-v6 .v6-page-photo:hover,
  .brand-v6 .v6-page-section:hover,
  html.js .brand-v6 .v6-portrait.reveal.is-visible:hover,
  html.js .brand-v6 .v6-value-card.reveal.is-visible:hover,
  html.js .brand-v6 .v6-service.reveal.is-visible:hover,
  html.js .brand-v6 .v6-values-photo.reveal.is-visible:hover,
  html.js .brand-v6 .v6-about-image.reveal.is-visible:hover,
  html.js .brand-v6 .v6-location-inner.reveal.is-visible:hover,
  html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .v6-portrait.reveal.is-visible:hover,
  html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .v6-value-card.reveal.is-visible:hover,
  html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .v6-service.reveal.is-visible:hover,
  html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .v6-values-photo.reveal.is-visible:hover,
  html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .v6-about-image.reveal.is-visible:hover,
  html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .v6-location-inner.reveal.is-visible:hover {
    transform: translate3d(0, -2px, 0) scale(1) !important;
    box-shadow: var(--v6-hover-card-shadow) !important;
    border-color: rgba(70, 70, 43, .18) !important;
  }

  .brand-v6 .v6-tags span:hover,
  .brand-v6 .v6-tags span:focus-visible,
  .brand-v6 .v6-value-card:hover .v6-icon,
  .brand-v6 .v6-service:hover .v6-service-icon,
  .brand-v6 .v6-info-card:hover .v6-icon,
  .brand-v6 .v6-contact-link:hover .v6-icon,
  html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .v6-value-card.reveal.is-visible:hover .v6-icon,
  html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .v6-service.reveal.is-visible:hover .v6-service-icon {
    transform: translate3d(0, -1px, 0) scale(1) !important;
  }
}

@media (hover: none), (pointer: coarse) {
  .brand-v6 .btn:hover,
  .brand-v6 .btn:focus-visible,
  .brand-v6 .v6-portrait:hover,
  .brand-v6 .v6-value-card:hover,
  .brand-v6 .v6-service:hover,
  .brand-v6 .v6-values-photo:hover,
  .brand-v6 .v6-about-image:hover,
  .brand-v6 .v6-location-inner:hover,
  .brand-v6 .v6-panel:hover,
  .brand-v6 .v6-info-card:hover,
  .brand-v6 .v6-form-card:hover,
  .brand-v6 .v6-map-card:hover,
  .brand-v6 .v6-map-placeholder:hover,
  .brand-v6 .v6-cta-panel:hover,
  .brand-v6 .v6-contact-link:hover,
  .brand-v6 .v6-page-photo:hover,
  .brand-v6 .v6-page-section:hover,
  .brand-v6 .v6-tags span:hover,
  .brand-v6 .v6-value-card:hover .v6-icon,
  .brand-v6 .v6-service:hover .v6-service-icon,
  .brand-v6 .v6-info-card:hover .v6-icon,
  .brand-v6 .v6-contact-link:hover .v6-icon {
    transform: none !important;
    box-shadow: inherit;
  }
}

@media (prefers-reduced-motion: reduce) {
  :root:not(.motion-forced) .brand-v6 .btn,
  :root:not(.motion-forced) .brand-v6 .v6-portrait,
  :root:not(.motion-forced) .brand-v6 .v6-value-card,
  :root:not(.motion-forced) .brand-v6 .v6-service,
  :root:not(.motion-forced) .brand-v6 .v6-values-photo,
  :root:not(.motion-forced) .brand-v6 .v6-about-image,
  :root:not(.motion-forced) .brand-v6 .v6-location-inner,
  :root:not(.motion-forced) .brand-v6 .v6-panel,
  :root:not(.motion-forced) .brand-v6 .v6-info-card,
  :root:not(.motion-forced) .brand-v6 .v6-form-card,
  :root:not(.motion-forced) .brand-v6 .v6-map-card,
  :root:not(.motion-forced) .brand-v6 .v6-map-placeholder,
  :root:not(.motion-forced) .brand-v6 .v6-cta-panel,
  :root:not(.motion-forced) .brand-v6 .v6-contact-link,
  :root:not(.motion-forced) .brand-v6 .v6-page-photo,
  :root:not(.motion-forced) .brand-v6 .v6-page-section,
  :root:not(.motion-forced) .brand-v6 .v6-icon,
  :root:not(.motion-forced) .brand-v6 .v6-service-icon,
  :root:not(.motion-forced) .brand-v6 .v6-tags span {
    transition: none !important;
    transform: none !important;
  }
}


/* ===== v24 location band shadow fix =====
   The outer .v6-location-band is a layout wrapper. It must not receive hover
   transform/shadow; otherwise the shadow looks like a broken section-wide glow.
   Only the visible .v6-location-inner card gets the shadow and gentle hover. */
.brand-v6 .v6-location-band,
html.js .brand-v6 .v6-location-band,
html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .v6-location-band {
  transform: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
  background: transparent !important;
  overflow: visible !important;
}

.brand-v6 .v6-location-inner,
html.js .brand-v6 .v6-location-inner.reveal,
html.js .brand-v6 .v6-location-inner.reveal.is-visible,
html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .v6-location-inner.reveal,
html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .v6-location-inner.reveal.is-visible {
  background: rgba(250, 246, 236, .82) !important;
  border: 1px solid rgba(62, 61, 42, .115) !important;
  box-shadow: 0 18px 42px rgba(70, 70, 43, .055) !important;
  overflow: hidden !important;
  isolation: isolate;
  transition:
    transform var(--v6-widget-hover-duration) var(--v6-hover-ease),
    box-shadow var(--v6-widget-hover-duration) var(--v6-hover-ease),
    border-color var(--v6-widget-hover-duration) var(--v6-hover-ease),
    background-color var(--v6-widget-hover-duration) var(--v6-hover-ease) !important;
}

@media (hover: hover) and (pointer: fine) {
  .brand-v6 .v6-location-band:hover,
  html.js .brand-v6 .v6-location-band:hover,
  html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .v6-location-band:hover {
    transform: none !important;
    box-shadow: none !important;
    border-color: transparent !important;
    background: transparent !important;
  }

  .brand-v6 .v6-location-inner:hover,
  html.js .brand-v6 .v6-location-inner.reveal.is-visible:hover,
  html.js.desktop-section-reveal-mode .brand-v6 .desktop-section-reveal .v6-location-inner.reveal.is-visible:hover {
    transform: translate3d(0, -2px, 0) scale(1) !important;
    box-shadow: 0 22px 56px rgba(70, 70, 43, .075) !important;
    border-color: rgba(70, 70, 43, .16) !important;
  }
}

@media (hover: none), (pointer: coarse) {
  .brand-v6 .v6-location-band:hover,
  .brand-v6 .v6-location-inner:hover {
    transform: none !important;
  }
  .brand-v6 .v6-location-inner:hover {
    box-shadow: 0 18px 42px rgba(70, 70, 43, .055) !important;
  }
}


/* ===== v25 final five-page polish ===== */
.brand-v6 .v6-links a[aria-current="page"] { color: var(--v6-gold); }
.brand-v6 .v6-page-hero { padding: clamp(42px, 6vw, 88px) 0 clamp(32px, 5vw, 66px); }
.brand-v6 .v6-page-hero-inner { gap: clamp(34px, 6vw, 76px); align-items: center; }
.brand-v6 .v6-page-title { max-width: 12ch; text-wrap: balance; }
.brand-v6 .v6-page-lead { max-width: 720px; text-wrap: pretty; }
.brand-v6 .v6-page-actions { flex-wrap: wrap; gap: 14px; }
.brand-v6 .v6-page-photo { border-radius: 9px; overflow: hidden; border: 1px solid rgba(62,61,42,.11); box-shadow: var(--v6-shadow); }
.brand-v6 .v6-page-photo img { width: 100%; height: 100%; min-height: clamp(320px, 32vw, 470px); object-fit: cover; filter: sepia(.1) saturate(.9) brightness(1.04); }
.brand-v6 .v6-price-layout { display:grid; grid-template-columns: minmax(0,.95fr) minmax(300px,.8fr); gap: clamp(24px, 4vw, 48px); align-items:stretch; }
.brand-v6 .v6-price-panel { text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height: 420px; }
.brand-v6 .v6-price-panel h2 { font-family:"Lora",Georgia,serif; color:var(--v6-olive); font-size: clamp(4rem, 8vw, 7rem); line-height:1; margin: 10px 0 6px; letter-spacing:-.05em; }
.brand-v6 .v6-price-subtitle { font: 700 .82rem/1.5 "Inter",system-ui,sans-serif; letter-spacing:.24em; text-transform:uppercase; color:var(--v6-gold)!important; }
.brand-v6 .v6-contact-links-clean { display:grid; gap:14px; margin-top:22px; }
.brand-v6 .v6-contact-links-clean .v6-contact-link { min-height: auto; }
.brand-v6 .v6-map-card { display:flex; flex-direction:column; }
.brand-v6 .v6-map-placeholder { margin-top:auto; padding-top:22px; }
.brand-v6 .v6-legal-prose .v6-panel { max-width: 940px; margin-inline:auto; }
.brand-v6 .v6-service-grid { align-items:stretch; }
.brand-v6 .v6-service { height:100%; }
.brand-v6 .v6-service > div { min-height: 280px; }
.brand-v6 .v6-info-card, .brand-v6 .v6-panel, .brand-v6 .v6-form-card { height: auto; }
.brand-v6 .v6-detail-list { padding-left:0; list-style:none; display:grid; gap:14px; }
.brand-v6 .v6-detail-list li { position:relative; padding-left:28px; color:var(--v6-muted); line-height:1.7; }
.brand-v6 .v6-detail-list li::before { content:'♥'; position:absolute; left:0; top:.05em; color:var(--v6-gold); }
.brand-v6 .v6-form-status { grid-column: 1 / -1; margin:0; color:var(--v6-muted); }
.brand-v6 .v6-form-status.error { color:#8a3f36; }
.brand-v6 .v6-service a, .brand-v6 .v6-contact-link, .brand-v6 .v6-footer a { text-underline-offset: 4px; }
@media (min-width: 1081px) {
  .brand-v6 .v6-page-hero-inner { grid-template-columns: minmax(0, .92fr) minmax(360px, .78fr); }
  .brand-v6 .v6-page-hero-inner.is-simple { grid-template-columns: 1fr; max-width: 920px; text-align:center; }
  .brand-v6 .v6-page-hero-inner.is-simple .v6-page-title, .brand-v6 .v6-page-hero-inner.is-simple .v6-page-lead { margin-inline:auto; }
}
@media (max-width: 1080px) {
  .brand-v6 .v6-page-hero-inner, .brand-v6 .v6-price-layout { grid-template-columns: 1fr; }
  .brand-v6 .v6-page-title { max-width: 100%; }
  .brand-v6 .v6-price-panel { min-height:auto; }
}
@media (max-width: 720px) {
  .brand-v6 .v6-page-hero { padding-top: 30px; }
  .brand-v6 .v6-page-actions .btn { width:min(100%, 340px); }
  .brand-v6 .v6-price-panel h2 { font-size: clamp(3.3rem, 17vw, 5rem); }
}

/* ===== v26 non-homepage professional polish ===== */
/* Homepage is intentionally left structurally unchanged. These rules polish only inner/utility page patterns. */
.brand-v6 .v6-breadcrumb { display: none !important; }

.brand-v6 .v6-page-hero {
  padding: clamp(54px, 6.5vw, 94px) 0 clamp(40px, 5.5vw, 76px);
}

.brand-v6 .v6-page-hero-inner:not(.is-simple) {
  grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
  padding: clamp(28px, 4.2vw, 54px);
  border: 1px solid rgba(62, 61, 42, .105);
  border-radius: 18px;
  background:
    radial-gradient(circle at 95% 12%, rgba(196,164,79,.13), transparent 32%),
    linear-gradient(135deg, rgba(255,253,247,.76), rgba(250,246,236,.58));
  box-shadow: 0 24px 70px rgba(62, 61, 42, .055);
}

.brand-v6 .v6-page-hero-inner.is-simple {
  max-width: 920px;
  padding: clamp(32px, 5vw, 58px);
  border: 1px solid rgba(62, 61, 42, .105);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(255,253,247,.74), rgba(250,246,236,.56));
  box-shadow: 0 22px 64px rgba(62, 61, 42, .052);
}

.brand-v6 .v6-page-hero .v6-page-kicker {
  margin-bottom: 18px;
}

.brand-v6 .v6-page-title {
  max-width: 920px;
  font-size: clamp(2.42rem, 4.55vw, 4.18rem);
  line-height: 1.075;
}

.brand-v6 .v6-page-lead {
  max-width: 700px;
  margin-top: 22px;
}

.brand-v6 .v6-page-photo {
  border-radius: 16px;
  box-shadow: 0 22px 62px rgba(62, 61, 42, .082);
}

.brand-v6 .v6-page-photo img {
  height: clamp(360px, 34vw, 500px);
}

.brand-v6 .v6-page-section {
  padding: clamp(46px, 6.2vw, 84px) 0;
}

.brand-v6 .v6-page-section + .v6-page-section {
  margin-top: -1px;
}

.brand-v6 .v6-panel,
.brand-v6 .v6-info-card,
.brand-v6 .v6-form-card,
.brand-v6 .v6-cta-panel {
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(255,253,247,.78), rgba(250,246,236,.58));
  box-shadow: 0 16px 46px rgba(62, 61, 42, .047);
}

.brand-v6 .v6-page-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.brand-v6 .v6-page-grid:has(> :nth-child(4):last-child) {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.brand-v6 .v6-services.v6-page-section .v6-service-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(22px, 3vw, 34px);
}

.brand-v6 .v6-services.v6-page-section .v6-service {
  min-height: 260px;
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(255,253,247,.82), rgba(250,246,236,.62));
}

.brand-v6 .v6-services.v6-page-section .v6-service > div {
  padding: clamp(28px, 3vw, 38px);
}

.brand-v6 .v6-services.v6-page-section .v6-service h3 {
  max-width: 13ch;
}

.brand-v6 .v6-price-layout {
  align-items: stretch;
}

.brand-v6 .v6-price-panel {
  border-radius: 20px;
}

.brand-v6 .v6-price-panel .btn {
  margin-top: 24px;
}

.brand-v6 .v6-form-card {
  padding: clamp(26px, 3.4vw, 44px);
}

.brand-v6 .v6-note {
  font-size: .92rem;
  line-height: 1.65;
}

.brand-v6 .v6-contact-link {
  transition:
    transform var(--v6-widget-hover-duration) var(--v6-hover-ease),
    box-shadow var(--v6-widget-hover-duration) var(--v6-hover-ease),
    border-color var(--v6-widget-hover-duration) var(--v6-hover-ease),
    background-color var(--v6-widget-hover-duration) var(--v6-hover-ease),
    color var(--v6-widget-hover-duration) var(--v6-hover-ease) !important;
}

/* Prevent whole page sections from acting like hover cards. */
@media (hover: hover) and (pointer: fine) {
  .brand-v6 .v6-page-section:hover {
    transform: none !important;
    box-shadow: none !important;
    border-color: inherit !important;
  }
}

@media (max-width: 1180px) {
  .brand-v6 .v6-page-grid,
  .brand-v6 .v6-page-grid:has(> :nth-child(4):last-child) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .brand-v6 .v6-services.v6-page-section .v6-service-grid {
    grid-template-columns: 1fr;
    width: min(820px, 100%);
    margin-inline: auto;
  }
}

@media (max-width: 1080px) {
  .brand-v6 .v6-page-hero-inner:not(.is-simple) {
    grid-template-columns: 1fr;
    width: min(820px, calc(100% - 36px));
    padding: clamp(24px, 4vw, 40px);
  }
  .brand-v6 .v6-page-photo img {
    height: clamp(300px, 48vw, 430px);
  }
}

@media (max-width: 720px) {
  .brand-v6 .v6-page-hero-inner:not(.is-simple),
  .brand-v6 .v6-page-hero-inner.is-simple {
    width: calc(100% - 28px);
    border-radius: 16px;
    padding: 24px 20px;
  }
  .brand-v6 .v6-page-title {
    font-size: clamp(2.02rem, 10vw, 3rem);
    line-height: 1.1;
  }
  .brand-v6 .v6-page-grid,
  .brand-v6 .v6-page-grid:has(> :nth-child(4):last-child) {
    grid-template-columns: 1fr;
  }
  .brand-v6 .v6-panel,
  .brand-v6 .v6-info-card,
  .brand-v6 .v6-form-card,
  .brand-v6 .v6-cta-panel {
    border-radius: 14px;
  }
  .brand-v6 .v6-services.v6-page-section .v6-service {
    border-radius: 14px;
  }
}



/* ===== v27 contact page rebuild — homepage locked ===== */
.contact-v27 .v27-contact-main {
  overflow: hidden;
}
.contact-v27 .v27-contact-hero {
  position: relative;
  padding: clamp(46px, 6vw, 90px) 0 clamp(36px, 5vw, 72px);
}
.contact-v27 .v27-contact-hero::before {
  content: "";
  position: absolute;
  right: -120px;
  top: 24px;
  width: min(420px, 46vw);
  height: 520px;
  background: url('/assets/img/botanical-v6.svg') center/contain no-repeat;
  opacity: .32;
  pointer-events: none;
}
.contact-v27 .v27-contact-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(340px, .72fr);
  gap: clamp(28px, 5vw, 68px);
  align-items: stretch;
}
.contact-v27 .v27-contact-copy,
.contact-v27 .v27-contact-card,
.contact-v27 .v27-form-shell,
.contact-v27 .v27-process-card,
.contact-v27 .v27-location-card {
  border: 1px solid rgba(62,61,42,.115);
  border-radius: 18px;
  background:
    radial-gradient(circle at 92% 12%, rgba(196,164,79,.13), transparent 34%),
    linear-gradient(145deg, rgba(255,253,247,.82), rgba(250,246,236,.62));
  box-shadow: 0 22px 64px rgba(62,61,42,.055);
}
.contact-v27 .v27-contact-copy {
  padding: clamp(32px, 5vw, 58px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: clamp(420px, 38vw, 570px);
}
.contact-v27 .v27-contact-copy .v6-page-title {
  max-width: 900px;
  font-size: clamp(2.75rem, 5vw, 4.9rem);
  line-height: 1.07;
}
.contact-v27 .v27-contact-copy .v6-page-lead {
  max-width: 720px;
}
.contact-v27 .v27-contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}
.contact-v27 .v27-contact-card {
  position: relative;
  padding: clamp(28px, 3.2vw, 40px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  overflow: hidden;
}
.contact-v27 .v27-contact-card::after {
  content: "";
  position: absolute;
  right: -76px;
  bottom: -112px;
  width: 260px;
  height: 330px;
  background: url('/assets/img/botanical-v6.svg') center/contain no-repeat;
  opacity: .35;
  pointer-events: none;
}
.contact-v27 .v27-contact-methods {
  display: grid;
  gap: 14px;
  position: relative;
  z-index: 1;
}
.contact-v27 .v27-contact-method {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  align-items: center;
  gap: 15px;
  padding: 16px;
  border-radius: 12px;
  border: 1px solid rgba(62,61,42,.11);
  background: rgba(250,246,236,.54);
  color: var(--v6-olive);
  transition:
    transform var(--v6-widget-hover-duration) var(--v6-hover-ease),
    box-shadow var(--v6-widget-hover-duration) var(--v6-hover-ease),
    border-color var(--v6-widget-hover-duration) var(--v6-hover-ease),
    background-color var(--v6-widget-hover-duration) var(--v6-hover-ease),
    color var(--v6-widget-hover-duration) var(--v6-hover-ease) !important;
}
.contact-v27 .v27-contact-method .v6-icon {
  width: 52px;
  height: 52px;
  margin: 0;
}
.contact-v27 .v27-contact-method strong,
.contact-v27 .v27-price-chip span {
  display: block;
  font: 800 .72rem/1.25 "Inter", system-ui, sans-serif;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--v6-olive);
}
.contact-v27 .v27-contact-method em {
  display: block;
  margin-top: 5px;
  font-style: normal;
  color: var(--v6-muted);
  overflow-wrap: anywhere;
}
.contact-v27 .v27-price-chip {
  position: relative;
  z-index: 1;
  margin-top: 24px;
  padding: 20px 22px;
  border-radius: 14px;
  background: rgba(62,61,42,.06);
  border: 1px solid rgba(62,61,42,.1);
}
.contact-v27 .v27-price-chip strong {
  display: block;
  margin-top: 8px;
  font-family: "Lora", Georgia, serif;
  color: var(--v6-olive);
  font-size: clamp(1.55rem, 2.2vw, 2rem);
  font-weight: 500;
  letter-spacing: -.03em;
}
.contact-v27 .v27-contact-section {
  padding: clamp(48px, 6vw, 86px) 0;
  position: relative;
}
.contact-v27 .v27-contact-section.is-soft {
  background: linear-gradient(90deg, rgba(250,246,236,.24), rgba(232,225,207,.40), rgba(250,246,236,.24));
  border-top: 1px solid rgba(62,61,42,.08);
  border-bottom: 1px solid rgba(62,61,42,.08);
}
.contact-v27 .v27-booking-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .72fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: start;
}
.contact-v27 .v27-form-shell,
.contact-v27 .v27-process-card {
  padding: clamp(28px, 3.5vw, 46px);
}
.contact-v27 .v27-form-shell h2,
.contact-v27 .v27-process-card h2,
.contact-v27 .v27-section-heading h2 {
  margin: 0;
  color: var(--v6-olive);
  font-family: "Lora", Georgia, serif;
  font-size: clamp(2.1rem, 3.7vw, 3.35rem);
  line-height: 1.12;
  font-weight: 500;
  letter-spacing: -.03em;
  text-wrap: balance;
}
.contact-v27 .v27-form-shell p,
.contact-v27 .v27-process-card p {
  color: var(--v6-muted);
  line-height: 1.72;
}
.contact-v27 .v27-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 24px;
}
.contact-v27 .v27-form .form-field {
  display: grid;
  gap: 8px;
}
.contact-v27 .v27-form .form-field.full,
.contact-v27 .v27-form .v6-note,
.contact-v27 .v27-form .v6-form-status {
  grid-column: 1 / -1;
}
.contact-v27 .v27-form label span {
  color: var(--v6-muted);
  font-weight: 700;
  letter-spacing: .08em;
}
.contact-v27 .v27-form .btn {
  justify-self: start;
}
.contact-v27 .v27-process-list {
  display: grid;
  gap: 18px;
  list-style: none;
  margin: 26px 0 0;
  padding: 0;
  counter-reset: process;
}
.contact-v27 .v27-process-list li {
  counter-increment: process;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 15px;
  align-items: start;
  color: var(--v6-muted);
}
.contact-v27 .v27-process-list li::before {
  content: counter(process);
  width: 42px;
  height: 42px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(62,61,42,.16);
  color: var(--v6-gold);
  font: 800 .88rem/1 "Inter", system-ui, sans-serif;
}
.contact-v27 .v27-process-list strong {
  display: block;
  color: var(--v6-olive);
  font-family: "Lora", Georgia, serif;
  font-size: 1.18rem;
  font-weight: 500;
  margin-bottom: 4px;
}
.contact-v27 .v27-process-list span {
  display: block;
  line-height: 1.62;
}
.contact-v27 .v27-note-box {
  margin-top: 28px;
  padding: 18px 20px;
  border-radius: 14px;
  background: rgba(232,225,207,.48);
  border: 1px solid rgba(62,61,42,.10);
  color: var(--v6-muted);
  line-height: 1.7;
}
.contact-v27 .v27-section-heading {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 30px;
}
.contact-v27 .v27-location-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 28px);
}
.contact-v27 .v27-location-card {
  padding: clamp(26px, 3vw, 36px);
  min-height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.contact-v27 .v27-location-card .v6-icon {
  margin: 0 0 18px;
}
.contact-v27 .v27-location-card h3 {
  margin: 0 0 12px;
  color: var(--v6-olive);
  font-family: "Lora", Georgia, serif;
  font-size: clamp(1.45rem, 2vw, 1.9rem);
  line-height: 1.18;
  font-weight: 500;
}
.contact-v27 .v27-location-card p {
  color: var(--v6-muted);
  line-height: 1.7;
  margin: 0 0 22px;
}
.contact-v27 .v27-location-card .btn {
  margin-top: auto;
}
.contact-v27 .v27-contact-final {
  padding-top: clamp(54px, 6vw, 86px);
}
@media (hover: hover) and (pointer: fine) {
  .contact-v27 .v27-contact-method:hover,
  .contact-v27 .v27-location-card:hover,
  .contact-v27 .v27-form-shell:hover,
  .contact-v27 .v27-process-card:hover,
  .contact-v27 .v27-contact-card:hover {
    transform: translateY(-2px);
    border-color: rgba(196,164,79,.38);
    box-shadow: 0 24px 70px rgba(62,61,42,.078);
  }
}
@media (max-width: 1080px) {
  .contact-v27 .v27-contact-hero-grid,
  .contact-v27 .v27-booking-grid,
  .contact-v27 .v27-location-grid {
    grid-template-columns: 1fr;
  }
  .contact-v27 .v27-contact-copy {
    min-height: auto;
  }
  .contact-v27 .v27-contact-card,
  .contact-v27 .v27-process-card {
    width: min(760px, 100%);
  }
}
@media (max-width: 720px) {
  .contact-v27 .v27-contact-hero {
    padding-top: 30px;
  }
  .contact-v27 .v27-contact-copy,
  .contact-v27 .v27-contact-card,
  .contact-v27 .v27-form-shell,
  .contact-v27 .v27-process-card,
  .contact-v27 .v27-location-card {
    border-radius: 16px;
  }
  .contact-v27 .v27-contact-copy,
  .contact-v27 .v27-contact-card,
  .contact-v27 .v27-form-shell,
  .contact-v27 .v27-process-card {
    padding: 24px 20px;
  }
  .contact-v27 .v27-contact-actions,
  .contact-v27 .v27-form {
    grid-template-columns: 1fr;
  }
  .contact-v27 .v27-contact-actions .btn,
  .contact-v27 .v27-form .btn {
    width: min(100%, 340px);
  }
  .contact-v27 .v27-form .btn {
    justify-self: stretch;
  }
  .contact-v27 .v27-form {
    display: grid;
    grid-template-columns: 1fr;
  }
  .contact-v27 .v27-contact-method {
    grid-template-columns: 46px minmax(0, 1fr);
    padding: 14px;
  }
  .contact-v27 .v27-contact-method .v6-icon {
    width: 46px;
    height: 46px;
  }
  .contact-v27 .v27-process-list li {
    grid-template-columns: 36px minmax(0, 1fr);
  }
  .contact-v27 .v27-process-list li::before {
    width: 36px;
    height: 36px;
  }
}

/* ===== v28 contact polish: process text + map snippets ===== */
.contact-v27 .v27-booking-grid {
  grid-template-columns: minmax(0, 1fr) minmax(420px, .86fr);
}
.contact-v27 .v27-process-list li {
  grid-template-columns: 46px minmax(0, 1fr);
  column-gap: 18px;
}
.contact-v27 .v27-process-list strong,
.contact-v27 .v27-process-list span {
  grid-column: 2;
  min-width: 0;
}
.contact-v27 .v27-process-list li::before {
  grid-column: 1;
  grid-row: 1 / span 2;
}
.contact-v27 .v27-process-list span {
  max-width: 34rem;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: manual;
}
.contact-v27 .v28-map-snippet {
  width: 100%;
  height: 190px;
  margin: 6px 0 22px;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(62,61,42,.12);
  background:
    radial-gradient(circle at 24% 18%, rgba(196,164,79,.16), transparent 30%),
    linear-gradient(135deg, rgba(250,246,236,.92), rgba(232,225,207,.55));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.66), 0 12px 34px rgba(62,61,42,.05);
}
.contact-v27 .v28-map-snippet iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  filter: sepia(.12) saturate(.78) contrast(.95) brightness(1.02);
}
.contact-v27 .v27-location-card:has(.v28-map-snippet) p {
  margin-bottom: 14px;
}
.contact-v27 .v27-location-card:has(.v28-map-snippet) .btn {
  margin-top: auto;
}
@media (max-width: 1180px) {
  .contact-v27 .v27-booking-grid {
    grid-template-columns: 1fr;
  }
  .contact-v27 .v27-process-card {
    width: 100%;
  }
  .contact-v27 .v27-process-list span {
    max-width: 100%;
  }
}
@media (max-width: 720px) {
  .contact-v27 .v27-process-list li {
    grid-template-columns: 38px minmax(0, 1fr);
    column-gap: 14px;
  }
  .contact-v27 .v28-map-snippet {
    height: 170px;
    border-radius: 12px;
  }
}


/* ===== v29 final inner-page correction pass =====
   Homepage remains locked. This pass fixes nav hit areas, removes line-like hover artifacts,
   resolves inner-page overflow, and restructures O mně / Ceny cards to feel finished. */
.brand-v6 {
  --v6-card-hover-border: rgba(62,61,42,.12);
}

/* Bigger, calmer click targets in the desktop navigation. */
@media (min-width: 1081px) {
  .brand-v6 .v6-links a:not(.btn) {
    display: inline-flex;
    align-items: center;
    min-height: 54px;
    padding: 18px 8px;
    margin: -18px -8px;
    border-radius: 10px;
  }
  .brand-v6 .v6-links a:not(.btn)::after,
  .brand-v6 .nav-links a:not(.btn)::after {
    display: none !important;
    content: none !important;
  }
  .brand-v6 .v6-links a:not(.btn):hover {
    background: rgba(196,164,79,.075);
    color: var(--v6-olive);
  }
}

/* Remove the dark/underline-like hover artifacts from cards and panels. */
.brand-v6 .v6-info-card h1::after,
.brand-v6 .v6-info-card h2::after,
.brand-v6 .v6-info-card h3::after,
.brand-v6 .v6-panel h1::after,
.brand-v6 .v6-panel h2::after,
.brand-v6 .v6-panel h3::after,
.brand-v6 .v6-service h1::after,
.brand-v6 .v6-service h2::after,
.brand-v6 .v6-service h3::after,
.brand-v6 .v27-location-card h1::after,
.brand-v6 .v27-location-card h2::after,
.brand-v6 .v27-location-card h3::after {
  display: none !important;
  content: none !important;
}

@media (hover: hover) and (pointer: fine) {
  .brand-v6 .v6-info-card:hover,
  .brand-v6 .v6-panel:hover,
  .brand-v6 .v6-service:hover,
  .brand-v6 .v6-form-card:hover,
  .brand-v6 .v6-page-photo:hover,
  .brand-v6 .v27-location-card:hover,
  .brand-v6 .v27-process-card:hover,
  .brand-v6 .v27-form-shell:hover,
  .brand-v6 .v27-contact-card:hover,
  .brand-v6 .v27-contact-method:hover {
    border-color: var(--v6-card-hover-border) !important;
    text-decoration: none !important;
  }
}

/* General overflow protection for Czech long words and card headings. */
.brand-v6 .v6-info-card,
.brand-v6 .v6-panel,
.brand-v6 .v6-service,
.brand-v6 .v27-location-card,
.brand-v6 .v27-process-card,
.brand-v6 .v27-form-shell,
.brand-v6 .v27-contact-card {
  overflow: hidden;
}
.brand-v6 .v6-info-card h2,
.brand-v6 .v6-info-card h3,
.brand-v6 .v6-panel h2,
.brand-v6 .v6-panel h3,
.brand-v6 .v6-service h3,
.brand-v6 .v27-location-card h3 {
  max-width: 100%;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: auto;
  text-wrap: balance;
}
.brand-v6 .v6-info-card p,
.brand-v6 .v6-panel p,
.brand-v6 .v6-service p,
.brand-v6 .v27-location-card p {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: auto;
  text-wrap: pretty;
}

/* O mně — specific, wider, higher-end layout. */
.about-v29 .about-v29-story {
  grid-template-columns: minmax(0, .94fr) minmax(340px, .74fr);
  align-items: stretch;
}
.about-v29 .about-v29-principles {
  display: grid;
  gap: 18px;
}
.about-v29 .about-v29-principles .v6-info-card {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  column-gap: 20px;
  align-items: center;
  min-height: auto;
  padding: clamp(22px, 2.6vw, 30px);
}
.about-v29 .about-v29-principles .v6-info-card .v6-icon {
  margin: 0;
}
.about-v29 .about-v29-principles .v6-info-card h3 {
  margin-bottom: 4px;
}
.about-v29 .about-v29-principles .v6-info-card p {
  grid-column: 2;
  margin: 0;
}
.about-v29 .about-v29-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 28px);
  max-width: 980px;
  margin-inline: auto;
}
.about-v29 .about-v29-card-grid .v6-info-card {
  min-height: 240px;
}
.about-v29 .about-v29-card-grid .v6-info-card h3 {
  font-size: clamp(1.5rem, 2.2vw, 2rem);
}
.about-v29 .about-v29-wide-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(22px, 3vw, 34px);
}
.about-v29 .about-v29-wide-grid .v6-panel {
  min-height: 100%;
}

/* Ceny — replace narrow vertical widgets with wider readable rows. */
.pricing-v29 .pricing-v29-layout {
  display: grid;
  grid-template-columns: minmax(360px, .72fr) minmax(0, 1fr);
  gap: clamp(26px, 4vw, 54px);
  align-items: stretch;
}
.pricing-v29 .pricing-v29-feature-list {
  display: grid;
  gap: 18px;
  align-content: stretch;
}
.pricing-v29 .pricing-v29-feature-list .v6-info-card {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 0 20px;
  align-items: center;
  min-height: auto;
  padding: clamp(22px, 2.6vw, 30px);
}
.pricing-v29 .pricing-v29-feature-list .v6-icon {
  margin: 0;
}
.pricing-v29 .pricing-v29-feature-list h3 {
  margin-bottom: 4px;
  font-size: clamp(1.42rem, 2vw, 1.86rem);
}
.pricing-v29 .pricing-v29-feature-list p {
  margin: 0;
}

/* Co nabízím — prevent artificially narrow service titles. */
.services-v29 .v6-services.v6-page-section .v6-service h3,
.brand-v6 .v6-services.v6-page-section .v6-service h3 {
  max-width: none !important;
}
.services-v29 .v6-service > div {
  min-height: auto;
}

/* Contact page — keep process text comfortably readable. */
.contact-v29 .v27-process-list span {
  max-width: 42rem;
}
.contact-v29 .v27-process-card {
  min-width: 0;
}

@media (max-width: 1080px) {
  .about-v29 .about-v29-story,
  .about-v29 .about-v29-wide-grid,
  .pricing-v29 .pricing-v29-layout {
    grid-template-columns: 1fr;
  }
  .about-v29 .about-v29-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .about-v29 .about-v29-principles .v6-info-card,
  .pricing-v29 .pricing-v29-feature-list .v6-info-card {
    grid-template-columns: 1fr;
    justify-items: start;
  }
  .about-v29 .about-v29-principles .v6-info-card p {
    grid-column: auto;
  }
  .about-v29 .about-v29-card-grid,
  .about-v29 .about-v29-wide-grid {
    grid-template-columns: 1fr;
  }
  .about-v29 .about-v29-card-grid .v6-info-card {
    min-height: auto;
  }
}


/* ===== v30 real inner-page cleanup =====
   Homepage stays visually locked. This block targets only the non-homepage body classes.
   Goal: remove hover line artifacts, prevent overflow, improve Ceny/O mně structure, and make nav hit areas easier. */
.about-v29, .pricing-v29, .services-v29, .contact-v27 {
  --v30-card-border: rgba(62,61,42,.12);
  --v30-card-border-hover: rgba(62,61,42,.16);
}

/* Easier desktop navigation hit areas without reintroducing underline animations. */
@media (min-width: 1081px) {
  .brand-v6 .v6-links a:not(.btn) {
    min-height: 62px !important;
    padding: 22px 13px !important;
    margin: -22px -13px !important;
    border-radius: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .brand-v6 .v6-links a:not(.btn)::before,
  .brand-v6 .v6-links a:not(.btn)::after,
  .brand-v6 .nav-links a:not(.btn)::before,
  .brand-v6 .nav-links a:not(.btn)::after {
    content: none !important;
    display: none !important;
  }
}

/* Kill the visible line-drawing artifacts on inner-page widgets/cards.
   The previous issue was not only h3::after — some decorative pseudo-elements and inherited
   border-line helpers could still overlap text when cards moved on hover. */
.about-v29 .v6-info-card::before,
.about-v29 .v6-info-card::after,
.about-v29 .v6-panel::before,
.about-v29 .v6-panel::after,
.pricing-v29 .v6-info-card::before,
.pricing-v29 .v6-info-card::after,
.pricing-v29 .v6-panel::before,
.pricing-v29 .v6-panel::after,
.services-v29 .v6-info-card::before,
.services-v29 .v6-info-card::after,
.services-v29 .v6-panel::before,
.services-v29 .v6-panel::after,
.services-v29 .v6-service::before,
.services-v29 .v6-service::after,
.contact-v27 .v27-contact-card::before,
.contact-v27 .v27-contact-card::after,
.contact-v27 .v27-location-card::before,
.contact-v27 .v27-location-card::after,
.contact-v27 .v27-process-card::before,
.contact-v27 .v27-process-card::after,
.contact-v27 .v27-form-shell::before,
.contact-v27 .v27-form-shell::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}
.about-v29 :is(h1,h2,h3,h4)::before,
.about-v29 :is(h1,h2,h3,h4)::after,
.pricing-v29 :is(h1,h2,h3,h4)::before,
.pricing-v29 :is(h1,h2,h3,h4)::after,
.services-v29 :is(h1,h2,h3,h4)::before,
.services-v29 :is(h1,h2,h3,h4)::after,
.contact-v27 :is(h1,h2,h3,h4)::before,
.contact-v27 :is(h1,h2,h3,h4)::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}
.about-v29 :is(.v6-info-card,.v6-panel,.v6-service) :is(h1,h2,h3,h4,a),
.pricing-v29 :is(.v6-info-card,.v6-panel,.v6-service) :is(h1,h2,h3,h4,a),
.services-v29 :is(.v6-info-card,.v6-panel,.v6-service) :is(h1,h2,h3,h4,a),
.contact-v27 :is(.v27-contact-card,.v27-location-card,.v27-process-card,.v27-form-shell) :is(h1,h2,h3,h4,a) {
  text-decoration: none !important;
  background-image: none !important;
  box-shadow: none !important;
}
@media (hover: hover) and (pointer: fine) {
  .about-v29 :is(.v6-info-card,.v6-panel,.v6-page-photo):hover,
  .pricing-v29 :is(.v6-info-card,.v6-panel,.v6-page-photo):hover,
  .services-v29 :is(.v6-info-card,.v6-panel,.v6-service,.v6-page-photo):hover,
  .contact-v27 :is(.v27-contact-card,.v27-location-card,.v27-process-card,.v27-form-shell,.v27-contact-method):hover {
    border-color: var(--v30-card-border-hover) !important;
  }
}

/* Stronger overflow protection on inner pages. */
.about-v29 :is(.v6-info-card,.v6-panel,.v6-service,.v6-page-photo),
.pricing-v29 :is(.v6-info-card,.v6-panel,.v6-service,.v6-page-photo),
.services-v29 :is(.v6-info-card,.v6-panel,.v6-service,.v6-page-photo),
.contact-v27 :is(.v27-contact-card,.v27-location-card,.v27-process-card,.v27-form-shell,.v27-contact-method) {
  min-width: 0 !important;
  overflow: hidden !important;
}
.about-v29 :is(.v6-info-card,.v6-panel,.v6-service) :is(h2,h3,p,li),
.pricing-v29 :is(.v6-info-card,.v6-panel,.v6-service) :is(h2,h3,p,li),
.services-v29 :is(.v6-info-card,.v6-panel,.v6-service) :is(h2,h3,p,li),
.contact-v27 :is(.v27-contact-card,.v27-location-card,.v27-process-card,.v27-form-shell,.v27-contact-method) :is(h2,h3,p,li,span,strong) {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: manual;
}
.about-v29 :is(.v6-info-card,.v6-panel,.v6-service) :is(h2,h3),
.pricing-v29 :is(.v6-info-card,.v6-panel,.v6-service) :is(h2,h3),
.services-v29 :is(.v6-info-card,.v6-panel,.v6-service) :is(h2,h3),
.contact-v27 :is(.v27-contact-card,.v27-location-card,.v27-process-card,.v27-form-shell) :is(h2,h3) {
  line-height: 1.16 !important;
  text-wrap: balance;
}

/* O mně — make the page feel specifically about Katarína and less generic. */
.about-v29 .about-v29-story {
  grid-template-columns: minmax(0, .98fr) minmax(360px, .7fr) !important;
  gap: clamp(28px, 4vw, 58px) !important;
}
.about-v29 .about-v29-story .v6-panel {
  padding: clamp(34px, 4vw, 56px) !important;
}
.about-v29 .about-v29-principles .v6-info-card {
  grid-template-columns: 62px minmax(0, 1fr) !important;
  gap: 0 22px !important;
  align-items: center !important;
}
.about-v29 .about-v29-principles .v6-info-card p {
  grid-column: 2 !important;
}
.about-v29 .about-v29-card-grid {
  max-width: 1120px !important;
  grid-template-columns: repeat(2, minmax(360px, 1fr)) !important;
}
.about-v29 .about-v29-card-grid .v6-info-card {
  min-height: 0 !important;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 0 22px;
  align-items: start;
  padding: clamp(28px, 3.2vw, 40px) !important;
}
.about-v29 .about-v29-card-grid .v6-info-card .v6-icon { margin: 0 !important; }
.about-v29 .about-v29-card-grid .v6-info-card h3 { margin-top: 2px !important; }
.about-v29 .about-v29-card-grid .v6-info-card p { grid-column: 2; margin-top: 8px; }

/* Ceny — replace the cramped widget feeling with a readable professional two-column block. */
.pricing-v29 .pricing-v29-layout {
  grid-template-columns: minmax(420px, .74fr) minmax(0, 1fr) !important;
  gap: clamp(30px, 4.2vw, 64px) !important;
  align-items: stretch !important;
}
.pricing-v29 .pricing-v29-feature-list {
  grid-template-columns: 1fr !important;
  gap: 18px !important;
}
.pricing-v29 .pricing-v29-feature-list .v6-info-card {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 0 22px !important;
  padding: clamp(26px, 3vw, 36px) !important;
  min-height: 0 !important;
}
.pricing-v29 .pricing-v29-feature-list .v6-info-card .v6-icon { margin: 0 !important; }
.pricing-v29 .pricing-v29-feature-list .v6-info-card h3 { margin: 0 0 6px !important; }
.pricing-v29 .pricing-v29-feature-list .v6-info-card p { margin: 0 !important; }
.pricing-v29 .v6-page-grid {
  grid-template-columns: repeat(3, minmax(240px, 1fr)) !important;
}
.pricing-v29 .v6-page-grid .v6-info-card {
  min-height: 0 !important;
}

@media (max-width: 1180px) {
  .about-v29 .about-v29-story,
  .pricing-v29 .pricing-v29-layout {
    grid-template-columns: 1fr !important;
  }
  .about-v29 .about-v29-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 820px) {
  .about-v29 .about-v29-card-grid,
  .pricing-v29 .v6-page-grid {
    grid-template-columns: 1fr !important;
  }
  .about-v29 .about-v29-card-grid .v6-info-card,
  .pricing-v29 .pricing-v29-feature-list .v6-info-card,
  .about-v29 .about-v29-principles .v6-info-card {
    grid-template-columns: 1fr !important;
    justify-items: start !important;
  }
  .about-v29 .about-v29-card-grid .v6-info-card p,
  .about-v29 .about-v29-principles .v6-info-card p {
    grid-column: auto !important;
  }
}


/* ===== v31 final inner-page repair =====
   Homepage remains locked. This block repairs inner-page artifacts, anchors, mobile nav icon, and about-page structure. */
:root {
  scroll-padding-top: 104px;
}
[id],
section[id] {
  scroll-margin-top: 112px;
}
@media (max-width: 720px) {
  :root { scroll-padding-top: 86px; }
  [id], section[id] { scroll-margin-top: 92px; }
}

/* Remove the dark line artifacts from inner pages completely. */
.about-v29 .v6-page-section.is-soft,
.pricing-v29 .v6-page-section.is-soft,
.services-v29 .v6-page-section.is-soft,
.contact-v27 .v6-page-section.is-soft,
.about-v29 .v6-page-section,
.pricing-v29 .v6-page-section,
.services-v29 .v6-page-section,
.contact-v27 .v6-page-section {
  border-top: 0 !important;
  border-bottom: 0 !important;
}
.about-v29 .v6-line,
.pricing-v29 .v6-line,
.services-v29 .v6-line,
.contact-v27 .v6-line {
  display: none !important;
}
.about-v29 .v6-page-kicker::before,
.about-v29 .v6-page-kicker::after,
.pricing-v29 .v6-page-kicker::before,
.pricing-v29 .v6-page-kicker::after,
.services-v29 .v6-page-kicker::before,
.services-v29 .v6-page-kicker::after,
.contact-v27 .v6-page-kicker::before,
.contact-v27 .v6-page-kicker::after {
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
.about-v29 .v6-page-kicker::after,
.pricing-v29 .v6-page-kicker::after,
.services-v29 .v6-page-kicker::after,
.contact-v27 .v6-page-kicker::after {
  content: "♥" !important;
  display: inline !important;
  color: var(--v6-gold) !important;
}
.about-v29 :is(.v6-panel,.v6-info-card,.v6-service,.v6-page-photo,.about-v31-card)::before,
.about-v29 :is(.v6-panel,.v6-info-card,.v6-service,.v6-page-photo,.about-v31-card)::after,
.pricing-v29 :is(.v6-panel,.v6-info-card,.v6-service,.v6-page-photo)::before,
.pricing-v29 :is(.v6-panel,.v6-info-card,.v6-service,.v6-page-photo)::after,
.services-v29 :is(.v6-panel,.v6-info-card,.v6-service,.v6-page-photo)::before,
.services-v29 :is(.v6-panel,.v6-info-card,.v6-service,.v6-page-photo)::after,
.contact-v27 :is(.v27-contact-card,.v27-location-card,.v27-process-card,.v27-form-shell,.v27-contact-method,.v27-map-card)::before,
.contact-v27 :is(.v27-contact-card,.v27-location-card,.v27-process-card,.v27-form-shell,.v27-contact-method,.v27-map-card)::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}
.about-v29 :is(.v6-panel,.v6-info-card,.v6-service,.about-v31-card) :is(h1,h2,h3,h4,a),
.pricing-v29 :is(.v6-panel,.v6-info-card,.v6-service) :is(h1,h2,h3,h4,a),
.services-v29 :is(.v6-panel,.v6-info-card,.v6-service) :is(h1,h2,h3,h4,a),
.contact-v27 :is(.v27-contact-card,.v27-location-card,.v27-process-card,.v27-form-shell,.v27-contact-method) :is(h1,h2,h3,h4,a) {
  background: transparent !important;
  background-image: none !important;
  text-decoration: none !important;
  box-shadow: none !important;
  border-image: none !important;
}
@media (hover: hover) and (pointer: fine) {
  .about-v29 :is(.v6-info-card,.v6-panel,.v6-page-photo,.about-v31-card):hover,
  .pricing-v29 :is(.v6-info-card,.v6-panel,.v6-page-photo):hover,
  .services-v29 :is(.v6-info-card,.v6-panel,.v6-service,.v6-page-photo):hover,
  .contact-v27 :is(.v27-contact-card,.v27-location-card,.v27-process-card,.v27-form-shell,.v27-contact-method,.v27-map-card):hover {
    border-color: rgba(62,61,42,.12) !important;
  }
}

/* Stronger text safety without ugly one-letter columns. */
.about-v29 :is(.v6-panel,.v6-info-card,.about-v31-card),
.pricing-v29 :is(.v6-panel,.v6-info-card),
.services-v29 :is(.v6-panel,.v6-info-card,.v6-service),
.contact-v27 :is(.v27-contact-card,.v27-location-card,.v27-process-card,.v27-form-shell,.v27-contact-method) {
  min-width: 0 !important;
  overflow: hidden !important;
}
.about-v29 :is(.v6-panel,.v6-info-card,.about-v31-card) :is(h2,h3,p,li,span,strong),
.pricing-v29 :is(.v6-panel,.v6-info-card) :is(h2,h3,p,li,span,strong),
.services-v29 :is(.v6-panel,.v6-info-card,.v6-service) :is(h2,h3,p,li,span,strong),
.contact-v27 :is(.v27-contact-card,.v27-location-card,.v27-process-card,.v27-form-shell,.v27-contact-method) :is(h2,h3,p,li,span,strong) {
  min-width: 0 !important;
  max-width: 100% !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: auto;
}
.about-v29 .about-v29-card-grid .v6-info-card h3,
.pricing-v29 .pricing-v29-feature-list .v6-info-card h3 {
  font-size: clamp(1.34rem, 1.75vw, 1.62rem) !important;
  line-height: 1.18 !important;
}

/* O mně v31 — more specific and more premium. */
.about-v31-main-text {
  max-width: 68ch;
}
.about-v31-main-text .v6-page-lead,
.about-v31-main-text p {
  max-width: 64ch;
}
.about-v31-specific-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, .82fr);
  gap: clamp(24px, 4vw, 58px);
  align-items: stretch;
}
.about-v31-specific-grid .v6-panel {
  padding: clamp(34px, 4vw, 56px) !important;
}
.about-v31-facts {
  display: grid;
  gap: 16px;
}
.about-v31-fact {
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr);
  gap: 0 18px;
  align-items: center;
  padding: clamp(22px, 2.4vw, 30px);
  border: 1px solid rgba(62,61,42,.12);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(255,253,247,.78), rgba(250,246,236,.58));
  box-shadow: 0 16px 46px rgba(62,61,42,.047);
}
.about-v31-fact .v6-icon {
  margin: 0 !important;
}
.about-v31-fact h3 {
  margin: 0 0 5px;
  color: var(--v6-olive);
  font-family: "Lora", Georgia, serif;
  font-weight: 500;
  font-size: clamp(1.28rem, 1.7vw, 1.62rem);
  line-height: 1.18;
}
.about-v31-fact p {
  margin: 0;
  color: var(--v6-muted);
  line-height: 1.62;
}
.about-v31-audience-grid {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(320px, .82fr);
  gap: clamp(24px, 4vw, 52px);
  align-items: start;
}
.about-v31-audience-list {
  display: grid;
  gap: 14px;
}
.about-v31-audience-item {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 18px 20px;
  border: 1px solid rgba(62,61,42,.11);
  border-radius: 14px;
  background: rgba(255,253,247,.56);
}
.about-v31-audience-item b {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(232,225,207,.62);
  color: var(--v6-gold);
  font-size: .86rem;
}
.about-v31-audience-item strong {
  display: block;
  color: var(--v6-olive);
  font-family: "Lora", Georgia, serif;
  font-weight: 500;
  font-size: 1.28rem;
  line-height: 1.2;
}
.about-v31-audience-item span {
  display: block;
  margin-top: 4px;
  color: var(--v6-muted);
  line-height: 1.58;
}
@media (max-width: 1080px) {
  .about-v31-specific-grid,
  .about-v31-audience-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 720px) {
  .about-v31-fact,
  .about-v31-audience-item {
    grid-template-columns: 1fr;
  }
  .about-v31-fact .v6-icon { margin-bottom: 10px !important; }
}

/* Mobile menu icon — larger, clearer, easier tap target. */
.brand-v6 .nav-toggle {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(62,61,42,.18) !important;
  background: rgba(255,253,247,.72) !important;
  box-shadow: 0 10px 28px rgba(62,61,42,.06) !important;
  display: none;
  place-items: center;
  padding: 0 !important;
}
.brand-v6 .nav-toggle span {
  display: block !important;
  width: 20px !important;
  height: 2px !important;
  margin: 0 !important;
  border-radius: 99px !important;
  background: var(--v6-olive) !important;
  transform-origin: center;
}
.brand-v6 .nav-toggle span + span {
  margin-top: -12px !important;
}
.brand-v6 .nav-toggle span:nth-child(1) { transform: translateY(-7px); }
.brand-v6 .nav-toggle span:nth-child(2) { transform: translateY(0); }
.brand-v6 .nav-toggle span:nth-child(3) { transform: translateY(7px); }
.brand-v6 .nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: rotate(45deg); }
.brand-v6 .nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.brand-v6 .nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: rotate(-45deg); }
@media (max-width: 1080px) {
  .brand-v6 .nav-toggle { display: grid !important; }
  .brand-v6 .v6-links a:not(.btn) {
    min-height: 50px;
    display: flex;
    align-items: center;
    padding: 13px 16px;
    border-radius: 12px;
  }
}

/* ===== v33 inner-page interaction timing sync =====
   Keep the homepage locked. This block applies the v32 slower widget timing
   to every card/widget-like element on the non-homepage pages as well.
*/
.about-v29,
.services-v29,
.pricing-v29,
.contact-v27 {
  --v6-widget-hover-duration: 1560ms;
}

.about-v29 :is(.v6-panel,.v6-info-card,.v6-service,.v6-page-photo,.about-v31-card,.about-v31-fact,.about-v31-audience-item),
.services-v29 :is(.v6-panel,.v6-info-card,.v6-service,.v6-page-photo,.v6-cta-panel),
.pricing-v29 :is(.v6-panel,.v6-info-card,.v6-service,.v6-page-photo,.pricing-v29-feature-list .v6-info-card),
.contact-v27 :is(.v27-contact-card,.v27-location-card,.v27-process-card,.v27-form-shell,.v27-contact-method,.v27-map-card,.v6-panel,.v6-info-card,.v6-location-inner),
html.js .about-v29 :is(.v6-panel,.v6-info-card,.v6-service,.v6-page-photo,.about-v31-card,.about-v31-fact,.about-v31-audience-item).reveal,
html.js .services-v29 :is(.v6-panel,.v6-info-card,.v6-service,.v6-page-photo,.v6-cta-panel).reveal,
html.js .pricing-v29 :is(.v6-panel,.v6-info-card,.v6-service,.v6-page-photo).reveal,
html.js .contact-v27 :is(.v27-contact-card,.v27-location-card,.v27-process-card,.v27-form-shell,.v27-contact-method,.v27-map-card,.v6-panel,.v6-info-card,.v6-location-inner).reveal,
html.js .about-v29 :is(.v6-panel,.v6-info-card,.v6-service,.v6-page-photo,.about-v31-card,.about-v31-fact,.about-v31-audience-item).reveal.is-visible,
html.js .services-v29 :is(.v6-panel,.v6-info-card,.v6-service,.v6-page-photo,.v6-cta-panel).reveal.is-visible,
html.js .pricing-v29 :is(.v6-panel,.v6-info-card,.v6-service,.v6-page-photo).reveal.is-visible,
html.js .contact-v27 :is(.v27-contact-card,.v27-location-card,.v27-process-card,.v27-form-shell,.v27-contact-method,.v27-map-card,.v6-panel,.v6-info-card,.v6-location-inner).reveal.is-visible {
  transition:
    transform var(--v6-widget-hover-duration) var(--v6-hover-ease),
    box-shadow var(--v6-widget-hover-duration) var(--v6-hover-ease),
    border-color var(--v6-widget-hover-duration) var(--v6-hover-ease),
    background-color var(--v6-widget-hover-duration) var(--v6-hover-ease),
    color var(--v6-widget-hover-duration) var(--v6-hover-ease),
    opacity var(--v6-widget-hover-duration) var(--v6-hover-ease) !important;
  will-change: transform, box-shadow;
}

.about-v29 :is(.v6-icon,.v6-service-icon),
.services-v29 :is(.v6-icon,.v6-service-icon),
.pricing-v29 :is(.v6-icon,.v6-service-icon),
.contact-v27 :is(.v6-icon,.v6-service-icon) {
  transition:
    transform var(--v6-widget-hover-duration) var(--v6-hover-ease),
    background-color var(--v6-widget-hover-duration) var(--v6-hover-ease),
    border-color var(--v6-widget-hover-duration) var(--v6-hover-ease),
    color var(--v6-widget-hover-duration) var(--v6-hover-ease),
    opacity var(--v6-widget-hover-duration) var(--v6-hover-ease) !important;
}

@media (hover: hover) and (pointer: fine) {
  .about-v29 :is(.v6-panel,.v6-info-card,.v6-service,.v6-page-photo,.about-v31-card,.about-v31-fact,.about-v31-audience-item):hover,
  .services-v29 :is(.v6-panel,.v6-info-card,.v6-service,.v6-page-photo,.v6-cta-panel):hover,
  .pricing-v29 :is(.v6-panel,.v6-info-card,.v6-service,.v6-page-photo):hover,
  .contact-v27 :is(.v27-contact-card,.v27-location-card,.v27-process-card,.v27-form-shell,.v27-contact-method,.v27-map-card,.v6-panel,.v6-info-card,.v6-location-inner):hover,
  html.js .about-v29 :is(.v6-panel,.v6-info-card,.v6-service,.v6-page-photo,.about-v31-card,.about-v31-fact,.about-v31-audience-item).reveal.is-visible:hover,
  html.js .services-v29 :is(.v6-panel,.v6-info-card,.v6-service,.v6-page-photo,.v6-cta-panel).reveal.is-visible:hover,
  html.js .pricing-v29 :is(.v6-panel,.v6-info-card,.v6-service,.v6-page-photo).reveal.is-visible:hover,
  html.js .contact-v27 :is(.v27-contact-card,.v27-location-card,.v27-process-card,.v27-form-shell,.v27-contact-method,.v27-map-card,.v6-panel,.v6-info-card,.v6-location-inner).reveal.is-visible:hover {
    transform: translate3d(0, -2px, 0) scale(1) !important;
    box-shadow: var(--v6-hover-card-shadow) !important;
    border-color: rgba(62,61,42,.12) !important;
  }

  .about-v29 :is(.v6-panel,.v6-info-card,.v6-service,.about-v31-card,.about-v31-fact,.about-v31-audience-item):hover :is(.v6-icon,.v6-service-icon),
  .services-v29 :is(.v6-panel,.v6-info-card,.v6-service):hover :is(.v6-icon,.v6-service-icon),
  .pricing-v29 :is(.v6-panel,.v6-info-card,.v6-service):hover :is(.v6-icon,.v6-service-icon),
  .contact-v27 :is(.v27-contact-card,.v27-location-card,.v27-process-card,.v27-form-shell,.v27-contact-method,.v27-map-card,.v6-panel,.v6-info-card):hover :is(.v6-icon,.v6-service-icon) {
    transform: translate3d(0, -1px, 0) scale(1) !important;
  }
}

@media (hover: none), (pointer: coarse) {
  .about-v29 :is(.v6-panel,.v6-info-card,.v6-service,.v6-page-photo,.about-v31-card,.about-v31-fact,.about-v31-audience-item):hover,
  .services-v29 :is(.v6-panel,.v6-info-card,.v6-service,.v6-page-photo,.v6-cta-panel):hover,
  .pricing-v29 :is(.v6-panel,.v6-info-card,.v6-service,.v6-page-photo):hover,
  .contact-v27 :is(.v27-contact-card,.v27-location-card,.v27-process-card,.v27-form-shell,.v27-contact-method,.v27-map-card,.v6-panel,.v6-info-card,.v6-location-inner):hover {
    transform: none !important;
  }
}


/* ===== v34: pricing CTA contrast fix =====
   The pricing-panel CTA must remain a solid readable button on light cards.
   Some older outline/hero-button rules can otherwise make it look transparent with white text. */
body.pricing-v29.brand-v6 .v6-price-panel a.btn.btn-primary,
body.pricing-v29.brand-v6 .v6-price-panel a.btn.btn-primary:link,
body.pricing-v29.brand-v6 .v6-price-panel a.btn.btn-primary:visited,
body.pricing-v29.brand-v6 .v6-price-panel a.btn.btn-primary:focus-visible {
  background: var(--v6-olive) !important;
  background-color: var(--v6-olive) !important;
  color: #FFFDF7 !important;
  border: 1px solid var(--v6-olive) !important;
  box-shadow: 0 16px 34px rgba(62, 61, 42, .18) !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  text-shadow: none !important;
  -webkit-text-fill-color: #FFFDF7 !important;
}
body.pricing-v29.brand-v6 .v6-price-panel a.btn.btn-primary:hover {
  background: #383822 !important;
  background-color: #383822 !important;
  color: #FFFDF7 !important;
  border-color: #383822 !important;
  box-shadow: 0 18px 38px rgba(62, 61, 42, .22) !important;
  -webkit-text-fill-color: #FFFDF7 !important;
}
body.pricing-v29.brand-v6 .v6-price-panel a.btn.btn-primary *,
body.pricing-v29.brand-v6 .v6-price-panel a.btn.btn-primary svg {
  color: inherit !important;
  stroke: currentColor !important;
  fill: none !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
body.pricing-v29.brand-v6 .v6-price-panel a.btn.btn-primary::before,
body.pricing-v29.brand-v6 .v6-price-panel a.btn.btn-primary::after {
  pointer-events: none !important;
}


/* ===== v38 requested layout edits ===== */
/* 1) Inner-page widget/card hover timing is 50% slower than the previous 1040ms. */
.about-v29,
.services-v29,
.pricing-v29,
.contact-v27 {
  --v6-widget-hover-duration: 1560ms;
}

/* 2) O mně: the first hero section should not look like a widget/card. */
.brand-v6.about-v29 .about-v29-hero .v6-page-hero-inner:not(.is-simple) {
  padding: clamp(24px, 4.2vw, 52px) 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.brand-v6.about-v29 .about-v29-hero .v6-page-photo {
  background: rgba(255,253,247,.42);
}
@media (max-width: 860px) {
  .brand-v6.about-v29 .about-v29-hero .v6-page-hero-inner:not(.is-simple) {
    padding-top: 12px !important;
    padding-bottom: 20px !important;
  }
}

/* 4) Ceny: after removing the page hero, the pricing block becomes the page intro. */
.brand-v6.pricing-v29 .pricing-v29-section {
  padding-top: clamp(54px, 6.2vw, 92px);
}
.brand-v6 .v6-price-heading {
  margin: 0 0 8px;
  color: var(--v6-olive);
  font-family: "Lora", Georgia, serif;
  font-size: clamp(2.2rem, 5vw, 4.5rem);
  line-height: 1.04;
  letter-spacing: -.035em;
}
.brand-v6 .v6-price-amount {
  margin: 0;
  color: var(--v6-gold-dark, #a98a34);
  font-family: "Lora", Georgia, serif;
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: 1.05;
  letter-spacing: .04em;
}
.pricing-v38-note-section {
  padding-top: 0;
  padding-bottom: clamp(38px, 5vw, 70px);
}
.pricing-v38-note {
  display: grid;
  grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr);
  gap: clamp(22px, 4vw, 54px);
  align-items: center;
  padding: clamp(24px, 3vw, 36px) clamp(24px, 4vw, 52px);
}
.pricing-v38-note h2 {
  margin: 0;
  color: var(--v6-olive);
  font-family: "Lora", Georgia, serif;
  font-size: clamp(1.55rem, 2.3vw, 2.5rem);
  line-height: 1.16;
}
.pricing-v38-note p {
  margin: 0;
  color: rgba(62,61,42,.78);
  font-size: clamp(1.02rem, 1.4vw, 1.18rem);
  line-height: 1.8;
}
@media (max-width: 760px) {
  .pricing-v38-note {
    grid-template-columns: 1fr;
  }
}


/* ===== v40 Co nabízím structure: services first, calm first-section feeling ===== */
body.services-v40 .v6-services-hero {
  padding: clamp(42px, 5.4vw, 84px) 0 clamp(28px, 4vw, 54px) !important;
  background: transparent !important;
  overflow: visible !important;
}
body.services-v40 .v6-services-hero::before,
body.services-v40 .v6-services-hero::after {
  display: none !important;
  content: none !important;
}
body.services-v40 .v6-services-hero .v6-container {
  position: relative;
  z-index: 1;
}
body.services-v40 .services-v40-shell {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(62, 61, 42, .13);
  border-radius: 24px;
  background:
    radial-gradient(circle at 90% 8%, rgba(196, 164, 79, .09), transparent 28%),
    linear-gradient(145deg, rgba(255,253,247,.82), rgba(250,246,236,.58));
  box-shadow: 0 22px 70px rgba(62, 61, 42, .08);
  padding: clamp(26px, 4vw, 54px);
}
body.services-v40 .services-v40-shell::after {
  content: "";
  position: absolute;
  right: -88px;
  top: -82px;
  width: clamp(220px, 22vw, 360px);
  height: clamp(260px, 27vw, 430px);
  background: url('/assets/img/botanical-v6.svg') center / contain no-repeat;
  opacity: .25;
  pointer-events: none;
}
body.services-v40 .services-v40-heading {
  position: relative;
  z-index: 1;
  max-width: 790px;
  margin: 0 auto clamp(26px, 3.6vw, 42px);
  text-align: center;
}
body.services-v40 .services-v40-heading .v6-page-kicker {
  justify-content: center;
  margin-bottom: 16px;
}
body.services-v40 .services-v40-heading h1 {
  margin: 0;
  color: var(--v6-olive);
  font-family: "Lora", Georgia, serif;
  font-weight: 500;
  font-size: clamp(2.5rem, 5.8vw, 5.25rem);
  line-height: 1.02;
  letter-spacing: -.04em;
  text-wrap: balance;
}
body.services-v40 .services-v40-heading p:not(.v6-page-kicker) {
  max-width: 700px;
  margin: 0 auto;
  color: rgba(62, 61, 42, .76);
  font-size: clamp(1.05rem, 1.3vw, 1.22rem);
  line-height: 1.82;
  text-wrap: pretty;
}
body.services-v40 .services-v40-hero .v6-line {
  margin: 18px auto 22px;
}
body.services-v40 .services-v40-grid {
  position: relative;
  z-index: 1;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(18px, 2.3vw, 28px) !important;
  width: 100% !important;
  margin: 0 !important;
}
body.services-v40 .services-v40-grid .v6-service {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: 220px minmax(0, 1fr);
  min-height: auto !important;
  border-radius: 18px !important;
  overflow: hidden;
  background: rgba(255,253,247,.74) !important;
  border: 1px solid rgba(62,61,42,.12) !important;
  box-shadow: 0 14px 42px rgba(62,61,42,.06) !important;
}
body.services-v40 .services-v40-grid .v6-service img {
  width: 100%;
  height: 220px !important;
  min-height: 0 !important;
  object-fit: cover;
  display: block;
  filter: sepia(.08) saturate(.88) brightness(1.04) !important;
  transform: none !important;
}
body.services-v40 .services-v40-grid .v6-service > div {
  padding: clamp(24px, 2.8vw, 34px) !important;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
body.services-v40 .services-v40-grid .v6-service-icon {
  margin: 0 0 18px !important;
}
body.services-v40 .services-v40-grid .v6-service h3 {
  max-width: none !important;
  margin: 0 0 6px !important;
  font-size: clamp(1.55rem, 2.2vw, 2.15rem) !important;
  line-height: 1.18 !important;
  text-wrap: balance;
}
body.services-v40 .services-v40-grid .v6-service p {
  margin: 0 0 24px !important;
  max-width: 34em;
  color: rgba(62, 61, 42, .75) !important;
  font-size: 1rem !important;
  line-height: 1.72 !important;
}
body.services-v40 .services-v40-grid .v6-service a {
  margin-top: auto;
}
body.services-v40 .services-v40-overview {
  padding: clamp(24px, 3.5vw, 50px) 0 clamp(34px, 5vw, 74px) !important;
}
body.services-v40 .services-v40-overview .v6-page-title {
  font-size: clamp(2.2rem, 4.8vw, 4.45rem);
}
body.services-v40 .services-v40-problems {
  padding-top: clamp(44px, 6vw, 86px);
}
@media (max-width: 1040px) {
  body.services-v40 .services-v40-grid {
    grid-template-columns: 1fr !important;
    width: min(760px, 100%) !important;
    margin-inline: auto !important;
  }
  body.services-v40 .services-v40-grid .v6-service {
    grid-template-columns: minmax(220px, 36%) minmax(0, 1fr) !important;
    grid-template-rows: auto;
  }
  body.services-v40 .services-v40-grid .v6-service img {
    height: 100% !important;
    min-height: 250px !important;
  }
}
@media (max-width: 700px) {
  body.services-v40 .v6-services-hero {
    padding-top: 28px !important;
  }
  body.services-v40 .services-v40-shell {
    width: calc(100% - 28px);
    margin-inline: auto;
    border-radius: 18px;
    padding: 24px 18px;
  }
  body.services-v40 .services-v40-grid .v6-service {
    grid-template-columns: 1fr !important;
  }
  body.services-v40 .services-v40-grid .v6-service img {
    height: 210px !important;
    min-height: 0 !important;
  }
  body.services-v40 .services-v40-heading h1 {
    font-size: clamp(2.35rem, 11vw, 3.5rem);
  }
}


/* ===== v41 Co nabízím — integrated top section, not detached card ===== */
body.services-v41 .v6-services-hero {
  position: relative;
  isolation: isolate;
  padding: clamp(56px, 7vw, 104px) 0 clamp(54px, 6.2vw, 92px) !important;
  margin: 0 !important;
  background:
    linear-gradient(180deg, rgba(250,246,236,.88), rgba(250,246,236,.78)),
    url('/assets/img/services-forest-ferns.jpg') center 46% / cover no-repeat !important;
  overflow: hidden !important;
}
body.services-v41 .v6-services-hero::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 18% 16%, rgba(253,247,233,.92), transparent 30%),
    radial-gradient(circle at 82% 72%, rgba(253,247,233,.72), transparent 34%),
    rgba(62,61,42,.08) !important;
  pointer-events: none;
}
body.services-v41 .v6-services-hero::after {
  content: "" !important;
  display: block !important;
  position: absolute;
  right: clamp(-70px, -4vw, -30px);
  top: clamp(20px, 4vw, 56px);
  width: clamp(210px, 20vw, 340px);
  height: clamp(250px, 25vw, 410px);
  background: url('/assets/img/botanical-v6.svg') center / contain no-repeat;
  opacity: .16;
  pointer-events: none;
  z-index: 0;
}
body.services-v41 .v6-services-hero .v6-container {
  width: min(1180px, calc(100% - 48px));
  position: relative;
  z-index: 1;
}
body.services-v41 .services-v40-shell {
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}
body.services-v41 .services-v40-shell::after {
  content: none !important;
  display: none !important;
}
body.services-v41 .services-v40-heading {
  max-width: 780px;
  margin: 0 auto clamp(32px, 4.2vw, 54px) !important;
  text-align: center;
}
body.services-v41 .services-v40-heading .v6-page-kicker {
  justify-content: center;
  color: rgba(62,61,42,.82) !important;
}
body.services-v41 .services-v40-heading h1 {
  max-width: 820px;
  margin: 0 auto clamp(12px, 1.8vw, 18px) !important;
  font-size: clamp(2.4rem, 4.8vw, 4.45rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -.04em;
}
body.services-v41 .services-v40-heading p:not(.v6-page-kicker) {
  max-width: 640px;
  font-size: clamp(1.03rem, 1.2vw, 1.16rem) !important;
  line-height: 1.78 !important;
}
body.services-v41 .services-v40-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(20px, 2.5vw, 32px) !important;
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  align-items: stretch;
}
body.services-v41 .services-v40-grid .v6-service {
  display: grid !important;
  grid-template-columns: minmax(190px, 38%) minmax(0, 62%) !important;
  grid-template-rows: auto !important;
  min-height: 250px !important;
  height: 100%;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: rgba(255,253,247,.91) !important;
  border: 1px solid rgba(62,61,42,.14) !important;
  box-shadow: 0 18px 54px rgba(62,61,42,.075) !important;
  backdrop-filter: blur(3px);
}
body.services-v41 .services-v40-grid .v6-service:nth-child(3) {
  grid-column: 1 / -1;
  max-width: 720px;
  justify-self: center;
}
body.services-v41 .services-v40-grid .v6-service img {
  width: 100%;
  height: 100% !important;
  min-height: 250px !important;
  object-fit: cover;
  display: block;
  filter: sepia(.08) saturate(.88) brightness(1.05) !important;
  transform: none !important;
}
body.services-v41 .services-v40-grid .v6-service > div {
  min-height: 0 !important;
  padding: clamp(26px, 3vw, 38px) !important;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
body.services-v41 .services-v40-grid .v6-service-icon {
  margin: 0 0 18px !important;
  width: 58px !important;
  height: 58px !important;
}
body.services-v41 .services-v40-grid .v6-service h3 {
  margin: 0 0 8px !important;
  font-size: clamp(1.48rem, 2vw, 2rem) !important;
  line-height: 1.16 !important;
}
body.services-v41 .services-v40-grid .v6-service b {
  margin-bottom: 12px !important;
}
body.services-v41 .services-v40-grid .v6-service p {
  margin: 0 0 22px !important;
  max-width: 36em !important;
  font-size: .98rem !important;
  line-height: 1.68 !important;
}
body.services-v41 .services-v40-grid .v6-service a {
  margin-top: auto;
}
body.services-v41 .services-v40-overview {
  padding-top: clamp(56px, 6vw, 92px) !important;
}
@media (max-width: 980px) {
  body.services-v41 .services-v40-grid {
    grid-template-columns: 1fr !important;
    width: min(760px, 100%) !important;
  }
  body.services-v41 .services-v40-grid .v6-service:nth-child(3) {
    grid-column: auto;
    max-width: none;
  }
}
@media (max-width: 700px) {
  body.services-v41 .v6-services-hero {
    padding: 32px 0 54px !important;
  }
  body.services-v41 .v6-services-hero .v6-container {
    width: min(100% - 28px, 1180px);
  }
  body.services-v41 .services-v40-heading {
    margin-bottom: 26px !important;
  }
  body.services-v41 .services-v40-heading h1 {
    font-size: clamp(2.25rem, 10vw, 3.35rem) !important;
  }
  body.services-v41 .services-v40-grid .v6-service {
    grid-template-columns: 1fr !important;
    border-radius: 16px !important;
  }
  body.services-v41 .services-v40-grid .v6-service img {
    height: 190px !important;
    min-height: 190px !important;
  }
  body.services-v41 .services-v40-grid .v6-service > div {
    padding: 24px 22px 26px !important;
  }
}


/* ===== v42 Co nabízím requested layout: side-by-side intro, three connected widgets ===== */
body.services-v41 .v6-services-hero {
  padding: clamp(54px, 6.6vw, 96px) 0 clamp(54px, 6vw, 88px) !important;
  background:
    linear-gradient(180deg, rgba(250,246,236,.86), rgba(250,246,236,.78)),
    url('/assets/img/services-forest-ferns.jpg') center 46% / cover no-repeat !important;
}
body.services-v41 .v6-services-hero .v6-container {
  width: min(1220px, calc(100% - 56px)) !important;
}
body.services-v41 .services-v40-shell {
  display: block !important;
}
body.services-v41 .services-v40-heading {
  max-width: 1120px !important;
  margin: 0 auto clamp(30px, 4vw, 52px) !important;
  text-align: left !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.06fr) minmax(320px, .74fr) !important;
  column-gap: clamp(34px, 5vw, 78px) !important;
  row-gap: 14px !important;
  align-items: end !important;
}
body.services-v41 .services-v40-heading .v6-page-kicker {
  grid-column: 1 / -1 !important;
  justify-content: flex-start !important;
  margin: 0 0 2px !important;
  color: rgba(62,61,42,.82) !important;
}
body.services-v41 .services-v40-heading h1 {
  grid-column: 1 !important;
  max-width: 660px !important;
  margin: 0 !important;
  font-size: clamp(3.1rem, 5.15vw, 5.15rem) !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
  text-align: left !important;
  text-wrap: balance !important;
}
body.services-v41 .services-v40-heading .v6-line {
  display: none !important;
}
body.services-v41 .services-v40-heading p:not(.v6-page-kicker) {
  grid-column: 2 !important;
  max-width: 520px !important;
  margin: 0 0 .22em !important;
  text-align: left !important;
  font-size: clamp(1.03rem, 1.12vw, 1.16rem) !important;
  line-height: 1.78 !important;
  color: rgba(62,61,42,.78) !important;
  text-wrap: pretty !important;
}
body.services-v41 .services-v40-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(18px, 2vw, 26px) !important;
  width: min(1120px, 100%) !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  align-items: stretch !important;
}
body.services-v41 .services-v40-grid .v6-service,
body.services-v41 .services-v40-grid .v6-service:nth-child(3) {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: 210px minmax(0, 1fr) !important;
  grid-column: auto !important;
  max-width: none !important;
  justify-self: stretch !important;
  min-height: 100% !important;
  height: auto !important;
  background: rgba(255,253,247,.88) !important;
  border: 1px solid rgba(62,61,42,.13) !important;
  box-shadow: 0 18px 48px rgba(62,61,42,.07) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  backdrop-filter: blur(2px) !important;
}
body.services-v41 .services-v40-grid .v6-service img {
  width: 100% !important;
  height: 210px !important;
  min-height: 0 !important;
  object-fit: cover !important;
  display: block !important;
  filter: sepia(.08) saturate(.88) brightness(1.05) !important;
  transform: none !important;
}
body.services-v41 .services-v40-grid .v6-service > div {
  min-height: 0 !important;
  padding: clamp(24px, 2.8vw, 32px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
}
body.services-v41 .services-v40-grid .v6-service-icon {
  margin: 0 0 18px !important;
  width: 58px !important;
  height: 58px !important;
}
body.services-v41 .services-v40-grid .v6-service h3 {
  margin: 0 0 8px !important;
  font-size: clamp(1.55rem, 1.8vw, 1.95rem) !important;
  line-height: 1.16 !important;
  max-width: 10.5em !important;
}
body.services-v41 .services-v40-grid .v6-service b {
  margin-bottom: 12px !important;
}
body.services-v41 .services-v40-grid .v6-service p {
  margin: 0 0 24px !important;
  max-width: 31em !important;
  font-size: .98rem !important;
  line-height: 1.7 !important;
}
body.services-v41 .services-v40-grid .v6-service a {
  margin-top: auto !important;
}
@media (max-width: 1020px) {
  body.services-v41 .services-v40-heading {
    grid-template-columns: 1fr !important;
    max-width: 760px !important;
  }
  body.services-v41 .services-v40-heading h1,
  body.services-v41 .services-v40-heading p:not(.v6-page-kicker) {
    grid-column: 1 !important;
    max-width: 760px !important;
  }
  body.services-v41 .services-v40-grid {
    grid-template-columns: 1fr !important;
    width: min(760px, 100%) !important;
  }
  body.services-v41 .services-v40-grid .v6-service,
  body.services-v41 .services-v40-grid .v6-service:nth-child(3) {
    grid-template-columns: minmax(220px, 36%) minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
  }
  body.services-v41 .services-v40-grid .v6-service img {
    height: 100% !important;
    min-height: 240px !important;
  }
}
@media (max-width: 700px) {
  body.services-v41 .v6-services-hero .v6-container {
    width: min(100% - 28px, 1220px) !important;
  }
  body.services-v41 .services-v40-heading {
    margin-bottom: 26px !important;
  }
  body.services-v41 .services-v40-heading h1 {
    font-size: clamp(2.3rem, 10vw, 3.35rem) !important;
  }
  body.services-v41 .services-v40-heading p:not(.v6-page-kicker) {
    font-size: 1.02rem !important;
    line-height: 1.72 !important;
  }
  body.services-v41 .services-v40-grid .v6-service,
  body.services-v41 .services-v40-grid .v6-service:nth-child(3) {
    grid-template-columns: 1fr !important;
  }
  body.services-v41 .services-v40-grid .v6-service img {
    height: 190px !important;
    min-height: 190px !important;
  }
}

/* ===== v43 Co nabízím: homepage-matched photos + designed intro note ===== */
body.services-v43 .services-v40-heading {
  align-items: center !important;
  column-gap: clamp(38px, 5.5vw, 88px) !important;
  margin-bottom: clamp(28px, 3.8vw, 46px) !important;
}
body.services-v43 .services-v40-heading h1 {
  max-width: 640px !important;
}
body.services-v43 .services-v43-intro-note {
  grid-column: 2 !important;
  position: relative;
  align-self: end;
  max-width: 540px;
  padding: clamp(22px, 2.2vw, 30px) clamp(24px, 2.7vw, 36px);
  border: 1px solid rgba(62,61,42,.12);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(255,253,247,.74), rgba(250,246,236,.50));
  box-shadow: 0 18px 52px rgba(62,61,42,.055);
}
body.services-v43 .services-v43-intro-note::before {
  content: "";
  position: absolute;
  left: 0;
  top: 22px;
  bottom: 22px;
  width: 3px;
  border-radius: 99px;
  background: rgba(196,164,79,.72);
}
body.services-v43 .services-v43-intro-note span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 12px;
  font: 800 .78rem/1.2 "Inter", system-ui, sans-serif;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(62,61,42,.72);
}
body.services-v43 .services-v43-intro-note span::after {
  content: "♥";
  color: var(--v6-gold);
  letter-spacing: 0;
  font-size: .82rem;
}
body.services-v43 .services-v43-intro-note p {
  grid-column: auto !important;
  max-width: none !important;
  margin: 0 !important;
  text-align: left !important;
  font-size: clamp(1rem, 1.06vw, 1.12rem) !important;
  line-height: 1.82 !important;
  color: rgba(62,61,42,.78) !important;
  text-wrap: pretty !important;
}
body.services-v43 .services-v40-grid .v6-service > img[src$="service-online.jpg"],
body.services-v43 .services-v40-grid .v6-service > img[src$="service-downloads.jpg"],
body.services-v43 .services-v40-grid .v6-service > img[src$="service-consultation.jpg"] {
  object-position: center center !important;
}
@media (max-width: 1020px) {
  body.services-v43 .services-v43-intro-note {
    grid-column: 1 !important;
    max-width: 760px;
    margin-top: 8px;
  }
}
@media (max-width: 700px) {
  body.services-v43 .services-v43-intro-note {
    padding: 20px 20px 20px 24px;
    border-radius: 16px;
  }
  body.services-v43 .services-v43-intro-note p {
    font-size: 1rem !important;
    line-height: 1.72 !important;
  }
}


/* ===== v44 O mně background image + Cena naming support ===== */
body.about-v29 .about-v29-intro {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  padding: clamp(76px, 7.5vw, 120px) 0 !important;
  background:
    linear-gradient(180deg, rgba(250,246,236,.76) 0%, rgba(250,246,236,.66) 48%, rgba(250,246,236,.78) 100%),
    url('/assets/img/about-river-bg.jpg') center 52% / cover no-repeat !important;
}
body.about-v29 .about-v29-intro::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,253,247,.68), transparent 32%),
    radial-gradient(circle at 82% 58%, rgba(255,253,247,.48), transparent 36%),
    linear-gradient(90deg, rgba(250,246,236,.18), rgba(250,246,236,.50)) !important;
}
body.about-v29 .about-v29-intro::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background: rgba(62,61,42,.04) !important;
}
body.about-v29 .about-v29-intro .v6-container {
  position: relative !important;
  z-index: 1 !important;
}
body.about-v29 .about-v29-intro .v6-panel,
body.about-v29 .about-v29-intro .about-v31-fact,
body.about-v29 .about-v29-intro .v6-info-card {
  background: rgba(255,253,247,.83) !important;
  border-color: rgba(62,61,42,.13) !important;
  box-shadow: 0 24px 66px rgba(62,61,42,.075) !important;
  backdrop-filter: blur(3px) !important;
}
body.about-v29 .about-v29-intro .about-v31-main-text,
body.about-v29 .about-v29-intro .v6-panel {
  max-width: none !important;
}
body.about-v29 .about-v29-intro .v6-page-kicker,
body.about-v29 .about-v29-intro h2,
body.about-v29 .about-v29-intro h3,
body.about-v29 .about-v29-intro p {
  text-shadow: 0 1px 0 rgba(255,253,247,.22) !important;
}
@media (max-width: 900px) {
  body.about-v29 .about-v29-intro {
    padding: 64px 0 !important;
    background:
      linear-gradient(180deg, rgba(250,246,236,.82) 0%, rgba(250,246,236,.76) 50%, rgba(250,246,236,.84) 100%),
      url('/assets/img/about-river-bg.jpg') center 50% / cover no-repeat !important;
  }
  body.about-v29 .about-v29-intro .v6-panel,
  body.about-v29 .about-v29-intro .about-v31-fact,
  body.about-v29 .about-v29-intro .v6-info-card {
    backdrop-filter: none !important;
  }
}

/* ===== v45 Non-homepage background transparency adjustment ===== */
/* Requested: make only the non-homepage image overlays about 20% more transparent,
   while leaving the homepage image sections visually locked. */
body.services-v41 .v6-services-hero {
  background:
    linear-gradient(180deg, rgba(250,246,236,.69), rgba(250,246,236,.62)),
    url('/assets/img/services-forest-ferns.jpg') center 46% / cover no-repeat !important;
}
body.services-v41 .v6-services-hero::before {
  background:
    radial-gradient(circle at 18% 16%, rgba(253,247,233,.74), transparent 30%),
    radial-gradient(circle at 82% 72%, rgba(253,247,233,.58), transparent 34%),
    rgba(62,61,42,.064) !important;
}
body.about-v29 .about-v29-intro {
  background:
    linear-gradient(180deg, rgba(250,246,236,.61) 0%, rgba(250,246,236,.53) 48%, rgba(250,246,236,.62) 100%),
    url('/assets/img/about-river-bg.jpg') center 52% / cover no-repeat !important;
}
body.about-v29 .about-v29-intro::before {
  background:
    radial-gradient(circle at 18% 18%, rgba(255,253,247,.54), transparent 32%),
    radial-gradient(circle at 82% 58%, rgba(255,253,247,.38), transparent 36%),
    linear-gradient(90deg, rgba(250,246,236,.14), rgba(250,246,236,.40)) !important;
}
body.about-v29 .about-v29-intro::after {
  background: rgba(62,61,42,.032) !important;
}
@media (max-width: 900px) {
  body.about-v29 .about-v29-intro {
    background:
      linear-gradient(180deg, rgba(250,246,236,.66) 0%, rgba(250,246,236,.61) 50%, rgba(250,246,236,.67) 100%),
      url('/assets/img/about-river-bg.jpg') center 50% / cover no-repeat !important;
  }
}
@media (max-width: 700px) {
  body.services-v41 .v6-services-hero {
    background:
      linear-gradient(180deg, rgba(250,246,236,.69), rgba(250,246,236,.62)),
      url('/assets/img/services-forest-ferns.jpg') center 46% / cover no-repeat !important;
  }
}

/* ===== v46 Homepage non-hero background transparency adjustment ===== */
/* Match the latest transparency direction on the homepage non-hero image section only.
   Homepage hero remains locked and unchanged. */
.brand-v6 .v6-services::before {
  background:
    linear-gradient(180deg, rgba(250,246,236,.56) 0%, rgba(250,246,236,.48) 48%, rgba(250,246,236,.58) 100%),
    url('/assets/img/services-forest-ferns.jpg') center 52% / cover no-repeat !important;
}
@media (max-width: 700px) {
  .brand-v6 .v6-services::before {
    background:
      linear-gradient(180deg, rgba(250,246,236,.56) 0%, rgba(250,246,236,.48) 48%, rgba(250,246,236,.58) 100%),
      url('/assets/img/services-forest-ferns.jpg') center 52% / cover no-repeat !important;
  }
}


/* ===== v47 Kontakt: forest backgrounds under form and process panels ===== */
.contact-v27 .v27-form-shell,
.contact-v27 .v27-process-card {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background-color: rgba(255,253,247,.86) !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center !important;
}

.contact-v27 .v27-form-shell {
  background-image:
    linear-gradient(135deg, rgba(255,253,247,.84) 0%, rgba(250,246,236,.76) 48%, rgba(255,253,247,.88) 100%),
    radial-gradient(circle at 12% 12%, rgba(255,253,247,.42), transparent 36%),
    url('/assets/img/contact-form-bg.jpg') !important;
}

.contact-v27 .v27-process-card {
  background-image:
    linear-gradient(135deg, rgba(255,253,247,.84) 0%, rgba(250,246,236,.74) 50%, rgba(255,253,247,.88) 100%),
    radial-gradient(circle at 86% 14%, rgba(255,253,247,.44), transparent 34%),
    url('/assets/img/contact-process-bg.jpg') !important;
}

.contact-v27 .v27-form-shell > *,
.contact-v27 .v27-process-card > * {
  position: relative;
  z-index: 1;
}

.contact-v27 .v27-form-shell::before,
.contact-v27 .v27-process-card::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  pointer-events: none !important;
  z-index: 0 !important;
  background:
    linear-gradient(180deg, rgba(250,246,236,.22), rgba(250,246,236,.34)),
    radial-gradient(circle at 50% 0%, rgba(255,253,247,.46), transparent 48%) !important;
  opacity: 1 !important;
}

.contact-v27 .v27-form-shell::after,
.contact-v27 .v27-process-card::after {
  content: none !important;
}

@media (max-width: 820px) {
  .contact-v27 .v27-form-shell {
    background-position: center top !important;
  }
  .contact-v27 .v27-process-card {
    background-position: center center !important;
  }
}


/* ===== v49 Cena + Kontakt section background placement ===== */
/* Image placement requested:
   - first forest image behind Cena / “Jak domluva probíhá”
   - second forest image behind Kontakt / form + “Jak to probíhá”
   These are section backgrounds, not card backgrounds. */
.pricing-v38-note-section {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  padding: clamp(78px, 7.6vw, 124px) 0 !important;
  background: var(--v6-cream, #FAF6EC) !important;
}
.pricing-v38-note-section::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  display: block !important;
  background: url('/assets/img/contact-process-bg.jpg') center 52% / cover no-repeat !important;
  transform: scale(1.01) !important;
}
.pricing-v38-note-section::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  display: block !important;
  background:
    radial-gradient(circle at 16% 18%, rgba(255,253,247,.52), transparent 36%),
    radial-gradient(circle at 84% 62%, rgba(255,253,247,.38), transparent 40%),
    linear-gradient(180deg, rgba(250,246,236,.60) 0%, rgba(250,246,236,.50) 48%, rgba(250,246,236,.64) 100%) !important;
}
.pricing-v38-note-section > .v6-container {
  position: relative !important;
  z-index: 2 !important;
}
.pricing-v38-note-section .pricing-v38-note {
  max-width: 980px !important;
  margin-inline: auto !important;
  background: linear-gradient(135deg, rgba(255,253,247,.92), rgba(250,246,236,.86)) !important;
  border-color: rgba(62,61,42,.13) !important;
  box-shadow: 0 26px 78px rgba(48,51,31,.105), 0 1px 0 rgba(255,255,255,.58) inset !important;
  backdrop-filter: blur(2px) !important;
}

/* Kontakt: the second forest image belongs to the whole form/process section. */
.contact-v27 .v27-contact-section.is-soft {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  padding: clamp(82px, 8vw, 132px) 0 !important;
  background: var(--v6-cream, #FAF6EC) !important;
}
.contact-v27 .v27-contact-section.is-soft::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  display: block !important;
  background: url('/assets/img/contact-form-bg.jpg') center 48% / cover no-repeat !important;
  transform: scale(1.01) !important;
}
.contact-v27 .v27-contact-section.is-soft::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  display: block !important;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,253,247,.50), transparent 38%),
    radial-gradient(circle at 86% 16%, rgba(255,253,247,.36), transparent 42%),
    linear-gradient(180deg, rgba(250,246,236,.58) 0%, rgba(250,246,236,.48) 48%, rgba(250,246,236,.62) 100%) !important;
}
.contact-v27 .v27-contact-section.is-soft > .v6-container {
  position: relative !important;
  z-index: 2 !important;
}
/* Remove the older per-card forest-image treatment so the background feels like one section. */
.contact-v27 .v27-contact-section.is-soft .v27-form-shell,
.contact-v27 .v27-contact-section.is-soft .v27-process-card {
  position: relative !important;
  z-index: 2 !important;
  background: linear-gradient(135deg, rgba(255,253,247,.93), rgba(250,246,236,.87)) !important;
  background-image: linear-gradient(135deg, rgba(255,253,247,.93), rgba(250,246,236,.87)) !important;
  background-color: rgba(255,253,247,.90) !important;
  border-color: rgba(62,61,42,.13) !important;
  box-shadow: 0 24px 74px rgba(48,51,31,.10), 0 1px 0 rgba(255,255,255,.62) inset !important;
  backdrop-filter: blur(2px) !important;
}
.contact-v27 .v27-contact-section.is-soft .v27-form-shell::before,
.contact-v27 .v27-contact-section.is-soft .v27-form-shell::after,
.contact-v27 .v27-contact-section.is-soft .v27-process-card::before,
.contact-v27 .v27-contact-section.is-soft .v27-process-card::after {
  content: none !important;
  display: none !important;
}
.contact-v27 .v27-contact-section.is-soft .v27-form-shell > *,
.contact-v27 .v27-contact-section.is-soft .v27-process-card > * {
  position: relative !important;
  z-index: 1 !important;
}
@media (max-width: 820px) {
  .pricing-v38-note-section,
  .contact-v27 .v27-contact-section.is-soft {
    padding: 64px 0 !important;
  }
  .pricing-v38-note-section::before,
  .contact-v27 .v27-contact-section.is-soft::before {
    background-position: center center !important;
  }
  .pricing-v38-note-section .pricing-v38-note,
  .contact-v27 .v27-contact-section.is-soft .v27-form-shell,
  .contact-v27 .v27-contact-section.is-soft .v27-process-card {
    backdrop-filter: none !important;
  }
}

/* ===== v50 Background image overlay transparency refinement ===== */
/* Make all background-image overlays 20% more transparent, except the locked homepage hero. */
body.services-v41 .v6-services-hero {
  background:
    linear-gradient(180deg, rgba(250,246,236,.552), rgba(250,246,236,.496)),
    url('/assets/img/services-forest-ferns.jpg') center 46% / cover no-repeat !important;
}
body.services-v41 .v6-services-hero::before {
  background:
    radial-gradient(circle at 18% 16%, rgba(253,247,233,.592), transparent 30%),
    radial-gradient(circle at 82% 72%, rgba(253,247,233,.464), transparent 34%),
    rgba(62,61,42,.051) !important;
}
body.about-v29 .about-v29-intro {
  background:
    linear-gradient(180deg, rgba(250,246,236,.488) 0%, rgba(250,246,236,.424) 48%, rgba(250,246,236,.496) 100%),
    url('/assets/img/about-river-bg.jpg') center 52% / cover no-repeat !important;
}
body.about-v29 .about-v29-intro::before {
  background:
    radial-gradient(circle at 18% 18%, rgba(255,253,247,.432), transparent 32%),
    radial-gradient(circle at 82% 58%, rgba(255,253,247,.304), transparent 36%),
    linear-gradient(90deg, rgba(250,246,236,.112), rgba(250,246,236,.32)) !important;
}
body.about-v29 .about-v29-intro::after {
  background: rgba(62,61,42,.026) !important;
}
.brand-v6 .v6-services::before {
  background:
    linear-gradient(180deg, rgba(250,246,236,.448) 0%, rgba(250,246,236,.384) 48%, rgba(250,246,236,.464) 100%),
    url('/assets/img/services-forest-ferns.jpg') center 52% / cover no-repeat !important;
}
.pricing-v38-note-section::after {
  background:
    radial-gradient(circle at 16% 18%, rgba(255,253,247,.416), transparent 36%),
    radial-gradient(circle at 84% 62%, rgba(255,253,247,.304), transparent 40%),
    linear-gradient(180deg, rgba(250,246,236,.480) 0%, rgba(250,246,236,.400) 48%, rgba(250,246,236,.512) 100%) !important;
}
.contact-v27 .v27-contact-section.is-soft::after {
  background:
    radial-gradient(circle at 15% 20%, rgba(255,253,247,.400), transparent 38%),
    radial-gradient(circle at 86% 16%, rgba(255,253,247,.288), transparent 42%),
    linear-gradient(180deg, rgba(250,246,236,.464) 0%, rgba(250,246,236,.384) 48%, rgba(250,246,236,.496) 100%) !important;
}
@media (max-width: 900px) {
  body.about-v29 .about-v29-intro {
    background:
      linear-gradient(180deg, rgba(250,246,236,.528) 0%, rgba(250,246,236,.488) 50%, rgba(250,246,236,.536) 100%),
      url('/assets/img/about-river-bg.jpg') center 50% / cover no-repeat !important;
  }
}
@media (max-width: 700px) {
  body.services-v41 .v6-services-hero {
    background:
      linear-gradient(180deg, rgba(250,246,236,.552), rgba(250,246,236,.496)),
      url('/assets/img/services-forest-ferns.jpg') center 46% / cover no-repeat !important;
  }
  .brand-v6 .v6-services::before {
    background:
      linear-gradient(180deg, rgba(250,246,236,.448) 0%, rgba(250,246,236,.384) 48%, rgba(250,246,236,.464) 100%),
      url('/assets/img/services-forest-ferns.jpg') center 52% / cover no-repeat !important;
  }
}


/* ===== v51 refinements: pricing hierarchy, calmer about CTAs, improved Co nabízím note ===== */
/* Cena: switch the visual hierarchy so the price is the main display element. */
body.pricing-v29.brand-v6 .v6-price-heading {
  margin: 0 0 14px !important;
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: clamp(.86rem, 1.02vw, 1.08rem) !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
  color: rgba(62,61,42,.72) !important;
}
body.pricing-v29.brand-v6 .v6-price-amount {
  margin: 0 0 12px !important;
  font-family: "Lora", Georgia, serif !important;
  font-size: clamp(4rem, 8.2vw, 7.4rem) !important;
  line-height: .94 !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  color: var(--v6-olive) !important;
}
body.pricing-v29.brand-v6 .v6-price-subtitle {
  margin-top: 0 !important;
}
@media (max-width: 720px) {
  body.pricing-v29.brand-v6 .v6-price-amount {
    font-size: clamp(3.2rem, 16vw, 5.3rem) !important;
  }
}

/* O mně: the hero stays informational; softer navigation CTAs live at the bottom of the background section. */
body.about-v29 .about-v29-hero .v6-page-actions {
  display: none !important;
}
body.about-v29 .about-v51-bg-cta {
  position: relative !important;
  z-index: 1 !important;
  margin-top: clamp(24px, 3.6vw, 46px) !important;
  padding: clamp(22px, 2.5vw, 32px) clamp(22px, 3.2vw, 42px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: clamp(18px, 3vw, 36px) !important;
  border: 1px solid rgba(62,61,42,.12) !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, rgba(255,253,247,.86), rgba(250,246,236,.72)) !important;
  box-shadow: 0 22px 64px rgba(48,51,31,.08), 0 1px 0 rgba(255,255,255,.58) inset !important;
  backdrop-filter: blur(2px) !important;
}
body.about-v29 .about-v51-bg-cta p {
  margin: 0 !important;
  max-width: 48rem !important;
  color: rgba(62,61,42,.78) !important;
  font-size: clamp(1.02rem, 1.22vw, 1.18rem) !important;
  line-height: 1.72 !important;
  text-shadow: none !important;
}
body.about-v29 .about-v51-bg-cta .v6-page-actions {
  display: flex !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  gap: 12px !important;
}
@media (max-width: 880px) {
  body.about-v29 .about-v51-bg-cta {
    align-items: flex-start !important;
    flex-direction: column !important;
    backdrop-filter: none !important;
  }
  body.about-v29 .about-v51-bg-cta .v6-page-actions {
    width: 100% !important;
  }
}

/* Co nabízím: make the intro/subtext note wider, more grounded, and less translucent. */
body.services-v43 .services-v40-heading {
  grid-template-columns: minmax(0, .94fr) minmax(390px, .94fr) !important;
  column-gap: clamp(36px, 4.5vw, 72px) !important;
}
body.services-v43 .services-v43-intro-note {
  width: min(100%, 640px) !important;
  max-width: 640px !important;
  padding: clamp(24px, 2.4vw, 34px) clamp(28px, 3vw, 44px) !important;
  background: linear-gradient(135deg, rgba(255,253,247,.92), rgba(250,246,236,.82)) !important;
  border-color: rgba(62,61,42,.14) !important;
  box-shadow: 0 22px 66px rgba(48,51,31,.085), 0 1px 0 rgba(255,255,255,.56) inset !important;
  backdrop-filter: blur(2px) !important;
}
body.services-v43 .services-v43-intro-note p {
  font-size: clamp(1.02rem, 1.1vw, 1.15rem) !important;
  line-height: 1.86 !important;
}
@media (max-width: 1020px) {
  body.services-v43 .services-v40-heading {
    grid-template-columns: 1fr !important;
  }
  body.services-v43 .services-v43-intro-note {
    width: 100% !important;
    max-width: 760px !important;
  }
}
@media (max-width: 700px) {
  body.services-v43 .services-v43-intro-note {
    padding: 22px 22px 22px 26px !important;
    backdrop-filter: none !important;
  }
}


/* ===== v52 correction: true font-style swap on Cena + calmer mobile button alignment ===== */
/* Cena: only swap the existing visual styles between the service label and the price.
   No new pricing hierarchy/layout is introduced here. */
body.pricing-v29.brand-v6 .v6-price-heading {
  margin: 0 0 12px !important;
  font-family: "Lora", Georgia, serif !important;
  font-size: clamp(2.65rem, 5.2vw, 4.9rem) !important;
  line-height: 1.02 !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  text-transform: none !important;
  color: var(--v6-olive) !important;
}
body.pricing-v29.brand-v6 .v6-price-amount {
  margin: 0 0 18px !important;
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: clamp(1.05rem, 1.45vw, 1.42rem) !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
  color: var(--v6-gold) !important;
}
body.pricing-v29.brand-v6 .v6-price-subtitle {
  margin-top: 0 !important;
}

/* Mobile: CTAs should feel intentionally centered, not accidentally left-aligned. */
@media (max-width: 760px) {
  .brand-v6 .btn {
    justify-content: center !important;
    text-align: center !important;
  }
  .brand-v6 .v6-page-actions,
  .brand-v6 .hero-actions,
  .brand-v6 .v6-hero-actions,
  .brand-v6 .v27-contact-actions,
  .brand-v6 .about-v51-bg-cta .v6-page-actions,
  .brand-v6 .v6-final-cta,
  .brand-v6 .v6-location-inner,
  .brand-v6 .v6-price-panel {
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
  }
  .brand-v6 .v6-page-actions .btn,
  .brand-v6 .hero-actions .btn,
  .brand-v6 .v6-hero-actions .btn,
  .brand-v6 .about-v51-bg-cta .btn,
  .brand-v6 .v6-final-cta .btn,
  .brand-v6 .v6-location-inner .btn,
  .brand-v6 .v6-price-panel .btn,
  .brand-v6 .v6-cta-panel .btn,
  .brand-v6 .v6-map-placeholder .btn,
  .contact-v27 .v27-contact-actions .btn,
  .contact-v27 .v27-form .btn,
  .contact-v27 .v27-location-card .btn {
    width: min(100%, 22rem) !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .contact-v27 .v27-form .btn,
  .brand-v6 .v6-price-panel .btn,
  .brand-v6 .v6-final-cta .btn {
    width: min(100%, 24rem) !important;
  }
  .brand-v6 .v6-links .btn {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
@media (max-width: 480px) {
  .brand-v6 .v6-page-actions .btn,
  .brand-v6 .about-v51-bg-cta .btn,
  .brand-v6 .v6-final-cta .btn,
  .brand-v6 .v6-price-panel .btn,
  .contact-v27 .v27-contact-actions .btn,
  .contact-v27 .v27-form .btn {
    width: 100% !important;
  }
}


/* ===== v53 pricing typography adjustment =====
   Requested: keep the swapped font styles, but make the service label half-size
   and the price roughly 3x larger than the previous v52 price treatment. */
body.pricing-v29.brand-v6 .v6-price-heading {
  font-family: "Lora", Georgia, serif !important;
  font-size: clamp(1.32rem, 2.6vw, 2.45rem) !important;
  line-height: 1.08 !important;
  font-weight: 500 !important;
  letter-spacing: -.025em !important;
  text-transform: none !important;
  color: var(--v6-olive) !important;
  margin: 0 0 clamp(14px, 1.6vw, 22px) !important;
}
body.pricing-v29.brand-v6 .v6-price-amount {
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: clamp(3.15rem, 4.35vw, 4.26rem) !important;
  line-height: .94 !important;
  font-weight: 800 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: var(--v6-gold) !important;
  margin: 0 0 clamp(18px, 2vw, 28px) !important;
}
@media (max-width: 720px) {
  body.pricing-v29.brand-v6 .v6-price-heading {
    font-size: clamp(1.45rem, 9vw, 2.45rem) !important;
    max-width: 12ch !important;
    margin-inline: auto !important;
  }
  body.pricing-v29.brand-v6 .v6-price-amount {
    font-size: clamp(2.85rem, 15vw, 4.15rem) !important;
    letter-spacing: .14em !important;
  }
}

/* ===== v54: Cena price font refinement =====
   Keep the current pricing layout and hierarchy, but make the price itself
   feel more premium, calm, and consistent with the rest of the brand. */
body.pricing-v29.brand-v6 .v6-price-amount {
  font-family: "Playfair Display", "Lora", Georgia, serif !important;
  font-weight: 500 !important;
  letter-spacing: .025em !important;
  text-transform: none !important;
  color: var(--v6-olive) !important;
  line-height: .88 !important;
  font-variant-numeric: lining-nums;
  font-feature-settings: "lnum" 1, "kern" 1;
}

@media (max-width: 720px) {
  body.pricing-v29.brand-v6 .v6-price-amount {
    letter-spacing: .018em !important;
    line-height: .9 !important;
  }
}


/* ===== v56 high-end homepage opening redesign =====
   Scope: homepage hero + first trust section only. This replaces the older
   portrait-left/name-right opening with a clearer premium conversion layout. */
body.home-v56.brand-v6 .v6-hero,
body.home-v56.brand-v6 .v6-values {
  display: none !important;
}
body.home-v56.brand-v6 main {
  overflow: clip;
}
body.home-v56.brand-v6 .v56-hero {
  position: relative;
  padding: clamp(34px, 4vw, 58px) 0 clamp(46px, 5vw, 76px);
  isolation: isolate;
}
body.home-v56.brand-v6 .v56-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(250,246,236,.86) 0%, rgba(250,246,236,.74) 42%, rgba(250,246,236,.88) 100%),
    radial-gradient(circle at 18% 24%, rgba(196,164,79,.18), transparent 26rem),
    url('/assets/img/hero-forest-path.jpg') center 46% / cover no-repeat;
  filter: sepia(.04) saturate(.92) brightness(1.04);
}
body.home-v56.brand-v6 .v56-hero::after {
  content: "";
  position: absolute;
  right: max(-90px, -7vw);
  top: 8%;
  width: min(360px, 28vw);
  height: min(460px, 36vw);
  background: url('/assets/img/botanical-v6.svg') center/contain no-repeat;
  opacity: .28;
  pointer-events: none;
  z-index: -1;
}
body.home-v56.brand-v6 .v56-hero-shell,
body.home-v56.brand-v6 .v56-trust-shell {
  width: min(1220px, calc(100% - clamp(32px, 6vw, 96px)));
  margin-inline: auto;
}
body.home-v56.brand-v6 .v56-hero-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(420px, .88fr);
  gap: clamp(44px, 6vw, 88px);
  align-items: center;
}
body.home-v56.brand-v6 .v56-hero-copy {
  max-width: 720px;
}
body.home-v56.brand-v6 .v56-kicker {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 clamp(16px, 1.6vw, 24px);
  font: 800 clamp(.75rem, .82vw, .86rem)/1 "Inter", system-ui, sans-serif;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--v6-muted);
}
body.home-v56.brand-v6 .v56-kicker::after {
  content: "♥";
  color: var(--v6-gold);
  letter-spacing: 0;
  font-size: .95rem;
}
body.home-v56.brand-v6 .v56-hero h1 {
  margin: 0;
  max-width: 11.5ch;
  font-family: "Lora", Georgia, serif;
  font-size: clamp(3.25rem, 6.1vw, 7.2rem);
  line-height: .98;
  font-weight: 500;
  letter-spacing: -.055em;
  color: var(--v6-olive);
  text-wrap: balance;
}
body.home-v56.brand-v6 .v56-lead {
  max-width: 62ch;
  margin: clamp(22px, 2.2vw, 34px) 0 0;
  font-size: clamp(1.06rem, 1.18vw, 1.24rem);
  line-height: 1.82;
  color: var(--v6-ink);
  text-wrap: pretty;
}
body.home-v56.brand-v6 .v56-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: clamp(24px, 2.5vw, 38px) 0 0;
  max-width: 660px;
}
body.home-v56.brand-v6 .v56-meta span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 10px 14px;
  border: 1px solid rgba(62,61,42,.12);
  border-radius: 999px;
  background: rgba(255,253,247,.58);
  color: var(--v6-olive);
  font: 700 .82rem/1.2 "Inter", system-ui, sans-serif;
  letter-spacing: .05em;
}
body.home-v56.brand-v6 .v56-meta svg {
  width: 16px;
  height: 16px;
  color: var(--v6-gold);
  flex: 0 0 auto;
}
body.home-v56.brand-v6 .v56-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
  margin-top: clamp(28px, 3vw, 42px);
}
body.home-v56.brand-v6 .v56-text-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  color: var(--v6-olive);
  font: 800 .82rem/1 "Inter", system-ui, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
}
body.home-v56.brand-v6 .v56-text-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 6px;
  height: 1px;
  background: rgba(196,164,79,.55);
  transform-origin: left;
  transition: transform 520ms cubic-bezier(.22,.61,.36,1);
}
body.home-v56.brand-v6 .v56-text-link:hover::after {
  transform: scaleX(.72);
}
body.home-v56.brand-v6 .v56-hero-visual {
  position: relative;
  display: grid;
  align-items: end;
}
body.home-v56.brand-v6 .v56-portrait-card {
  position: relative;
  overflow: hidden;
  min-height: clamp(520px, 45vw, 650px);
  border-radius: 18px;
  border: 1px solid rgba(62,61,42,.12);
  box-shadow: 0 26px 80px rgba(62,61,42,.16);
  background: rgba(255,253,247,.42);
}
body.home-v56.brand-v6 .v56-portrait-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, transparent 42%, rgba(38,38,23,.35) 100%),
    radial-gradient(circle at 18% 82%, rgba(250,246,236,.36), transparent 15rem);
}
body.home-v56.brand-v6 .v56-portrait-card::after {
  content: "";
  position: absolute;
  left: -78px;
  bottom: -95px;
  z-index: 2;
  width: 290px;
  height: 360px;
  background: url('/assets/img/botanical-v6.svg') center/contain no-repeat;
  opacity: .62;
  pointer-events: none;
}
body.home-v56.brand-v6 .v56-portrait-card img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  object-position: center 42%;
  display: block;
  filter: sepia(.11) saturate(.9) brightness(1.04);
}
body.home-v56.brand-v6 .v56-photo-panel {
  position: absolute;
  left: clamp(18px, 2vw, 28px);
  right: clamp(18px, 2vw, 28px);
  bottom: clamp(18px, 2vw, 28px);
  z-index: 3;
  padding: 18px 20px;
  border: 1px solid rgba(255,253,247,.42);
  border-radius: 14px;
  background: rgba(62,61,42,.58);
  color: #FFFDF7;
  backdrop-filter: blur(13px);
  -webkit-backdrop-filter: blur(13px);
}
body.home-v56.brand-v6 .v56-photo-panel span {
  display: block;
  font-family: "Great Vibes", "Brush Script MT", cursive;
  font-size: clamp(2.35rem, 3.4vw, 3.9rem);
  line-height: .9;
  color: #FFFDF7;
}
body.home-v56.brand-v6 .v56-photo-panel strong {
  display: block;
  margin-top: 10px;
  font: 800 .72rem/1 "Inter", system-ui, sans-serif;
  letter-spacing: .23em;
  text-transform: uppercase;
  color: rgba(255,253,247,.78);
}
body.home-v56.brand-v6 .v56-soft-note {
  position: absolute;
  right: min(100%, 84%);
  bottom: 34px;
  z-index: 4;
  width: min(310px, 74vw);
  padding: 22px 24px;
  border-radius: 16px;
  border: 1px solid rgba(62,61,42,.12);
  background: rgba(255,253,247,.82);
  box-shadow: 0 18px 58px rgba(62,61,42,.13);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
body.home-v56.brand-v6 .v56-soft-note b {
  display: block;
  color: var(--v6-olive);
  font-family: "Lora", Georgia, serif;
  font-size: 1.28rem;
  font-weight: 500;
  line-height: 1.25;
  margin-bottom: 8px;
}
body.home-v56.brand-v6 .v56-soft-note p {
  margin: 0;
  color: var(--v6-muted);
  font-size: .92rem;
  line-height: 1.58;
}
body.home-v56.brand-v6 .v56-trust-section {
  position: relative;
  padding: clamp(54px, 6vw, 96px) 0 clamp(56px, 6vw, 92px);
}
body.home-v56.brand-v6 .v56-trust-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(250,246,236,.76) 0%, rgba(250,246,236,.66) 48%, rgba(250,246,236,.8) 100%),
    url('/assets/img/services-forest-ferns.jpg') center 58% / cover no-repeat;
  filter: sepia(.04) saturate(.88) brightness(1.04);
}
body.home-v56.brand-v6 .v56-trust-shell {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
  gap: clamp(34px, 5vw, 78px);
  align-items: start;
}
body.home-v56.brand-v6 .v56-trust-heading {
  position: sticky;
  top: 124px;
  padding: clamp(28px, 3vw, 42px);
  border-radius: 18px;
  border: 1px solid rgba(62,61,42,.11);
  background: rgba(255,253,247,.58);
  box-shadow: 0 18px 60px rgba(62,61,42,.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
body.home-v56.brand-v6 .v56-trust-heading h2 {
  margin: 0;
  max-width: 11ch;
  font-family: "Lora", Georgia, serif;
  font-size: clamp(2.6rem, 4.3vw, 5.1rem);
  line-height: 1.04;
  letter-spacing: -.055em;
  font-weight: 500;
  color: var(--v6-olive);
  text-wrap: balance;
}
body.home-v56.brand-v6 .v56-trust-heading p:not(.v56-kicker) {
  max-width: 45ch;
  margin: clamp(18px, 2vw, 28px) 0 0;
  color: var(--v6-ink);
  font-size: clamp(1.02rem, 1.06vw, 1.12rem);
  line-height: 1.78;
}
body.home-v56.brand-v6 .v56-trust-grid {
  display: grid;
  gap: 18px;
}
body.home-v56.brand-v6 .v56-trust-card {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 22px;
  align-items: start;
  min-height: 168px;
  padding: clamp(24px, 2.5vw, 34px);
  border: 1px solid rgba(62,61,42,.11);
  border-radius: 18px;
  background: rgba(255,253,247,.7);
  box-shadow: 0 18px 54px rgba(62,61,42,.07);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: transform var(--v6-widget-hover-duration, 1560ms) cubic-bezier(.22,.61,.36,1), box-shadow var(--v6-widget-hover-duration, 1560ms) cubic-bezier(.22,.61,.36,1), border-color var(--v6-widget-hover-duration, 1560ms) cubic-bezier(.22,.61,.36,1);
}
@media (hover: hover) and (pointer: fine) {
  body.home-v56.brand-v6 .v56-trust-card:hover,
  body.home-v56.brand-v6 .v56-portrait-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 24px 66px rgba(62,61,42,.11);
    border-color: rgba(196,164,79,.32);
  }
}
body.home-v56.brand-v6 .v56-trust-icon {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(232,225,207,.72);
  color: var(--v6-olive);
}
body.home-v56.brand-v6 .v56-trust-icon svg {
  width: 29px;
  height: 29px;
}
body.home-v56.brand-v6 .v56-trust-card h3 {
  margin: 2px 0 10px;
  font-family: "Lora", Georgia, serif;
  font-size: clamp(1.42rem, 1.7vw, 1.85rem);
  line-height: 1.16;
  font-weight: 500;
  color: var(--v6-olive);
  letter-spacing: -.025em;
}
body.home-v56.brand-v6 .v56-trust-card p {
  margin: 0;
  color: var(--v6-muted);
  line-height: 1.72;
  font-size: .98rem;
}
@media (max-width: 1080px) {
  body.home-v56.brand-v6 .v56-hero-shell {
    grid-template-columns: 1fr;
    max-width: 780px;
  }
  body.home-v56.brand-v6 .v56-hero-copy {
    max-width: none;
    text-align: center;
    margin-inline: auto;
  }
  body.home-v56.brand-v6 .v56-hero h1 {
    max-width: 12ch;
    margin-inline: auto;
  }
  body.home-v56.brand-v6 .v56-lead {
    margin-inline: auto;
  }
  body.home-v56.brand-v6 .v56-meta,
  body.home-v56.brand-v6 .v56-actions {
    justify-content: center;
  }
  body.home-v56.brand-v6 .v56-soft-note {
    right: 22px;
    bottom: 22px;
  }
  body.home-v56.brand-v6 .v56-trust-shell {
    grid-template-columns: 1fr;
    max-width: 820px;
  }
  body.home-v56.brand-v6 .v56-trust-heading {
    position: relative;
    top: auto;
  }
  body.home-v56.brand-v6 .v56-trust-heading h2 {
    max-width: 12ch;
  }
}
@media (max-width: 720px) {
  body.home-v56.brand-v6 .v56-hero-shell,
  body.home-v56.brand-v6 .v56-trust-shell {
    width: calc(100% - 26px);
  }
  body.home-v56.brand-v6 .v56-hero {
    padding-top: 22px;
  }
  body.home-v56.brand-v6 .v56-hero h1 {
    font-size: clamp(3rem, 14.5vw, 4.8rem);
    max-width: 10.5ch;
  }
  body.home-v56.brand-v6 .v56-lead {
    font-size: 1.02rem;
  }
  body.home-v56.brand-v6 .v56-meta span {
    width: 100%;
    justify-content: center;
  }
  body.home-v56.brand-v6 .v56-actions .btn,
  body.home-v56.brand-v6 .v56-actions .v56-text-link {
    width: min(100%, 24rem);
    justify-content: center;
    margin-inline: auto;
  }
  body.home-v56.brand-v6 .v56-text-link::after {
    display: none;
  }
  body.home-v56.brand-v6 .v56-portrait-card {
    min-height: clamp(410px, 116vw, 560px);
  }
  body.home-v56.brand-v6 .v56-photo-panel span {
    font-size: clamp(2.1rem, 11vw, 3rem);
  }
  body.home-v56.brand-v6 .v56-photo-panel strong {
    letter-spacing: .16em;
  }
  body.home-v56.brand-v6 .v56-soft-note {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    margin-top: 14px;
  }
  body.home-v56.brand-v6 .v56-trust-heading {
    padding: 28px 24px;
  }
  body.home-v56.brand-v6 .v56-trust-heading h2 {
    font-size: clamp(2.45rem, 12vw, 3.6rem);
  }
  body.home-v56.brand-v6 .v56-trust-card {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    padding: 28px 24px;
  }
}
@media (max-width: 440px) {
  body.home-v56.brand-v6 .v56-kicker {
    letter-spacing: .18em;
  }
  body.home-v56.brand-v6 .v56-hero h1 {
    font-size: clamp(2.72rem, 15vw, 3.65rem);
  }
}


/* ===== v57 homepage professional fix =====
   Removes the floating hero note, removes the first-section background image,
   and fixes trust-card text flow so copy never collapses into a narrow column. */
body.home-v56.brand-v6 .v56-soft-note {
  display: none !important;
}
body.home-v56.brand-v6 .v56-trust-section {
  background:
    radial-gradient(circle at 78% 8%, rgba(196,164,79,.10), transparent 26rem),
    linear-gradient(180deg, rgba(250,246,236,.98) 0%, rgba(248,243,232,.94) 100%);
}
body.home-v56.brand-v6 .v56-trust-section::before {
  background: none !important;
  filter: none !important;
}
body.home-v56.brand-v6 .v56-trust-heading {
  background: rgba(255,253,247,.82);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body.home-v56.brand-v6 .v56-trust-card {
  background: rgba(255,253,247,.82);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body.home-v56.brand-v6 .v56-trust-card h3,
body.home-v56.brand-v6 .v56-trust-card p {
  grid-column: 2;
  min-width: 0;
  max-width: 52ch;
}
body.home-v56.brand-v6 .v56-trust-card p {
  text-wrap: pretty;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
@media (max-width: 720px) {
  body.home-v56.brand-v6 .v56-trust-card h3,
  body.home-v56.brand-v6 .v56-trust-card p {
    grid-column: 1;
    max-width: 34rem;
  }
}

/* ===== v58 high-end homepage brand alignment =====
   Final override for homepage hero + first trust section. Keeps the established
   olive/gold/cream botanical identity and repairs alignment/professional spacing. */
body.home-v56.brand-v6 .v56-hero {
  padding: clamp(28px, 4vw, 56px) 0 clamp(34px, 4.6vw, 72px);
  background:
    radial-gradient(circle at 8% 4%, rgba(196,164,79,.10), transparent 25rem),
    radial-gradient(circle at 92% 12%, rgba(62,61,42,.06), transparent 28rem),
    var(--v6-paper);
}
body.home-v56.brand-v6 .v56-hero::before {
  display: none !important;
}
body.home-v56.brand-v6 .v56-hero::after {
  right: max(-64px, -4vw);
  top: 8%;
  width: min(340px, 24vw);
  height: min(440px, 32vw);
  opacity: .13;
}
body.home-v56.brand-v6 .v56-hero-shell,
body.home-v56.brand-v6 .v56-trust-shell {
  width: min(1260px, calc(100% - clamp(32px, 6vw, 96px)));
}
body.home-v56.brand-v6 .v56-hero-shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(380px, .86fr);
  gap: clamp(34px, 4.8vw, 74px);
  align-items: center;
  min-height: clamp(620px, 76vh, 780px);
  padding: clamp(34px, 5vw, 74px);
  border: 1px solid rgba(62,61,42,.13);
  border-radius: clamp(20px, 2vw, 30px);
  background:
    linear-gradient(135deg, rgba(255,253,247,.92), rgba(250,246,236,.76)),
    radial-gradient(circle at 12% 14%, rgba(196,164,79,.08), transparent 22rem);
  box-shadow: 0 28px 82px rgba(62,61,42,.10);
  overflow: hidden;
}
body.home-v56.brand-v6 .v56-hero-shell::before {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(196,164,79,.11);
  border-radius: calc(clamp(20px, 2vw, 30px) - 6px);
  pointer-events: none;
}
body.home-v56.brand-v6 .v56-hero-shell::after {
  content: "";
  position: absolute;
  right: -72px;
  bottom: -98px;
  width: min(360px, 30vw);
  height: min(450px, 36vw);
  background: url('/assets/img/botanical-v6.svg') center/contain no-repeat;
  opacity: .16;
  pointer-events: none;
}
body.home-v56.brand-v6 .v56-hero-copy {
  max-width: 700px;
  position: relative;
  z-index: 2;
}
body.home-v56.brand-v6 .v56-kicker {
  margin-bottom: clamp(18px, 1.8vw, 28px);
  color: var(--v6-brown);
  letter-spacing: .30em;
}
body.home-v56.brand-v6 .v56-hero h1 {
  max-width: 12.6ch;
  font-family: "Lora", Georgia, serif;
  font-size: clamp(3.45rem, 5.6vw, 6.8rem);
  line-height: 1.02;
  letter-spacing: -.058em;
  color: var(--v6-olive);
}
body.home-v56.brand-v6 .v56-lead {
  max-width: 59ch;
  margin-top: clamp(20px, 2.2vw, 32px);
  color: var(--v6-muted);
  font-size: clamp(1.04rem, 1.08vw, 1.18rem);
  line-height: 1.82;
}
body.home-v56.brand-v6 .v56-meta {
  gap: 10px;
  margin-top: clamp(22px, 2.5vw, 36px);
}
body.home-v56.brand-v6 .v56-meta span {
  min-height: 40px;
  padding: 10px 14px;
  border-color: rgba(62,61,42,.12);
  background: rgba(255,253,247,.68);
  box-shadow: 0 10px 28px rgba(62,61,42,.045);
}
body.home-v56.brand-v6 .v56-actions {
  margin-top: clamp(26px, 3vw, 40px);
}
body.home-v56.brand-v6 .v56-hero-visual {
  position: relative;
  z-index: 2;
  align-self: stretch;
  min-height: 0;
}
body.home-v56.brand-v6 .v56-portrait-card {
  height: 100%;
  min-height: clamp(520px, 53vw, 650px);
  max-height: 680px;
  border-radius: clamp(18px, 1.7vw, 26px);
  border: 1px solid rgba(62,61,42,.13);
  box-shadow: 0 24px 70px rgba(62,61,42,.13);
  background: var(--v6-cream);
}
body.home-v56.brand-v6 .v56-portrait-card::before {
  background:
    linear-gradient(180deg, rgba(30,30,17,0) 45%, rgba(30,30,17,.42) 100%),
    radial-gradient(circle at 0% 90%, rgba(250,246,236,.24), transparent 14rem);
}
body.home-v56.brand-v6 .v56-portrait-card::after {
  width: 250px;
  height: 330px;
  left: -68px;
  bottom: -92px;
  opacity: .48;
}
body.home-v56.brand-v6 .v56-photo-panel {
  left: clamp(16px, 1.6vw, 24px);
  right: clamp(16px, 1.6vw, 24px);
  bottom: clamp(16px, 1.6vw, 24px);
  padding: 16px 18px 17px;
  border-color: rgba(255,253,247,.28);
  border-radius: 14px;
  background: rgba(62,61,42,.62);
}
body.home-v56.brand-v6 .v56-photo-panel span {
  font-size: clamp(2.15rem, 3vw, 3.35rem);
}
body.home-v56.brand-v6 .v56-photo-panel strong {
  margin-top: 8px;
  color: rgba(255,253,247,.78);
}

body.home-v56.brand-v6 .v56-trust-section {
  padding: clamp(54px, 6vw, 92px) 0 clamp(60px, 6.5vw, 104px);
  background:
    linear-gradient(180deg, rgba(250,246,236,1), rgba(245,236,221,.76)),
    radial-gradient(circle at 12% 50%, rgba(196,164,79,.08), transparent 28rem);
}
body.home-v56.brand-v6 .v56-trust-section::before {
  display: none !important;
}
body.home-v56.brand-v6 .v56-trust-shell {
  display: block;
}
body.home-v56.brand-v6 .v56-trust-heading {
  position: relative;
  top: auto;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: end;
  padding: 0 0 clamp(28px, 4vw, 48px);
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.home-v56.brand-v6 .v56-trust-heading .v56-kicker {
  grid-column: 1 / -1;
  margin-bottom: -4px;
}
body.home-v56.brand-v6 .v56-trust-heading h2 {
  max-width: 13ch;
  margin: 0;
  font-size: clamp(2.65rem, 4.4vw, 5.15rem);
  line-height: 1.06;
}
body.home-v56.brand-v6 .v56-trust-heading p:not(.v56-kicker) {
  max-width: 58ch;
  margin: 0;
  align-self: end;
  color: var(--v6-muted);
  font-size: clamp(1.02rem, 1.1vw, 1.15rem);
  line-height: 1.82;
}
body.home-v56.brand-v6 .v56-trust-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 24px);
}
body.home-v56.brand-v6 .v56-trust-card {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-height: 280px;
  padding: clamp(28px, 3vw, 42px);
  border-radius: 22px;
  border: 1px solid rgba(62,61,42,.12);
  background:
    linear-gradient(135deg, rgba(255,253,247,.92), rgba(250,246,236,.82));
  box-shadow: 0 18px 54px rgba(62,61,42,.075);
}
body.home-v56.brand-v6 .v56-trust-icon {
  width: 64px;
  height: 64px;
  margin-bottom: clamp(24px, 3vw, 34px);
  background: rgba(232,225,207,.72);
}
body.home-v56.brand-v6 .v56-trust-card h3,
body.home-v56.brand-v6 .v56-trust-card p {
  grid-column: auto;
  max-width: none;
  min-width: 0;
}
body.home-v56.brand-v6 .v56-trust-card h3 {
  margin: 0 0 12px;
  font-size: clamp(1.5rem, 1.65vw, 1.82rem);
}
body.home-v56.brand-v6 .v56-trust-card p {
  color: var(--v6-muted);
  font-size: 1rem;
  line-height: 1.74;
}
@media (max-width: 1100px) {
  body.home-v56.brand-v6 .v56-hero-shell {
    grid-template-columns: 1fr;
    max-width: 850px;
    min-height: 0;
  }
  body.home-v56.brand-v6 .v56-hero-copy {
    text-align: center;
    margin-inline: auto;
  }
  body.home-v56.brand-v6 .v56-hero h1,
  body.home-v56.brand-v6 .v56-lead {
    margin-left: auto;
    margin-right: auto;
  }
  body.home-v56.brand-v6 .v56-meta,
  body.home-v56.brand-v6 .v56-actions {
    justify-content: center;
  }
  body.home-v56.brand-v6 .v56-portrait-card {
    max-height: none;
    min-height: clamp(440px, 70vw, 620px);
  }
  body.home-v56.brand-v6 .v56-trust-heading {
    grid-template-columns: 1fr;
    text-align: center;
  }
  body.home-v56.brand-v6 .v56-trust-heading h2,
  body.home-v56.brand-v6 .v56-trust-heading p:not(.v56-kicker) {
    margin-inline: auto;
  }
}
@media (max-width: 860px) {
  body.home-v56.brand-v6 .v56-trust-grid {
    grid-template-columns: 1fr;
    max-width: 620px;
    margin-inline: auto;
  }
  body.home-v56.brand-v6 .v56-trust-card {
    min-height: auto;
  }
}
@media (max-width: 720px) {
  body.home-v56.brand-v6 .v56-hero-shell,
  body.home-v56.brand-v6 .v56-trust-shell {
    width: calc(100% - 28px);
  }
  body.home-v56.brand-v6 .v56-hero-shell {
    padding: 24px 18px 22px;
    border-radius: 22px;
  }
  body.home-v56.brand-v6 .v56-hero-shell::before {
    inset: 10px;
    border-radius: 16px;
  }
  body.home-v56.brand-v6 .v56-hero-shell::after {
    opacity: .08;
  }
  body.home-v56.brand-v6 .v56-hero h1 {
    max-width: 11.5ch;
    font-size: clamp(2.85rem, 13vw, 4.2rem);
  }
  body.home-v56.brand-v6 .v56-lead {
    font-size: 1rem;
    line-height: 1.72;
  }
  body.home-v56.brand-v6 .v56-meta span {
    width: 100%;
    justify-content: center;
  }
  body.home-v56.brand-v6 .v56-actions .btn,
  body.home-v56.brand-v6 .v56-actions .v56-text-link {
    width: min(100%, 25rem);
    justify-content: center;
    margin-inline: auto;
  }
  body.home-v56.brand-v6 .v56-portrait-card {
    min-height: clamp(390px, 112vw, 560px);
    border-radius: 18px;
  }
  body.home-v56.brand-v6 .v56-photo-panel {
    padding: 14px 15px;
  }
  body.home-v56.brand-v6 .v56-photo-panel span {
    font-size: clamp(1.9rem, 10vw, 2.6rem);
  }
  body.home-v56.brand-v6 .v56-photo-panel strong {
    letter-spacing: .14em;
  }
  body.home-v56.brand-v6 .v56-trust-section {
    padding-top: 54px;
  }
  body.home-v56.brand-v6 .v56-trust-heading {
    padding-bottom: 28px;
  }
  body.home-v56.brand-v6 .v56-trust-heading h2 {
    font-size: clamp(2.34rem, 10.8vw, 3.35rem);
  }
  body.home-v56.brand-v6 .v56-trust-card {
    align-items: center;
    text-align: center;
    padding: 28px 22px;
  }
}
@media (max-width: 420px) {
  body.home-v56.brand-v6 .v56-hero-shell {
    width: calc(100% - 22px);
  }
  body.home-v56.brand-v6 .v56-hero h1 {
    font-size: clamp(2.55rem, 14vw, 3.45rem);
  }
  body.home-v56.brand-v6 .v56-kicker {
    letter-spacing: .2em;
  }
}


/* ===== v59 homepage hero original-image background =====
   Removes the full hero widget/card background and restores the original
   forest-path image treatment behind the opening hero. */
body.home-v56.brand-v6 .v56-hero {
  padding: clamp(34px, 5vw, 72px) 0 clamp(44px, 6vw, 88px) !important;
  background:
    linear-gradient(90deg, rgba(250,246,236,.88) 0%, rgba(250,246,236,.74) 44%, rgba(250,246,236,.54) 100%),
    radial-gradient(circle at 18% 18%, rgba(255,253,247,.88), transparent 28rem),
    url('/assets/img/hero-forest-path.jpg') center 48% / cover no-repeat !important;
  overflow: hidden;
}
body.home-v56.brand-v6 .v56-hero::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(250,246,236,.50) 0%, rgba(250,246,236,.24) 48%, rgba(250,246,236,.66) 100%),
    radial-gradient(circle at 82% 22%, rgba(196,164,79,.14), transparent 24rem);
  pointer-events: none;
  z-index: 0;
}
body.home-v56.brand-v6 .v56-hero::after {
  opacity: .18 !important;
  z-index: 1;
}
body.home-v56.brand-v6 .v56-hero-shell {
  position: relative;
  z-index: 2;
  width: min(1280px, calc(100% - clamp(32px, 6vw, 96px))) !important;
  min-height: clamp(600px, 74vh, 760px) !important;
  padding: clamp(26px, 3.6vw, 56px) 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
body.home-v56.brand-v6 .v56-hero-shell::before,
body.home-v56.brand-v6 .v56-hero-shell::after {
  display: none !important;
}
body.home-v56.brand-v6 .v56-hero-copy {
  max-width: 720px;
  padding: clamp(26px, 3.4vw, 46px) clamp(20px, 2.6vw, 34px) !important;
  border-radius: clamp(18px, 1.6vw, 24px);
  background: rgba(250,246,236,.72);
  border: 1px solid rgba(62,61,42,.10);
  box-shadow: 0 22px 70px rgba(62,61,42,.08);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
body.home-v56.brand-v6 .v56-hero h1 {
  max-width: 12.4ch;
}
body.home-v56.brand-v6 .v56-lead {
  color: rgba(74,73,51,.88);
}
body.home-v56.brand-v6 .v56-meta span {
  background: rgba(255,253,247,.72);
}
body.home-v56.brand-v6 .v56-portrait-card {
  background: rgba(250,246,236,.42) !important;
  box-shadow: 0 26px 80px rgba(45,48,30,.18) !important;
}
@media (max-width: 1100px) {
  body.home-v56.brand-v6 .v56-hero {
    background:
      linear-gradient(180deg, rgba(250,246,236,.84) 0%, rgba(250,246,236,.66) 52%, rgba(250,246,236,.82) 100%),
      url('/assets/img/hero-forest-path.jpg') center 42% / cover no-repeat !important;
  }
  body.home-v56.brand-v6 .v56-hero-copy {
    margin-inline: auto;
    background: rgba(250,246,236,.80);
  }
}
@media (max-width: 720px) {
  body.home-v56.brand-v6 .v56-hero {
    padding-top: 24px !important;
    background:
      linear-gradient(180deg, rgba(250,246,236,.88) 0%, rgba(250,246,236,.72) 48%, rgba(250,246,236,.88) 100%),
      url('/assets/img/hero-forest-path.jpg') 52% 38% / cover no-repeat !important;
  }
  body.home-v56.brand-v6 .v56-hero-shell {
    width: calc(100% - 28px) !important;
    padding: 0 !important;
  }
  body.home-v56.brand-v6 .v56-hero-copy {
    padding: 24px 18px !important;
    background: rgba(250,246,236,.86);
  }
}

/* ===== v60 homepage hero copy cleanup =====
   Removes the panel/widget background from the hero text block and makes
   the main homepage title 20% smaller while preserving the existing brand,
   background image, alignment, and responsive behavior. */
body.home-v56.brand-v6 .v56-hero-copy {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body.home-v56.brand-v6 .v56-hero h1 {
  font-size: clamp(2.76rem, 4.48vw, 5.44rem) !important;
  line-height: 1.04 !important;
  max-width: 13.2ch !important;
}
@media (max-width: 720px) {
  body.home-v56.brand-v6 .v56-hero-copy {
    padding: 0 !important;
    background: transparent !important;
  }
  body.home-v56.brand-v6 .v56-hero h1 {
    font-size: clamp(2.28rem, 10.4vw, 3.36rem) !important;
    max-width: 12.2ch !important;
  }
}
@media (max-width: 420px) {
  body.home-v56.brand-v6 .v56-hero h1 {
    font-size: clamp(2.04rem, 11.2vw, 2.76rem) !important;
  }
}

/* ===== v68 homepage final hero + first-section refinement =====
   Keeps CMS tokens, reveal animations, overlays and existing brand system intact.
   Refines: secondary hero CTA, portrait height, photo-name typography, and first trust section typography/alignment. */
body.home-v56.brand-v6 .v56-hero-shell {
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .72fr) !important;
  align-items: start !important;
}
body.home-v56.brand-v6 .v56-actions {
  align-items: center;
}
body.home-v56.brand-v6 .v56-secondary-cta {
  color: var(--v6-olive) !important;
  border-color: rgba(62,61,42,.62) !important;
  background: rgba(250,246,236,.58) !important;
  min-height: 46px !important;
  padding: 13px 24px !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}
body.home-v56.brand-v6 .v56-secondary-cta:hover {
  background: rgba(255,253,247,.78) !important;
  transform: translateY(-1px);
}
body.home-v56.brand-v6 .v56-hero-visual {
  align-self: start !important;
  margin-top: clamp(8px, 1.2vw, 18px);
}
body.home-v56.brand-v6 .v56-portrait-card {
  height: clamp(410px, 39vw, 535px) !important;
  min-height: 0 !important;
  max-height: 535px !important;
}
body.home-v56.brand-v6 .v56-portrait-card img {
  object-position: center top !important;
}
body.home-v56.brand-v6 .v56-photo-panel {
  padding: 14px 16px 15px !important;
  background: rgba(62,61,42,.56) !important;
}
body.home-v56.brand-v6 .v56-photo-panel span {
  font-family: "Great Vibes", "Brush Script MT", "Segoe Script", cursive !important;
  font-weight: 400 !important;
  letter-spacing: .01em !important;
  line-height: .9 !important;
  color: rgba(255,253,247,.95) !important;
  font-size: clamp(1.8rem, 2.45vw, 2.65rem) !important;
}
body.home-v56.brand-v6 .v56-photo-panel strong {
  font-family: "Inter", system-ui, sans-serif !important;
  font-size: .64rem !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  letter-spacing: .25em !important;
  text-transform: uppercase !important;
  color: rgba(255,253,247,.78) !important;
}
body.home-v56.brand-v6 .v56-trust-heading {
  align-items: center !important;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr) !important;
}
body.home-v56.brand-v6 .v56-trust-heading h2 {
  font-family: "Lora", Georgia, serif !important;
  font-size: clamp(2.85rem, 4.95vw, 5.45rem) !important;
  line-height: 1.07 !important;
  letter-spacing: -.055em !important;
  font-weight: 500 !important;
  max-width: 13.4ch !important;
}
body.home-v56.brand-v6 .v56-trust-heading p:not(.v56-kicker) {
  align-self: center !important;
  justify-self: center !important;
  max-width: 54ch !important;
  text-align: left !important;
  font-size: clamp(1.08rem, 1.18vw, 1.22rem) !important;
  line-height: 1.82 !important;
}
@media (max-width: 1100px) {
  body.home-v56.brand-v6 .v56-hero-shell {
    grid-template-columns: 1fr !important;
  }
  body.home-v56.brand-v6 .v56-hero-visual {
    margin-top: clamp(20px, 4vw, 34px);
    justify-self: center;
    width: min(520px, 100%);
  }
  body.home-v56.brand-v6 .v56-portrait-card {
    height: clamp(390px, 62vw, 540px) !important;
    max-height: 540px !important;
  }
  body.home-v56.brand-v6 .v56-trust-heading {
    grid-template-columns: 1fr !important;
  }
  body.home-v56.brand-v6 .v56-trust-heading p:not(.v56-kicker) {
    text-align: center !important;
    justify-self: center !important;
  }
}
@media (max-width: 720px) {
  body.home-v56.brand-v6 .v56-actions .v56-secondary-cta {
    width: min(100%, 25rem);
    justify-content: center;
    margin-inline: auto;
  }
  body.home-v56.brand-v6 .v56-portrait-card {
    height: clamp(360px, 96vw, 500px) !important;
    max-height: 500px !important;
  }
  body.home-v56.brand-v6 .v56-photo-panel span {
    font-size: clamp(1.72rem, 8.8vw, 2.35rem) !important;
  }
  body.home-v56.brand-v6 .v56-trust-heading h2 {
    font-size: clamp(2.34rem, 11vw, 3.55rem) !important;
    max-width: 12.6ch !important;
  }
}


/* ===== v69 Homepage first-section heading size refinement =====
   Matches the first homepage section heading size to the existing
   “Jak domluva probíhá” heading scale without changing the text,
   layout, CMS fields, animations, overlays, or paragraph styling. */
body.home-v56.brand-v6 .v56-trust-heading h2 {
  font-size: clamp(1.55rem, 2.3vw, 2.5rem) !important;
}
@media (max-width: 720px) {
  body.home-v56.brand-v6 .v56-trust-heading h2 {
    font-size: clamp(1.55rem, 8vw, 2.5rem) !important;
  }
}

/* ===== v70 homepage trust intro: use pricing/contact note rhythm without panel background =====
   Match the calm split heading/text layout from the pricing/contact reference,
   but keep this homepage section open: no panel background, border or card shell. */
body.home-v56.brand-v6 .v56-trust-section {
  background: transparent !important;
  padding: clamp(42px, 5.2vw, 78px) 0 clamp(54px, 6.5vw, 104px) !important;
}
body.home-v56.brand-v6 .v56-trust-section::before,
body.home-v56.brand-v6 .v56-trust-section::after {
  display: none !important;
  content: none !important;
}
body.home-v56.brand-v6 .v56-trust-shell {
  display: block !important;
}
body.home-v56.brand-v6 .v56-trust-heading {
  display: grid !important;
  grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: clamp(22px, 4vw, 54px) !important;
  row-gap: 0 !important;
  align-items: center !important;
  padding: clamp(24px, 3vw, 36px) 0 clamp(28px, 4vw, 48px) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
body.home-v56.brand-v6 .v56-trust-heading .v56-kicker {
  grid-column: 1 !important;
  grid-row: 1 !important;
  margin: 0 0 clamp(18px, 1.8vw, 28px) !important;
  align-self: end !important;
}
body.home-v56.brand-v6 .v56-trust-heading h2 {
  grid-column: 1 !important;
  grid-row: 2 !important;
  max-width: 12ch !important;
  margin: 0 !important;
  color: var(--v6-olive) !important;
  font-family: "Lora", Georgia, serif !important;
  font-size: clamp(1.55rem, 2.3vw, 2.5rem) !important;
  line-height: 1.16 !important;
  letter-spacing: -.035em !important;
}
body.home-v56.brand-v6 .v56-trust-heading p:not(.v56-kicker) {
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
  max-width: 58ch !important;
  margin: 0 !important;
  align-self: center !important;
  justify-self: start !important;
  color: rgba(62,61,42,.78) !important;
  font-size: clamp(1.02rem, 1.4vw, 1.18rem) !important;
  line-height: 1.8 !important;
}
@media (max-width: 760px) {
  body.home-v56.brand-v6 .v56-trust-heading {
    grid-template-columns: 1fr !important;
    row-gap: 14px !important;
    text-align: left !important;
  }
  body.home-v56.brand-v6 .v56-trust-heading .v56-kicker,
  body.home-v56.brand-v6 .v56-trust-heading h2,
  body.home-v56.brand-v6 .v56-trust-heading p:not(.v56-kicker) {
    grid-column: 1 !important;
    grid-row: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    justify-self: start !important;
  }
  body.home-v56.brand-v6 .v56-trust-heading h2 {
    max-width: 12ch !important;
  }
}


/* ===== v71 hero portrait label refinement =====
   Match the hero photo-panel name font to the navbar identity font and make
   the dark overlay 50% more transparent. Keeps markup, CMS fields and
   animations unchanged. */
body.home-v56.brand-v6 .v56-photo-panel {
  background: rgba(62,61,42,.28) !important;
}
body.home-v56.brand-v6 .v56-photo-panel span {
  font-family: "Birthstone", "Caveat", "Segoe Print", cursive !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

/* ===== v72 hero overlay transparency + portrait label surface =====
   Make the hero background image overlay twice as transparent and style the
   portrait name panel like the warm translucent hero cards used on Co nabízím.
   Keeps markup, CMS tokens, layout and animations unchanged. */
body.home-v56.brand-v6 .v56-hero {
  background:
    linear-gradient(90deg, rgba(250,246,236,.44) 0%, rgba(250,246,236,.37) 44%, rgba(250,246,236,.27) 100%),
    radial-gradient(circle at 18% 18%, rgba(255,253,247,.44), transparent 28rem),
    url('/assets/img/hero-forest-path.jpg') center 48% / cover no-repeat !important;
}
body.home-v56.brand-v6 .v56-hero::before {
  background:
    linear-gradient(180deg, rgba(250,246,236,.25) 0%, rgba(250,246,236,.12) 48%, rgba(250,246,236,.33) 100%),
    radial-gradient(circle at 82% 22%, rgba(196,164,79,.07), transparent 24rem) !important;
}
body.home-v56.brand-v6 .v56-hero::after {
  opacity: .09 !important;
}
body.home-v56.brand-v6 .v56-photo-panel {
  overflow: hidden !important;
  padding: 16px 18px 17px 22px !important;
  background: rgba(250,246,236,.72) !important;
  border: 1px solid rgba(255,253,247,.58) !important;
  border-radius: 16px !important;
  box-shadow: 0 18px 48px rgba(45,48,30,.14) !important;
  backdrop-filter: blur(10px) saturate(1.08) !important;
  -webkit-backdrop-filter: blur(10px) saturate(1.08) !important;
}
body.home-v56.brand-v6 .v56-photo-panel::before {
  content: "";
  position: absolute;
  inset: 12px auto 12px 0;
  width: 3px;
  border-radius: 999px;
  background: rgba(196,164,79,.72);
}
body.home-v56.brand-v6 .v56-photo-panel span {
  color: var(--v6-olive) !important;
  text-shadow: none !important;
}
body.home-v56.brand-v6 .v56-photo-panel strong {
  color: rgba(62,61,42,.72) !important;
  text-shadow: none !important;
}
@media (max-width: 1100px) {
  body.home-v56.brand-v6 .v56-hero {
    background:
      linear-gradient(180deg, rgba(250,246,236,.42) 0%, rgba(250,246,236,.33) 52%, rgba(250,246,236,.41) 100%),
      url('/assets/img/hero-forest-path.jpg') center 42% / cover no-repeat !important;
  }
}
@media (max-width: 720px) {
  body.home-v56.brand-v6 .v56-hero {
    background:
      linear-gradient(180deg, rgba(250,246,236,.44) 0%, rgba(250,246,236,.36) 48%, rgba(250,246,236,.44) 100%),
      url('/assets/img/hero-forest-path.jpg') 52% 38% / cover no-repeat !important;
  }
  body.home-v56.brand-v6 .v56-photo-panel {
    border-radius: 14px !important;
    padding: 14px 15px 15px 19px !important;
    background: rgba(250,246,236,.76) !important;
  }
}

/* ===== v73 hero overlay and portrait height refinement =====
   Keep the v72 hero/portrait style, but make the forest overlay 20% less
   transparent and let the portrait image sit taller while still staying aligned
   with the first hero meta/pill row. No HTML, CMS fields or animations changed. */
body.home-v56.brand-v6 .v56-hero {
  background:
    linear-gradient(90deg, rgba(250,246,236,.53) 0%, rgba(250,246,236,.45) 44%, rgba(250,246,236,.32) 100%),
    radial-gradient(circle at 18% 18%, rgba(255,253,247,.53), transparent 28rem),
    url('/assets/img/hero-forest-path.jpg') center 48% / cover no-repeat !important;
}
body.home-v56.brand-v6 .v56-hero::before {
  background:
    linear-gradient(180deg, rgba(250,246,236,.30) 0%, rgba(250,246,236,.14) 48%, rgba(250,246,236,.40) 100%),
    radial-gradient(circle at 82% 22%, rgba(196,164,79,.085), transparent 24rem) !important;
}
body.home-v56.brand-v6 .v56-hero::after {
  opacity: .11 !important;
}
body.home-v56.brand-v6 .v56-hero-visual {
  margin-top: clamp(0px, .55vw, 10px) !important;
}
body.home-v56.brand-v6 .v56-portrait-card {
  height: clamp(470px, 43vw, 600px) !important;
  max-height: 600px !important;
}
@media (max-width: 1100px) {
  body.home-v56.brand-v6 .v56-hero {
    background:
      linear-gradient(180deg, rgba(250,246,236,.50) 0%, rgba(250,246,236,.40) 52%, rgba(250,246,236,.49) 100%),
      url('/assets/img/hero-forest-path.jpg') center 42% / cover no-repeat !important;
  }
  body.home-v56.brand-v6 .v56-portrait-card {
    height: clamp(430px, 66vw, 570px) !important;
    max-height: 570px !important;
  }
}
@media (max-width: 720px) {
  body.home-v56.brand-v6 .v56-hero {
    background:
      linear-gradient(180deg, rgba(250,246,236,.53) 0%, rgba(250,246,236,.43) 48%, rgba(250,246,236,.53) 100%),
      url('/assets/img/hero-forest-path.jpg') 52% 38% / cover no-repeat !important;
  }
  body.home-v56.brand-v6 .v56-portrait-card {
    height: clamp(390px, 104vw, 530px) !important;
    max-height: 530px !important;
  }
}

/* ===== v76 homepage hover + navigation polish =====
   Uses the same calm hover language as the homepage “O mně a přístup” image:
   a tiny lift, warmer shadow, stable image crop, and no zoom. Also adds a
   clearer active-page marker and repairs the mobile menu icon geometry. */
body.home-v56.brand-v6 .v56-portrait-card,
body.home-v56.brand-v6 .v56-meta span,
body.home-v56.brand-v6 .v56-trust-card,
html.js body.home-v56.brand-v6 .v56-portrait-card.reveal,
html.js body.home-v56.brand-v6 .v56-portrait-card.reveal.is-visible,
html.js body.home-v56.brand-v6 .v56-meta span.reveal,
html.js body.home-v56.brand-v6 .v56-meta span.reveal.is-visible,
html.js body.home-v56.brand-v6 .v56-trust-card.reveal,
html.js body.home-v56.brand-v6 .v56-trust-card.reveal.is-visible {
  transition:
    transform var(--v6-widget-hover-duration, 1560ms) var(--v6-hover-ease, cubic-bezier(.22,.61,.36,1)),
    box-shadow var(--v6-widget-hover-duration, 1560ms) var(--v6-hover-ease, cubic-bezier(.22,.61,.36,1)),
    border-color var(--v6-widget-hover-duration, 1560ms) var(--v6-hover-ease, cubic-bezier(.22,.61,.36,1)),
    background-color var(--v6-widget-hover-duration, 1560ms) var(--v6-hover-ease, cubic-bezier(.22,.61,.36,1)),
    color var(--v6-widget-hover-duration, 1560ms) var(--v6-hover-ease, cubic-bezier(.22,.61,.36,1)),
    opacity var(--v6-widget-hover-duration, 1560ms) var(--v6-hover-ease, cubic-bezier(.22,.61,.36,1)) !important;
  will-change: transform, box-shadow;
}
body.home-v56.brand-v6 .v56-portrait-card img,
body.home-v56.brand-v6 .v56-portrait-card:hover img {
  transition: none !important;
  transform: none !important;
  filter: sepia(.11) saturate(.9) brightness(1.04) !important;
}
@media (hover: hover) and (pointer: fine) {
  body.home-v56.brand-v6 .v56-portrait-card:hover,
  body.home-v56.brand-v6 .v56-meta span:hover,
  body.home-v56.brand-v6 .v56-trust-card:hover,
  html.js body.home-v56.brand-v6 .v56-portrait-card.reveal.is-visible:hover,
  html.js body.home-v56.brand-v6 .v56-meta span.reveal.is-visible:hover,
  html.js body.home-v56.brand-v6 .v56-trust-card.reveal.is-visible:hover {
    transform: translate3d(0, -2px, 0) scale(1) !important;
    box-shadow: var(--v6-hover-card-shadow, 0 26px 70px rgba(62,61,42,.13)) !important;
    border-color: rgba(70, 70, 43, .18) !important;
  }
  body.home-v56.brand-v6 .v56-meta span:hover {
    background: rgba(255,253,247,.82) !important;
  }
  body.home-v56.brand-v6 .v56-trust-card:hover .v56-trust-icon {
    transform: translate3d(0, -1px, 0) scale(1) !important;
  }
}
@media (hover: none), (pointer: coarse) {
  body.home-v56.brand-v6 .v56-portrait-card:hover,
  body.home-v56.brand-v6 .v56-meta span:hover,
  body.home-v56.brand-v6 .v56-trust-card:hover {
    transform: none !important;
  }
}

/* Active navbar item: visible but still calm/premium. */
.brand-v6 .v6-links a:not(.btn) {
  position: relative;
  border-radius: 999px;
  padding: 9px 12px;
  margin-inline: -12px;
  transition:
    color 520ms var(--v6-hover-ease, cubic-bezier(.22,.61,.36,1)),
    background-color 520ms var(--v6-hover-ease, cubic-bezier(.22,.61,.36,1)) !important;
}
.brand-v6 .v6-links a:not(.btn)::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -10px;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--v6-gold);
  opacity: 0;
  transform: translate3d(-50%, 3px, 0) scale(.7);
  transition:
    opacity 520ms var(--v6-hover-ease, cubic-bezier(.22,.61,.36,1)),
    transform 520ms var(--v6-hover-ease, cubic-bezier(.22,.61,.36,1));
  pointer-events: none;
}
.brand-v6 .v6-links a[aria-current="page"]:not(.btn) {
  color: var(--v6-olive) !important;
  background: rgba(232,225,207,.36);
}
.brand-v6 .v6-links a[aria-current="page"]:not(.btn)::before {
  opacity: 1;
  transform: translate3d(-50%, 0, 0) scale(1);
}
.brand-v6 .v6-links a[aria-current="page"]:not(.btn)::after {
  transform: scaleX(1) !important;
  opacity: .72;
}

/* Professional mobile menu icon: centered bars, clean X state, no broken spacing. */
.brand-v6 .nav-toggle {
  position: relative !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(62,61,42,.18) !important;
  background: rgba(255,253,247,.78) !important;
  box-shadow: 0 12px 30px rgba(62,61,42,.07) !important;
  padding: 0 !important;
  place-items: center !important;
}
.brand-v6 .nav-toggle span {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  display: block !important;
  width: 20px !important;
  height: 2px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  background: var(--v6-olive) !important;
  transform: translate3d(-50%, -50%, 0) !important;
  transform-origin: center !important;
  transition:
    transform 260ms var(--v6-hover-ease, cubic-bezier(.22,.61,.36,1)),
    opacity 180ms ease,
    width 260ms var(--v6-hover-ease, cubic-bezier(.22,.61,.36,1)) !important;
}
.brand-v6 .nav-toggle span + span {
  margin: 0 !important;
}
.brand-v6 .nav-toggle span:nth-child(1) { transform: translate3d(-50%, calc(-50% - 7px), 0) !important; }
.brand-v6 .nav-toggle span:nth-child(2) { transform: translate3d(-50%, -50%, 0) !important; }
.brand-v6 .nav-toggle span:nth-child(3) { transform: translate3d(-50%, calc(-50% + 7px), 0) !important; }
.brand-v6 .nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translate3d(-50%, -50%, 0) rotate(45deg) !important; }
.brand-v6 .nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0 !important; width: 0 !important; }
.brand-v6 .nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translate3d(-50%, -50%, 0) rotate(-45deg) !important; }
.brand-v6 .nav-toggle:focus-visible {
  outline: 2px solid rgba(196,164,79,.55) !important;
  outline-offset: 4px !important;
}
@media (max-width: 1080px) {
  .brand-v6 .v6-links a:not(.btn) {
    margin-inline: 0 !important;
    padding: 13px 16px 13px 42px !important;
    border-radius: 14px !important;
  }
  .brand-v6 .v6-links a:not(.btn)::before {
    left: 18px !important;
    top: 50% !important;
    bottom: auto !important;
    width: 7px !important;
    height: 7px !important;
    transform: translate3d(0, -50%, 0) scale(.72) !important;
  }
  .brand-v6 .v6-links a[aria-current="page"]:not(.btn) {
    background: rgba(232,225,207,.42) !important;
  }
  .brand-v6 .v6-links a[aria-current="page"]:not(.btn)::before {
    transform: translate3d(0, -50%, 0) scale(1) !important;
  }
}

/* ===== v77 desktop active nav underline refinement =====
   Desktop current page marker uses a calm underline instead of a filled pill/dot.
   Mobile keeps the v76 row highlight and left dot for clarity inside the dropdown. */
@media (min-width: 1081px) {
  .brand-v6 .v6-links a:not(.btn) {
    border-radius: 0 !important;
    padding: 9px 2px 12px !important;
    margin-inline: 0 !important;
    background: transparent !important;
  }
  .brand-v6 .v6-links a:not(.btn)::before {
    display: none !important;
    content: none !important;
  }
  .brand-v6 .v6-links a:not(.btn)::after,
  .brand-v6 .nav-links a:not(.btn)::after {
    display: block !important;
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, transparent, rgba(196,164,79,.95), transparent) !important;
    opacity: 0 !important;
    transform: scaleX(.38) translateZ(0) !important;
    transform-origin: center !important;
    transition:
      opacity 520ms var(--v6-hover-ease, cubic-bezier(.22,.61,.36,1)),
      transform 520ms var(--v6-hover-ease, cubic-bezier(.22,.61,.36,1)) !important;
    pointer-events: none !important;
  }
  .brand-v6 .v6-links a:not(.btn):hover {
    color: var(--v6-gold) !important;
    background: transparent !important;
  }
  .brand-v6 .v6-links a:not(.btn):hover::after {
    opacity: .46 !important;
    transform: scaleX(.72) translateZ(0) !important;
  }
  .brand-v6 .v6-links a[aria-current="page"]:not(.btn) {
    color: var(--v6-olive) !important;
    background: transparent !important;
  }
  .brand-v6 .v6-links a[aria-current="page"]:not(.btn)::after {
    opacity: .9 !important;
    transform: scaleX(1) translateZ(0) !important;
  }
}

/* ===== v78 desktop active nav real underline =====
   Current desktop page marker is a clear solid line, not a shadow/glow. */
@media (min-width: 1081px) {
  .brand-v6 .v6-links a:not(.btn),
  .brand-v6 .nav-links a:not(.btn) {
    padding: 9px 2px 13px !important;
  }

  .brand-v6 .v6-links a:not(.btn)::after,
  .brand-v6 .nav-links a:not(.btn)::after {
    left: 0 !important;
    right: auto !important;
    bottom: 2px !important;
    width: 100% !important;
    height: 3px !important;
    border-radius: 0 !important;
    background: var(--v6-gold) !important;
    box-shadow: none !important;
    filter: none !important;
    opacity: 0 !important;
    transform: scaleX(0) translateZ(0) !important;
    transform-origin: left center !important;
    transition:
      opacity 260ms ease,
      transform 320ms var(--v6-hover-ease, cubic-bezier(.22,.61,.36,1)) !important;
  }

  .brand-v6 .v6-links a:not(.btn):hover::after,
  .brand-v6 .nav-links a:not(.btn):hover::after {
    opacity: .42 !important;
    transform: scaleX(.66) translateZ(0) !important;
  }

  .brand-v6 .v6-links a[aria-current="page"]:not(.btn)::after,
  .brand-v6 .nav-links a[aria-current="page"]:not(.btn)::after {
    opacity: 1 !important;
    transform: scaleX(1) translateZ(0) !important;
  }
}


/* ===== v79 desktop active nav filled underline refinement =====
   Solid filled underline sits closer to the text and animates with a cleaner premium draw. */
@media (min-width: 1081px) {
  .brand-v6 .v6-links a:not(.btn),
  .brand-v6 .nav-links a:not(.btn) {
    padding: 9px 2px 7px !important;
    overflow: visible !important;
  }

  .brand-v6 .v6-links a:not(.btn)::after,
  .brand-v6 .nav-links a:not(.btn)::after {
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 3px !important;
    border-radius: 0 !important;
    background: var(--v6-gold) !important;
    box-shadow: none !important;
    filter: none !important;
    opacity: 0 !important;
    transform: scaleX(0) translateZ(0) !important;
    transform-origin: left center !important;
    will-change: transform, opacity !important;
    transition:
      transform 420ms cubic-bezier(.2,.72,.18,1),
      opacity 220ms ease,
      background-color 220ms ease !important;
  }

  .brand-v6 .v6-links a:not(.btn):hover,
  .brand-v6 .nav-links a:not(.btn):hover {
    color: var(--v6-olive) !important;
  }

  .brand-v6 .v6-links a:not(.btn):hover::after,
  .brand-v6 .nav-links a:not(.btn):hover::after {
    opacity: .55 !important;
    transform: scaleX(.74) translateZ(0) !important;
  }

  .brand-v6 .v6-links a[aria-current="page"]:not(.btn),
  .brand-v6 .nav-links a[aria-current="page"]:not(.btn) {
    color: var(--v6-olive) !important;
  }

  .brand-v6 .v6-links a[aria-current="page"]:not(.btn)::after,
  .brand-v6 .nav-links a[aria-current="page"]:not(.btn)::after {
    opacity: 1 !important;
    transform: scaleX(1) translateZ(0) !important;
    background: var(--v6-gold) !important;
  }
}

/* ===== v80 final desktop nav underline override =====
   Real filled underline, closer to text, stronger selector, cache-busted via motion80.
   This intentionally overrides all earlier navbar marker experiments. */
@media (min-width: 1081px) {
  body.brand-v6 header.site-header .v6-links > a:not(.btn),
  body.brand-v6 header.site-header .nav-links > a:not(.btn) {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 8px 1px 5px !important;
    margin-inline: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    overflow: visible !important;
    color: var(--v6-ink) !important;
    transition: color 260ms cubic-bezier(.2,.72,.18,1) !important;
  }

  body.brand-v6 header.site-header .v6-links > a:not(.btn)::before,
  body.brand-v6 header.site-header .nav-links > a:not(.btn)::before {
    display: none !important;
    content: none !important;
  }

  body.brand-v6 header.site-header .v6-links > a:not(.btn)::after,
  body.brand-v6 header.site-header .nav-links > a:not(.btn)::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    right: auto !important;
    top: auto !important;
    bottom: 1px !important;
    width: 100% !important;
    height: 3px !important;
    min-height: 3px !important;
    border-radius: 999px !important;
    background: #b89342 !important;
    background-image: none !important;
    box-shadow: none !important;
    filter: none !important;
    opacity: 0 !important;
    transform: scaleX(0) translateZ(0) !important;
    transform-origin: left center !important;
    will-change: transform, opacity !important;
    transition:
      transform 360ms cubic-bezier(.2,.72,.18,1),
      opacity 180ms ease !important;
    pointer-events: none !important;
  }

  body.brand-v6 header.site-header .v6-links > a:not(.btn):hover,
  body.brand-v6 header.site-header .nav-links > a:not(.btn):hover {
    color: var(--v6-olive) !important;
  }

  body.brand-v6 header.site-header .v6-links > a:not(.btn):hover::after,
  body.brand-v6 header.site-header .nav-links > a:not(.btn):hover::after {
    opacity: .55 !important;
    transform: scaleX(.72) translateZ(0) !important;
  }

  body.brand-v6 header.site-header .v6-links > a[aria-current="page"]:not(.btn),
  body.brand-v6 header.site-header .nav-links > a[aria-current="page"]:not(.btn) {
    color: var(--v6-olive) !important;
    background: transparent !important;
  }

  body.brand-v6 header.site-header .v6-links > a[aria-current="page"]:not(.btn)::after,
  body.brand-v6 header.site-header .nav-links > a[aria-current="page"]:not(.btn)::after {
    opacity: 1 !important;
    transform: scaleX(1) translateZ(0) !important;
  }
}

/* ===== v81 desktop nav underline precision =====
   Filled brand-color line, 8px below the visible text, full-width hover animation. */
@media (min-width: 1081px) {
  body.brand-v6 header.site-header .v6-links > a:not(.btn),
  body.brand-v6 header.site-header .nav-links > a:not(.btn) {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 8px 1px 8px !important;
    margin-inline: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    overflow: visible !important;
    color: var(--v6-ink) !important;
    transition: color 260ms cubic-bezier(.2,.72,.18,1) !important;
  }

  body.brand-v6 header.site-header .v6-links > a:not(.btn)::before,
  body.brand-v6 header.site-header .nav-links > a:not(.btn)::before {
    display: none !important;
    content: none !important;
  }

  body.brand-v6 header.site-header .v6-links > a:not(.btn)::after,
  body.brand-v6 header.site-header .nav-links > a:not(.btn)::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    right: auto !important;
    top: auto !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 3px !important;
    min-height: 3px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background-color: var(--v6-gold) !important;
    background-image: none !important;
    box-shadow: none !important;
    filter: none !important;
    opacity: 0 !important;
    transform: scaleX(0) translateZ(0) !important;
    transform-origin: left center !important;
    will-change: transform, opacity !important;
    transition:
      transform 330ms cubic-bezier(.2,.72,.18,1),
      opacity 160ms ease !important;
    pointer-events: none !important;
  }

  body.brand-v6 header.site-header .v6-links > a:not(.btn):hover,
  body.brand-v6 header.site-header .nav-links > a:not(.btn):hover {
    color: var(--v6-olive) !important;
  }

  body.brand-v6 header.site-header .v6-links > a:not(.btn):hover::after,
  body.brand-v6 header.site-header .nav-links > a:not(.btn):hover::after {
    opacity: .72 !important;
    transform: scaleX(1) translateZ(0) !important;
  }

  body.brand-v6 header.site-header .v6-links > a[aria-current="page"]:not(.btn),
  body.brand-v6 header.site-header .nav-links > a[aria-current="page"]:not(.btn) {
    color: var(--v6-olive) !important;
    background: transparent !important;
  }

  body.brand-v6 header.site-header .v6-links > a[aria-current="page"]:not(.btn)::after,
  body.brand-v6 header.site-header .nav-links > a[aria-current="page"]:not(.btn)::after {
    opacity: 1 !important;
    transform: scaleX(1) translateZ(0) !important;
  }
}

/* ===== v82 desktop nav underline position refinement =====
   Line sits directly under visible text, keeps the full click target, uses rounded brand fill. */
@media (min-width: 1081px) {
  body.brand-v6 header.site-header .v6-links > a:not(.btn),
  body.brand-v6 header.site-header .nav-links > a:not(.btn) {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    padding: 12px 1px !important;
    overflow: visible !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--v6-ink) !important;
  }

  body.brand-v6 header.site-header .v6-links > a:not(.btn)::before,
  body.brand-v6 header.site-header .nav-links > a:not(.btn)::before {
    display: none !important;
    content: none !important;
  }

  body.brand-v6 header.site-header .v6-links > a:not(.btn)::after,
  body.brand-v6 header.site-header .nav-links > a:not(.btn)::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    right: auto !important;
    top: calc(50% + .74em) !important;
    bottom: auto !important;
    width: 100% !important;
    height: 3px !important;
    min-height: 3px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--v6-gold) !important;
    background-color: var(--v6-gold) !important;
    background-image: none !important;
    box-shadow: none !important;
    filter: none !important;
    opacity: 0 !important;
    transform: scaleX(0) translateZ(0) !important;
    transform-origin: left center !important;
    transition:
      transform 320ms cubic-bezier(.2,.72,.18,1),
      opacity 160ms ease !important;
    pointer-events: none !important;
  }

  body.brand-v6 header.site-header .v6-links > a:not(.btn):hover::after,
  body.brand-v6 header.site-header .nav-links > a:not(.btn):hover::after,
  body.brand-v6 header.site-header .v6-links > a[aria-current="page"]:not(.btn)::after,
  body.brand-v6 header.site-header .nav-links > a[aria-current="page"]:not(.btn)::after {
    opacity: 1 !important;
    transform: scaleX(1) translateZ(0) !important;
  }

  body.brand-v6 header.site-header .v6-links > a:not(.btn):hover,
  body.brand-v6 header.site-header .nav-links > a:not(.btn):hover,
  body.brand-v6 header.site-header .v6-links > a[aria-current="page"]:not(.btn),
  body.brand-v6 header.site-header .nav-links > a[aria-current="page"]:not(.btn) {
    color: var(--v6-olive) !important;
    background: transparent !important;
  }
}

/* ===== v83 desktop nav underline final color/thickness/position =====
   Uses requested brand-olive color, thinner rounded filled line, moved lower from v82. */
@media (min-width: 1081px) {
  body.brand-v6 header.site-header .v6-links > a:not(.btn)::after,
  body.brand-v6 header.site-header .nav-links > a:not(.btn)::after {
    top: calc(50% + 1.11em) !important;
    height: 2.1px !important;
    min-height: 2.1px !important;
    border-radius: 999px !important;
    background: #534d31 !important;
    background-color: #534d31 !important;
    background-image: none !important;
    box-shadow: none !important;
    filter: none !important;
  }
}


/* ===== v84 desktop nav underline micro-adjustment =====
   Thinner, 20% transparent, slightly higher, with inset horizontal margins and slower full-width draw. */
@media (min-width: 1081px) {
  body.brand-v6 header.site-header .v6-links > a:not(.btn)::after,
  body.brand-v6 header.site-header .nav-links > a:not(.btn)::after {
    left: 3px !important;
    right: 3px !important;
    width: auto !important;
    top: calc(50% + .94em) !important;
    height: 1.5px !important;
    min-height: 1.5px !important;
    border-radius: 999px !important;
    background: rgba(83, 77, 49, .8) !important;
    background-color: rgba(83, 77, 49, .8) !important;
    background-image: none !important;
    opacity: 0 !important;
    transform: scaleX(0) translateZ(0) !important;
    transform-origin: left center !important;
    transition:
      transform 480ms cubic-bezier(.2,.72,.18,1),
      opacity 240ms ease !important;
  }

  body.brand-v6 header.site-header .v6-links > a:not(.btn):hover::after,
  body.brand-v6 header.site-header .nav-links > a:not(.btn):hover::after,
  body.brand-v6 header.site-header .v6-links > a[aria-current="page"]:not(.btn)::after,
  body.brand-v6 header.site-header .nav-links > a[aria-current="page"]:not(.btn)::after {
    opacity: 1 !important;
    transform: scaleX(1) translateZ(0) !important;
  }
}

/* ===== v85 desktop nav underline text-color micro-refinement =====
   20% thinner than v84 and uses the same color as the visible nav text. */
@media (min-width: 1081px) {
  body.brand-v6 header.site-header .v6-links > a:not(.btn)::after,
  body.brand-v6 header.site-header .nav-links > a:not(.btn)::after {
    height: 1.2px !important;
    min-height: 1.2px !important;
    background: currentColor !important;
    background-color: currentColor !important;
    background-image: none !important;
    border-radius: 999px !important;
  }

  body.brand-v6 header.site-header .v6-links > a:not(.btn):hover::after,
  body.brand-v6 header.site-header .nav-links > a:not(.btn):hover::after,
  body.brand-v6 header.site-header .v6-links > a[aria-current="page"]:not(.btn)::after,
  body.brand-v6 header.site-header .nav-links > a[aria-current="page"]:not(.btn)::after {
    opacity: .8 !important;
  }
}


/* ===== v86 desktop nav underline transparency refinement =====
   30% more transparent than v85, while keeping currentColor and layout unchanged. */
@media (min-width: 1081px) {
  body.brand-v6 header.site-header .v6-links > a:not(.btn):hover::after,
  body.brand-v6 header.site-header .nav-links > a:not(.btn):hover::after,
  body.brand-v6 header.site-header .v6-links > a[aria-current="page"]:not(.btn)::after,
  body.brand-v6 header.site-header .nav-links > a[aria-current="page"]:not(.btn)::after {
    opacity: .56 !important;
  }
}

/* v91 Netlify Forms honeypot */
.v6-form-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* ===== v98 controlled title scale =====
   Purpose: keep v91 as the visual base, but reduce typography drift.
   This creates one reusable scale for: hero title, tag, section big title,
   section small title, card title, lead paragraph, body paragraph.
   Button sizing is intentionally untouched. */
body.brand-v6 {
  --v98-title-hero: clamp(2.85rem, 5.2vw, 5.8rem);
  --v98-title-section-big: clamp(2.35rem, 4.05vw, 4.65rem);
  --v98-title-section-small: clamp(1.9rem, 3vw, 3rem);
  --v98-title-card: clamp(1.32rem, 1.85vw, 1.74rem);
  --v98-text-lead: clamp(1.04rem, 1.18vw, 1.22rem);
  --v98-text-body: clamp(1rem, 1.02vw, 1.12rem);
  --v98-tag: .76rem;
  --v98-title-line: 1.08;
  --v98-section-line: 1.12;
  --v98-card-line: 1.18;
  --v98-body-line: 1.76;
  --v98-lead-line: 1.78;
}

/* 1) Hero/page title — one system for page-level H1s. */
body.brand-v6 .v6-page-title,
body.contact-v27.brand-v6 .v27-contact-copy .v6-page-title,
body.services-v40.brand-v6 .services-v40-overview .v6-page-title,
body.services-v41.brand-v6 .services-v40-overview .v6-page-title,
body.home-v56.brand-v6 .v56-hero h1 {
  font-family: "Lora", Georgia, serif !important;
  font-size: var(--v98-title-hero) !important;
  line-height: var(--v98-title-line) !important;
  font-weight: 500 !important;
  letter-spacing: -.045em !important;
  text-wrap: balance !important;
}

body.home-v56.brand-v6 .v56-hero h1 {
  max-width: 12ch !important;
  line-height: 1.02 !important;
}

/* 2) Section tag/kicker — one size and rhythm everywhere. */
body.brand-v6 .v6-page-kicker,
body.brand-v6 .v6-eyebrow,
body.home-v56.brand-v6 .v56-kicker,
body.services-v40.brand-v6 .services-v40-heading .v6-page-kicker,
body.services-v41.brand-v6 .services-v40-heading .v6-page-kicker,
body.home-v56.brand-v6 .v56-trust-heading .v56-kicker {
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: var(--v98-tag) !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: .27em !important;
  text-transform: uppercase !important;
  margin: 0 0 clamp(14px, 1.45vw, 22px) !important;
}

/* 3) Big section titles — major homepage/CTA/section headings. */
body.home-v56.brand-v6 .v56-trust-heading h2,
body.home-v56.brand-v6 .v6-about-copy h2,
body.home-v56.brand-v6 .v6-location-inner h2,
body.home-v56.brand-v6 .v6-final-cta h2,
body.brand-v6 .v6-section-title h2,
body.brand-v6 .v6-final-cta h2,
body.brand-v6 .v6-cta-panel h2,
body.contact-v27.brand-v6 .v27-contact-final h2 {
  font-family: "Lora", Georgia, serif !important;
  font-size: var(--v98-title-section-big) !important;
  line-height: var(--v98-section-line) !important;
  font-weight: 500 !important;
  letter-spacing: -.04em !important;
  text-wrap: balance !important;
}

/* 4) Small section titles — inner panels, form sections and legal prose. */
body.brand-v6 .v6-panel h2,
body.brand-v6 .v6-form-card h2,
body.brand-v6 .v6-legal-prose h2,
body.contact-v27.brand-v6 .v27-form-shell h2,
body.contact-v27.brand-v6 .v27-process-card h2,
body.contact-v27.brand-v6 .v27-locations-header h2,
body.pricing-v29.brand-v6 .pricing-v29-process h2,
body.pricing-v29.brand-v6 .pricing-v29-booking h2 {
  font-family: "Lora", Georgia, serif !important;
  font-size: var(--v98-title-section-small) !important;
  line-height: var(--v98-section-line) !important;
  font-weight: 500 !important;
  letter-spacing: -.03em !important;
  text-wrap: balance !important;
}

/* 5) Card titles — service, trust, contact/location and info cards. */
body.brand-v6 .v6-info-card h3,
body.brand-v6 .v6-service h3,
body.brand-v6 .v6-panel h3,
body.home-v56.brand-v6 .v56-trust-card h3,
body.contact-v27.brand-v6 .v27-contact-card h3,
body.contact-v27.brand-v6 .v27-location-card h3,
body.about-v29.brand-v6 .about-v31-fact h3,
body.about-v29.brand-v6 .about-v31-audience-item strong {
  font-family: "Lora", Georgia, serif !important;
  font-size: var(--v98-title-card) !important;
  line-height: var(--v98-card-line) !important;
  font-weight: 500 !important;
  letter-spacing: -.024em !important;
  text-wrap: balance !important;
}

/* 6a) Lead/description paragraphs — intros and main explanatory copy. */
body.brand-v6 .v6-page-lead,
body.home-v56.brand-v6 .v56-lead,
body.home-v56.brand-v6 .v56-trust-heading p:not(.v56-kicker),
body.contact-v27.brand-v6 .v27-contact-copy .v6-page-lead,
body.services-v40.brand-v6 .services-v40-heading p:not(.v6-page-kicker),
body.services-v41.brand-v6 .services-v40-heading p:not(.v6-page-kicker) {
  font-size: var(--v98-text-lead) !important;
  line-height: var(--v98-lead-line) !important;
  text-wrap: pretty !important;
}

/* 6b) Body paragraphs — cards, panels, forms and legal body copy. */
body.brand-v6 .v6-panel p,
body.brand-v6 .v6-info-card p,
body.brand-v6 .v6-service p,
body.brand-v6 .v6-form-card p,
body.brand-v6 .v6-legal-prose p,
body.home-v56.brand-v6 .v56-trust-card p,
body.home-v56.brand-v6 .v6-about-copy p:not(.v6-eyebrow),
body.home-v56.brand-v6 .v6-location-inner p,
body.home-v56.brand-v6 .v6-final-cta p,
body.contact-v27.brand-v6 .v27-contact-card p,
body.contact-v27.brand-v6 .v27-process-card p,
body.contact-v27.brand-v6 .v27-location-card p,
body.contact-v27.brand-v6 .v27-form-shell p {
  font-size: var(--v98-text-body) !important;
  line-height: var(--v98-body-line) !important;
  text-wrap: pretty !important;
}

/* Consistent title-to-paragraph spacing. */
body.brand-v6 .v6-page-title + .v6-page-lead,
body.home-v56.brand-v6 .v56-hero h1 + .v56-lead {
  margin-top: clamp(20px, 2.1vw, 32px) !important;
}

body.brand-v6 .v6-panel h2 + p,
body.brand-v6 .v6-form-card h2 + p,
body.brand-v6 .v6-info-card h3 + p,
body.brand-v6 .v6-service h3 + b + p,
body.home-v56.brand-v6 .v56-trust-heading h2 + p,
body.home-v56.brand-v6 .v56-trust-card h3 + p,
body.home-v56.brand-v6 .v6-about-copy h2 + p,
body.home-v56.brand-v6 .v6-location-inner h2 + p,
body.home-v56.brand-v6 .v6-final-cta h2 + p,
body.contact-v27.brand-v6 .v27-form-shell h2 + p,
body.contact-v27.brand-v6 .v27-location-card h3 + p {
  margin-top: clamp(12px, 1.35vw, 18px) !important;
}

@media (max-width: 720px) {
  body.brand-v6 {
    --v98-title-hero: clamp(2.18rem, 10.8vw, 3.35rem);
    --v98-title-section-big: clamp(2rem, 9.2vw, 3.05rem);
    --v98-title-section-small: clamp(1.65rem, 7.5vw, 2.35rem);
    --v98-title-card: clamp(1.18rem, 5.6vw, 1.48rem);
    --v98-text-lead: 1rem;
    --v98-text-body: .98rem;
    --v98-tag: .76rem;
  }
}


/* ===== v99 one tag size safety override =====
   All section/page tags use the smaller v98 tag size.
   This intentionally keeps one consistent kicker/tag scale across pages. */
body.brand-v6 .v6-page-kicker,
body.brand-v6 .v6-page-hero .v6-page-kicker,
body.brand-v6 .v6-eyebrow,
body.home-v56.brand-v6 .v56-kicker,
body.home-v56.brand-v6 .v56-hero .v56-kicker,
body.home-v56.brand-v6 .v56-trust-heading .v56-kicker,
body.services-v40.brand-v6 .services-v40-heading .v6-page-kicker,
body.services-v41.brand-v6 .services-v40-heading .v6-page-kicker,
body.about-v29.brand-v6 .about-v29-intro .v6-page-kicker,
body.pricing-v29.brand-v6 .v6-page-kicker,
body.contact-v27.brand-v6 .v6-page-kicker {
  font-size: .76rem !important;
  line-height: 1 !important;
}


/* ===== v100 visual tag unification =====
   Some older components used uppercase label styles without using the kicker/tag
   class name. These are visually tags, so they now share the same small tag size.
   Buttons and navigation brand labels remain untouched. */
body.brand-v6 .v6-page-kicker,
body.brand-v6 .v6-page-hero .v6-page-kicker,
body.brand-v6 .v6-eyebrow,
body.home-v56.brand-v6 .v56-kicker,
body.home-v56.brand-v6 .v56-hero .v56-kicker,
body.home-v56.brand-v6 .v56-trust-heading .v56-kicker,
body.services-v40.brand-v6 .services-v40-heading .v6-page-kicker,
body.services-v41.brand-v6 .services-v40-heading .v6-page-kicker,
body.about-v29.brand-v6 .about-v29-intro .v6-page-kicker,
body.pricing-v29.brand-v6 .v6-page-kicker,
body.contact-v27.brand-v6 .v6-page-kicker,
body.brand-v6 .v6-section-title h2,
body.brand-v6 .v6-footer h2,
body.brand-v6 .v6-breadcrumb,
body.brand-v6 .v6-price span,
body.brand-v6 .v6-price-subtitle,
body.pricing-v29.brand-v6 .v6-price-heading,
body.brand-v6 .v6-contact-link strong,
body.contact-v27.brand-v6 .v27-contact-method strong,
body.contact-v27.brand-v6 .v27-price-chip span,
body.services-v43 .services-v43-intro-note span {
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: .76rem !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
}

body.brand-v6 .v6-section-title h2 {
  margin: 0 !important;
}

/* ===== v101 explicit visual tag fix =====
   These labels looked like tags but were still visually drifting in specific
   page contexts. Force them into the single shared tag scale. */
body.about-v29.brand-v6 .about-v29-audience .about-v31-main-text > .v6-page-kicker,
body.about-v29.brand-v6 .about-v31-main-text > .v6-page-kicker,
body.contact-v27.brand-v6 .v27-contact-card > .v6-page-kicker,
body.contact-v27.brand-v6 .v27-form-shell > .v6-page-kicker,
body.contact-v27.brand-v6 .v27-process-card > .v6-page-kicker,
body.contact-v27.brand-v6 .v27-locations-header > .v6-page-kicker,
body.contact-v27.brand-v6 .v27-contact-section .v6-page-kicker,
body.contact-v27.brand-v6 [aria-label="Rychlý kontakt"] > .v6-page-kicker {
  display: block !important;
  width: auto !important;
  max-width: max-content !important;
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: .76rem !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
  text-align: left !important;
  margin: 0 0 clamp(14px, 1.45vw, 22px) !important;
  color: var(--v6-forest) !important;
}

body.contact-v27.brand-v6 .v27-form-shell > .v6-page-kicker,
body.contact-v27.brand-v6 .v27-process-card > .v6-page-kicker,
body.contact-v27.brand-v6 .v27-contact-card > .v6-page-kicker {
  align-self: flex-start !important;
}

/* ===== v102 final visual tag system =====
   Treat tags by their visual role, not by the original class name.
   Every small section/category label now shares one size, color, spacing,
   alignment, and text treatment. Buttons, nav labels, brand text, form field
   labels, prices, and normal card titles remain separate. */
body.brand-v6 {
  --v102-tag-size: .76rem;
  --v102-tag-line: 1.15;
  --v102-tag-weight: 800;
  --v102-tag-letter: .24em;
  --v102-tag-color: #8a6a4b;
  --v102-tag-gap: clamp(14px, 1.45vw, 22px);
}

body.brand-v6 .v6-page-kicker,
body.brand-v6 .v6-page-hero .v6-page-kicker,
body.brand-v6 .v6-eyebrow,
body.home-v56.brand-v6 .v56-kicker,
body.home-v56.brand-v6 .v56-hero .v56-kicker,
body.home-v56.brand-v6 .v56-trust-heading .v56-kicker,
body.services-v40.brand-v6 .services-v40-heading .v6-page-kicker,
body.services-v41.brand-v6 .services-v40-heading .v6-page-kicker,
body.about-v29.brand-v6 .about-v29-intro .v6-page-kicker,
body.about-v29.brand-v6 .about-v29-audience .v6-page-kicker,
body.about-v29.brand-v6 .about-v31-main-text > .v6-page-kicker,
body.pricing-v29.brand-v6 .v6-page-kicker,
body.contact-v27.brand-v6 .v6-page-kicker,
body.contact-v27.brand-v6 .v27-contact-card > .v6-page-kicker,
body.contact-v27.brand-v6 .v27-form-shell > .v6-page-kicker,
body.contact-v27.brand-v6 .v27-process-card > .v6-page-kicker,
body.contact-v27.brand-v6 .v27-locations-header > .v6-page-kicker,
body.contact-v27.brand-v6 .v27-contact-section .v6-page-kicker,
body.contact-v27.brand-v6 [aria-label="Rychlý kontakt"] > .v6-page-kicker,
body.brand-v6 .v6-section-title h2,
body.brand-v6 .v6-footer h2,
body.brand-v6 .v6-breadcrumb,
body.brand-v6 .v6-price span,
body.brand-v6 .v6-price-subtitle,
body.pricing-v29.brand-v6 .v6-price-heading,
body.brand-v6 .v6-contact-link strong,
body.contact-v27.brand-v6 .v27-contact-method strong,
body.contact-v27.brand-v6 .v27-price-chip span,
body.services-v43 .services-v43-intro-note span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: auto !important;
  max-width: max-content !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: var(--v102-tag-size) !important;
  line-height: var(--v102-tag-line) !important;
  font-weight: var(--v102-tag-weight) !important;
  letter-spacing: var(--v102-tag-letter) !important;
  text-transform: uppercase !important;
  text-align: left !important;
  color: var(--v102-tag-color) !important;
  margin: 0 0 var(--v102-tag-gap) !important;
}

/* Remove older decorative tag lines/hearts so all tags read as the same system. */
body.brand-v6 .v6-eyebrow::after,
body.brand-v6 .v6-page-kicker::before,
body.brand-v6 .v6-page-kicker::after,
body.home-v56.brand-v6 .v56-kicker::before,
body.home-v56.brand-v6 .v56-kicker::after {
  content: none !important;
  display: none !important;
}

/* Center only utility/status layouts where centered text is intentional. */
body.brand-v6 .v6-final-cta .v6-page-kicker,
body.brand-v6 .v6-cta-panel .v6-page-kicker,
body.brand-v6 .v6-thankyou .v6-page-kicker,
body.brand-v6 .v6-error .v6-page-kicker {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  justify-content: center !important;
}

@media (max-width: 720px) {
  body.brand-v6 {
    --v102-tag-size: .74rem;
    --v102-tag-letter: .21em;
    --v102-tag-gap: 13px;
  }
}

/* ===== v103 DEBUG TITLE COLORS =====
   TEMPORARY DEBUG LAYER ONLY.
   Each typography role uses a deliberately loud, unique color so visual
   inconsistencies can be identified quickly before reverting to brand colors. */
body.brand-v6 {
  --v103-debug-tag: #8a6a4b;
  --v103-debug-hero-title: #ff00d4;
  --v103-debug-section-big: #ff6a00;
  --v103-debug-section-small: #7a00ff;
  --v103-debug-card-title: #00c853;
  --v103-debug-lead-text: #ff1744;
  --v103-debug-body-text: #0066ff;
}

/* Tag / kicker labels */
body.brand-v6 .v6-page-kicker,
body.brand-v6 .v6-page-hero .v6-page-kicker,
body.brand-v6 .v6-eyebrow,
body.home-v56.brand-v6 .v56-kicker,
body.home-v56.brand-v6 .v56-hero .v56-kicker,
body.home-v56.brand-v6 .v56-trust-heading .v56-kicker,
body.services-v40.brand-v6 .services-v40-heading .v6-page-kicker,
body.services-v41.brand-v6 .services-v40-heading .v6-page-kicker,
body.about-v29.brand-v6 .about-v29-intro .v6-page-kicker,
body.about-v29.brand-v6 .about-v29-audience .v6-page-kicker,
body.about-v29.brand-v6 .about-v31-main-text > .v6-page-kicker,
body.pricing-v29.brand-v6 .v6-page-kicker,
body.contact-v27.brand-v6 .v6-page-kicker,
body.contact-v27.brand-v6 .v27-contact-card > .v6-page-kicker,
body.contact-v27.brand-v6 .v27-form-shell > .v6-page-kicker,
body.contact-v27.brand-v6 .v27-process-card > .v6-page-kicker,
body.contact-v27.brand-v6 .v27-locations-header > .v6-page-kicker,
body.contact-v27.brand-v6 .v27-contact-section .v6-page-kicker,
body.contact-v27.brand-v6 [aria-label="Rychlý kontakt"] > .v6-page-kicker,
body.brand-v6 .v6-section-title h2,
body.brand-v6 .v6-footer h2,
body.brand-v6 .v6-breadcrumb,
body.brand-v6 .v6-price span,
body.brand-v6 .v6-price-subtitle,
body.pricing-v29.brand-v6 .v6-price-heading,
body.brand-v6 .v6-contact-link strong,
body.contact-v27.brand-v6 .v27-contact-method strong,
body.contact-v27.brand-v6 .v27-price-chip span,
body.services-v43 .services-v43-intro-note span {
  color: var(--v103-debug-tag) !important;
}

/* Hero/page titles */
body.brand-v6 .v6-page-title,
body.contact-v27.brand-v6 .v27-contact-copy .v6-page-title,
body.services-v40.brand-v6 .services-v40-overview .v6-page-title,
body.services-v41.brand-v6 .services-v41-overview .v6-page-title,
body.home-v56.brand-v6 .v56-hero h1 {
  color: var(--v103-debug-hero-title) !important;
}

/* Big section titles */
body.home-v56.brand-v6 .v56-trust-heading h2,
body.home-v56.brand-v6 .v6-about-copy h2,
body.home-v56.brand-v6 .v6-location-inner h2,
body.home-v56.brand-v6 .v6-final-cta h2,
body.brand-v6 .v6-section-title h2:not(.v6-page-kicker),
body.brand-v6 .v6-cta-panel h2,
body.contact-v27.brand-v6 .v27-contact-final h2 {
  color: var(--v103-debug-section-big) !important;
}

/* Small section titles */
body.brand-v6 .v6-panel h2,
body.brand-v6 .v6-form-card h2,
body.brand-v6 .v6-legal-prose h2,
body.contact-v27.brand-v6 .v27-form-shell h2,
body.contact-v27.brand-v6 .v27-process-card h2,
body.contact-v27.brand-v6 .v27-locations-header h2,
body.pricing-v29.brand-v6 .pricing-v29-process h2,
body.pricing-v29.brand-v6 .pricing-v29-booking h2 {
  color: var(--v103-debug-section-small) !important;
}

/* Card titles */
body.brand-v6 .v6-info-card h3,
body.brand-v6 .v6-service h3,
body.brand-v6 .v6-panel h3,
body.home-v56.brand-v6 .v56-trust-card h3,
body.contact-v27.brand-v6 .v27-contact-card h3,
body.contact-v27.brand-v6 .v27-location-card h3,
body.about-v29.brand-v6 .about-v31-fact h3,
body.about-v29.brand-v6 .about-v31-audience-item strong {
  color: var(--v103-debug-card-title) !important;
}

/* Lead / important description text */
body.brand-v6 .v6-page-lead,
body.home-v56.brand-v6 .v56-lead,
body.home-v56.brand-v6 .v56-trust-heading p:not(.v56-kicker),
body.contact-v27.brand-v6 .v27-contact-copy .v6-page-lead,
body.services-v40.brand-v6 .services-v40-heading p:not(.v6-page-kicker),
body.services-v41.brand-v6 .services-v40-heading p:not(.v6-page-kicker) {
  color: var(--v103-debug-lead-text) !important;
}

/* Normal body paragraphs */
body.brand-v6 .v6-panel p,
body.brand-v6 .v6-info-card p,
body.brand-v6 .v6-service p,
body.brand-v6 .v6-form-card p,
body.brand-v6 .v6-legal-prose p,
body.home-v56.brand-v6 .v56-trust-card p,
body.home-v56.brand-v6 .v6-about-copy p:not(.v6-eyebrow),
body.home-v56.brand-v6 .v6-location-inner p,
body.home-v56.brand-v6 .v6-final-cta p,
body.contact-v27.brand-v6 .v27-contact-card p,
body.contact-v27.brand-v6 .v27-process-card p,
body.contact-v27.brand-v6 .v27-location-card p,
body.contact-v27.brand-v6 .v27-form-shell p {
  color: var(--v103-debug-body-text) !important;
}

/* ===== v106 big section title reassignment =====
   Debug/refinement layer: the requested page titles now use the Big section title
   role instead of hero/small-section sizing. Big section titles are 30% smaller
   than the previous v98 size, so they stay strong without becoming oversized. */
body.brand-v6 {
  --v98-title-section-big: clamp(1.65rem, 2.85vw, 3.25rem);
}

body.about-v29.brand-v6 .about-v29-hero .v6-page-title,
body.about-v29.brand-v6 .about-v29-intro .about-v31-main-text > h2,
body.about-v29.brand-v6 .about-v29-audience .about-v31-main-text > h2,
body.about-v29.brand-v6 .v6-final-cta h2,
body.services-v40.brand-v6 .services-v40-heading h1,
body.services-v40.brand-v6 .services-v40-overview .v6-page-title,
body.services-v41.brand-v6 .services-v41-overview .v6-page-title,
body.services-v40.brand-v6 .v6-final-cta h2,
body.services-v41.brand-v6 .v6-final-cta h2,
body.pricing-v29.brand-v6 .v6-final-cta h2,
body.contact-v27.brand-v6 .v27-contact-copy .v6-page-title,
body.contact-v27.brand-v6 .v27-locations-header h2,
body.contact-v27.brand-v6 .v27-form-shell h2 {
  font-family: "Lora", Georgia, serif !important;
  font-size: var(--v98-title-section-big) !important;
  line-height: var(--v98-section-line) !important;
  letter-spacing: -.032em !important;
  font-weight: 500 !important;
  color: var(--v103-debug-section-big) !important;
}

@media (max-width: 720px) {
  body.brand-v6 {
    --v98-title-section-big: clamp(1.4rem, 6.45vw, 2.14rem);
  }
}

/* ===== v107 non-homepage hero title role =====
   Adds one extra title level between the homepage/page hero title scale and the
   smaller main section title scale. Use it for inner-page hero-like titles that
   need more presence than a normal section title without becoming as dominant as
   the homepage hero. */
body.brand-v6 {
  --v107-title-inner-hero: clamp(2.15rem, 3.65vw, 4.35rem);
  --v107-debug-inner-hero: #00a7a0;
}

/* Non-homepage hero titles */
body.about-v29.brand-v6 .about-v29-hero .v6-page-title,
body.services-v40.brand-v6 .services-v40-heading h1,
body.services-v41.brand-v6 .services-v40-heading h1,
body.services-v40.brand-v6 .services-v40-overview .v6-page-title,
body.services-v41.brand-v6 .services-v41-overview .v6-page-title,
body.contact-v27.brand-v6 .v27-contact-copy .v6-page-title {
  font-family: "Lora", Georgia, serif !important;
  font-size: var(--v107-title-inner-hero) !important;
  line-height: 1.08 !important;
  letter-spacing: -.038em !important;
  font-weight: 500 !important;
  text-wrap: balance !important;
  color: var(--v107-debug-inner-hero) !important;
}

/* Main section title confirmation: this contact section stays on the Big section title role. */
body.contact-v27.brand-v6 .v27-locations-header h2 {
  font-family: "Lora", Georgia, serif !important;
  font-size: var(--v98-title-section-big) !important;
  line-height: var(--v98-section-line) !important;
  letter-spacing: -.032em !important;
  font-weight: 500 !important;
  text-wrap: balance !important;
  color: var(--v103-debug-section-big) !important;
}

@media (max-width: 720px) {
  body.brand-v6 {
    --v107-title-inner-hero: clamp(1.82rem, 8.1vw, 2.75rem);
  }
}

/* ===== v108 main section title assignment =====
   Requested correction: these section headings use the Big/Main section title role:
   - Pricing: "Stačí napsat nebo zavolat. Další krok domluvíte společně."
   - Kontakt: "Osobně i online"
*/
body.pricing-v29.brand-v6 .pricing-v38-note h2,
body.contact-v27.brand-v6 .v27-section-heading h2 {
  font-family: "Lora", Georgia, serif !important;
  font-size: var(--v98-title-section-big) !important;
  line-height: var(--v98-section-line) !important;
  letter-spacing: -.032em !important;
  font-weight: 500 !important;
  text-wrap: balance !important;
  color: var(--v103-debug-section-big) !important;
}


/* ===== v109 card title role reassignment =====
   Requested correction: these CTA/location headings use the Card title role:
   - Homepage: "Osobně ve Vsetíně a Valašských Kloboukách nebo online odkudkoli."
   - Homepage/O mně: "Jste připraveni udělat první krok?"
   - Co nabízím: "Nevíte, co je pro vás vhodné?"
   - Cena: "Chcete se domluvit na termínu?"
   - Kontakt: "Nejste si jistí, co napsat?"
   Keep "Osobně i online" on the Big/Main section title role from v108. */
body.home-v56.brand-v6 .v6-location-inner h2,
body.home-v56.brand-v6 .v6-final-cta h2,
body.about-v29.brand-v6 .v6-final-cta h2,
body.services-v40.brand-v6 .v6-final-cta h2,
body.services-v41.brand-v6 .v6-final-cta h2,
body.pricing-v29.brand-v6 .v6-final-cta h2,
body.contact-v27.brand-v6 .v27-contact-final h2 {
  font-family: "Lora", Georgia, serif !important;
  font-size: var(--v98-title-card) !important;
  line-height: var(--v98-card-line) !important;
  letter-spacing: -.024em !important;
  font-weight: 500 !important;
  text-wrap: balance !important;
  color: var(--v103-debug-card-title) !important;
}

/* Match the title-to-paragraph gap to the card-title rhythm for these reassigned blocks. */
body.home-v56.brand-v6 .v6-location-inner h2 + p,
body.home-v56.brand-v6 .v6-final-cta h2 + p,
body.about-v29.brand-v6 .v6-final-cta h2 + p,
body.services-v40.brand-v6 .v6-final-cta h2 + p,
body.services-v41.brand-v6 .v6-final-cta h2 + p,
body.pricing-v29.brand-v6 .v6-final-cta h2 + p,
body.contact-v27.brand-v6 .v27-contact-final h2 + p {
  margin-top: clamp(10px, 1.1vw, 15px) !important;
}

/* ===== v110 paragraph role + pricing card-title correction =====
   Requested correction:
   - Pricing note heading "Stačí napsat..." uses Card title role.
   - Listed longer explanatory paragraphs use the Lead/description role (red in debug).
   - Other normal paragraphs stay on the Body paragraph role (blue in debug). */

/* Pricing note heading -> Card title role. */
body.pricing-v29.brand-v6 .pricing-v38-note h2 {
  font-family: "Lora", Georgia, serif !important;
  font-size: var(--v98-title-card) !important;
  line-height: var(--v98-card-line) !important;
  letter-spacing: -.024em !important;
  font-weight: 500 !important;
  text-wrap: balance !important;
  color: var(--v103-debug-card-title) !important;
}

/* Lead/description paragraphs requested by content role. */
body.home-v56.brand-v6 .v6-about-copy > p:not(.v6-eyebrow),
body.about-v29.brand-v6 .about-v29-intro .about-v31-main-text > p:not(.v6-page-kicker),
body.about-v29.brand-v6 .about-v29-audience .about-v31-main-text > p:not(.v6-page-kicker),
body.about-v29.brand-v6 .about-v51-bg-cta > p,
body.pricing-v29.brand-v6 .pricing-v38-note > p {
  font-size: var(--v98-text-lead) !important;
  line-height: var(--v98-lead-line) !important;
  text-wrap: pretty !important;
  color: var(--v103-debug-lead-text) !important;
}

/* Keep surrounding normal card/panel/form/legal copy on the Body paragraph role. */
body.brand-v6 .v6-info-card p,
body.brand-v6 .v6-service p,
body.brand-v6 .v6-form-card p,
body.brand-v6 .v6-legal-prose p,
body.home-v56.brand-v6 .v56-trust-card p,
body.contact-v27.brand-v6 .v27-contact-card p,
body.contact-v27.brand-v6 .v27-process-card p,
body.contact-v27.brand-v6 .v27-location-card p,
body.contact-v27.brand-v6 .v27-form-shell p,
body.about-v29.brand-v6 .about-v31-fact p,
body.about-v29.brand-v6 .about-v31-audience-item span,
body.pricing-v29.brand-v6 .v6-info-card p {
  font-size: var(--v98-text-body) !important;
  line-height: var(--v98-body-line) !important;
  text-wrap: pretty !important;
  color: var(--v103-debug-body-text) !important;
}

body.pricing-v29.brand-v6 .pricing-v38-note h2 + p {
  margin-top: clamp(10px, 1.1vw, 15px) !important;
}


/* ===== v111 paragraph role refinements =====
   Requested correction:
   - Listed final-CTA/service/card descriptions use the Body paragraph role (blue in debug).
   - Contact process step details and quick contact values use the Lead/description role (red in debug).
   - Everything remains visual/debug-only; content, CMS, buttons and structure are unchanged. */

/* Body / blue paragraphs requested explicitly. */
body.brand-v6 .v6-final-cta p,
body.services-v40.brand-v6 .v6-service p,
body.services-v41.brand-v6 .v6-service p,
body.brand-v6 .v6-service p,
body.home-v56.brand-v6 .v6-final-cta p,
body.about-v29.brand-v6 .v6-final-cta p,
body.services-v40.brand-v6 .v6-final-cta p,
body.services-v41.brand-v6 .v6-final-cta p,
body.pricing-v29.brand-v6 .v6-final-cta p,
body.contact-v27.brand-v6 .v27-contact-final p {
  font-size: var(--v98-text-body) !important;
  line-height: var(--v98-body-line) !important;
  text-wrap: pretty !important;
  color: var(--v103-debug-body-text) !important;
}

/* Contact quick values and process-step descriptions -> Lead / red paragraph role. */
body.contact-v27.brand-v6 .v27-contact-method em,
body.contact-v27.brand-v6 .v27-process-list li > span {
  font-size: var(--v98-text-lead) !important;
  line-height: var(--v98-lead-line) !important;
  text-wrap: pretty !important;
  color: var(--v103-debug-lead-text) !important;
}

/* Keep contact method labels separate from paragraph roles. */
body.contact-v27.brand-v6 .v27-contact-method strong,
body.contact-v27.brand-v6 .v27-process-list li > strong {
  color: inherit !important;
}

/* ===== v112 bottom-section title role =====
   Requested refinement: bottom CTA section titles should sit between the small
   Card title role and the larger Big/Main section title role. This keeps final
   conversion blocks visible without making them feel like full page sections. */
body.brand-v6 {
  --v112-title-bottom-section: clamp(1.55rem, 2.35vw, 2.45rem);
  --v112-debug-bottom-section-title: #b8860b;
}

body.home-v56.brand-v6 .v6-final-cta h2,
body.about-v29.brand-v6 .v6-final-cta h2,
body.services-v40.brand-v6 .v6-final-cta h2,
body.services-v41.brand-v6 .v6-final-cta h2,
body.pricing-v29.brand-v6 .v6-final-cta h2,
body.contact-v27.brand-v6 .v27-contact-final h2 {
  font-family: "Lora", Georgia, serif !important;
  font-size: var(--v112-title-bottom-section) !important;
  line-height: 1.16 !important;
  letter-spacing: -.026em !important;
  font-weight: 500 !important;
  text-wrap: balance !important;
  color: var(--v112-debug-bottom-section-title) !important;
}

body.home-v56.brand-v6 .v6-final-cta h2 + p,
body.about-v29.brand-v6 .v6-final-cta h2 + p,
body.services-v40.brand-v6 .v6-final-cta h2 + p,
body.services-v41.brand-v6 .v6-final-cta h2 + p,
body.pricing-v29.brand-v6 .v6-final-cta h2 + p,
body.contact-v27.brand-v6 .v27-contact-final h2 + p {
  margin-top: clamp(11px, 1.2vw, 16px) !important;
}

@media (max-width: 720px) {
  body.brand-v6 {
    --v112-title-bottom-section: clamp(1.32rem, 6vw, 1.85rem);
  }
}


/* ===== v113 bottom title + paragraph role refinement =====
   Requested correction:
   - Bottom-section title role is 10% smaller than v112.
   - Pricing process heading "Stačí napsat..." also uses the Bottom-section title role.
   - Contact process step details and quick-contact values return to Body paragraph role (blue in debug).
   - Contact form intro reassurance paragraph uses Lead/description role (red in debug). */
body.brand-v6 {
  --v112-title-bottom-section: clamp(1.4rem, 2.12vw, 2.2rem);
}

body.pricing-v29.brand-v6 .pricing-v38-note h2 {
  font-family: "Lora", Georgia, serif !important;
  font-size: var(--v112-title-bottom-section) !important;
  line-height: 1.16 !important;
  letter-spacing: -.026em !important;
  font-weight: 500 !important;
  text-wrap: balance !important;
  color: var(--v112-debug-bottom-section-title) !important;
}

body.pricing-v29.brand-v6 .pricing-v38-note h2 + p {
  margin-top: clamp(11px, 1.2vw, 16px) !important;
}

body.contact-v27.brand-v6 .v27-contact-method em,
body.contact-v27.brand-v6 .v27-process-list li > span {
  font-size: var(--v98-text-body) !important;
  line-height: var(--v98-body-line) !important;
  text-wrap: pretty !important;
  color: var(--v103-debug-body-text) !important;
}

body.contact-v27.brand-v6 .v27-form-shell > h2 + p {
  font-size: var(--v98-text-lead) !important;
  line-height: var(--v98-lead-line) !important;
  text-wrap: pretty !important;
  color: var(--v103-debug-lead-text) !important;
}

@media (max-width: 720px) {
  body.brand-v6 {
    --v112-title-bottom-section: clamp(1.19rem, 5.4vw, 1.67rem);
  }
}

/* ===== v114 oversized services hero title debug override =====
   Requested correction: make the "Psychoterapie a poradenství" title size
   2x bigger than the current non-homepage hero title role, only on the
   Co nabízím services hero. This keeps the rest of the title system unchanged. */
body.services-v40.brand-v6 #services-hero-title,
body.services-v41.brand-v6 #services-hero-title {
  font-family: "Lora", Georgia, serif !important;
  font-size: clamp(4.3rem, 7.3vw, 8.7rem) !important;
  line-height: .96 !important;
  letter-spacing: -.052em !important;
  font-weight: 500 !important;
  text-wrap: balance !important;
  color: var(--v107-debug-inner-hero) !important;
}

@media (max-width: 720px) {
  body.services-v40.brand-v6 #services-hero-title,
  body.services-v41.brand-v6 #services-hero-title {
    font-size: clamp(3.64rem, 16.2vw, 5.5rem) !important;
    line-height: .98 !important;
  }
}

/* ===== v115 card-title to paragraph spacing consistency =====
   Requested refinement: every green Card title followed by blue Body paragraph
   uses the same exact vertical gap as the about-page principle cards.
   This is a spacing-only override; title/paragraph sizes, debug colors,
   buttons, CMS and layout structure are untouched. */
body.brand-v6 {
  --v115-card-title-paragraph-gap: 14px;
}

/* Reset title bottom margins so the gap is controlled only by the following copy. */
body.brand-v6 .v6-info-card h3,
body.brand-v6 .v6-service h3,
body.brand-v6 .v6-panel h3,
body.home-v56.brand-v6 .v56-trust-card h3,
body.about-v29.brand-v6 .about-v31-fact h3,
body.about-v29.brand-v6 .about-v31-audience-item strong,
body.contact-v27.brand-v6 .v27-contact-card h3,
body.contact-v27.brand-v6 .v27-location-card h3,
body.contact-v27.brand-v6 .v27-process-list li > strong {
  margin-bottom: 0 !important;
}

/* Card title -> body paragraph/span gap. */
body.brand-v6 .v6-info-card h3 + p,
body.brand-v6 .v6-service h3 + p,
body.brand-v6 .v6-service h3 + b + p,
body.brand-v6 .v6-panel h3 + p,
body.home-v56.brand-v6 .v56-trust-card h3 + p,
body.about-v29.brand-v6 .about-v31-fact h3 + p,
body.about-v29.brand-v6 .about-v31-audience-item strong + span,
body.contact-v27.brand-v6 .v27-contact-card h3 + p,
body.contact-v27.brand-v6 .v27-location-card h3 + p,
body.contact-v27.brand-v6 .v27-process-list li > strong + span {
  margin-top: var(--v115-card-title-paragraph-gap) !important;
}

@media (max-width: 720px) {
  body.brand-v6 {
    --v115-card-title-paragraph-gap: 14px;
  }
}

/* ===== v116 homepage services-section title 2x + services-page rollback =====
   Requested correction: the 2x oversized title is the orange homepage
   "Psychoterapie a poradenství" section title, not the Co nabízím page hero.
   Keep the Co nabízím page hero on the normal inner-hero role, and make the
   homepage services-section heading 2x the current Big/Main section title size. */
body.services-v40.brand-v6 #services-hero-title,
body.services-v41.brand-v6 #services-hero-title {
  font-family: "Lora", Georgia, serif !important;
  font-size: var(--v107-title-inner-hero) !important;
  line-height: 1.08 !important;
  letter-spacing: -.038em !important;
  font-weight: 500 !important;
  text-wrap: balance !important;
  color: var(--v107-debug-inner-hero) !important;
}

body.home-v56.brand-v6 .v6-section-title h2 {
  font-family: "Lora", Georgia, serif !important;
  font-size: clamp(3.3rem, 5.7vw, 6.5rem) !important;
  line-height: .96 !important;
  letter-spacing: -.052em !important;
  font-weight: 500 !important;
  text-wrap: balance !important;
  color: var(--v103-debug-section-big) !important;
}

body.home-v56.brand-v6 .v6-section-title {
  align-items: flex-start !important;
  text-align: left !important;
}

@media (max-width: 720px) {
  body.services-v40.brand-v6 #services-hero-title,
  body.services-v41.brand-v6 #services-hero-title {
    font-size: var(--v107-title-inner-hero) !important;
    line-height: 1.08 !important;
  }

  body.home-v56.brand-v6 .v6-section-title h2 {
    font-size: clamp(2.8rem, 12.9vw, 4.28rem) !important;
    line-height: .98 !important;
  }
}



/* ===== v118 Co nabízím problems-section title 2x =====
   Requested debug refinement: make the specific "S čím můžete přijít"
   title on the Co nabízím page twice as large as the previous tag-like
   section label. This does not change the global tag system, buttons,
   CMS, content or other section titles. */
body.services-v40.brand-v6 .services-v40-problems > .v6-container > .v6-section-title h2,
body.services-v41.brand-v6 .services-v40-problems > .v6-container > .v6-section-title h2 {
  font-family: "Lora", Georgia, serif !important;
  font-size: clamp(1.52rem, 1.64vw, 1.76rem) !important;
  line-height: 1.14 !important;
  letter-spacing: -.018em !important;
  font-weight: 500 !important;
  text-transform: none !important;
  text-wrap: balance !important;
  color: var(--v103-debug-section-small) !important;
}

body.services-v40.brand-v6 .services-v40-problems > .v6-container > .v6-section-title,
body.services-v41.brand-v6 .services-v40-problems > .v6-container > .v6-section-title {
  text-align: left !important;
  align-items: flex-start !important;
}

@media (max-width: 720px) {
  body.services-v40.brand-v6 .services-v40-problems > .v6-container > .v6-section-title h2,
  body.services-v41.brand-v6 .services-v40-problems > .v6-container > .v6-section-title h2 {
    font-size: clamp(1.38rem, 6.4vw, 1.62rem) !important;
    line-height: 1.16 !important;
  }
}

/* ===== v119 O mně credentials card title/body gap fix =====
   The card icon was controlling the first grid row height, which made the
   blue paragraph start too far below the green card title. Make the icon span
   both text rows and explicitly control the title -> paragraph gap. */
body.about-v29.brand-v6 .about-v29-credentials .about-v29-card-grid .v6-info-card {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  column-gap: 22px !important;
  row-gap: 0 !important;
  align-items: start !important;
}

body.about-v29.brand-v6 .about-v29-credentials .about-v29-card-grid .v6-info-card .v6-icon {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  margin: 0 !important;
  align-self: start !important;
}

body.about-v29.brand-v6 .about-v29-credentials .about-v29-card-grid .v6-info-card h3 {
  grid-column: 2 !important;
  grid-row: 1 !important;
  margin: 0 !important;
  align-self: start !important;
}

body.about-v29.brand-v6 .about-v29-credentials .about-v29-card-grid .v6-info-card h3 + p {
  grid-column: 2 !important;
  grid-row: 2 !important;
  margin-top: 10px !important;
}

@media (max-width: 720px) {
  body.about-v29.brand-v6 .about-v29-credentials .about-v29-card-grid .v6-info-card h3 + p {
    margin-top: 9px !important;
  }
}

/* ===== v120 centered feature-section title role =====
   Requested refinement: apply the newer title styling used for the services
   problem-section heading to these two visual section titles, and keep them
   centered in the middle of the screen/container:
   - Homepage: "Psychoterapie a poradenství"
   - O mně: "Odborné zázemí"
   This is scoped so the rest of the title system stays stable. */
body.brand-v6 {
  --v120-title-centered-feature: clamp(1.52rem, 1.64vw, 1.76rem);
}

body.home-v56.brand-v6 .v6-services > .v6-container > .v6-section-title,
body.about-v29.brand-v6 .about-v29-credentials .v6-section-title {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.home-v56.brand-v6 .v6-services > .v6-container > .v6-section-title h2,
body.about-v29.brand-v6 .about-v29-credentials .v6-section-title h2 {
  font-family: "Lora", Georgia, serif !important;
  font-size: var(--v120-title-centered-feature) !important;
  line-height: 1.14 !important;
  letter-spacing: -.018em !important;
  font-weight: 500 !important;
  text-transform: none !important;
  text-wrap: balance !important;
  color: var(--v103-debug-section-small) !important;
  max-width: min(100%, 820px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.home-v56.brand-v6 .v6-services > .v6-container > .v6-section-title .v6-line,
body.about-v29.brand-v6 .about-v29-credentials .v6-section-title .v6-line {
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 720px) {
  body.brand-v6 {
    --v120-title-centered-feature: clamp(1.38rem, 6.4vw, 1.62rem);
  }
}


/* ===== v121 title bottom spacing tighten =====
   Requested refinement:
   - reduce the vertical gap below bottom/final-section titles before their blue paragraph
   - reduce the vertical gap below the newer centered feature titles
   - keep title roles, debug colors, buttons, CMS, form and layout structure unchanged */
body.brand-v6 {
  --v121-bottom-title-paragraph-gap: clamp(6px, .65vw, 9px);
  --v121-centered-feature-bottom-gap: clamp(12px, 1.1vw, 16px);
  --v121-centered-feature-line-top-gap: clamp(6px, .7vw, 9px);
  --v121-centered-feature-line-bottom-gap: clamp(6px, .7vw, 9px);
}

body.home-v56.brand-v6 .v6-final-cta h2 + p,
body.about-v29.brand-v6 .v6-final-cta h2 + p,
body.services-v40.brand-v6 .v6-final-cta h2 + p,
body.services-v41.brand-v6 .v6-final-cta h2 + p,
body.pricing-v29.brand-v6 .v6-final-cta h2 + p,
body.contact-v27.brand-v6 .v27-contact-final h2 + p,
body.pricing-v29.brand-v6 .pricing-v38-note h2 + p {
  margin-top: var(--v121-bottom-title-paragraph-gap) !important;
}

body.home-v56.brand-v6 .v6-services > .v6-container > .v6-section-title,
body.about-v29.brand-v6 .about-v29-credentials .v6-section-title {
  margin-bottom: var(--v121-centered-feature-bottom-gap) !important;
}

body.home-v56.brand-v6 .v6-services > .v6-container > .v6-section-title h2,
body.about-v29.brand-v6 .about-v29-credentials .v6-section-title h2 {
  margin-bottom: 0 !important;
}

body.home-v56.brand-v6 .v6-services > .v6-container > .v6-section-title .v6-line,
body.about-v29.brand-v6 .about-v29-credentials .v6-section-title .v6-line {
  margin-top: var(--v121-centered-feature-line-top-gap) !important;
  margin-bottom: var(--v121-centered-feature-line-bottom-gap) !important;
}

@media (max-width: 720px) {
  body.brand-v6 {
    --v121-bottom-title-paragraph-gap: 6px;
    --v121-centered-feature-bottom-gap: 12px;
    --v121-centered-feature-line-top-gap: 6px;
    --v121-centered-feature-line-bottom-gap: 6px;
  }
}

/* ===== v122 branded typography colors + inline tag hearts =====
   Final visual-color pass after debug mode:
   - replace loud debug colors with calm brand-related colors
   - add a small inline heart to tag/kicker labels, matching the reference style
   - keep buttons, nav labels, brand script text, price amount and form labels untouched */
body.brand-v6 {
  --v122-title-color: var(--v6-olive, #3E3D2A);
  --v122-title-soft-color: #484832;
  --v122-card-title-color: var(--v6-olive, #3E3D2A);
  --v122-lead-color: var(--v6-muted, #6D604F);
  --v122-body-color: var(--v6-muted, #6D604F);
  --v122-tag-color: #8a6a4b;
  --v122-tag-heart: var(--v6-gold, #C4A44F);

  /* Re-map previous debug variables so older scoped rules inherit brand colors. */
  --v103-debug-tag: var(--v122-tag-color);
  --v103-debug-hero-title: var(--v122-title-color);
  --v103-debug-section-big: var(--v122-title-color);
  --v103-debug-section-small: var(--v122-title-soft-color);
  --v103-debug-card-title: var(--v122-card-title-color);
  --v103-debug-lead-text: var(--v122-lead-color);
  --v103-debug-body-text: var(--v122-body-color);
  --v107-debug-inner-hero: var(--v122-title-color);
  --v112-debug-bottom-section-title: var(--v122-title-soft-color);
  --v102-tag-color: var(--v122-tag-color);
}

/* Direct final color safety layer for all active title/text roles. */
body.brand-v6 .v6-page-title,
body.brand-v6 .v27-contact-copy .v6-page-title,
body.brand-v6 .services-v40-overview .v6-page-title,
body.brand-v6 .services-v41-overview .v6-page-title,
body.home-v56.brand-v6 .v56-hero h1,
body.services-v40.brand-v6 #services-hero-title,
body.services-v41.brand-v6 #services-hero-title,
body.about-v29.brand-v6 .about-v29-hero .v6-page-title,
body.contact-v27.brand-v6 .v27-contact-copy .v6-page-title {
  color: var(--v122-title-color) !important;
}

body.home-v56.brand-v6 .v56-trust-heading h2,
body.home-v56.brand-v6 .v6-about-copy h2,
body.home-v56.brand-v6 .v6-location-inner h2,
body.home-v56.brand-v6 .v6-final-cta h2,
body.brand-v6 .v6-cta-panel h2,
body.contact-v27.brand-v6 .v27-contact-final h2,
body.pricing-v29.brand-v6 .pricing-v38-note h2,
body.about-v29.brand-v6 .about-v31-main-text h2,
body.about-v29.brand-v6 .about-v31-audience h2,
body.contact-v27.brand-v6 .v27-locations-header h2 {
  color: var(--v122-title-color) !important;
}

body.brand-v6 .v6-panel h2,
body.brand-v6 .v6-form-card h2,
body.brand-v6 .v6-legal-prose h2,
body.contact-v27.brand-v6 .v27-form-shell h2,
body.contact-v27.brand-v6 .v27-process-card h2,
body.contact-v27.brand-v6 .v27-locations-header h2,
body.pricing-v29.brand-v6 .pricing-v29-process h2,
body.pricing-v29.brand-v6 .pricing-v29-booking h2,
body.home-v56.brand-v6 .v6-services > .v6-container > .v6-section-title h2,
body.about-v29.brand-v6 .about-v29-credentials .v6-section-title h2,
body.services-v40.brand-v6 .services-v40-problems > .v6-container > .v6-section-title h2,
body.services-v41.brand-v6 .services-v40-problems > .v6-container > .v6-section-title h2 {
  color: var(--v122-title-soft-color) !important;
}

body.brand-v6 .v6-info-card h3,
body.brand-v6 .v6-service h3,
body.brand-v6 .v6-panel h3,
body.home-v56.brand-v6 .v56-trust-card h3,
body.contact-v27.brand-v6 .v27-contact-card h3,
body.contact-v27.brand-v6 .v27-location-card h3,
body.about-v29.brand-v6 .about-v31-fact h3,
body.about-v29.brand-v6 .about-v31-audience-item strong,
body.contact-v27.brand-v6 .v27-process-list li > strong {
  color: var(--v122-card-title-color) !important;
}

body.brand-v6 .v6-page-lead,
body.home-v56.brand-v6 .v56-lead,
body.home-v56.brand-v6 .v56-trust-heading p:not(.v56-kicker),
body.contact-v27.brand-v6 .v27-form-shell > p,
body.contact-v27.brand-v6 .v27-form-shell .v6-page-kicker + h2 + p,
body.about-v29.brand-v6 .about-v31-main-text > p,
body.services-v40.brand-v6 .services-v40-heading p:not(.v6-page-kicker),
body.services-v41.brand-v6 .services-v40-heading p:not(.v6-page-kicker) {
  color: var(--v122-lead-color) !important;
}

body.brand-v6 .v6-panel p,
body.brand-v6 .v6-info-card p,
body.brand-v6 .v6-service p,
body.brand-v6 .v6-form-card p,
body.brand-v6 .v6-legal-prose p,
body.home-v56.brand-v6 .v56-trust-card p,
body.home-v56.brand-v6 .v6-about-copy p:not(.v6-eyebrow),
body.home-v56.brand-v6 .v6-location-inner p,
body.home-v56.brand-v6 .v6-final-cta p,
body.contact-v27.brand-v6 .v27-contact-card p,
body.contact-v27.brand-v6 .v27-process-card p,
body.contact-v27.brand-v6 .v27-location-card p,
body.contact-v27.brand-v6 .v27-form-shell p,
body.contact-v27.brand-v6 .v27-process-list li > span,
body.about-v29.brand-v6 .about-v31-audience-item span {
  color: var(--v122-body-color) !important;
}

/* Tag/kicker labels: one color, one spacing rhythm, inline heart mark. */
body.brand-v6 .v6-page-kicker,
body.brand-v6 .v6-page-hero .v6-page-kicker,
body.brand-v6 .v6-eyebrow,
body.home-v56.brand-v6 .v56-kicker,
body.home-v56.brand-v6 .v56-hero .v56-kicker,
body.home-v56.brand-v6 .v56-trust-heading .v56-kicker,
body.services-v40.brand-v6 .services-v40-heading .v6-page-kicker,
body.services-v41.brand-v6 .services-v40-heading .v6-page-kicker,
body.about-v29.brand-v6 .about-v29-intro .v6-page-kicker,
body.about-v29.brand-v6 .about-v29-audience .v6-page-kicker,
body.about-v29.brand-v6 .about-v31-main-text > .v6-page-kicker,
body.pricing-v29.brand-v6 .v6-page-kicker,
body.contact-v27.brand-v6 .v6-page-kicker,
body.contact-v27.brand-v6 .v27-contact-card > .v6-page-kicker,
body.contact-v27.brand-v6 .v27-form-shell > .v6-page-kicker,
body.contact-v27.brand-v6 .v27-process-card > .v6-page-kicker,
body.contact-v27.brand-v6 .v27-locations-header > .v6-page-kicker,
body.contact-v27.brand-v6 .v27-contact-section .v6-page-kicker,
body.contact-v27.brand-v6 [aria-label="Rychlý kontakt"] > .v6-page-kicker,
body.services-v43 .services-v43-intro-note span {
  color: var(--v122-tag-color) !important;
  gap: .72em !important;
}

body.brand-v6 .v6-page-kicker::after,
body.brand-v6 .v6-page-hero .v6-page-kicker::after,
body.brand-v6 .v6-eyebrow::after,
body.home-v56.brand-v6 .v56-kicker::after,
body.home-v56.brand-v6 .v56-hero .v56-kicker::after,
body.home-v56.brand-v6 .v56-trust-heading .v56-kicker::after,
body.services-v40.brand-v6 .services-v40-heading .v6-page-kicker::after,
body.services-v41.brand-v6 .services-v40-heading .v6-page-kicker::after,
body.about-v29.brand-v6 .about-v29-intro .v6-page-kicker::after,
body.about-v29.brand-v6 .about-v29-audience .v6-page-kicker::after,
body.about-v29.brand-v6 .about-v31-main-text > .v6-page-kicker::after,
body.pricing-v29.brand-v6 .v6-page-kicker::after,
body.contact-v27.brand-v6 .v6-page-kicker::after,
body.contact-v27.brand-v6 .v27-contact-card > .v6-page-kicker::after,
body.contact-v27.brand-v6 .v27-form-shell > .v6-page-kicker::after,
body.contact-v27.brand-v6 .v27-process-card > .v6-page-kicker::after,
body.contact-v27.brand-v6 .v27-locations-header > .v6-page-kicker::after,
body.contact-v27.brand-v6 .v27-contact-section .v6-page-kicker::after,
body.contact-v27.brand-v6 [aria-label="Rychlý kontakt"] > .v6-page-kicker::after,
body.services-v43 .services-v43-intro-note span::after {
  content: "♥" !important;
  display: inline-block !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 0 0 .72em !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: var(--v122-tag-heart) !important;
  font: inherit !important;
  font-size: .92em !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  opacity: 1 !important;
  transform: translateY(-.02em) !important;
}

/* Keep final/utility tags centered only where the layout intentionally centers content. */
body.brand-v6 .v6-final-cta .v6-page-kicker::after,
body.brand-v6 .v6-cta-panel .v6-page-kicker::after,
body.brand-v6 .v6-thankyou .v6-page-kicker::after,
body.brand-v6 .v6-error .v6-page-kicker::after {
  margin-left: .72em !important;
}

/* ===== v123 centered feature title + fourth-card polish =====
   - keep the newer feature titles visually centered after the branded color pass
   - add balanced spacing for the newly added fourth principle card on the O mně page
   - reduce empty mobile space by letting the facts grid sit as a fuller, even card stack */
body.brand-v6 {
  --v123-feature-title-max-width: min(100%, 820px);
}

body.home-v56.brand-v6 .v6-services > .v6-container > .v6-section-title,
body.about-v29.brand-v6 .about-v29-credentials .v6-section-title {
  width: 100% !important;
  max-width: none !important;
  margin-inline: auto !important;
  display: grid !important;
  justify-items: center !important;
  place-items: center !important;
  text-align: center !important;
}

body.home-v56.brand-v6 .v6-services > .v6-container > .v6-section-title h2,
body.about-v29.brand-v6 .about-v29-credentials .v6-section-title h2 {
  width: 100% !important;
  max-width: var(--v123-feature-title-max-width) !important;
  margin-inline: auto !important;
  text-align: center !important;
}

body.home-v56.brand-v6 .v6-services > .v6-container > .v6-section-title .v6-line,
body.about-v29.brand-v6 .about-v29-credentials .v6-section-title .v6-line {
  justify-self: center !important;
  margin-inline: auto !important;
}

body.about-v29.brand-v6 .about-v31-facts {
  align-content: start !important;
  grid-auto-rows: minmax(0, auto) !important;
  gap: clamp(14px, 1.6vw, 18px) !important;
}

body.about-v29.brand-v6 .about-v31-fact {
  min-height: clamp(126px, 10.4vw, 158px) !important;
}

body.about-v29.brand-v6 .about-v31-fact h3 + p {
  margin-top: 10px !important;
}

@media (max-width: 720px) {
  body.about-v29.brand-v6 .about-v31-facts {
    gap: 12px !important;
  }

  body.about-v29.brand-v6 .about-v31-fact {
    min-height: auto !important;
  }

  body.about-v29.brand-v6 .about-v31-fact h3 + p {
    margin-top: 8px !important;
  }
}



/* ===== v124 about audience card height alignment =====
   Keep the right-side audience cards balanced against the left text panel on O mně.
   The cards now stretch as one column to match the companion panel height, while
   preserving the existing title/body typography and branded colors. */
body.about-v29.brand-v6 .about-v29-audience .about-v31-audience-grid {
  align-items: stretch !important;
}

body.about-v29.brand-v6 .about-v29-audience .about-v31-main-text {
  height: 100% !important;
}

body.about-v29.brand-v6 .about-v29-audience .about-v31-audience-list {
  height: 100% !important;
  min-height: 100% !important;
  display: grid !important;
  grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(14px, 1.7vw, 20px) !important;
}

body.about-v29.brand-v6 .about-v29-audience .about-v31-audience-item {
  min-height: 0 !important;
  height: 100% !important;
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  align-items: center !important;
  padding-block: clamp(18px, 2vw, 28px) !important;
}

body.about-v29.brand-v6 .about-v29-audience .about-v31-audience-item strong {
  margin: 0 !important;
}

body.about-v29.brand-v6 .about-v29-audience .about-v31-audience-item span {
  margin-top: clamp(8px, .9vw, 12px) !important;
}

@media (max-width: 1080px) {
  body.about-v29.brand-v6 .about-v29-audience .about-v31-audience-list {
    height: auto !important;
    min-height: 0 !important;
    grid-template-rows: none !important;
  }

  body.about-v29.brand-v6 .about-v29-audience .about-v31-audience-item {
    height: auto !important;
    align-items: start !important;
    padding-block: 22px !important;
  }
}

@media (max-width: 720px) {
  body.about-v29.brand-v6 .about-v29-audience .about-v31-audience-item {
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 14px !important;
  }
}

/* ===== v125 contact value spacing + inner hero scale =====
   Requested refinement:
   - non-homepage hero title role is 15% larger
   - contact quick-card label/value and price label/amount have no extra vertical gap
   - preserve buttons, CMS, forms, Identity and previous visual role mapping */
body.brand-v6 {
  --v107-title-inner-hero: clamp(2.47rem, 4.2vw, 5rem);
}

body.contact-v27.brand-v6 .v27-contact-method em,
body.contact-v27.brand-v6 .v27-price-chip strong {
  margin-top: 0 !important;
}

body.contact-v27.brand-v6 .v27-contact-method > span:last-child,
body.contact-v27.brand-v6 .v27-price-chip {
  row-gap: 0 !important;
}

/* Keep the visual relation tight inside the quick-contact cards without shrinking the cards themselves. */
body.contact-v27.brand-v6 .v27-contact-method strong,
body.contact-v27.brand-v6 .v27-price-chip span {
  margin-bottom: 0 !important;
}

@media (max-width: 720px) {
  body.brand-v6 {
    --v107-title-inner-hero: clamp(2.1rem, 9.3vw, 3.16rem);
  }
}

/* ===== v126 contact process + services title cleanup =====
   Requested refinements:
   - remove large gaps between Kontakt process card titles and their descriptions
   - center the "S čím můžete přijít" title on the Co nabízím page
   - remove the decorative divider/heart line under the homepage "Psychoterapie a poradenství" title
   - keep CMS, buttons, form setup and current typography roles intact */
body.contact-v27.brand-v6 .v27-process-list li > strong {
  margin-bottom: 0 !important;
}

body.contact-v27.brand-v6 .v27-process-list li > strong + span {
  margin-top: 0 !important;
}

body.contact-v27.brand-v6 .v27-process-list li {
  row-gap: 0 !important;
}

body.services-v40.brand-v6 .services-v40-problems > .v6-container > .v6-section-title,
body.services-v41.brand-v6 .services-v40-problems > .v6-container > .v6-section-title {
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  display: grid !important;
  justify-items: center !important;
}

body.services-v40.brand-v6 .services-v40-problems > .v6-container > .v6-section-title h2,
body.services-v41.brand-v6 .services-v40-problems > .v6-container > .v6-section-title h2 {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

body.home-v56.brand-v6 .v6-services > .v6-container > .v6-section-title .v6-line {
  display: none !important;
}

body.home-v56.brand-v6 .v6-services > .v6-container > .v6-section-title {
  margin-bottom: clamp(14px, 1.4vw, 20px) !important;
}

/* ===== v127 pricing title + feature-heading alignment =====
   Requested refinements:
   - Cena: make “Individuální konzultace” use the card-title role
   - Co nabízím: align the “Co nabízím” kicker with the right-side intro widget on desktop
   - Make these centered feature titles share one spacing/style system:
     Homepage “Psychoterapie a poradenství”, Co nabízím “S čím můžete přijít”, O mně “Odborné zázemí”
   - Keep buttons, CMS, form setup, Identity and content unchanged. */
body.brand-v6 {
  --v127-feature-title-bottom-gap: clamp(18px, 2.1vw, 28px);
  --v127-feature-title-max: min(100%, 820px);
}

/* Cena: the pricing card title should feel like a card heading, not a page hero. */
body.pricing-v29.brand-v6 .v6-price-heading {
  font-family: "Lora", Georgia, serif !important;
  font-size: var(--v98-title-card) !important;
  line-height: 1.2 !important;
  letter-spacing: -.02em !important;
  font-weight: 500 !important;
  color: var(--v122-card-title-color) !important;
  text-wrap: balance !important;
  margin: 0 0 clamp(10px, 1.1vw, 14px) !important;
}

/* Co nabízím hero: align the kicker with the right-side intro card on desktop. */
@media (min-width: 1021px) {
  body.services-v41.brand-v6 .services-v40-heading .v6-page-kicker,
  body.services-v43.brand-v6 .services-v40-heading .v6-page-kicker {
    grid-column: 2 !important;
    justify-content: flex-start !important;
    justify-self: start !important;
    align-self: end !important;
    margin: 0 0 clamp(10px, 1.1vw, 14px) !important;
    text-align: left !important;
  }
}

@media (max-width: 1020px) {
  body.services-v41.brand-v6 .services-v40-heading .v6-page-kicker,
  body.services-v43.brand-v6 .services-v40-heading .v6-page-kicker {
    grid-column: 1 !important;
    justify-content: flex-start !important;
    justify-self: start !important;
    text-align: left !important;
  }
}

/* One shared centered feature-heading system for the three matching section titles. */
body.home-v56.brand-v6 .v6-services > .v6-container > .v6-section-title,
body.services-v40.brand-v6 .services-v40-problems > .v6-container > .v6-section-title,
body.services-v41.brand-v6 .services-v40-problems > .v6-container > .v6-section-title,
body.about-v29.brand-v6 .about-v29-credentials .v6-section-title {
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: var(--v127-feature-title-bottom-gap) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

body.home-v56.brand-v6 .v6-services > .v6-container > .v6-section-title h2,
body.services-v40.brand-v6 .services-v40-problems > .v6-container > .v6-section-title h2,
body.services-v41.brand-v6 .services-v40-problems > .v6-container > .v6-section-title h2,
body.about-v29.brand-v6 .about-v29-credentials .v6-section-title h2 {
  font-family: "Lora", Georgia, serif !important;
  font-size: var(--v120-title-centered-feature) !important;
  line-height: 1.14 !important;
  letter-spacing: -.018em !important;
  font-weight: 500 !important;
  text-transform: none !important;
  text-wrap: balance !important;
  color: var(--v122-title-soft-color) !important;
  width: 100% !important;
  max-width: var(--v127-feature-title-max) !important;
  margin: 0 auto !important;
  text-align: center !important;
}

/* Remove the decorative divider so all three feature titles visually match. */
body.home-v56.brand-v6 .v6-services > .v6-container > .v6-section-title .v6-line,
body.services-v40.brand-v6 .services-v40-problems > .v6-container > .v6-section-title .v6-line,
body.services-v41.brand-v6 .services-v40-problems > .v6-container > .v6-section-title .v6-line,
body.about-v29.brand-v6 .about-v29-credentials .v6-section-title .v6-line {
  display: none !important;
}

@media (max-width: 720px) {
  body.brand-v6 {
    --v127-feature-title-bottom-gap: 16px;
  }
}

/* ===== v128 feature-title centering + pricing title case =====
   Requested refinements:
   - Keep the three feature titles horizontally centered as a viewport-centered title group:
     Homepage “Psychoterapie a poradenství”, Co nabízím “S čím můžete přijít”, O mně “Odborné zázemí”.
   - Do not uppercase the pricing card title “Individuální konzultace”.
   This is a visual-only override; buttons, CMS, forms, Identity and content remain unchanged. */
body.home-v56.brand-v6 .v6-services > .v6-container > .v6-section-title,
body.services-v40.brand-v6 .services-v40-problems > .v6-container > .v6-section-title,
body.services-v41.brand-v6 .services-v40-problems > .v6-container > .v6-section-title,
body.about-v29.brand-v6 .about-v29-credentials .v6-section-title {
  position: relative !important;
  left: 50% !important;
  right: auto !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: -50vw !important;
  margin-right: 0 !important;
  display: grid !important;
  place-items: center !important;
  justify-items: center !important;
  align-items: center !important;
  text-align: center !important;
}

body.home-v56.brand-v6 .v6-services > .v6-container > .v6-section-title h2,
body.services-v40.brand-v6 .services-v40-problems > .v6-container > .v6-section-title h2,
body.services-v41.brand-v6 .services-v40-problems > .v6-container > .v6-section-title h2,
body.about-v29.brand-v6 .about-v29-credentials .v6-section-title h2 {
  display: block !important;
  width: auto !important;
  max-width: min(820px, calc(100vw - 40px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  justify-self: center !important;
  align-self: center !important;
}

body.home-v56.brand-v6 .v6-services > .v6-container > .v6-section-title .v6-line,
body.services-v40.brand-v6 .services-v40-problems > .v6-container > .v6-section-title .v6-line,
body.services-v41.brand-v6 .services-v40-problems > .v6-container > .v6-section-title .v6-line,
body.about-v29.brand-v6 .about-v29-credentials .v6-section-title .v6-line {
  display: none !important;
}

body.pricing-v29.brand-v6 .v6-price-heading {
  text-transform: none !important;
  letter-spacing: -.02em !important;
}

/* ===== v129 services hero kicker alignment + footer label restore =====
   - Co nabízím hero kicker stays on the left column, but aligns vertically with the top of the right intro widget.
   - Footer column labels return to the older v91 footer style: white uppercase labels, no tag-heart treatment.
*/
@media (min-width: 1021px) {
  body.services-v41.brand-v6 .services-v40-heading,
  body.services-v43.brand-v6 .services-v40-heading {
    align-items: start !important;
    grid-template-areas:
      "kicker note"
      "title note" !important;
    row-gap: clamp(14px, 1.4vw, 20px) !important;
  }

  body.services-v41.brand-v6 .services-v40-heading .v6-page-kicker,
  body.services-v43.brand-v6 .services-v40-heading .v6-page-kicker {
    grid-column: 1 !important;
    grid-row: 1 !important;
    grid-area: kicker !important;
    justify-content: flex-start !important;
    justify-self: start !important;
    align-self: start !important;
    margin: 0 !important;
    text-align: left !important;
  }

  body.services-v41.brand-v6 .services-v40-heading h1,
  body.services-v43.brand-v6 .services-v40-heading h1 {
    grid-column: 1 !important;
    grid-row: 2 !important;
    grid-area: title !important;
    align-self: start !important;
  }

  body.services-v43.brand-v6 .services-v43-intro-note {
    grid-column: 2 !important;
    grid-row: 1 / 3 !important;
    grid-area: note !important;
    align-self: start !important;
    margin-top: 0 !important;
  }
}

@media (max-width: 1020px) {
  body.services-v41.brand-v6 .services-v40-heading .v6-page-kicker,
  body.services-v43.brand-v6 .services-v40-heading .v6-page-kicker {
    grid-column: 1 !important;
    grid-row: auto !important;
    grid-area: auto !important;
    justify-content: flex-start !important;
    justify-self: start !important;
    align-self: start !important;
    text-align: left !important;
  }
}

body.brand-v6 .v6-footer h2,
body.brand-v6 footer.v6-footer h2,
body.brand-v6 .v6-footer-grid h2 {
  font: 800 .78rem/1 "Inter", system-ui, sans-serif !important;
  letter-spacing: .28em !important;
  text-transform: uppercase !important;
  color: #FFFDF7 !important;
  margin: 0 0 18px !important;
  text-align: left !important;
}

body.brand-v6 .v6-footer h2::before,
body.brand-v6 .v6-footer h2::after,
body.brand-v6 footer.v6-footer h2::before,
body.brand-v6 footer.v6-footer h2::after,
body.brand-v6 .v6-footer-grid h2::before,
body.brand-v6 .v6-footer-grid h2::after {
  content: none !important;
  display: none !important;
}

/* ===== v130 footer spacing + services kicker nudge + pricing amount title role =====
   Requested refinements:
   - remove extra vertical spacing from footer column titles
   - move the Co nabízím hero kicker slightly lower while keeping it on the left
   - make the Cena page price amount use the Main/Big section title role
*/
body.brand-v6 .v6-footer h2,
body.brand-v6 footer.v6-footer h2,
body.brand-v6 .v6-footer-grid h2 {
  margin-top: 0 !important;
  margin-bottom: 6px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1 !important;
}

@media (min-width: 1021px) {
  body.services-v41.brand-v6 .services-v40-heading .v6-page-kicker,
  body.services-v43.brand-v6 .services-v40-heading .v6-page-kicker {
    margin-top: clamp(10px, .85vw, 14px) !important;
  }
}

body.pricing-v29.brand-v6 .v6-price-amount {
  font-family: "Lora", Georgia, serif !important;
  font-size: var(--v98-title-section-big) !important;
  line-height: var(--v98-section-line) !important;
  font-weight: 500 !important;
  letter-spacing: -.032em !important;
  text-transform: none !important;
  color: var(--v122-title-color) !important;
  margin: 0 0 clamp(8px, .9vw, 12px) !important;
  text-wrap: balance !important;
}

@media (max-width: 720px) {
  body.pricing-v29.brand-v6 .v6-price-amount {
    font-size: var(--v98-title-section-big) !important;
  }
}

/* ===== v131 pricing + homepage feature final refinements =====
   Requested refinements:
   - Cena page price uses the non-homepage hero title role.
   - Cena page price subtitle/meta text stays normal case, not uppercase.
   - Pricing note heading “Stačí napsat nebo zavolat...” uses the Main/Big section title role.
   - Homepage “Psychoterapie a poradenství” title is white.
*/
body.pricing-v29.brand-v6 .v6-price-amount {
  font-family: "Lora", Georgia, serif !important;
  font-size: var(--v107-title-inner-hero) !important;
  line-height: var(--v98-hero-line) !important;
  font-weight: 500 !important;
  letter-spacing: -.04em !important;
  text-transform: none !important;
  color: var(--v122-title-color) !important;
  margin: 0 0 clamp(4px, .45vw, 7px) !important;
  text-wrap: balance !important;
}

body.pricing-v29.brand-v6 .v6-price-subtitle {
  font-family: "Lora", Georgia, serif !important;
  font-size: var(--v98-text-body) !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: var(--v122-body-color) !important;
  margin: 0 0 clamp(20px, 2vw, 30px) !important;
}

body.pricing-v29.brand-v6 .pricing-v38-note h2 {
  font-family: "Lora", Georgia, serif !important;
  font-size: var(--v98-title-section-big) !important;
  line-height: var(--v98-section-line) !important;
  font-weight: 500 !important;
  letter-spacing: -.032em !important;
  text-transform: none !important;
  color: var(--v122-title-color) !important;
  text-wrap: balance !important;
}

body.home-v56.brand-v6 .v6-services > .v6-container > .v6-section-title h2 {
  color: #fffdf7 !important;
}

@media (max-width: 720px) {
  body.pricing-v29.brand-v6 .v6-price-amount {
    font-size: var(--v107-title-inner-hero) !important;
  }

  body.pricing-v29.brand-v6 .pricing-v38-note h2 {
    font-size: var(--v98-title-section-big) !important;
  }
}

/* ===== v132 pricing insurance + services kicker + footer hover polish =====
   - Pricing page gets an insurance contribution section based on the original Wix content.
   - Pricing note title is allowed to breathe wider.
   - Co nabízím kicker sits directly above the page hero title again.
   - Footer hover links stay white, not yellow/gold.
*/
body.brand-v6 {
  --v132-insurance-surface: rgba(255, 253, 247, .72);
  --v132-insurance-border: rgba(138, 106, 75, .18);
}

body.pricing-v29.brand-v6 .pricing-v38-note h2 {
  max-width: min(100%, 860px) !important;
  width: min(100%, 860px) !important;
}

body.pricing-v29.brand-v6 .pricing-v132-insurance-section {
  position: relative !important;
  padding-top: clamp(26px, 4vw, 54px) !important;
  padding-bottom: clamp(30px, 4.4vw, 60px) !important;
}

body.pricing-v29.brand-v6 .pricing-v132-insurance {
  display: grid !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(240px, .75fr) !important;
  gap: clamp(22px, 3vw, 42px) !important;
  align-items: center !important;
  background: var(--v132-insurance-surface) !important;
  border: 1px solid var(--v132-insurance-border) !important;
  box-shadow: 0 22px 60px rgba(58, 69, 45, .08) !important;
}

body.pricing-v29.brand-v6 .pricing-v132-insurance h2 {
  font-family: "Lora", Georgia, serif !important;
  font-size: var(--v112-title-bottom-section) !important;
  line-height: 1.16 !important;
  letter-spacing: -.024em !important;
  font-weight: 500 !important;
  color: var(--v122-title-color) !important;
  text-wrap: balance !important;
  margin: 0 0 clamp(10px, 1vw, 14px) !important;
}

body.pricing-v29.brand-v6 .pricing-v132-insurance p:not(.v6-page-kicker) {
  font-family: "Lora", Georgia, serif !important;
  font-size: var(--v98-text-body) !important;
  line-height: 1.72 !important;
  color: var(--v122-body-color) !important;
  margin: 0 !important;
  max-width: 68ch !important;
}

body.pricing-v29.brand-v6 .pricing-v132-insurance p:not(.v6-page-kicker) + p:not(.v6-page-kicker) {
  margin-top: clamp(10px, 1vw, 14px) !important;
}

body.pricing-v29.brand-v6 .pricing-v132-insurance-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  gap: 10px !important;
}

body.pricing-v29.brand-v6 .pricing-v132-insurance-list li {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 44px !important;
  border-radius: 999px !important;
  padding: 10px 14px !important;
  background: rgba(255, 253, 247, .86) !important;
  border: 1px solid rgba(196, 164, 79, .22) !important;
  color: var(--v122-title-soft-color) !important;
  font: 800 .84rem/1.25 "Inter", system-ui, sans-serif !important;
  letter-spacing: .04em !important;
}

body.pricing-v29.brand-v6 .pricing-v132-insurance-list li::before {
  content: "♥" !important;
  color: #C4A44F !important;
  font-size: .82rem !important;
  line-height: 1 !important;
}

@media (min-width: 1021px) {
  body.services-v41.brand-v6 .services-v40-heading,
  body.services-v43.brand-v6 .services-v40-heading {
    grid-template-areas:
      "kicker note"
      "title note" !important;
    row-gap: clamp(4px, .45vw, 8px) !important;
    align-items: start !important;
  }

  body.services-v41.brand-v6 .services-v40-heading .v6-page-kicker,
  body.services-v43.brand-v6 .services-v40-heading .v6-page-kicker {
    grid-area: kicker !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: end !important;
    justify-self: start !important;
    margin: 0 !important;
    transform: none !important;
  }

  body.services-v41.brand-v6 .services-v40-heading h1,
  body.services-v43.brand-v6 .services-v40-heading h1 {
    grid-area: title !important;
    grid-column: 1 !important;
    grid-row: 2 !important;
    margin-top: 0 !important;
  }

  body.services-v43.brand-v6 .services-v43-intro-note {
    grid-area: note !important;
    grid-column: 2 !important;
    grid-row: 1 / 3 !important;
    align-self: start !important;
    margin-top: 0 !important;
  }
}

body.brand-v6 .v6-footer a:hover,
body.brand-v6 footer.v6-footer a:hover,
body.brand-v6 .v6-footer-bottom a:hover {
  color: #fffdf7 !important;
}

@media (max-width: 820px) {
  body.pricing-v29.brand-v6 .pricing-v132-insurance {
    grid-template-columns: 1fr !important;
  }
}

/* ===== v133 pricing insurance + overflow safety =====
   Requested refinements:
   - make the pricing process heading wider
   - make the insurance widget sit closer to the previous section
   - remove original-site wording from the insurance copy
   - prevent O mně and Co nabízím pages from becoming wider than the viewport
*/
body.brand-v6 {
  --v133-safe-viewport-width: calc(100vw - (100vw - 100%));
}

body.pricing-v29.brand-v6 .pricing-v38-note h2 {
  max-width: min(100%, 1040px) !important;
  width: min(100%, 1040px) !important;
}

body.pricing-v29.brand-v6 .pricing-v38-note {
  gap: clamp(14px, 1.6vw, 24px) !important;
}

body.pricing-v29.brand-v6 .pricing-v132-insurance-section {
  padding-top: clamp(13px, 2vw, 27px) !important;
}

/* Remove the viewport-width title trick that could create horizontal overflow.
   These headings stay centered, but inside the safe content/container width. */
body.home-v56.brand-v6 .v6-services > .v6-container > .v6-section-title,
body.services-v40.brand-v6 .services-v40-problems > .v6-container > .v6-section-title,
body.services-v41.brand-v6 .services-v40-problems > .v6-container > .v6-section-title,
body.about-v29.brand-v6 .about-v29-credentials .v6-section-title {
  left: auto !important;
  right: auto !important;
  transform: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

body.services-v40.brand-v6,
body.services-v41.brand-v6,
body.about-v29.brand-v6 {
  overflow-x: clip !important;
}

body.services-v40.brand-v6 .v6-container,
body.services-v41.brand-v6 .v6-container,
body.about-v29.brand-v6 .v6-container {
  max-width: min(var(--v6-container), calc(100vw - 32px)) !important;
  box-sizing: border-box !important;
}

@supports not (overflow: clip) {
  body.services-v40.brand-v6,
  body.services-v41.brand-v6,
  body.about-v29.brand-v6 {
    overflow-x: hidden !important;
  }
}

@media (max-width: 720px) {
  body.pricing-v29.brand-v6 .pricing-v38-note h2 {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.pricing-v29.brand-v6 .pricing-v132-insurance-section {
    padding-top: 14px !important;
  }
}


/* ===== v134 homepage feature spacing + pricing rhythm =====
   Requested refinements:
   - give homepage "Psychoterapie a poradenství" more vertical breathing room
   - make the pricing process title wider so it wraps less tightly
   - make the space between the main pricing grid and insurance widget match the main grid column gap
*/
body.home-v56.brand-v6 .v6-services > .v6-container > .v6-section-title {
  margin-top: clamp(22px, 3vw, 42px) !important;
  margin-bottom: clamp(32px, 4vw, 60px) !important;
}

body.home-v56.brand-v6 .v6-services > .v6-container > .v6-section-title h2 {
  max-width: min(920px, calc(100vw - 40px)) !important;
}

body.pricing-v29.brand-v6 .pricing-v38-note-section {
  padding-top: 0 !important;
}

body.pricing-v29.brand-v6 .pricing-v38-note {
  max-width: min(100%, 1180px) !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: clamp(24px, 3.4vw, 46px) !important;
}

body.pricing-v29.brand-v6 .pricing-v38-note h2 {
  width: 100% !important;
  max-width: 100% !important;
}

body.pricing-v29.brand-v6 .pricing-v29-section {
  padding-bottom: 0 !important;
}

body.pricing-v29.brand-v6 .pricing-v132-insurance-section {
  padding-top: clamp(30px, 4.2vw, 64px) !important;
}

@media (max-width: 820px) {
  body.pricing-v29.brand-v6 .pricing-v38-note {
    grid-template-columns: 1fr !important;
    gap: clamp(14px, 3.8vw, 22px) !important;
  }

  body.pricing-v29.brand-v6 .pricing-v29-section {
    padding-bottom: 0 !important;
  }

  body.pricing-v29.brand-v6 .pricing-v132-insurance-section {
    padding-top: clamp(22px, 6vw, 34px) !important;
  }

  body.home-v56.brand-v6 .v6-services > .v6-container > .v6-section-title {
    margin-top: clamp(18px, 6vw, 30px) !important;
    margin-bottom: clamp(24px, 7vw, 38px) !important;
  }
}

/* ===== v135 pricing background centering + insurance hover + footer brand link + price meta size =====
   - Center the pricing process card inside the forest background section.
   - Add premium hover animation to insurance provider pills.
   - Make the footer brand/name behave like a homepage button.
   - Make the pricing meta line 50% larger while keeping normal casing.
*/
body.pricing-v29.brand-v6 .pricing-v38-note-section {
  min-height: clamp(480px, 44vw, 680px) !important;
  display: flex !important;
  align-items: center !important;
  padding-top: clamp(64px, 7vw, 112px) !important;
  padding-bottom: clamp(64px, 7vw, 112px) !important;
}

body.pricing-v29.brand-v6 .pricing-v38-note-section > .v6-container {
  width: 100% !important;
}

body.pricing-v29.brand-v6 .pricing-v38-note {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

body.pricing-v29.brand-v6 .pricing-v132-insurance-list li {
  position: relative !important;
  overflow: hidden !important;
  transform: translateY(0) !important;
  transition:
    transform .42s cubic-bezier(.2,.78,.24,1),
    border-color .42s ease,
    background-color .42s ease,
    box-shadow .42s ease,
    color .42s ease !important;
  will-change: transform !important;
}

body.pricing-v29.brand-v6 .pricing-v132-insurance-list li::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(120deg, transparent, rgba(255,253,247,.54), transparent) !important;
  transform: translateX(-120%) !important;
  transition: transform .72s cubic-bezier(.2,.78,.24,1) !important;
}

@media (hover: hover) and (pointer: fine) {
  body.pricing-v29.brand-v6 .pricing-v132-insurance-list li:hover {
    transform: translateY(-3px) !important;
    background-color: rgba(255, 253, 247, .96) !important;
    border-color: rgba(196, 164, 79, .42) !important;
    box-shadow: 0 14px 34px rgba(58, 69, 45, .09) !important;
    color: var(--v122-title-color) !important;
  }

  body.pricing-v29.brand-v6 .pricing-v132-insurance-list li:hover::after {
    transform: translateX(120%) !important;
  }
}

body.pricing-v29.brand-v6 .v6-price-subtitle {
  font-size: calc(var(--v98-text-body) * 1.5) !important;
  line-height: 1.36 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

body.brand-v6 .v6-footer a.v6-footer-brand,
body.brand-v6 footer.v6-footer a.v6-footer-brand {
  display: grid !important;
  color: inherit !important;
  text-decoration: none !important;
  cursor: pointer !important;
  border-radius: 18px !important;
  transition: transform .36s cubic-bezier(.2,.78,.24,1), opacity .36s ease, filter .36s ease !important;
}

body.brand-v6 .v6-footer a.v6-footer-brand:hover,
body.brand-v6 footer.v6-footer a.v6-footer-brand:hover {
  color: inherit !important;
  transform: translateY(-2px) !important;
  opacity: .96 !important;
  filter: brightness(1.04) !important;
}

body.brand-v6 .v6-footer a.v6-footer-brand:focus-visible,
body.brand-v6 footer.v6-footer a.v6-footer-brand:focus-visible {
  outline: 2px solid rgba(255,253,247,.78) !important;
  outline-offset: 6px !important;
}

@media (max-width: 820px) {
  body.pricing-v29.brand-v6 .pricing-v38-note-section {
    min-height: auto !important;
    display: block !important;
    padding-top: clamp(56px, 12vw, 82px) !important;
    padding-bottom: clamp(56px, 12vw, 82px) !important;
  }

  body.pricing-v29.brand-v6 .v6-price-subtitle {
    font-size: 1.32rem !important;
  }
}

/* ===== v136 pricing background height + insurance hover alignment =====
   - Make the forest/background pricing process section less tall by reducing the
     vertical space around the centered widget by about 40%.
   - Make insurance provider pills use the same hover language as the other
     website widgets above: subtle lift, shared card shadow and shared border.
*/
body.pricing-v29.brand-v6 .pricing-v38-note-section {
  min-height: clamp(390px, 35vw, 560px) !important;
  padding-top: clamp(38px, 4.2vw, 67px) !important;
  padding-bottom: clamp(38px, 4.2vw, 67px) !important;
}

body.pricing-v29.brand-v6 .pricing-v132-insurance-list li {
  overflow: visible !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
  transition:
    transform .36s cubic-bezier(.2,.78,.24,1),
    box-shadow .36s ease,
    border-color .36s ease,
    background-color .36s ease,
    color .36s ease !important;
}

body.pricing-v29.brand-v6 .pricing-v132-insurance-list li::after {
  display: none !important;
  content: none !important;
}

@media (hover: hover) and (pointer: fine) {
  body.pricing-v29.brand-v6 .pricing-v132-insurance-list li:hover {
    transform: translate3d(0, -2px, 0) scale(1) !important;
    box-shadow: var(--v6-hover-card-shadow) !important;
    border-color: var(--v6-card-hover-border) !important;
    background-color: rgba(255, 253, 247, .94) !important;
    color: inherit !important;
  }
}

@media (max-width: 820px) {
  body.pricing-v29.brand-v6 .pricing-v38-note-section {
    min-height: auto !important;
    padding-top: clamp(34px, 8vw, 50px) !important;
    padding-bottom: clamp(34px, 8vw, 50px) !important;
  }
}

/* ===== v137 insurance hover matches pricing info cards exactly =====
   The insurance provider items should feel like the widgets above, not like
   a separate custom interaction. They now use the same timing, lift, shadow,
   border highlight and icon motion language as .v6-info-card widgets. */
body.pricing-v29.brand-v6 .pricing-v132-insurance-list li {
  overflow: visible !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
  transition:
    transform var(--v6-widget-hover-duration) var(--v6-hover-ease),
    box-shadow var(--v6-widget-hover-duration) var(--v6-hover-ease),
    border-color var(--v6-widget-hover-duration) var(--v6-hover-ease),
    background-color var(--v6-widget-hover-duration) var(--v6-hover-ease),
    color var(--v6-widget-hover-duration) var(--v6-hover-ease),
    opacity var(--v6-widget-hover-duration) var(--v6-hover-ease) !important;
  will-change: transform, box-shadow !important;
}

body.pricing-v29.brand-v6 .pricing-v132-insurance-list li::before {
  display: inline-grid !important;
  place-items: center !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
  transition:
    transform var(--v6-widget-hover-duration) var(--v6-hover-ease),
    color var(--v6-widget-hover-duration) var(--v6-hover-ease),
    opacity var(--v6-widget-hover-duration) var(--v6-hover-ease) !important;
}

body.pricing-v29.brand-v6 .pricing-v132-insurance-list li::after {
  display: none !important;
  content: none !important;
}

@media (hover: hover) and (pointer: fine) {
  body.pricing-v29.brand-v6 .pricing-v132-insurance-list li:hover {
    transform: translate3d(0, -2px, 0) scale(1) !important;
    box-shadow: var(--v6-hover-card-shadow) !important;
    border-color: rgba(62,61,42,.12) !important;
    background-color: rgba(255, 253, 247, .94) !important;
    color: var(--v122-title-soft-color) !important;
  }

  body.pricing-v29.brand-v6 .pricing-v132-insurance-list li:hover::before {
    transform: translate3d(0, -1px, 0) scale(1) !important;
  }
}

@media (hover: none), (pointer: coarse) {
  body.pricing-v29.brand-v6 .pricing-v132-insurance-list li:hover {
    transform: none !important;
  }
}
/* ===== v140 professional spacing audit + section rhythm =====
   Purpose: replace broad spacing experiments with a measured, role-based
   spacing ledger. The Cena page rhythm is used as the reference, but spacing
   is applied section-by-section to prevent double gaps from wrapper padding +
   child margins stacking together. */
body.brand-v6 {
  --v140-section-y: clamp(50px, 5.4vw, 78px);
  --v140-section-y-tight: clamp(38px, 4.1vw, 58px);
  --v140-section-y-soft: clamp(46px, 4.8vw, 70px);
  --v140-page-hero-top: clamp(54px, 6vw, 86px);
  --v140-page-hero-bottom: clamp(42px, 4.8vw, 68px);
  --v140-card-gap: clamp(9px, .9vw, 12px);
  --v140-title-gap: clamp(12px, 1.15vw, 16px);
  --v140-lead-stack: clamp(14px, 1.4vw, 20px);
  --v140-grid-gap: clamp(20px, 2.6vw, 34px);
  --v140-panel-gap: clamp(24px, 3.4vw, 46px);
  --v140-feature-title-gap: clamp(22px, 2.8vw, 36px);
  --v140-final-gap: clamp(12px, 1.25vw, 16px);
}

/* Reset typography stacks so spacing is owned by the role, not by random legacy margins. */
body.brand-v6 .v6-page-kicker,
body.brand-v6 .v6-eyebrow,
body.home-v56.brand-v6 .v56-kicker {
  margin-bottom: var(--v102-tag-gap, 14px) !important;
}

body.brand-v6 .v6-page-title,
body.home-v56.brand-v6 .v56-hero h1,
body.home-v56.brand-v6 .v56-trust-heading h2,
body.home-v56.brand-v6 .v6-about-copy h2,
body.brand-v6 .v6-section-title h2,
body.brand-v6 .v6-panel h2,
body.brand-v6 .v6-form-card h2,
body.brand-v6 .v6-info-card h3,
body.brand-v6 .v6-service h3,
body.home-v56.brand-v6 .v56-trust-card h3,
body.contact-v27.brand-v6 .v27-location-card h3,
body.contact-v27.brand-v6 .v27-contact-card h3,
body.about-v29.brand-v6 .about-v31-fact h3,
body.pricing-v29.brand-v6 .v6-price-heading,
body.pricing-v29.brand-v6 .pricing-v38-note h2,
body.pricing-v29.brand-v6 .pricing-v132-insurance-section h2,
body.brand-v6 .v6-final-cta h2 {
  margin-top: 0 !important;
}

body.brand-v6 .v6-page-lead,
body.home-v56.brand-v6 .v56-lead,
body.brand-v6 .v6-panel p,
body.brand-v6 .v6-info-card p,
body.brand-v6 .v6-service p,
body.home-v56.brand-v6 .v56-trust-card p,
body.home-v56.brand-v6 .v6-about-copy p:not(.v6-eyebrow),
body.home-v56.brand-v6 .v6-location-inner p,
body.brand-v6 .v6-final-cta p,
body.contact-v27.brand-v6 .v27-form-shell p,
body.contact-v27.brand-v6 .v27-process-card p,
body.contact-v27.brand-v6 .v27-location-card p,
body.pricing-v29.brand-v6 .pricing-v132-insurance-section p,
body.pricing-v29.brand-v6 .pricing-v38-note p {
  margin-top: 0 !important;
}

/* Title to text rhythm. */
body.brand-v6 .v6-page-title + .v6-page-lead,
body.contact-v27.brand-v6 .v27-contact-copy .v6-page-title + .v6-page-lead,
body.home-v56.brand-v6 .v56-hero h1 + .v56-lead {
  margin-top: var(--v140-title-gap) !important;
}

body.home-v56.brand-v6 .v6-about-copy h2 + p,
body.home-v56.brand-v6 .v6-location-inner h2 + p,
body.brand-v6 .v6-final-cta h2 + p,
body.pricing-v29.brand-v6 .pricing-v132-insurance-section h2 + p,
body.pricing-v29.brand-v6 .pricing-v38-note h2 + p,
body.contact-v27.brand-v6 .v27-form-shell h2 + p,
body.contact-v27.brand-v6 .v27-locations-header h2 + p {
  margin-top: var(--v140-title-gap) !important;
}

body.brand-v6 .v6-info-card h3 + p,
body.brand-v6 .v6-service h3 + p,
body.home-v56.brand-v6 .v56-trust-card h3 + p,
body.contact-v27.brand-v6 .v27-location-card h3 + p,
body.contact-v27.brand-v6 .v27-contact-card h3 + p,
body.about-v29.brand-v6 .about-v31-fact h3 + p,
body.pricing-v29.brand-v6 .v6-info-card h3 + p {
  margin-top: var(--v140-card-gap) !important;
}

body.home-v56.brand-v6 .v6-about-copy p + p,
body.about-v29.brand-v6 .about-v31-main-text p + p,
body.services-v40.brand-v6 .services-v40-heading p + p,
body.pricing-v29.brand-v6 .pricing-v132-insurance-section p + p,
body.pricing-v29.brand-v6 .pricing-v38-note p + p,
body.contact-v27.brand-v6 .v27-form-shell p + p {
  margin-top: var(--v140-lead-stack) !important;
}

/* Page hero rhythm: consistent top/bottom breathing without creating double gaps. */
body.brand-v6 .v6-page-hero,
body.about-v29.brand-v6 .about-v29-hero,
body.services-v40.brand-v6 .services-v40-overview,
body.services-v41.brand-v6 .services-v40-overview,
body.contact-v27.brand-v6 .v27-contact-hero {
  padding-top: var(--v140-page-hero-top) !important;
  padding-bottom: var(--v140-page-hero-bottom) !important;
}

body.brand-v6 .v6-page-hero-inner,
body.contact-v27.brand-v6 .v27-contact-hero-grid,
body.services-v40.brand-v6 .services-v40-heading,
body.services-v41.brand-v6 .services-v40-heading {
  gap: var(--v140-panel-gap) !important;
}

/* Homepage rhythm. */
body.home-v56.brand-v6 .v56-trust-section {
  padding-top: var(--v140-section-y-soft) !important;
  padding-bottom: var(--v140-section-y) !important;
}
body.home-v56.brand-v6 .v56-trust-heading {
  padding-top: 0 !important;
  padding-bottom: clamp(26px, 3vw, 40px) !important;
  column-gap: var(--v140-panel-gap) !important;
}
body.home-v56.brand-v6 .v56-trust-grid,
body.home-v56.brand-v6 .v6-card-grid,
body.home-v56.brand-v6 .v6-service-grid {
  gap: var(--v140-grid-gap) !important;
}
body.home-v56.brand-v6 .v6-services {
  padding-top: var(--v140-section-y) !important;
  padding-bottom: var(--v140-section-y) !important;
}
body.home-v56.brand-v6 .v6-services > .v6-container > .v6-section-title {
  margin-top: 0 !important;
  margin-bottom: var(--v140-feature-title-gap) !important;
}
body.home-v56.brand-v6 .v6-about {
  padding-top: var(--v140-section-y) !important;
  padding-bottom: var(--v140-section-y) !important;
}
body.home-v56.brand-v6 .v6-about-grid {
  gap: var(--v140-panel-gap) !important;
}
body.home-v56.brand-v6 .v6-location-band {
  padding-top: 0 !important;
  padding-bottom: var(--v140-section-y) !important;
}
body.home-v56.brand-v6 .v6-final-cta {
  padding-top: var(--v140-section-y-tight) !important;
  padding-bottom: var(--v140-section-y-tight) !important;
}
body.home-v56.brand-v6 .v6-final-cta h2 + p,
body.about-v29.brand-v6 .v6-final-cta h2 + p,
body.services-v40.brand-v6 .v6-final-cta h2 + p,
body.pricing-v29.brand-v6 .v6-final-cta h2 + p,
body.contact-v27.brand-v6 .v27-contact-final h2 + p {
  margin-top: var(--v140-final-gap) !important;
}

/* About page rhythm. */
body.about-v29.brand-v6 .v6-page-section {
  padding-top: var(--v140-section-y) !important;
  padding-bottom: var(--v140-section-y) !important;
}
body.about-v29.brand-v6 .about-v29-intro {
  padding-top: var(--v140-section-y-tight) !important;
}
body.about-v29.brand-v6 .about-v29-credentials,
body.about-v29.brand-v6 .about-v29-audience {
  padding-top: var(--v140-section-y-soft) !important;
  padding-bottom: var(--v140-section-y-soft) !important;
}
body.about-v29.brand-v6 .about-v31-principles,
body.about-v29.brand-v6 .about-v31-credentials-grid,
body.about-v29.brand-v6 .about-v31-audience-list {
  gap: var(--v140-grid-gap) !important;
}
body.about-v29.brand-v6 .about-v31-main-text {
  gap: 0 !important;
}
body.about-v29.brand-v6 .about-v31-main-text > h2,
body.about-v29.brand-v6 .about-v31-main-text > p:first-of-type {
  margin-top: 0 !important;
}
body.about-v29.brand-v6 .about-v31-main-text > h2 + p {
  margin-top: var(--v140-title-gap) !important;
}
body.about-v29.brand-v6 .about-v31-fact {
  row-gap: 0 !important;
}
body.about-v29.brand-v6 .about-v31-fact h3 + p {
  margin-top: var(--v140-card-gap) !important;
}

/* Services page rhythm. */
body.services-v40.brand-v6 .v6-services-hero,
body.services-v41.brand-v6 .v6-services-hero {
  padding-top: var(--v140-page-hero-top) !important;
  padding-bottom: var(--v140-section-y-soft) !important;
}
body.services-v40.brand-v6 .v6-services-hero .v6-service-grid,
body.services-v41.brand-v6 .v6-services-hero .v6-service-grid,
body.services-v40.brand-v6 .services-v40-problem-grid,
body.services-v41.brand-v6 .services-v40-problem-grid {
  gap: var(--v140-grid-gap) !important;
}
body.services-v40.brand-v6 .services-v40-overview,
body.services-v41.brand-v6 .services-v40-overview {
  padding-top: var(--v140-section-y-soft) !important;
  padding-bottom: var(--v140-section-y-soft) !important;
}
body.services-v40.brand-v6 .services-v40-problems,
body.services-v41.brand-v6 .services-v40-problems {
  padding-top: var(--v140-section-y-soft) !important;
  padding-bottom: var(--v140-section-y-soft) !important;
}
body.services-v40.brand-v6 .services-v40-problems h2,
body.services-v41.brand-v6 .services-v40-problems h2,
body.home-v56.brand-v6 .v6-services > .v6-container > .v6-section-title h2,
body.about-v29.brand-v6 .about-v29-credentials > .v6-container > h2 {
  margin-bottom: var(--v140-feature-title-gap) !important;
}

/* Pricing page rhythm based on the Cena page card/grid system. */
body.pricing-v29.brand-v6 .pricing-v29-section {
  padding-top: var(--v140-section-y) !important;
  padding-bottom: var(--v140-section-y-soft) !important;
}
body.pricing-v29.brand-v6 .v6-price-layout {
  gap: var(--v140-panel-gap) !important;
}
body.pricing-v29.brand-v6 .v6-info-grid,
body.pricing-v29.brand-v6 .pricing-v132-insurance-list {
  gap: var(--v140-grid-gap) !important;
}
body.pricing-v29.brand-v6 .pricing-v132-insurance-section {
  padding-top: var(--v140-section-y-tight) !important;
  padding-bottom: var(--v140-section-y-soft) !important;
}
body.pricing-v29.brand-v6 .pricing-v38-note-section {
  min-height: clamp(360px, 31vw, 500px) !important;
  padding-top: var(--v140-section-y-tight) !important;
  padding-bottom: var(--v140-section-y-tight) !important;
}
body.pricing-v29.brand-v6 .pricing-v38-note {
  gap: var(--v140-panel-gap) !important;
}
body.pricing-v29.brand-v6 .pricing-v29-section + .pricing-v132-insurance-section,
body.pricing-v29.brand-v6 .pricing-v132-insurance-section + .pricing-v38-note-section,
body.pricing-v29.brand-v6 .pricing-v38-note-section + .v6-page-section.is-soft {
  margin-top: 0 !important;
}
body.pricing-v29.brand-v6 .v6-page-section.is-soft:not(.pricing-v29-section):not(.pricing-v132-insurance-section):not(.pricing-v38-note-section) {
  padding-top: var(--v140-section-y-soft) !important;
  padding-bottom: var(--v140-section-y-soft) !important;
}

/* Contact page rhythm. */
body.contact-v27.brand-v6 .v27-contact-hero {
  padding-top: var(--v140-page-hero-top) !important;
  padding-bottom: var(--v140-page-hero-bottom) !important;
}
body.contact-v27.brand-v6 .v27-contact-section {
  padding-top: var(--v140-section-y-soft) !important;
  padding-bottom: var(--v140-section-y-soft) !important;
}
body.contact-v27.brand-v6 .v27-booking-grid,
body.contact-v27.brand-v6 .v27-location-grid,
body.contact-v27.brand-v6 .v27-contact-methods {
  gap: var(--v140-grid-gap) !important;
}
body.contact-v27.brand-v6 .v27-process-list {
  gap: clamp(12px, 1.4vw, 18px) !important;
}
body.contact-v27.brand-v6 .v27-process-list li {
  gap: clamp(10px, 1.2vw, 14px) !important;
}
body.contact-v27.brand-v6 .v27-process-list strong + span {
  margin-top: var(--v140-card-gap) !important;
}
body.contact-v27.brand-v6 .v27-contact-final {
  padding-top: var(--v140-section-y-tight) !important;
  padding-bottom: var(--v140-section-y-tight) !important;
}

/* Footer rhythm — compact headings, no doubled title-to-links gap. */
body.brand-v6 .v6-footer h2 {
  margin-bottom: clamp(8px, .9vw, 12px) !important;
}
body.brand-v6 .v6-footer a,
body.brand-v6 .v6-footer p {
  margin-top: 0 !important;
}

@media (max-width: 820px) {
  body.brand-v6 {
    --v140-section-y: clamp(40px, 11vw, 58px);
    --v140-section-y-tight: clamp(30px, 8vw, 44px);
    --v140-section-y-soft: clamp(36px, 9.5vw, 52px);
    --v140-page-hero-top: clamp(36px, 10vw, 58px);
    --v140-page-hero-bottom: clamp(32px, 8.5vw, 48px);
    --v140-grid-gap: clamp(14px, 4vw, 22px);
    --v140-panel-gap: clamp(18px, 5vw, 28px);
    --v140-feature-title-gap: clamp(18px, 5vw, 26px);
  }

  body.home-v56.brand-v6 .v56-trust-heading {
    padding-bottom: clamp(22px, 6vw, 30px) !important;
    row-gap: 0 !important;
  }

  body.home-v56.brand-v6 .v56-trust-heading .v56-kicker {
    margin-bottom: var(--v102-tag-gap, 13px) !important;
  }

  body.home-v56.brand-v6 .v56-trust-heading h2 + p,
  body.home-v56.brand-v6 .v56-trust-heading p:not(.v56-kicker) {
    margin-top: var(--v140-title-gap) !important;
  }

  body.pricing-v29.brand-v6 .pricing-v38-note-section {
    min-height: auto !important;
  }
}

/* ===== v141 professional button width system =====
   Scope: button WIDTH + secondary-border consistency only.
   Keeps existing padding, min-height, typography, color palette, icons, animations and content untouched. */
body.brand-v6 .btn {
  box-sizing: border-box;
}

body.brand-v6 .btn-secondary,
body.home-v56.brand-v6 .v56-secondary-cta {
  border-style: solid !important;
  border-width: 1px !important;
  border-color: var(--v6-brand, var(--v6-olive)) !important;
}

body.brand-v6 main .btn {
  max-width: 100%;
}

/* Phone width: every content CTA follows the same rule — full width of its content column/card. */
@media (max-width: 640px) {
  body.home-v56.brand-v6 .v56-actions,
  body.brand-v6 .v6-page-actions,
  body.brand-v6 .is-simple .v6-page-actions,
  body.brand-v6 .about-v51-bg-cta .v6-page-actions,
  body.contact-v27.brand-v6 .v27-contact-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    justify-content: stretch !important;
    justify-items: stretch !important;
    align-items: stretch !important;
  }

  body.brand-v6 main .btn,
  body.home-v56.brand-v6 .v56-actions .btn,
  body.brand-v6 .v6-page-actions .btn,
  body.brand-v6 .is-simple .v6-page-actions .btn,
  body.brand-v6 .about-v51-bg-cta .v6-page-actions .btn,
  body.brand-v6 .v6-about-copy .btn,
  body.brand-v6 .v6-location-inner .btn,
  body.brand-v6 .v6-final-cta .btn,
  body.brand-v6 .v6-price-panel .btn,
  body.brand-v6 .v6-cta-panel .btn,
  body.brand-v6 .v6-map-placeholder .btn,
  body.contact-v27.brand-v6 .v27-contact-actions .btn,
  body.contact-v27.brand-v6 .v27-form .btn,
  body.contact-v27.brand-v6 .v27-location-card .btn {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    justify-self: stretch !important;
  }
}

/* Small tablet / in-between: paired CTA groups use equal professional widths instead of one capped and one text-width button. */
@media (min-width: 641px) and (max-width: 900px) {
  body.home-v56.brand-v6 .v56-actions,
  body.brand-v6 .v6-page-actions,
  body.brand-v6 .is-simple .v6-page-actions,
  body.brand-v6 .about-v51-bg-cta .v6-page-actions,
  body.contact-v27.brand-v6 .v27-contact-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: stretch !important;
  }

  body.home-v56.brand-v6 .v56-actions .btn,
  body.brand-v6 .v6-page-actions .btn,
  body.brand-v6 .is-simple .v6-page-actions .btn,
  body.brand-v6 .about-v51-bg-cta .v6-page-actions .btn,
  body.contact-v27.brand-v6 .v27-contact-actions .btn {
    width: min(100%, 15.5rem) !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}



/* ===== v142 mobile finish pass =====
   Focus: fix remaining broken mobile/tablet states and improve homepage hero without changing the desktop design language. */

/* Inner-page headlines and action groups stay cleaner on smaller widths. */
@media (max-width: 900px) {
  body.brand-v6 .v6-page-title,
  body.brand-v6 .v6-panel h2,
  body.brand-v6 .v6-form-card h2,
  body.brand-v6 .v6-cta-panel h2 {
    text-wrap: balance;
  }

  body.brand-v6 .v6-page-title {
    max-width: 12ch;
  }

  body.brand-v6 .v6-page-lead {
    max-width: none;
  }
}

/* Homepage trust intro: one clear full-width rhythm on tablet/mobile, no narrow broken heading column. */
@media (max-width: 900px) {
  body.home-v56.brand-v6 .v56-trust-heading {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    max-width: none !important;
    width: 100% !important;
    text-align: left !important;
  }

  body.home-v56.brand-v6 .v56-trust-heading .v56-kicker,
  body.home-v56.brand-v6 .v56-trust-heading h2,
  body.home-v56.brand-v6 .v56-trust-heading p:not(.v56-kicker) {
    max-width: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.home-v56.brand-v6 .v56-trust-heading h2 {
    font-size: clamp(2.1rem, 7vw, 3rem) !important;
    line-height: 1.07 !important;
    letter-spacing: -.03em !important;
    max-width: 12ch !important;
    text-wrap: balance !important;
  }

  body.home-v56.brand-v6 .v56-trust-heading p:not(.v56-kicker) {
    font-size: 1rem !important;
    line-height: 1.72 !important;
  }

  body.home-v56.brand-v6 .v56-trust-grid {
    gap: 16px !important;
  }

  body.home-v56.brand-v6 .v56-trust-card {
    min-height: 0 !important;
    padding: 26px 22px !important;
  }
}

/* Tablet homepage hero: smoother hierarchy and cleaner shell. */
@media (min-width: 641px) and (max-width: 900px) {
  body.home-v56.brand-v6 .v56-hero {
    padding: 14px 0 34px !important;
  }

  body.home-v56.brand-v6 .v56-hero-shell {
    width: min(100% - 28px, 760px) !important;
    gap: 22px !important;
  }

  body.home-v56.brand-v6 .v56-hero-copy {
    padding: 20px 22px 0 !important;
    text-align: center !important;
  }

  body.home-v56.brand-v6 .v56-hero h1 {
    max-width: 10.2ch !important;
    margin-inline: auto !important;
    text-wrap: balance !important;
  }

  body.home-v56.brand-v6 .v56-lead {
    max-width: 35ch !important;
    margin-inline: auto !important;
  }

  body.home-v56.brand-v6 .v56-meta {
    justify-content: center !important;
  }

  body.home-v56.brand-v6 .v56-hero-visual {
    max-width: 540px !important;
    margin-inline: auto !important;
  }

  body.home-v56.brand-v6 .v56-portrait-card {
    min-height: 0 !important;
  }

  body.home-v56.brand-v6 .v6-service-grid {
    width: min(100% - 28px, 760px) !important;
    gap: 16px !important;
  }

  body.home-v56.brand-v6 .v6-service {
    min-height: 0 !important;
  }

  body.home-v56.brand-v6 .v6-service > img {
    height: 140px !important;
    min-height: 140px !important;
    object-position: center 42% !important;
  }

  body.home-v56.brand-v6 .v6-service > div {
    min-height: 0 !important;
  }
}

/* Phone homepage hero redesign: more intentional card-like composition, better readability, less dead space. */
@media (max-width: 640px) {
  body.home-v56.brand-v6 .v56-hero {
    padding: 10px 0 28px !important;
  }

  body.home-v56.brand-v6 .v56-hero::before {
    background:
      linear-gradient(180deg, rgba(250,246,236,.52) 0%, rgba(250,246,236,.72) 46%, rgba(250,246,236,.92) 100%),
      url('/assets/img/hero-forest-path.jpg') 54% 30% / cover no-repeat !important;
  }

  body.home-v56.brand-v6 .v56-hero-shell {
    width: calc(100% - 24px) !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    padding: 14px !important;
    border-radius: 24px !important;
    background: rgba(255, 253, 247, .38) !important;
    border: 1px solid rgba(70,70,43,.10) !important;
    box-shadow: 0 18px 40px rgba(70,70,43,.06) !important;
    backdrop-filter: blur(8px);
  }

  body.home-v56.brand-v6 .v56-hero-copy,
  body.home-v56.brand-v6 .v56-hero-visual {
    min-width: 0 !important;
  }

  body.home-v56.brand-v6 .v56-hero-visual {
    order: 2 !important;
    width: 100% !important;
  }

  body.home-v56.brand-v6 .v56-hero-copy {
    order: 1 !important;
    width: 100% !important;
    padding: 6px 4px 0 !important;
    text-align: center !important;
  }

  body.home-v56.brand-v6 .v56-kicker {
    justify-content: center !important;
    margin-bottom: 10px !important;
  }

  body.home-v56.brand-v6 .v56-hero h1 {
    max-width: 9.3ch !important;
    margin-inline: auto !important;
    font-size: clamp(2.55rem, 12.6vw, 3.45rem) !important;
    line-height: .98 !important;
    text-wrap: balance !important;
  }

  body.home-v56.brand-v6 .v56-lead {
    max-width: 31ch !important;
    margin: 14px auto 0 !important;
    font-size: 1rem !important;
    line-height: 1.68 !important;
  }

  body.home-v56.brand-v6 .v56-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 10px !important;
    margin-top: 18px !important;
  }

  body.home-v56.brand-v6 .v56-meta span {
    width: auto !important;
    max-width: 100% !important;
    min-height: 44px !important;
    justify-content: center !important;
    text-align: center !important;
    padding-inline: 14px !important;
    flex: 0 1 auto !important;
  }

  body.home-v56.brand-v6 .v56-actions {
    margin-top: 14px !important;
    gap: 12px !important;
  }

  body.home-v56.brand-v6 .v56-actions .btn {
    width: 100% !important;
  }

  body.home-v56.brand-v6 .v56-portrait-card {
    min-height: 0 !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    aspect-ratio: 4 / 4.75;
    box-shadow: 0 16px 36px rgba(70,70,43,.12) !important;
  }

  body.home-v56.brand-v6 .v56-portrait-card img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 30% !important;
  }

  body.home-v56.brand-v6 .v56-photo-panel {
    left: 14px !important;
    right: 14px !important;
    bottom: 14px !important;
    padding: 14px 16px !important;
    border-radius: 16px !important;
  }

  body.home-v56.brand-v6 .v56-photo-panel span {
    font-size: 2rem !important;
    line-height: .92 !important;
  }

  body.home-v56.brand-v6 .v56-photo-panel strong {
    font-size: .63rem !important;
    letter-spacing: .22em !important;
  }

  body.home-v56.brand-v6 .v56-trust-section {
    padding: 40px 0 18px !important;
  }

  body.home-v56.brand-v6 .v56-trust-shell,
  body.home-v56.brand-v6 .v6-services .v6-container,
  body.home-v56.brand-v6 .v6-about .v6-container,
  body.home-v56.brand-v6 .v6-location-inner,
  body.home-v56.brand-v6 .v6-final-cta .v6-container {
    width: calc(100% - 24px) !important;
  }

  body.home-v56.brand-v6 .v56-trust-heading h2 {
    max-width: 10.5ch !important;
    font-size: clamp(2rem, 10vw, 2.6rem) !important;
  }

  body.home-v56.brand-v6 .v56-trust-heading p:not(.v56-kicker) {
    max-width: none !important;
  }

  body.home-v56.brand-v6 .v56-trust-card {
    border-radius: 22px !important;
  }

  body.home-v56.brand-v6 .v6-services {
    padding: 34px 0 38px !important;
  }

  body.home-v56.brand-v6 .v6-service-grid {
    gap: 16px !important;
    width: calc(100% - 24px) !important;
    margin-inline: auto !important;
  }

  body.home-v56.brand-v6 .v6-service {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    border-radius: 22px !important;
  }

  body.home-v56.brand-v6 .v6-service > img {
    height: 112px !important;
    min-height: 112px !important;
    object-position: center 40% !important;
  }

  body.home-v56.brand-v6 .v6-service > div {
    min-height: 0 !important;
    padding: 22px 20px 20px !important;
  }

  body.home-v56.brand-v6 .v6-service-icon {
    margin: 0 0 12px !important;
  }

  body.home-v56.brand-v6 .v6-service h3 {
    font-size: 1.95rem !important;
    line-height: 1.08 !important;
  }

  body.home-v56.brand-v6 .v6-service p {
    font-size: .98rem !important;
    line-height: 1.72 !important;
  }

  body.home-v56.brand-v6 .v6-about {
    padding: 34px 0 20px !important;
  }

  body.home-v56.brand-v6 .v6-about-copy,
  body.home-v56.brand-v6 .v6-location-inner,
  body.home-v56.brand-v6 .v6-final-cta .v6-container {
    text-align: center !important;
  }

  body.home-v56.brand-v6 .v6-about-copy h2,
  body.home-v56.brand-v6 .v6-final-cta h2,
  body.home-v56.brand-v6 .v6-location-inner h2 {
    text-wrap: balance !important;
  }

  body.home-v56.brand-v6 .v6-about-image img {
    border-radius: 18px !important;
  }

  body.home-v56.brand-v6 .v6-location-inner {
    gap: 14px !important;
    padding: 24px 18px !important;
    border-radius: 22px !important;
  }

  body.home-v56.brand-v6 .v6-final-cta {
    padding: 22px 0 34px !important;
  }

  body.brand-v6 .v6-page-hero-inner,
  body.brand-v6 .v6-two-column,
  body.brand-v6 .v6-page-grid,
  body.brand-v6 .v6-feature-grid {
    width: calc(100% - 24px) !important;
  }

  body.brand-v6 .v6-panel,
  body.brand-v6 .v6-info-card,
  body.brand-v6 .v6-form-card,
  body.brand-v6 .v6-cta-panel {
    border-radius: 22px !important;
    padding: 24px 18px !important;
  }

  body.brand-v6 .v6-contact-link,
  body.brand-v6 .v6-map-placeholder {
    border-radius: 18px !important;
  }

  body.brand-v6 .v6-form-card,
  body.brand-v6 .v6-info-card,
  body.brand-v6 .v6-cta-panel,
  body.brand-v6 .v6-map-card {
    min-width: 0 !important;
  }
}


/* ===== v143 mobile title width + pill wrap fix ===== */
@media (max-width: 640px) {
  body.home-v56.brand-v6 .v56-trust-heading h2,
  body.home-v56.brand-v6 .v6-about-copy h2,
  body.home-v56.brand-v6 .v6-location-inner h2,
  body.home-v56.brand-v6 .v6-final-cta h2,
  body.brand-v6 .v6-page-title,
  body.brand-v6 .v6-panel h2,
  body.brand-v6 .v6-form-card h2,
  body.brand-v6 .v6-cta-panel h2 {
    width: 100% !important;
    max-width: none !important;
    text-wrap: pretty !important;
  }

  body.home-v56.brand-v6 .v56-meta {
    justify-content: center !important;
    align-items: center !important;
  }

  body.home-v56.brand-v6 .v56-meta span {
    width: auto !important;
    flex: 0 1 auto !important;
    white-space: nowrap !important;
  }
}


/* ===== v144 mobile hero redesign: portrait-first editorial hero ===== */
@media (max-width: 640px) {
  body.home-v56.brand-v6 .v56-hero {
    padding: 12px 0 36px !important;
    background:
      radial-gradient(circle at 50% -120px, rgba(255,253,247,.98) 0, rgba(250,246,236,.92) 42%, rgba(247,240,229,1) 100%) !important;
    overflow: hidden !important;
  }

  body.home-v56.brand-v6 .v56-hero::before,
  body.home-v56.brand-v6 .v56-hero::after {
    content: none !important;
    display: none !important;
    background: none !important;
  }

  body.home-v56.brand-v6 .v56-hero-shell {
    width: calc(100% - 24px) !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }

  body.home-v56.brand-v6 .v56-hero-visual {
    order: 1 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  body.home-v56.brand-v6 .v56-portrait-card {
    width: 100% !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1.03 !important;
    border-radius: 26px !important;
    overflow: hidden !important;
    border: 1px solid rgba(70,70,43,.12) !important;
    background: #FFFDF7 !important;
    box-shadow: 0 18px 42px rgba(70,70,43,.13) !important;
  }

  body.home-v56.brand-v6 .v56-portrait-card::before,
  body.home-v56.brand-v6 .v56-portrait-card::after {
    content: none !important;
    display: none !important;
  }

  body.home-v56.brand-v6 .v56-portrait-card img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
    object-position: center 28% !important;
    filter: sepia(.08) saturate(.9) brightness(1.04) !important;
  }

  body.home-v56.brand-v6 .v56-photo-panel {
    left: 14px !important;
    right: 14px !important;
    bottom: 14px !important;
    display: grid !important;
    gap: 5px !important;
    padding: 13px 15px 12px !important;
    border-radius: 18px !important;
    background: rgba(255,253,247,.88) !important;
    border: 1px solid rgba(70,70,43,.12) !important;
    box-shadow: 0 12px 30px rgba(47,48,32,.12) !important;
    backdrop-filter: blur(10px) !important;
  }

  body.home-v56.brand-v6 .v56-photo-panel span {
    font-size: clamp(1.82rem, 8vw, 2.18rem) !important;
    line-height: .88 !important;
  }

  body.home-v56.brand-v6 .v56-photo-panel strong {
    font-size: .6rem !important;
    line-height: 1.3 !important;
    letter-spacing: .2em !important;
  }

  body.home-v56.brand-v6 .v56-hero-copy {
    order: 2 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 25px 18px 20px !important;
    text-align: center !important;
    border-radius: 26px !important;
    background: rgba(255,253,247,.76) !important;
    border: 1px solid rgba(70,70,43,.10) !important;
    box-shadow: 0 14px 38px rgba(70,70,43,.055) !important;
    text-shadow: none !important;
  }

  body.home-v56.brand-v6 .v56-kicker {
    display: inline-flex !important;
    justify-content: center !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 auto 12px !important;
    color: rgba(70,70,43,.72) !important;
    letter-spacing: .21em !important;
    font-size: .66rem !important;
  }

  body.home-v56.brand-v6 .v56-hero h1 {
    width: 100% !important;
    max-width: 11.4ch !important;
    margin: 0 auto !important;
    font-size: clamp(2.38rem, 10.8vw, 3.12rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em !important;
    text-wrap: balance !important;
  }

  body.home-v56.brand-v6 .v56-lead {
    max-width: 33ch !important;
    margin: 14px auto 0 !important;
    color: rgba(47,48,32,.74) !important;
    font-size: 1.01rem !important;
    line-height: 1.7 !important;
  }

  body.home-v56.brand-v6 .v56-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 18px auto 0 !important;
  }

  body.home-v56.brand-v6 .v56-meta span {
    width: auto !important;
    max-width: 100% !important;
    min-height: 40px !important;
    flex: 0 1 auto !important;
    padding: 9px 12px !important;
    white-space: normal !important;
    text-align: center !important;
    border-radius: 999px !important;
    background: rgba(250,246,236,.92) !important;
    border: 1px solid rgba(70,70,43,.12) !important;
    box-shadow: none !important;
  }

  body.home-v56.brand-v6 .v56-meta svg {
    flex: 0 0 auto !important;
  }

  body.home-v56.brand-v6 .v56-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin-top: 18px !important;
  }

  body.home-v56.brand-v6 .v56-actions .btn {
    width: 100% !important;
    justify-self: stretch !important;
  }
}

@media (max-width: 380px) {
  body.home-v56.brand-v6 .v56-hero-shell {
    width: calc(100% - 20px) !important;
  }

  body.home-v56.brand-v6 .v56-hero-copy {
    padding-inline: 15px !important;
  }

  body.home-v56.brand-v6 .v56-hero h1 {
    font-size: clamp(2.18rem, 10.4vw, 2.72rem) !important;
  }
}

/* v144 badge refinement: keep mobile name badge elegant and unbroken. */
@media (max-width: 640px) {
  body.home-v56.brand-v6 .v56-photo-panel {
    width: fit-content !important;
    max-width: calc(100% - 28px) !important;
    right: auto !important;
  }

  body.home-v56.brand-v6 .v56-photo-panel span {
    white-space: nowrap !important;
    font-size: clamp(1.38rem, 6.25vw, 1.62rem) !important;
    line-height: .92 !important;
  }

  body.home-v56.brand-v6 .v56-photo-panel strong {
    white-space: nowrap !important;
    font-size: .56rem !important;
    letter-spacing: .17em !important;
  }
}


/* ===== v145 mobile pricing note margin fix =====
   Adds breathing room to the "Jak domluva probíhá" pricing note on mobile only,
   so the rounded panel no longer feels glued to the viewport edges. */
@media (max-width: 640px) {
  body.pricing-v29.brand-v6 .pricing-v38-note-section > .v6-container {
    width: calc(100% - 28px) !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.pricing-v29.brand-v6 .pricing-v38-note {
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* ===== v146 mobile floating portrait hero =====
   Mobile-only: show the key information immediately while keeping the client photo visible.
   The portrait becomes a compact floating trust cue instead of a full first-screen block. */
@media (max-width: 640px) {
  body.home-v56.brand-v6 .v56-hero {
    padding: 10px 0 30px !important;
    background:
      radial-gradient(circle at 85% 10%, rgba(255,253,247,.98) 0, rgba(250,246,236,.9) 34%, rgba(247,240,229,1) 100%) !important;
    overflow: hidden !important;
  }

  body.home-v56.brand-v6 .v56-hero::before,
  body.home-v56.brand-v6 .v56-hero::after {
    content: none !important;
    display: none !important;
    background: none !important;
  }

  body.home-v56.brand-v6 .v56-hero-shell {
    position: relative !important;
    width: calc(100% - 24px) !important;
    display: block !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }

  body.home-v56.brand-v6 .v56-hero-copy {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 22px 16px 18px !important;
    text-align: left !important;
    border-radius: 28px !important;
    background: rgba(255,253,247,.84) !important;
    border: 1px solid rgba(70,70,43,.11) !important;
    box-shadow: 0 18px 42px rgba(70,70,43,.075) !important;
    text-shadow: none !important;
    overflow: hidden !important;
  }

  body.home-v56.brand-v6 .v56-hero-copy::after {
    content: "" !important;
    position: absolute !important;
    right: -80px !important;
    bottom: -120px !important;
    width: 220px !important;
    height: 260px !important;
    background: radial-gradient(circle, rgba(232,225,207,.36), rgba(232,225,207,0) 62%) !important;
    pointer-events: none !important;
    z-index: -1 !important;
  }

  body.home-v56.brand-v6 .v56-hero-visual {
    position: absolute !important;
    z-index: 4 !important;
    top: 16px !important;
    right: 14px !important;
    width: clamp(86px, 26vw, 112px) !important;
    max-width: none !important;
    margin: 0 !important;
    pointer-events: none !important;
  }

  body.home-v56.brand-v6 .v56-portrait-card {
    width: 100% !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1.18 !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    border: 1px solid rgba(70,70,43,.13) !important;
    background: #FFFDF7 !important;
    box-shadow: 0 16px 34px rgba(70,70,43,.16) !important;
  }

  body.home-v56.brand-v6 .v56-portrait-card::before,
  body.home-v56.brand-v6 .v56-portrait-card::after {
    content: none !important;
    display: none !important;
  }

  body.home-v56.brand-v6 .v56-portrait-card img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
    object-position: center 26% !important;
    filter: sepia(.07) saturate(.9) brightness(1.04) !important;
  }

  body.home-v56.brand-v6 .v56-photo-panel {
    display: none !important;
  }

  body.home-v56.brand-v6 .v56-kicker {
    display: inline-flex !important;
    justify-content: flex-start !important;
    width: calc(100% - 118px) !important;
    max-width: calc(100% - 118px) !important;
    margin: 0 0 10px !important;
    color: rgba(70,70,43,.72) !important;
    letter-spacing: .18em !important;
    font-size: .62rem !important;
    line-height: 1.45 !important;
  }

  body.home-v56.brand-v6 .v56-hero h1 {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-right: clamp(96px, 30vw, 128px) !important;
    text-align: left !important;
    font-size: clamp(2.12rem, 10.4vw, 2.92rem) !important;
    line-height: 1.01 !important;
    letter-spacing: -.045em !important;
    text-wrap: balance !important;
  }

  body.home-v56.brand-v6 .v56-lead {
    max-width: none !important;
    margin: 13px 0 0 !important;
    color: rgba(47,48,32,.76) !important;
    text-align: left !important;
    font-size: .98rem !important;
    line-height: 1.64 !important;
  }

  body.home-v56.brand-v6 .v56-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 16px 0 0 !important;
  }

  body.home-v56.brand-v6 .v56-meta span {
    width: auto !important;
    max-width: 100% !important;
    min-height: 38px !important;
    flex: 0 1 auto !important;
    padding: 8px 11px !important;
    white-space: normal !important;
    text-align: left !important;
    border-radius: 999px !important;
    background: rgba(250,246,236,.92) !important;
    border: 1px solid rgba(70,70,43,.12) !important;
    box-shadow: none !important;
  }

  body.home-v56.brand-v6 .v56-meta svg {
    flex: 0 0 auto !important;
  }

  body.home-v56.brand-v6 .v56-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin-top: 17px !important;
  }

  body.home-v56.brand-v6 .v56-actions .btn {
    width: 100% !important;
    justify-self: stretch !important;
  }
}

@media (max-width: 360px) {
  body.home-v56.brand-v6 .v56-hero-shell {
    width: calc(100% - 20px) !important;
  }

  body.home-v56.brand-v6 .v56-hero-copy {
    padding: 20px 14px 16px !important;
    border-radius: 24px !important;
  }

  body.home-v56.brand-v6 .v56-hero-visual {
    top: 14px !important;
    right: 12px !important;
    width: 82px !important;
  }

  body.home-v56.brand-v6 .v56-kicker {
    width: calc(100% - 92px) !important;
    max-width: calc(100% - 92px) !important;
    font-size: .58rem !important;
    letter-spacing: .15em !important;
  }

  body.home-v56.brand-v6 .v56-hero h1 {
    padding-right: 90px !important;
    font-size: clamp(1.96rem, 10vw, 2.42rem) !important;
  }
}


/* ===== v147 mobile hero photo below content =====
   User direction: remove floating portrait. Keep hero information first, then place the portrait under the hero copy like before. */
@media (max-width: 640px) {
  body.home-v56.brand-v6 .v56-hero {
    padding: 10px 0 30px !important;
    background: linear-gradient(180deg, #FAF6EC 0%, #F7F0E5 100%) !important;
    overflow: hidden !important;
  }

  body.home-v56.brand-v6 .v56-hero::before,
  body.home-v56.brand-v6 .v56-hero::after {
    content: none !important;
    display: none !important;
    background: none !important;
  }

  body.home-v56.brand-v6 .v56-hero-shell {
    position: relative !important;
    width: calc(100% - 24px) !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }

  body.home-v56.brand-v6 .v56-hero-copy {
    order: 1 !important;
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 24px 18px 20px !important;
    text-align: center !important;
    border-radius: 28px !important;
    background: rgba(255,253,247,.84) !important;
    border: 1px solid rgba(70,70,43,.11) !important;
    box-shadow: 0 18px 42px rgba(70,70,43,.075) !important;
    text-shadow: none !important;
    overflow: hidden !important;
  }

  body.home-v56.brand-v6 .v56-hero-copy::after {
    content: "" !important;
    position: absolute !important;
    right: -90px !important;
    bottom: -130px !important;
    width: 240px !important;
    height: 280px !important;
    background: radial-gradient(circle, rgba(232,225,207,.34), rgba(232,225,207,0) 64%) !important;
    pointer-events: none !important;
    z-index: -1 !important;
  }

  body.home-v56.brand-v6 .v56-kicker {
    display: inline-flex !important;
    justify-content: center !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 auto 10px !important;
    color: rgba(70,70,43,.72) !important;
    letter-spacing: .18em !important;
    font-size: .62rem !important;
    line-height: 1.45 !important;
  }

  body.home-v56.brand-v6 .v56-hero h1 {
    width: 100% !important;
    max-width: 10.8ch !important;
    margin: 0 auto !important;
    padding-right: 0 !important;
    text-align: center !important;
    font-size: clamp(2.28rem, 10.8vw, 3.04rem) !important;
    line-height: .99 !important;
    letter-spacing: -.045em !important;
    text-wrap: balance !important;
  }

  body.home-v56.brand-v6 .v56-lead {
    max-width: 31ch !important;
    margin: 13px auto 0 !important;
    color: rgba(47,48,32,.76) !important;
    text-align: center !important;
    font-size: .98rem !important;
    line-height: 1.64 !important;
  }

  body.home-v56.brand-v6 .v56-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 16px 0 0 !important;
  }

  body.home-v56.brand-v6 .v56-meta span {
    width: auto !important;
    max-width: 100% !important;
    min-height: 38px !important;
    flex: 0 1 auto !important;
    padding: 8px 11px !important;
    white-space: normal !important;
    text-align: center !important;
    border-radius: 999px !important;
    background: rgba(250,246,236,.92) !important;
    border: 1px solid rgba(70,70,43,.12) !important;
    box-shadow: none !important;
  }

  body.home-v56.brand-v6 .v56-meta svg {
    flex: 0 0 auto !important;
  }

  body.home-v56.brand-v6 .v56-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin-top: 17px !important;
  }

  body.home-v56.brand-v6 .v56-actions .btn {
    width: 100% !important;
    justify-self: stretch !important;
  }

  body.home-v56.brand-v6 .v56-hero-visual {
    order: 2 !important;
    position: relative !important;
    z-index: 1 !important;
    top: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    pointer-events: auto !important;
  }

  body.home-v56.brand-v6 .v56-portrait-card {
    width: 100% !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 3.15 !important;
    border-radius: 26px !important;
    overflow: hidden !important;
    border: 1px solid rgba(70,70,43,.13) !important;
    background: #FFFDF7 !important;
    box-shadow: 0 16px 34px rgba(70,70,43,.13) !important;
  }

  body.home-v56.brand-v6 .v56-portrait-card::before,
  body.home-v56.brand-v6 .v56-portrait-card::after {
    content: none !important;
    display: none !important;
  }

  body.home-v56.brand-v6 .v56-portrait-card img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
    object-position: center 30% !important;
    filter: sepia(.07) saturate(.9) brightness(1.04) !important;
  }

  body.home-v56.brand-v6 .v56-photo-panel {
    display: block !important;
    left: 14px !important;
    right: auto !important;
    bottom: 14px !important;
    width: fit-content !important;
    max-width: calc(100% - 28px) !important;
    padding: 12px 14px !important;
    border-radius: 16px !important;
  }

  body.home-v56.brand-v6 .v56-photo-panel span {
    white-space: nowrap !important;
    font-size: clamp(1.36rem, 6vw, 1.58rem) !important;
    line-height: .92 !important;
  }

  body.home-v56.brand-v6 .v56-photo-panel strong {
    white-space: nowrap !important;
    font-size: .55rem !important;
    letter-spacing: .16em !important;
  }
}

@media (max-width: 360px) {
  body.home-v56.brand-v6 .v56-hero-shell {
    width: calc(100% - 20px) !important;
  }

  body.home-v56.brand-v6 .v56-hero-copy {
    padding: 22px 14px 18px !important;
    border-radius: 24px !important;
  }

  body.home-v56.brand-v6 .v56-hero h1 {
    font-size: clamp(2.05rem, 10vw, 2.52rem) !important;
  }

  body.home-v56.brand-v6 .v56-portrait-card {
    aspect-ratio: 4 / 3.35 !important;
    border-radius: 22px !important;
  }
}


/* ===== v148 mobile hero copy alignment =====
   Keep the v147 mobile structure, but make the hero copy editorial/left-aligned instead of centered. */
@media (max-width: 640px) {
  body.home-v56.brand-v6 .v56-hero-copy {
    text-align: left !important;
  }

  body.home-v56.brand-v6 .v56-kicker {
    justify-content: flex-start !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
  }

  body.home-v56.brand-v6 .v56-hero h1 {
    max-width: 11.6ch !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
    text-wrap: balance !important;
  }

  body.home-v56.brand-v6 .v56-lead {
    max-width: 34ch !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
  }

  body.home-v56.brand-v6 .v56-meta {
    justify-content: flex-start !important;
  }

  body.home-v56.brand-v6 .v56-meta span {
    text-align: left !important;
  }
}

/* ===== v149 homepage about-section office split image =====
   Single visual frame prepared for two real office photos: Vsetín + Valašské Klobouky. */
body.home-v56.brand-v6 .v149-office-split {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 0 !important;
  min-height: clamp(330px, 28vw, 390px) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  border: 1px solid rgba(70,70,43,.12) !important;
  background: #FFFDF7 !important;
  box-shadow: 0 18px 46px rgba(70,70,43,.07) !important;
}

body.home-v56.brand-v6 .v149-office-split::before,
body.home-v56.brand-v6 .v149-office-split::after {
  content: none !important;
  display: none !important;
}

body.home-v56.brand-v6 .v149-office-panel {
  position: relative !important;
  min-width: 0 !important;
  min-height: inherit !important;
  height: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: rgba(250,246,236,.9) !important;
}

body.home-v56.brand-v6 .v149-office-panel img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: inherit !important;
  object-fit: cover !important;
  filter: sepia(.08) saturate(.9) brightness(1.04) !important;
  transform: scale(1.01) !important;
}

body.home-v56.brand-v6 .v149-office-panel-vsetin img {
  object-position: center center !important;
}

body.home-v56.brand-v6 .v149-office-panel-klobouky img {
  object-position: center center !important;
}

body.home-v56.brand-v6 .v149-office-panel::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(47,48,32,0) 48%, rgba(47,48,32,.34) 100%) !important;
  pointer-events: none !important;
}

body.home-v56.brand-v6 .v149-office-panel figcaption {
  position: absolute !important;
  left: 18px !important;
  bottom: 16px !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 34px !important;
  padding: 9px 12px !important;
  border-radius: 999px !important;
  background: rgba(255,253,247,.88) !important;
  border: 1px solid rgba(255,253,247,.54) !important;
  color: var(--v6-olive) !important;
  box-shadow: 0 10px 24px rgba(47,48,32,.14) !important;
  font: 800 .72rem/1 "Inter", system-ui, sans-serif !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

body.home-v56.brand-v6 .v149-office-slash {
  position: absolute !important;
  z-index: 4 !important;
  top: -12% !important;
  bottom: -12% !important;
  left: 50% !important;
  width: 2px !important;
  background: rgba(255,253,247,.82) !important;
  transform: translateX(-50%) rotate(13deg) !important;
  transform-origin: center !important;
  box-shadow: 0 0 0 1px rgba(70,70,43,.12), 0 0 22px rgba(47,48,32,.16) !important;
  pointer-events: none !important;
}

@media (max-width: 720px) {
  body.home-v56.brand-v6 .v149-office-split {
    min-height: 270px !important;
    border-radius: 22px !important;
  }

  body.home-v56.brand-v6 .v149-office-panel figcaption {
    left: 10px !important;
    bottom: 10px !important;
    min-height: 30px !important;
    padding: 8px 9px !important;
    font-size: .58rem !important;
    letter-spacing: .12em !important;
  }

  body.home-v56.brand-v6 .v149-office-slash {
    width: 2px !important;
    transform: translateX(-50%) rotate(10deg) !important;
  }
}

@media (max-width: 360px) {
  body.home-v56.brand-v6 .v149-office-split {
    min-height: 250px !important;
  }

  body.home-v56.brand-v6 .v149-office-panel figcaption {
    font-size: .52rem !important;
    letter-spacing: .1em !important;
    padding-inline: 8px !important;
  }
}


/* ===== v150 office split: real diagonal image clipping =====
   The diagonal is now the boundary between both images, not a decorative line on top. */
body.home-v56.brand-v6 .v149-office-split {
  --office-split-top: 56%;
  --office-split-bottom: 44%;
  display: block !important;
  isolation: isolate !important;
}

body.home-v56.brand-v6 .v149-office-split .v149-office-panel {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}

body.home-v56.brand-v6 .v149-office-split .v149-office-panel-vsetin {
  z-index: 1 !important;
  clip-path: polygon(0 0, var(--office-split-top) 0, var(--office-split-bottom) 100%, 0 100%) !important;
}

body.home-v56.brand-v6 .v149-office-split .v149-office-panel-klobouky {
  z-index: 2 !important;
  clip-path: polygon(var(--office-split-top) 0, 100% 0, 100% 100%, var(--office-split-bottom) 100%) !important;
}

body.home-v56.brand-v6 .v149-office-split .v149-office-panel img {
  height: 100% !important;
  min-height: 0 !important;
  transform: none !important;
}

body.home-v56.brand-v6 .v149-office-split .v149-office-panel-vsetin img {
  object-position: 36% center !important;
}

body.home-v56.brand-v6 .v149-office-split .v149-office-panel-klobouky img {
  object-position: 64% center !important;
}

body.home-v56.brand-v6 .v149-office-split .v149-office-panel figcaption {
  z-index: 6 !important;
}

body.home-v56.brand-v6 .v149-office-split .v149-office-panel-klobouky figcaption {
  left: auto !important;
  right: 18px !important;
}

body.home-v56.brand-v6 .v149-office-split .v149-office-slash {
  inset: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: auto !important;
  height: auto !important;
  z-index: 5 !important;
  transform: none !important;
  transform-origin: initial !important;
  background: rgba(255,253,247,.88) !important;
  box-shadow: 0 0 0 1px rgba(70,70,43,.10), 0 0 18px rgba(47,48,32,.12) !important;
  clip-path: polygon(55.8% 0, 56.25% 0, 44.25% 100%, 43.8% 100%) !important;
}

@media (max-width: 720px) {
  body.home-v56.brand-v6 .v149-office-split {
    --office-split-top: 57%;
    --office-split-bottom: 43%;
  }

  body.home-v56.brand-v6 .v149-office-split .v149-office-panel-vsetin img {
    object-position: 34% center !important;
  }

  body.home-v56.brand-v6 .v149-office-split .v149-office-panel-klobouky img {
    object-position: 66% center !important;
  }

  body.home-v56.brand-v6 .v149-office-split .v149-office-panel-klobouky figcaption {
    right: 10px !important;
  }

  body.home-v56.brand-v6 .v149-office-split .v149-office-slash {
    clip-path: polygon(56.55% 0, 57.25% 0, 43.25% 100%, 42.55% 100%) !important;
  }
}

@media (max-width: 380px) {
  body.home-v56.brand-v6 .v149-office-split .v149-office-panel-klobouky figcaption {
    right: 8px !important;
    max-width: calc(50% - 10px) !important;
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.05 !important;
  }
}


/* ===== v151 office split: two independent photo fields =====
   The split frame now uses separate image sources for Vsetín and Valašské Klobouky.
   Each photo fills its clipped side independently, so replacing one photo does not affect the other. */
body.home-v56.brand-v6 .v149-office-split .v149-office-panel img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}


/* ===== v156 footer credit underline target ===== */
body.brand-v6 .v6-footer-credit {
  white-space: nowrap;
}

body.brand-v6 .v6-footer-credit .v6-footer-credit-prefix,
body.brand-v6 .v6-footer-credit .v6-footer-credit-suffix,
body.brand-v6 .v6-footer-credit .v6-footer-credit-link,
body.brand-v6 .v6-footer-credit .v6-footer-credit-name {
  display: inline !important;
  margin: 0 !important;
  font-size: inherit !important;
}

body.brand-v6 .v6-footer-credit .v6-footer-credit-link {
  color: inherit;
  text-decoration: none !important;
}

body.brand-v6 .v6-footer-credit .v6-footer-credit-name {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

body.brand-v6 .v6-footer-credit .v6-footer-credit-link:hover,
body.brand-v6 .v6-footer-credit .v6-footer-credit-link:hover .v6-footer-credit-name {
  color: #fff !important;
}


/* ===== v159 footer credit: whole phrase turns white on hover ===== */
body.brand-v6 .v6-footer-credit .v6-footer-credit-link:hover,
body.brand-v6 .v6-footer-credit .v6-footer-credit-link:hover .v6-footer-credit-prefix,
body.brand-v6 .v6-footer-credit .v6-footer-credit-link:hover .v6-footer-credit-name,
body.brand-v6 .v6-footer-credit .v6-footer-credit-link:hover .v6-footer-credit-suffix {
  color: #fff !important;
}
