:root {
  --c-heading: #142C3E;
  --c-body: #24313D;
  --c-muted: #55636E;
  --c-accent: #C58F08;
  --c-accent-text: #8A6205;
  --c-accent-on-dark: #EFC65F;
  --c-accent-hover: #DBA31A;
  --c-white: #FFFFFF;
  --c-beige: #F6F2EA;
  --c-paper: #FBF9F5;
  --c-navy-cta: #142C3E;
  --c-footer: #102636;
  --c-footer-legal: #0B1B27;
  --c-cta: #005CB4;
  --c-cta-hover: #142C3E;
  --c-hover-text: #005CB4;
  --c-border: #E4DED3;
  --c-rule: #E4DED3;
  --c-rule-strong: #C7BEAD;
  --c-menu-hover: #005CB4;
  --c-icon-line: #6B5A34;
  --c-hero-dark: #142C3E;
  --c-focus: #142C3E;
  --c-on-dark: #FFFFFF;
  --c-on-dark-muted: rgba(255, 255, 255, 0.86);
  --c-final-cta-hover-border: transparent;

  --fs-h1: clamp(42px, 5vw, 78px);
  --fs-h2: clamp(30px, 3.2vw, 48px);
  --fs-h3: clamp(22px, 1.9vw, 28px);
  --fs-h4: clamp(20px, 1.6vw, 24px);
  --fs-h5: 19px;
  --fs-h6: 15px;
  --fs-lead: clamp(19px, 1.6vw, 23px);
  --fs-body: clamp(17px, 0.16vw + 16.4px, 18px);
  --fs-small: 15.5px;
  --fs-nav: 14px;
  --fs-button: 13px;
  --fs-card-title: clamp(19px, 1.5vw, 22px);
  --fs-card-desc: 16px;
  --fs-eyebrow: 12px;

  --fw-heading: 600;
  --fw-h6: 700;
  --fw-body: 400;
  --fw-nav: 600;
  --fw-button: 700;
  --fw-card-title: 600;
  --fw-eyebrow: 700;

  --lh-h1: 1.03;
  --lh-h2: 1.09;
  --lh-h3: 1.20;
  --lh-h4: 1.24;
  --lh-h5: 1.34;
  --lh-h6: 1.40;
  --lh-lead: 1.55;
  --lh-body: 1.72;
  --lh-small: 1.62;
  --lh-card-title: 1.26;
  --lh-card-desc: 1.62;
  --lh-eyebrow: 1.30;

  --ls-heading: -0.016em;
  --ls-h1-large: -0.028em;
  --ls-body: 0;
  --ls-ui: 0.02em;
  --ls-eyebrow: 0.16em;

  --container-max: 1340px;
  --container-pad: clamp(20px, 3.2vw, 56px);
  --hero-min-h: clamp(600px, 50vw, 780px);
  --hero-text-max: 560px;
  --hero-content-col: 48%;
  --hero-image-col: 52%;

  --header-h: 88px;
  --logo-w: 152px;
  --nav-gap: 18px;

  --radius-card: 0px;
  --radius-accordion: 0px;
  --radius-dropdown: 0px;
  --radius-btn: 2px;

  --section-py: clamp(64px, 7vw, 128px);
  --section-py-compact: clamp(48px, 4.6vw, 84px);
  --final-cta-py: clamp(76px, 8vw, 132px);
  --block-gap: 40px;
  --grid-gap: 32px;

  --focus-width: 3px;
  --focus-offset: 3px;

  --rule-mark-w: 64px;
}

.ot-h1-compact { --fs-h1: clamp(38px, 4vw, 58px); }
.ot-page--home { --fs-h1: clamp(40px, 4.4vw, 66px); }

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-h) + 24px);
}

body {
  background-color: var(--c-white);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 {
  overflow-wrap: break-word;
}

h1 {
  letter-spacing: var(--ls-h1-large);
}

h2 {
  letter-spacing: -0.02em;
}

p { margin: 0 0 1.1em; }

.ot-main p > a:not(.ot-btn):not(.ot-text-link),
.ot-main li > a:not(.ot-btn):not(.ot-text-link) {
  color: var(--c-body);
  text-decoration: underline;
  text-decoration-color: var(--c-accent);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  transition: color var(--t-base), text-decoration-color var(--t-base);
}

.ot-main p > a:not(.ot-btn):not(.ot-text-link):hover,
.ot-main li > a:not(.ot-btn):not(.ot-text-link):hover {
  color: var(--c-cta);
  text-decoration-color: var(--c-cta);
}

.ot-hero--dark p > a:not(.ot-btn):not(.ot-text-link),
.ot-hero--dark li > a:not(.ot-btn):not(.ot-text-link),
.ot-section--navy p > a:not(.ot-btn):not(.ot-text-link),
.ot-section--navy li > a:not(.ot-btn):not(.ot-text-link) {
  color: var(--c-white);
  text-decoration-color: var(--c-accent-on-dark);
}

.ot-hero--dark p > a:not(.ot-btn):not(.ot-text-link):hover,
.ot-hero--dark li > a:not(.ot-btn):not(.ot-text-link):hover,
.ot-section--navy p > a:not(.ot-btn):not(.ot-text-link):hover,
.ot-section--navy li > a:not(.ot-btn):not(.ot-text-link):hover {
  color: var(--c-accent-on-dark);
  text-decoration-color: var(--c-accent-on-dark);
}

::selection {
  background-color: var(--c-heading);
  color: var(--c-white);
}

.ot-container {
  padding-inline: var(--container-pad);
}

.ot-section--beige { background-color: var(--c-beige); }
.ot-section--navy { background-color: var(--c-heading); }

.ot-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: var(--fs-eyebrow);
  letter-spacing: var(--ls-eyebrow);
  margin-bottom: 18px;
}

