:root {
  --color-lightGreen1: #f28c28;
  --color-blue1: #f28c28;
}

/* Brand color correction: Swak blue accents become Creative Studios orange. */
.color-blue1,
.hover-blue1:hover,
.hover-blue1:focus,
.tc-inner-navbar-style1 .navbar-nav .nav-link:hover,
.tc-inner-navbar-style1 .navbar-nav .nav-link.active,
.root-inner-topbar a:hover,
.root-link-arrow,
.root-breadcrumbs a,
.root-page-kicker,
.loader-kicker,
.loader-pill,
.tc-about-awards-style1 table a:hover,
.tc-inner-footer-style1 a:hover {
  color: var(--color-lightGreen1) !important;
}

.bg-blue1,
.borderd-btn,
.loader-progress-fill,
.tc-inner-navbar-style1 .navbar-toggler:focus,
.to_top:hover,
.mouse-cursor.cursor-inner,
.mouse-cursor.cursor-outer::after {
  background-color: var(--color-lightGreen1) !important;
}

.border-blue1,
.border_blue1,
.loader-pill,
.root-overview-card:hover,
.root-process-step:hover,
.root-about-mini-card:hover,
.root-about-sector-card:hover,
.root-gallery-chip:hover,
.root-gallery-summary-card:hover {
  border-color: var(--color-lightGreen1) !important;
}

svg .color-blue1,
.color-blue1 svg,
.color-blue1 path {
  fill: var(--color-lightGreen1) !important;
}

html {
  scroll-behavior: smooth;
}

body:not([class]) {
  --cs-ink: #11100f;
  --cs-ink-2: #1e1915;
  --cs-muted: #746b62;
  --cs-paper: #fbf4ea;
  --cs-paper-2: #f0e4d4;
  --cs-white: #ffffff;
  --cs-orange: #ff5a14;
  --cs-orange-dark: #c94209;
  --cs-line: rgba(17, 16, 15, 0.13);
  --cs-line-light: rgba(255, 250, 243, 0.16);
  --cs-container: 1180px;
  --cs-radius: 28px;
  --cs-radius-lg: 44px;
  --cs-shadow: 0 22px 70px rgba(26, 18, 12, 0.14);
  --cs-shadow-dark: 0 34px 110px rgba(0, 0, 0, 0.36);
  --cs-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --cs-display: Poppins, Inter, ui-sans-serif, system-ui, sans-serif;
  --cs-section: clamp(4.5rem, 8vw, 7.5rem);
  margin: 0;
  color: var(--cs-ink);
  background:
    radial-gradient(circle at 9% 0%, rgba(255, 90, 20, 0.12), transparent 24rem),
    linear-gradient(180deg, #fbf4ea 0%, #f3e5d3 54%, #fbf4ea 100%);
  font-family: var(--cs-sans);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

body:not([class])::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background-image:
    linear-gradient(rgba(17, 16, 15, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17, 16, 15, 0.035) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.72), transparent 78%);
}

body:not([class])[data-menu-open] {
  overflow: hidden;
}

body:not([class]) *,
body:not([class]) *::before,
body:not([class]) *::after {
  box-sizing: border-box;
}

body:not([class]) img,
body:not([class]) svg {
  display: block;
  max-width: 100%;
}

body:not([class]) a {
  color: inherit;
  text-decoration: none;
}

body:not([class]) p,
body:not([class]) h1,
body:not([class]) h2,
body:not([class]) h3,
body:not([class]) h4 {
  margin-top: 0;
}

body:not([class]) p:last-child {
  margin-bottom: 0;
}

body:not([class]) button,
body:not([class]) input,
body:not([class]) select,
body:not([class]) textarea {
  font: inherit;
}

body:not([class]) :focus-visible {
  outline: 3px solid var(--cs-orange);
  outline-offset: 4px;
}

body:not([class]) .skip-link {
  position: fixed;
  top: 1rem;
  left: 1rem;
  z-index: 1000;
  transform: translateY(-140%);
  padding: 0.75rem 1rem;
  border-radius: 999px;
  color: var(--cs-paper);
  background: var(--cs-ink);
  font-weight: 800;
  transition: transform 0.2s ease;
}

body:not([class]) .skip-link:focus {
  transform: translateY(0);
}

body:not([class]) .container {
  width: min(var(--cs-container), calc(100% - 2rem));
  margin-inline: auto;
}

body:not([class]) .site-header {
  position: sticky;
  top: 14px;
  z-index: 100;
  width: min(var(--cs-container), calc(100% - 2rem));
  margin: 0 auto;
  border: 1px solid rgba(255, 250, 243, 0.14);
  border-radius: 999px;
  background: rgba(17, 16, 15, 0.93);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.26);
  backdrop-filter: blur(14px);
}

body:not([class]) .cs-index-topbar {
  position: relative;
  z-index: 101;
  display: block;
  min-height: 38px;
  background: #f5871f;
  color: #111;
  text-align: center;
}

body:not([class]) .cs-index-topbar .container {
  width: 100%;
  max-width: none;
}

body:not([class]) .cs-index-topbar p {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  min-height: 38px;
  margin: 0;
  color: #111;
  font-size: 0.86rem;
  font-weight: 700;
}

body:not([class]) .cs-index-topbar .borderd-btn {
  padding: 0.32rem 0.72rem;
  border: 1px solid rgba(36, 17, 6, 0.22);
  border-radius: 999px;
  color: #111;
  font-weight: 500;
  text-transform: none;
}

body:not([class]) .cs-index-topbar a {
  color: #111;
  text-decoration: underline;
}

body:not([class]) .site-header.cs-index-match {
  position: sticky;
  top: 0;
  z-index: 100;
  width: 100%;
  max-width: none;
  margin: 0;
  border: 0;
  border-radius: 0 0 32px 32px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: none;
  backdrop-filter: none;
}

body:not([class]) .site-header.cs-index-match .container {
  width: 100%;
  max-width: none;
  padding-inline: 5vw;
}

body:not([class]) .site-header.cs-index-match .nav-wrap {
  min-height: 128px;
  padding: clamp(1.2rem, 3vw, 2rem) 0;
}

body:not([class]) .site-header.cs-index-match .brand {
  gap: 1rem;
}

body:not([class]) .site-header.cs-index-match .brand img,
body:not([class]) .site-header.cs-index-match .brand img.logo {
  width: 42px !important;
  height: 42px !important;
  max-width: 42px !important;
  max-height: 42px !important;
}

body:not([class]) .site-header.cs-index-match .root-brand-label {
  display: inline-block;
  color: #1b1b1e;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body:not([class]) .site-header.cs-index-match .site-nav {
  gap: clamp(1rem, 2.1vw, 2.25rem);
}

body:not([class]) .site-header.cs-index-match .site-nav a:not(.btn) {
  color: #1b1b1e;
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

body:not([class]) .site-header.cs-index-match .site-nav a:not(.btn)::after {
  display: none;
}

body:not([class]) .site-header.cs-index-match .site-nav a:hover,
body:not([class]) .site-header.cs-index-match .site-nav a[aria-current="page"] {
  color: #b65710;
  text-decoration: underline;
}

body:not([class]) .site-header.cs-index-match .menu-toggle {
  border-color: rgba(36, 17, 6, 0.25);
  color: #241106;
  background: rgba(242, 140, 40, 0.08);
}

body:not([class]) .site-header .container {
  width: 100%;
}

body:not([class]) .nav-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 74px;
  padding: 0.45rem 0.8rem;
}

body:not([class]) .brand {
  display: inline-flex;
  align-items: center;
  gap: 0.78rem;
  min-width: max-content;
}

body:not([class]) .brand img {
  width: 48px;
  height: 48px;
  object-fit: contain;
}

body:not([class]) .brand strong {
  display: block;
  color: var(--cs-paper);
  font-size: 1.02rem;
  font-weight: 900;
  letter-spacing: -0.03em;
}

body:not([class]) .brand > span > span {
  display: block;
  margin-top: -0.18rem;
  color: rgba(255, 250, 243, 0.6);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body:not([class]) .site-nav {
  display: flex;
  align-items: center;
  gap: clamp(0.58rem, 1.25vw, 1.15rem);
}

body:not([class]) .site-nav a:not(.btn) {
  position: relative;
  padding: 0.55rem 0.05rem;
  color: rgba(255, 250, 243, 0.68);
  font-size: 0.88rem;
  font-weight: 750;
  letter-spacing: 0.01em;
}

body:not([class]) .site-nav a:not(.btn)::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0.24rem;
  left: 0;
  height: 2px;
  background: var(--cs-orange);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.18s ease;
}

body:not([class]) .site-nav a:hover,
body:not([class]) .site-nav a[aria-current="page"] {
  color: var(--cs-paper);
}

body:not([class]) .site-nav a:hover::after,
body:not([class]) .site-nav a[aria-current="page"]::after {
  transform: scaleX(1);
}

body:not([class]) .menu-toggle {
  display: none;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255, 250, 243, 0.2);
  border-radius: 999px;
  color: var(--cs-paper);
  background: rgba(255, 250, 243, 0.07);
  cursor: pointer;
}

body:not([class]) .menu-toggle span,
body:not([class]) .menu-toggle::before,
body:not([class]) .menu-toggle::after {
  content: "";
  display: block;
  width: 20px;
  height: 2px;
  margin: 4px auto;
  border-radius: 999px;
  background: currentColor;
  transition: transform 0.18s ease, opacity 0.18s ease;
}

body:not([class])[data-menu-open] .menu-toggle span {
  opacity: 0;
}

body:not([class])[data-menu-open] .menu-toggle::before {
  transform: translateY(6px) rotate(45deg);
}

body:not([class])[data-menu-open] .menu-toggle::after {
  transform: translateY(-6px) rotate(-45deg);
}

:is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .site-header {
  position: sticky;
  top: 14px;
  z-index: 100;
  width: min(var(--cs-container), calc(100% - 2rem));
  margin: 0 auto;
  border: 1px solid rgba(255, 250, 243, 0.14);
  border-radius: 999px;
  background: rgba(17, 16, 15, 0.93);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.26);
  backdrop-filter: blur(14px);
}

:is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .site-header .container {
  width: 100%;
}

:is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .nav-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 74px;
  padding: 0.45rem 0.8rem;
}

:is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .brand {
  display: inline-flex;
  align-items: center;
  gap: 0.78rem;
  min-width: max-content;
  color: var(--cs-paper) !important;
}

:is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .brand img {
  width: 48px;
  height: 48px;
  object-fit: contain;
}

:is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .brand strong {
  display: block;
  color: var(--cs-paper) !important;
  font-size: 1.02rem;
  font-weight: 900;
  letter-spacing: -0.03em;
}

:is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .site-nav {
  display: flex;
  align-items: center;
  gap: clamp(0.58rem, 1.25vw, 1.15rem);
}

:is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .site-nav a:not(.btn) {
  position: relative;
  padding: 0.55rem 0.05rem;
  color: rgba(255, 250, 243, 0.68);
  font-size: 0.88rem;
  font-weight: 750;
  letter-spacing: 0.01em;
}

:is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .site-nav a:not(.btn)::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0.24rem;
  left: 0;
  height: 2px;
  background: var(--cs-orange);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.18s ease;
}

:is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .site-nav a:hover,
:is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .site-nav a[aria-current="page"] {
  color: var(--cs-paper);
}

:is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .site-nav a:hover::after,
:is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .site-nav a[aria-current="page"]::after {
  transform: scaleX(1);
}

:is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .menu-toggle {
  display: none;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255, 250, 243, 0.2);
  border-radius: 999px;
  color: var(--cs-paper);
  background: rgba(255, 250, 243, 0.07);
  cursor: pointer;
}

:is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .menu-toggle span,
:is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .menu-toggle::before,
:is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .menu-toggle::after {
  content: "";
  display: block;
  width: 20px;
  height: 2px;
  margin: 4px auto;
  border-radius: 999px;
  background: currentColor;
  transition: transform 0.18s ease, opacity 0.18s ease;
}

:is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail)[data-menu-open] .menu-toggle span {
  opacity: 0;
}

:is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail)[data-menu-open] .menu-toggle::before {
  transform: translateY(6px) rotate(45deg);
}

:is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail)[data-menu-open] .menu-toggle::after {
  transform: translateY(-6px) rotate(-45deg);
}

body:not([class]) .btn,
body:not([class]) .link-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 50px;
  padding: 0.9rem 1.18rem;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1.1;
  text-align: center;
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, color 0.18s ease;
}

body:not([class]) .btn:hover,
body:not([class]) .link-pill:hover {
  transform: translateY(-2px);
}

body:not([class]) .btn-primary {
  color: var(--cs-ink);
  background: var(--cs-paper);
  box-shadow: none;
}

body:not([class]) .btn-primary:hover {
  color: var(--cs-paper);
  background: var(--cs-orange);
  box-shadow: 0 18px 44px rgba(255, 90, 20, 0.28);
}

body:not([class]) .btn-secondary,
body:not([class]) .btn-ghost {
  color: var(--cs-paper);
  border-color: rgba(255, 250, 243, 0.22);
  background: rgba(255, 250, 243, 0.08);
}

body:not([class]) .section {
  padding: var(--cs-section) 0;
}

body:not([class]) .section-tight {
  padding: clamp(3.3rem, 6vw, 5.5rem) 0;
}

body:not([class]) .section-soft {
  background: linear-gradient(180deg, rgba(232, 213, 188, 0.7), rgba(251, 244, 234, 0.45));
}

body:not([class]) .section-dark {
  color: var(--cs-paper);
  background:
    radial-gradient(circle at 14% 16%, rgba(255, 90, 20, 0.18), transparent 28rem),
    linear-gradient(135deg, #11100f 0%, #261a14 70%, #0b0a09 100%);
}

body:not([class]) .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  width: fit-content;
  margin-bottom: 1rem;
  color: var(--cs-orange-dark);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body:not([class]) .eyebrow::before {
  content: "";
  width: 0.52rem;
  height: 0.52rem;
  border-radius: 50%;
  background: currentColor;
}

body:not([class]) .hero .eyebrow,
body:not([class]) .page-hero .eyebrow,
body:not([class]) .section-dark .eyebrow,
body:not([class]) .cta-band .eyebrow,
body:not([class]) .visual-band .eyebrow {
  color: #ffb58f;
}

body:not([class]) .display-title,
body:not([class]) .page-title,
body:not([class]) .section-title,
body:not([class]) .card-title,
body:not([class]) .content-flow h2,
body:not([class]) .content-flow h3 {
  font-family: var(--cs-display);
  letter-spacing: -0.06em;
  line-height: 0.96;
  text-wrap: balance;
}

body:not([class]) .display-title {
  max-width: 11ch;
  margin-bottom: 1.5rem;
  color: var(--cs-paper);
  font-size: clamp(3.8rem, 8.8vw, 8rem);
  font-weight: 900;
}

body:not([class]) .page-title {
  max-width: 12ch;
  margin-bottom: 1.4rem;
  color: var(--cs-paper);
  font-size: clamp(3.1rem, 7vw, 6.2rem);
  font-weight: 900;
}

body:not([class]) .section-title {
  max-width: 13ch;
  margin-bottom: 1rem;
  font-size: clamp(2.25rem, 4.8vw, 4.5rem);
  font-weight: 900;
}

body:not([class]) .card-title {
  margin-bottom: 0.85rem;
  font-size: clamp(1.55rem, 2.35vw, 2.45rem);
  font-weight: 850;
  letter-spacing: -0.045em;
}

body:not([class]) .lead {
  max-width: 43rem;
  color: var(--cs-muted);
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  line-height: 1.75;
}

body:not([class]) .muted {
  color: var(--cs-muted);
}

body:not([class]) .hero .lead,
body:not([class]) .page-hero .lead,
body:not([class]) .section-dark .lead,
body:not([class]) .section-dark .muted,
body:not([class]) .visual-band .lead {
  color: rgba(255, 250, 243, 0.72);
}

body:not([class]) .hero,
body:not([class]) .page-hero {
  position: relative;
  overflow: hidden;
  margin-top: -88px;
  padding: clamp(10rem, 15vw, 13rem) 0 clamp(4.6rem, 8vw, 6.8rem);
  color: var(--cs-paper);
  background:
    radial-gradient(circle at 16% 18%, rgba(255, 90, 20, 0.18), transparent 28rem),
    radial-gradient(circle at 86% 18%, rgba(255, 250, 243, 0.08), transparent 24rem),
    linear-gradient(135deg, #11100f 0%, #241915 58%, #0b0a09 100%);
}

body:not([class]) .hero::after {
  content: "Creative\A Studios";
  white-space: pre;
  position: absolute;
  right: -0.08em;
  bottom: -0.22em;
  color: rgba(255, 250, 243, 0.035);
  font-family: var(--cs-display);
  font-size: clamp(9rem, 20vw, 24rem);
  font-weight: 900;
  line-height: 0.78;
  letter-spacing: -0.09em;
  pointer-events: none;
}

body:not([class]) .hero-grid,
body:not([class]) .page-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(320px, 0.98fr);
  gap: clamp(2.2rem, 5vw, 5.5rem);
  align-items: center;
}

body:not([class]) .page-hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.46fr);
  align-items: end;
}

body:not([class]) .hero-actions,
body:not([class]) .button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 2rem;
}

body:not([class]) .hero-notes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 2rem;
}

body:not([class]) .hero-note,
body:not([class]) .mini-badge {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0.46rem 0.78rem;
  border: 1px solid rgba(255, 250, 243, 0.16);
  border-radius: 999px;
  color: rgba(255, 250, 243, 0.78);
  background: rgba(255, 250, 243, 0.07);
  font-size: 0.82rem;
  font-weight: 750;
}

body:not([class]) .hero-visual {
  position: relative;
  min-height: 560px;
}

body:not([class]) .hero-visual::before {
  content: "";
  position: absolute;
  inset: 13% 8% 10% 3%;
  border: 1px solid rgba(255, 250, 243, 0.13);
  border-radius: 48px;
  background: rgba(255, 255, 255, 0.035);
}

body:not([class]) .hero-visual-main {
  position: absolute;
  inset: 5% 0 auto 8%;
  width: 82%;
  height: 54%;
  object-fit: cover;
  object-position: center;
  border-radius: 34px;
  box-shadow: var(--cs-shadow-dark);
}

body:not([class]) .hero-shot {
  position: absolute;
  overflow: hidden;
  border: 1px solid rgba(255, 250, 243, 0.16);
  border-radius: 26px;
  background: #11100f;
  box-shadow: var(--cs-shadow-dark);
}

body:not([class]) .hero-shot::before,
body:not([class]) .browser-frame .device-bar {
  content: "";
  display: flex;
  gap: 0.45rem;
  height: 28px;
  padding: 0.55rem 0.8rem;
  background: #171310;
}

body:not([class]) .hero-shot img {
  width: 100%;
  height: calc(100% - 28px);
  object-fit: cover;
  object-position: top center;
}

body:not([class]) .hero-shot-a {
  right: 0;
  bottom: 18%;
  width: 48%;
  height: 38%;
}

body:not([class]) .hero-shot-b {
  left: 0;
  bottom: 3%;
  width: 56%;
  height: 40%;
}

body:not([class]) .hero-stamp {
  position: absolute;
  right: 8%;
  bottom: 3%;
  display: grid;
  place-items: center;
  width: 136px;
  height: 136px;
  border-radius: 999px;
  color: #171310;
  background: var(--cs-orange);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  line-height: 1.1;
  text-transform: uppercase;
}

body:not([class]) .hero-stamp strong {
  font-size: 2.25rem;
  line-height: 0.7;
}

body:not([class]) .trust-strip {
  color: var(--cs-paper);
  background: #11100f;
}

body:not([class]) .trust-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--cs-line-light);
  border-bottom: 1px solid var(--cs-line-light);
}

body:not([class]) .trust-item {
  padding: 1.35rem clamp(1rem, 3vw, 2rem);
  border-right: 1px solid var(--cs-line-light);
}

body:not([class]) .trust-item:last-child {
  border-right: 0;
}

body:not([class]) .trust-item strong {
  display: block;
  margin-bottom: 0.25rem;
  color: var(--cs-paper);
  font-size: 0.95rem;
}

body:not([class]) .trust-item .muted {
  color: rgba(255, 250, 243, 0.62);
}

body:not([class]) .visual-band {
  overflow: hidden;
  padding: clamp(4.5rem, 8vw, 7rem) 0;
  color: var(--cs-paper);
  background: #11100f;
}

body:not([class]) .visual-band-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}

body:not([class]) .visual-collage {
  position: relative;
  min-height: 560px;
}

body:not([class]) .visual-tile {
  position: absolute;
  overflow: hidden;
  margin: 0;
  border: 1px solid rgba(255, 250, 243, 0.14);
  border-radius: 30px;
  background: #171310;
  box-shadow: var(--cs-shadow-dark);
}

body:not([class]) .visual-tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

body:not([class]) .visual-tile.large {
  inset: 10% 14% 8% 0;
}

body:not([class]) .visual-tile.small {
  width: 42%;
  height: 31%;
}

body:not([class]) .visual-tile.top {
  top: 0;
  right: 0;
}

body:not([class]) .visual-tile.bottom {
  right: 5%;
  bottom: 0;
}

body:not([class]) .drone-feature {
  padding: clamp(4.5rem, 8vw, 7rem) 0;
  background:
    radial-gradient(circle at 82% 12%, rgba(255, 90, 20, 0.12), transparent 25rem),
    var(--cs-paper);
}

body:not([class]) .drone-feature-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(0, 0.84fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}

body:not([class]) .drone-media {
  position: relative;
  padding: 0.72rem;
  border: 1px solid rgba(17, 16, 15, 0.13);
  border-radius: 36px;
  background: rgba(255, 255, 255, 0.58);
  box-shadow: var(--cs-shadow);
}

body:not([class]) .drone-media::after {
  content: "dronebeelden";
  position: absolute;
  right: 1.2rem;
  bottom: 1.2rem;
  padding: 0.55rem 0.8rem;
  border-radius: 999px;
  color: var(--cs-paper);
  background: rgba(17, 16, 15, 0.86);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body:not([class]) .drone-media video {
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 28px;
  object-fit: cover;
  background: #11100f;
}

body:not([class]) .drone-copy .section-title {
  max-width: 12ch;
}

body:not([class]) .grid-2,
body:not([class]) .grid-3,
body:not([class]) .grid-4 {
  display: grid;
  gap: 1.2rem;
}

body:not([class]) .grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body:not([class]) .grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body:not([class]) .grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body:not([class]) .section-head {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 0.74fr);
  gap: 2rem;
  align-items: start;
  margin-bottom: clamp(2.1rem, 5vw, 4rem);
  padding-bottom: clamp(1.2rem, 3vw, 2rem);
  border-bottom: 1px solid var(--cs-line);
}

