/* V56: self-contained active stylesheet. Edit here; no historical imports. */
@font-face {
  font-family: Montserrat;
  src: url("assets/montserrat.woff2") format("woff2");
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: Cormorant;
  src: url("assets/cormorant.woff2") format("woff2");
  font-weight: 300 700;
  font-display: swap;
}
:root {
  --bordeaux: #330e13;
  --coral: #e15245;
  --sand: #ded6c6;
  --offwhite: #f5f3ee;
  --white: #fff;
  --entry-header: 82px;
  --entry-benefits: calc(clamp(106px, 12.5svh, 142px));
  --entry-benefits: calc(clamp(124px, 13svh, 150px));
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: auto;
  scroll-padding-top: 100px;
}
body {
  margin: 0;
  background: var(--offwhite);
  color: var(--bordeaux);
  font:
    17px/1.65 Montserrat,
    Arial,
    sans-serif;
  -webkit-font-smoothing: antialiased;
}
a {
  text-decoration: none;
}
a,
button {
  color: inherit;
  touch-action: manipulation;
}
button {
  font: inherit;
  cursor: pointer;
}
a:focus-visible,
button:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--coral);
  outline-offset: 5px;
}
img {
  max-width: 100%;
  display: block;
}
figure,
h1,
h2,
h3,
p {
  margin: 0;
}
p {
  margin-bottom: 20px;
}
h2 {
  font:
    600 48px/1.04 Cormorant,
    Georgia,
    serif;
  letter-spacing: -0.6px;
  margin-bottom: 24px;
}
h3 {
  font-size: 21px;
  line-height: 1.35;
  font-weight: 650;
  margin-bottom: 12px;
}
.wrap {
  width: calc(100% - 96px);
  max-width: 1232px;
  margin-inline: auto;
}
.eyebrow {
  font-size: 12px;
  letter-spacing: 1.3px;
  text-transform: uppercase;
  font-weight: 650;
  line-height: 1.5;
  margin: 0 0 18px;
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.button > span {
}
.button.light,
.button:hover {
}
.button.compact {
}
.button.light {
}
.button.light:hover {
}
.skip {
  position: absolute;
  z-index: 30;
  top: 12px;
  left: 12px;
  padding: 12px;
  background: var(--offwhite);
  transform: translateY(-180%);
}
.skip:focus {
  transform: none;
}
.site-header {
  height: 82px;
  position: sticky;
  top: 0;
  z-index: 20;
  background: var(--offwhite);
  border-bottom: 1px solid rgba(51, 14, 19, 0.08);
}
.header-inner {
  height: 81px;
  display: flex;
  align-items: center;
  gap: 28px;
}
.site-header .logo img {
  width: 224px;
}
.site-header nav {
  display: flex;
  margin-left: auto;
  align-items: center;
  gap: 25px;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 550;
  white-space: nowrap;
}
.site-header nav a {
  position: relative;
  padding: 10px 0;
}
.site-header .button {
}
.hero {
  --hero-height: 620px;
  --photo-height: 640px;
  position: relative;
  overflow: hidden;
  background: var(--offwhite);
}
.hero-inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
}
.hero-photo {
  z-index: 0;
  right: 0;
  max-width: none;
  object-fit: cover;
  mask-image: linear-gradient(90deg, transparent, #000 14%, #000);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 14%, #000);
}
.hero-photo,
.hero:after {
  position: absolute;
  bottom: 0;
}
.hero:after {
  content: "";
  z-index: 1;
  left: 0;
  top: 0;
  width: calc(50% + 60px);
  background: linear-gradient(
    90deg,
    var(--offwhite) 0%,
    var(--offwhite) 60%,
    rgba(245, 243, 238, 0) 100%
  );
  pointer-events: none;
}
.hero-copy {
  width: 590px;
  padding: 36px 0 40px;
}
.hero .eyebrow {
  font-size: 14px;
  letter-spacing: 1px;
  font-weight: 600;
  line-height: 1.4;
  margin: 0 0 20px;
}
.hero h1 {
  font:
    600 58px/1.08 Cormorant,
    Georgia,
    serif;
  letter-spacing: -0.8px;
  margin: 0 0 26px;
}
.hero-title-line {
  display: block;
}
.hero-title-connection {
  display: flex;
  align-items: center;
  gap: 16px;
}
.hero-title-connection > span {
  white-space: nowrap;
}
.hero-amp {
  display: block;
  width: 67px;
  height: 58px;
  flex-shrink: 0;
  object-fit: contain;
}
.hero .button {
}
.benefits {
  background: var(--bordeaux);
  color: var(--offwhite);
}
.benefit-grid {
  min-height: 106px;
  display: grid;
  grid-template-columns: 1fr 1.3fr 1.15fr 1fr;
  gap: 20px;
  align-items: stretch;
  padding: 22px 0;
}
.benefit-grid p {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  font-weight: 450;
}
.benefit-grid p + p {
  padding-left: 18px;
  border-left: 1px solid rgba(222, 214, 198, 0.2);
}
.benefit-grid strong {
  font-size: 14px;
  font-weight: 650;
}
@media (max-height: 800px) {
  .hero {
    --hero-height: 580px;
    --photo-height: 600px;
  }
}
@media (min-height: 1000px) {
  .hero {
    --hero-height: 660px;
    --photo-height: 680px;
  }
}
.situations,
.why {
  background: var(--white);
  color: var(--bordeaux);
}
.why {
  padding: 72px 0 42px;
}
.why-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 72px;
}
.why h2 {
  font:
    600 48px/1.06 Cormorant,
    Georgia,
    serif;
  letter-spacing: -0.45px;
  margin: 0 0 24px;
  max-width: 560px;
}
.why .section-copy > p {
  line-height: 1.55;
  margin: 0 0 25px;
}
.open-questions {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 17px;
  line-height: 1.5;
  font-weight: 600;
}
.open-questions li {
  position: relative;
  padding-left: 20px;
  margin: 0 0 14px;
}
.open-questions li:before {
  content: "";
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  left: 0;
  top: 10px;
  background: var(--bordeaux);
}
.open-questions li:last-child {
  margin-bottom: 0;
}
.consultation-photo img {
  display: block;
  width: 100%;
  height: 420px;
  object-fit: cover;
  object-position: center;
  border-radius: 4px;
}
.consultation-photo figcaption {
  font-size: 13px;
  line-height: 1.5;
  margin-top: 12px;
}
.situations {
  padding: 20px 0 88px;
}
.situations-layout > h2 {
  font:
    600 44px/1.08 Cormorant,
    Georgia,
    serif;
  letter-spacing: -0.4px;
  margin: 0 0 34px;
}
.situation-composition {
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 56px;
}
.situation-feature {
  background: var(--bordeaux);
  color: var(--offwhite);
  border-radius: 4px;
  padding: 38px 40px;
  display: flex;
  flex-direction: column;
}
.situation-symbol {
  width: 70px;
  height: 70px;
  display: block;
  flex-shrink: 0;
}
.situation-feature > .situation-symbol {
  width: 64px;
  height: 64px;
  color: var(--offwhite);
  margin-bottom: 20px;
}
.situation-feature h3 {
  font-size: 27px;
  line-height: 1.25;
  font-weight: 600;
  margin: 0 0 16px;
}
.situation-feature p {
  font-size: 18px;
  line-height: 1.55;
  max-width: 390px;
  margin: 0;
}
.logo {
  display: flex;
  flex-shrink: 0;
}
.logo img {
  width: 245px;
  height: auto;
}
nav a:hover {
  text-decoration: underline;
  text-underline-offset: 5px;
}
.services {
  padding: 72px 0;
  background: var(--bordeaux);
  color: var(--offwhite);
}
.service-introduction h2 {
  max-width: 480px;
  font-size: 50px;
  line-height: 1.06;
}
.service-introduction > p {
  font-size: 18px;
  margin-bottom: 25px;
  max-width: 510px;
}
.service-work-scene {
  margin-top: 34px;
}
.service-work-scene img {
  width: 100%;
  height: 275px;
  object-fit: cover;
  object-position: 50% 53%;
  border-radius: 4px;
}
.service-work-scene figcaption {
  font-size: 13px;
  line-height: 1.5;
  margin-top: 10px;
  color: var(--sand);
}
.services h3 {
  font-size: 23px;
  line-height: 1.3;
  margin-bottom: 14px;
  font-weight: 600;
}
.services article p {
  font-size: 17.5px;
  line-height: 1.55;
  margin: 0;
}
.collaboration {
  padding: 68px 0;
  background: var(--sand);
}
.report {
  padding: 65px 0;
  background: var(--white);
}
.report-layout {
  display: grid;
  grid-template-columns: 520px minmax(0, 1fr);
  gap: 72px;
  align-items: center;
}
.report-scene {
  min-height: 610px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 18px 25px 0;
}
.report-copy h2 {
  font-size: 50px;
  line-height: 1.06;
  max-width: 600px;
}
.report-copy > p {
  font-size: 18px;
  line-height: 1.55;
  margin-bottom: 22px;
}
.knowledge {
  background: var(--offwhite);
  padding: 68px 0 45px;
}
.contact {
  padding: 68px 0;
  background: var(--bordeaux);
  color: var(--offwhite);
}
.contact-heading {
  margin-bottom: 35px;
  text-align: center;
}
.contact-heading h2 {
  font-size: 50px;
  line-height: 1.06;
  margin-bottom: 16px;
}
.contact-heading p {
  font-size: 18px;
  line-height: 1.55;
  margin: 0;
}
.contact-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  margin-bottom: 34px;
}
.contact-grid figure {
  height: 225px;
  margin-bottom: 24px;
  position: relative;
  overflow: hidden;
  border-radius: 4px;
}
.contact-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 4px;
}
.contact-grid figcaption {
  position: absolute;
  left: 10px;
  bottom: 8px;
  padding: 2px 7px;
  background: var(--bordeaux);
  color: var(--offwhite);
  font-size: 13px;
  line-height: 1.5;
}
.contact-grid h3 {
  font-size: 21px;
  line-height: 1.35;
  font-weight: 600;
  margin-bottom: 12px;
}
.contact-grid p {
  font-size: 17.5px;
  line-height: 1.55;
  margin: 0;
}
.contact > .wrap > .button {
  display: flex;
  width: max-content;
  margin-inline: auto;
}
.faq {
  padding: 68px 0 76px;
  background: var(--white);
}
.faq h2 {
  overflow-wrap: break-word;
  hyphens: auto;
  font-size: 46px;
  line-height: 1.08;
  margin-bottom: 35px;
  text-align: center;
}
.faq-items {
  max-width: 1030px;
  margin-inline: auto;
}
.faq details {
  border-top: 1px solid var(--sand);
}
.faq details:last-child {
  border-bottom: 1px solid var(--sand);
}
.faq summary {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: center;
  font-size: 18px;
  line-height: 1.5;
  font-weight: 600;
  cursor: pointer;
  padding: 20px 0;
  list-style: none;
}
.faq summary::-webkit-details-marker {
  display: none;
}
.faq summary span {
  font-size: 26px;
  font-weight: 400;
  line-height: 1;
  width: 26px;
  text-align: center;
  flex-shrink: 0;
}
.faq details > div {
  max-width: 650px;
  padding: 0 0 24px;
  font-size: 17px;
  line-height: 1.6;
}
.faq details p,
dialog form {
  margin: 0;
}
.closing {
  position: relative;
  overflow: hidden;
  background: var(--bordeaux);
  color: var(--offwhite);
}
.closing:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(51, 14, 19, 0) 20%,
    rgba(51, 14, 19, 0.15) 34%,
    var(--bordeaux) 61%
  );
  pointer-events: none;
}
.closing h2 {
  font-size: 50px;
  line-height: 1.06;
  margin-bottom: 26px;
}
.closing p {
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 29px;
}
.footer {
  padding: 40px 0 28px;
  font-size: 14px;
  line-height: 1.5;
}
.footer,
dialog {
  background: var(--offwhite);
}
dialog {
  width: 760px;
  max-width: calc(100vw - 32px);
  max-height: calc(100dvh - 32px);
  border: 0;
  border-radius: 5px;
  color: var(--bordeaux);
  padding: clamp(24px, 4vw, 48px);
  overflow: auto;
  overscroll-behavior: contain;
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.2);
}
dialog::backdrop {
  background: rgba(24, 10, 13, 0.68);
}
dialog h2 {
  overflow-wrap: break-word;
  hyphens: auto;
  font-size: clamp(29px, 4vw, 44px);
  line-height: 1.06;
  margin-bottom: 25px;
}
dialog h3 {
  font-size: 21px;
  line-height: 1.35;
}
dialog .eyebrow {
  font-size: 13px;
}
dialog p {
  font-size: 17px;
  line-height: 1.6;
}
dialog .preview-note {
  font-size: 14px;
  line-height: 1.6;
  padding-top: 20px;
  border-top: 1px solid var(--sand);
  clear: both;
}
dialog form:last-child {
  margin-top: 28px;
  clear: both;
}
.dialog-close {
  position: absolute;
  right: 17px;
  top: 12px;
  width: 36px;
  height: 36px;
  font-size: 30px;
  line-height: 1;
  border: 0;
  background: none;
}
.preview-cover {
  width: 148px;
  float: right;
  margin: 0 0 24px 27px;
  box-shadow: 0 8px 18px rgba(51, 14, 19, 0.12);
}

@media (max-width: 600px) {
  dialog { width: calc(100vw - 32px); padding: 48px 24px 24px; }
  dialog p { font-size: 15px; }
  .preview-cover { float: none; width: min(148px, 100%); height: auto; margin: 0 auto 22px; }
}