.ot-eyebrow::before {
  content: "";
  width: 24px;
  height: 1px;
  flex: 0 0 auto;
  background-color: var(--c-accent);
}

.ot-lead {
  max-width: 62ch;
}

.ot-section-head {
  position: relative;
  max-width: none;
  padding-top: 26px;
  border-top: 1px solid var(--c-rule);
}

.ot-section-head::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: var(--rule-mark-w);
  height: 2px;
  background-color: var(--c-accent);
}

.ot-section-head > h1,
.ot-section-head > h2 {
  max-width: 22ch;
}

.ot-section-head > p {
  max-width: 60ch;
}

.ot-section-head h2 {
  margin-bottom: 20px;
}

.ot-section-head--center {
  text-align: center;
  margin-inline: auto;
}

.ot-section-head--center::before {
  left: 50%;
  transform: translateX(-50%);
}

.ot-section-head--center > h1,
.ot-section-head--center > h2,
.ot-section-head--center > p {
  margin-inline: auto;
}

.ot-section-head .ot-eyebrow::before,
.ot-faq__head .ot-eyebrow::before {
  display: none;
}

.ot-container > h2:not(.ot-finalcta__title),
.ot-container > .ot-h2:not(.ot-finalcta__title) {
  position: relative;
  padding-top: 26px;
  border-top: 1px solid var(--c-rule);
  margin-bottom: 12px;
}

.ot-container > h2:not(.ot-finalcta__title)::before,
.ot-container > .ot-h2:not(.ot-finalcta__title)::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: var(--rule-mark-w);
  height: 2px;
  background-color: var(--c-accent);
}

.ot-faq__head {
  position: relative;
  padding-top: 26px;
  border-top: 1px solid var(--c-rule);
  margin-bottom: 40px;
}

.ot-faq__head::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: var(--rule-mark-w);
  height: 2px;
  background-color: var(--c-accent);
}

.ot-faq--full .ot-faq__head::before {
  left: 50%;
  transform: translateX(-50%);
}

.ot-header {
  background-color: var(--c-white);
  border-bottom: 1px solid var(--c-rule);
}

.ot-navtoggle {
  background-color: transparent;
}

.ot-nav__link {
  font-size: var(--fs-nav);
  letter-spacing: 0.005em;
  padding-block: 10px;
}

.ot-nav__link:hover {
  color: var(--c-cta);
}

.ot-nav__item--active > .ot-nav__link {
  border-bottom: 2px solid var(--c-accent);
}

.ot-nav__dropdown {
  left: -18px;
  min-width: 276px;
  border-color: var(--c-rule);
  border-radius: 0;
  padding: 10px 0;
  box-shadow: 0 24px 44px -30px rgba(20, 44, 62, 0.45);
}

.ot-nav__dropdown a {
  padding: 10px 20px;
  font-size: 14px;
}

.ot-nav__dropdown a:hover {
  background-color: var(--c-beige);
  color: var(--c-cta);
}

.ot-hero {
  min-height: var(--hero-min-h);
  align-items: flex-start;
  padding-block: clamp(64px, 8vw, 128px) clamp(72px, 10vw, 168px);
}

.ot-hero__content {
  width: var(--hero-content-col);
  max-width: var(--hero-text-max);
  border-top: 1px solid var(--c-rule);
  padding-top: 30px;
}

.ot-hero__content::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 72px;
  height: 2px;
  background-color: var(--c-accent);
}

.ot-hero__content .ot-eyebrow::before {
  display: none;
}

.ot-hero__text {
  margin-top: 24px;
  margin-bottom: 38px;
  max-width: 48ch;
}

.ot-hero--dark {
  background-color: var(--c-hero-dark);
}

.ot-hero--dark::before {
  background-image:
    linear-gradient(to right, rgba(16, 34, 48, 0.94) 0%, rgba(16, 34, 48, 0.88) 40%, rgba(16, 34, 48, 0.52) 64%, rgba(16, 34, 48, 0.24) 100%),
    linear-gradient(to bottom, rgba(16, 34, 48, 0.42) 0%, rgba(16, 34, 48, 0.14) 44%, rgba(16, 34, 48, 0.52) 100%);
}

.ot-hero--dark .ot-hero__content {
  border-top-color: rgba(255, 255, 255, 0.34);
}

.ot-hero--dark .ot-hero__content::before {
  background-color: var(--c-accent-on-dark);
}

.ot-hero--dark .ot-eyebrow {
  color: var(--c-accent-on-dark);
}

.ot-hero--dark .ot-hero__text {
  color: rgba(255, 255, 255, 0.92);
}

.ot-hero--soft::before {
  background-image: linear-gradient(
    to right,
    var(--c-white) 0%,
    var(--c-white) 50%,
    rgba(255, 255, 255, 0.86) 60%,
    rgba(255, 255, 255, 0.28) 74%,
    rgba(255, 255, 255, 0) 86%
  );
}