body:not([class]) .card,
body:not([class]) .feature-card,
body:not([class]) .service-card,
body:not([class]) .process-step,
body:not([class]) .faq-card,
body:not([class]) .contact-card,
body:not([class]) .project-card,
body:not([class]) .aside-panel,
body:not([class]) .contact-form {
  border: 1px solid rgba(17, 16, 15, 0.12);
  border-radius: var(--cs-radius);
  background: rgba(255, 250, 243, 0.82);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
}

body:not([class]) .card,
body:not([class]) .service-card,
body:not([class]) .process-step,
body:not([class]) .faq-card,
body:not([class]) .contact-card,
body:not([class]) .aside-panel {
  padding: clamp(1.35rem, 3vw, 2rem);
}

body:not([class]) .feature-card {
  position: relative;
  overflow: hidden;
  min-height: 100%;
  padding: clamp(1.55rem, 3.4vw, 2.7rem);
}

body:not([class]) .feature-card:hover,
body:not([class]) .service-card:hover,
body:not([class]) .process-step:hover,
body:not([class]) .project-card:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 90, 20, 0.35);
  box-shadow: var(--cs-shadow);
}

body:not([class]) .feature-card.primary {
  color: var(--cs-paper);
  border-color: rgba(255, 250, 243, 0.12);
  background: radial-gradient(circle at top right, rgba(255, 90, 20, 0.4), transparent 20rem), #11100f;
}

body:not([class]) .feature-card.primary p,
body:not([class]) .feature-card.primary .clean-list li {
  color: rgba(255, 250, 243, 0.74);
}

body:not([class]) .feature-card .meta,
body:not([class]) .service-card .meta,
body:not([class]) .project-card .meta {
  display: inline-flex;
  margin-bottom: 1.15rem;
  padding: 0.34rem 0.62rem;
  border: 1px solid rgba(255, 90, 20, 0.18);
  border-radius: 999px;
  color: var(--cs-orange-dark);
  background: rgba(255, 90, 20, 0.08);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body:not([class]) .feature-card.primary .meta {
  color: #ffb58f;
}

body:not([class]) .clean-list {
  display: grid;
  gap: 0.72rem;
  margin: 1.3rem 0 0;
  padding: 0;
  list-style: none;
}

body:not([class]) .clean-list li {
  position: relative;
  padding-left: 1.25rem;
  color: var(--cs-muted);
}

body:not([class]) .clean-list li::before {
  content: "";
  position: absolute;
  top: 0.72rem;
  left: 0;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--cs-orange);
}

body:not([class]) .link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin-top: 1.35rem;
  color: var(--cs-orange-dark);
  font-size: 0.86rem;
  font-weight: 900;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

body:not([class]) .link-arrow::after {
  content: "->";
  transition: transform 0.18s ease;
}

body:not([class]) .link-arrow:hover::after {
  transform: translateX(4px);
}

body:not([class]) .process-grid {
  counter-reset: step;
}

body:not([class]) .process-step {
  position: relative;
  overflow: hidden;
}

body:not([class]) .process-step::before {
  counter-increment: step;
  content: "0" counter(step);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  margin-bottom: 1.25rem;
  border-radius: 999px;
  color: var(--cs-paper);
  background: var(--cs-ink);
  font-weight: 900;
}

body:not([class]) .breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 2rem;
  color: rgba(255, 250, 243, 0.68);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body:not([class]) .breadcrumb a {
  color: #ffb58f;
}

body:not([class]) .page-hero .aside-panel {
  color: var(--cs-paper);
  border-color: rgba(255, 250, 243, 0.16);
  background: rgba(255, 250, 243, 0.08);
}

body:not([class]) .page-hero .aside-panel .muted {
  color: rgba(255, 250, 243, 0.68);
}

body:not([class]) .split-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.84fr) minmax(0, 1.16fr);
  gap: clamp(2.2rem, 5vw, 4.5rem);
  align-items: start;
}

body:not([class]) .sticky-note {
  position: sticky;
  top: 112px;
  align-self: start;
  padding-left: 1.4rem;
  border-left: 3px solid var(--cs-orange);
}

body:not([class]) .content-flow {
  display: grid;
  gap: 1.25rem;
}

body:not([class]) .content-flow h2 {
  max-width: 18ch;
  font-size: clamp(2rem, 3.8vw, 3.35rem);
}

body:not([class]) .content-flow h3 {
  font-size: clamp(1.32rem, 2vw, 1.9rem);
}

body:not([class]) .cta-band {
  position: relative;
  overflow: hidden;
  display: grid;
  align-content: center;
  min-height: 340px;
  padding: clamp(2rem, 5vw, 4rem);
  border-radius: var(--cs-radius-lg);
  color: var(--cs-paper);
  background: radial-gradient(circle at 82% 14%, rgba(255, 90, 20, 0.5), transparent 23rem), linear-gradient(135deg, #17110d, #2b1c13 72%, #100c0a);
  box-shadow: var(--cs-shadow-dark);
}

body:not([class]) .cta-band .section-title {
  max-width: 15ch;
}

body:not([class]) .cta-band .lead {
  color: rgba(255, 250, 243, 0.74);
}

body:not([class]) .faq-list {
  display: grid;
  gap: 0.85rem;
}

body:not([class]) .faq-card summary {
  list-style: none;
  cursor: pointer;
  font-weight: 850;
  letter-spacing: -0.01em;
}

body:not([class]) .faq-card summary::-webkit-details-marker {
  display: none;
}

body:not([class]) .faq-card summary::after {
  content: "+";
  float: right;
  color: var(--cs-orange-dark);
  font-weight: 900;
}

body:not([class]) .faq-card[open] summary::after {
  content: "-";
}

body:not([class]) .faq-card p {
  margin-top: 0.9rem;
  color: var(--cs-muted);
}

body:not([class]) .projects-list {
  display: grid;
  gap: clamp(1.5rem, 3vw, 2.4rem);
}

body:not([class]) .project-card {
  overflow: hidden;
  background: rgba(255, 250, 243, 0.88);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

body:not([class]) .projects-list .project-card {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.55fr);
  align-items: stretch;
}

body:not([class]) .browser-frame {
  overflow: hidden;
  border-bottom: 1px solid var(--cs-line);
  background: #11100f;
}

body:not([class]) .projects-list .browser-frame {
  border-right: 1px solid var(--cs-line);
  border-bottom: 0;
}

body:not([class]) .browser-frame .device-bar span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255, 250, 243, 0.32);
}

body:not([class]) .browser-frame img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  padding: clamp(0.45rem, 1vw, 0.75rem);
  object-fit: contain;
  object-position: top center;
  background: #11100f;
  filter: none;
}

body:not([class]) .project-content {
  display: grid;
  align-content: center;
  padding: clamp(1.6rem, 3vw, 2.6rem);
}

body:not([class]) .projects-list .card-title {
  font-size: clamp(1.85rem, 3vw, 3rem);
}

body:not([class]) .contact-layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.78fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 5vw, 4rem);
  align-items: start;
}

body:not([class]) .contact-list {
  display: grid;
  gap: 1rem;
}

body:not([class]) .contact-card a {
  color: var(--cs-orange-dark);
  font-weight: 800;
}

body:not([class]) .contact-card p,
body:not([class]) .contact-card a,
body:not([class]) .contact-card [data-company-phone],
body:not([class]) .contact-card [data-company-email],
body:not([class]) .contact-card [data-company-address],
body:not([class]) .aside-panel [data-company-address] {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: clamp(1rem, 1.15vw, 1.08rem) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.75 !important;
  text-transform: none !important;
}

body:not([class]) .contact-card a {
  color: var(--cs-orange-dark) !important;
  font-weight: 500 !important;
}

body:not([class]) .contact-form {
  display: grid;
  gap: 1rem;
  padding: clamp(1.4rem, 3vw, 2.3rem);
  box-shadow: var(--cs-shadow);
}

body:not([class]) .form-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

body:not([class]) .field {
  display: grid;
  gap: 0.42rem;
}

body:not([class]) .field label {
  font-size: 0.77rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body:not([class]) .field input,
body:not([class]) .field select,
body:not([class]) .field textarea {
  width: 100%;
  min-height: 52px;
  border: 1px solid rgba(17, 16, 15, 0.18);
  border-radius: 16px;
  padding: 0.85rem 0.95rem;
  color: var(--cs-ink);
  background: #fffaf4;
}

body:not([class]) .field textarea {
  min-height: 150px;
  resize: vertical;
}

body:not([class]) .field input:focus,
body:not([class]) .field select:focus,
body:not([class]) .field textarea:focus {
  border-color: var(--cs-orange);
  outline: none;
  box-shadow: 0 0 0 4px rgba(255, 90, 20, 0.12);
}

body:not([class]) .field input.is-invalid,
body:not([class]) .field select.is-invalid,
body:not([class]) .field textarea.is-invalid {
  border-color: #a51e16;
}

body:not([class]) .field-error {
  min-height: 1.2rem;
  color: #941b14;
  font-size: 0.85rem;
  font-weight: 700;
}

body:not([class]) .hp-field {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

body:not([class]) .form-status {
  min-height: 1.4rem;
  margin: 0;
  font-weight: 800;
}

body:not([class]) .form-status.success {
  color: #176c3a;
}

body:not([class]) .form-status.error {
  color: #941b14;
}

body:not([class]) .legal-text {
  max-width: 62rem;
}

body:not([class]) .legal-text h2 {
  margin-top: 2.4rem;
  font-size: 1.55rem;
  letter-spacing: -0.025em;
}

body:not([class]) .site-footer {
  color: rgba(251, 244, 234, 0.76);
  background: radial-gradient(circle at 15% 0%, rgba(255, 90, 20, 0.16), transparent 24rem), #11100f;
}

body:not([class]) .footer-main {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) repeat(3, minmax(0, 0.62fr));
  gap: 2rem;
  padding: clamp(3.4rem, 7vw, 5.5rem) 0;
}

body:not([class]) .footer-main h2,
body:not([class]) .footer-main h3 {
  color: var(--cs-paper);
}

body:not([class]) .footer-main h2 {
  max-width: 12ch;
  font-family: var(--cs-display);
  font-size: clamp(2.1rem, 4vw, 4rem);
  line-height: 0.98;
  letter-spacing: -0.06em;
}

body:not([class]) .footer-links {
  display: grid;
  gap: 0.58rem;
}

body:not([class]) .footer-links a:hover {
  color: var(--cs-paper);
}

body:not([class]) .footer-bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.2rem 0;
  border-top: 1px solid rgba(251, 244, 234, 0.14);
  color: rgba(251, 244, 234, 0.58);
  font-size: 0.86rem;
}

body:not([class]) .social-links:empty {
  display: none;
}

body:not([class]) .social-links {
  display: flex;
  gap: 0.7rem;
  margin-top: 1rem;
}

body:not([class]) .social-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 40px;
  border: 1px solid rgba(251, 244, 234, 0.2);
  border-radius: 999px;
}

body:not([class]) .reveal {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.46s ease, transform 0.46s ease;
}

body:not([class]) .reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 1040px) {
  body:not([class]) .site-header {
    top: 8px;
    width: min(100% - 1rem, var(--cs-container));
    border-radius: 28px;
  }

  body:not([class]) .site-nav {
    position: fixed;
    inset: 92px 1rem auto;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0.25rem;
    padding: 1rem;
    border: 1px solid var(--cs-line-light);
    border-radius: 26px;
    background: rgba(17, 16, 15, 0.98);
    box-shadow: var(--cs-shadow-dark);
  }

  body:not([class])[data-menu-open] .site-nav {
    display: flex;
  }

  body:not([class]) .site-nav a:not(.btn),
  body:not([class]) .site-nav .btn {
    justify-content: flex-start;
    width: 100%;
    padding: 0.9rem 1rem;
  }

  body:not([class]) .site-nav a:not(.btn)::after {
    display: none;
  }

  body:not([class]) .menu-toggle {
    display: inline-block;
  }

  :is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .site-header {
    top: 8px;
    width: min(100% - 1rem, var(--cs-container));
    border-radius: 28px;
  }

  :is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .site-nav {
    position: fixed;
    inset: 92px 1rem auto;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0.25rem;
    padding: 1rem;
    border: 1px solid var(--cs-line-light);
    border-radius: 26px;
    background: rgba(17, 16, 15, 0.98);
    box-shadow: var(--cs-shadow-dark);
  }

  :is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail)[data-menu-open] .site-nav {
    display: flex;
  }

  :is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .site-nav a:not(.btn),
  :is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .site-nav .btn {
    justify-content: flex-start;
    width: 100%;
    padding: 0.9rem 1rem;
  }

  :is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .site-nav a:not(.btn)::after {
    display: none;
  }

  :is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .menu-toggle {
    display: inline-block;
  }

  body:not([class]) .hero-grid,
  body:not([class]) .page-hero-grid,
  body:not([class]) .section-head,
  body:not([class]) .split-layout,
  body:not([class]) .contact-layout,
  body:not([class]) .footer-main,
  body:not([class]) .visual-band-grid,
  body:not([class]) .drone-feature-grid {
    grid-template-columns: 1fr;
  }

  body:not([class]) .sticky-note {
    position: static;
  }

  body:not([class]) .grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body:not([class]) .hero-visual,
  body:not([class]) .visual-collage {
    min-height: 470px;
  }

  body:not([class]) .projects-list .project-card {
    grid-template-columns: 1fr;
  }

  body:not([class]) .projects-list .browser-frame {
    border-right: 0;
    border-bottom: 1px solid var(--cs-line);
  }
}

@media (max-width: 760px) {
  body:not([class]) .container {
    width: min(100% - 1.2rem, var(--cs-container));
  }

  body:not([class]) .site-header {
    width: calc(100% - 0.8rem);
  }

  body:not([class]) .nav-wrap {
    min-height: 66px;
    padding-inline: 0.55rem;
  }

  body:not([class]) .brand img {
    width: 42px;
    height: 42px;
  }

  body:not([class]) .brand strong {
    font-size: 0.92rem;
  }

  :is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .site-header {
    width: calc(100% - 0.8rem);
  }

  :is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .nav-wrap {
    min-height: 66px;
    padding-inline: 0.55rem;
  }

  :is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .brand img {
    width: 42px;
    height: 42px;
  }

  :is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .brand strong {
    font-size: 0.92rem;
  }

  body:not([class]) .brand > span > span {
    display: none;
  }

  body:not([class]) .grid-2,
  body:not([class]) .grid-3,
  body:not([class]) .grid-4,
  body:not([class]) .trust-grid,
  body:not([class]) .form-row {
    grid-template-columns: 1fr;
  }

  body:not([class]) .trust-item {
    border-right: 0;
    border-bottom: 1px solid var(--cs-line-light);
  }

  body:not([class]) .trust-item:last-child {
    border-bottom: 0;
  }

  body:not([class]) .hero,
  body:not([class]) .page-hero {
    margin-top: -82px;
    padding-top: 9.2rem;
  }

  body:not([class]) .display-title,
  body:not([class]) .page-title {
    max-width: 10ch;
    letter-spacing: -0.055em;
  }

  body:not([class]) .hero-visual,
  body:not([class]) .visual-collage {
    min-height: 390px;
  }

  body:not([class]) .hero-visual-main {
    inset: 4% 0 auto 3%;
    width: 92%;
    height: 46%;
  }

  body:not([class]) .hero-shot-a {
    width: 54%;
    height: 34%;
  }

  body:not([class]) .hero-shot-b {
    width: 64%;
    height: 35%;
  }

  body:not([class]) .hero-stamp {
    width: 104px;
    height: 104px;
    font-size: 0.58rem;
  }

  body:not([class]) .hero-stamp strong {
    font-size: 1.7rem;
  }

  body:not([class]) .visual-tile.large {
    inset: 15% 0 10% 0;
  }

  body:not([class]) .visual-tile.small {
    width: 52%;
    height: 30%;
  }

  body:not([class]) .cta-band {
    min-height: 310px;
    border-radius: 34px;
  }

  body:not([class]) .footer-bottom {
    display: grid;
  }
}

@media (prefers-reduced-motion: reduce) {
  body:not([class]) *,
  body:not([class]) *::before,
  body:not([class]) *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }

  body:not([class]) .reveal {
    opacity: 1;
    transform: none;
  }
}

.root-brand-label {
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.tc-top-navbar-style2 strong,
.tc-top-navbar-style2 a,
.tc-top-navbar-style2 .borderd-btn {
  white-space: normal;
}

.tc-navbar-style2 .navbar-brand .logo {
  max-height: 34px;
}

.root-brand-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  padding: 0 24px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  color: #fff;
  background: rgba(255, 255, 255, 0.06);
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.root-brand-pill:hover {
  border-color: rgba(242, 140, 40, 0.7);
  color: var(--color-lightGreen1);
}

.tc-header-style2 .back-img {
  filter: brightness(0.5) saturate(1.05);
}

.tc-services-style2 .service-card .img img,
.tc-blog-style2 .content .blog-card .img img {
  object-fit: cover;
  object-position: top center;
}

.tc-services-style2 .service-card .img,
.tc-blog-style2 .content .blog-card .img {
  background: #111;
}

.tc-featured-style2 .feature-item .img img,
.root-case-screenshot img {
  object-fit: contain;
  object-position: top center;
  background: #111;
}

.tc-testimonials-style2 .testi-card .client-det .icon,
.tc-testimonials-style2 .testi-card .client-det .logo {
  background: #111;
}

.tc-testimonials-style2 .testi-card .client-det .icon img,
.tc-testimonials-style2 .testi-card .client-det .logo img {
  object-fit: contain;
  padding: 8px;
}

.tc-about-style2 .back-img img {
  object-position: center;
  filter: brightness(0.82) saturate(1.05);
}

/* Keep the featured CTA above the template hover preview without breaking its JS opacity animation. */
.tc-featured-style2 .content {
  isolation: isolate;
}

.tc-featured-style2 .hover-reveal {
  position: absolute;
  top: 0;
  left: 0 !important;
  z-index: 12;
  width: min(500px, 38vw);
  height: min(330px, 25vw);
  overflow: hidden;
  border-radius: 30px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.18s ease, visibility 0.18s ease, transform 0.18s ease;
  will-change: transform, opacity;
}

.tc-featured-style2 .hover-reveal.is-visible {
  opacity: 1;
  visibility: visible;
}

.tc-featured-style2 .hover-reveal__inner,
.tc-featured-style2 .hover-reveal__img {
  width: 100%;
  height: 100%;
}

.tc-featured-style2 .hover-reveal__img {
  background-position: center;
  background-size: cover;
}

.tc-featured-style2 .text-center.mt-150 {
  position: relative;
  z-index: 20;
}

.tc-featured-style2 .text-center.mt-150 .button_su_inner {
  background: #111 !important;
  border: 1px solid #111 !important;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.18);
}

.tc-featured-style2 .text-center.mt-150 .button_text_container {
  color: #fff !important;
}

.tc-featured-style2 .text-center.mt-150 .su_button_circle {
  background: var(--color-lightGreen1) !important;
}

.tc-services-style2 .service-card .img,
.tc-blog-style2 .content .blog-card .img,
.tc-featured-style2 .img img,
.tc-testimonials-style2 .testi-card .client-det .logo {
  background-color: transparent;
}

.root-text-slider .swiper-slide,
.root-text-slider-rtl .swiper-slide {
  width: max-content !important;
}

.root-slider-mark {
  width: 24px;
  height: 24px;
  object-fit: contain;
  vertical-align: middle;
}

.root-counter {
  min-width: 1ch;
}

.root-service-framework,
.root-fit-section,
.root-gallery-intro,
.root-gallery-summary,
.root-about-collaboration,
.root-about-sectors {
  position: relative;
}

.root-framework-card,
.root-case-card,
.root-fit-card,
.root-proof-card,
.root-gallery-chip,
.root-gallery-summary-card,
.root-contact-brief-card,
.root-about-mini-card,
.root-about-sector-card {
  height: 100%;
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 28px;
  padding: 36px 32px;
  transition: all 0.3s ease;
}

.root-framework-card:hover,
.root-case-card:hover,
.root-fit-card:hover,
.root-proof-card:hover,
.root-gallery-chip:hover,
.root-gallery-summary-card:hover,
.root-contact-brief-card:hover,
.root-about-mini-card:hover,
.root-about-sector-card:hover {
  transform: translateY(-6px);
  border-color: rgba(242, 140, 40, 0.35);
  box-shadow: 0 20px 45px rgba(17, 17, 17, 0.06);
}

.root-framework-card .num,
.root-contact-brief-card .num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  margin-bottom: 26px;
  border-radius: 50%;
  background: rgba(242, 140, 40, 0.12);
  color: var(--color-lightGreen1);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.root-framework-card ul,
.root-contact-brief-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.root-framework-card li,
.root-contact-brief-card li {
  position: relative;
  padding-left: 18px;
  margin-bottom: 12px;
  color: #666;
  font-size: 1rem;
}

.root-framework-card li::before,
.root-contact-brief-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--color-lightGreen1);
}

.hp-field {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.field-error {
  min-height: 1.1rem;
  margin: 6px 0 0;
  color: #941b14;
  font-size: 0.8rem;
  font-weight: 700;
}

.form-status {
  min-height: 1.4rem;
  margin: 0 0 16px;
  font-weight: 700;
}

.form-status.success {
  color: #176c3a;
}

.form-status.error {
  color: #941b14;
}

.form-control.is-invalid {
  border-color: #a51e16 !important;
}

.root-case-context,
.root-about-sectors,
.root-gallery-summary {
  background: #f7f7f7;
}

.root-case-card .eyebrow,
.root-gallery-summary-card .eyebrow {
  display: inline-block;
  margin-bottom: 18px;
  color: var(--color-lightGreen1);
  text-transform: uppercase;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  font-weight: 600;
}

.root-fit-section .sticky-info {
  padding-right: 30px;
}

.root-proof-strip {
  background: #fff8f1;
}

.root-proof-card {
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.7);
}

.root-gallery-chip {
  text-transform: uppercase;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  font-weight: 600;
  text-align: center;
}

.root-contact-brief {
  border-top: 1px solid rgba(17, 17, 17, 0.08);
  margin-top: 80px;
}

.root-about-collaboration {
  border-top: 1px solid rgba(17, 17, 17, 0.08);
}

.root-about-mini-card,
.root-about-sector-card,
.root-gallery-summary-card,
.root-case-card,
.root-fit-card {
  background: #fff;
}

.root-approach-home {
  padding: 140px 0 110px;
  margin-top: -30px;
  background-color: #f5f5f5;
  border-radius: 0 0 30px 30px;
  overflow: hidden;
  position: relative;
  z-index: 18;
}

.root-approach-home .content {
  padding: 0 20px;
}

.root-approach-home .service-card {
  text-align: center;
  background-color: #fff;
  border: 1px solid #d5d5d5;
  border-radius: 100px;
  padding: 80px 40px;
  width: calc(100% + 40px);
  margin-left: -20px;
  position: relative;
  transition: all 0.3s ease;
}