dialog .preview-source {
  font-size: 13px;
  line-height: 1.55;
}
.preview-excerpt {
  font-size: 17px;
  line-height: 1.55;
  margin: 23px 0;
}
.preview-excerpt dt {
  font-size: 15px;
  font-weight: 650;
  margin: 18px 0 7px;
}
.preview-excerpt dd {
  margin: 0;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
.site-header .logo img {
  width: 245px;
  height: auto;
}
.site-header .wrap {
  width: calc(100% - 64px);
  max-width: 1250px;
}
.header-inner {
  gap: 24px;
}
.site-header nav {
  gap: 30px;
  font-size: 16px;
  line-height: 20px;
  font-weight: 500;
  letter-spacing: 0.2px;
}
.site-header nav a {
  text-transform: uppercase;
  padding: 7px 0;
}
.site-header .button {
}
.hero {
  --hero-height: calc(100svh - var(--entry-header) - var(--entry-benefits));
  --photo-height: calc(20px + var(--hero-height));
}
.hero,
.hero-inner {
  min-height: var(--hero-height);
}
.hero-copy {
  padding: 28px 0 34px;
}
.hero .eyebrow {
  margin-bottom: 18px;
}
.hero h1 {
  font-size: calc(clamp(56px, 46px + 1.7svh, 66px));
  margin-bottom: 24px;
}
.hero-title-connection {
  gap: 15px;
}
.hero-amp {
  width: 1.13em;
  height: 0.99em;
}
.hero .button {
}
.hero-photo {
  height: var(--photo-height);
  width: calc(var(--photo-height) * 1.5);
}
.hero:after {
  width: calc(50% + 150px);
  background: linear-gradient(
    90deg,
    var(--offwhite) 0%,
    var(--offwhite) 57%,
    rgba(245, 243, 238, 0) 100%
  );
}
.benefit-grid {
  min-height: var(--entry-benefits);
  grid-template-columns: 1.15fr 1.1fr 1.35fr 1.1fr;
}
.hero-trust {
  margin-top: 27px;
  max-width: 600px;
}
.trust-logos {
  gap: 25px;
  min-height: 74px;
}
.trust-google,
.trust-logos {
  display: flex;
  align-items: center;
}
.trust-google {
  gap: 13px;
  flex-shrink: 1;
  min-width: 0;
  max-width: 100%;
  color: #48413d;
  text-decoration: none;
}
a.trust-google:hover .trust-google-label,
a.trust-google:focus-visible .trust-google-label {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.trust-google-mark {
  position: relative;
  display: block;
  width: 48px;
  height: 48px;
  overflow: hidden;
  flex-shrink: 0;
}
.trust-google-mark img {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 144px;
  height: 144px;
  max-width: none;
  transform: translate(-50%, -50%);
}
.trust-google span {
  font-size: 12px;
  line-height: 1.5;
  color: #48413d;
}
.trust-google strong {
  font-size: 13px;
  font-weight: 600;
}
.trust-google .trust-google-label {
  display: block;
  font-size: 11px;
  line-height: 1.45;
  white-space: normal;
  max-width: 145px;
}
.trust-bvmw { width: 116px; height: auto; object-fit: contain; filter: brightness(0); opacity: .8; }
@media (max-width: 767px) {
  .trust-bvmw { width: 92px; }
  .trust-google-mark { width: 38px; height: 38px; }
  .trust-google-mark img { width: 114px; height: 114px; }
}
.trust-provenexpert {
  width: 190px;
  height: auto;
}

@media (max-height: 800px) {
  .hero-copy {
    padding: 18px 0 20px;
  }
  .hero .eyebrow {
    font-size: 13px;
    margin-bottom: 14px;
  }
  .hero h1 {
    font-size: 54px;
    margin-bottom: 18px;
  }
  .hero .button {
  }
  .hero-trust {
    margin-top: 20px;
  }
  .trust-logos {
    min-height: 60px;
    gap: 23px;
  }
  .trust-provenexpert {
    width: 176px;
  }

}
.hero-copy {
  width: 650px;
  max-width: 54%;
  padding: 24px 0;
}
.hero .eyebrow {
  font-size: 13px;
  letter-spacing: 0.8px;
  margin-bottom: 14px;
}
.hero h1 {
  margin-bottom: 18px;
}
.hero-subline {
  max-width: 620px;
  font-size: 22px;
  line-height: 1.4;
  font-weight: 500;
  margin: 0 0 20px;
}
.hero-reason {
  max-width: 620px;
  font-size: 17px;
  line-height: 1.45;
  margin: 0 0 12px;
}
.hero-reason strong {
  font-weight: 650;
}
.hero-explanation {
  max-width: 620px;
  font-size: 17px;
  line-height: 1.55;
  font-weight: 450;
  margin: 0 0 24px;
}
.hero-trust {
  margin-top: 20px;
}
.hero:after {
  width: 68%;
  background: linear-gradient(
    90deg,
    var(--offwhite) 0%,
    var(--offwhite) 65%,
    rgba(245, 243, 238, 0) 100%
  );
}
@media (max-height: 1000px) {
  .hero-copy {
    padding: 18px 0;
  }
  .hero .eyebrow {
    font-size: 12px;
    margin-bottom: 11px;
  }
  .hero h1 {
    font-size: 56px;
    line-height: 1.04;
    margin-bottom: 16px;
  }
  .hero-subline {
    font-size: 20px;
    line-height: 1.4;
    margin-bottom: 16px;
  }
  .hero-reason {
    font-size: 16px;
    line-height: 1.45;
    margin-bottom: 10px;
  }
  .hero-explanation {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 20px;
  }
  .hero .button {
  }
  .hero-trust {
    margin-top: 16px;
  }
  .trust-logos {
    min-height: 60px;
  }
}
@media (max-height: 800px) {
  .hero-copy {
    padding: 10px 0;
  }
  .hero .eyebrow {
    margin-bottom: 9px;
  }
  .hero h1 {
    font-size: 48px;
    line-height: 1.04;
    margin-bottom: 12px;
  }
  .hero-subline {
    font-size: 18px;
    line-height: 1.4;
    margin-bottom: 12px;
  }
  .hero-reason {
    font-size: 15.5px;
    line-height: 1.4;
    margin-bottom: 8px;
  }
  .hero-explanation {
    font-size: 15.5px;
    line-height: 1.45;
    margin-bottom: 16px;
  }
  .hero .button {
  }
  .hero-trust {
    margin-top: 12px;
  }
  .trust-logos {
    min-height: 52px;
  }
  .trust-provenexpert {
    width: 168px;
  }

}
.benefit-grid {
  max-width: 1400px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: 0;
  padding: 28px 0;
  align-items: stretch;
}
.benefit-grid p {
  gap: 12px;
  padding-right: 22px;
  font-size: 18px;
  line-height: 1.45;
  font-weight: 400;
  color: rgba(245, 243, 238, 0.85);
}
.benefit-grid p + p {
  padding-left: 24px;
  border-left: 1px solid rgba(222, 214, 198, 0.22);
}
.benefit-grid p:last-child {
  padding-right: 0;
}
.benefit-copy { min-width: 0; }
.benefit-detail { display: block; }
.benefit-grid strong {
  display: block;
  margin-bottom: 4px;
  font-size: inherit;
  font-weight: 700;
  color: #fff;
}
.benefit-check {
  display: block;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin-top: 4px;
  color: var(--coral);
}
@media (max-width: 1600px) {
  .benefit-grid {
    max-width: 1250px;
  }
  .benefit-grid p {
    font-size: 17px;
    padding-right: 18px;
    gap: 10px;
  }
  .benefit-grid p + p {
    padding-left: 20px;
  }
  .benefit-grid p:last-child {
    padding-right: 0;
  }
  .benefit-check {
    flex-basis: 17px;
    width: 17px;
    height: 17px;
    margin-top: 4px;
  }
}
.why {
  min-height: calc(100svh - 82px);
  display: flex;
  scroll-margin-top: 0;
}
.situations,
.why,
.why-grid {
  align-items: center;
}
.why-grid {
  gap: 64px;
}
.why h2 {
  font-size: 48px;
  line-height: 1.06;
}
.why-question-lead strong {
  font-weight: 650;
}
.why .open-questions {
  font-weight: 450;
}
.why .open-questions li {
  padding-left: 28px;
  margin-bottom: 7px;
}
.why .open-questions li:last-child {
  margin-bottom: 0;
}
.why .open-questions li:before {
  content: "✓";
  left: 0;
  top: 0;
  width: auto;
  height: auto;
  border-radius: 0;
  background: none;
  color: var(--coral);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
}
.why .button {
}
.why .consultation-photo img {
  height: calc(clamp(480px, 60svh, 680px));
  object-position: 55% center;
}
@media (max-height: 800px) {
  .why h2 {
    font-size: 42px;
    margin-bottom: 18px;
  }
  .why .section-copy > p {
    font-size: 16px;
    line-height: 1.5;
  }
  .why .open-questions {
    line-height: 1.5;
  }
  .why .open-questions li {
    margin-bottom: 6px;
  }
  .why .button {
  }
  .why .consultation-photo img {
    height: 480px;
  }
}
@media (min-width: 1601px) and (min-height: 901px) {
  .why h2 {
    font-size: 54px;
    max-width: none;
  }
  .why .section-copy > p {
    font-size: 20px;
    line-height: 1.5;
  }
  .why .section-copy > .why-question-lead {
    font-size: 18px;
  }
  .why .open-questions {
    font-size: 18px;
    line-height: 1.5;
  }
  .why .consultation-photo img {
    height: calc(clamp(600px, 65svh, 760px));
  }
}
.why {
  padding: 64px 0;
}
.why .why-grid {
  width: calc(100% - 112px);
  max-width: 1500px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 64px;
}
.why h2 {
  max-width: none;
  font-size: 42px;
  line-height: 1.1;
  letter-spacing: -0.3px;
  margin-bottom: 24px;
  text-wrap: balance;
}
.why .section-copy > p {
  font-size: 18px;
  line-height: 1.5;
  margin-bottom: 20px;
}
.why .section-copy > .why-question-lead {
  font-size: 17px;
  margin-bottom: 12px;
}
.why .open-questions {
  font-size: 17px;
  line-height: 1.5;
  margin-bottom: 24px;
}
.why .open-questions li {
  margin-bottom: 6px;
}
.why .consultation-photo img {
  height: auto;
  aspect-ratio: 5/4;
  object-fit: cover;
  object-position: 50% 40%;
}
.why .consultation-photo figcaption {
  font-size: 13px;
  line-height: 1.5;
  margin-top: 12px;
}
@media (min-width: 1601px) {
  .why h2 {
    font-size: 46px;
  }
  .why .why-grid {
    gap: 72px;
  }
}
@media (max-height: 800px) {
  .why {
    padding: 36px 0;
  }
  .why h2 {
    font-size: 38px;
    margin-bottom: 20px;
  }
  .why .section-copy > p {
    font-size: 17px;
    line-height: 1.45;
    margin-bottom: 16px;
  }
  .why .section-copy > .why-question-lead {
    font-size: 16px;
    margin-bottom: 10px;
  }
  .why .open-questions {
    font-size: 16px;
    line-height: 1.45;
    margin-bottom: 20px;
  }
  .why .open-questions li {
    margin-bottom: 5px;
  }
}
.why .section-copy > p {
  margin-bottom: 18px;
}
.why .open-questions {
  margin-bottom: 22px;
}
.why .section-copy > .why-resolution {
  margin-bottom: 24px;
}
@media (max-height: 800px) {
  .why .section-copy > p {
    margin-bottom: 14px;
  }
  .why .open-questions {
    margin-bottom: 18px;
  }
  .why .section-copy > .why-resolution {
    margin-bottom: 20px;
  }
}
.situations {
  padding: 56px 0 64px;
  min-height: calc(100svh - 82px);
  display: flex;
  scroll-margin-top: 0;
}
.situations .situations-layout {
  width: calc(100% - 112px);
  max-width: 1500px;
}
.situation-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 64px;
  align-items: center;
  margin-bottom: 32px;
}
.situation-heading h2 {
  font:
    600 44px/1.08 Cormorant,
    Georgia,
    serif;
  letter-spacing: -0.4px;
  margin: 0 0 20px;
  max-width: 690px;
  text-wrap: balance;
}
.situation-heading > div > p {
  font-size: 17px;
  line-height: 1.5;
  max-width: 650px;
  margin: 0;
  color: #665652;
}
.situation-trust .trust-logos {
  gap: 25px;
  min-height: 70px;
  flex-wrap: wrap;
  max-width: 100%;
}

.situation-trust .trust-provenexpert {
  width: 165px;
}

.situation-composition {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 2fr);
  gap: 24px;
  align-items: stretch;
}
.situation-feature {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  padding: 36px 32px;
  background: linear-gradient(155deg, #4c1c23, #330e13 65%);
  gap: 32px;
}
.situation-brand {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
  padding: 6px 0 22px;
}
.situation-brand span {
  font:
    500 30px/1.08 Cormorant,
    Georgia,
    serif;
  color: var(--offwhite);
}
.situation-brand img {
  display: block;
  width: 160px;
  opacity: 0.45;
  margin: 6px 0;
}
.situation-feature > p {
  font-size: 18px;
  line-height: 1.5;
  max-width: none;
  margin: 0;
  color: #ded3d1;
}
.situation-feature strong {
  color: var(--offwhite);
  font-weight: 650;
}
.situation-problems {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.situation-problems article {
  background: #f5f3f0;
  border-radius: 8px;
  padding: 24px 26px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.situation-problems .situation-symbol {
  width: 48px;
  height: 48px;
  margin-bottom: 18px;
}
.situation-problems p {
  font-size: 17px;
  line-height: 1.5;
  margin: 0;
  color: #665652;
}
.situation-problems strong {
  font-weight: 650;
  color: var(--bordeaux);
}
.situation-problems .situation-help {
  font-size: 15px;
  line-height: 1.5;
  margin-top: 14px;
  color: #76635f;
}
@media (min-width: 1601px) {
  .situation-heading h2 {
    font-size: 48px;
  }
  .situation-heading > div > p,
  .situation-problems p {
    font-size: 18px;
  }
  .situation-problems article {
    padding: 32px;
  }
  .situation-problems .situation-help {
    font-size: 16px;
  }
  .situation-feature > p {
    font-size: 19px;
  }
  .situation-problems .situation-symbol {
    width: 58px;
    height: 58px;
  }
}
@media (max-height: 800px) {
  .situations {
    padding: 40px 0 48px;
  }
  .situation-heading {
    margin-bottom: 26px;
  }
  .situation-heading h2 {
    margin-bottom: 14px;
  }
  .situation-problems article {
    padding: 24px;
  }
  .situation-problems .situation-symbol {
    margin-bottom: 18px;
    width: 48px;
    height: 48px;
  }
  .situation-problems p {
    font-size: 16px;
  }
  .situation-problems .situation-help {
    font-size: 14px;
    margin-top: 14px;
  }
  .situation-feature {
    padding: 28px;
    gap: 22px;
  }
  .situation-brand {
    padding: 0;
    gap: 8px;
  }
  .situation-brand img {
    width: 130px;
  }
  .situation-feature > p {
    font-size: 17px;
  }
}
.situation-heading {
  grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr);
  gap: 48px;
  align-items: start;
  margin-bottom: 26px;
}
.situation-heading h2 {
  max-width: 610px;
  margin-bottom: 20px;
  text-wrap: wrap;
}
.collaboration-heading h2 strong,
.service-introduction h2 strong,
.situation-heading h2 strong {
  font-weight: 700;
}
.situation-heading > div > p {
  max-width: 610px;
  font-size: 16px;
  line-height: 1.45;
}
.situation-trust {
  justify-self: end;
  justify-self: start;
  align-self: start;
  padding-top: 32px;
  width: 100%;
}
.situation-trust .trust-logos {
  justify-content: space-between;
  gap: 24px;
  min-height: 60px;
  width: 100%;
}
.situation-feature {
  justify-content: center;
  gap: 30px;
  background: radial-gradient(ellipse at 15% 0%, #54232b, #3e151c 46%, #330e13);
}
.situation-brand {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 18px;
  row-gap: 5px;
  align-items: center;
  justify-content: start;
  padding: 0 0 30px;
  border-bottom: 1px solid rgba(222, 214, 198, 0.24);
  width: 100%;
}
.situation-brand img {
  grid-column: 1;
  grid-row: 1 / span 2;
  width: 82px;
  opacity: 1;
}
.situation-brand span {
  grid-column: 2;
  font-size: 28px;
  line-height: 1.05;
  text-align: left;
}
.situation-brand span:first-child {
  grid-row: 1;
  align-self: end;
}
.situation-brand span:last-child {
  grid-row: 2;
  align-self: start;
  right: 0;
  bottom: 0;
}
@media (min-width: 1601px) {
  .situation-heading h2 {
    font-size: 46px;
  }
  .situation-heading > div > p {
    font-size: 17px;
  }
  .situation-trust {
    padding-top: 34px;
  }
  .situation-brand {
    grid-template-columns: 94px minmax(0, 1fr);
    column-gap: 18px;
    padding-bottom: 34px;
  }
  .situation-brand img {
    width: 94px;
  }
  .situation-brand span {
    font-size: 30px;
  }
  .situation-feature {
    gap: 34px;
  }
}
@media (max-height: 800px) {
  .situation-heading h2 {
    font-size: 38px;
    margin-bottom: 16px;
  }
  .situation-trust {
    padding-top: 25px;
  }
  .situation-brand {
    padding-bottom: 24px;
    column-gap: 16px;
  }
}
.situation-feature {
  justify-content: space-between;
  gap: 28px;
}
.situation-brand {
  position: relative;
  display: block;
  min-height: 260px;
  padding: 0 0 28px;
  border: 0;
  flex: 1;
}
.situation-brand img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 230px;
  max-width: 88%;
  height: auto;
  margin: 0;
  opacity: 0.85;
}
.situation-brand span {
  position: absolute;
  z-index: 1;
  font-size: 30px;
  line-height: 1.1;
  white-space: nowrap;
}
.situation-brand span:first-child {
  left: 0;
  top: 0;
}
.situation-feature > p {
  padding-top: 26px;
  border-top: 1px solid rgba(222, 214, 198, 0.24);
}
@media (min-width: 1601px) {
  .situation-brand {
    min-height: 280px;
    padding: 0;
  }
  .situation-brand img {
    width: 260px;
  }
  .situation-brand span {
    font-size: 33px;
  }
  .situation-feature {
    gap: 30px;
  }
}
@media (max-height: 800px) {
  .situation-brand {
    min-height: 210px;
  }
  .situation-brand img {
    width: 185px;
  }
  .situation-brand span {
    font-size: 28px;
  }
  .situation-feature {
    gap: 24px;
  }
  .situation-feature > p {
    padding-top: 22px;
  }
}
.services {
  background: #fff;
  color: var(--bordeaux);
  padding: 72px 0 88px;
  scroll-margin-top: 0;
}
.services .site-service-layout-layout {
  width: calc(100% - 112px);
  max-width: 1500px;
  display: grid;
  grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr);
  gap: 72px;
  align-items: start;
}
.services .service-introduction {
  position: sticky;
  top: 112px;
}
.service-introduction h2 {
  overflow-wrap: break-word;
  hyphens: auto;
  font:
    500 46px/1.06 Cormorant,
    Georgia,
    serif;
  max-width: 650px;
  margin: 0 0 26px;
  letter-spacing: -0.3px;
}
.service-introduction > p {
  font-size: 17px;
  line-height: 1.55;
  max-width: 620px;
  margin: 0 0 24px;
  color: #665652;
}
.services .service-trust {
  margin: 28px 0 30px;
}
.service-trust .trust-logos {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
  max-width: 100%;
}

.service-trust .trust-provenexpert {
  width: 145px;
}

.services .service-work-scene {
  margin: 0;
}
.services .service-work-scene img {
  height: auto;
  aspect-ratio: 1.65;
  object-fit: cover;
  border-radius: 8px;
}
.services .service-work-scene figcaption {
  color: #76635f;
  font-size: 11px;
  margin-top: 8px;
}
.service-cards {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.service-card {
  border-radius: 10px;
  background: #f5f3f0;
  overflow: hidden;
}
.service-card-copy {
  padding: 26px 32px 32px;
}
.services .service-card h3 {
  font:
    600 32px/1.12 Cormorant,
    Georgia,
    serif;
  margin: 0 0 14px;
  letter-spacing: 0;
}
.services .service-card p {
  font-size: 16px;
  line-height: 1.55;
  color: #665652;
  margin: 0;
}
.service-visual {
  height: 310px;
  position: relative;
  overflow: hidden;
  background: radial-gradient(ellipse at 50% 50%, #fff, #eee9e1);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--bordeaux);
  isolation: isolate;
}
.service-visual small {
  font-size: 9px;
  letter-spacing: 1.2px;
  line-height: 1.4;
}
.visual-questions {
  gap: 24px;
  padding: 35px;
}
@media (min-width: 1601px) {
  .service-introduction h2 {
    font-size: 52px;
  }
  .service-introduction > p {
    font-size: 18px;
  }
  .service-visual {
    height: 360px;
  }
  .service-card-copy {
    padding: 30px 38px 36px;
  }
  .services .service-card h3 {
    font-size: 35px;
  }
  .services .service-card p {
    font-size: 17px;
  }
  .service-trust .trust-provenexpert {
    width: 165px;
  }

}
@media (max-height: 850px) {
  .services .service-introduction {
    position: static;
  }
}
.services .service-work-scene img {
  height: calc(clamp(220px, 28vh, 340px));
  aspect-ratio: auto;
}
.services .service-visual {
  height: auto;
  aspect-ratio: 2/1;
  background: #f5f3ee;
  padding: 0;
  gap: 0;
}
.service-artwork {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.services .visual-buyers,
.services .visual-documents,
.services .visual-negotiation {
  aspect-ratio: 16/9;
}
.service-artwork-picture {
  display: block;
  width: 100%;
  height: 100%;
}
@media (max-width: 767px) {
  .services {
    padding: 36px 0 44px;
    scroll-margin-top: 0;
  }
  .services .site-service-layout-layout {
    width: calc(100% - 32px);
    display: block;
    max-width: 600px;
  }
  .services .service-introduction {
    position: static;
  }
  .service-introduction h2 {
    font-size: 36px;
    line-height: 1.08;
    margin-bottom: 20px;
  }
  .service-introduction > p {
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 22px;
  }
  .service-introduction > .button {
    width: 100%;
    justify-content: center;
  }
  .services .service-trust {
    margin: 24px 0;
  }
  .service-trust .trust-logos {
    gap: 10px;
    justify-content: space-between;
  }

  .service-trust .trust-provenexpert {
    width: 95px;
  }

  .services .service-work-scene img {
    height: auto;
    aspect-ratio: 1.65;
  }
  .services .service-work-scene figcaption {
    font-size: 10px;
  }
  .service-cards {
    margin-top: 32px;
    gap: 24px;
  }
  .service-card-copy {
    padding: 20px;
  }
  .services .service-card h3 {
    font-size: 29px;
    line-height: 1.12;
    margin-bottom: 12px;
  }
  .services .service-card p {
    font-size: 14px;
    line-height: 1.6;
  }
  .site-header {
    height: 72px;
  }
  .site-header .logo img {
    width: 160px;
  }
  .site-header .button {
    margin-left: auto;
  }
}
.collaboration {
  background: #f4f3f1;
  padding: 68px 0 64px;
  scroll-margin-top: 0;
}
.site-collaboration-layout {
  width: calc(100% - 112px);
  max-width: 1500px;
}
.collaboration-heading {
  text-align: center;
  max-width: 1040px;
  margin: 0 auto 38px;
}
.collaboration-heading h2 {
  font:
    500 48px/1.08 Cormorant,
    Georgia,
    serif;
  margin: 0 0 22px;
}
.collaboration-heading p {
  font-size: 17px;
  line-height: 1.5;
  color: #665652;
  margin: 0;
}
.collaboration-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.collab-card {
  background: #fff;
  border-radius: 9px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.collab-copy {
  padding: 32px 34px 24px;
}
.collab-copy h3 {
  font:
    600 32px/1.12 Cormorant,
    Georgia,
    serif;
  margin: 0 0 14px;
}
.collab-copy p {
  font-size: 16px;
  line-height: 1.5;
  margin: 0;
  color: #665652;
}
.collab-whatsapp {
  background: linear-gradient(145deg, #421d25, #28131a);
  color: #f5f3ee;
}
.collab-whatsapp .collab-copy p {
  color: #ded3d1;
}
.wa-scene {
  position: relative;
  min-height: 410px;
  flex: 1;
  display: flex;
  justify-content: flex-end;
  padding: 0 52px 0 0;
  align-items: flex-end;
}
.wa-brand {
  position: absolute;
  left: 55px;
  top: 44%;
  width: 118px;
  height: 118px;
  transform: rotate(-5deg);
  filter: drop-shadow(0 12px 18px #0003);
}
.wa-device {
  width: 255px;
  background: #111;
  border: 3px solid #6e6266;
  border-radius: 32px 32px 0 0;
  padding: 7px 6px 0;
  box-shadow: 0 10px 35px #0005;
  color: #17251e;
  position: relative;
  margin-bottom: -8px;
  overflow: hidden;
}
.wa-device:before {
  content: "";
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  background: #080808;
  width: 67px;
  height: 17px;
  border-radius: 12px;
  z-index: 2;
}
.wa-device-status {
  justify-content: space-between;
  font:
    600 9px Arial,
    sans-serif;
  padding: 9px 13px 8px;
  border-radius: 24px 24px 0 0;
}
.wa-device-status,
.wa-top {
  display: flex;
  background: #f7f7f7;
}
.wa-top {
  gap: 6px;
  align-items: center;
  padding: 8px 5px;
  border-bottom: 1px solid #d8ddd9;
}
.wa-back {
  font-size: 25px;
  color: #16835d;
  line-height: 1;
}
.wa-avatar {
  width: 29px;
  height: 29px;
  object-fit: cover;
  object-position: 42% 20%;
  border-radius: 50%;
}
.wa-top strong {
  display: block;
  font:
    600 10px/1.3 Arial,
    sans-serif;
}
.wa-top small {
  display: block;
  font:
    9px/1.4 Arial,
    sans-serif;
  color: #748078;
}
.wa-call {
  margin-left: auto;
  color: #16835d;
  font-size: 18px;
}
.wa-conversation {
  background-color: #efe9dd;
  background-image: radial-gradient(#8c9c8f26 0.7px, transparent 0);
  background-size: 13px 13px;
  padding: 10px 9px 12px;
  min-height: 310px;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.wa-day {
  background: #ffffffba;
  align-self: center;
  border-radius: 5px;
  padding: 3px 8px;
  font:
    8px/1.4 Arial,
    sans-serif;
  color: #637368;
  margin-bottom: 3px;
}
.wa-message {
  font:
    11px/1.35 Arial,
    sans-serif;
  padding: 7px 8px 4px;
  border-radius: 7px;
  box-shadow: 0 1px 1px #0002;
  width: 88%;
  position: relative;
}
.wa-message.incoming {
  background: #fff;
  align-self: flex-start;
  border-top-left-radius: 0;
}
.wa-message.outgoing {
  background: #d9fdd3;
  align-self: flex-end;
  border-top-right-radius: 0;
}
.wa-message strong {
  display: block;
  font:
    600 9px/1.5 Arial,
    sans-serif;
  color: #16835d;
  margin-bottom: 2px;
}
.wa-message small {
  display: block;
  text-align: right;
  font:
    8px/1.3 Arial,
    sans-serif;
  color: #7a887e;
  margin-top: 3px;
}
.wa-message small span {
  color: #53adcc;
}
.wa-compose {
  display: flex;
  align-items: center;
  gap: 7px;
  background: #f7f7f7;
  padding: 7px;
  color: #777;
  font:
    20px Arial,
    sans-serif;
}
.wa-compose > span:nth-child(2) {
  background: #fff;
  border-radius: 18px;
  border: 1px solid #e0e3e0;
  font:
    10px Arial,
    sans-serif;
  padding: 7px 10px;
  flex: 1;
  color: #adb6b0;
}
.wa-compose i {
  float: right;
  font-style: normal;
}
.wa-home {
  background: #111;
  height: 7px;
}
.collab-photo {
  margin: 0;
  position: relative;
  flex: 1;
  min-height: 360px;
}
.collab-photo img {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
}
.collab-patrick .collab-photo img {
  object-position: 45% 25%;
}
.collab-photo figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, #0008);
  padding: 25px 18px 10px;
  color: #fff;
  font-size: 10px;
}
.onboarding-scene {
  min-height: 360px;
  flex: 1;
  background: radial-gradient(ellipse at center, #fff, #f5f3ee);
  padding: 18px 34px 35px;
  display: flex;
  align-items: center;
}
.onboarding-window {
  width: 100%;
  background: #fff;
  border: 1px solid #e7e0d5;
  border-radius: 10px;
  padding: 20px;
  box-shadow: 0 10px 30px #330e1310;
}
.onboarding-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 18px;
}
.onboarding-top small {
  font-size: 9px;
  font-weight: 400;
  color: #93847e;
}
.upload-zone {
  border: 1px dashed #baaa9b;
  background: #faf9f6;
  border-radius: 9px;
  min-height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 8px;
  padding: 15px;
  text-align: center;
}
.upload-zone svg {
  width: 39px;
  height: 39px;
  stroke: #330e13;
  stroke-width: 2.5;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  margin-bottom: 4px;
}
.upload-zone strong {
  font-size: 15px;
  font-weight: 600;
}
.upload-zone > span {
  font-size: 11px;
  color: #93847e;
}
.upload-file {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  padding: 13px 0 14px;
  border-bottom: 1px solid #eee8e1;
}
.upload-file-icon {
  background: #f5ede7;
  color: #9c5747;
  font-size: 9px;
  border-radius: 3px;
  padding: 5px;
}
.upload-file b {
  margin-left: auto;
  color: #65765a;
  font-size: 18px;
}
.onboarding-steps {
  display: flex;
  justify-content: space-between;
  gap: 5px;
  align-items: center;
  margin-top: 16px;
  font-size: 10px;
}
.onboarding-steps b {
  color: #e15245;
  margin-right: 3px;
}
.onboarding-steps i {
  color: #b7a494;
  font-style: normal;
}
.collaboration-cta {
  text-align: center;
  margin-top: 36px;
}
@media (min-width: 1601px) {
  .collaboration-heading h2 {
    font-size: 54px;
  }
  .collab-copy p,
  .collaboration-heading p {
    font-size: 18px;
  }
  .collab-copy {
    padding: 38px 40px 28px;
  }
  .collab-copy h3 {
    font-size: 35px;
  }
  .wa-scene {
    min-height: 445px;
    padding-right: 78px;
  }
  .wa-brand {
    left: 80px;
    width: 145px;
    height: 145px;
  }
  .wa-device {
    width: 278px;
  }
  .wa-conversation {
    min-height: 334px;
  }
  .wa-message {
    font-size: 12px;
  }
  .collab-photo {
    min-height: 400px;
  }
  .onboarding-scene {
    min-height: 400px;
    padding: 25px 45px 40px;
  }
}
@media (max-width: 767px) {
  .collaboration {
    padding: 36px 0 44px;
    scroll-margin-top: 0;
  }
  .site-collaboration-layout {
    width: calc(100% - 32px);
    max-width: 600px;
  }
  .collaboration-heading {
    margin-bottom: 26px;
  }
  .collaboration-heading h2 {
    font-size: 35px;
    margin-bottom: 18px;
  }
  .collaboration-heading p {
    font-size: 15px;
  }
  .collaboration-heading p br {
    display: none;
  }
  .collaboration-cards {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .collab-copy {
    padding: 24px 22px;
  }
  .collab-copy h3 {
    font-size: 30px;
  }
  .collab-copy p {
    font-size: 14px;
  }
  .wa-scene {
    min-height: 390px;
    padding-right: 17px;
  }
  .wa-device {
    width: 235px;
  }
  .wa-brand {
    left: 18px;
    top: 48%;
    width: 70px;
    height: 70px;
  }
  .wa-conversation {
    min-height: 300px;
  }
  .wa-message {
    font-size: 10.5px;
  }
  .collab-photo {
    min-height: 260px;
  }
  .onboarding-scene {
    padding: 6px 18px 26px;
    min-height: 310px;
  }
  .onboarding-window {
    padding: 15px;
  }
  .onboarding-steps {
    font-size: 9px;
  }
  .onboarding-top {
    font-size: 12px;
  }
  .upload-zone strong {
    font-size: 13px;
  }
  .collaboration-cta .button {
    width: 100%;
    justify-content: center;
  }
}
.wa-call svg,
.wa-mic svg {
  display: block;
  width: 17px;
  height: 17px;
  stroke: currentColor;
  stroke-width: 1.6;
  fill: none;
  stroke-linejoin: round;
  stroke-linecap: round;
}
.case-study {
  background: #f4f3f1;
  padding: 68px 0 64px;
  scroll-margin-top: 0;
}
.case-wrap {
  width: calc(100% - 112px);
  max-width: 1500px;
}
.case-heading {
  text-align: center;
  margin: 0 auto 42px;
  max-width: 980px;
}
.case-heading h2 {
  font:
    500 50px/1.08 Cormorant,
    Georgia,
    serif;
  margin: 0 0 20px;
}
.case-heading h2 strong {
  font-weight: 700;
}
.case-heading > p {
  font-size: 17px;
  line-height: 1.5;
  color: #665652;
  margin: 0;
}
.case-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 52px;
  background: #fff;
  border-radius: 11px;
  padding: 48px;
  align-items: start;
}
.case-kicker {
  font-size: 10px;
  letter-spacing: 1.2px;
  line-height: 1.5;
  color: #93847e;
  margin: 0 0 16px;
  font-weight: 600;
}
.case-copy h3 {
  font:
    500 32px/1.12 Cormorant,
    Georgia,
    serif;
  margin: 0 0 26px;
}
.case-copy h3 strong {
  font-weight: 700;
}
.case-copy h4 {
  font:
    650 16px/1.4 Montserrat,
    Arial,
    sans-serif;
  margin: 0 0 9px;
}
.case-copy > p:not(.case-kicker) {
  font-size: 15px;
  line-height: 1.55;
  color: #665652;
  margin-bottom: 24px;
}
.case-results {
  list-style: none;
  padding: 0;
  margin: 14px 0 25px;
  display: grid;
  gap: 11px;
}
.case-results li {
  position: relative;
  padding-left: 26px;
  font-size: 15px;
  line-height: 1.45;
  color: #665652;
}
.case-results li:before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 1px;
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  background: #e15245;
  border-radius: 5px;
  color: #fff;
  font:
    700 12px Arial,
    sans-serif;
}
.case-takeaway {
  border-top: 1px solid #e6dfd6;
  padding-top: 20px;
  display: flex;
  gap: 14px;
  align-items: start;
}
.case-takeaway > span {
  font-size: 28px;
  line-height: 1;
  color: #e15245;
}
.case-takeaway p {
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
  color: #76635f;
}
.case-media {
  padding-top: 0;
  min-width: 0;
}
@media (min-width: 1601px) {
  .case-heading h2 {
    font-size: 56px;
  }
  .case-heading > p {
    font-size: 18px;
  }
  .case-panel {
    padding: 60px;
    gap: 65px;
  }
  .case-copy h3 {
    font-size: 38px;
  }
  .case-copy > p:not(.case-kicker),
  .case-results li {
    font-size: 17px;
  }
  .case-copy h4 {
    font-size: 18px;
  }
  .case-kicker {
    font-size: 11px;
  }
  .case-takeaway p {
    font-size: 16px;
  }
}
@media (max-width: 767px) {
  .case-study {
    padding: 38px 0 44px;
    scroll-margin-top: 0;
  }
  .case-wrap {
    width: calc(100% - 32px);
    max-width: 600px;
  }
  .case-heading {
    margin-bottom: 26px;
  }
  .case-heading h2 {
    font-size: 37px;
    margin-bottom: 17px;
  }
  .case-heading > p {
    font-size: 15px;
  }
  .case-copy h3 br,
  .case-heading > p br {
    display: none;
  }
  .case-panel {
    grid-template-columns: 1fr;
    padding: 24px 20px;
    gap: 26px;
  }
  .case-copy h3 {
    font-size: 30px;
    margin-bottom: 22px;
  }
  .case-kicker {
    font-size: 9px;
    letter-spacing: 0.8px;
  }
  .case-copy > p:not(.case-kicker),
  .case-results li {
    font-size: 14px;
  }
  .case-copy h4 {
    font-size: 15px;
  }
  .case-takeaway p {
    font-size: 13px;
  }
}
.trust-story {
  background: #330e13;
  color: #f5f3ee;
  padding: 62px 0 42px;
  scroll-margin-top: 0;
}
.trust-story-wrap {
  width: calc(100% - 112px);
  max-width: 1500px;
}
@media (min-width: 1601px) {
  .trust-story {
    padding-top: 76px;
    padding-bottom: 48px;
  }
}
@media (max-width: 767px) {
  .trust-story {
    padding: 34px 0;
    scroll-margin-top: 0;
  }
  .trust-story-wrap {
    width: calc(100% - 32px);
    max-width: 600px;
  }
}
.trust-stage {
  background: #0b0c0d;
  padding: 44px 0 36px;
  color: #f5f3ee;
}
.trust-stage-main {
  display: grid;
  grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr);
  gap: 72px;
  align-items: center;
}
.trust-stage-portrait {
  position: relative;
  margin: 0;
  min-height: 550px;
  isolation: isolate;
}
.trust-stage-portrait img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 12%;
  mix-blend-mode: lighten;
  z-index: -2;
}
.trust-stage-portrait:after {
  content: "";
  position: absolute;
  inset: -1px;
  background:
    linear-gradient(0deg, #0b0c0d, #0b0c0d00 30%),
    linear-gradient(90deg, #0b0c0d, #0b0c0d00 10%, #0b0c0d00 82%, #0b0c0d);
  z-index: -1;
  pointer-events: none;
}
.trust-stage-portrait figcaption {
  position: absolute;
  left: 30px;
  bottom: 12px;
  right: 15px;
  line-height: 1.5;
}
.trust-stage-portrait figcaption strong {
  display: block;
  font-size: 14px;
  font-weight: 600;
}
.trust-stage-portrait figcaption span {
  display: block;
  font-size: 10px;
  color: #aca8a2;
  margin-top: 4px;
}
.trust-stage-copy {
  padding: 15px 0;
}
.trust-stage-copy h2 {
  font:
    500 47px/1.08 Cormorant,
    Georgia,
    serif;
  letter-spacing: -0.25px;
  margin: 0 0 25px;
}
.trust-stage-copy h2 strong {
  font-weight: 700;
}
.trust-stage-copy > p {
  font-size: 16px;
  margin: 0 0 18px;
  color: #c7c4bf;
}
.trust-stage-copy > p strong {
  color: #f5f3ee;
  font-weight: 600;
}
.trust-stage-copy > .button {
  margin-top: 9px;
}
.trust-voices {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 32px;
  margin-top: 32px;
  padding-top: 26px;
  border-top: 1px solid #ded6c62b;
}
.trust-voices figure {
  margin: 0;
  display: flex;
  flex-direction: column;
  position: relative;
  padding-left: 25px;
}
.trust-voices figure + figure {
  border-left: 1px solid #ded6c62b;
  padding-left: 32px;
}
.trust-voices blockquote {
  font:
    500 24px/1.22 Cormorant,
    Georgia,
    serif;
  color: #ded6c6;
  margin: 0 0 18px;
}
.trust-voices figcaption {
  margin-top: auto;
  font-size: 11px;
  line-height: 1.5;
}
.trust-voices figcaption strong {
  display: block;
  color: #eeeae3;
  font-weight: 600;
}
.trust-voices figcaption span {
  display: block;
  color: #999791;
  margin-top: 3px;
  font-size: 10px;
}
@media (min-width: 1601px) {
  .trust-stage {
    padding: 55px 0 40px;
  }
  .trust-stage-main {
    gap: 90px;
  }
  .trust-stage-portrait {
    min-height: 620px;
  }
  .trust-stage-copy > p {
    font-size: 18px;
    line-height: 1.5;
  }
  .trust-stage-copy > .button {
  }
  .trust-voices {
    margin-top: 37px;
    gap: 38px;
  }
  .trust-voices blockquote {
    font-size: 28px;
  }
  .trust-voices figcaption {
    font-size: 12px;
  }
  .trust-voices figcaption span {
    font-size: 11px;
  }
}
@media (max-width: 767px) {
  .trust-stage-main {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .trust-stage-portrait {
    order: 1;
  }
  .trust-stage-copy {
    order: 2;
    padding: 0;
  }
  .trust-stage-copy h2 {
    font-size: 36px;
    margin-bottom: 22px;
  }
  .trust-stage-copy > p {
    font-size: 14px;
  }
  .trust-stage-copy > .button {
    width: 100%;
    justify-content: center;
  }
  .trust-stage-portrait img {
    object-position: 50% 10%;
  }
  .trust-stage-portrait figcaption {
    left: 17px;
    bottom: 5px;
  }
  .trust-stage-portrait figcaption strong {
    font-size: 12px;
  }
  .trust-stage-portrait figcaption span {
    font-size: 9px;
  }
  .trust-voices {
    gap: 24px;
  }
  .trust-voices figure + figure {
    padding-top: 24px;
    border-left: 0;
    border-top: 1px solid #ded6c62b;
  }
  .trust-voices blockquote {
    font-size: 25px;
    margin-bottom: 15px;
  }
}
.trust-voices figure + figure {
  padding-left: 44px;
}
@media (max-width: 767px) {
  .trust-voices figure + figure {
    padding-left: 25px;
  }
}
.trust-stage {
  padding: 36px 0 34px;
}
.trust-stage-portrait {
  min-height: 500px;
}
.trust-stage-portrait figcaption {
  bottom: 15px;
}
.trust-stage-portrait figcaption strong {
  font-size: 16px;
}
.trust-stage-copy > p {
  font-size: 17px;
  line-height: 1.55;
  margin-bottom: 22px;
}
.trust-stage-copy > .button {
}
.trust-voices {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  margin-top: 28px;
  padding-top: 28px;
}
.trust-voices figure,
.trust-voices figure + figure {
  padding-left: 0;
}
.trust-voices figure + figure {
  padding-left: 30px;
}
.trust-voices blockquote {
  font:
    400 italic 16px/1.55 Montserrat,
    Arial,
    sans-serif;
  color: #e8e2d8;
  margin: 0 0 22px;
}
.trust-voices figcaption {
  font-size: 14px;
  line-height: 1.45;
}
.trust-voices figcaption span {
  font-size: 13px;
  line-height: 1.45;
  color: #b5b1a9;
  margin-top: 5px;
}
@media (min-width: 1601px) {
  .trust-stage {
    padding: 48px 0 44px;
  }
  .trust-stage-portrait {
    min-height: 590px;
  }
  .trust-stage-copy > p {
    font-size: 19px;
    line-height: 1.55;
  }
  .trust-stage-copy h2 {
    font-size: 54px;
  }
  .trust-voices {
    margin-top: 32px;
    padding-top: 30px;
    gap: 36px;
  }
  .trust-voices figure + figure {
    padding-left: 36px;
  }
  .trust-voices blockquote {
    font-size: 17px;
    line-height: 1.6;
  }
  .trust-voices figcaption {
    font-size: 15px;
  }
  .trust-voices figcaption span {
    font-size: 13px;
  }
}
@media (max-width: 767px) {
  .trust-stage {
    padding: 30px 0;
  }
  .trust-stage-portrait {
    min-height: 400px;
  }
  .trust-stage-portrait figcaption strong {
    font-size: 15px;
  }
  .trust-stage-copy > p {
    font-size: 16px;
  }
  .trust-voices {
    grid-template-columns: 1fr;
    gap: 25px;
    margin-top: 30px;
    padding-top: 25px;
  }
  .trust-voices figure,
  .trust-voices figure + figure {
    padding-left: 0;
  }
  .trust-voices figure + figure {
    padding-top: 25px;
  }
  .trust-voices blockquote {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 18px;
  }
  .trust-voices figcaption {
    font-size: 14px;
  }
  .trust-voices figcaption span {
    font-size: 13px;
  }
}
.trust-voices blockquote strong {
  font-weight: 600;
  color: #f5f3ee;
}
.report .report-layout {
  width: calc(100% - 112px);
  max-width: 1500px;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
  gap: 64px;
}
.site-report-mockup-layout {
  padding: 0;
  min-height: 0;
  display: block;
}
.report-book-composition {
  position: relative;
  width: 100%;
  aspect-ratio: 1.14;
  isolation: isolate;
}
.report-open-book {
  position: absolute;
  left: 1%;
  top: 10%;
  width: 85%;
  aspect-ratio: 1.414;
  display: flex;
  transform: perspective(1400px) rotateY(9deg) rotateZ(-13deg);
  transform-style: preserve-3d;
  filter: drop-shadow(0 22px 17px #330e131c);
}
.report-open-page {
  position: relative;
  width: 50%;
  height: 100%;
  overflow: hidden;
  box-shadow:
    0 2px #f5f1e9,
    0 4px #cfc8bb,
    0 6px #fffdf8,
    0 8px #ddd5c7;
  background: #fff;
}
.report-open-page > img {
  position: absolute;
  inset: 0;
  width: 200%;
  max-width: none;
}
.report-open-left {
  transform: perspective(900px) rotateY(-10deg);
  transform-origin: right center;
  border-radius: 9% 1px 0 2px;
}
.report-open-right {
  transform: perspective(900px) rotateY(9deg);
  transform-origin: left center;
  border-radius: 1px 9% 2px 0;
}
.report-open-right > img {
  left: -100%;
}
.report-open-left:after,
.report-open-right:after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.report-open-left:after {
  background: linear-gradient(90deg, #00000004, transparent 65%, #330e131c);
}
.report-open-right:after {
  background: linear-gradient(90deg, #330e1320, transparent 22%, #ffffff1a);
}
.report-fold {
  position: absolute;
  left: 49.7%;
  width: 0.6%;
  top: 0;
  bottom: 0;
  background: linear-gradient(90deg, #00000018, #ffffffa8, #00000022);
  border-radius: 50%;
  filter: blur(0.5px);
}
.report-cover-front {
  position: absolute;
  z-index: 2;
  width: 44%;
  right: 2%;
  top: 23%;
  transform: perspective(1400px) rotateY(-9deg) rotateZ(-13deg);
  transform-style: preserve-3d;
  box-shadow: -6px 13px 19px #330e132e;
  isolation: isolate;
}
.report-cover-front img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid #330e131a;
}
.report-cover-front:before {
  content: "";
  position: absolute;
  inset: 3px -8px -6px 5px;
  background: repeating-linear-gradient(0deg, #e0dbd1 0 1px, #fffdf6 0 3px);
  border-right: 2px solid #d2c8b6;
  transform: skewY(1deg);
  z-index: -1;
}
.report-cover-front:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 7%;
  background: linear-gradient(90deg, #00000020, transparent 55%, #ffffff12);
  pointer-events: none;
}
@media (max-width: 767px) {
  .report {
    padding: 38px 0;
  }
  .report .report-layout {
    width: calc(100% - 32px);
    max-width: 600px;
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .report-book-composition {
    aspect-ratio: 1.1;
  }
  .report-copy h2 {
    font-size: 35px;
    line-height: 1.08;
  }
  .report-copy > p {
    font-size: 15px;
  }
  .report-copy > .button {
    width: 100%;
    justify-content: center;
  }
}
.report-open-page > img {
  width: 100%;
  height: 100%;
  left: 0;
  object-fit: fill;
}
.report-copy .report-eyebrow {
  font-family: var(--font-heading, "Cormorant Garamond", serif);
  font-size: 21px;
  line-height: 1.3;
  margin: 0 0 14px;
  color: #330e13;
}
.report-copy h2 {
  font-size: calc(clamp(38px, 3.5vw, 58px));
  line-height: 1.04;
  margin-bottom: 26px;
}
.report-copy h2 strong {
  font-weight: 700;
}
.report-copy > p:not(.report-eyebrow) {
  font-size: 17px;
  line-height: 1.6;
  margin: 0 0 18px;
}
.report-copy > .button {
  margin-top: 8px;
}
@media (max-width: 767px) {
  .report-copy .report-eyebrow {
    font-size: 19px;
  }
  .report-copy h2 {
    font-size: 36px;
    margin-bottom: 22px;
  }
  .report-copy > p:not(.report-eyebrow) {
    font-size: 16px;
    line-height: 1.55;
  }
}
.site-channel-layout {
  background: #fff;
  padding: 48px 0 0;
  overflow: hidden;
}
.site-channel-layout .channel-showcase {
  max-width: 1500px;
  width: calc(100% - 112px);
  display: grid;
  grid-template-columns: 1.08fr 1fr;
  gap: 88px;
  align-items: center;
}
.channel-art {
  position: relative;
  isolation: isolate;
  align-self: end;
  aspect-ratio: 1/1.04;
}
.channel-cutout {
  position: absolute;
  width: 180%;
  left: -39%;
  pointer-events: none;
}
.channel-copy {
  padding: 44px 0 70px;
}
.youtube-wordmark {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 28px;
  color: #101010;
  font-family: Arial, sans-serif;
  font-size: 27px;
  font-weight: 800;
  letter-spacing: -1.5px;
}
.youtube-wordmark svg {
  width: 38px;
  height: 27px;
}
.channel-copy h2 {
  font-size: calc(clamp(40px, 3.6vw, 60px));
  line-height: 1.1;
  margin: 0 0 30px;
}
.channel-copy h2 strong,
.contact-heading h2 strong {
  font-weight: 700;
}
.channel-copy > p {
  font-size: 18px;
  line-height: 1.6;
  margin: 0 0 15px;
  max-width: 610px;
}
.channel-copy > .button {
  margin-top: 17px;
}
@media (min-width: 1800px) {
  .channel-art {
    aspect-ratio: 1/1.08;
  }
  .channel-copy > p {
    font-size: 20px;
  }
}
@media (max-width: 1000px) {
  .site-channel-layout .channel-showcase {
    width: calc(100% - 48px);
    gap: 36px;
  }
  .channel-copy > p {
    font-size: 16px;
  }
  .channel-copy h2 {
    font-size: 38px;
  }
  .channel-art {
    aspect-ratio: 1/1.4;
  }
  .channel-cutout {
    width: 230%;
    left: -65%;
  }
}
@media (max-width: 767px) {
  .site-channel-layout {
    padding: 36px 0 0;
  }
  .site-channel-layout .channel-showcase {
    width: calc(100% - 32px);
  }
  .channel-copy {
    grid-row: 1;
    padding: 0;
  }
  .youtube-wordmark {
    margin-bottom: 20px;
    font-size: 25px;
  }
  .channel-copy h2 {
    font-size: 38px;
    margin-bottom: 22px;
  }
  .channel-copy > p {
    font-size: 16px;
    line-height: 1.55;
  }
  .channel-copy > .button {
    width: 100%;
    justify-content: center;
    margin-top: 12px;
  }
  .channel-art {
    aspect-ratio: 1/1.05;
    margin-top: 18px;
  }
  .channel-cutout {
    width: 180%;
    left: -39%;
  }
}
.site-channel-layout .channel-showcase {
  grid-template-columns: 1.15fr 1fr;
  gap: 80px;
}
.channel-art {
  aspect-ratio: 1/1.12;
  overflow: hidden;
}
.channel-original-grid {
  position: absolute;
  inset: 6% 0 7%;
  display: block;
  overflow: hidden;
  container-type: inline-size;
}
.channel-original-grid > img {
  position: absolute;
  max-width: none;
  width: 117.8%;
  height: auto;
  left: -11.5%;
  top: -52.6cqw;
}
.channel-cutout {
  width: 112%;
  max-width: none;
  height: auto;
  left: -3%;
  z-index: 2;
}
@media (max-width: 1000px) {
  .channel-art {
    aspect-ratio: 1/1.2;
  }
  .channel-cutout {
    width: 112%;
    left: -3%;
  }
}
@media (max-width: 767px) {
  .site-channel-layout .channel-showcase {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .channel-art {
    aspect-ratio: 1/1.12;
  }
  .channel-cutout {
    width: 112%;
    left: -3%;
  }
}
.channel-original-grid {
  top: 13%;
}
.channel-cutout {
  width: 128%;
  left: -14%;
  bottom: 0;
}
@media (max-width: 1000px) {
  .channel-cutout {
    width: 128%;
    left: -14%;
  }
}
@media (max-width: 767px) {
  .channel-cutout {
    width: 128%;
    left: -14%;
  }
}
.site-contact-layout {
  background: linear-gradient(145deg, #260c10, #46171e);
  padding: 64px 0 70px;
}
.site-contact-layout > .wrap {
  max-width: 1440px;
  width: calc(100% - 112px);
}
.site-contact-layout .contact-heading {
  margin-bottom: 40px;
}
.site-contact-layout .contact-heading h2 {
  font-size: 54px;
  font-weight: 400;
  margin: 0;
}
.site-contact-layout .contact-grid {
  gap: 0;
  margin: 0 0 44px;
}
.site-contact-layout .contact-grid article {
  padding: 22px 35px 0;
  text-align: center;
  min-width: 0;
}
.site-contact-layout .contact-grid article + article {
  border-left: 1px solid #ffffff24;
}
.contact-round {
  position: relative;
  width: min(100%, 290px);
  aspect-ratio: 1;
  height: auto;
  margin: 0 auto 28px;
  border-radius: 50%;
  overflow: hidden;
  background: #eeeae1;
}
.site-contact-layout .contact-round > img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  object-position: 34% center;
  max-width: 100%;
}
.site-contact-layout .contact-grid h3 {
  font-family: Cormorant, Georgia, serif;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: 14px;
}
.site-contact-layout .contact-grid p {
  font-size: 16px;
  line-height: 1.6;
  color: #e2d8d4;
  margin: 0;
}
@media (max-width: 1000px) {
  .site-contact-layout > .wrap {
    width: calc(100% - 48px);
  }
  .site-contact-layout .contact-grid article {
    padding: 15px 20px 0;
  }
  .site-contact-layout .contact-grid p {
    font-size: 14px;
  }
  .site-contact-layout .contact-grid h3 {
    font-size: 27px;
  }
  .contact-round {
    width: 240px;
  }
}
@media (max-width: 767px) {
  .site-contact-layout {
    padding: 40px 0;
  }
  .site-contact-layout > .wrap {
    width: calc(100% - 32px);
  }
  .site-contact-layout .contact-heading {
    margin-bottom: 28px;
  }
  .site-contact-layout .contact-heading h2 {
    font-size: 39px;
  }
  .site-contact-layout .contact-grid {
    grid-template-columns: 1fr;
    gap: 30px;
    margin-bottom: 32px;
  }
  .site-contact-layout .contact-grid article {
    padding: 0 8px 30px;
  }
  .site-contact-layout .contact-grid article + article {
    border-left: 0;
    border-top: 1px solid #ffffff24;
    padding-top: 30px;
  }
  .site-contact-layout .contact-grid p {
    font-size: 16px;
    max-width: 370px;
    margin: auto;
  }
  .contact-round {
    width: 260px;
    margin-bottom: 24px;
  }
  .site-contact-layout > .wrap > .button {
    width: 100%;
    justify-content: center;
  }
}
.site-contact-layout .contact-photo > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 50%;
  transform: none;
}
.site-contact-layout .contact-visual-note {
  text-align: center;
  margin: 20px 0 0;
  font-size: 11px;
  color: #baaaa4;
}
.site-contact-layout .contact-grid article {
  padding-top: 40px;
}
.contact-pop {
  overflow: visible;
  background: none;
}
.contact-pop-disc {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  overflow: hidden;
}
.contact-pop-disc img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.contact-pop-front {
  position: absolute;
  inset: -18% 0 0;
  border-radius: 0 0 50% 50%;
  overflow: hidden;
  pointer-events: none;
}
.contact-pop-front img {
  position: absolute;
  width: 118%;
  max-width: none;
  height: auto;
  bottom: 0;
  left: -9%;
  display: block;
}
.contact-pop-patrick .contact-pop-disc img {
  transform: scale(1.18);
  transform-origin: 50% 100%;
}
@media (max-width: 767px) {
  .site-contact-layout .contact-grid article {
    padding-top: 36px;
  }
  .site-contact-layout .contact-grid article + article {
    padding-top: 65px;
  }
}
.site-contact-layout .site-contact-laptop-layout {
  overflow: visible;
  background: none;
  border-radius: 0;
}
.site-contact-layout .site-contact-laptop-layout > img {
  position: absolute;
  width: 110%;
  max-width: none;
  height: auto;
  left: -5%;
  bottom: 0;
  object-fit: contain;
  border-radius: 0;
  transform: none;
}
.site-contact-layout .site-contact-meeting-composition-layout {
  overflow: visible;
  background: none;
  border-radius: 0;
}
.site-contact-layout .site-contact-meeting-composition-layout > img {
  position: absolute;
  width: 110%;
  max-width: none;
  height: auto;
  left: -5%;
  bottom: 0;
  object-fit: contain;
  border-radius: 0;
  transform: none;
}
.site-closing-layout {
  background: #fff;
  color: #f5f3ee;
  padding: 108px 0 40px;
  overflow: visible;
  isolation: isolate;
}
.site-closing-layout:after {
  display: none;
}
.site-closing-layout .site-closing-card-layout {
  position: relative;
  width: calc(100% - 112px);
  max-width: 1500px;
  min-height: 710px;
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 0;
  background: radial-gradient(ellipse at 35% 20%, #4e2026, #330e13 48%, #210b10);
  border-radius: 9px;
  isolation: isolate;
}
.site-closing-brand-layout {
  position: absolute;
  width: 660px;
  height: 660px;
  object-fit: contain;
  left: 5%;
  bottom: 0;
  opacity: 0.055;
  pointer-events: none;
  z-index: -1;
}
.site-closing-person-layout {
  position: relative;
  grid-column: 1;
  grid-row: 1;
  align-self: stretch;
  pointer-events: none;
  z-index: 1;
}
.site-closing-person-layout > img {
  position: absolute;
  bottom: 0;
  left: -7%;
  max-width: none;
  width: 112%;
  height: calc(100% + 76px);
  object-fit: contain;
  object-position: 50% 100%;
  filter: drop-shadow(12px 10px 15px #14030628);
}
.site-closing-copy-layout {
  position: relative;
  z-index: 2;
  grid-column: 2;
  grid-row: 1;
  padding: 52px 56px 44px 10px;
  min-width: 0;
}
.site-closing-layout .site-closing-copy-layout h2 {
  font-size: calc(clamp(38px, 3.3vw, 56px));
  line-height: 1.06;
  font-weight: 400;
  margin: 0 0 26px;
  letter-spacing: -0.5px;
}
.site-closing-copy-layout h2 strong {
  font-weight: 700;
  color: #fff;
}
.site-closing-layout .site-closing-copy-layout > p {
  font-size: 17px;
  line-height: 1.55;
  color: #e5dbd7;
  margin: 0 0 24px;
}
.site-closing-invitation-layout > strong {
  display: block;
  color: #fff;
  margin-bottom: 5px;
  font-weight: 650;
}
.site-closing-layout .site-closing-button-layout {
}
.site-closing-layout .site-closing-button-layout:hover {
}
.site-closing-quote-layout {
  padding: 22px 0 0;
  margin: 28px 0 0;
  border-top: 1px solid #ffffff2b;
  max-width: 570px;
}
.site-closing-quote-layout blockquote {
  font-family: Cormorant, Georgia, serif;
  font-size: 23px;
  font-style: italic;
  line-height: 1.25;
  margin: 0 0 10px;
  color: #f5f3ee;
}
.site-closing-quote-layout figcaption {
  font-size: 12px;
  line-height: 1.5;
  color: #cbbab5;
}
.site-closing-quote-layout figcaption strong {
  font-weight: 600;
  color: #eee5e2;
}
.site-closing-layout > .site-closing-image-note-layout {
  width: calc(100% - 112px);
  max-width: 1500px;
  margin: 10px auto 0;
  color: #998a83;
  font-size: 10px;
  line-height: 1.4;
}
@media (min-width: 1800px) {
  .site-closing-layout .site-closing-card-layout {
    min-height: 760px;
  }
  .site-closing-copy-layout {
    padding: 65px 65px 50px 20px;
  }
  .site-closing-layout .site-closing-copy-layout > p {
    font-size: 19px;
  }
  .site-closing-layout .site-closing-copy-layout h2 {
    font-size: 58px;
  }
}
@media (max-width: 1100px) and (min-width: 768px) {
  .site-closing-layout .site-closing-card-layout {
    width: calc(100% - 48px);
    grid-template-columns: 0.8fr 1.2fr;
  }
  .site-closing-copy-layout {
    padding: 38px 30px 38px 10px;
  }
  .site-closing-person-layout > img {
    width: 135%;
    left: -25%;
    height: calc(100% + 50px);
  }
  .site-closing-layout .site-closing-copy-layout > p {
    font-size: 16px;
  }
  .site-closing-layout .site-closing-copy-layout h2 {
    font-size: 39px;
  }
  .site-closing-layout .site-closing-button-layout {
  }
  .site-closing-layout > .site-closing-image-note-layout {
    width: calc(100% - 48px);
  }
}
@media (max-width: 767px) {
  .site-closing-layout {
    padding: 65px 0 28px;
  }
  .site-closing-layout .site-closing-card-layout {
    width: calc(100% - 32px);
    grid-template-columns: 1fr;
    min-height: 0;
    border-radius: 8px;
  }
  .site-closing-copy-layout {
    grid-row: 1;
    grid-column: 1;
    padding: 32px 24px 20px;
  }
  .site-closing-layout .site-closing-copy-layout h2 {
    font-size: 37px;
    line-height: 1.06;
    margin-bottom: 22px;
  }
  .site-closing-layout .site-closing-copy-layout h2 br:first-child {
    display: none;
    display: initial;
  }
  .site-closing-layout .site-closing-copy-layout > p {
    font-size: 16px;
    margin-bottom: 22px;
  }
  .site-closing-layout .site-closing-button-layout {
    width: 100%;
    justify-content: space-between;
  }
  .site-closing-quote-layout {
    margin-top: 25px;
    padding-top: 20px;
  }
  .site-closing-quote-layout blockquote {
    font-size: 22px;
  }
  .site-closing-person-layout {
    grid-row: 2;
    grid-column: 1;
    height: 360px;
    overflow: hidden;
    margin-top: 10px;
    border-radius: 0 0 8px 8px;
  }
  .site-closing-person-layout > img {
    height: 100%;
    width: 100%;
    left: 0;
    object-fit: contain;
  }
  .site-closing-brand-layout {
    left: 0;
    bottom: 0;
    width: 100%;
    height: 450px;
  }
  .site-closing-layout > .site-closing-image-note-layout {
    width: calc(100% - 32px);
  }
}
@media (min-width: 1101px) {
  .site-closing-layout {
    padding-top: 142px;
  }
  .site-closing-layout .site-closing-card-layout {
    min-height: 660px;
    grid-template-columns: 0.96fr 1.04fr;
    background: radial-gradient(ellipse at 28% 35%, #492027, #2c0e14 53%, #210b10);
  }
  .site-closing-person-layout {
    clip-path: inset(-250px -120px 0 -120px);
  }
  .site-closing-person-layout > img {
    height: calc(100% + 300px);
    bottom: -174px;
    width: 148%;
    left: -25%;
    object-fit: contain;
    object-position: 50% 100%;
  }
  .site-closing-copy-layout {
    padding: 58px 54px 46px 10px;
    align-self: center;
  }
  .site-closing-layout .site-closing-copy-layout h2 {
    font-size: calc(clamp(45px, 3.65vw, 60px));
    line-height: 1.07;
    margin-bottom: 28px;
    letter-spacing: -0.6px;
  }
  .site-closing-layout .site-closing-copy-layout > p {
    font-size: 18px;
    line-height: 1.52;
    margin-bottom: 25px;
    max-width: 615px;
  }
  .site-closing-layout .site-closing-button-layout {
  }
  .site-closing-quote-layout {
    margin-top: 28px;
    padding-top: 22px;
    max-width: 590px;
  }
  .site-closing-quote-layout blockquote {
    font-size: 25px;
    line-height: 1.28;
  }
  .site-closing-quote-layout figcaption {
    font-size: 14px;
    line-height: 1.5;
  }
}
@media (min-width: 1800px) {
  .site-closing-layout .site-closing-card-layout {
    min-height: 710px;
  }
  .site-closing-copy-layout {
    padding: 66px 65px 54px 22px;
  }
  .site-closing-layout .site-closing-copy-layout > p {
    font-size: 20px;
  }
  .site-closing-layout .site-closing-copy-layout h2 {
    font-size: 61px;
  }
}
@media (max-width: 767px) {
  .site-closing-layout .site-closing-copy-layout h2 {
    font-size: 38px;
    line-height: 1.08;
  }
  .site-closing-layout .site-closing-copy-layout > p {
    line-height: 1.55;
  }
  .site-closing-quote-layout figcaption {
    font-size: 13px;
  }
}
.site-footer-layout {
  background: #210c11;
  color: #e8ded8;
  padding: 74px 0 28px;
}
.site-footer-layout .wrap {
  width: calc(100% - 112px);
  max-width: 1500px;
}
.site-footer-main-layout {
  display: grid;
  grid-template-columns: 1.65fr 0.75fr 0.85fr 1fr;
  gap: 58px;
  align-items: start;
}
.site-footer-logo-layout {
  display: block;
  width: min(100%, 380px);
  margin: 0 0 28px;
}
.site-footer-logo-layout > img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 76px;
  object-fit: contain;
  object-position: left center;
  filter: brightness(0) invert(1);
}
.site-footer-brand-layout > p {
  font-size: 14px;
  line-height: 1.85;
  max-width: 440px;
  margin: 0;
  color: #cbbcb7;
}
.site-footer-brand-layout > p strong {
  font-weight: 600;
  color: #f5f3ee;
}
.site-footer-advisory-layout {
  margin-top: 26px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  font-size: 12px;
  line-height: 1.6;
  color: #ad9690;
}
.site-footer-advisory-layout strong {
  font-weight: 500;
  color: #d9cbc5;
}
.site-footer-layout h2 {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 600;
  color: #f5f3ee;
  margin: 0 0 22px;
}
.site-footer-links-layout {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 17px;
}
.site-footer-links-layout h2 {
  margin-bottom: 5px;
}
.site-footer-layout a {
  color: #d6c8c2;
  text-decoration: none;
  font-size: 14px;
  line-height: 1.5;
}
.site-footer-layout a:hover {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 5px;
}
.site-footer-layout a:focus-visible {
  outline: 2px solid #e15245;
  outline-offset: 5px;
  border-radius: 2px;
}
.site-footer-contact-layout > h2 {
  margin-bottom: 13px;
}
.site-footer-layout .site-footer-management-layout {
  font-size: 13px;
  line-height: 1.6;
  color: #ae9791;
  margin: 0 0 20px;
}
.site-footer-contact-layout address {
  font-style: normal;
  font-size: 14px;
  line-height: 1.7;
  color: #d6c8c2;
  margin-bottom: 22px;
}
.site-footer-contact-layout > a {
  display: block;
  margin-top: 8px;
  overflow-wrap: anywhere;
}
.site-footer-socials-layout {
  display: flex;
  gap: 17px;
  align-items: center;
  margin-top: 25px;
}
.site-footer-socials-layout > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 30px;
}
.site-footer-socials-layout svg {
  width: 21px;
  height: 21px;
  fill: currentColor;
  display: block;
}
.site-footer-layout .site-footer-bottom-layout {
  margin-top: 65px;
  border-top: 1px solid #f5f3ee20;
  padding-top: 25px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
.site-footer-bottom-layout > p {
  font-size: 12px;
  color: #ad9690;
  margin: 0;
}
.site-footer-bottom-layout nav {
  display: flex;
  gap: 30px;
  align-items: center;
}
.site-footer-bottom-layout nav a {
  font-size: 12px;
  color: #c5b3ad;
}
@media (max-width: 1150px) {
  .site-footer-main-layout {
    gap: 30px;
    grid-template-columns: 1.4fr 0.8fr 0.8fr 1fr;
  }
  .site-footer-layout .wrap {
    width: calc(100% - 48px);
  }
}
@media (max-width: 900px) {
  .site-footer-main-layout {
    grid-template-columns: 1.4fr 1fr;
    gap: 40px 50px;
  }
  .site-footer-brand-layout {
    grid-column: 1;
    grid-row: 1/3;
  }
  .site-footer-contact-layout {
    grid-column: 2;
    grid-row: 3;
  }
  .site-footer-layout .site-footer-bottom-layout {
    margin-top: 40px;
  }
}
@media (max-width: 767px) {
  .site-footer-layout {
    padding: 44px 0 25px;
  }
  .site-footer-layout .wrap {
    width: calc(100% - 32px);
  }
  .site-footer-main-layout {
    grid-template-columns: 1fr 1fr;
    gap: 35px 20px;
  }
  .site-footer-brand-layout,
  .site-footer-contact-layout {
    grid-column: 1/-1;
    grid-row: auto;
  }
  .site-footer-logo-layout {
    width: 290px;
    max-width: 100%;
    margin-bottom: 22px;
  }
  .site-footer-brand-layout > p {
    font-size: 14px;
    line-height: 1.75;
  }
  .site-footer-advisory-layout {
    margin-top: 22px;
  }
  .site-footer-contact-layout {
    padding-top: 28px;
    border-top: 1px solid #f5f3ee20;
  }
  .site-footer-layout h2 {
    font-size: 14px;
  }
  .site-footer-links-layout {
    gap: 15px;
  }
  .site-footer-layout .site-footer-bottom-layout {
    margin-top: 35px;
    align-items: flex-start;
    flex-direction: column;
    gap: 20px;
  }
  .site-footer-bottom-layout nav {
    gap: 22px;
    flex-wrap: wrap;
  }
  .site-footer-contact-layout address {
    margin-bottom: 16px;
  }
}
.site-footer-layout .site-footer-credit-layout {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 11px;
  line-height: 1.5;
  color: #ad9690;
  text-decoration: none;
}
.site-footer-credit-layout img {
  display: block;
  width: 48px;
  height: 42px;
  object-fit: contain;
  padding: 5px;
  background: #f5f3ee;
  border-radius: 5px;
  box-sizing: content-box;
}
.site-footer-credit-layout span {
  display: block;
}
.site-footer-credit-layout strong {
  display: block;
  color: #e8ded8;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.02em;
}
.site-footer-layout .site-footer-credit-layout:hover strong {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 4px;
}
@media (max-width: 1150px) {
  .site-footer-layout .site-footer-bottom-layout {
    flex-wrap: wrap;
  }
  .site-footer-bottom-layout nav {
    margin-left: auto;
  }
}
@media (max-width: 767px) {
  .site-footer-bottom-layout nav {
    margin-left: 0;
  }
  .site-footer-layout .site-footer-credit-layout {
    margin: 2px 0;
  }
}
.hero .trust-logos {
  align-items: center;
  gap: 24px;
}
.trust-ymap {
  margin: 0;
  flex: 0 0 132px;
  width: 132px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.trust-ymap img {
  display: block;
  width: 132px;
  height: auto;
  aspect-ratio: 1733/907;
  object-fit: contain;
  border-radius: 3px;
}
.trust-ymap figcaption {
  font:
    400 10px/1.35 Montserrat,
    Arial,
    sans-serif;
  color: var(--bordeaux);
  text-align: center;
}
.trust-ymap strong {
  font-weight: 600;
}
@media (max-width: 767px) {
  .hero .trust-logos {
    flex-wrap: wrap;
    gap: 18px 22px;
  }
  .trust-ymap {
    flex-basis: 120px;
    width: 120px;
  }
  .trust-ymap img {
    width: 120px;
  }
  .trust-ymap figcaption {
    font-size: 11px;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .hero-photo {
    width: 60%;
    height: 100%;
    object-fit: cover;
    object-position: 60% center;
  }
  .hero .trust-logos {
    gap: 16px;
    flex-wrap: wrap;
  }
  .hero .trust-provenexpert {
    width: 160px;
  }
}
@media (max-width: 767px) {
  .site-header .header-inner {
    width: calc(100% - 32px);
    height: 76px;
    gap: 12px;
  }
  .site-header .logo img {
    width: 170px;
  }
  .site-header nav {
    display: none;
  }
  .site-header .header-inner > .button {
    margin-left: auto;
  }
  .hero {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }
  .hero:after {
    display: none;
  }
  .hero .hero-inner {
    order: 1;
    min-height: 0;
    width: calc(100% - 32px);
  }
  .hero .hero-copy {
    width: 100%;
    max-width: none;
    padding: 30px 0 26px;
  }
  .hero .hero-photo {
    order: 2;
    position: relative;
    inset: auto;
    width: 100%;
    height: 340px;
    object-fit: cover;
    object-position: 60% 36%;
  }
  .hero .eyebrow {
    font-size: 10px;
  }
  .hero h1 {
    font-size: 39px;
    line-height: 1.05;
    letter-spacing: -0.8px;
  }
  .hero .hero-title-line {
    white-space: normal;
  }
  .hero .hero-title-connection {
    align-items: baseline;
    gap: 8px;
  }
  .hero .hero-amp {
    width: 34px;
    height: auto;
  }
  .hero .hero-subline {
    font-size: 18px;
    line-height: 1.45;
  }
  .hero .hero-explanation,
  .hero .hero-reason {
    font-size: 15px;
    line-height: 1.55;
  }
  .hero .button {
  }
  .hero .trust-logos {
    gap: 20px;
    min-height: 0;
  }
  .hero .trust-provenexpert {
    width: 145px;
  }
  .benefits .benefit-grid {
    width: calc(100% - 32px);
    grid-template-columns: 1fr 1fr;
    gap: 24px 18px;
    padding: 26px 0;
  }
  .benefits .benefit-grid p {
    font-size: 13px;
    padding: 0;
    border: 0;
  }
  .benefits .benefit-grid p + p {
    padding-left: 0;
  }
  .hero .hero-title-connection > span {
    white-space: normal;
    min-width: 0;
  }
  .hero .hero-title-connection {
    width: 100%;
    max-width: 100%;
  }
  .hero .hero-copy {
    min-width: 0;
  }
  .site-header .logo img {
    width: 150px;
  }
  .site-header .header-inner > .button {
    max-width: 145px;
  }
  .hero .hero-trust {
    width: 100%;
    max-width: 100%;
  }
}
.trust-ymap {
  gap: 7px;
}
.ymap-logo-window {
  display: block;
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 625/122;
  border-radius: 0;
  background: transparent;
}
.trust-ymap .ymap-logo-window img {
  position: static;
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 625/122;
  border-radius: 0;
}
.why .why-grid {
  gap: 38px;
  align-items: center;
}
.why .site-consultation-photo-layout {
  position: relative;
  margin: 0;
  min-width: 0;
}
.why .site-consultation-photo-layout img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  object-fit: cover;
  object-position: 68% center;
  border-radius: 0;
  mask-image: linear-gradient(90deg, transparent, #000 17%);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 17%);
}
.why .site-consultation-photo-layout figcaption {
  padding: 0 0 0 17%;
  margin-top: 12px;
  font-size: 13px;
  color: #786d68;
}
@media (min-width: 1601px) {
  .why .why-grid {
    gap: 48px;
  }
}
@media (max-width: 767px) {
  .why {
    min-height: 0;
    padding: 40px 0;
  }
  .why .why-grid {
    width: calc(100% - 32px);
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .why h2 {
    font-size: 35px;
  }
  .why .open-questions,
  .why .section-copy > .why-question-lead,
  .why .section-copy > p {
    font-size: 15px;
    line-height: 1.55;
  }
  .why .site-consultation-photo-layout img {
    aspect-ratio: 5/4;
    object-position: 66% center;
    mask-image: linear-gradient(180deg, transparent, #000 12%);
    -webkit-mask-image: linear-gradient(180deg, transparent, #000 12%);
  }
  .why .site-consultation-photo-layout figcaption {
    padding-left: 0;
    font-size: 12px;
  }
}
.site-case-study-layout .case-heading {
  margin-bottom: 42px;
}
.site-case-study-layout .case-heading > p {
  font-size: 18px;
}
.site-case-study-layout .case-panel + .case-panel {
  margin-top: 32px;
}
.site-case-study-layout .case-panel {
  align-items: start;
  gap: 46px;
  padding: 46px;
}
.site-case-study-layout .case-portrait {
  margin: 0;
}
.site-case-study-layout .case-portrait > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/10;
  object-fit: cover;
  object-position: center;
  border-radius: 7px;
}
.site-case-study-layout .case-portrait figcaption {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-top: 20px;
  font-size: 16px;
  line-height: 1.5;
}
.site-case-study-layout .case-portrait figcaption strong {
  font-weight: 650;
}
.site-case-study-layout .case-portrait figcaption span {
  font-size: 14px;
  color: #81706b;
}
.site-case-study-layout .case-photo-placeholder {
  aspect-ratio: 16/9;
  border: 1px dashed #c7bcb0;
  border-radius: 7px;
  background: linear-gradient(135deg, #f7f5f1, #e9e3d8);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  padding: 30px;
  position: relative;
}
.site-case-study-layout .case-photo-label {
  font:
    500 12px/1.4 Montserrat,
    Arial,
    sans-serif;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #8c7e74;
  margin-bottom: 18px;
}
.site-case-study-layout .case-photo-name {
  font:
    500 38px/1.1 Cormorant,
    Georgia,
    serif;
  color: #330e13;
}
.site-case-study-layout .case-photo-company {
  font-size: 13px;
  color: #8c7e74;
  margin-top: 10px;
}
.site-case-study-layout .case-published-quote {
  margin: 26px 0 0;
  padding: 22px 0 0;
  border-top: 1px solid #e6dfd6;
}
.site-case-study-layout .case-published-quote p {
  font-size: 16px;
  line-height: 1.65;
  color: #665652;
  margin: 0 0 18px;
}
.site-case-study-layout .case-published-quote footer {
  font-size: 13px;
  font-weight: 600;
}
.site-case-study-layout .case-published-quote footer span {
  display: block;
  font-weight: 400;
  color: #81706b;
  margin-top: 3px;
}
.site-case-study-layout .case-takeaway p strong {
  font-weight: 650;
  color: #330e13;
}
@media (min-width: 1601px) {
  .site-case-study-layout .case-panel {
    padding: 56px;
    gap: 60px;
  }
  .site-case-study-layout .case-published-quote p {
    font-size: 17px;
  }
}
@media (max-width: 767px) {
  .site-case-study-layout .case-panel {
    grid-template-columns: 1fr;
    padding: 24px 20px;
    gap: 26px;
  }
  .site-case-study-layout .case-panel + .case-panel {
    margin-top: 24px;
  }
  .site-case-study-layout .case-heading > p {
    font-size: 15px;
  }
  .site-case-study-layout .case-portrait figcaption {
    font-size: 15px;
    margin-top: 15px;
  }
  .site-case-study-layout .case-published-quote p {
    font-size: 14px;
  }
  .site-case-study-layout .case-photo-name {
    font-size: 32px;
  }
}
.trust-stage .trust-voices {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px 48px;
}
.trust-stage .trust-voices figure,
.trust-stage .trust-voices figure + figure {
  padding: 0;
  border-left: 0;
}
.trust-stage .trust-voices figure:nth-child(n + 3) {
  padding-top: 28px;
  border-top: 1px solid #ded6c62b;
}
.trust-stage .trust-voices blockquote {
  font-size: 17px;
  line-height: 1.6;
  margin-bottom: 20px;
}
.trust-stage .trust-voices figcaption {
  font-size: 14px;
}
.trust-stage .trust-voices figcaption span {
  font-size: 13px;
}
.youtube-wordmark > img {
  display: block;
  width: 160px;
  height: auto;
  max-width: 100%;
  object-fit: contain;
}
.collab-whatsapp .wa-brand {
  clip-path: inset(0 round 22%);
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
  transform: none;
  filter: none;
  border-radius: 0;
  box-shadow: none;
  background: none;
}
@media (max-width: 767px) {
  .trust-stage .trust-voices {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .trust-stage .trust-voices figure + figure {
    border-top: 1px solid #ded6c62b;
    padding-top: 25px;
  }
  .trust-stage .trust-voices blockquote {
    font-size: 16px;
  }
  .youtube-wordmark > img {
    width: 145px;
  }
}
.site-footer-socials-layout .footer-youtube-original {
  display: block;
  width: 24px;
  height: 24px;
  object-fit: contain;
}
.site-channel-layout .channel-cutout {
  width: 112%;
  left: -15%;
  height: auto;
}
.site-channel-layout .channel-original-grid {
  top: 6%;
  bottom: 7%;
  top: -8%;
  bottom: 6%;
}
.site-audiences-layout {
  padding: 88px 0 48px;
  background: linear-gradient(135deg, #241418, #371016 52%, #21171b);
  color: #f6f3ec;
}
.site-audiences-wrap-layout {
  max-width: 1180px;
}
.site-audiences-heading-layout {
  text-align: center;
  max-width: 1040px;
  margin: 0 auto 46px;
}
.site-audiences-heading-layout h2 {
  font-size: calc(clamp(34px, 3.5vw, 51px));
  line-height: 1.12;
  color: #f6f3ec;
  margin: 0 0 24px;
}
.site-audiences-heading-layout > p {
  max-width: 770px;
  margin: 0 auto;
  color: #d4c6c5;
  font-size: 18px;
  line-height: 1.55;
}
.site-audiences-grid-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 88px;
  row-gap: 44px;
}
.site-audience-layout {
  text-align: center;
  min-width: 0;
}
.site-audience-visual-layout {
  display: block;
  width: min(100%, 330px);
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
  margin: 0 auto 18px;
}
.site-audience-layout h3 {
  font-family: Cormorant, Georgia, serif;
  font-size: 29px;
  line-height: 1.18;
  font-weight: 400;
  margin: 0 0 16px;
  color: #f6f3ec;
}
.site-audience-layout > p {
  font-size: 17px;
  line-height: 1.6;
  color: #d4c6c5;
  margin: 0 auto;
  max-width: 490px;
}
.site-audiences-action-layout {
  text-align: center;
  margin: 44px 0 0;
}
.site-audiences-layout .button {
}
.site-audiences-image-note-layout {
  font-size: 11px;
  color: #bdaaaa;
  margin: 23px 0 0;
}
@media (max-width: 1000px) {
  .site-audiences-grid-layout {
    column-gap: 40px;
  }
  .site-audience-layout h3 {
    font-size: 26px;
  }
  .site-audience-layout > p {
    font-size: 16px;
  }
  .site-audience-visual-layout {
    width: min(100%, 290px);
  }
}
@media (max-width: 767px) {
  .site-audiences-layout {
    padding: 54px 0 32px;
  }
  .site-audiences-heading-layout {
    margin-bottom: 28px;
  }
  .site-audiences-heading-layout h2 {
    font-size: 34px;
    font-size: 32px;
  }
  .site-audiences-heading-layout h2 br {
    display: none;
  }
  .site-audiences-heading-layout > p {
    font-size: 16px;
  }
  .site-audiences-grid-layout {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .site-audience-visual-layout {
    width: 280px;
    margin-bottom: 14px;
  }
  .site-audience-layout h3 {
    font-size: 27px;
  }
  .site-audience-layout > p {
    max-width: 440px;
  }
  .site-audiences-action-layout {
    margin-top: 32px;
  }
  .site-audiences-layout .button {
    max-width: 100%;
  }
  .site-audiences-wrap-layout {
    width: calc(100% - 32px);
  }
}
.site-channel-layout .channel-art {
  aspect-ratio: 1/1.05;
  align-self: end;
  overflow: visible;
}
.site-channel-layout .channel-copy {
  padding: 28px 0 48px;
}
.site-channel-layout .channel-cutout {
  height: 118%;
  width: auto;
  left: 0;
  bottom: 0;
  max-width: none;
}
@media (max-width: 1000px) and (min-width: 768px) {
  .site-channel-layout .channel-art {
    aspect-ratio: 1/1.2;
  }
  .site-channel-layout .channel-cutout {
    height: 108%;
  }
  .site-channel-layout .channel-original-grid {
    top: 2%;
  }
}
@media (max-width: 767px) {
  .site-channel-layout .channel-art {
    aspect-ratio: 1/1.05;
  }
  .site-channel-layout .channel-copy {
    padding: 0;
  }
  .site-channel-layout .channel-original-grid {
    top: 17%;
    bottom: 6%;
  }
  .site-channel-layout .channel-cutout {
    height: 105%;
    width: auto;
    left: 5%;
  }
}
@media (min-width: 768px) {
  .site-channel-layout {
    padding-top: calc(clamp(110px, 10vw, 180px));
  }
}
.site-menu-toggle-layout {
  display: none;
}
@media (min-width: 1151px) {
  .site-header .header-inner,
  .site-header nav {
    gap: 22px;
  }
  .site-header .logo img {
    width: 210px;
  }
  .site-header nav a {
    font-size: 12px;
    white-space: nowrap;
  }
  .site-header .compact {
    font-size: 12px;
    padding: 15px 19px;
  }
}
@media (max-width: 1150px) {
  .site-header .header-inner {
    position: relative;
    gap: 14px;
  }
  .site-header nav {
    display: none;
  }
  .site-menu-toggle-layout {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    order: 3;
    width: 42px;
    height: 42px;
    border: 1px solid #d8cdc7;
    background: transparent;
    padding: 10px;
    cursor: pointer;
    flex-shrink: 0;
  }
  .site-menu-toggle-layout span {
    height: 2px;
    background: #361116;
    width: 20px;
  }
  .site-header .header-inner > .button {
    margin-left: auto;
  }
  .site-header.site-menu-open-layout nav {
    display: flex;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    gap: 0;
    background: #f6f3ed;
    box-shadow: 0 12px 20px #36111618;
    padding: 12px 22px 20px;
    max-height: calc(100dvh - 90px);
    overflow-y: auto;
  }
  .site-header.site-menu-open-layout nav a {
    display: block;
    padding: 13px 0;
    font-size: 14px;
    border-bottom: 1px solid #e0d6cf;
  }
  .site-header.site-menu-open-layout nav a:after {
    display: none;
  }
}
@media (max-width: 767px) {
  .site-header .logo img {
    width: 135px;
  }
  .site-header .header-inner {
    gap: 8px;
  }
  .site-header .header-inner > .button {
    max-width: 132px;
  }
  .site-menu-toggle-layout {
    width: 36px;
    height: 38px;
    padding: 7px;
  }
}
.site-header nav a:after {
  display: none !important;
}

/* Mobile containment: readable situation cards and no decorative horizontal overflow. */
@media (max-width: 767px) {

  .situations .situations-layout { width: calc(100% - 32px); max-width: 600px; }
  .situations .situation-heading { display: block; }
  .situations .situation-heading > div { width: 100%; max-width: 100%; }
  .situations .situation-composition { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .situations .situation-feature { width: 100%; max-width: 100%; }
  .situations .situation-problems { width: 100%; grid-template-columns: minmax(0, 1fr); }
  .situations .situation-problems article { min-width: 0; }
  .situations .situation-problems p { overflow-wrap: break-word; }
  .trust-logos { flex-wrap: wrap; max-width: 100%; }
  .service-trust, .situation-trust { min-width: 0; max-width: 100%; }
  .report-scene { overflow: clip; }
}

/* Shared text row keeps the lower collaboration image edges aligned. */
@media (min-width: 768px) {
  .collaboration-cards > .collab-card:nth-child(3),
  .collaboration-cards > .collab-card:nth-child(4) {
    display: grid;
    grid-row: span 2;
    grid-template-rows: subgrid;
    row-gap: 0;
  }
}

/* Preserve the full supplied portrait composition. */
.site-case-study-layout .case-panel-rmw .case-portrait > img {
  aspect-ratio: auto;
}

/* Legal pages: Telepski reference structures, own typography and brand colors. */
.legal-page { background: #f5f4f2; }
.legal-hero { color: #fff; padding: 70px 0; background: #330e13; position: relative; overflow: hidden; }
.legal-hero::after { content: ""; position: absolute; right: 12%; top: -30%; width: 250px; height: 300px; background: url("assets/markenzeichen-original.svg") center/contain no-repeat; opacity: .09; pointer-events: none; }
.legal-hero h1 { position: relative; z-index: 1; font: 500 48px/1.12 Cormorant, Georgia, serif; margin: 0; hyphens: auto; overflow-wrap: anywhere; }
.legal-layout { padding-top: 72px; padding-bottom: 80px; }
.legal-content { background: #fff; padding: 42px; color: #665652; font-size: 16px; line-height: 1.55; overflow-wrap: anywhere; }
.legal-content h2 { hyphens: auto; overflow-wrap: break-word; font: 600 24px/1.35 Montserrat, Arial, sans-serif; color: #330e13; margin: 24px 0 12px; scroll-margin-top: 0; }
.legal-content > h2:first-child { margin-top: 0; }
.legal-content h3 { hyphens: auto; overflow-wrap: break-word; font-size: 17px; line-height: 1.45; color: #330e13; margin: 24px 0 10px; }
.legal-content p { margin: 0 0 16px; }
.legal-content a { color: #330e13; text-underline-offset: 3px; }
.legal-content ul, .legal-content ol { padding-left: 24px; }
.legal-page .site-header nav a::after { display: none; }
@media (max-width: 767px) {
 .legal-hero { padding: 46px 0; }
 .legal-hero h1 { font-size: 39px; }
 .legal-hero::after { right: -15%; width: 200px; }
 .legal-layout { padding-top: 30px; padding-bottom: 40px; }
 .legal-content { padding: 25px 22px; font-size: 15px; }
 .legal-content h2 { font-size: 21px; }
}

/* About page: founder introduction followed by the four-person team. */
.about-page { background: #f5f3ee; }
.about-founder { padding: 72px 0 60px; background: #f5f3ee; }
.about-founder-grid { display: grid; grid-template-columns: minmax(0,1.04fr) minmax(0,1fr); gap: 64px; align-items: center; }
.about-kicker { font: 500 23px/1.3 Cormorant, Georgia, serif; margin: 0 0 14px; }
.about-founder h1, .about-founder h2 { font: 500 clamp(42px,4.2vw,66px)/1.06 Cormorant, Georgia, serif; margin: 0 0 28px; }
.about-founder-copy > p:not(.about-kicker) { font-size: 16px; line-height: 1.65; color: #665652; margin: 0 0 18px; }
.about-founder-copy strong { color: #330e13; }
.about-founder-copy .button { margin-top: 12px; }
.about-founder-portrait { margin: 0; position: relative; border-radius: 9px; overflow: hidden; aspect-ratio: 5/4; background: #ded6c6; }
.about-founder-portrait > img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 61% center; }
.about-founder-portrait figcaption { position: absolute; inset: auto 0 0; padding: 60px 30px 28px; background: linear-gradient(transparent,#1b1118e6); color: #fff; display: grid; gap: 7px; }
.about-founder-portrait figcaption strong { font: 600 30px/1.1 Cormorant, Georgia, serif; }
.about-founder-portrait figcaption span { font-size: 14px; line-height: 1.5; }
.about-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; margin-top: 34px; }
.about-gallery img { display: block; width: 100%; aspect-ratio: 3/2; height: auto; object-fit: cover; border-radius: 8px; }
.about-team { padding: 40px 0 90px; background: #f5f3ee; }
.about-team-heading { max-width: 900px; margin: 0 auto 44px; text-align: center; }
.about-team-heading h2, .about-contact h2 { font: 500 clamp(36px,3.8vw,54px)/1.12 Cormorant, Georgia, serif; margin: 0 0 18px; }
.about-team-heading p { color: #665652; font-size: 16px; line-height: 1.6; margin: 0 auto 16px; max-width: 800px; }
.about-team-heading .about-team-lead { font-weight: 600; color: #330e13; }
.about-team-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px; align-items: start; }
.about-person { min-width: 0; }
.about-person-photo { position: relative; aspect-ratio: 4/4.7; border-radius: 8px; overflow: hidden; background: #e5e1da; }
.about-person-photo > img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; display: block; }
#team-patrick .about-person-photo > img { object-position: 61% center; }
.about-nadine-photo > img { object-position: 50% center; }
.about-person-copy { padding: 22px 0 0; }
.about-person h3 { font: 600 29px/1.1 Cormorant, Georgia, serif; margin: 0 0 12px; }
.about-person-copy p { font-size: 14px; line-height: 1.65; color: #665652; margin: 0 0 14px; }
.about-person-copy .about-person-role { font-size: 13px; font-weight: 600; line-height: 1.5; color: #330e13; min-height: 40px; margin-bottom: 7px; }
.about-person-copy .about-person-degree { font-size: 12px; color: #89746c; min-height: 38px; }
.about-person details { border-top: 1px solid #ded6c6; margin-top: 20px; padding-top: 15px; }
.about-person summary { cursor: pointer; font-size: 13px; font-weight: 600; list-style: none; display: flex; justify-content: space-between; gap: 8px; padding: 0 0 14px; }
.about-person summary::-webkit-details-marker { display: none; }
.about-person details[open] summary span { transform: rotate(45deg); }
.about-person summary:focus-visible { outline: 2px solid #a3564c; outline-offset: 4px; }
.about-contact { background: #330e13; color: #f5f3ee; padding: 72px 0; text-align: center; }
.about-contact p { font-size: 17px; line-height: 1.6; margin: 0 auto 28px; max-width: 700px; color: #ded3d1; }
.team-inline-link { color: #f5f3ee; display: block; font-size: 14px; margin-top: 20px; text-underline-offset: 5px; }
@media (max-width: 1100px) {
 .about-founder-grid { gap: 36px; }
 .about-team-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 44px 28px; }
 .about-person-photo { aspect-ratio: 1; }
}
@media (max-width: 767px) {
 .about-founder { padding: 40px 0; }
 .about-founder-grid { grid-template-columns: minmax(0,1fr); gap: 30px; }
 .about-kicker { font-size: 21px; }
 .about-founder h1, .about-founder h2 { font-size: 44px; margin-bottom: 22px; }
 .about-founder-copy > p:not(.about-kicker) { font-size: 15px; }
 .about-founder-portrait { aspect-ratio: 4/4.5; }
 .about-founder-portrait figcaption { padding: 45px 22px 24px; }
 .about-gallery { gap: 10px; margin-top: 20px; }
 .about-team { padding: 34px 0 54px; }
 .about-team-heading { margin-bottom: 30px; }
 .about-team-heading h2 { font-size: 38px; }
 .about-team-heading p { font-size: 15px; }
 .about-team-grid { grid-template-columns: minmax(0,1fr); gap: 40px; }
 .about-person-photo { aspect-ratio: 4/4.5; }
 .about-person-copy .about-person-role, .about-person-copy .about-person-degree { min-height: 0; }
 .about-person-copy p { font-size: 15px; }
 .about-contact { padding: 48px 0; }
}

/* Subtle individual colour balance of original team photographs; no retouch. */
.about-person { background: #fff; border-radius: 8px; overflow: hidden; }
.about-person-photo { aspect-ratio: 4 / 5; border-radius: 0; background: #e6e6e6; }
.about-person-photo > img {
  filter: saturate(var(--portrait-saturation, .86))
          contrast(.97) brightness(var(--portrait-brightness, 1.025))
          sepia(var(--portrait-warmth, .025));
}
#team-patrick { --portrait-saturation: .88; --portrait-brightness: 1.04; --portrait-warmth: .055; }
#team-johannes { --portrait-saturation: .75; --portrait-brightness: .99; --portrait-warmth: 0; }
#team-lutz { --portrait-saturation: .78; }
#team-nadine { --portrait-saturation: .82; --portrait-brightness: 1.07; --portrait-warmth: .03; }
.about-person-copy { padding: 22px 22px 12px; }
#team-patrick .about-person-photo > img { object-position: 61% 42%; }
.about-johannes-photo > img { object-position: 50% 38%; transform: scale(1.2); transform-origin: 50% 30%; }
#team-lutz .about-person-photo > img { object-fit: cover; object-position: center; transform: scale(1.02); }
.about-nadine-photo > img { object-position: 50% 40%; }
.about-person h3 { font-size: 27px; }
.about-person-copy .about-person-role { min-height: 58px; }
.about-person-copy > p:not(.about-person-role):not(.about-person-degree) { min-height: 118px; }
@media (max-width: 1100px) { .about-person-photo { aspect-ratio: 4 / 5; } }
@media (max-width: 767px) {
 .about-person-photo { aspect-ratio: 4 / 5; }
 .about-person-copy .about-person-role, .about-person-copy > p:not(.about-person-role):not(.about-person-degree) { min-height: 0; }
}

/* Authentic DHGE group photograph, preserved in its full original framing. */
.about-gallery { align-items: start; }
.about-gallery figure { margin: 0; min-width: 0; }
.about-gallery figure img { aspect-ratio: 16 / 9; }
.about-gallery .about-seated-photo img { object-position: 50% 22%; }
.about-gallery .about-dhge-photo img { object-fit: contain; background: #e9e7e1; }
.about-gallery figcaption { margin-top: 10px; font-size: 11px; line-height: 1.55; color: #81706b; }
.about-gallery figcaption a { color: #665652; text-underline-offset: 3px; }
@media (max-width: 767px) { .about-gallery { grid-template-columns: minmax(0,1fr); gap: 22px; } .about-gallery figcaption { font-size: 12px; } }

/* Editorial comparison: quiet surfaces, readable type, paired rows. */
.sale-comparison { background: #f5f3ee; padding: 72px 0; scroll-margin-top: 0; }
.sale-comparison > .wrap { max-width: 1232px; }
.sale-comparison-intro { text-align: center; margin: 0 0 32px; }
.comparison-eyebrow { font: 500 18px/1.3 Cormorant,Georgia,serif; color: #89756b; margin: 0 0 10px; }
.sale-comparison-intro h2 { margin: 0; color: #351318; font: 500 clamp(34px,3vw,46px)/1.03 Cormorant,Georgia,serif; }
.comparison-board { border-radius: 10px; overflow: hidden; box-shadow: 0 12px 35px #36111607; }
.comparison-column-heads,.comparison-pair { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.comparison-column-heads > div { background: #351318; padding: 23px 32px 17px; color: #fff7ef; }
.comparison-column-heads > div:last-child { background: #fff; color: #351318; }
.comparison-heading-kicker { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; margin-bottom: 9px; color: #c9aaa1; }
.comparison-column-heads > div:last-child .comparison-heading-kicker { color: #9a8272; }
.comparison-column-heads strong { font: 500 31px/1.03 Cormorant,Georgia,serif; }
.comparison-pair { margin: 0; }
.comparison-cell { display: flex; gap: 17px; padding: 16px 32px; position: relative; min-width: 0; }
.comparison-pain { background: #351318; color: #fff7ef; }
.comparison-gain { background: #fff; color: #351318; }
.comparison-pair + .comparison-pair .comparison-cell > div { position: relative; }
.comparison-pair + .comparison-pair .comparison-cell > div:before { content: ''; position: absolute; top: -16px; left: 0; right: 0; height: 1px; background: #ffffff12; }
.comparison-pair + .comparison-pair .comparison-gain > div:before { background: #e9e3da; }
.comparison-symbol { flex: 0 0 20px; font: 500 17px/1.4 Cormorant,Georgia,serif; color: #c09887; }
.comparison-gain .comparison-symbol { font: 500 19px/1.3 Arial,sans-serif; color: #9d8964; }
.comparison-cell h3 { margin: 0 0 6px; font: 600 16px/1.35 Montserrat,Arial,sans-serif; color: inherit; }
.comparison-cell p { margin: 0; font-size: 13px; line-height: 1.6; color: #d2bab3; }
.comparison-gain p { color: #81716a; }
.comparison-mobile-label { display: none; }
.comparison-next-step { display: flex; justify-content: space-between; align-items: center; gap: 25px; margin-top: 24px; }
.comparison-next-step > p { font-size: 13px; line-height: 1.7; color: #351318; margin: 0; }
.comparison-next-step > p > span { color: #8e7e73; font-size: 10px; }
.comparison-next-step .button { flex-shrink: 0; }
@media (min-width: 1500px) { .comparison-cell h3 { font-size: 17px; } .comparison-cell p { font-size: 14px; } .comparison-cell { padding-top: 19px; padding-bottom: 19px; } .comparison-pair + .comparison-pair .comparison-cell > div:before { top: -19px; } }
@media (max-width: 767px) {
 .sale-comparison { padding: 40px 0; }
 .sale-comparison-intro { text-align: left; margin-bottom: 25px; }
 .sale-comparison-intro h2 { font-size: 37px; line-height: 1.06; }
 .comparison-eyebrow { font-size: 17px; }
 .comparison-column-heads { display: none; }
 .comparison-board { border-radius: 0; box-shadow: none; overflow: visible; }
 .comparison-pair { grid-template-columns: minmax(0,1fr); border-radius: 9px; overflow: hidden; margin-bottom: 20px; }
 .comparison-pair:last-child { margin-bottom: 0; }
 .comparison-cell { padding: 48px 23px 25px; gap: 12px; }
 .comparison-cell h3 { font-size: 15px; line-height: 1.5; }
 .comparison-cell p { font-size: 13px; }
 .comparison-mobile-label { display: block; position: absolute; top: 21px; left: 23px; text-transform: uppercase; font-size: 9px; letter-spacing: .1em; color: #c9aaa1; }
 .comparison-gain .comparison-mobile-label { color: #9a8272; }
 .comparison-cell > div:before { display: none; }
 .comparison-next-step { flex-direction: column; align-items: stretch; margin-top: 25px; gap: 20px; }
 .comparison-next-step > p { font-size: 13px; }
 .comparison-next-step .button { justify-content: space-between; width: 100%; }
}

/* V80: comparison with original portrait and context from V77. */
.comparison-layout { display: grid; grid-template-columns: minmax(0,2.25fr) minmax(0,1fr); gap: 30px; align-items: start; }
.comparison-personal { min-width: 0; }
.comparison-personal figure { margin: 0 0 17px; }
.comparison-personal img { display: block; width: 100%; height: auto; aspect-ratio: 1.35; object-fit: cover; object-position: 64% 35%; border-radius: 9px; }
.comparison-personal figcaption { margin-top: 8px; color: #8e7e73; font-size: 10px; line-height: 1.4; }
.comparison-personal h3 { margin: 0 0 10px; color: #351318; font: 600 29px/1.06 Cormorant,Georgia,serif; }
.comparison-personal p { color: #81716a; font-size: 13px; line-height: 1.65; margin: 0 0 12px; }
@media (min-width:768px) {
 .sale-comparison { padding: 72px 0; }
 .sale-comparison-intro { margin-bottom: 32px; }
 .sale-comparison-intro h2 { font-size: clamp(40px,3.6vw,54px); line-height: 1.1; }
 .comparison-column-heads > div { padding: 18px 21px 14px; }
 .comparison-column-heads strong { font-size: 26px; }
 .comparison-heading-kicker { font-size: 9px; letter-spacing: .09em; }
 .comparison-cell { padding: 13px 21px; gap: 10px; }
 .comparison-cell h3 { font-size: 14px; line-height: 1.35; }
 .comparison-cell p { font-size: 12px; line-height: 1.5; }
 .comparison-pair + .comparison-pair .comparison-cell > div:before { top: -13px; }
 .comparison-symbol { flex-basis: 17px; }
 .comparison-next-step { margin-top: 24px; }
}
@media (max-width:1000px) and (min-width:768px) {
 .comparison-layout { grid-template-columns: minmax(0,2fr) minmax(0,1fr); gap: 20px; }
 .comparison-cell { padding: 13px 16px; }
 .comparison-column-heads > div { padding: 18px 16px 14px; }
 .comparison-column-heads strong { font-size: 23px; }
}
@media (max-width:767px) {
 .comparison-layout { grid-template-columns: minmax(0,1fr); gap: 30px; }
 .comparison-personal img { aspect-ratio: 1.35; }
 .comparison-personal h3 { font-size: 30px; }
 .comparison-personal p { font-size: 14px; }
}

/* Preserve the site rhythm while keeping short laptop viewports compact. */
@media (min-width: 768px) and (max-height: 800px) {
 .sale-comparison { padding: 24px 0; }
 .sale-comparison-intro { margin-bottom: 22px; }
 .sale-comparison-intro h2 { font-size: 42px; }
 .comparison-next-step { margin-top: 18px; }
 .comparison-personal figure { margin-bottom: 13px; }
 .comparison-personal p { margin-bottom: 8px; }
}

/* V90: stronger contrast and selective emphasis from the reference comparison. */
.comparison-pain, .comparison-column-heads > div:first-child { background: #2d1015; }
.comparison-cell h3 { font-weight: 500; }
.comparison-cell h3 strong { font-weight: 700; }
.comparison-pain h3 { color: #fff; }
.comparison-pain h3 strong { color: #ffb19e; }
.comparison-pain p { color: #f4e9e6; }
.comparison-pain p b { color: #fff; font-weight: 600; }
.comparison-gain h3 { color: #281014; }
.comparison-gain h3 strong { color: #806020; }
.comparison-gain p { color: #453831; }
.comparison-gain p b { color: #281014; font-weight: 600; }
.comparison-pain .comparison-symbol { color: #f16c5e; font: 700 30px/1 Arial,sans-serif; }
.comparison-gain .comparison-symbol { color: #b58b33; font: 700 26px/1.1 Arial,sans-serif; }
.comparison-heading-kicker { color: #ffb19e; font-weight: 700; letter-spacing: .08em; }
.comparison-column-heads > div:last-child .comparison-heading-kicker { color: #806020; }
.comparison-pain .comparison-mobile-label { color: #ffb19e; font-weight: 700; }
.comparison-gain .comparison-mobile-label { color: #806020; font-weight: 700; }
.comparison-pair + .comparison-pair .comparison-pain > div:before { background: #ffffff25; }
@media (max-width:767px) { .comparison-pain .comparison-symbol { font-size: 27px; } .comparison-gain .comparison-symbol { font-size: 24px; } }

/* Responsive QA: component repairs. Content and assets are unchanged. */
.situation-trust .trust-logos { flex-wrap: wrap; gap: 18px; max-width: 100%; }
.service-trust .trust-logos { flex-wrap: wrap; }
.situation-brand span { max-width: 100%; white-space: normal; overflow-wrap: break-word; }
.situation-brand img { max-width: 100%; }
.site-channel-layout .channel-cutout { max-width: 100%; left: 0; object-fit: contain; object-position: center bottom; }
.services .service-work-scene img { height: auto; aspect-ratio: auto; object-fit: contain; }
.comparison-cell p { font-size: 14px; line-height: 1.6; }
.comparison-cell h3 { font-size: 15px; line-height: 1.4; }
.comparison-cell, .comparison-personal { min-width: 0; }
.comparison-cell h3, .comparison-personal h3 { overflow-wrap: break-word; hyphens: auto; }
.collab-whatsapp .wa-brand { z-index: 2; }
@media (min-width: 768px) and (max-width: 1100px) {
  .hero { display: flex; flex-direction: column; min-height: 0; }
  .hero:after { display: none; }
  .hero .hero-inner { order: 1; width: calc(100% - 64px); min-height: 0; }
  .hero .hero-copy { width: 100%; max-width: none; padding: 40px 0; }
  .hero .hero-photo { order: 2; position: relative; inset: auto; width: 100%; height: clamp(300px, 40vw, 430px); object-fit: cover; object-position: 60% 36%; }
  .hero .hero-title-line { white-space: normal; }
  .hero h1 { font-size: clamp(44px, 6vw, 64px); }
  .situation-heading { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .situation-composition { grid-template-columns: minmax(0, 1fr); }
  .situation-feature { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; }
  .situation-feature > p { padding-top: 0; border-top: 0; }
  .situation-brand { min-height: 220px; }
  .services .site-service-layout-layout { grid-template-columns: minmax(0,1fr); gap: 32px; width: calc(100% - 64px); }
  .services .service-introduction { position: static; }
  .service-introduction h2, .service-introduction > p { max-width: none; }
  .services .service-work-scene { max-width: 720px; }
  .comparison-layout { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .comparison-personal { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); column-gap: 25px; align-items: start; }
  .comparison-personal figure { grid-row: span 3; margin: 0; }
  .comparison-personal h3 { margin-top: 0; }
  .about-founder-grid { grid-template-columns: minmax(0,1fr); gap: 30px; }
  .about-founder-portrait { width: 100%; max-width: 720px; margin-inline: auto; }
  .site-contact-layout .contact-round { width: min(100%, 240px); }
  .benefits .benefit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 24px; }
  .benefits .benefit-grid p:nth-child(3) { border-left: 0; padding-left: 0; }
  .benefits .benefit-grid p { min-width: 0; overflow-wrap: break-word; hyphens: auto; }
}
@media (max-width: 1100px) {
  .collab-whatsapp .wa-brand { left: 18px; top: 22px; width: 62px; height: 62px; }
}
@media (max-width: 767px) {
  .sale-comparison > .wrap, .about-founder > .wrap, .about-team > .wrap, .about-contact > .wrap, .legal-page .legal-layout, .legal-page .legal-hero > .wrap { width: calc(100% - 32px); }
  .legal-content { padding: 25px 20px; }
  .faq > .wrap { width: calc(100% - 32px); }
  .faq h2 { font-size: clamp(32px, 8.4vw, 40px); }
  .about-founder-portrait { aspect-ratio: auto; }
  .about-founder-portrait > img { height: auto; aspect-ratio: 5/4; object-fit: cover; object-position: 61% 42%; }
  .about-founder-portrait figcaption { position: static; padding: 18px 20px; background: #351318; }
  .about-founder-portrait figcaption strong { font-size: 27px; }
  .comparison-column-heads { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); margin-bottom: 18px; border-radius: 9px; overflow: hidden; }
  .comparison-column-heads > div { padding: 18px 14px; }
  .comparison-column-heads strong { font-size: 23px; overflow-wrap: break-word; hyphens: auto; }
  .comparison-heading-kicker { font-size: 9px; letter-spacing: .04em; }
  .comparison-cell p { font-size: 14px; }
  .comparison-cell h3 { font-size: 16px; }
  .site-closing-brand-layout { max-width: 100%; left: 0; }
}
@media (max-width: 767px) and (max-height: 500px) {
  .about-team-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 18px; }
  .about-person-photo { width: 100%; height: 260px; max-height: 260px; aspect-ratio: auto; }
  .about-person-photo > img { object-fit: cover; }
  #team-lutz .about-person-photo > img { object-position: center top; }
  .about-founder-portrait > img { max-height: 300px; object-fit: contain; }
}

/* V96: keep the personal name together while the heading wraps naturally. */
.about-founder h1, .about-founder h2 { text-wrap: balance; }
.about-founder .founder-name { white-space: nowrap; }

/* V101: shared CTA design, based on Telepski; MANDA colours and typography. */
.button {
  --cta-background: linear-gradient(135deg, #330e13, #58343c);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  min-height: 58px;
  padding: 20px 40px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: var(--cta-background);
  color: #f6f3ed;
  font: 700 15px/1.35 Montserrat, Arial, sans-serif;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  transition: filter .18s ease, box-shadow .18s ease;
}
.button.light { border-color: #f6f3ed80; }
.button:hover { background: var(--cta-background); color: #fff; filter: brightness(1.13); }
.button:focus-visible { outline: 3px solid #d4b38d; outline-offset: 4px; }
.button:active { filter: brightness(.94); }
.site-header .header-inner > .button { min-height: 50px; padding: 16px 24px; font-size: 13px; white-space: nowrap; max-width: none; }
@media (max-width: 1000px) {
  .site-header .header-inner > .button { font-size: 11px; padding: 12px 16px; min-height: 46px; }
}
@media (max-width: 767px) {
  main .button { width: 100%; padding: 18px 20px; min-height: 56px; font-size: 14px; }
  .site-header .header-inner > .button { max-width: 160px; white-space: normal; font-size: 11px; padding: 10px 12px; min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) { .button { transition: none; } }

/* V103: content-led spacing around situations; no viewport-height centering.
   The following services section supplies the shared white-space boundary. */
.situations { min-height: 0; display: block; padding-block: 72px 0; }
@media (max-width: 767px) { .situations { padding-block: 40px 0; } }

/* V107: keep the portrait anchored to its column, independent of tall windows. */
@media (min-width: 1101px) {
  .hero { --hero-height: calc(100svh - var(--entry-header) - var(--entry-benefits)); }
  .hero .hero-photo { width: 60%; height: 100%; object-fit: cover; object-position: 60% center; }
}

/* V109: contrast variant for CTAs on dark brand backgrounds. */
.button.light {
  --cta-background: var(--offwhite);
  background: var(--cta-background);
  color: var(--bordeaux);
  border-color: var(--offwhite);
  box-shadow: 0 4px 14px #16020424;
}
.button.light:hover { background: var(--sand); color: var(--bordeaux); border-color: var(--sand); filter: none; }
.button.light:active { filter: brightness(.95); }

/* V110: comparison uses the same readable body scale as neighbouring cards. */
.comparison-cell h3 { font-size: 16px; line-height: 1.4; }
.comparison-cell p, .comparison-personal p { font-size: 16px; line-height: 1.5; }
.comparison-personal p { color: #665652; }
.comparison-heading-kicker, .comparison-mobile-label { font-size: 11px; }

/* Centre the text blocks in the four beige situation cards. */
.situation-problems article { justify-content: center; }
.situation-problems .situation-symbol { display: none; }

/* Wide desktop entry: let content grow with the window and bound photo zoom. */
@media (min-width: 1441px) {
  .hero .hero-inner, .benefits .benefit-grid {
    width: calc(100% - 96px);
    max-width: clamp(1232px, calc(65vw + 296px), 1760px);
  }
  .site-header .wrap {
    max-width: clamp(1250px, calc(65vw + 314px), 1778px);
  }
  .hero .hero-copy { width: clamp(650px, 48%, 845px); max-width: 54%; }
  .hero h1 { font-size: clamp(56px, calc(30px + 1.8vw), 76px); }
  .hero .hero-subline {
    max-width: 100%;
    font-size: clamp(20px, calc(12px + .56vw), 26px);
  }
  .hero .hero-reason, .hero .hero-explanation {
    max-width: 100%;
    font-size: clamp(16px, calc(10.86px + .357vw), 20px);
  }
  .hero .hero-photo {
    width: min(60vw, calc(var(--hero-height) * 1.5));
  }
}

/* Verified Google profile snapshot: 21.10.2026, 5.0 out of 5 from 5 reviews. */
.trust-google .trust-google-rating, .trust-google .trust-google-count { display: block; }
.trust-google .trust-google-stars { color: #a36d00; font-size: 14px; letter-spacing: .5px; white-space: nowrap; }
.trust-google .trust-google-count { font-size: 11px; }

/* Screenshot feedback: contrast, portrait framing, aligned team cards and quotes. */
.collab-onboarding .onboarding-scene { background: #e9e1d6; }
.collab-onboarding .onboarding-window { border-color: #bba996; box-shadow: 0 8px 24px #330e1320; }
.about-gallery .about-seated-photo img { object-position: 50% 29%; }
.about-team-grid { align-items: stretch; }
.about-person { display: flex; flex-direction: column; }
.about-person-copy { flex: 1; }
blockquote { font-style: italic; }

/* Footer consent control: matches existing legal links. */
.site-cookie-settings { padding: 0; border: 0; background: none; color: #c5b3ad; font: inherit; font-size: 12px; cursor: pointer; text-align: left; }
.site-cookie-settings:hover { text-decoration: underline; }
.site-cookie-settings:focus-visible { outline: 2px solid #d4b38d; outline-offset: 4px; }
.site-footer-bottom-layout nav { flex-wrap: wrap; }
.site-cookie-status { font-size: 12px; color: #f5f3ee; margin-top: 16px; }

/* Report form: scoped to the existing dialog. */
dialog.report-dialog { box-sizing:border-box; width:min(560px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); padding:38px 32px 28px; border-radius:10px; }
.report-dialog > form:last-child { display:none; }
.report-dialog .dialog-close { width:44px; height:44px; top:6px; right:6px; font-size:26px; cursor:pointer; }
.report-form-header { display:grid; grid-template-columns:minmax(0,1fr) 64px; align-items:start; gap:18px; padding-right:8px; }
.report-form-header .eyebrow { margin:0 0 10px; font-size:10px; line-height:1.4; letter-spacing:.08em; }
.report-dialog .report-form-header h2 { font-size:32px; line-height:1.1; margin:0; hyphens:none; overflow-wrap:normal; }
.report-form-cover { display:block; width:64px; height:auto; margin-top:3px; border-radius:2px; box-shadow:0 3px 12px #330e1320; }
.report-dialog .report-intro { font-size:15px; line-height:1.5; margin:18px 0 20px; }
.report-dialog .report-lead-form { margin:0; }
.report-lead-form fieldset { padding:0; margin:0; border:0; min-width:0; }
.report-lead-form label { display:block; margin:14px 0 6px; font-weight:600; font-size:13px; line-height:1.4; }
.report-lead-form fieldset > label:first-of-type { margin-top:0; }
.report-label-row { display:flex; justify-content:space-between; align-items:baseline; gap:10px; }
.report-label-row label { margin-top:0; }
.report-required { font-size:11px; color:#6d5955; }
.report-lead-form input { width:100%; box-sizing:border-box; min-height:46px; padding:10px 12px; border:1px solid #aa9690; border-radius:4px; color:#330e13; background:#fff; font:inherit; font-size:16px; }
.report-dialog :focus-visible { outline:2px solid #b43830; outline-offset:3px; }
.report-dialog h2:focus { outline:none; }
.report-lead-form .button { display:flex; justify-content:center; align-items:center; width:100%; box-sizing:border-box; min-height:48px; margin-top:22px; padding:12px 16px; font-size:14px; text-align:center; }
.report-lead-form [hidden] { display:none !important; }
.report-lead-form :disabled { cursor:not-allowed; }
.report-lead-form input:disabled { background:#f0ece5; border-color:#c8bdb6; }
.report-lead-form button:disabled { background:#74615f; border-color:#74615f; color:#fff; opacity:1; box-shadow:none; }
.report-optional { font-weight:400; color:#6d5955; }
.report-trap,.report-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.report-dialog .report-privacy { margin:14px 0 0; font-size:13px; line-height:1.5; color:#624e49; }
.report-privacy a { color:#330e13; text-decoration:underline; text-underline-offset:2px; }
.report-dialog .report-setup { margin:0 0 18px; padding:0 0 0 10px; border-left:2px solid #b8a59b; color:#624e49; font-size:13px; line-height:1.5; }
.report-setup:empty { display:none; }
.report-dialog .report-message { margin:14px 0 0; padding:10px 12px; border-radius:4px; background:#e9e1d6; color:#533a36; font-size:13px; line-height:1.5; }
.report-dialog .report-message[role="alert"] { border-left:3px solid #a32f28; }
.report-dialog .report-next-step { margin:9px 0 0; color:#624e49; font-size:13px; line-height:1.5; text-align:center; }
.report-dialog [data-state="success"] .button { margin-top:4px; }
.report-lead-form[aria-busy="true"] { cursor:progress; }
.report-message:empty { display:none; }
@media(max-width:600px) { dialog.report-dialog { padding:42px 22px 24px; max-height:calc(100dvh - 24px); } .report-dialog .report-form-header h2 { font-size:28px; hyphens:auto; overflow-wrap:break-word; } .report-form-header { display:block; padding-right:10px; } .report-form-cover { display:none; } }

/* Comparison spacing: compact cells without changing typography or content. */
.comparison-editorial .comparison-column-heads > div { padding: 12px 18px 10px; }
.comparison-editorial .comparison-heading-kicker { margin-bottom: 5px; }
.comparison-editorial .comparison-cell { padding: 8px 18px; gap: 9px; }
.comparison-editorial .comparison-cell h3 { margin-bottom: 4px; }
.comparison-editorial .comparison-pair + .comparison-pair .comparison-cell > div:before { top: -8px; }
@media (max-width: 767px) {
  .comparison-editorial .comparison-column-heads { margin-bottom: 12px; }
  .comparison-editorial .comparison-column-heads > div { padding: 12px; }
  .comparison-editorial .comparison-pair { margin-bottom: 12px; }
  .comparison-editorial .comparison-cell { padding: 35px 18px 14px; }
  .comparison-editorial .comparison-mobile-label { top: 12px; left: 18px; }
}

/* Comparison: explanation starts below each heading, without an extra paragraph gap. */
.comparison-editorial .comparison-cell h3,
.comparison-editorial .comparison-cell p { display: block; }
.comparison-editorial .comparison-cell h3 { margin: 0; }

/* Comparison: light risks, corporate Bordeaux for our support. */
.comparison-editorial .comparison-pain,
.comparison-editorial .comparison-column-heads > div:first-child { background: #fff; color: #351318; }
.comparison-editorial .comparison-gain,
.comparison-editorial .comparison-column-heads > div:last-child { background: var(--bordeaux, #351318); color: #fff7ef; }
.comparison-editorial .comparison-pain h3 { color: #351318; }
.comparison-editorial .comparison-pain p { color: #453831; }
.comparison-editorial .comparison-pain h3 strong { color: #a3322b; }
.comparison-editorial .comparison-gain h3,
.comparison-editorial .comparison-gain p { color: #fff7ef; }
.comparison-editorial .comparison-gain h3 strong,
.comparison-editorial .comparison-gain .comparison-symbol { color: #d4b38d; }
.comparison-editorial .comparison-column-heads > div:first-child .comparison-heading-kicker,
.comparison-editorial .comparison-pain .comparison-mobile-label { color: #a3322b; }
.comparison-editorial .comparison-column-heads > div:last-child .comparison-heading-kicker,
.comparison-editorial .comparison-gain .comparison-mobile-label { color: #d4b38d; }
.comparison-editorial .comparison-pair + .comparison-pair .comparison-pain > div:before { background: #e9e3da; }
.comparison-editorial .comparison-pair + .comparison-pair .comparison-gain > div:before { background: #ffffff25; }

/* Comparison CTA: align with table bottom on desktop; normal flow when stacked. */
.comparison-editorial .comparison-next-step { min-width: 0; }
.comparison-editorial .comparison-next-step .button { width: 100%; min-width: 0; white-space: normal; text-align: center; justify-content: center; }
@media (min-width: 1101px) {
  .comparison-editorial .comparison-layout { grid-template-rows: auto 1fr; row-gap: 24px; }
  .comparison-editorial .comparison-board { grid-column: 1; grid-row: 1 / 3; }
  .comparison-editorial .comparison-personal { grid-column: 2; grid-row: 1; }
  .comparison-editorial .comparison-next-step { grid-column: 2; grid-row: 2; align-self: end; margin: 0; }
}
@media (max-width: 1100px) {
  .comparison-editorial .comparison-next-step { margin: 0; justify-self: end; width: min(100%, 420px); }
}
@media (max-width: 767px) {
  .comparison-editorial .comparison-next-step { width: 100%; }
}

/* Situation cards: identical paragraph typography, including the final paragraph. */
.situations .situation-problems p { font-family: inherit; font-size: 17px; }
@media (min-width: 1601px) {
  .situations .situation-problems p { font-size: 18px; }
}
@media (max-height: 800px) {
  .situations .situation-problems p { font-size: 16px; }
}

/* Homepage section headings: bold across the entire heading. */
#start .hero ~ section h2,
#start .hero ~ section h2 strong { font-weight: 700; }

/* Center each benefit block vertically; align its checkmark with the first text line. */
.benefits .benefit-grid p {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-content: center;
  align-items: start;
}
.benefits .benefit-check { margin-top: max(0px, calc((1.45em - 18px) / 2)); }

/* Closed team profiles keep their natural height; JS matches expanded profiles only. */
.about-team-grid { align-items: start; }

/* Report temporarily hidden until the download funnel is ready. Keep content for reactivation. */
#report, a[href$="#report"], [data-preview="report"], dialog.report-dialog { display: none !important; }

/* Center Patrick within the support tile: original portrait sits left of image center. */
.collab-patrick .collab-photo { overflow: hidden; }
.collab-patrick .collab-photo img { width: 120%; max-width: none; right: auto; object-position: 42% 25%; }

/* Consistent bold case-study titles and Cormorant italic for Richard’s quotation. */
.case-copy h3, .case-copy h3 strong { font-weight: 700; }
.case-published-quote, .case-published-quote p { font-family: Cormorant, Georgia, serif; font-style: italic; }

/* Both collaboration testimonials use the same serif italic typography. */
.trust-stage .trust-voices blockquote, .trust-stage .trust-voices blockquote strong { font-family: Cormorant, Georgia, serif; font-style: italic; }

/* Light consultation CTAs: visible edge, depth and directional affordance. */
a.button.light {
  border: 1px solid #d4b38d;
  border-bottom: 3px solid #b99a76;
  border-radius: 8px;
  box-shadow: 0 5px 0 #00000026, 0 9px 20px #00000024;
  gap: 16px;
  transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
a.button.light:hover { background: #fff7ef; transform: translateY(-2px); box-shadow: 0 7px 0 #00000026, 0 12px 24px #00000030; }
a.button.light:focus-visible { outline: 3px solid #e15245; outline-offset: 5px; }
a.button.light:active { transform: translateY(2px); box-shadow: 0 1px 0 #00000026, 0 3px 8px #00000020; }
@media (prefers-reduced-motion: reduce) { a.button.light { transition: none; } }

/* Situation cards: first-line statement separated from its explanation. */
.situations .situation-problems p > strong { display: block; margin-bottom: 8px; }
.situations .situation-problems article { align-content: start; }

/* Richard’s quote: stronger contrast and larger serif text on all screen sizes. */
.site-case-study-layout .case-published-quote p { color: #330e13; font-size: clamp(20px, 1.5vw, 24px); font-weight: 600; line-height: 1.5; }

/* Consistent, subtle button motion; no layout changes and no animation on touch-only devices. */
.button, button:not(.video-start), .video-start > span:first-child {
 transition: scale .2s ease, filter .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
 .button:not([disabled]):hover, button:not(.video-start):not(:disabled):hover { scale: 1.025; filter: brightness(1.06); }
 .video-start:hover > span:first-child { scale: 1.06; }
 .button:not([disabled]):active, button:not(.video-start):not(:disabled):active { scale: .985; }
 .video-start:active > span:first-child { scale: .98; }
}
@media (prefers-reduced-motion: reduce) {
 .button, button, .video-start > span:first-child { transition: none !important; scale: none !important; }
 a.button.light:hover, a.button.light:active { transform: none; }
}

/* V141: coherent Telepski-derived case-study composition. */
.site-case-study-layout .case-panel {
 display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr);
 align-items: start; gap: 28px 44px; padding: clamp(24px,3.4vw,52px);
}
.case-panel-heading { grid-column: 1 / -1; max-width: 1050px; }
.site-case-study-layout .case-panel-heading .case-kicker { margin: 0 0 12px; font-size: 11px; line-height: 1.5; letter-spacing: 1.2px; }
.site-case-study-layout .case-panel-heading h3 { margin: 0; font: 700 clamp(27px,2.4vw,36px)/1.14 Cormorant,Georgia,serif; color: #330e13; text-wrap: balance; }
.site-case-study-layout .case-panel-heading h3 strong { font-weight: 700; }
.site-case-study-layout .case-copy h4 { margin: 0 0 10px; font-size: 16px; }
.site-case-study-layout .case-copy p { margin: 0 0 22px; font-size: 16px; line-height: 1.6; }
.site-case-study-layout .case-copy .case-results { margin: 0; }
.site-case-study-layout .case-results li { font-size: 16px; line-height: 1.5; margin-bottom: 9px; }
.site-case-study-layout .case-portrait { margin: 0; }
.site-case-study-layout .case-portrait img { width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; object-position: center 35%; }
.site-case-study-layout .case-portrait figcaption { margin-top: 14px; gap: 3px; }
.case-panel-closing { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24px 44px; padding-top: 22px; border-top: 1px solid #e6dfd6; }
.site-case-study-layout .case-panel-closing .case-takeaway { border: 0; margin: 0; padding: 0; }
.site-case-study-layout .case-panel-closing .case-takeaway > span { display: none; }
.site-case-study-layout .case-panel-closing .case-takeaway p { margin: 0; font-size: 15px; line-height: 1.6; }
.site-case-study-layout .case-panel-closing .case-published-quote { margin: 0; padding: 0; border: 0; }
.site-case-study-layout .case-panel-closing .case-published-quote p { margin: 0; color: #330e13; font: italic 500 clamp(21px,1.65vw,24px)/1.45 Cormorant,Georgia,serif; }
.case-panel-closing > :only-child { grid-column: 1 / -1; max-width: 900px; }
@media(max-width:767px) {
 .site-case-study-layout .case-panel { grid-template-columns: minmax(0,1fr); gap: 22px; padding: 24px 20px; }
 .case-panel-closing { grid-template-columns: minmax(0,1fr); gap: 22px; padding-top: 20px; }
 .site-case-study-layout .case-panel-heading h3 { font-size: 29px; }
}

/* Case-study type scale: 32/28 title, 16 content, 14 metadata, 22 quotation. */
.site-case-study-layout .case-panel-heading h3 { font-size: 32px; }
.site-case-study-layout .case-panel-heading .case-kicker,
.site-case-study-layout .case-portrait figcaption span { font-family: Montserrat,Arial,sans-serif; font-size: 14px; }
.site-case-study-layout .case-copy p,
.site-case-study-layout .case-copy h4,
.site-case-study-layout .case-results li,
.site-case-study-layout .case-portrait figcaption strong,
.site-case-study-layout .case-panel-closing .case-takeaway p { font-family: Montserrat,Arial,sans-serif; font-size: 16px; line-height: 1.55; }
.site-case-study-layout .case-panel-closing .case-published-quote p { font-size: 22px; font-weight: 500; }
@media(max-width:767px) { .site-case-study-layout .case-panel-heading h3 { font-size: 28px; } }

/* V143: mobile entry follows the portrait/message/action sequence. */
@media (max-width: 767px) {
  .site-header .header-inner { height: 64px; gap: 16px; }
  .site-header .logo img { width: 190px; max-width: 100%; }
  .site-header .header-inner > .button { display: none; }
  .site-header .site-menu-toggle-layout {
    margin-left: auto; width: 44px; height: 44px;
    border: 0; padding: 12px; border-radius: 4px;
  }
  #start .hero { display: flex; flex-direction: column; min-height: 0; }
  #start .hero::after { display: none; }
  #start .hero .hero-photo {
    display: block; order: 0; position: relative; inset: auto;
    width: 100%; height: clamp(210px, 60vw, 285px);
    object-fit: cover; object-position: 78% 30%;
  }
  #start .hero .hero-inner {
    order: 1; width: calc(100% - 40px); min-height: 0;
  }
  #start .hero .hero-copy {
    display: flex; flex-direction: column; align-items: stretch;
    width: 100%; max-width: none; padding: 22px 0 28px;
  }
  #start .hero .eyebrow {
    order: 0; font-size: 10px; line-height: 1.4;
    letter-spacing: .04em; margin: 0 0 10px;
  }
  #start .hero h1 {
    order: 1; font-size: clamp(32px, 8.8vw, 40px);
    line-height: 1.02; letter-spacing: -.5px; margin: 0 0 14px;
  }
  #start .hero .hero-title-line { white-space: normal; }
  #start .hero .hero-title-connection { align-items: baseline; gap: 7px; }
  #start .hero .hero-amp { width: 30px; flex-shrink: 0; }
  #start .hero .hero-subline {
    order: 2; font-size: 16px; line-height: 1.45; margin: 0 0 18px;
  }
  #start .hero .hero-copy > .button {
    order: 3; width: 100%; min-height: 52px; padding: 16px 12px;
    font-size: 14px; line-height: 1.35; text-align: center;
    align-self: stretch; margin: 0;
  }
  #start .hero .hero-trust { order: 4; margin: 20px 0 24px; }
  #start .hero .hero-reason {
    order: 5; font-size: 15px; line-height: 1.55; margin: 0 0 14px;
    border-top: 1px solid #ded5cf; padding-top: 22px;
  }
  #start .hero .hero-explanation {
    order: 6; font-size: 15px; line-height: 1.6; margin: 0 0 16px;
  }
}

.site-header nav .mobile-menu-appointment { display: none !important; }
@media (max-width: 767px) {
  .site-header nav .mobile-menu-appointment { display: block !important; font-weight: 700; }
}

/* V145: tablet entry, portrait first followed by message and action. */
@media (min-width: 768px) and (max-width: 1100px) {
 #start .hero { display: flex; flex-direction: column; min-height: 0; }
 #start .hero::after { display: none; }
 #start .hero .hero-photo { display: block; order: 0; position: relative; inset: auto; width: 100%; height: clamp(380px, 58vw, 600px); object-fit: cover; object-position: 78% 30%; }
 #start .hero .hero-inner { order: 1; width: calc(100% - 64px); min-height: 0; }
 #start .hero .hero-copy { display: flex; flex-direction: column; align-items: flex-start; width: 100%; max-width: none; padding: 30px 0 40px; }
 #start .hero .eyebrow { order: 0; }
 #start .hero h1 { order: 1; font-size: clamp(44px, 5.8vw, 64px); line-height: 1.06; }
 #start .hero .hero-subline { order: 2; font-size: clamp(19px, 2.3vw, 24px); line-height: 1.45; margin-bottom: 24px; }
 #start .hero .hero-copy > .button { order: 3; margin: 0; }
 #start .hero .hero-trust { order: 4; margin: 26px 0; }
 #start .hero .hero-reason { order: 5; font-size: 17px; line-height: 1.55; max-width: 850px; }
 #start .hero .hero-explanation { order: 6; font-size: 17px; line-height: 1.6; max-width: 850px; }
 .site-header .site-menu-toggle-layout { border: 0; border-radius: 4px; }
}