.ot-hero--split .ot-container {
  gap: 64px;
  align-items: center;
}

.ot-hero__figure img {
  max-height: 600px;
  border-radius: 0;
}

.ot-hero__subhead {
  margin: 22px 0 0;
}

.ot-hero__info-strip {
  margin-top: 32px;
  padding-top: 22px;
  border-top: 1px solid var(--c-rule);
  font-size: var(--fs-eyebrow);
  letter-spacing: var(--ls-eyebrow);
  gap: 12px 26px;
}

.ot-hero--dark .ot-hero__info-strip {
  color: var(--c-white);
  border-top-color: rgba(255, 255, 255, 0.28);
}

.ot-hero--dark .ot-hero__info-strip span + span {
  border-left-color: rgba(255, 255, 255, 0.28);
}

.ot-btn {
  font-size: var(--fs-button);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 18px 32px;
  border-radius: var(--radius-btn);
}

.ot-btn--cta {
  background-color: var(--c-cta);
  color: var(--c-white);
  border-color: var(--c-cta);
}

.ot-btn--cta:hover,
.ot-btn--cta:focus-visible {
  background-color: var(--c-heading);
  border-color: var(--c-heading);
  color: var(--c-white);
}

.ot-btn--header {
  background-color: transparent;
  color: var(--c-heading);
  border-color: var(--c-heading);
  padding: 12px 18px;
  font-size: 12px;
}

.ot-btn--header:hover,
.ot-btn--header:focus-visible {
  background-color: var(--c-heading);
  color: var(--c-white);
  border-color: var(--c-heading);
}

.ot-btn--herodark {
  background-color: var(--c-accent);
  color: var(--c-heading);
  border-color: var(--c-accent);
}

.ot-btn--herodark:hover,
.ot-btn--herodark:focus-visible {
  background-color: var(--c-accent-hover);
  color: var(--c-heading);
  border-color: var(--c-accent-hover);
}

.ot-btn--final {
  background-color: var(--c-accent);
  color: var(--c-heading);
  border-color: var(--c-accent);
}

.ot-btn--final:hover,
.ot-btn--final:focus-visible {
  background-color: var(--c-accent-hover);
  color: var(--c-heading);
  border-color: var(--c-accent-hover);
}

.ot-text-link {
  justify-self: start;
  align-self: start;
  width: fit-content;
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-heading);
  border-bottom: 1px solid var(--c-accent);
  padding-bottom: 5px;
  gap: 10px;
}

.ot-text-link:hover {
  color: var(--c-cta);
  border-bottom-color: var(--c-cta);
}

.ot-text-link svg {
  color: currentColor;
}

.ot-strip {
  border-block: 1px solid var(--c-rule);
}

.ot-strip__inner {
  gap: 32px 64px;
  padding-block: 30px;
}

.ot-strip__item svg {
  color: var(--c-accent-text);
  width: 22px;
  height: 22px;
}

.ot-strip__item-title {
  font-family: "Source Serif 4", Georgia, "Times New Roman", serif;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.25;
}

.ot-strip__item-text {
  font-size: 14px;
  color: var(--c-muted);
}

.ot-scope-strip {
  border-block: 1px solid var(--c-rule);
  padding-block: 26px;
  letter-spacing: var(--ls-eyebrow);
  font-size: var(--fs-eyebrow);
}

.ot-services-grid {
  counter-reset: ot-card;
  gap: 44px 32px;
}

.ot-card {
  background-color: transparent;
  border-width: 0;
  border-style: none;
  border-radius: 0;
  overflow: visible;
}

a.ot-card:hover {
  border-color: transparent;
}

.ot-card__figure {
  aspect-ratio: 3 / 4;
  border-radius: 0;
  overflow: hidden;
}

.ot-card__figure img {
  transition: transform 600ms ease;
}

.ot-card:hover .ot-card__figure img {
  transform: scale(1.035);
}

.ot-card__body {
  padding: 20px 0 0;
  border-top: 1px solid var(--c-rule);
  gap: 10px;
  transition: border-top-color var(--t-base);
}

.ot-card:hover .ot-card__body {
  border-top-color: var(--c-accent);
}

.ot-services-grid .ot-card__body::before {
  counter-increment: ot-card;
  content: counter(ot-card, decimal-leading-zero);
  font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--c-accent-text);
}

.ot-card__title,
.ot-relcard__title,
.ot-blog-card__title,
.ot-alsolike-card__title,
.ot-feature-card__title,
.ot-venue-examples h3,
.ot-image-cols h3,
.ot-col-list h3,
.ot-highlight-row h3,
.ot-divided-cols h3,
.ot-value-strip__item h3,
.ot-text-two-col h3,
.ot-text-quad h3,
.ot-numbered-item h3,
.ot-step-list__item h3,
.ot-venue-types h3,
.ot-process-step h3 {
  font-family: "Source Serif 4", Georgia, "Times New Roman", serif;
  font-size: var(--fs-card-title);
  font-weight: 600;
  line-height: var(--lh-card-title);
  letter-spacing: -0.012em;
  color: var(--c-heading);
}

.ot-card__text,
.ot-relcard__text,
.ot-alsolike-card__text {
  color: var(--c-muted);
}

.ot-relgrid {
  gap: 40px 36px;
}