.root-approach-home .service-card:hover,
.root-approach-home .service-card:focus-within {
  z-index: 10;
  border-color: var(--color-lightGreen1);
}

.tc-inner-header-style1,
.page-about-style1 .tc-about-header-style1 {
  background:
    radial-gradient(circle at 80% 10%, rgba(242, 140, 40, 0.28), transparent 30%),
    linear-gradient(180deg, #fff8f1 0%, #f3eee8 100%) !important;
}

.tc-inner-header-style1 .symbol1,
.tc-inner-header-style1 .symbol2,
.page-about-style1 .tc-about-header-style1 .symbol-img {
  opacity: 0.1;
  filter: sepia(1) saturate(4) hue-rotate(345deg);
}

.page-about-style1 .tc-about-header-style1 .back-img {
  opacity: 0.22;
  filter: grayscale(0.2) sepia(0.45) saturate(1.2) hue-rotate(345deg);
  object-fit: cover;
}

.page-about-style1 .tc-about-header-style1 .pages-links a {
  border-color: rgba(17, 17, 17, 0.14) !important;
  color: #111 !important;
}

.page-about-style1 .tc-about-header-style1 .pages-links a.active {
  background-color: var(--color-lightGreen1) !important;
  border-color: var(--color-lightGreen1) !important;
  color: #fff !important;
}

.root-approach-home .service-card .icon {
  height: 100px;
  margin-bottom: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.root-approach-home .service-card .icon img {
  max-height: 64px;
  width: auto;
}

.root-approach-home .service-card .info {
  max-width: 240px;
  margin: 0 auto;
}

.root-inner-topbar .borderd-btn {
  border-color: rgba(242, 140, 40, 0.35);
  color: var(--color-lightGreen1);
}

.root-inner-header {
  min-height: 60vh;
}

.root-inner-header .header-content {
  padding-top: 120px;
  padding-bottom: 120px;
}

.root-brand-dark {
  color: #111;
}

.tc-inner-navbar-style1 .navbar-nav .nav-link {
  color: rgba(17, 17, 17, 0.72) !important;
}

.tc-inner-navbar-style1 .navbar-nav .nav-link:hover,
.tc-inner-navbar-style1 .navbar-nav .nav-link:focus,
.tc-inner-navbar-style1 .navbar-nav .nav-link.active {
  color: var(--color-lightGreen1) !important;
}

.tc-inner-navbar-style1 .dropdown-toggle {
  color: rgba(17, 17, 17, 0.72) !important;
}

.tc-inner-navbar-style1 .navbar-nav .nav-link.active,
.tc-inner-footer-style1 .links a:hover,
.tc-inner-footer-style1 .social-icons a:hover {
  color: var(--color-lightGreen1) !important;
}

.root-contact-layout {
  padding: 120px 0;
}

.root-contact-layout .contact-item {
  margin-bottom: 40px;
}

body.home-style2:not(.is-loaded),
body.page-contact-style1:not(.is-loaded),
body.page-about-style1:not(.is-loaded),
body.page-services-overview:not(.is-loaded),
body.page-process-overview:not(.is-loaded),
body.page-insights-overview:not(.is-loaded),
body.page-service-detail:not(.is-loaded),
body.page-insight-detail:not(.is-loaded),
body.page-portfolio-masonry-style1:not(.is-loaded) {
  overflow: hidden;
}

.loader-wrap {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #161311;
  color: #f6efe7;
  overflow: hidden;
}

.loader-panel {
  position: absolute;
  left: 0;
  width: 100%;
  height: 50.5%;
  background:
    radial-gradient(circle at top right, rgba(242, 140, 40, 0.26), transparent 40%),
    linear-gradient(135deg, #161311 0%, #231d1a 55%, #111111 100%);
}

.loader-panel-top {
  top: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.loader-panel-bottom {
  bottom: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.loader-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(circle at center, rgba(0, 0, 0, 1), transparent 78%);
  opacity: 0.45;
}

.loader-wrap-heading {
  position: relative;
  z-index: 2;
  width: min(760px, calc(100vw - 40px));
  padding: 42px 34px 34px;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 36px;
  background: rgba(255, 248, 241, 0.06);
  backdrop-filter: blur(14px);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.28);
}

.loader-kicker,
.loader-label,
.loader-pill,
.loader-status {
  font-family: "Inter", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.14em;
}

.loader-kicker {
  margin-bottom: 18px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.74rem;
}

.loader-brand-lockup {
  display: grid;
  gap: 16px;
  margin-bottom: 26px;
}

.loader-label {
  color: rgba(255, 255, 255, 0.64);
  font-size: 0.78rem;
}

.load-text {
  display: grid;
  margin: 0;
  overflow: hidden;
  font-family: "Playfair Display", serif;
  font-size: clamp(3rem, 9vw, 6.6rem);
  font-weight: 600;
  line-height: 0.88;
  letter-spacing: -0.04em;
}

.load-text span {
  display: block;
}

.loader-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 26px;
}

.loader-pill {
  padding: 10px 16px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.7rem;
}

.loader-progress {
  position: relative;
  height: 7px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.09);
  overflow: hidden;
}

.loader-progress-fill {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(242, 140, 40, 0.4) 0%, #f28c28 55%, #ffd2a3 100%);
  transform: scaleX(0);
  transform-origin: left center;
}

.loader-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.74rem;
}

.loader-count {
  min-width: 2.6ch;
  text-align: right;
  color: #fff;
}

.root-page-hero {
  position: relative;
  padding: 160px 0 110px;
  background:
    radial-gradient(circle at top left, rgba(242, 140, 40, 0.16), transparent 28%),
    linear-gradient(180deg, #fffaf5 0%, #f5f2ee 100%);
  overflow: hidden;
}

.root-page-hero::before,
.root-page-hero::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  filter: blur(10px);
}

.root-page-hero::before {
  top: -120px;
  right: -80px;
  width: 280px;
  height: 280px;
  background: rgba(242, 140, 40, 0.18);
}

.root-page-hero::after {
  bottom: -90px;
  left: -60px;
  width: 240px;
  height: 240px;
  background: rgba(27, 27, 30, 0.06);
}

.root-page-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 22px;
  padding: 9px 16px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--color-lightGreen1);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.root-page-kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
}

.root-page-hero h1,
.root-page-hero h2 {
  max-width: 980px;
}

.root-page-hero .lead {
  max-width: 720px;
  margin-top: 28px;
  color: #5f5f5f;
  font-size: 1.1rem;
  line-height: 1.85;
}

.root-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
  color: #777;
  font-size: 0.88rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.root-breadcrumbs a {
  color: inherit;
}

.root-page-split,
.root-page-section {
  position: relative;
  padding: 120px 0;
}

.root-page-section.bg-soft {
  background: #f7f4f0;
}

.root-page-section.bg-darkish {
  background: #151311;
  color: #fff;
}

.root-overview-card,
.root-article-card,
.root-process-step,
.root-service-detail-card,
.root-statement-card {
  height: 100%;
  padding: 38px 34px;
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 30px;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.root-overview-card:hover,
.root-article-card:hover,
.root-process-step:hover,
.root-service-detail-card:hover,
.root-statement-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 44px rgba(17, 17, 17, 0.08);
  border-color: rgba(242, 140, 40, 0.28);
}

.root-overview-card .eyebrow,
.root-article-card .eyebrow,
.root-process-step .eyebrow,
.root-service-detail-card .eyebrow,
.root-statement-card .eyebrow {
  display: inline-block;
  margin-bottom: 18px;
  color: var(--color-lightGreen1);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.root-overview-card ul,
.root-service-detail-card ul,
.root-process-step ul {
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
}

.root-overview-card li,
.root-service-detail-card li,
.root-process-step li {
  position: relative;
  padding-left: 18px;
  margin-bottom: 12px;
  color: #666;
}

.root-overview-card li::before,
.root-service-detail-card li::before,
.root-process-step li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--color-lightGreen1);
}

.root-article-card {
  display: flex;
  flex-direction: column;
  gap: 26px;
}

.root-article-card.is-featured {
  background: linear-gradient(145deg, #fff, #fff8f1);
}

.root-article-card .img,
.root-overview-card .img,
.root-statement-card .img {
  overflow: hidden;
  border-radius: 24px;
}

.root-article-card .img img,
.root-overview-card .img img,
.root-statement-card .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.root-article-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.3fr);
  gap: 36px;
}

.root-article-sidebar {
  position: sticky;
  top: 130px;
  align-self: start;
  display: grid;
  gap: 24px;
}

.root-article-body {
  display: grid;
  gap: 28px;
}

.root-article-quote {
  padding: 34px;
  border-radius: 30px;
  background: #fff8f1;
  border: 1px solid rgba(242, 140, 40, 0.2);
  font-family: "Playfair Display", serif;
  font-size: clamp(1.5rem, 2vw, 2rem);
  line-height: 1.45;
}

.root-article-visual-card,
.root-related-card,
.root-article-visual-band {
  overflow: hidden;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 30px;
  background: #fff;
}

.root-article-visual-card {
  margin: 0;
}

.root-article-visual-card img,
.root-article-visual-band img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top left;
}

.root-article-visual-card img {
  min-height: 310px;
}

.page-process-overview .root-article-visual-card img {
  object-position: top left !important;
}

.root-article-visual-card figcaption,
.root-article-visual-band .info,
.root-related-card {
  padding: 28px;
}

.root-article-visual-card figcaption strong,
.root-article-visual-band strong,
.root-related-card strong {
  display: block;
  margin-bottom: 10px;
  color: #111;
  font-size: 1.02rem;
  line-height: 1.35;
}

.root-article-visual-card figcaption span,
.root-article-visual-band span,
.root-related-card p {
  color: #666;
  line-height: 1.7;
}

.root-related-card .root-link-arrow {
  margin-top: 18px;
}

.root-article-visual-band {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
}

.root-home-insight-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 42px;
}

.root-home-insight-pill {
  display: grid;
  gap: 10px;
  padding: 24px;
  border: 1px solid rgba(36, 17, 6, 0.1);
  border-radius: 24px;
  color: #241106;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 18px 60px rgba(36, 17, 6, 0.06);
}

.root-home-insight-pill span {
  color: var(--color-lightGreen1);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.root-home-insight-pill strong {
  font-size: 1.08rem;
  line-height: 1.35;
}

.root-home-insight-pill small {
  color: rgba(36, 17, 6, 0.68);
  line-height: 1.6;
}

.root-page-cta {
  padding: 44px 42px;
  border-radius: 32px;
  background: #171411;
  color: #fff;
}

.root-page-cta p {
  color: rgba(255, 255, 255, 0.72);
}

.root-link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #111;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.root-link-arrow i {
  transition: transform 0.3s ease;
}

.root-link-arrow:hover i {
  transform: translate(3px, -3px);
}

.root-dark-grid {
  position: relative;
}

.root-dark-grid::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
  background-size: 62px 62px;
  opacity: 0.25;
  pointer-events: none;
}

@media screen and (max-width: 991px) {
  .loader-wrap-heading {
    padding: 30px 24px 24px;
    border-radius: 28px;
  }

  .root-page-hero {
    padding: 140px 0 90px;
  }

  .root-article-layout {
    grid-template-columns: 1fr;
  }

  .root-article-sidebar {
    position: static;
  }

  .root-article-visual-band,
  .root-home-insight-strip {
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 767px) {
  .loader-wrap-heading {
    width: calc(100vw - 24px);
  }

  .loader-meta-row {
    gap: 8px;
  }

  .loader-pill {
    padding: 8px 12px;
  }

  .root-page-hero {
    padding-top: 126px;
  }

  .root-overview-card,
  .root-article-card,
  .root-process-step,
  .root-service-detail-card,
  .root-statement-card,
  .root-page-cta {
    padding: 30px 24px;
  }
}

.root-contact-layout .form {
  padding: 50px 40px;
  border: 1px solid rgba(17, 17, 17, 0.08);
  background: #fff;
}

.root-contact-layout .form .form-control {
  border-radius: 0;
  min-height: 56px;
}

.root-contact-layout textarea.form-control {
  min-height: 160px;
}

.root-contact-showcase {
  margin-top: 80px;
  padding-top: 80px;
  border-top: 1px solid rgba(17, 17, 17, 0.08);
}

.root-portfolio-masonry .portfolio-card .img {
  border-radius: 24px;
}

.root-portfolio-masonry .portfolio-card {
  border-radius: 24px;
  overflow: hidden;
}

.root-portfolio-masonry .portfolio-card .info {
  border-radius: 24px;
}

.root-portfolio-masonry .portfolio-card .info {
  padding-top: 24px;
}

.root-inner-footer .foot-content {
  padding-top: 120px;
}

.page-about-style1 .tc-about-header-style1 .pages-links a.active,
.page-about-style1 .tc-about-awards-style1 .table a:hover,
.page-about-style1 .tc-about-services-style1 .service-card .info ul a:hover,
.page-about-style1 .tc-about-timeline-style1 .arrows a:hover,
.page-about-style1 .tc-about-img-style1 .rotate-box .icon,
.page-about-style1 .color-blue1 {
  color: var(--color-lightGreen1) !important;
}

.page-about-style1 .tc-about-timeline-style1 .arrows a:hover {
  border-color: var(--color-lightGreen1);
}

.page-about-style1 .tc-about-header-style1 .pages-links a.active::after {
  background-color: var(--color-lightGreen1);
}

.page-about-style1 .tc-about-awards-style1 .button_su .button_text_container,
.page-about-style1 .tc-about-img-style1 .rotate-box .rotate-text {
  color: #111;
}

@media screen and (max-width: 991px) {
  .root-brand-label {
    display: none;
  }

  .tc-top-navbar-style2 {
    padding-bottom: 25px;
  }

  .root-inner-header .header-content {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .root-contact-layout .form {
    padding: 35px 24px;
    margin-top: 40px;
  }

  .root-service-framework,
  .root-fit-section,
  .root-gallery-intro,
  .root-gallery-summary,
  .root-about-collaboration,
  .root-about-sectors {
    padding-top: 90px !important;
    padding-bottom: 90px !important;
  }

  .root-framework-card,
  .root-case-card,
  .root-fit-card,
  .root-proof-card,
  .root-gallery-chip,
  .root-gallery-summary-card,
  .root-contact-brief-card,
  .root-about-mini-card,
  .root-about-sector-card {
    padding: 28px 22px;
  }

  .root-fit-section .sticky-info {
    padding-right: 0;
  }

  .root-approach-home {
    padding: 100px 0 80px;
  }

  .root-approach-home .content {
    padding: 0;
  }

  .root-approach-home .service-card {
    margin: -15px 0 !important;
    width: 100%;
    padding: 60px 20px;
    border-radius: 60px;
  }
}

/* Keep the orange top strip visual-only: no planning/promotional text in headers. */
body:not(.home-style2) .site-header::before {
  content: "" !important;
}

body:not(.home-style2) .site-header::after,
.cs-unified-topbar span::before,
body.home-style2.light-theme .tc-top-navbar-style2 strong::after {
  content: none !important;
  display: none !important;
}

/* Homepage refinement: quieter orange hero, proof strip and stronger footer. */
.home-style2 .tc-top-navbar-style2 {
  background: #f28c28;
  color: #241106;
  border-bottom: 1px solid rgba(36, 17, 6, 0.1);
}

.home-style2 .tc-top-navbar-style2 .borderd-btn {
  border-color: rgba(36, 17, 6, 0.24);
  background: rgba(255, 255, 255, 0.16);
}

.home-style2 .tc-top-navbar-style2 a {
  color: #241106;
}

.home-style2 .tc-navbar-style2 {
  padding: clamp(1.2rem, 3vw, 2rem) 5vw;
}

.home-style2.light-theme .tc-navbar-style2 .navbar-nav .nav-item .nav-link,
.home-style2 .tc-navbar-style2 .navbar-nav .nav-item .nav-link {
  color: #241106 !important;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.home-style2.light-theme .tc-navbar-style2 .navbar-nav .nav-item .nav-link.active,
.home-style2.light-theme .tc-navbar-style2 .navbar-nav .nav-item .nav-link:hover,
.home-style2 .tc-navbar-style2 .navbar-nav .nav-item .nav-link.active,
.home-style2 .tc-navbar-style2 .navbar-nav .nav-item .nav-link:hover {
  color: #fff4df !important;
  text-decoration: none;
}

.home-style2 .tc-navbar-style2 .navbar-toggler {
  border-color: rgba(36, 17, 6, 0.28);
}

.home-style2 .tc-navbar-style2 .navbar-toggler-icon {
  filter: invert(1);
}

.home-style2 .root-brand-label {
  color: #241106;
}

.home-style2 .tc-header-style2 {
  min-height: clamp(720px, 88vh, 940px);
  margin-top: -50px;
  padding: clamp(10rem, 20vw, 16rem) 0 clamp(5.8rem, 10vw, 8.5rem);
  background-color: #f28c28 !important;
  border-radius: 50px 50px 0 0;
  overflow: hidden;
}

.home-style2 .tc-header-style2 .back-img {
  display: none !important;
}

.home-style2 .tc-header-style2 .info {
  max-width: 1240px;
  margin: 0 auto;
  color: #241106;
}

.home-style2 .tc-header-style2 .info p {
  color: rgba(36, 17, 6, 0.72);
  font-size: clamp(1rem, 1.9vw, 1.48rem);
  letter-spacing: 0.08em;
}

.home-style2 .tc-header-style2 .info h1 {
  color: #241106;
  font-size: clamp(4.4rem, 10.6vw, 9rem);
  line-height: 0.96;
  letter-spacing: -0.075em;
  margin-bottom: clamp(2.8rem, 5vw, 5rem);
}

.home-style2 .tc-header-style2 .info .text {
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
  color: rgba(36, 17, 6, 0.78);
  line-height: 1.75;
}

.root-hero-highlight {
  color: #fff4df;
  text-shadow: 0 18px 44px rgba(68, 27, 0, 0.22);
}

.root-hero-subtle {
  color: #3a1b07;
}

.home-style2 .tc-header-style2 .brands p {
  color: rgba(36, 17, 6, 0.74);
}

.home-style2 .root-brand-pill {
  min-height: 48px;
  border-color: rgba(36, 17, 6, 0.24);
  background: rgba(255, 255, 255, 0.14);
  color: #2c1608;
}

.home-style2 .root-brand-pill:hover,
.home-style2 .root-brand-pill:focus {
  border-color: #241106;
  background: #241106;
  color: #fff4df;
}

.home-style2 .tc-navbar-style2 .dropdown-toggle {
  color: #241106 !important;
}

/* Align the other active templates with the homepage visual language. */
.root-page-hero,
.root-inner-header,
.root-about-header,
body:not([class]) .page-hero,
body:not([class]) .hero {
  background: #f28c28 !important;
  color: #241106;
}

.root-page-hero::before,
.root-page-hero::after {
  display: none;
}

.root-page-hero .root-page-kicker,
.root-inner-header .root-page-kicker,
.root-about-header .root-page-kicker,
body:not([class]) .page-hero .eyebrow,
body:not([class]) .hero .eyebrow {
  color: #fff4df !important;
}

.root-page-hero h1,
.root-page-hero h2,
.root-inner-header h1,
.root-about-header h1,
body:not([class]) .page-hero .page-title,
body:not([class]) .hero .display-title {
  color: #241106;
}

.root-page-hero .lead,
.root-inner-header .lead,
.root-about-header .lead,
body:not([class]) .page-hero .lead,
body:not([class]) .hero .lead {
  color: rgba(36, 17, 6, 0.76) !important;
}

.root-breadcrumbs,
.root-breadcrumbs a,
body:not([class]) .breadcrumb,
body:not([class]) .breadcrumb a {
  color: rgba(36, 17, 6, 0.72) !important;
}

.tc-inner-navbar-style1 {
  color: #241106;
}

.tc-inner-navbar-style1 .navbar-nav .nav-link,
.tc-inner-navbar-style1 .dropdown-toggle,
.tc-inner-navbar-style1 .root-brand-label,
.tc-inner-navbar-style1 .root-brand-dark {
  color: #241106 !important;
}

body:not(.home-style2) .root-page-hero,
body:not(.home-style2) .root-inner-header,
body:not(.home-style2) .root-about-header {
  padding-top: clamp(105px, 10vw, 145px) !important;
  padding-bottom: clamp(70px, 8vw, 105px) !important;
  min-height: auto !important;
}

body:not(.home-style2) .root-page-kicker,
body:not(.home-style2) .root-page-hero .root-page-kicker,
body:not(.home-style2) .root-inner-header .root-page-kicker,
body:not(.home-style2) .root-about-header .root-page-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: max-content;
  max-width: 100%;
  padding: 9px 18px;
  border: 1px solid rgba(242, 140, 40, 0.42);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: #b65710 !important;
  font-weight: 900;
  letter-spacing: 0.12em;
}

body:not(.home-style2) .root-page-kicker::before {
  background: #f28c28 !important;
}

.tc-inner-navbar-style1 .navbar-nav .nav-link.active,
.tc-inner-navbar-style1 .navbar-nav .nav-link:hover {
  color: #fff4df !important;
}

.tc-inner-navbar-style1 .navbar-toggler {
  border-color: rgba(36, 17, 6, 0.25);
}

.tc-inner-navbar-style1 .navbar-toggler-icon {
  filter: invert(1);
}

body:not([class]) .site-header {
  background: rgba(255, 246, 235, 0.92);
  border-color: rgba(36, 17, 6, 0.12);
  box-shadow: 0 18px 50px rgba(36, 17, 6, 0.08);
}

body:not([class]) .site-nav a:not(.btn),
body:not([class]) .brand {
  color: #241106;
}

body:not([class]) .brand strong {
  color: #241106;
}

body:not([class]) .brand > span > span {
  color: rgba(36, 17, 6, 0.55);
}

body:not([class]) .site-nav a:not(.btn):hover,
body:not([class]) .site-nav a.active {
  color: #b65710;
}

body:not([class]) .aside-panel,
body:not([class]) .sticky-note {
  border-color: rgba(36, 17, 6, 0.12);
  background: rgba(255, 246, 235, 0.7);
}

.root-signal-strip {
  background: #fff6eb;
  border-top: 1px solid rgba(36, 17, 6, 0.08);
  border-bottom: 1px solid rgba(36, 17, 6, 0.08);
}

.root-signal-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.root-signal-card {
  min-height: 100%;
  padding: clamp(1.5rem, 3vw, 2.2rem);
  border: 1px solid rgba(36, 17, 6, 0.1);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.68);
}

.root-signal-card span {
  display: inline-block;
  margin-bottom: 1.4rem;
  color: #b65710;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.root-signal-card h3 {
  margin-bottom: 1rem;
  color: #241106;
  font-size: clamp(1.1rem, 1.7vw, 1.45rem);
  line-height: 1.22;
  letter-spacing: -0.03em;
}

.root-signal-card p {
  margin: 0;
  color: #6a5c50;
  line-height: 1.7;
}

.root-smart-footer {
  background: #11100f;
  color: rgba(255, 246, 235, 0.74);
}

.tc-inner-footer-style1,
.root-inner-footer,
body:not([class]) .site-footer {
  background: #11100f !important;
  color: rgba(255, 246, 235, 0.72);
}

.root-smart-footer .root-footer-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: end;
  padding: clamp(4rem, 8vw, 7rem) 0 clamp(2.5rem, 5vw, 4rem);
}

.root-footer-kicker {
  margin-bottom: 1.1rem;
  color: #f28c28;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.root-footer-title {
  max-width: 12ch;
  margin-bottom: 1.4rem;
  color: #fff6eb;
  font-size: clamp(2.7rem, 8vw, 7rem);
  font-weight: 500;
  line-height: 0.92;
  letter-spacing: -0.08em;
  text-transform: uppercase;
}

.root-footer-lead {
  max-width: 620px;
  margin: 0;
  color: rgba(255, 246, 235, 0.68);
  font-size: clamp(1rem, 1.6vw, 1.18rem);
  line-height: 1.78;
}

.root-footer-actions {
  display: grid;
  gap: 0.8rem;
}

.root-footer-actions a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(255, 246, 235, 0.14);
  border-radius: 999px;
  color: #fff6eb;
}

.root-footer-actions a::after {
  content: "\2197";
  color: #f28c28;
}

.root-footer-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1.5rem, 4vw, 3rem);
  padding: clamp(2rem, 5vw, 3.5rem) 0;
  border-top: 1px solid rgba(255, 246, 235, 0.12);
}

.root-footer-column {
  display: grid;
  align-content: start;
  gap: 0.58rem;
}

.root-footer-column h3,
body:not([class]) .footer-main h3 {
  margin-bottom: 0.7rem;
  color: rgba(255, 246, 235, 0.86);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.root-footer-column a,
.root-footer-column span {
  color: rgba(255, 246, 235, 0.62);
  line-height: 1.65;
}

.root-footer-column a:hover {
  color: #fff6eb;
}

.root-footer-bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.3rem 0 1.6rem !important;
  border-top: 1px solid rgba(255, 246, 235, 0.12) !important;
  color: rgba(255, 246, 235, 0.54);
  font-size: 0.86rem;
}

.root-footer-bottom a {
  color: inherit;
}

.root-footer-bottom a:hover {
  color: #fff6eb;
}

.tc-footer-style2:not(.root-smart-footer) .foot-content,
.root-inner-footer .foot-content {
  padding: clamp(4rem, 8vw, 7rem) 0;
}

.tc-footer-style2:not(.root-smart-footer) .info h2 a,
.root-inner-footer .info h2 a {
  color: #fff6eb !important;
  border-bottom-color: rgba(242, 140, 40, 0.62) !important;
  font-size: clamp(2.4rem, 6.5vw, 5.4rem) !important;
  line-height: 0.95;
  letter-spacing: -0.06em;
}

.tc-footer-style2:not(.root-smart-footer) .info > p:first-child,
.root-inner-footer .info > p:first-child {
  font-size: clamp(1rem, 2vw, 1.55rem) !important;
  color: rgba(255, 255, 255, 0.76);
}

.root-inner-footer .info p a,
.root-inner-footer .info p span,
.tc-inner-footer-style1 .info p a,
.tc-inner-footer-style1 .info p span {
  color: rgba(255, 246, 235, 0.62) !important;
}

.root-inner-footer .foot,
.tc-inner-footer-style1 .foot {
  border-top-color: rgba(255, 246, 235, 0.12) !important;
}

.root-inner-footer .foot .links a,
.tc-inner-footer-style1 .foot .links a {
  color: rgba(255, 246, 235, 0.62);
}

.root-inner-footer .foot .links a:hover,
.tc-inner-footer-style1 .foot .links a:hover {
  color: #fff6eb !important;
}

body:not([class]) .footer-main {
  grid-template-columns: minmax(0, 1.05fr) repeat(3, minmax(0, 0.7fr));
  gap: clamp(1.5rem, 4vw, 3rem);
}

body:not([class]) .footer-main h2 {
  max-width: 15ch;
  font-size: clamp(2rem, 3.4vw, 3.4rem);
  line-height: 1.02;
}

body:not([class]) .footer-main p {
  max-width: 34rem;
  color: rgba(251, 244, 234, 0.66);
  line-height: 1.75;
}

body:not([class]) .footer-links {
  gap: 0.45rem;
}

body:not([class]) .footer-links a,
body:not([class]) .footer-links span {
  color: rgba(251, 244, 234, 0.64);
  line-height: 1.55;
}

body:not([class]) .visual-section {
  padding-top: clamp(3rem, 6vw, 5rem);
  background: linear-gradient(180deg, #fffaf3 0%, #f3e5d3 100%);
}

body:not([class]) .visual-showcase {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
  gap: clamp(1.2rem, 3vw, 2.4rem);
  align-items: stretch;
}

body:not([class]) .visual-frame,
body:not([class]) .visual-proof-card,
body:not([class]) .webapp-reference-card {
  overflow: hidden;
  border: 1px solid rgba(17, 16, 15, 0.11);
  border-radius: var(--cs-radius-lg);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 24px 70px rgba(26, 18, 12, 0.1);
}

body:not([class]) .visual-frame img,
body:not([class]) .visual-proof-card img,
body:not([class]) .webapp-reference-card img {
  width: 100%;
  object-fit: cover;
  object-position: top center;
}

body:not([class]) .visual-frame img {
  height: clamp(320px, 45vw, 560px);
}

body:not([class]) .visual-copy,
body:not([class]) .visual-proof-card div,
body:not([class]) .webapp-reference-card div {
  padding: clamp(1.5rem, 3vw, 2.4rem);
}

body:not([class]) .visual-copy {
  display: grid;
  align-content: end;
  color: var(--cs-paper);
  background:
    linear-gradient(145deg, rgba(17, 16, 15, 0.96), rgba(43, 28, 17, 0.94)),
    radial-gradient(circle at 80% 10%, rgba(255, 90, 20, 0.35), transparent 18rem);
}

body:not([class]) .visual-copy .eyebrow,
body:not([class]) .webapp-reference .eyebrow {
  color: #ffb58f;
}

body:not([class]) .visual-copy h2,
body:not([class]) .visual-copy p {
  color: inherit;
}

body:not([class]) .visual-proof-grid,
body:not([class]) .webapp-reference-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: clamp(1rem, 3vw, 2rem);
}

body:not([class]) .visual-proof-card img,
body:not([class]) .webapp-reference-card img {
  height: 220px;
}

body:not([class]) .visual-proof-card h3,
body:not([class]) .webapp-reference-card h3 {
  margin-bottom: 0.8rem;
  font-size: clamp(1.35rem, 2vw, 1.9rem);
  line-height: 1.18;
}

body:not([class]) .webapp-reference {
  color: var(--cs-paper);
  background: #151313;
}

body:not([class]) .webapp-reference .section-title,
body:not([class]) .webapp-reference .lead {
  color: var(--cs-paper);
}

body:not([class]) .webapp-reference-card {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: none;
}

body:not([class]) .webapp-reference-card h3,
body:not([class]) .webapp-reference-card p,
body:not([class]) .webapp-reference-card a {
  color: var(--cs-paper);
}

@media screen and (max-width: 991px) {
  body:not([class]) .visual-showcase,
  body:not([class]) .visual-proof-grid,
  body:not([class]) .webapp-reference-grid {
    grid-template-columns: 1fr;
  }
}

.root-insight-more {
  border-top: 1px solid rgba(17, 17, 17, 0.08);
}

.root-insight-more .root-article-card {
  padding: 34px;
}

.root-insight-more .root-article-card .eyebrow {
  margin-bottom: 14px;
}

.root-insight-card-img {
  height: 245px;
  background: #171411;
}

.root-insight-card-img img {
  object-position: top center;
}

@media screen and (max-width: 991px) {
  .home-style2 .tc-header-style2 {
    padding: 8rem 0 5rem;
  }

  .home-style2 .tc-header-style2 .info {
    margin-top: 0;
  }

  .home-style2 .tc-header-style2 .info h1 {
    font-size: clamp(3.25rem, 15vw, 5rem);
  }

  .root-signal-grid,
  .root-smart-footer .root-footer-panel,
  .root-footer-grid,
  body:not([class]) .footer-main {
    grid-template-columns: 1fr;
  }

  .root-footer-title {
    max-width: 10ch;
  }
}

/* Keep page headers intact; only replace legacy footers with the shared footer. */
footer:not(.cs-unified-footer) {
  display: none !important;
}

.cs-unified-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  color: #241106;
  font-family: Inter, Poppins, Arial, sans-serif;
}

.cs-unified-shell {
  width: min(1520px, calc(100% - clamp(1rem, 4vw, 4rem)));
  margin: 0 auto;
}

.cs-unified-topbar {
  background: #f28c28;
  color: #fff7ec;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.cs-unified-topbar .cs-unified-shell {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(1rem, 4vw, 3rem);
  min-height: 44px;
  text-align: center;
}

.cs-unified-topbar a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.cs-unified-nav {
  background: rgba(255, 247, 237, 0.96);
  border-bottom: 1px solid rgba(36, 17, 6, 0.1);
  box-shadow: 0 24px 70px rgba(36, 17, 6, 0.08);
  backdrop-filter: blur(18px);
}

.cs-unified-nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(1rem, 3vw, 2rem);
  min-height: 92px;
}

.cs-unified-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.9rem;
  min-width: max-content;
  color: #241106;
  text-decoration: none;
}

.cs-unified-brand img {
  width: 66px;
  height: 66px;
  object-fit: contain;
}

.cs-unified-brand strong,
.cs-unified-brand small {
  display: block;
}

.cs-unified-brand strong {
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cs-unified-brand small {
  margin-top: 0.12rem;
  color: rgba(36, 17, 6, 0.58);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.cs-unified-links {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(1rem, 2vw, 2rem);
  margin-left: auto;
}

.cs-unified-links a {
  color: #241106;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-decoration: none;
  text-transform: uppercase;
}

.cs-unified-links a:hover,
.cs-unified-links a[aria-current="page"] {
  color: #b65710;
}

.cs-unified-cta {
  padding: 0.86rem 1.12rem;
  border: 1px solid rgba(36, 17, 6, 0.12);
  border-radius: 999px;
  background: #241106;
  color: #fff7ec !important;
}

.cs-menu-toggle {
  display: none;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(36, 17, 6, 0.16);
  border-radius: 50%;
  background: #fff7ec;
}

.cs-menu-toggle span {
  display: block;
  width: 18px;
  height: 2px;
  margin: 4px auto;
  background: #241106;
}

.home-style2 .tc-header-style2,
.root-page-hero,
.root-inner-header,
.root-about-header,
body:not([class]) .page-hero,
body:not([class]) .hero {
  background:
    radial-gradient(circle at 12% 22%, rgba(242, 140, 40, 0.18), transparent 28rem),
    linear-gradient(135deg, #fff7ed 0%, #f7eadc 100%) !important;
  color: #241106 !important;
}

.home-style2 .tc-header-style2 {
  min-height: auto;
  margin-top: 0 !important;
  padding: clamp(5.5rem, 10vw, 9rem) 0 clamp(4rem, 8vw, 7rem) !important;
  border-radius: 0 0 44px 44px;
}

.home-style2 .tc-header-style2 .info {
  max-width: 980px;
  margin: 0;
  text-align: left;
}

.home-style2 .tc-header-style2 .info p,
.home-style2 .tc-header-style2 .info .text,
.root-page-hero .lead,
.root-inner-header .lead,
.root-about-header .lead,
body:not([class]) .page-hero .lead,
body:not([class]) .hero .lead {
  color: rgba(36, 17, 6, 0.72) !important;
}

.home-style2 .tc-header-style2 .info h1,
.root-page-hero h1,
.root-page-hero h2,
.root-inner-header h1,
.root-about-header h1,
body:not([class]) .page-hero .page-title,
body:not([class]) .hero .display-title {
  color: #241106 !important;
}

.home-style2 .tc-header-style2 .info h1 {
  max-width: 11ch;
  font-size: clamp(3.8rem, 7.8vw, 7.4rem) !important;
  line-height: 0.94;
  letter-spacing: -0.075em;
}

.root-hero-highlight {
  color: #f28c28 !important;
  text-shadow: none !important;
}

.root-about-header .back-img,
.root-about-header .symbol-img {
  display: none !important;
}

.home-style2 .tc-about-style2 {
  display: block !important;
  position: relative;
  padding: clamp(3rem, 6vw, 6rem) clamp(1rem, 4vw, 4rem) clamp(5rem, 8vw, 8rem);
  background: linear-gradient(180deg, #2b1206 0%, #fff7ed 18%, #fff 100%);
}

.home-style2 .tc-about-style2::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: clamp(90px, 12vw, 160px);
  background: #2b1206;
  border-radius: 0 0 46px 46px;
  pointer-events: none;
}

.home-style2 .tc-about-style2 .back-img {
  position: relative;
  z-index: 2;
  width: min(1480px, 100%);
  height: clamp(320px, 48vw, 680px);
  margin: 0 auto;
  overflow: hidden;
  border: 10px solid #fff7ed;
  border-radius: 44px;
  box-shadow: 0 36px 110px rgba(27, 27, 30, 0.18);
}

.home-style2 .tc-about-style2 .back-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(1.08) contrast(1.03);
}

.root-hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.65fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: end;
}

.root-hero-visuals {
  display: grid;
  gap: 18px;
}

.root-hero-visual-card {
  overflow: hidden;
  border: 1px solid rgba(36, 17, 6, 0.1);
  border-radius: 30px;
  background: #fff;
  box-shadow: 0 24px 80px rgba(36, 17, 6, 0.12);
}

.root-hero-visual-card img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  object-position: top center;
}

.root-hero-visual-card.is-small img {
  height: 150px;
}

.root-hero-visual-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.root-hero-price-note {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  width: max-content;
  max-width: 100%;
  margin-top: 2rem;
  padding: 0.82rem 1rem;
  border: 1px solid rgba(36, 17, 6, 0.12);
  border-radius: 999px;
  background: #241106;
  color: #fff7ec;
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.root-affordable-strip {
  background: #241106;
  color: #fff7ec;
}

.root-affordable-strip .root-signal-card {
  border-color: rgba(255, 247, 237, 0.14);
  background: rgba(255, 255, 255, 0.055);
}

.root-affordable-strip .root-signal-card h3 {
  color: #fff7ec;
}

.root-affordable-strip .root-signal-card p {
  color: rgba(255, 247, 237, 0.68);
}

.root-affordable-strip .root-signal-card span {
  color: #f28c28;
}

.root-seo-visual-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.root-seo-visual-card {
  overflow: hidden;
  border-radius: 30px;
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.08);
}

.root-seo-visual-card img {
  width: 100%;
  height: 190px;
  object-fit: cover;
  object-position: top center;
}

.root-seo-visual-card div {
  padding: 24px;
}

.root-seo-visual-card span {
  display: block;
  margin-bottom: 10px;
  color: #f28c28;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.root-seo-visual-card h3 {
  margin-bottom: 14px;
  font-size: clamp(1.2rem, 2vw, 1.7rem);
  line-height: 1.2;
}

.root-seo-visual-card p {
  margin-bottom: 18px;
  color: #666;
  line-height: 1.65;
}

@media screen and (max-width: 1180px) {
  .cs-unified-links {
    gap: 0.85rem;
  }

  .cs-unified-links a {
    font-size: 0.75rem;
  }
}

@media screen and (max-width: 991px) {
  .cs-unified-topbar .cs-unified-shell {
    justify-content: space-between;
    min-height: 40px;
    font-size: 0.68rem;
  }

  .cs-unified-nav-inner {
    min-height: 78px;
  }

  .cs-unified-brand img {
    width: 54px;
    height: 54px;
  }

  .cs-menu-toggle {
    display: block;
  }

  .cs-unified-links {
    position: fixed;
    inset: 118px 1rem auto 1rem;
    display: grid;
    gap: 0;
    padding: 1rem;
    border: 1px solid rgba(36, 17, 6, 0.12);
    border-radius: 28px;
    background: #fff7ed;
    box-shadow: 0 24px 80px rgba(36, 17, 6, 0.18);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-12px);
    transition: opacity 0.2s ease, transform 0.2s ease;
  }

  body[data-cs-menu-open] .cs-unified-links {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .cs-unified-links a {
    padding: 0.92rem 0.4rem;
    border-bottom: 1px solid rgba(36, 17, 6, 0.08);
  }

  .cs-unified-links a:last-child {
    border-bottom: 0;
  }

  .cs-unified-cta {
    margin-top: 0.7rem;
    text-align: center;
  }

  .root-hero-layout,
  .root-seo-visual-strip {
    grid-template-columns: 1fr;
  }

  .root-hero-visual-grid {
    grid-template-columns: 1fr;
  }
}

/* Restore the Swak-like rounded header system after the global chrome injection. */
.cs-unified-header {
  position: relative;
  top: auto;
  z-index: 1000;
  padding-bottom: 22px;
  background: #f28c28;
  color: #111;
}

.cs-unified-topbar {
  padding: 10px 0 54px;
  background: #f28c28;
  color: #111;
}

.cs-unified-topbar .cs-unified-shell {
  min-height: auto;
  justify-content: center;
  gap: 20px;
}

.cs-unified-topbar span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.cs-unified-topbar a {
  color: #111;
  font-weight: 900;
}

.cs-unified-nav {
  margin-top: -40px;
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
}

.cs-unified-nav-inner {
  width: min(1480px, calc(100% - clamp(1rem, 4vw, 4rem)));
  min-height: 82px;
  padding: 0 24px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  background: rgba(18, 18, 20, 0.96);
  box-shadow: 0 22px 70px rgba(0, 0, 0, 0.22);
}

.cs-unified-brand,
.cs-unified-links a {
  color: #fff !important;
}

.cs-unified-brand img {
  width: 48px;
  height: 48px;
}

.cs-unified-brand small {
  color: rgba(255, 255, 255, 0.55);
}

.cs-unified-links a:hover,
.cs-unified-links a[aria-current="page"] {
  color: #f28c28 !important;
}

.cs-unified-cta {
  border-color: rgba(242, 140, 40, 0.5);
  background: #f28c28;
  color: #111 !important;
}

.cs-unified-cta:hover,
.cs-unified-cta[aria-current="page"] {
  color: #111 !important;
}

.home-style2 .tc-header-style2 {
  min-height: 100vh !important;
  padding: 550px 0 130px !important;
  overflow: hidden;
  border-radius: 0 !important;
  background: #fff !important;
  color: #1b1b1e !important;
}

.home-style2 .tc-header-style2 .info {
  max-width: none;
  margin: 0;
  text-align: center;
}

.home-style2 .tc-header-style2 .info h1 {
  max-width: none;
  margin-bottom: 120px;
  font-size: clamp(4rem, 8.3vw, 7.5rem) !important;
  line-height: 1.08;
  letter-spacing: -0.055em;
  color: #1b1b1e !important;
}

.home-style2 .tc-header-style2 .info p,
.home-style2 .tc-header-style2 .info .text {
  color: rgba(27, 27, 30, 0.72) !important;
}

.home-style2 .tc-header-style2 .back-img {
  display: block !important;
  position: absolute;
  left: 20%;
  top: 0;
  width: 60%;
  height: 600px;
  object-fit: cover;
  object-position: center;
  opacity: 0.72;
  filter: sepia(0.65) saturate(1.75) hue-rotate(345deg) brightness(1.02);
  background: #f28c28;
  mix-blend-mode: multiply;
}

.home-style2.light-theme .tc-top-navbar-style2 {
  display: block !important;
  color: #111;
  text-align: center;
  padding: 10px 0 60px;
  background: #f28c28;
}

.home-style2.light-theme .tc-top-navbar-style2 .borderd-btn {
  padding: 3px 10px;
  border: 1px solid rgba(0, 0, 0, 0.22);
  border-radius: 30px;
  margin-inline-end: 10px;
}

.home-style2.light-theme .tc-top-navbar-style2 a {
  margin-inline-start: 20px;
  color: #111;
  text-decoration: underline;
}

.home-style2.light-theme .tc-navbar-style2 {
  display: flex !important;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 99;
  padding: 30px 5vw;
  background: transparent;
}

.home-style2.light-theme .tc-navbar-style2 .navbar-nav .nav-item .nav-link,
.home-style2.light-theme .tc-navbar-style2 .dropdown-toggle,
.home-style2.light-theme .tc-navbar-style2 .root-brand-label {
  color: #1b1b1e !important;
}

.home-style2.light-theme .tc-navbar-style2 .navbar-nav .nav-item .nav-link:hover,
.home-style2.light-theme .tc-navbar-style2 .navbar-nav .nav-item .nav-link.active {
  color: #b65710 !important;
  text-decoration: underline;
}

.home-style2.light-theme .tc-navbar-style2 .navbar-brand .logo {
  max-height: 34px;
}

.home-style2 .tc-header-style2 .brands {
  position: relative;
  z-index: 10;
  text-align: center;
}

.home-style2 .tc-header-style2 .brands .brands-content {
  justify-content: center;
  gap: 20px;
}

.home-style2 .tc-header-style2 .brands .brands-content a {
  margin-top: 20px;
  opacity: 1;
}

.home-style2 .root-brand-pill {
  border-color: rgba(27, 27, 30, 0.14);
  color: #1b1b1e;
  background: rgba(27, 27, 30, 0.035);
}

.home-style2 .root-brand-pill:hover {
  border-color: rgba(242, 140, 40, 0.8);
  color: #b65710;
}

@media screen and (max-width: 991px) {
  .cs-unified-topbar {
    padding-bottom: 46px;
  }

  .cs-unified-topbar .cs-unified-shell {
    display: grid;
    justify-items: center;
    gap: 8px;
  }

  .cs-unified-nav-inner {
    min-height: 72px;
    border-radius: 32px;
  }

  .cs-menu-toggle {
    display: block;
    background: transparent;
    border-color: rgba(255, 255, 255, 0.2);
  }

  .cs-menu-toggle span {
    background: #fff;
  }

  .cs-unified-links {
    inset: 132px 1rem auto 1rem;
    background: #171719;
    border-color: rgba(255, 255, 255, 0.1);
  }

  .cs-unified-links a {
    border-bottom-color: rgba(255, 255, 255, 0.08);
  }

  .home-style2 .tc-header-style2 {
    padding: 360px 0 90px !important;
  }

  .home-style2 .tc-header-style2 .back-img {
    left: 0;
    width: 100%;
    height: 390px;
  }

  .home-style2 .tc-header-style2 .info h1 {
    margin-bottom: 36px;
    font-size: clamp(3rem, 13vw, 5rem) !important;
  }
}