.ot-relcard {
  background-color: transparent;
  border-width: 0;
  border-style: none;
  border-top: 1px solid var(--c-rule);
  border-radius: 0;
  padding: 22px 0 44px;
  gap: 14px;
  transition: border-top-color var(--t-base);
}

.ot-relcard:hover {
  border-top-color: var(--c-accent);
}

.ot-relcard__arrow {
  right: 2px;
  bottom: 14px;
  width: 20px;
  height: 20px;
  color: var(--c-accent-text);
}

.ot-icon--line {
  color: var(--c-accent-text);
  width: 24px;
  height: 24px;
}

.ot-service-block {
  background-color: transparent;
  border-width: 0;
  border-style: none;
  border-top: 2px solid var(--c-heading);
  border-radius: 0;
  padding: 28px 0 0;
  gap: 16px;
}

.ot-service-block > .ot-icon {
  width: 26px;
  height: 26px;
  color: var(--c-accent-text);
}

.ot-service-block__scope-title {
  color: var(--c-accent-text);
  letter-spacing: var(--ls-eyebrow);
  margin-top: 10px;
}

.ot-scope-list {
  gap: 10px 32px;
  color: var(--c-muted);
}

.ot-scope-list li::before {
  top: 0.66em;
  width: 4px;
  height: 4px;
}

.ot-grid-2 {
  gap: 56px 64px;
}

.ot-why-item {
  background-color: transparent;
  border-width: 0;
  border-style: none;
  border-top: 1px solid var(--c-rule);
  border-radius: 0;
  padding: 18px 0 0;
  text-align: left;
  justify-items: start;
  gap: 12px;
}

.ot-why-item svg {
  color: var(--c-accent-text);
}

.ot-why-item strong {
  font-family: "Source Serif 4", Georgia, "Times New Roman", serif;
  font-size: 19px;
  font-weight: 600;
  letter-spacing: -0.012em;
}

.ot-why-grid {
  gap: 26px 32px;
}

.ot-home-about {
  grid-template-columns: 1.02fr 0.92fr 1fr;
  gap: 64px;
  align-items: stretch;
}

.ot-home-about > div {
  align-self: center;
}

.ot-home-about__figure {
  align-self: stretch;
  min-height: 420px;
}

.ot-home-about__figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

.ot-facts-strip {
  border-width: 0;
  border-style: none;
  border-top: 2px solid var(--c-heading);
  border-radius: 0;
}

.ot-facts-strip__item {
  padding: 24px 26px 0 0;
}

.ot-facts-strip__item + .ot-facts-strip__item {
  border-left: 1px solid var(--c-rule);
  padding-left: 26px;
}

.ot-facts-strip__label {
  letter-spacing: var(--ls-eyebrow);
  margin-bottom: 10px;
}

.ot-facts-strip__value,
.ot-fact-row strong {
  font-family: "Source Serif 4", Georgia, "Times New Roman", serif;
  font-size: clamp(21px, 1.7vw, 25px);
  font-weight: 600;
  letter-spacing: -0.015em;
  line-height: 1.25;
}

.ot-fact-row > * {
  border-top: 1px solid var(--c-rule);
  padding-top: 20px;
}

.ot-value-strip__item > .ot-icon,
.ot-col-list > * > .ot-icon,
.ot-divided-cols > * > .ot-icon,
.ot-highlight-row > * > .ot-icon,
.ot-text-quad > * > .ot-icon,
.ot-numbered-item > .ot-icon {
  color: var(--c-accent-text);
  width: 24px;
  height: 24px;
}

.ot-detail-strip__item,
.ot-value-strip__item {
  border-top: 1px solid var(--c-rule);
  padding-top: 20px;
  gap: 12px;
}

.ot-detail-strip__label {
  letter-spacing: var(--ls-eyebrow);
}

.ot-detail-strip__value,
.ot-value-strip__item p,
.ot-col-list p,
.ot-highlight-row p,
.ot-divided-cols p,
.ot-image-cols p,
.ot-venue-types p,
.ot-step-list__item p {
  color: var(--c-muted);
}

.ot-divided-cols {
  margin-top: 52px;
}

.ot-divided-cols > * {
  padding-inline: 36px;
  border-top: 1px solid var(--c-rule);
  padding-top: 22px;
}

.ot-col-list {
  gap: 40px;
}

.ot-col-list > * {
  border-top: 1px solid var(--c-rule);
  padding-top: 22px;
}

.ot-col-list h3,
.ot-highlight-row h3,
.ot-divided-cols h3,
.ot-value-strip__item h3,
.ot-text-two-col h3,
.ot-text-quad h3,
.ot-image-cols h3,
.ot-venue-types h3 {
  margin: 0 0 12px;
}

.ot-highlight-row {
  margin-top: 56px;
  gap: 40px;
}

.ot-highlight-row > * {
  border-top: 1px solid var(--c-rule);
  padding-top: 22px;
}

.ot-check-list {
  gap: 14px 40px;
  font-size: var(--fs-card-desc);
}

.ot-check-list svg {
  color: var(--c-accent-text);
}

.ot-dot-list {
  gap: 12px;
  font-size: var(--fs-card-desc);
  color: var(--c-muted);
}

.ot-media-split {
  gap: 72px;
}