/* About page: keep active pills readable and show case previews uncropped. */
.page-about-style1 .tc-about-header-style1 .pages-links a.active {
  background-color: #f28c28 !important;
  border-color: #b65710 !important;
  color: #241106 !important;
}

.page-about-style1 .tc-about-header-style1 .pages-links a.active::after {
  background-color: #241106 !important;
}

.page-about-style1 .tc-about-timeline-style1 .img-card {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  aspect-ratio: 4 / 3;
  padding: clamp(14px, 2vw, 26px);
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 26px;
  background: #f7eee5;
  overflow: hidden;
}

.page-about-style1 .tc-about-timeline-style1 .img-card .main-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  background: #111;
}

/* Logo symbol sizing after replacing favicon.png with the real high-res mark. */
img.logo,
.navbar-brand img.logo,
.brand img,
.root-slider-mark,
.award-icon img,
.symbol1,
.symbol2,
.symbol-img,
.service-card .icon img,
.service-card .logo img {
  object-fit: contain !important;
}

img.logo,
.navbar-brand img.logo {
  width: 46px !important;
  max-width: 46px !important;
  height: 46px !important;
  max-height: 46px !important;
}

.home-style2.light-theme .tc-navbar-style2 .navbar-brand .logo {
  width: 42px !important;
  max-width: 42px !important;
  height: 42px !important;
  max-height: 42px !important;
}

.root-slider-mark {
  width: 42px !important;
  height: 42px !important;
}

.award-icon img,
.service-card .icon img,
.service-card .logo img {
  width: 54px !important;
  max-width: 54px !important;
  height: 54px !important;
  max-height: 54px !important;
}

.symbol1,
.symbol2,
.symbol-img {
  width: clamp(90px, 12vw, 180px) !important;
  max-width: clamp(90px, 12vw, 180px) !important;
  height: auto !important;
}

.page-about-style1 .root-about-timeline-year {
  color: #f28c28 !important;
  font-size: clamp(4.5rem, 10vw, 9rem) !important;
  line-height: 0.9;
}

/* Process and blog pages use the same rounded inner header family as about. */
.page-services-overview .tc-about-header-style1,
.page-process-overview .tc-about-header-style1,
.page-insights-overview .tc-about-header-style1 {
  position: relative;
  z-index: 10;
  margin-top: -50px;
  overflow: hidden;
  padding: clamp(190px, 16vw, 250px) 0 clamp(60px, 7vw, 90px) !important;
  border-radius: 50px 50px 0 0;
  background:
    radial-gradient(circle at 80% 10%, rgba(242, 140, 40, 0.28), transparent 30%),
    linear-gradient(180deg, #fff8f1 0%, #f3eee8 100%) !important;
  color: #241106;
}

.page-services-overview .tc-about-header-style1 .info,
.page-process-overview .tc-about-header-style1 .info,
.page-insights-overview .tc-about-header-style1 .info {
  position: relative;
  z-index: 10;
}

.page-services-overview .tc-about-header-style1 .info h6,
.page-process-overview .tc-about-header-style1 .info h6,
.page-insights-overview .tc-about-header-style1 .info h6 {
  margin-bottom: 40px;
  color: #b0b0b0;
  font-weight: 400;
  text-transform: uppercase;
}

.page-services-overview .tc-about-header-style1 .info h1,
.page-process-overview .tc-about-header-style1 .info h1,
.page-insights-overview .tc-about-header-style1 .info h1 {
  max-width: 1180px;
  margin-bottom: clamp(70px, 10vw, 150px);
  color: #241106 !important;
  font-size: clamp(3.1rem, 5.6vw, 5rem);
  font-weight: 700;
  line-height: 1.13;
  text-transform: none !important;
}

.page-services-overview .tc-about-header-style1 .lead,
.page-process-overview .tc-about-header-style1 .lead,
.page-insights-overview .tc-about-header-style1 .lead {
  max-width: 760px;
  margin-top: -110px;
  margin-bottom: 90px;
  color: rgba(36, 17, 6, 0.72) !important;
  line-height: 1.85;
}

.page-services-overview .tc-about-header-style1 .pages-links,
.page-process-overview .tc-about-header-style1 .pages-links,
.page-insights-overview .tc-about-header-style1 .pages-links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.page-services-overview .tc-about-header-style1 .pages-links a,
.page-process-overview .tc-about-header-style1 .pages-links a,
.page-insights-overview .tc-about-header-style1 .pages-links a {
  padding: 8px 25px;
  border: 1px solid rgba(17, 17, 17, 0.14) !important;
  border-radius: 30px;
  color: #111 !important;
  text-transform: uppercase;
}

.page-services-overview .tc-about-header-style1 .pages-links a.active,
.page-process-overview .tc-about-header-style1 .pages-links a.active,
.page-insights-overview .tc-about-header-style1 .pages-links a.active {
  background-color: #f28c28 !important;
  border-color: #b65710 !important;
  color: #241106 !important;
}

@media screen and (max-width: 991px) {
  .page-services-overview .tc-about-header-style1,
  .page-process-overview .tc-about-header-style1,
  .page-insights-overview .tc-about-header-style1 {
    padding-top: 0 !important;
  }

  .page-services-overview .tc-about-header-style1 .info h1,
  .page-process-overview .tc-about-header-style1 .info h1,
  .page-insights-overview .tc-about-header-style1 .info h1 {
    margin-bottom: 80px;
    font-size: 2rem;
  }

  .page-services-overview .tc-about-header-style1 .lead,
  .page-process-overview .tc-about-header-style1 .lead,
  .page-insights-overview .tc-about-header-style1 .lead {
    margin-top: -55px;
    margin-bottom: 50px;
  }
}

/* Inner pages: active menu item must stay readable on the light/orange hero. */
body:not(.home-style2) .tc-inner-navbar-style1 .navbar-nav .nav-link.active,
body:not(.home-style2) .tc-inner-navbar-style1 .navbar-nav .nav-link[aria-current="page"] {
  color: #241106 !important;
  background: rgba(242, 140, 40, 0.2) !important;
  border: 1px solid rgba(242, 140, 40, 0.48) !important;
  border-radius: 999px !important;
  text-decoration: none !important;
}

body:not(.home-style2) .tc-inner-navbar-style1 .navbar-nav .nav-link:hover,
body:not(.home-style2) .tc-inner-navbar-style1 .navbar-nav .nav-link:focus {
  color: #b65710 !important;
  text-decoration: underline;
  text-underline-offset: 4px;
}

body:not(.home-style2) .tc-inner-navbar-style1 .navbar-nav .nav-link.active:hover,
body:not(.home-style2) .tc-inner-navbar-style1 .navbar-nav .nav-link.active:focus {
  color: #241106 !important;
  text-decoration: none !important;
}

/* Quality layer: shared chrome, readable heroes, compact homepage. */
.loader-wrap {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.wow,
.reveal,
.header-content,
.js-splittext-lines,
.js-splittext-lines * {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  translate: none !important;
  rotate: none !important;
  scale: none !important;
}

body:not(.home-style2) .mouse-cursor {
  display: none !important;
}

body:not(.home-style2) .root-page-hero::before,
body:not(.home-style2) .root-inner-header::before,
body:not(.home-style2) .root-about-header::before,
body:not([class]) .page-hero::before,
body:not([class]) .hero::before,
body:not(.home-style2) .root-page-hero::after,
body:not(.home-style2) .root-inner-header::after,
body:not(.home-style2) .root-about-header::after,
body:not([class]) .page-hero::after,
body:not([class]) .hero::after {
  content: none !important;
  display: none !important;
  background: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

body:not(.home-style2) .root-page-hero,
body:not(.home-style2) .root-inner-header,
body:not(.home-style2) .root-about-header,
body:not([class]) .page-hero,
body:not([class]) .hero {
  min-height: auto !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, #fff7ec 0%, #fffaf3 62%, #fff 100%) !important;
  color: #241106 !important;
  padding: clamp(68px, 7vw, 112px) 0 clamp(70px, 8vw, 106px) !important;
}

body:not([class]) .page-hero .aside-panel,
body:not([class]) .hero .aside-panel {
  color: #241106 !important;
  border-color: rgba(36, 17, 6, 0.12) !important;
  background: rgba(255, 255, 255, 0.48) !important;
}

body:not([class]) .page-hero .aside-panel *,
body:not([class]) .hero .aside-panel * {
  color: inherit !important;
}

body:not([class]) .page-hero .aside-panel a,
body:not([class]) .hero .aside-panel a {
  color: #b73700 !important;
}

body:not([class])[data-cs-main-menu-page="true"] .page-hero-grid {
  display: block !important;
  max-width: 980px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: center !important;
}

body:not([class])[data-cs-main-menu-page="true"] .page-hero .page-title {
  max-width: 980px !important;
  font-size: clamp(3.2rem, 4.8vw, 4.45rem) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.052em !important;
}

body:not([class])[data-cs-main-menu-page="true"] .page-hero .lead {
  max-width: 720px !important;
  font-size: clamp(1.05rem, 1.28vw, 1.2rem) !important;
}

body:not([class])[data-cs-main-menu-page="true"] .page-hero .aside-panel {
  display: none !important;
}

.home-style2.light-theme .tc-header-style2 {
  display: flex !important;
  flex-direction: column !important;
  min-height: clamp(620px, 76vh, 760px) !important;
  padding: 0 0 clamp(70px, 7vw, 105px) !important;
}

.home-style2.light-theme .tc-header-style2 .header-content {
  display: block !important;
  position: absolute !important;
  top: clamp(185px, 18vw, 240px) !important;
  right: 0 !important;
  left: 0 !important;
  z-index: 20 !important;
  height: auto !important;
  min-height: 0 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  overflow: visible !important;
  transform: none !important;
}

.home-style2.light-theme .tc-header-style2 .info,
.home-style2.light-theme .tc-header-style2 .info * {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  translate: none !important;
  rotate: none !important;
  scale: none !important;
}

.home-style2.light-theme .tc-header-style2 .info {
  display: block !important;
  max-width: 1160px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: center !important;
  transform: none !important;
}

.home-style2.light-theme .tc-header-style2 .info .js-splittext-lines,
.home-style2.light-theme .tc-header-style2 .info .js-splittext-lines * {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
}

.home-style2.light-theme .tc-header-style2 .info p.fsz-30.mb-50 {
  margin-bottom: 0.95rem !important;
  color: rgba(36, 17, 6, 0.72) !important;
  font-size: clamp(0.74rem, 0.82vw, 0.88rem) !important;
  line-height: 1.35 !important;
  letter-spacing: 0.13em !important;
}

.home-style2.light-theme .tc-header-style2 .info h1 {
  display: block !important;
  max-width: 1120px !important;
  margin: 0 auto clamp(1.4rem, 2.4vw, 2.5rem) !important;
  color: #241106 !important;
  font-size: clamp(3.35rem, 5.35vw, 5.9rem) !important;
  line-height: 0.96 !important;
  letter-spacing: -0.06em !important;
  transform: none !important;
}

.home-style2.light-theme .tc-header-style2 .info .text.mb-90 {
  margin-bottom: clamp(2.1rem, 3.2vw, 3.5rem) !important;
}

body:not([class]) .visual-frame img[src*="mrsteve.png"] {
  height: 100% !important;
  min-height: clamp(320px, 45vw, 560px) !important;
  object-fit: cover !important;
  object-position: top left !important;
  background: #050505 !important;
  transform: none !important;
}

@media screen and (max-width: 991px) {
  body:not(.home-style2) .root-page-hero,
  body:not(.home-style2) .root-inner-header,
  body:not(.home-style2) .root-about-header,
  body:not([class]) .page-hero,
  body:not([class]) .hero {
    padding: 64px 0 72px !important;
  }

  .home-style2.light-theme .tc-header-style2 .header-content {
    top: 150px !important;
    margin-top: 0 !important;
  }

  .home-style2.light-theme .tc-header-style2 .info h1 {
    font-size: clamp(2.7rem, 10.5vw, 4.1rem) !important;
  }
}

@media screen and (max-width: 760px) {
  body:not([class])[data-cs-main-menu-page="true"] .page-hero .page-title {
    max-width: calc(100vw - 2.4rem) !important;
    font-size: clamp(2.2rem, 10.5vw, 2.85rem) !important;
    line-height: 1 !important;
    letter-spacing: -0.045em !important;
    overflow-wrap: break-word !important;
  }

  body:not([class])[data-cs-main-menu-page="true"] .page-hero .lead {
    max-width: min(320px, calc(100vw - 2.4rem)) !important;
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
  }
}

/* Mobile index menu: closed by default, opened only by the hamburger. */
@media screen and (max-width: 991px) {
  body.home-style2.light-theme .tc-navbar-style2 {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 50 !important;
    width: 100% !important;
    overflow: visible !important;
  }

  body.home-style2.light-theme .tc-navbar-style2 .container-fluid {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.home-style2.light-theme .tc-navbar-style2 .navbar-toggler {
    position: relative !important;
    z-index: 60 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    margin-left: auto !important;
    border: 1px solid rgba(36, 17, 6, 0.24) !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.9) !important;
  }

  body.home-style2.light-theme .tc-navbar-style2 .navbar-collapse {
    position: absolute !important;
    top: calc(100% + 0.75rem) !important;
    right: 0.75rem !important;
    left: 0.75rem !important;
    z-index: 55 !important;
    display: none !important;
    width: auto !important;
    max-height: calc(100vh - 155px) !important;
    padding: 1rem !important;
    overflow-y: auto !important;
    border: 1px solid rgba(36, 17, 6, 0.1) !important;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 18px 46px rgba(36, 17, 6, 0.2) !important;
  }

  body.home-style2.light-theme .tc-navbar-style2 .navbar-collapse.show {
    display: block !important;
  }

  body.home-style2.light-theme .tc-navbar-style2 .navbar-nav {
    display: flex !important;
    align-items: stretch !important;
    flex-direction: column !important;
    gap: 0.15rem !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body.home-style2.light-theme .tc-navbar-style2 .navbar-nav .nav-item .nav-link {
    display: block !important;
    width: 100% !important;
    padding: 0.8rem 0.9rem !important;
    color: #1b1b1e !important;
    text-align: left !important;
  }

  body.home-style2.light-theme .tc-navbar-style2 .navbar-nav .nav-item .nav-link.active,
  body.home-style2.light-theme .tc-navbar-style2 .navbar-nav .nav-item .nav-link:hover {
    color: #b65710 !important;
  }

  body.home-style2.light-theme[data-index-menu-open] .tc-header-style2 .header-content {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.home-style2.light-theme .tc-header-style2:has(.navbar-collapse.show) .header-content {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wow,
  .js-splittext-lines,
  .js-splittext-lines * {
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

.to_top,
.cs-to-top {
  position: fixed !important;
  right: 24px !important;
  bottom: 24px !important;
  z-index: 10020 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 52px !important;
  height: 52px !important;
  border: 1px solid rgba(36, 17, 6, 0.16) !important;
  border-radius: 999px !important;
  background: #f28c28 !important;
  color: #241106 !important;
  box-shadow: 0 16px 36px rgba(36, 17, 6, 0.18) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(12px) !important;
  transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease, background 0.2s ease !important;
}

.to_top.show,
.cs-to-top.show {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}

.to_top span,
.cs-to-top span {
  position: relative !important;
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  border-top: 2px solid currentColor !important;
  border-left: 2px solid currentColor !important;
  transform: translateY(4px) rotate(45deg) !important;
}

.to_top:hover,
.cs-to-top:hover {
  background: #241106 !important;
  color: #fff !important;
}

@media screen and (max-width: 760px) {
  .to_top,
  .cs-to-top {
    right: 16px !important;
    bottom: 16px !important;
    width: 48px !important;
    height: 48px !important;
  }
}

body:not([class]) .page-hero .eyebrow,
body:not([class]) .hero .eyebrow,
body:not([class]) .section .eyebrow {
  color: #b73700 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

body:not([class]) .page-hero .eyebrow::before,
body:not([class]) .hero .eyebrow::before,
body:not([class]) .section .eyebrow::before {
  background: #b73700 !important;
  opacity: 1 !important;
}

@media screen and (max-width: 991px) {
  body.home-style2.light-theme .tc-header-style2 {
    min-height: 820px !important;
  }

  body.home-style2.light-theme .tc-header-style2 .header-content {
    top: 165px !important;
  }

  body.home-style2.light-theme .tc-header-style2 .back-img {
    display: none !important;
  }

  body.home-style2.light-theme .tc-header-style2 .info h1 {
    font-size: clamp(2.7rem, 10vw, 4.2rem) !important;
  }
}

/* Safety after removing template animations: homepage sections must be visible immediately. */
body.home-style2 .tc-services-style2,
body.home-style2 .tc-featured-style2,
body.home-style2 .tc-testimonials-style2,
body.home-style2 .tc-blog-style2 {
  visibility: visible !important;
  opacity: 1 !important;
}

.root-process-step {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-direction: column !important;
  min-height: 420px !important;
  padding-top: 58px !important;
  text-align: center !important;
}

.root-process-step > span:first-child {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 78px !important;
  height: 78px !important;
  margin-bottom: 34px !important;
  border: 1px solid rgba(242, 140, 40, 0.3) !important;
  border-radius: 999px !important;
  background: rgba(242, 140, 40, 0.1) !important;
  color: #b65710 !important;
  font-family: "Inter", sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
}

body.home-style2 .tc-blog-style2 .blog-card {
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease !important;
}

body.home-style2 .tc-blog-style2 .blog-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 22px 54px rgba(36, 17, 6, 0.12) !important;
}

body.home-style2 .tc-blog-style2 .blog-card .img {
  display: block !important;
  min-height: 260px !important;
  margin-bottom: 28px !important;
  overflow: hidden !important;
  border-radius: 30px !important;
  background: #171411 !important;
}

body.home-style2 .tc-blog-style2 .blog-card .img img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 260px !important;
  object-fit: cover !important;
  object-position: top center !important;
  transition: transform 0.35s ease, filter 0.35s ease !important;
}

body.home-style2 .tc-blog-style2 .blog-card:hover .img img {
  transform: scale(1.045) !important;
  filter: saturate(1.08) contrast(1.04) !important;
}

body.home-style2 .tc-services-style2 .service-card .icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 52px !important;
  height: 52px !important;
  border: 1px solid rgba(36, 17, 6, 0.22) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.52) !important;
  color: #241106 !important;
}

body.home-style2 .tc-services-style2 .service-card .icon::before {
  content: "↗" !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

body.home-style2:not(.is-loaded),
body.page-contact-style1:not(.is-loaded),
body.page-about-style1:not(.is-loaded),
body.page-services-overview:not(.is-loaded),
body.page-process-overview:not(.is-loaded),
body.page-insights-overview:not(.is-loaded),
body.page-service-detail:not(.is-loaded),
body.page-insight-detail:not(.is-loaded),
body.page-portfolio-masonry-style1:not(.is-loaded) {
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

:is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .site-header .brand,
:is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .site-header .brand strong,
:is(body.page-process-overview, body.page-insights-overview, body.page-insight-detail) .site-header .brand [data-company-name] {
  color: #fbf4ea !important;
}

/* Match the index header shape shown in the approved reference. */
body:not(.home-style2) .site-header,
body:not(.home-style2) .site-header * {
  box-sizing: border-box !important;
}

body:not(.home-style2) .site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 10000 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-top: 52px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #f5871f !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body:not(.home-style2) .site-header::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 52px !important;
  padding-left: 130px !important;
  color: #111 !important;
  background: #f5871f !important;
  font-size: 0.86rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-align: center !important;
  white-space: pre !important;
}

body:not(.home-style2) .site-header::after {
  content: none !important;
  position: absolute !important;
  top: 12px !important;
  left: calc(50% - 410px) !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 30px !important;
  padding: 0 0.85rem !important;
  border: 1px solid rgba(36, 17, 6, 0.28) !important;
  border-radius: 999px !important;
  color: #111 !important;
  background: rgba(255, 255, 255, 0.12) !important;
  font-size: 0.86rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}

body:not(.home-style2) .site-header .container,
body:not(.home-style2) .site-header .nav-wrap {
  width: 100% !important;
  max-width: none !important;
}

body:not(.home-style2) .site-header .nav-wrap {
  display: grid !important;
  align-items: center !important;
  grid-template-columns: minmax(220px, auto) minmax(0, 1fr) minmax(110px, auto) !important;
  gap: 1.5rem !important;
  min-height: 108px !important;
  margin: 0 !important;
  padding: 28px 5vw !important;
  border-radius: 50px 50px 0 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

body:not(.home-style2) .site-header .brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.9rem !important;
  justify-self: start !important;
  min-width: 0 !important;
  color: #1b1b1e !important;
  text-decoration: none !important;
}

body:not(.home-style2) .site-header .brand img {
  width: 42px !important;
  height: 42px !important;
  max-width: 42px !important;
  max-height: 42px !important;
  object-fit: contain !important;
}

body:not(.home-style2) .site-header .brand strong,
body:not(.home-style2) .site-header .brand [data-company-name] {
  display: block !important;
  color: #1b1b1e !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

body:not(.home-style2) .site-header .brand > span > span {
  display: none !important;
}

body:not(.home-style2) .site-header .site-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(1rem, 1.85vw, 2rem) !important;
  justify-self: center !important;
  margin: 0 !important;
}

body:not(.home-style2) .site-header .site-nav a:not(.btn) {
  position: relative !important;
  padding: 0.55rem 0 !important;
  color: #1b1b1e !important;
  font-size: 0.9rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.045em !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

body:not(.home-style2) .site-header .site-nav a:not(.btn)::after {
  display: none !important;
}

body:not(.home-style2) .site-header .site-nav a:hover,
body:not(.home-style2) .site-header .site-nav a[aria-current="page"] {
  color: #b65710 !important;
  text-decoration: underline !important;
  text-underline-offset: 5px !important;
}

body:not(.home-style2) .site-header .menu-toggle {
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  border: 1px solid rgba(36, 17, 6, 0.24) !important;
  border-radius: 999px !important;
  color: #241106 !important;
  background: rgba(242, 140, 40, 0.08) !important;
  cursor: pointer !important;
}

body:not(.home-style2) .site-header .menu-toggle span,
body:not(.home-style2) .site-header .menu-toggle::before,
body:not(.home-style2) .site-header .menu-toggle::after {
  content: "" !important;
  display: block !important;
  width: 20px !important;
  height: 2px !important;
  margin: 4px auto !important;
  border-radius: 999px !important;
  background: currentColor !important;
  transition: transform 0.18s ease, opacity 0.18s ease !important;
}

body:not(.home-style2)[data-menu-open] .site-header .menu-toggle span {
  opacity: 0 !important;
}

body:not(.home-style2)[data-menu-open] .site-header .menu-toggle::before {
  transform: translateY(6px) rotate(45deg) !important;
}

body:not(.home-style2)[data-menu-open] .site-header .menu-toggle::after {
  transform: translateY(-6px) rotate(-45deg) !important;
}

@media screen and (max-width: 1180px) {
  body:not(.home-style2) .site-header::before {
    content: "" !important;
    padding-left: 0 !important;
  }

  body:not(.home-style2) .site-header::after {
    display: none !important;
  }

  body:not(.home-style2) .site-header .nav-wrap {
    grid-template-columns: minmax(0, 1fr) 48px !important;
  }

  body:not(.home-style2) .site-header .nav-wrap::after {
    display: none !important;
  }

  body:not(.home-style2) .site-header .menu-toggle {
    display: inline-flex !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: end !important;
  }

  body:not(.home-style2) .site-header .site-nav {
    position: fixed !important;
    top: 142px !important;
    right: 1rem !important;
    left: 1rem !important;
    display: none !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    flex-direction: column !important;
    gap: 0.25rem !important;
    max-height: calc(100vh - 162px) !important;
    padding: 1rem !important;
    overflow-y: auto !important;
    border: 1px solid rgba(36, 17, 6, 0.1) !important;
    border-radius: 24px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 18px 46px rgba(36, 17, 6, 0.14) !important;
  }

  body:not(.home-style2)[data-menu-open] .site-header .site-nav {
    display: flex !important;
  }

  body:not(.home-style2) .site-header .site-nav a:not(.btn) {
    width: 100% !important;
    padding: 0.82rem 1rem !important;
    text-align: left !important;
  }
}

@media screen and (max-width: 760px) {
  html,
  body {
    overflow-x: hidden !important;
  }

  body:not(.home-style2) .site-header {
    padding-top: 42px !important;
    overflow: visible !important;
  }

  body:not(.home-style2) .site-header::before {
    content: "" !important;
    height: 42px !important;
    padding: 0 4.5rem 0 0.8rem !important;
    overflow: hidden !important;
    font-size: 0.68rem !important;
    justify-content: center !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body:not(.home-style2) .site-header::after {
    display: none !important;
  }

  body:not(.home-style2) .site-header .nav-wrap {
    min-height: 74px !important;
    padding: 1rem !important;
    border-radius: 34px 34px 0 0 !important;
  }

  body:not(.home-style2) .site-header .brand {
    max-width: calc(100vw - 5.2rem) !important;
  }

  body:not(.home-style2) .site-header .brand strong,
  body:not(.home-style2) .site-header .brand [data-company-name] {
    overflow: hidden !important;
    font-size: 0.86rem !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body:not(.home-style2) .site-header .menu-toggle {
    position: fixed !important;
    top: 54px !important;
    right: auto !important;
    left: min(326px, calc(100vw - 64px)) !important;
    z-index: 10030 !important;
    display: inline-flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    background: rgba(255, 255, 255, 0.94) !important;
    box-shadow: 0 10px 28px rgba(36, 17, 6, 0.12) !important;
  }

  body:not(.home-style2) header.site-header button.menu-toggle[data-menu-toggle] {
    position: fixed !important;
    top: 54px !important;
    right: auto !important;
    left: min(326px, calc(100vw - 64px)) !important;
    z-index: 10030 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    opacity: 1 !important;
    visibility: visible !important;
    border: 1px solid rgba(36, 17, 6, 0.24) !important;
    border-radius: 999px !important;
    color: #241106 !important;
    background: rgba(255, 255, 255, 0.94) !important;
    pointer-events: auto !important;
  }

  body:not(.home-style2) .site-header .site-nav {
    top: 104px !important;
    right: 0.75rem !important;
    left: 0.75rem !important;
    max-height: calc(100vh - 122px) !important;
  }
}

/* Homepage hero: original Swak mask shape, with the photo replaced by orange. */
body.home-style2.light-theme .tc-header-style2 {
  position: relative !important;
  display: block !important;
  min-height: clamp(820px, 94vh, 980px) !important;
  margin-top: -50px !important;
  padding: 0 0 130px !important;
  overflow: hidden !important;
  border-radius: 50px 50px 0 0 !important;
  background: #fff !important;
  color: #1b1b1e !important;
}

body.home-style2.light-theme .tc-header-style2 .back-img {
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  z-index: 0 !important;
  display: block !important;
  width: min(1280px, 86vw) !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: top center !important;
  opacity: 1 !important;
  filter: none !important;
  background: #f28c28 !important;
  mix-blend-mode: normal !important;
  transform: translateX(-50%) !important;
  -webkit-mask-image: url("../..//assets/vendor/swak/home_2/assets/img/head_mask.png") !important;
  mask-image: url("../..//assets/vendor/swak/home_2/assets/img/head_mask.png") !important;
  -webkit-mask-size: auto 100% !important;
  mask-size: auto 100% !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: 50% 0 !important;
  mask-position: 50% 0 !important;
  pointer-events: none !important;
}

body.home-style2.light-theme .tc-header-style2 .tc-navbar-style2 {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  z-index: 3 !important;
  width: 100% !important;
  min-height: 108px !important;
  padding: 28px 5vw !important;
  border-radius: 50px 50px 0 0 !important;
  background: #fff !important;
}

body.home-style2.light-theme .tc-header-style2 .header-content {
  position: absolute !important;
  top: clamp(230px, 21vw, 305px) !important;
  right: 0 !important;
  bottom: auto !important;
  left: 0 !important;
  z-index: 20 !important;
  padding: 0 1.25rem !important;
}

body.home-style2.light-theme .tc-header-style2 .info {
  max-width: 1120px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: center !important;
}

body.home-style2.light-theme .tc-header-style2 .info p.fsz-30.mb-50 {
  margin-bottom: 1rem !important;
  color: rgba(27, 27, 30, 0.72) !important;
  font-size: clamp(0.76rem, 0.86vw, 0.92rem) !important;
  line-height: 1.35 !important;
  letter-spacing: 0.13em !important;
}

body.home-style2.light-theme .tc-header-style2 .info h1 {
  max-width: 1120px !important;
  margin: 0 auto clamp(2.3rem, 4vw, 4.5rem) !important;
  color: #1b1b1e !important;
  font-size: clamp(3.35rem, 5.35vw, 5.9rem) !important;
  line-height: 0.96 !important;
  letter-spacing: -0.06em !important;
}

body.home-style2.light-theme .root-hero-highlight {
  color: #1b1b1e !important;
  text-shadow: none !important;
}

body.home-style2.light-theme .tc-header-style2 .info .text.mb-90 {
  max-width: 860px !important;
  margin: 0 auto clamp(2.25rem, 3.2vw, 3.6rem) !important;
  color: rgba(27, 27, 30, 0.72) !important;
  line-height: 1.65 !important;
}

body.home-style2.light-theme .tc-header-style2 .brands {
  position: relative !important;
  z-index: 20 !important;
  text-align: center !important;
}

body.home-style2.light-theme .tc-header-style2 .brands p {
  color: rgba(27, 27, 30, 0.72) !important;
}

@media screen and (max-width: 991px) {
  body.home-style2.light-theme .tc-header-style2 {
    min-height: 820px !important;
    padding: 0 0 90px !important;
  }

  body.home-style2.light-theme .tc-header-style2 .header-content {
    top: 190px !important;
    bottom: auto !important;
  }

  body.home-style2.light-theme .tc-header-style2 .back-img {
    top: 0 !important;
    left: 50% !important;
    width: min(720px, 150vw) !important;
    height: 100% !important;
  }

  body.home-style2.light-theme .tc-header-style2 .info h1 {
    font-size: clamp(2.7rem, 10vw, 4.2rem) !important;
    margin-bottom: 36px !important;
  }
}

@media screen and (max-width: 760px) {
  body.home-style2.light-theme .tc-header-style2,
  body.home-style2.light-theme .tc-header-style2 * {
    box-sizing: border-box !important;
  }

  body.home-style2.light-theme {
    overflow-x: hidden !important;
  }

  body.home-style2.light-theme .tc-top-navbar-style2 {
    overflow: hidden !important;
  }

  body.home-style2.light-theme .tc-top-navbar-style2 p {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 0.22rem 0.55rem !important;
    max-width: 100% !important;
    width: 100vw !important;
    margin: 0 !important;
    padding: 0 0.75rem !important;
    font-size: 0.72rem !important;
    line-height: 1.35 !important;
  }

  body.home-style2.light-theme .tc-top-navbar-style2 strong {
    flex: 0 1 100% !important;
    display: block !important;
    width: calc(100vw - 1.5rem) !important;
    max-width: calc(100vw - 1.5rem) !important;
    overflow: hidden !important;
    font-size: 0 !important;
    line-height: 1.35 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.home-style2.light-theme .tc-top-navbar-style2 a {
    margin-inline-start: 0 !important;
  }

  body.home-style2.light-theme .tc-header-style2 {
    min-height: 850px !important;
  }

  body.home-style2.light-theme .tc-header-style2 .header-content {
    top: 178px !important;
    right: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    padding: 0 0.85rem !important;
  }

  body.home-style2.light-theme .tc-header-style2 .header-content .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  body.home-style2.light-theme .tc-header-style2 .info {
    max-width: 100% !important;
  }

  body.home-style2.light-theme .tc-header-style2 .back-img {
    top: 118px !important;
    left: 50% !important;
    width: min(560px, 128vw) !important;
    height: 500px !important;
  }

  body.home-style2.light-theme .tc-header-style2 .info h1 {
    max-width: min(460px, calc(100vw - 2rem)) !important;
    font-size: clamp(2rem, 7.2vw, 2.35rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.045em !important;
    text-transform: none !important;
    overflow-wrap: normal !important;
  }

  body.home-style2.light-theme .tc-header-style2 .info .text.mb-90,
  body.home-style2.light-theme .tc-header-style2 .brands p {
    max-width: min(300px, calc(100vw - 2rem)) !important;
    margin-right: auto !important;
    margin-left: auto !important;
    font-size: 0.9rem !important;
    line-height: 1.55 !important;
    overflow-wrap: anywhere !important;
  }
}

/* Blog and approach page headers: match the services-page typography and left alignment. */
:is(body.page-insights-overview, body.page-process-overview) .root-about-header .header-content .container,
:is(body.page-insights-overview, body.page-process-overview) .root-about-header .info {
  max-width: 1180px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: left !important;
}

:is(body.page-insights-overview, body.page-process-overview) .root-about-header .info h6,
:is(body.page-insights-overview, body.page-process-overview) .root-about-header .info h1,
:is(body.page-insights-overview, body.page-process-overview) .root-about-header .lead {
  text-align: left !important;
}

:is(body.page-insights-overview, body.page-process-overview) .root-about-header .info h1 {
  max-width: 980px !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  font-family: Poppins, Inter, ui-sans-serif, system-ui, sans-serif !important;
  font-size: clamp(3.2rem, 4.8vw, 4.45rem) !important;
  font-weight: 900 !important;
  letter-spacing: -0.06em !important;
  line-height: 0.96 !important;
  text-transform: none !important;
}

@media screen and (max-width: 760px) {
  :is(body.page-insights-overview, body.page-process-overview) .root-about-header .info h1 {
    max-width: calc(100vw - 2.4rem) !important;
    font-size: clamp(2.2rem, 10.5vw, 2.85rem) !important;
    line-height: 1 !important;
  }
}

:is(body.page-insights-overview, body.page-process-overview) .root-about-header .lead {
  max-width: 720px !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

:is(body.page-insights-overview, body.page-process-overview) .root-about-header .pages-links {
  justify-content: flex-start !important;
}

/* All page headers: left aligned typography, matching the services-page header style. */
body.home-style2.light-theme .tc-header-style2 .info,
body.home-style2.light-theme .tc-header-style2 .brands,
body:not([class]) .page-hero,
body:not([class]) .page-hero-grid,
body:not([class]) .hero,
body:not([class]) .hero-grid,
body:not([class]) .page-hero .container,
body:not([class]) .hero .container,
body:not(.home-style2) .root-page-hero .container,
body:not(.home-style2) .root-inner-header .container,
body:not(.home-style2) .root-about-header .header-content .container,
body:not(.home-style2) .root-about-header .info {
  text-align: left !important;
}

body:not([class])[data-cs-main-menu-page="true"] .page-hero-grid,
body:not([class]) .page-hero-grid,
body:not([class]) .hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.46fr) !important;
  align-items: end !important;
  max-width: var(--cs-container) !important;
  text-align: left !important;
}

body.home-style2.light-theme .tc-header-style2 .info h1,
body:not([class]) .page-hero .page-title,
body:not([class]) .hero .display-title,
body:not(.home-style2) .root-page-hero h1,
body:not(.home-style2) .root-page-hero h2,
body:not(.home-style2) .root-inner-header h1,
body:not(.home-style2) .root-about-header h1 {
  margin-left: 0 !important;
  font-family: Poppins, Inter, ui-sans-serif, system-ui, sans-serif !important;
  text-align: left !important;
}

body.home-style2.light-theme .tc-header-style2 .info .text,
body.home-style2.light-theme .tc-header-style2 .brands p,
body:not([class]) .page-hero .lead,
body:not([class]) .hero .lead,
body:not(.home-style2) .root-page-hero .lead,
body:not(.home-style2) .root-inner-header .lead,
body:not(.home-style2) .root-about-header .lead {
  margin-left: 0 !important;
  text-align: left !important;
}

body.home-style2.light-theme .tc-header-style2 .brands .brands-content,
body:not(.home-style2) .root-about-header .pages-links,
body:not(.home-style2) .root-page-hero .root-breadcrumbs,
body:not([class]) .page-hero .breadcrumb,
body:not([class]) .hero .breadcrumb {
  justify-content: flex-start !important;
}

body:not([class])[data-cs-main-menu-page="true"] .page-hero .aside-panel {
  display: block !important;
}

/* Hide the old non-functional desktop "Menu" affordances. Mobile hamburger buttons stay available. */
.home-style2 .tc-navbar-style2 .dropdown,
body:not(.home-style2) .site-header .nav-wrap::after {
  display: none !important;
  content: none !important;
}

@media screen and (max-width: 991px) {
  body:not([class])[data-cs-main-menu-page="true"] .page-hero-grid,
  body:not([class]) .page-hero-grid,
  body:not([class]) .hero-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    text-align: left !important;
  }
}

@media screen and (max-width: 760px) {
  body.home-style2.light-theme .tc-header-style2 .info,
  body.home-style2.light-theme .tc-header-style2 .brands,
  body:not([class]) .page-hero,
  body:not([class]) .page-hero-grid,
  body:not([class]) .hero,
  body:not([class]) .hero-grid,
  body:not(.home-style2) .root-page-hero .container,
  body:not(.home-style2) .root-inner-header .container,
  body:not(.home-style2) .root-about-header .header-content .container,
  body:not(.home-style2) .root-about-header .info {
    text-align: left !important;
  }
}

/* Final navigation normalization: inner pages use the same header language as the homepage. */
body:not(.home-style2) .site-header,
body:not(.home-style2) .site-header * {
  box-sizing: border-box !important;
}

body:not(.home-style2) .site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 10000 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 0 32px 32px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body:not(.home-style2) .site-header::before,
body:not(.home-style2) .site-header::after {
  content: none !important;
  display: none !important;
}

body:not(.home-style2) .site-header .container,
body:not(.home-style2) .site-header .nav-wrap {
  width: 100% !important;
  max-width: none !important;
}

body:not(.home-style2) .site-header .nav-wrap {
  position: relative !important;
  display: grid !important;
  align-items: center !important;
  grid-template-columns: minmax(220px, auto) minmax(0, 1fr) minmax(220px, auto) !important;
  gap: 1.5rem !important;
  min-height: 128px !important;
  margin: 0 !important;
  padding: clamp(1.2rem, 3vw, 2rem) 5vw !important;
  border-radius: 0 0 32px 32px !important;
  background: transparent !important;
  box-shadow: none !important;
}

body:not(.home-style2) .site-header .nav-wrap::after {
  content: "" !important;
  display: block !important;
  width: 42px !important;
  justify-self: end !important;
}

body:not(.home-style2) .site-header .brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 1rem !important;
  justify-self: start !important;
  min-width: 0 !important;
  color: #1b1b1e !important;
  text-decoration: none !important;
}

body:not(.home-style2) .site-header .brand img {
  width: 42px !important;
  height: 42px !important;
  max-width: 42px !important;
  max-height: 42px !important;
  object-fit: contain !important;
}

body:not(.home-style2) .site-header .brand strong,
body:not(.home-style2) .site-header .brand [data-company-name] {
  display: block !important;
  color: #1b1b1e !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

body:not(.home-style2) .site-header .brand > span > span {
  display: none !important;
}

body:not(.home-style2) .site-header .site-nav {
  position: static !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: row !important;
  gap: clamp(1rem, 2.1vw, 2.25rem) !important;
  grid-column: 2 !important;
  justify-self: center !important;
  width: auto !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body:not(.home-style2) .site-header .site-nav a:not(.btn) {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  padding: 0.55rem 0 !important;
  color: #1b1b1e !important;
  font-size: 0.92rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  line-height: 1.2 !important;
  text-align: left !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

body:not(.home-style2) .site-header .site-nav a:not(.btn)::after {
  display: none !important;
}

body:not(.home-style2) .site-header .site-nav a:hover,
body:not(.home-style2) .site-header .site-nav a[aria-current="page"] {
  color: #b65710 !important;
  text-decoration: underline !important;
  text-underline-offset: 5px !important;
}

body:not(.home-style2) .site-header .menu-toggle {
  position: relative !important;
  inset: auto !important;
  z-index: 2 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  grid-column: 3 !important;
  justify-self: end !important;
  width: 48px !important;
  height: 48px !important;
  margin: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  border: 1px solid rgba(36, 17, 6, 0.24) !important;
  border-radius: 8px !important;
  color: #241106 !important;
  background: rgba(255, 255, 255, 0.9) !important;
  box-shadow: none !important;
  cursor: pointer !important;
  pointer-events: auto !important;
}

body:not(.home-style2) .site-header .menu-toggle span,
body:not(.home-style2) .site-header .menu-toggle::before,
body:not(.home-style2) .site-header .menu-toggle::after {
  content: "" !important;
  display: block !important;
  width: 20px !important;
  height: 2px !important;
  margin: 4px auto !important;
  border-radius: 999px !important;
  background: currentColor !important;
  transition: transform 0.18s ease, opacity 0.18s ease !important;
}

body:not(.home-style2)[data-menu-open] .site-header .menu-toggle span {
  opacity: 0 !important;
}

body:not(.home-style2)[data-menu-open] .site-header .menu-toggle::before {
  transform: translateY(6px) rotate(45deg) !important;
}

body:not(.home-style2)[data-menu-open] .site-header .menu-toggle::after {
  transform: translateY(-6px) rotate(-45deg) !important;
}

@media screen and (max-width: 1180px) {
  body:not(.home-style2)[data-menu-open] {
    overflow: hidden !important;
  }

  body:not(.home-style2) .site-header .nav-wrap {
    display: flex !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    min-height: 82px !important;
    padding: 1rem 5vw !important;
  }

  body:not(.home-style2) .site-header .nav-wrap::after {
    content: none !important;
    display: none !important;
  }

  body:not(.home-style2) .site-header .brand {
    max-width: calc(100vw - 7rem) !important;
  }

  body:not(.home-style2) .site-header .brand strong,
  body:not(.home-style2) .site-header .brand [data-company-name] {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body:not(.home-style2) .site-header .menu-toggle,
  body:not(.home-style2) header.site-header button.menu-toggle[data-menu-toggle] {
    position: relative !important;
    inset: auto !important;
    display: inline-flex !important;
    flex: 0 0 48px !important;
  }

  body:not(.home-style2) .site-header .site-nav {
    position: absolute !important;
    top: calc(100% + 0.75rem) !important;
    right: auto !important;
    left: 0.75rem !important;
    z-index: 10001 !important;
    display: none !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    flex-direction: column !important;
    gap: 0.15rem !important;
    width: calc(100% - 1.5rem) !important;
    max-height: calc(100vh - 120px) !important;
    padding: 1rem !important;
    overflow-y: auto !important;
    border: 1px solid rgba(36, 17, 6, 0.1) !important;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 18px 46px rgba(36, 17, 6, 0.2) !important;
  }

  body:not(.home-style2)[data-menu-open] .site-header .site-nav {
    display: flex !important;
  }

  body:not(.home-style2) .site-header .site-nav a:not(.btn) {
    display: block !important;
    width: 100% !important;
    padding: 0.8rem 0.9rem !important;
    color: #1b1b1e !important;
    text-align: left !important;
  }
}

@media screen and (max-width: 760px) {
  body:not(.home-style2) .site-header {
    border-radius: 0 0 24px 24px !important;
  }

  body:not(.home-style2) .site-header .nav-wrap {
    min-height: 76px !important;
    padding: 0.9rem 1rem !important;
    border-radius: 0 0 24px 24px !important;
  }

  body:not(.home-style2) .site-header .brand {
    gap: 0.8rem !important;
    max-width: calc(100vw - 5.7rem) !important;
  }

  body:not(.home-style2) .site-header .brand img {
    width: 40px !important;
    height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
  }

  body:not(.home-style2) .site-header .brand strong,
  body:not(.home-style2) .site-header .brand [data-company-name] {
    font-size: 0.82rem !important;
    letter-spacing: 0.045em !important;
  }

  body:not(.home-style2) .site-header .site-nav {
    top: calc(100% + 0.55rem) !important;
    right: auto !important;
    left: 0.75rem !important;
    width: calc(100% - 1.5rem) !important;
    max-height: calc(100vh - 106px) !important;
  }
}

/* Final mobile nav polish: homepage menu must cover the hero copy, and inner pages keep the same orange/white header treatment. */
body:not(.home-style2) .site-header {
  padding-top: 24px !important;
  border-radius: 0 !important;
  background: #f5871f !important;
}

body:not(.home-style2) .site-header .nav-wrap {
  border-radius: 50px 50px 0 0 !important;
  background: #fff !important;
}

@media screen and (max-width: 1180px) {
  body:not(.home-style2) .site-header {
    padding-top: 24px !important;
  }

  body:not(.home-style2) .site-header .nav-wrap {
    border-radius: 34px 34px 0 0 !important;
  }
}

@media screen and (max-width: 991px) {
  body.home-style2.light-theme[data-index-menu-open] .tc-header-style2 .header-content,
  body.home-style2.light-theme[data-index-menu-open] .tc-header-style2 .header-content *,
  body.home-style2.light-theme .tc-header-style2:has(.navbar-collapse.show) .header-content,
  body.home-style2.light-theme .tc-header-style2:has(.navbar-collapse.show) .header-content * {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.home-style2.light-theme[data-index-menu-open] .tc-navbar-style2,
  body.home-style2.light-theme .tc-header-style2:has(.navbar-collapse.show) .tc-navbar-style2 {
    z-index: 10050 !important;
  }
}

/* Final typography normalization: homepage uses the same fonts as the other pages. */
body.home-style2.light-theme {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body.home-style2.light-theme .tc-navbar-style2 .root-brand-label,
body.home-style2.light-theme .tc-navbar-style2 .navbar-nav .nav-item .nav-link,
body.home-style2.light-theme .tc-navbar-style2 .dropdown-toggle {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 0.92rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

body.home-style2.light-theme .tc-header-style2 .info h1,
body.home-style2.light-theme .tc-header-style2 .info h1 * {
  font-family: Poppins, Inter, ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: -0.06em !important;
  line-height: 0.96 !important;
}

body.home-style2.light-theme .tc-header-style2 .info p,
body.home-style2.light-theme .tc-header-style2 .info .text,
body.home-style2.light-theme .tc-header-style2 .brands p {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

/* Final overview header normalization: Blog and Aanpak match Diensten/Realisaties. */
:is(body.page-insights-overview, body.page-process-overview) .root-about-header,
:is(body.page-insights-overview, body.page-process-overview) .tc-about-header-style1 {
  min-height: auto !important;
  margin-top: 0 !important;
  padding: clamp(68px, 7vw, 112px) 0 clamp(70px, 8vw, 106px) !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, #fff7ec 0%, #fffaf3 62%, #fff 100%) !important;
  color: #241106 !important;
}

:is(body.page-insights-overview, body.page-process-overview) .root-about-header .header-content {
  min-height: 0 !important;
  padding: 0 !important;
}

:is(body.page-insights-overview, body.page-process-overview) .root-about-header .header-content .container,
:is(body.page-insights-overview, body.page-process-overview) .root-about-header .info {
  width: min(1180px, calc(100% - 2rem)) !important;
  max-width: 1180px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: left !important;
}

:is(body.page-insights-overview, body.page-process-overview) .root-about-header .info h6 {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.55rem !important;
  width: fit-content !important;
  margin: 0 0 1rem !important;
  color: #b73700 !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

:is(body.page-insights-overview, body.page-process-overview) .root-about-header .info h6::before {
  content: "" !important;
  width: 0.52rem !important;
  height: 0.52rem !important;
  border-radius: 50% !important;
  background: currentColor !important;
}

:is(body.page-insights-overview, body.page-process-overview) .root-about-header .info h1 {
  max-width: 980px !important;
  margin: 0 0 1.4rem !important;
  color: #241106 !important;
  font-family: Poppins, Inter, ui-sans-serif, system-ui, sans-serif !important;
  font-size: clamp(3.2rem, 4.8vw, 4.45rem) !important;
  font-weight: 900 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.052em !important;
  text-align: left !important;
  text-transform: none !important;
}

:is(body.page-insights-overview, body.page-process-overview) .root-about-header .lead {
  max-width: 720px !important;
  margin: 0 !important;
  color: rgba(36, 17, 6, 0.72) !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: clamp(1.05rem, 1.28vw, 1.2rem) !important;
  line-height: 1.75 !important;
  text-align: left !important;
}

@media screen and (max-width: 760px) {
  :is(body.page-insights-overview, body.page-process-overview) .root-about-header,
  :is(body.page-insights-overview, body.page-process-overview) .tc-about-header-style1 {
    padding: 64px 0 72px !important;
  }

  :is(body.page-insights-overview, body.page-process-overview) .root-about-header .info h1 {
    max-width: calc(100vw - 2.4rem) !important;
    font-size: clamp(2.2rem, 10.5vw, 2.85rem) !important;
    line-height: 1 !important;
  }

  :is(body.page-insights-overview, body.page-process-overview) .root-about-header .lead {
    max-width: min(320px, calc(100vw - 2.4rem)) !important;
    font-size: 0.95rem !important;
  }
}

/* Strategic visual upgrade */
.root-impact-deck {
  position: relative;
  z-index: 2;
  padding: clamp(72px, 8vw, 128px) 0;
  background:
    radial-gradient(circle at 12% 12%, rgba(245, 135, 31, 0.18), transparent 32%),
    linear-gradient(180deg, #fff 0%, #fff7ec 100%);
  overflow: hidden;
}

.root-impact-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(420px, 1.05fr);
  gap: clamp(2.5rem, 5vw, 5.5rem);
  align-items: center;
}

.root-impact-kicker {
  margin: 0 0 1.15rem;
  color: #b73700;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.root-impact-copy h2 {
  max-width: 840px;
  margin: 0 0 1.5rem;
  color: #17110d;
  font-family: Poppins, Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(2.8rem, 5.7vw, 6.7rem);
  font-weight: 900;
  line-height: 0.9;
  letter-spacing: -0.07em;
}

.root-impact-copy p:not(.root-impact-kicker) {
  max-width: 680px;
  margin: 0;
  color: rgba(36, 17, 6, 0.74);
  font-size: clamp(1.05rem, 1.35vw, 1.28rem);
  line-height: 1.75;
}

.root-impact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 2rem;
}

.root-impact-actions a,
.root-link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #17110d;
  font-size: 0.86rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
}

.root-impact-actions a:first-child {
  padding: 0.95rem 1.25rem;
  border-radius: 999px;
  color: #fff;
  background: #17110d;
}

.root-impact-visual {
  position: relative;
  min-height: clamp(380px, 44vw, 620px);
}

.root-impact-main,
.root-impact-card,
.root-visual-stack img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.root-impact-main {
  position: absolute;
  inset: 0;
  border-radius: clamp(32px, 5vw, 70px);
  box-shadow: 0 30px 90px rgba(36, 17, 6, 0.22);
}

.root-impact-visual::after {
  content: "drone + web + brand";
  position: absolute;
  right: 6%;
  bottom: 7%;
  padding: 0.75rem 1rem;
  border-radius: 999px;
  color: #fff;
  background: rgba(23, 17, 13, 0.78);
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
}

.root-impact-card {
  position: absolute;
  width: min(42%, 260px);
  height: auto;
  aspect-ratio: 4 / 3;
  border: 8px solid #fff;
  border-radius: 24px;
  box-shadow: 0 24px 60px rgba(36, 17, 6, 0.28);
}

.root-impact-card-a {
  left: -7%;
  bottom: 8%;
  transform: rotate(-5deg);
}

.root-impact-card-b {
  top: 8%;
  right: -5%;
  transform: rotate(4deg);
}

.root-impact-pills {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-top: clamp(2rem, 5vw, 4.5rem);
}

.root-impact-pills article {
  min-height: 190px;
  padding: 1.35rem;
  border: 1px solid rgba(36, 17, 6, 0.09);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 18px 45px rgba(36, 17, 6, 0.08);
}

.root-impact-pills span {
  display: block;
  margin-bottom: 1.8rem;
  color: #f5871f;
  font-weight: 900;
}

.root-impact-pills strong {
  display: block;
  margin-bottom: 0.7rem;
  color: #17110d;
  font-size: 1.05rem;
  line-height: 1.15;
}

.root-impact-pills small {
  color: rgba(36, 17, 6, 0.64);
  font-size: 0.88rem;
  line-height: 1.55;
}

.root-visual-authority {
  background: #17110d;
  color: #fff;
  overflow: hidden;
}

.root-visual-authority-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(380px, 1.2fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}

.root-visual-authority-copy h2,
.root-visual-authority-copy p,
.root-visual-authority-copy li,
.root-visual-authority-copy .root-link-arrow {
  color: #fff !important;
}

body.home-style2.light-theme .root-visual-authority-copy h2,
body.home-style2.light-theme .root-visual-authority-copy p,
body.home-style2.light-theme .root-visual-authority-copy li,
body.home-style2.light-theme .root-visual-authority-copy .root-link-arrow {
  color: #fff !important;
}

body.home-style2.light-theme .root-visual-authority-copy li {
  color: rgba(255, 255, 255, 0.78) !important;
}

body.home-style2.light-theme .root-visual-authority {
  background:
    radial-gradient(circle at 12% 14%, rgba(245, 135, 31, 0.34), transparent 34%),
    linear-gradient(135deg, #17110d 0%, #241106 58%, #0f0b08 100%) !important;
}

body.home-style2.light-theme .root-visual-authority-copy .fsz-14,
body.home-style2.light-theme .root-visual-authority-copy h2 .color-lightGreen1,
body.home-style2.light-theme .root-visual-authority-copy .root-link-arrow {
  color: #f5871f !important;
}

body.home-style2.light-theme .root-visual-authority-copy p {
  color: rgba(255, 255, 255, 0.82) !important;
}

body.home-style2.light-theme .root-visual-authority .root-visual-authority-copy h2,
body.home-style2.light-theme .root-visual-authority .root-visual-authority-copy p,
body.home-style2.light-theme .root-visual-authority .root-visual-authority-copy li,
body.home-style2.light-theme .root-visual-authority .root-visual-authority-copy .root-link-arrow {
  color: #17110d !important;
}

body.home-style2.light-theme .root-visual-authority .root-visual-authority-copy p,
body.home-style2.light-theme .root-visual-authority .root-visual-authority-copy li {
  color: rgba(23, 17, 13, 0.78) !important;
}

body.home-style2.light-theme .root-visual-authority .root-visual-authority-copy .fsz-14,
body.home-style2.light-theme .root-visual-authority .root-visual-authority-copy h2 .color-lightGreen1,
body.home-style2.light-theme .root-visual-authority .root-visual-authority-copy .root-link-arrow {
  color: #c74600 !important;
}

body.home-style2.light-theme .root-visual-authority .root-visual-authority-copy h2 {
  color: #fff !important;
}

body.home-style2.light-theme .root-visual-authority .root-visual-authority-copy p,
body.home-style2.light-theme .root-visual-authority .root-visual-authority-copy li {
  color: rgba(255, 255, 255, 0.82) !important;
}

body.home-style2.light-theme .root-visual-authority .root-visual-authority-copy .fsz-14,
body.home-style2.light-theme .root-visual-authority .root-visual-authority-copy h2 .color-lightGreen1,
body.home-style2.light-theme .root-visual-authority .root-visual-authority-copy .root-link-arrow {
  color: #ff6a00 !important;
}

.root-visual-authority-copy p {
  max-width: 660px;
  line-height: 1.75;
}

.root-visual-authority-copy ul {
  display: grid;
  gap: 0.85rem;
  margin: 2rem 0;
  padding: 0;
  list-style: none;
}

.root-visual-authority-copy li {
  position: relative;
  padding-left: 1.4rem;
  color: rgba(255, 255, 255, 0.78) !important;
}

.root-visual-authority-copy li::before {
  content: "";
  position: absolute;
  top: 0.72em;
  left: 0;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: #f5871f;
}

.root-visual-stack {
  position: relative;
  min-height: clamp(360px, 48vw, 620px);
  border-radius: clamp(28px, 4vw, 64px);
  overflow: hidden;
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.34);
}

.root-visual-stack::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 35%, rgba(0, 0, 0, 0.58) 100%);
}

.root-visual-stack-caption {
  position: absolute;
  right: 1.4rem;
  bottom: 1.4rem;
  left: 1.4rem;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  color: #fff;
}

.root-visual-stack-caption strong {
  font-size: clamp(2rem, 4vw, 4rem);
  font-weight: 900;
  letter-spacing: -0.06em;
  line-height: 0.9;
}

.root-visual-stack-caption span {
  max-width: 280px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.9rem;
  line-height: 1.45;
  text-align: right;
}

@media screen and (max-width: 991px) {
  .root-impact-grid,
  .root-visual-authority-grid {
    grid-template-columns: 1fr;
  }

  .root-impact-pills {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .root-impact-card-a {
    left: 4%;
  }

  .root-impact-card-b {
    right: 4%;
  }
}

@media screen and (max-width: 640px) {
  .root-impact-deck {
    padding: 58px 0 72px;
  }

  .root-impact-visual,
  .root-visual-stack {
    min-height: 360px;
  }

  .root-impact-pills {
    grid-template-columns: 1fr;
  }

  .root-impact-card {
    width: 46%;
    border-width: 5px;
    border-radius: 18px;
  }

  .root-visual-stack-caption {
    display: block;
  }

  .root-visual-stack-caption span {
    display: block;
    margin-top: 0.75rem;
    text-align: left;
  }
}

.root-service-showcase {
  position: relative;
  overflow: hidden;
}

.root-service-visual-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
  gap: 1rem;
  margin-bottom: 2rem;
}

.root-service-visual-grid figure,
.root-wide-visual {
  position: relative;
  min-height: clamp(280px, 36vw, 520px);
  margin: 0;
  overflow: hidden;
  border-radius: clamp(26px, 4vw, 54px);
  background: #17110d;
  box-shadow: 0 24px 70px rgba(36, 17, 6, 0.14);
}

.root-service-visual-grid figure:nth-child(2) {
  min-height: clamp(280px, 31vw, 430px);
  align-self: end;
}

.root-service-visual-grid img,
.root-wide-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.root-service-visual-grid figure::after,
.root-wide-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 35%, rgba(0, 0, 0, 0.64) 100%);
}

.root-service-visual-grid figcaption,
.root-wide-visual figcaption {
  position: absolute;
  right: 1.4rem;
  bottom: 1.4rem;
  left: 1.4rem;
  z-index: 1;
  color: #fff;
}

.root-service-visual-grid figcaption strong,
.root-wide-visual figcaption strong {
  display: block;
  max-width: 760px;
  font-size: clamp(1.6rem, 3.2vw, 3.6rem);
  font-weight: 900;
  letter-spacing: -0.06em;
  line-height: 0.95;
}

.root-service-visual-grid figcaption span,
.root-wide-visual figcaption span {
  display: block;
  max-width: 520px;
  margin-top: 0.7rem;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.5;
}

.root-drone-hero {
  background:
    linear-gradient(90deg, rgba(255, 247, 236, 0.94), rgba(255, 247, 236, 0.78)),
    url('/assets/img/droneshot-poster.webp') center / cover;
}

.root-drone-showcase {
  padding-top: 0;
}

.root-case-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin: 1.3rem 0 0;
  padding: 0;
  list-style: none;
}

.root-case-tags li {
  padding: 0.45rem 0.7rem;
  border-radius: 999px;
  color: #b73700;
  background: rgba(245, 135, 31, 0.12);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.root-project-visual-proof .root-visual-authority-grid {
  grid-template-columns: minmax(0, 0.85fr) minmax(360px, 1.15fr);
}

.root-project-visual-proof .root-visual-stack {
  min-height: clamp(340px, 42vw, 560px);
}

.root-project-visual-proof .root-visual-authority-copy h2,
.root-project-visual-proof .root-visual-authority-copy p,
.root-project-visual-proof .root-visual-authority-copy .lead {
  color: #17110d !important;
}

.root-project-visual-proof .root-visual-authority-copy .eyebrow,
.root-project-visual-proof .root-visual-authority-copy .link-arrow {
  color: #c74600 !important;
}

@media screen and (max-width: 860px) {
  .root-service-visual-grid,
  .root-project-visual-proof .root-visual-authority-grid {
    grid-template-columns: 1fr;
  }
}

/* Final footer typography normalization across every page template. */
footer,
footer p,
footer a,
footer span,
footer small,
footer li,
footer .footer-links,
footer .root-footer-column,
footer .root-footer-actions,
footer .foot,
footer .links {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.site-footer,
.root-smart-footer,
.root-inner-footer,
.tc-inner-footer-style1,
.tc-footer-style2 {
  background: #11100f !important;
  color: rgba(255, 246, 235, 0.72) !important;
}

footer h2,
footer h2 a,
footer .root-footer-title,
footer .footer-main h2,
footer .info h2 a {
  font-family: Poppins, Inter, ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: -0.065em !important;
  line-height: 0.94 !important;
  color: #fff6eb !important;
}

footer h3,
footer .root-footer-kicker,
footer .footer-main h3,
footer .root-footer-column h3,
footer .info > p:first-child,
footer .links a,
footer .footer-links a,
footer .footer-links span,
footer .root-footer-column a,
footer .root-footer-column span,
footer .root-footer-actions a,
footer .root-footer-bottom,
footer .foot p,
footer .foot a {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

footer h3,
footer .footer-main h3,
footer .root-footer-column h3,
footer .links a,
footer .footer-links a,
footer .footer-links span,
footer .root-footer-column a,
footer .root-footer-column span,
footer .root-footer-actions a,
footer .foot p,
footer .foot a {
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  line-height: 1.6 !important;
  text-transform: uppercase !important;
}

footer .footer-main p,
footer .root-footer-lead,
footer .root-footer-column span,
footer .root-footer-bottom,
footer .foot p {
  color: rgba(255, 246, 235, 0.66) !important;
}

footer a {
  color: rgba(255, 246, 235, 0.68) !important;
  text-decoration: none !important;
}

footer a:hover {
  color: #fff6eb !important;
}

footer .root-footer-kicker,
footer .info > p:first-child {
  color: #f28c28 !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

/* Final heading softening: keep the site premium, but less heavy and shouty. */
h1,
h2,
h3,
.page-title,
.section-title,
.card-title,
.root-impact-copy h2,
.root-visual-authority-copy h2,
.root-service-visual-grid figcaption strong,
.root-wide-visual figcaption strong,
body.home-style2.light-theme .tc-header-style2 .info h1,
body.home-style2.light-theme .tc-header-style2 .info h1 * {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
  font-weight: 600 !important;
  letter-spacing: -0.045em !important;
}

footer h2,
footer h2 a,
footer .root-footer-title,
footer .footer-main h2,
footer .info h2 a {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
  font-weight: 500 !important;
  letter-spacing: -0.05em !important;
}

/* Final display font correction: restore the elegant serif used by the large text sliders. */
h1,
h2,
h3,
.page-title,
.section-title,
.card-title,
.root-page-hero h1,
.root-about-header .info h1,
.root-impact-copy h2,
.root-visual-authority-copy h2,
.root-service-visual-grid figcaption strong,
.root-wide-visual figcaption strong,
body.home-style2.light-theme .tc-header-style2 .info h1,
body.home-style2.light-theme .tc-header-style2 .info h1 *,
footer h2,
footer h2 a,
footer .root-footer-title,
footer .footer-main h2,
footer .info h2 a {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
}

h1,
.page-title,
.root-page-hero h1,
.root-about-header .info h1,
body.home-style2.light-theme .tc-header-style2 .info h1,
body.home-style2.light-theme .tc-header-style2 .info h1 * {
  font-weight: 600 !important;
  letter-spacing: -0.045em !important;
}

h2,
h3,
.section-title,
.card-title,
.root-impact-copy h2,
.root-visual-authority-copy h2,
footer h2,
footer h2 a,
footer .root-footer-title,
footer .footer-main h2,
footer .info h2 a {
  font-weight: 500 !important;
  letter-spacing: -0.04em !important;
}

body:not(.home-style2) :is(h1, h2, h3, .page-title, .section-title, .card-title, .root-about-header .info h1, .content-flow h2, .content-flow h3) {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
}

/* Final footer text refinement: contact and legal text should feel calm, not bold. */
footer .footer-links a,
footer .footer-links span,
footer .root-footer-column a,
footer .root-footer-column span,
footer .root-footer-actions a,
footer .root-footer-bottom,
footer .root-footer-bottom a,
footer .foot p,
footer .foot a,
footer .links a,
footer .to_top,
.to_top,
footer [data-company-phone],
footer [data-company-email],
footer [data-company-address],
footer [data-company-vat] {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 0.94rem !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.75 !important;
  text-transform: none !important;
}

footer .root-footer-bottom,
footer .root-footer-bottom a,
footer .foot p,
footer .foot a,
footer .links a,
footer .to_top,
.to_top {
  font-size: 0.86rem !important;
}

footer .footer-main h3,
footer .root-footer-column h3 {
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase !important;
}

/* Final mobile hero shape sizing: keep the orange mask close to the intro copy. */
@media screen and (max-width: 760px) {
  body.home-style2.light-theme .tc-header-style2 {
    min-height: 640px !important;
  }

  body.home-style2.light-theme .tc-header-style2 .back-img {
    top: 178px !important;
    left: 50% !important;
    width: min(390px, 92vw) !important;
    height: 360px !important;
    transform: translateX(-50%) !important;
  }

  body.home-style2.light-theme .tc-header-style2 .header-content {
    top: 190px !important;
  }

  body.home-style2.light-theme .tc-header-style2 .info h1 {
    max-width: min(430px, calc(100vw - 2rem)) !important;
    margin-bottom: 1.25rem !important;
  }
}

/* Final cookie consent and menu typography normalization. */
.cs-cookie-banner {
  position: fixed;
  right: clamp(1rem, 3vw, 2rem);
  bottom: clamp(1rem, 3vw, 2rem);
  z-index: 20000;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.1rem;
  align-items: center;
  width: min(720px, calc(100vw - 2rem));
  padding: 1rem;
  border: 1px solid rgba(36, 17, 6, 0.12);
  border-radius: 24px;
  color: #241106;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 24px 80px rgba(36, 17, 6, 0.24);
}

.cs-cookie-banner__copy strong {
  display: block;
  margin-bottom: 0.25rem;
  color: #17110d;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
}

.cs-cookie-banner__copy p {
  max-width: 520px;
  margin: 0;
  color: rgba(36, 17, 6, 0.72);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 0.88rem;
  line-height: 1.55;
}

.cs-cookie-banner__copy a {
  display: inline-flex;
  margin-top: 0.45rem;
  color: #c74600;
  font-size: 0.82rem;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cs-cookie-banner__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  justify-content: flex-end;
}

.cs-cookie-banner button {
  min-height: 42px;
  padding: 0.75rem 0.95rem;
  border: 1px solid rgba(36, 17, 6, 0.14);
  border-radius: 999px;
  color: #241106;
  background: #fff;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
}

.cs-cookie-banner button[data-cookie-choice="accepted"] {
  border-color: #f5871f;
  color: #fff;
  background: #17110d;
}

.site-header .site-nav a,
.site-header .brand strong,
.site-header [data-company-name],
.tc-navbar-style2 .navbar-nav .nav-item .nav-link,
.tc-navbar-style2 .dropdown-toggle,
.tc-navbar-style2 .root-brand-label,
.tc-inner-navbar-style1 .navbar-nav .nav-link,
.tc-inner-navbar-style1 .dropdown-toggle,
.tc-inner-navbar-style1 .root-brand-label,
.cs-unified-links a,
.cs-unified-brand strong {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.055em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

.site-header .site-nav a[aria-current="page"],
.site-header .site-nav a.active,
.tc-navbar-style2 .navbar-nav .nav-item .nav-link.active,
.tc-inner-navbar-style1 .navbar-nav .nav-link.active,
.cs-unified-links a[aria-current="page"] {
  font-weight: 800 !important;
}

@media screen and (max-width: 760px) {
  .cs-cookie-banner {
    right: 0.75rem;
    bottom: 0.75rem;
    left: 0.75rem;
    grid-template-columns: 1fr;
    width: auto;
  }

  .cs-cookie-banner__actions {
    justify-content: stretch;
  }

  .cs-cookie-banner button {
    flex: 1 1 100%;
  }

  .site-header .site-nav a,
  .tc-navbar-style2 .navbar-nav .nav-item .nav-link,
  .tc-inner-navbar-style1 .navbar-nav .nav-link {
    font-size: 0.86rem !important;
  }
}

/* Final social footer links and mobile inner-page header clearance. */
.root-footer-socials {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 1rem;
}

.root-footer-socials a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0.45rem 0.75rem;
  border: 1px solid rgba(255, 246, 235, 0.14);
  border-radius: 999px;
  color: rgba(255, 246, 235, 0.78) !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-transform: none !important;
}

.root-footer-socials a:hover {
  border-color: rgba(245, 135, 31, 0.7);
  color: #fff6eb !important;
}

@media screen and (max-width: 760px) {
  body:not(.home-style2) .page-hero,
  body:not(.home-style2) .root-page-hero,
  :is(body.page-insights-overview, body.page-process-overview) .root-about-header,
  :is(body.page-insights-overview, body.page-process-overview) .tc-about-header-style1 {
    padding-top: max(92px, 18vw) !important;
  }

  body:not(.home-style2) main > .page-hero:first-child {
    margin-top: 0 !important;
  }
}

/* Final mobile homepage polish: keep brand visible and make insights feel designed. */
@media screen and (max-width: 760px) {
  body.home-style2.light-theme .tc-navbar-style2 .root-brand-label,
  body.home-style2 .tc-navbar-style2 .root-brand-label {
    display: inline-block !important;
    color: #1b1b1e !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.055em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
  }

  body.home-style2.light-theme .tc-navbar-style2 .navbar-brand,
  body.home-style2 .tc-navbar-style2 .navbar-brand {
    max-width: calc(100vw - 6rem) !important;
    gap: 0.7rem !important;
  }

  body.home-style2 .tc-blog-style2 {
    padding: 68px 0 !important;
    background: linear-gradient(180deg, #fff 0%, #fff7ec 100%) !important;
  }

  body.home-style2 .tc-blog-style2 .content {
    display: grid !important;
    gap: 1rem !important;
  }

  body.home-style2 .tc-blog-style2 .title {
    margin-bottom: 1.3rem !important;
  }

  body.home-style2 .tc-blog-style2 .title h2 {
    max-width: 320px !important;
    margin: 0 !important;
    color: #17110d !important;
    font-size: clamp(2.35rem, 11vw, 3.25rem) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.05em !important;
    text-transform: none !important;
  }

  body.home-style2 .tc-blog-style2 .title .button_su {
    margin-top: 1rem !important;
  }

  body.home-style2 .tc-blog-style2 .blog-card {
    display: grid !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(36, 17, 6, 0.1) !important;
    border-radius: 26px !important;
    background: #fff !important;
    box-shadow: 0 18px 48px rgba(36, 17, 6, 0.09) !important;
  }

  body.home-style2 .tc-blog-style2 .blog-card + .blog-card {
    margin-top: 1rem !important;
  }

  body.home-style2 .tc-blog-style2 .blog-card .img {
    min-height: 0 !important;
    height: 190px !important;
    margin: 0 !important;
    border-radius: 0 !important;
  }

  body.home-style2 .tc-blog-style2 .blog-card .row {
    display: grid !important;
    gap: 0.75rem !important;
    margin: 0 !important;
    padding: 1.2rem !important;
  }

  body.home-style2 .tc-blog-style2 .blog-card [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    text-align: left !important;
  }

  body.home-style2 .tc-blog-style2 .blog-card .sub-title b,
  body.home-style2 .tc-blog-style2 .blog-card .date {
    color: #c74600 !important;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif !important;
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.1em !important;
  }

  body.home-style2 .tc-blog-style2 .blog-card .sub-title p {
    display: none !important;
  }

  body.home-style2 .tc-blog-style2 .blog-card .main-title h3 {
    margin: 0 0 0.75rem !important;
    color: #17110d !important;
    font-size: clamp(1.55rem, 7.2vw, 2.05rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.035em !important;
    text-transform: none !important;
  }

  body.home-style2 .tc-blog-style2 .blog-card .text {
    color: rgba(36, 17, 6, 0.68) !important;
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
  }

  body.home-style2 .tc-blog-style2 .blog-card .button_su {
    padding: 0 1.2rem 1.2rem !important;
  }

  body.home-style2 .root-home-insight-strip {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.85rem !important;
    margin-top: 1rem !important;
  }

  body.home-style2 .root-home-insight-pill {
    min-height: 0 !important;
    padding: 1.05rem !important;
    border-radius: 22px !important;
  }
}

/* Final mobile comfort pass: gutters, cards and footers should feel intentionally designed. */
@media screen and (max-width: 760px) {
  html,
  body {
    width: 100% !important;
    overflow-x: hidden !important;
  }

  main :is(.container, .container-fluid),
  footer :is(.container, .container-fluid),
  .root-page-hero > .container,
  .root-inner-header > .container,
  .root-about-header .container,
  .tc-about-header-style1 .container {
    width: min(100% - 2rem, var(--cs-container, 1180px)) !important;
    max-width: min(100% - 2rem, var(--cs-container, 1180px)) !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  main :is(.section, .root-page-section, .section-soft, .section-tight, .tc-services-style2, .tc-featured-style2, .tc-testimonials-style2, .tc-blog-style2, .root-impact-deck, .root-visual-authority, .contact-premium-main) {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }

  main :is(.page-hero, .root-page-hero, .root-about-header, .tc-about-header-style1) {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  main :is(.lead, .muted, p, li),
  .content-flow p,
  .root-article-body p,
  .service-card p,
  .project-content p,
  .cta-band p {
    max-width: 34rem;
    font-size: 0.98rem !important;
    line-height: 1.72 !important;
  }

  main :is(.service-card, .aside-panel, .sticky-note, .root-service-detail-card, .root-related-card, .cta-band, .contact-side-card, .contact-form-shell, .project-card) {
    border-radius: 24px !important;
  }

  main :is(.grid-2, .grid-3, .split-layout, .content-flow, .projects-list, .root-article-layout, .root-service-visual-grid, .root-impact-pills) {
    gap: 1rem !important;
  }

  .button-row,
  .root-impact-actions,
  .contact-premium-actions {
    gap: 0.75rem !important;
  }

  .button-row .btn,
  .root-impact-actions a,
  .contact-premium-actions a {
    width: 100% !important;
    justify-content: center !important;
  }

  .site-footer,
  .root-smart-footer,
  .root-inner-footer,
  .tc-inner-footer-style1,
  .tc-footer-style2 {
    overflow: hidden !important;
    padding: 0 !important;
    background:
      radial-gradient(circle at 18% 0%, rgba(245, 135, 31, 0.2), transparent 18rem),
      #11100f !important;
  }

  .site-footer .footer-main,
  body:not([class]) .footer-main {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.9rem !important;
    padding: 3rem 0 1.2rem !important;
  }

  .site-footer .footer-main > div,
  body:not([class]) .footer-main > div,
  .root-footer-column {
    padding: 1.15rem !important;
    border: 1px solid rgba(255, 246, 235, 0.1) !important;
    border-radius: 22px !important;
    background: rgba(255, 255, 255, 0.045) !important;
  }

  .site-footer .footer-main > div:first-child,
  body:not([class]) .footer-main > div:first-child {
    padding: 0 0 1.25rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  footer h2,
  footer h2 a,
  footer .root-footer-title,
  footer .footer-main h2,
  footer .info h2 a {
    max-width: 10.5ch !important;
    margin: 0 0 1rem !important;
    color: #fff6eb !important;
    font-size: clamp(2.3rem, 14vw, 4rem) !important;
    line-height: 0.95 !important;
    letter-spacing: -0.055em !important;
  }

  footer .footer-main p,
  .root-footer-lead,
  .root-smart-footer .root-footer-intro p {
    max-width: 30rem !important;
    margin: 0 !important;
    color: rgba(255, 246, 235, 0.68) !important;
    font-size: 0.96rem !important;
    line-height: 1.72 !important;
  }

  footer h3,
  footer .footer-main h3,
  footer .root-footer-column h3 {
    margin: 0 0 0.8rem !important;
    color: rgba(255, 246, 235, 0.88) !important;
    font-size: 0.74rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
  }

  .footer-links,
  .root-footer-column,
  .root-footer-actions,
  footer .links {
    display: grid !important;
    gap: 0.46rem !important;
  }

  footer .footer-links a,
  footer .footer-links span,
  footer .root-footer-column a,
  footer .root-footer-column span,
  footer .root-footer-actions a,
  footer .links a,
  footer [data-company-phone],
  footer [data-company-email],
  footer [data-company-address],
  footer [data-company-vat] {
    display: block !important;
    width: 100% !important;
    color: rgba(255, 246, 235, 0.72) !important;
    font-size: 0.92rem !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    line-height: 1.55 !important;
    text-transform: none !important;
    overflow-wrap: anywhere !important;
  }

  .root-footer-socials {
    margin-top: 0.8rem !important;
  }

  .root-footer-socials a {
    width: auto !important;
  }

  .root-smart-footer .root-footer-panel,
  .root-footer-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.9rem !important;
    padding: 3rem 0 1rem !important;
  }

  .root-smart-footer .root-footer-panel {
    padding-bottom: 1.3rem !important;
  }

  .root-smart-footer .root-footer-actions {
    align-items: stretch !important;
  }

  .root-smart-footer .root-footer-actions a {
    text-align: left !important;
  }

  .tc-footer-style2:not(.root-smart-footer) .foot-content,
  .root-inner-footer .foot-content {
    padding: 3.2rem 0 2rem !important;
  }

  .tc-footer-style2:not(.root-smart-footer) .info,
  .root-inner-footer .info {
    padding: 1.2rem !important;
    border: 1px solid rgba(255, 246, 235, 0.1) !important;
    border-radius: 24px !important;
    background: rgba(255, 255, 255, 0.045) !important;
    text-align: left !important;
  }

  .tc-footer-style2:not(.root-smart-footer) .info > p:first-child,
  .root-inner-footer .info > p:first-child {
    margin-bottom: 0.9rem !important;
    color: #f28c28 !important;
    font-size: 0.72rem !important;
    line-height: 1.4 !important;
    letter-spacing: 0.12em !important;
  }

  .tc-footer-style2:not(.root-smart-footer) .info h2,
  .root-inner-footer .info h2 {
    margin-bottom: 1.2rem !important;
  }

  .tc-footer-style2:not(.root-smart-footer) .info p,
  .root-inner-footer .info p {
    margin-bottom: 0.45rem !important;
  }

  footer .root-footer-bottom,
  body:not([class]) .footer-bottom,
  .site-footer .footer-bottom,
  .tc-inner-footer-style1 .foot,
  .root-inner-footer .foot {
    display: grid !important;
    gap: 0.75rem !important;
    padding: 1.1rem 0 1.6rem !important;
    border-top: 1px solid rgba(255, 246, 235, 0.1) !important;
    color: rgba(255, 246, 235, 0.58) !important;
    text-align: left !important;
  }

  .tc-inner-footer-style1 .foot .row,
  .root-inner-footer .foot .row {
    display: grid !important;
    gap: 0.8rem !important;
    margin: 0 !important;
  }

  .tc-inner-footer-style1 .foot [class*="col-"],
  .root-inner-footer .foot [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    text-align: left !important;
  }

  .tc-inner-footer-style1 .foot .links,
  .root-inner-footer .foot .links {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem 0.85rem !important;
    justify-content: flex-start !important;
  }

  .tc-inner-footer-style1 .foot .links a,
  .root-inner-footer .foot .links a,
  .footer-bottom a,
  .root-footer-bottom a {
    color: rgba(255, 246, 235, 0.72) !important;
    font-size: 0.84rem !important;
  }
}

/* Premium contact page */
.contact-premium-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(74px, 8vw, 128px) 0 clamp(58px, 6vw, 96px);
  background:
    radial-gradient(circle at 84% 8%, rgba(245, 135, 31, 0.22), transparent 30%),
    linear-gradient(180deg, #fff7ec 0%, #fffaf3 64%, #fff 100%);
}

.contact-premium-hero::after {
  content: "";
  position: absolute;
  right: -9vw;
  bottom: -16vw;
  width: clamp(320px, 42vw, 680px);
  height: clamp(320px, 42vw, 680px);
  border-radius: 38% 62% 44% 56%;
  background: rgba(245, 135, 31, 0.14);
  transform: rotate(-18deg);
  pointer-events: none;
}

.contact-premium-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.43fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: end;
}

.contact-premium-hero-copy .page-title {
  max-width: 980px;
  margin-bottom: 1.4rem;
  font-size: clamp(3.6rem, 7vw, 7.4rem);
  line-height: 0.92;
}

.contact-premium-hero-copy .lead {
  max-width: 780px;
  color: rgba(36, 17, 6, 0.72);
  font-size: clamp(1.08rem, 1.45vw, 1.32rem);
  line-height: 1.76;
}

.contact-premium-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
  max-width: 740px;
  margin-top: 2.4rem;
}

.contact-premium-actions a,
.contact-side-links a {
  display: grid;
  gap: 0.25rem;
  padding: 1.1rem 1.2rem;
  border: 1px solid rgba(36, 17, 6, 0.11);
  border-radius: 22px;
  color: #241106;
  background: rgba(255, 255, 255, 0.72);
  text-decoration: none;
  box-shadow: 0 18px 44px rgba(36, 17, 6, 0.08);
}

.contact-premium-actions span,
.contact-side-links span {
  color: rgba(36, 17, 6, 0.52);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.contact-premium-actions strong,
.contact-side-links strong {
  color: #241106;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(1rem, 1.15vw, 1.12rem);
  font-weight: 500;
  letter-spacing: -0.015em;
  line-height: 1.35;
}

.contact-premium-panel,
.contact-side-card,
.contact-form-shell {
  border: 1px solid rgba(36, 17, 6, 0.1);
  border-radius: clamp(28px, 3.5vw, 48px);
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 24px 76px rgba(36, 17, 6, 0.12);
}

.contact-premium-panel {
  padding: clamp(1.5rem, 3vw, 2.2rem);
}

.contact-premium-status {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 2.4rem;
  color: #c74600;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.contact-premium-status span {
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 50%;
  background: #f5871f;
  box-shadow: 0 0 0 8px rgba(245, 135, 31, 0.14);
}

.contact-premium-panel h2,
.contact-side-card h2,
.contact-form-heading h2 {
  margin: 0 0 1rem;
  color: #241106;
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 0.98;
}

.contact-premium-panel h2 {
  font-size: clamp(2.3rem, 4vw, 4rem);
}

.contact-premium-panel p {
  color: rgba(36, 17, 6, 0.68);
  font-size: 1rem;
  line-height: 1.7;
}

.contact-premium-main {
  background: #fff;
}

.contact-premium-layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.42fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: start;
}

.contact-premium-side {
  display: grid;
  gap: 1rem;
  position: sticky;
  top: 120px;
}

.contact-side-card {
  padding: clamp(1.35rem, 2.4vw, 2rem);
}

.contact-side-card.is-dark {
  color: #fff6eb;
  background:
    radial-gradient(circle at 12% 0%, rgba(245, 135, 31, 0.24), transparent 36%),
    #17110d;
}

.contact-side-card.is-dark h2,
.contact-side-card.is-dark .contact-side-links strong {
  color: #fff6eb;
}

.contact-side-card.is-dark .contact-side-links a {
  border-color: rgba(255, 246, 235, 0.12);
  background: rgba(255, 255, 255, 0.06);
  box-shadow: none;
}

.contact-side-card.is-dark .contact-side-links span {
  color: rgba(255, 246, 235, 0.54);
}

.contact-side-card ul {
  display: grid;
  gap: 0.8rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.contact-side-card li {
  position: relative;
  padding-left: 1.2rem;
  color: rgba(36, 17, 6, 0.68);
  line-height: 1.62;
}

.contact-side-card li::before {
  content: "";
  position: absolute;
  top: 0.68em;
  left: 0;
  width: 0.46rem;
  height: 0.46rem;
  border-radius: 50%;
  background: #f5871f;
}

.contact-form-shell {
  padding: clamp(1.4rem, 3.5vw, 3.2rem);
}

.contact-form-heading {
  max-width: 740px;
  margin-bottom: 2rem;
}

.contact-form-heading h2 {
  font-size: clamp(2.5rem, 4.6vw, 5rem);
}

.contact-form-heading p {
  color: rgba(36, 17, 6, 0.66);
  font-size: 1.05rem;
  line-height: 1.7;
}

.contact-form-shell .contact-form {
  display: grid;
  gap: 1.1rem;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.contact-form-shell .form-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.contact-form-shell .field label {
  margin-bottom: 0.55rem;
  color: rgba(36, 17, 6, 0.72);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.contact-form-shell input,
.contact-form-shell select,
.contact-form-shell textarea {
  min-height: 60px;
  border: 1px solid rgba(36, 17, 6, 0.12);
  border-radius: 18px;
  background: #fffaf3;
  color: #241106;
  font-size: 1rem;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.contact-form-shell textarea {
  min-height: 180px;
  resize: vertical;
}

.contact-form-shell input:focus,
.contact-form-shell select:focus,
.contact-form-shell textarea:focus {
  border-color: rgba(199, 70, 0, 0.52);
  background: #fff;
  box-shadow: 0 0 0 5px rgba(245, 135, 31, 0.14);
  outline: none;
}

.contact-form-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 0.5rem;
}

.contact-form-footer .muted {
  max-width: 420px;
  margin: 0;
  font-size: 0.92rem;
}

.contact-form-footer .btn {
  min-width: 210px;
}

@media screen and (max-width: 980px) {
  .contact-premium-hero-grid,
  .contact-premium-layout {
    grid-template-columns: 1fr;
  }

  .contact-premium-side {
    position: static;
  }
}

@media screen and (max-width: 680px) {
  .contact-premium-hero {
    padding: 58px 0 64px;
  }

  .contact-premium-hero-copy .page-title {
    font-size: clamp(2.45rem, 12vw, 3.45rem);
  }

  .contact-premium-actions,
  .contact-form-shell .form-row {
    grid-template-columns: 1fr;
  }

  .contact-form-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .contact-form-footer .btn {
    width: 100%;
  }
}

/* Final contact heading readability: match the softer footer display font. */
.contact-premium-hero-copy .page-title,
.contact-premium-panel h2,
.contact-side-card h2,
.contact-form-heading h2 {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
  font-weight: 500 !important;
  letter-spacing: -0.04em !important;
  line-height: 1 !important;
}

@media screen and (max-width: 680px) {
  .contact-premium-hero-copy .page-title {
    font-size: clamp(2.25rem, 10.5vw, 3.15rem) !important;
    line-height: 1.04 !important;
  }
}

/* Final fixes: readable contact hero, clickable cases, compact mobile nav. */
.contact-premium-hero .contact-premium-hero-copy .page-title,
.contact-premium-hero .contact-premium-hero-copy .page-title * {
  color: #17110d !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #17110d !important;
}

a.project-card {
  display: block;
  color: inherit !important;
  text-decoration: none !important;
}

a.project-card:hover .card-title {
  color: #c74600 !important;
}

@media screen and (max-width: 760px) {
  body:not(.home-style2) .site-header {
    padding-top: 14px !important;
  }

  body:not(.home-style2) .site-header .nav-wrap {
    min-height: 62px !important;
    padding: 0.65rem 0.85rem !important;
    border-radius: 28px 28px 0 0 !important;
  }

  body:not(.home-style2) .site-header .brand img {
    width: 34px !important;
    height: 34px !important;
    max-width: 34px !important;
    max-height: 34px !important;
  }

  body:not(.home-style2) .site-header .brand strong,
  body:not(.home-style2) .site-header .brand [data-company-name] {
    font-size: 0.78rem !important;
  }

  body:not(.home-style2) .site-header .menu-toggle,
  body:not(.home-style2) header.site-header button.menu-toggle[data-menu-toggle] {
    width: 42px !important;
    height: 42px !important;
    flex-basis: 42px !important;
  }

  body:not(.home-style2) .site-header .site-nav {
    top: calc(100% + 0.45rem) !important;
    max-height: calc(100vh - 92px) !important;
  }
}

/* Final mobile homepage hero: replace the oversized mask with a compact text-focused panel. */
@media screen and (max-width: 760px) {
  body.home-style2.light-theme .tc-header-style2 {
    min-height: auto !important;
    padding: 0 0 42px !important;
    background: linear-gradient(180deg, #f5871f 0 46px, #fff 46px, #fff 100%) !important;
    border-radius: 0 0 28px 28px !important;
    overflow: visible !important;
  }

  body.home-style2.light-theme .tc-header-style2 .back-img {
    display: none !important;
  }

  body.home-style2.light-theme .tc-header-style2 .tc-navbar-style2 {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    z-index: 30 !important;
    margin: 26px 0 0 !important;
    padding: 0.9rem 1rem !important;
    border-radius: 34px 34px 0 0 !important;
    background: #fff !important;
  }

  body.home-style2.light-theme .tc-navbar-style2 .container-fluid {
    padding: 0 !important;
  }

  body.home-style2.light-theme .tc-navbar-style2 .navbar-brand .logo {
    width: 38px !important;
    height: 38px !important;
    max-width: 38px !important;
    max-height: 38px !important;
  }

  body.home-style2.light-theme .tc-header-style2 .header-content {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    margin: 0 !important;
    padding: clamp(3.2rem, 14vw, 4.8rem) 1.15rem 0 !important;
    transform: none !important;
  }

  body.home-style2.light-theme .tc-header-style2 .header-content .container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }

  body.home-style2.light-theme .tc-header-style2 .info {
    position: relative !important;
    max-width: 440px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: left !important;
  }

  body.home-style2.light-theme .tc-header-style2 .info::before {
    content: none !important;
    display: none !important;
  }

  body.home-style2.light-theme .tc-header-style2 .info h1 {
    max-width: 100% !important;
    margin: 0 !important;
    color: #11100f !important;
    font-size: clamp(2.15rem, 9.4vw, 3rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.052em !important;
    overflow-wrap: normal !important;
  }

  body.home-style2.light-theme .tc-header-style2 .root-hero-highlight {
    color: #c74600 !important;
  }

  body.home-style2.light-theme .tc-header-style2 .info::after {
    content: "websites / hosting / visuals";
    display: inline-flex;
    margin-top: 1.35rem;
    padding-top: 1rem;
    border-top: 2px solid rgba(245, 135, 31, 0.7);
    color: #c74600;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  body.home-style2.light-theme .tc-header-style2 .info p.fsz-30.mb-50,
  body.home-style2.light-theme .tc-header-style2 .info .text.mb-90,
  body.home-style2.light-theme .tc-header-style2 .brands {
    display: none !important;
  }
}