.ot-media-split__figure img {
  aspect-ratio: 5 / 4;
  object-fit: cover;
  border-radius: 0;
}

.ot-split-section {
  gap: 72px;
}

.ot-triple-split {
  gap: 56px;
}

.ot-triple-split__figure img,
.ot-figure-rounded,
.ot-case-teaser__figure img,
.ot-report-figure img {
  border-radius: 0;
}

.ot-case-teaser__title {
  margin-bottom: 16px;
}

.ot-case-teaser__facts {
  font-size: var(--fs-eyebrow);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--c-accent-text);
  margin-bottom: 18px;
}

.ot-case-teaser__figure {
  margin-bottom: 26px;
}

.ot-accordion {
  border-bottom: 1px solid var(--c-rule);
}

.ot-accordion--two-col {
  columns: 340px 2;
  column-gap: 56px;
}

.ot-accordion__item {
  background-color: transparent;
  border-width: 0;
  border-style: none;
  border-top: 1px solid var(--c-rule);
  border-radius: 0;
  margin-bottom: 0;
  overflow: visible;
}

.ot-accordion__button {
  background-color: transparent;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.4;
  padding-block: 24px;
  padding-inline: 0 52px;
  color: var(--c-heading);
  transition: color var(--t-base);
}

.ot-accordion__button:hover {
  background-color: transparent;
  color: var(--c-cta);
}

.ot-accordion__button::before {
  right: 6px;
  font-size: 26px;
  color: var(--c-accent-text);
}

.ot-accordion__body {
  padding-inline: 0 52px;
  padding-block: 0 26px;
  color: var(--c-muted);
  max-width: 62ch;
}

.ot-case-grid {
  gap: 76px 56px;
}

.ot-case-grid > * {
  border-top: 2px solid var(--c-heading);
  padding-top: 26px;
}

.ot-case-card__figure {
  aspect-ratio: 3 / 2;
  border-radius: 0;
  margin-bottom: 24px;
}

.ot-case-card__info {
  font-size: var(--fs-eyebrow);
  font-weight: 700;
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--c-accent-text);
  margin-bottom: 12px;
}

.ot-case-card__title {
  font-size: clamp(24px, 2.2vw, 32px);
  line-height: 1.16;
  margin-bottom: 16px;
}

.ot-case-grid p:not(.ot-case-card__info) {
  color: var(--c-muted);
  max-width: 52ch;
}

.ot-feature-cards {
  gap: 48px 40px;
}

.ot-feature-card {
  background-color: transparent;
  border-width: 0;
  border-style: none;
  border-top: 2px solid var(--c-heading);
  border-radius: 0;
  overflow: visible;
}

a.ot-feature-card:hover {
  border-color: transparent;
  border-top-color: var(--c-accent);
}

.ot-feature-card figure {
  aspect-ratio: 3 / 2;
  margin-top: 26px;
  order: 2;
}

.ot-feature-card__body {
  padding: 24px 0 0;
  order: 1;
}

.ot-feature-card__title {
  font-size: clamp(23px, 2vw, 30px);
  line-height: 1.18;
}

.ot-alsolike-card {
  background-color: transparent;
  border-width: 0;
  border-style: none;
  border-top: 1px solid var(--c-rule);
  border-radius: 0;
  overflow: visible;
  grid-template-columns: 34% 1fr;
  gap: 28px;
  margin-top: 30px;
  padding-top: 24px;
  transition: border-top-color var(--t-base);
}

.ot-alsolike-card:hover {
  border-color: transparent;
  border-top-color: var(--c-accent);
}

.ot-alsolike-card figure {
  min-height: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.ot-alsolike-card__body {
  padding: 0 0 34px;
}

.ot-alsolike-card__arrow {
  right: 2px;
  bottom: 6px;
  color: var(--c-accent-text);
}

.ot-numbered-item + .ot-numbered-item {
  margin-top: 34px;
  padding-top: 30px;
  border-top: 1px solid var(--c-rule);
}

.ot-step-list {
  gap: 32px;
  margin-top: 32px;
}

.ot-step-list__item {
  gap: 24px;
  border-top: 1px solid var(--c-rule);
  padding-top: 22px;
}

.ot-step-list__num {
  font-size: clamp(28px, 2.4vw, 38px);
  color: var(--c-accent-text);
  line-height: 1.05;
}

.ot-image-cols,
.ot-venue-examples {
  gap: 44px 32px;
  margin-top: 52px;
}

.ot-image-cols figure,
.ot-venue-examples figure {
  border-radius: 0;
  margin-bottom: 20px;
}

.ot-image-cols figure {
  aspect-ratio: 3 / 4;
}

.ot-venue-examples figure {
  aspect-ratio: 4 / 5;
}

.ot-brand-strip {
  flex-wrap: wrap;
  justify-content: center;
  gap: 34px 56px;
}

.ot-brand-strip img {
  height: 46px;
  opacity: 0.7;
  mix-blend-mode: multiply;
}

.ot-logo-grid {
  gap: 12px 28px;
  margin-top: 52px;
}

.ot-logo-grid__item {
  background-color: transparent;
  border-width: 0;
  border-style: none;
  border-top: 1px solid var(--c-rule);
  border-radius: 0;
  aspect-ratio: 5 / 3;
  padding: 20px 8px 12px;
  transition: border-top-color var(--t-base);
}

.ot-logo-grid__item img {
  opacity: 0.78;
  mix-blend-mode: multiply;
}

@media (hover: hover) {
  .ot-logo-grid__item:hover {
    border-color: transparent;
    border-top-color: var(--c-accent);
  }
}

.ot-section--navy .ot-eyebrow {
  color: var(--c-accent-on-dark);
}

.ot-section--navy .ot-eyebrow::before {
  background-color: var(--c-accent-on-dark);
}

.ot-section--navy .ot-section-head {
  border-top-color: rgba(255, 255, 255, 0.24);
}

.ot-section--navy .ot-section-head::before {
  background-color: var(--c-accent-on-dark);
}

.ot-section--navy .ot-section-head p,
.ot-section--navy > .ot-container p,
.ot-section--navy > .ot-container li {
  color: var(--c-on-dark-muted);
}

.ot-process-grid {
  gap: 48px 44px;
  margin-top: 52px;
}

.ot-process-step {
  border-top: 1px solid rgba(255, 255, 255, 0.24);
  padding-top: 22px;
}

.ot-process-step h3 {
  color: var(--c-white);
  margin-bottom: 18px;
}

.ot-process-step ul {
  gap: 12px;
  color: var(--c-on-dark-muted);
}

.ot-result-card {
  background-color: transparent;
  border-width: 0;
  border-style: none;
  border-top: 2px solid var(--c-heading);
  border-radius: 0;
  padding: 28px 0 0;
}

.ot-report-body {
  max-width: 740px;
}

.ot-report-body > p:first-of-type {
  font-size: var(--fs-lead);
  line-height: var(--lh-lead);
  color: var(--c-heading);
}

.ot-report-body h2 {
  font-size: var(--fs-h3);
  line-height: var(--lh-h3);
  margin: 60px 0 20px;
  padding-top: 24px;
  border-top: 1px solid var(--c-rule);
}

.ot-report-body h3 {
  font-family: "Source Serif 4", Georgia, "Times New Roman", serif;
  font-size: var(--fs-h4);
  line-height: var(--lh-h4);
  font-weight: 600;
  margin: 36px 0 14px;
}

.ot-report-body li {
  margin-bottom: 10px;
  color: var(--c-muted);
}

.ot-report-figure {
  margin: 40px 0;
}

.ot-report-figure img {
  border-width: 0;
  border-style: none;
}

.ot-report-info-row {
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid var(--c-rule);
  font-size: var(--fs-eyebrow);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  font-weight: 700;
  color: var(--c-accent-text);
}

.ot-contact-layout {
  gap: 88px;
}

.ot-contact-layout > div:first-child {
  position: relative;
  padding-top: 26px;
  border-top: 1px solid var(--c-rule);
}

.ot-contact-layout > div:first-child::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: var(--rule-mark-w);
  height: 2px;
  background-color: var(--c-accent);
}

.ot-contact-details {
  margin-top: 40px;
  gap: 0;
}

.ot-contact-details li {
  border-top: 1px solid var(--c-rule);
  padding-block: 20px;
  gap: 16px;
}

.ot-contact-details svg {
  color: var(--c-accent-text);
}

.ot-contact-details__label {
  letter-spacing: var(--ls-eyebrow);
  margin-bottom: 6px;
}

.ot-contact-social {
  margin-top: 30px;
  gap: 20px;
}

.ot-contact-social a {
  color: var(--c-accent-text);
}

.ot-contact-legal {
  margin-top: 36px;
  padding-top: 28px;
  color: var(--c-muted);
}

.ot-tursab-verification {
  border-radius: 0;
  background-color: var(--c-heading);
  padding: 14px 22px;
}

.ot-form-panel {
  background-color: var(--c-beige);
  border-width: 0;
  border-style: none;
  border-top: 2px solid var(--c-heading);
  border-radius: 0;
  padding: 40px 40px 48px;
}

.ot-form-panel h2 {
  margin-bottom: 30px;
  font-size: var(--fs-h3);
  line-height: var(--lh-h3);
}

.ot-form-field + .ot-form-field {
  margin-top: 22px;
}

.ot-form-field label {
  font-size: var(--fs-eyebrow);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  margin-bottom: 10px;
}

.ot-form-field input,
.ot-form-field textarea {
  border-color: #D6CFC1;
  border-radius: var(--radius-btn);
  padding: 15px 16px;
}

.ot-form-field input::placeholder,
.ot-form-field textarea::placeholder {
  color: #6B7580;
}

.ot-form-field input:focus,
.ot-form-field textarea:focus {
  border-color: var(--c-heading);
  box-shadow: inset 0 0 0 1px var(--c-heading);
}

.ot-form-field input:focus-visible,
.ot-form-field textarea:focus-visible {
  outline: var(--focus-width) solid var(--c-focus);
  outline-offset: 2px;
}

.ot-form-consent {
  margin-top: 26px;
  color: var(--c-muted);
}

.ot-form-panel .ot-btn {
  margin-top: 30px;
}

.ot-form-success {
  background-color: var(--c-white);
  border-width: 0;
  border-style: none;
  border-top: 2px solid var(--c-heading);
  border-radius: 0;
  padding: 30px 0 0;
}

body.ot-blog {
  --blog-navy: #142C3E;
  --blog-blue: #005CB4;
  --blog-blue-light: #EFF3F8;
  --blog-gray: #F6F2EA;
  --blog-text: #24313D;
  --blog-text-muted: #55636E;
}

body.ot-blog .ot-eyebrow {
  color: var(--c-accent-text);
}

.ot-blog .ot-section--blog-gray {
  background-color: var(--c-beige);
}

.ot-blog .ot-blog-filters {
  gap: 6px 34px;
  margin-top: 44px;
  padding-top: 22px;
  border-top: 1px solid var(--c-rule);
}

.ot-blog .ot-blog-filter {
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 8px 0;
  background-color: transparent;
  border-width: 0;
  border-style: none;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  color: var(--c-muted);
}

.ot-blog .ot-blog-filter:hover {
  background-color: transparent;
  color: var(--c-heading);
}

.ot-blog .ot-blog-filter.ot-is-active {
  background-color: transparent;
  border-color: transparent;
  border-bottom-color: var(--c-accent);
  color: var(--c-heading);
}

.ot-blog .ot-blog-featured {
  background-color: transparent;
  border-width: 0;
  border-style: none;
  border-top: 2px solid var(--c-heading);
  border-radius: 0;
  overflow: visible;
  grid-template-columns: 1.1fr 1fr;
  gap: 0 64px;
  margin-top: 22px;
}

.ot-blog .ot-blog-featured figure {
  min-height: 0;
  aspect-ratio: 4 / 3;
  margin-top: 30px;
  overflow: hidden;
}

.ot-blog .ot-blog-featured__body {
  padding: 30px 0 10px;
  gap: 16px;
  align-content: start;
}

.ot-blog .ot-blog-featured__title {
  font-size: var(--fs-h2);
  line-height: var(--lh-h2);
  max-width: 18ch;
}

.ot-blog .ot-blog-meta {
  font-size: 14px;
  letter-spacing: 0;
  text-transform: none;
  font-weight: 500;
  color: var(--c-muted);
}

.ot-blog .ot-blog-featured .ot-btn {
  margin-top: 14px;
  background-color: var(--c-cta);
  border-color: var(--c-cta);
}

.ot-blog .ot-blog-featured .ot-btn:hover {
  background-color: var(--c-heading);
  border-color: var(--c-heading);
}

.ot-blog .ot-blog-grid {
  gap: 48px 36px;
  margin-top: 56px;
}

.ot-blog .ot-blog-card {
  background-color: transparent;
  border-width: 0;
  border-style: none;
  border-top: 1px solid var(--c-rule);
  border-radius: 0;
  overflow: visible;
  padding-top: 22px;
}

.ot-blog .ot-blog-card:hover {
  border-color: transparent;
  border-top-color: var(--c-accent);
}

.ot-blog .ot-blog-card figure {
  aspect-ratio: 3 / 2;
  order: 2;
  margin: 22px 0 0;
  overflow: hidden;
}

.ot-blog .ot-blog-card__body {
  padding: 0;
  order: 1;
  gap: 12px;
}

.ot-blog .ot-blog-card__category {
  letter-spacing: var(--ls-eyebrow);
  color: var(--c-accent-text);
}

.ot-blog .ot-blog-card__title {
  font-family: "Source Serif 4", Georgia, "Times New Roman", serif;
  font-size: var(--fs-card-title);
  font-weight: 600;
  line-height: var(--lh-card-title);
  letter-spacing: -0.012em;
}

.ot-blog .ot-blog-card__text {
  color: var(--c-muted);
}

.ot-blog .ot-blog-pagination {
  margin-top: 64px;
  padding-top: 32px;
  border-top: 1px solid var(--c-rule);
  gap: 8px;
}

.ot-blog .ot-blog-pagination a,
.ot-blog .ot-blog-pagination span {
  border-color: var(--c-rule-strong);
  border-radius: var(--radius-btn);
  font-size: 14px;
  color: var(--c-heading);
}

.ot-blog .ot-blog-pagination a:hover {
  background-color: var(--c-heading);
  border-color: var(--c-heading);
  color: var(--c-white);
}

.ot-blog .ot-blog-pagination .ot-is-current {
  background-color: var(--c-heading);
  border-color: var(--c-heading);
  color: var(--c-white);
}

.ot-finalcta {
  background-color: var(--c-heading);
}

.ot-finalcta .ot-container {
  position: relative;
  padding-top: 44px;
}

.ot-finalcta .ot-container::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: var(--rule-mark-w);
  height: 2px;
  background-color: var(--c-accent-on-dark);
}

.ot-finalcta h2 {
  max-width: 20ch;
  margin-bottom: 22px;
}

.ot-finalcta__text {
  color: rgba(255, 255, 255, 0.88);
  max-width: 56ch;
  margin-bottom: 38px;
}

.ot-footer {
  background-color: var(--c-footer);
}

.ot-footer__main {
  grid-template-columns: 1.45fr 1fr 0.85fr 1fr 1.55fr;
  padding-block: 88px 64px;
  gap: 56px 40px;
}

.ot-footer__logo img {
  width: 176px;
  margin-bottom: 26px;
}

.ot-footer__about {
  max-width: 34ch;
  margin-bottom: 30px;
  color: rgba(255, 255, 255, 0.72);
}

.ot-footer__coltitle {
  font-size: var(--fs-eyebrow);
  font-weight: 700;
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--c-white);
  margin: 0 0 22px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.ot-footer__links {
  gap: 15px;
}

.ot-footer__social {
  gap: 20px;
}

.ot-footer__tursab {
  margin-top: 32px;
  padding-top: 26px;
  gap: 14px;
}

.ot-footer__tursab img {
  width: 96px;
}

.ot-footer__tursab-text {
  font-size: 12.5px;
  padding-left: 14px;
}

.ot-footer__legal {
  background-color: var(--c-footer-legal);
}

.ot-footer__legal-inner {
  padding-block: 24px;
  font-size: 14px;
}

.ot-mt-l { margin-top: 64px; }
.ot-mt-m { margin-top: 28px; }
.ot-mb-m { margin-bottom: 32px; }

.ot-cta-row {
  padding-block: var(--section-py-compact) 0;
}

.ot-hero--dark :focus-visible,
.ot-section--navy :focus-visible,
.ot-finalcta :focus-visible,
.ot-footer :focus-visible,
.ot-tursab-verification :focus-visible {
  outline: var(--focus-width) solid var(--c-white);
  outline-offset: var(--focus-offset);
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .ot-card:hover .ot-card__figure img { transform: none; }
}

@media (max-width: 1199.98px) {
  .ot-home-about {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .ot-mobilenav__list a,
  .ot-mobilenav__toggle {
    background-color: transparent;
    padding-block: 18px;
    font-size: 16px;
    border-bottom-color: var(--c-rule);
  }

  .ot-mobilenav__sub a {
    background-color: transparent;
  }

  .ot-mobilenav__sub {
    background-color: var(--c-beige);
  }

  .ot-mobilenav__cta {
    padding-top: 28px;
  }
}

@media (max-width: 991.98px) {
  .ot-media-split,
  .ot-split-section,
  .ot-triple-split {
    gap: 44px;
  }

  .ot-home-about {
    gap: 44px;
  }

  .ot-contact-layout {
    gap: 52px;
  }

  .ot-facts-strip__item + .ot-facts-strip__item {
    border-left: 0;
    padding-left: 0;
  }

  .ot-facts-strip__item {
    border-top: 1px solid var(--c-rule);
    padding-right: 20px;
  }

  .ot-facts-strip__item:nth-child(-n+2) {
    border-top: 0;
  }

  .ot-facts-strip__item:nth-child(even) {
    border-left: 1px solid var(--c-rule);
    padding-left: 20px;
  }

  .ot-process-grid {
    gap: 36px;
  }

  .ot-footer__main {
    grid-template-columns: 1fr 1fr;
    gap: 44px 36px;
    padding-block: 64px 48px;
  }

  .ot-divided-cols > *:nth-child(odd) {
    padding-left: 0;
  }

  .ot-divided-cols > *:nth-child(even) {
    padding-right: 0;
  }
}

@media (max-width: 767.98px) {
  .ot-hero {
    min-height: 0;
    display: block;
    padding-block: clamp(48px, 9vw, 72px) clamp(56px, 11vw, 88px);
  }

  .ot-hero__content {
    width: 100%;
    max-width: none;
    padding-top: 24px;
  }

  .ot-hero--dark::before {
    background-image: linear-gradient(
      to bottom,
      rgba(16, 34, 48, 0.94) 0%,
      rgba(16, 34, 48, 0.90) 60%,
      rgba(16, 34, 48, 0.94) 100%
    );
  }

  .ot-hero--soft::before {
    background-image: linear-gradient(
      to bottom,
      var(--c-white) 0%,
      var(--c-white) 64%,
      rgba(255, 255, 255, 0.78) 100%
    );
  }

  .ot-hero--split .ot-container {
    gap: 32px;
  }

  .ot-media-split,
  .ot-split-section,
  .ot-triple-split {
    gap: 36px;
  }

  .ot-case-grid {
    gap: 44px;
  }

  .ot-feature-cards {
    gap: 36px;
  }

  .ot-blog .ot-blog-featured {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .ot-blog .ot-blog-featured figure {
    aspect-ratio: 3 / 2;
    margin-top: 24px;
  }

  .ot-blog .ot-blog-featured__body {
    padding: 24px 0 0;
  }

  .ot-blog .ot-blog-grid {
    gap: 40px;
  }

  .ot-grid-2 {
    gap: 44px;
  }

  .ot-accordion--two-col {
    columns: 1;
  }

  .ot-form-panel {
    padding: 30px 24px 36px;
  }

  .ot-highlight-row,
  .ot-col-list {
    gap: 28px;
  }
}

@media (max-width: 575.98px) {
  .ot-footer__main {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .ot-divided-cols > * {
    padding-inline: 0;
  }

  .ot-facts-strip__item:nth-child(even) {
    border-left: 0;
    padding-left: 0;
  }

  .ot-facts-strip__item:nth-child(2) {
    border-top: 1px solid var(--c-rule);
  }

  .ot-alsolike-card {
    gap: 20px;
  }

  .ot-alsolike-card figure {
    aspect-ratio: 3 / 2;
  }

  .ot-card__figure {
    aspect-ratio: 4 / 3;
  }

  .ot-image-cols figure,
  .ot-venue-examples figure {
    aspect-ratio: 3 / 2;
  }

  .ot-brand-strip {
    gap: 26px 36px;
  }

  .ot-brand-strip img {
    height: 34px;
  }
}
