/* Fourart Theme Stylesheet — deduped from inline <style> across all pages */

*,
    *::before,
    *::after {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
      outline: none;
    }

html {
      scroll-behavior: smooth;
      overflow-x: hidden;
    }

body {
      font-family: 'Proxima Nova', 'Nunito Sans', 'DM Sans', sans-serif;
      color: #1A1F4E;
      background: #fff;
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
    }

img {
      max-width: 100%;
      height: auto;
      display: block;
    }

a {
      color: inherit;
      text-decoration: none;
      outline: none;
      -webkit-tap-highlight-color: transparent;
    }

a:focus,
    a:focus-visible {
      outline: none;
    }

a.btn:focus,
    a.btn:focus-visible,
    a.btn:active {
      outline: none !important;
      box-shadow: none !important;
      border: none !important;
    }

ul,
    ol {
      list-style: none;
    }

button {
      font-family: inherit;
      cursor: pointer;
      border: none;
      background: none;
    }

:root {
      --navy: #1A1F4E;
      --gold: #C9A84C;
      --cream: #F9F6F0;
      --white: #ffffff;
      --gray: #6B7280;
      --light: #F3F4F6;
      --footer: #0F1230;
      --serif: 'Proxima Nova', 'Nunito Sans', 'DM Sans', sans-serif;
      --sans: 'Proxima Nova', 'Nunito Sans', 'DM Sans', sans-serif;
      --nav-h: 60px;
      --pad: 20px;
    }

.nav {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 1000;
      height: var(--nav-h);
      background: rgba(255, 255, 255, 0.97);
      backdrop-filter: blur(10px);
      border-bottom: 1px solid rgba(26, 31, 78, 0.08);
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 var(--pad);
      transition: box-shadow 0.2s;
    }

.nav-logo {
      display: flex;
      align-items: center;
    }

.nav-logo img {
      height: 28px;
      width: auto;
    }

.nav-burger {
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 5px;
      padding: 6px;
      z-index: 1001;
    }

.nav-burger span {
      display: block;
      width: 22px;
      height: 2px;
      background: var(--navy);
      border-radius: 2px;
      transition: transform 0.25s, opacity 0.25s;
    }

.nav-burger.open span:nth-child(1) {
      transform: translateY(7px) rotate(45deg);
    }

.nav-burger.open span:nth-child(2) {
      opacity: 0;
    }

.nav-burger.open span:nth-child(3) {
      transform: translateY(-7px) rotate(-45deg);
    }

.nav-menu {
  display: none;
  position: fixed;
  top: var(--nav-h); left: 0; right: 0;
  height: calc(100vh - var(--nav-h));
  height: calc(100dvh - var(--nav-h));
  background: #fff;
  flex-direction: column;
  padding: 8px 24px 40px;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  z-index: 999;
  border-top: 1px solid rgba(26,31,78,0.07);
}

.nav-menu.open {
      display: flex;
    }

.nav-item {
      border-bottom: 1px solid rgba(26, 31, 78, 0.07);
    }

.nav-item:last-child {
      border-bottom: none;
    }

.nav-link {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 15px 0;
      font-size: 16px;
      font-weight: 600;
      color: var(--navy);
    }

.nav-link.cta {
      margin-top: 14px;
      background: var(--navy);
      color: #fff;
      justify-content: center;
      border-radius: 8px;
      padding: 14px 20px;
      border-bottom: none;
    }

.nav-link .nav-arrow {
      font-size: 12px;
      opacity: 0.4;
      transition: transform 0.2s;
    }

.nav-item.open .nav-arrow {
      transform: rotate(180deg);
    }

.nav-dropdown {
      display: none;
      flex-direction: column;
      padding: 0 0 8px 12px;
      border-left: 2px solid var(--gold);
      margin-bottom: 4px;
    }

.nav-item.open .nav-dropdown {
      display: flex;
    }

.nav-dropdown a {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 9px 10px;
      font-size: 14px;
      color: var(--gray);
    }

.nav-dropdown a.active {
      color: var(--gold);
      font-weight: 600;
    }

@media (min-width: 900px) {
      .clients-sec {
        padding: 72px 60px;
      }




      :root {
        --nav-h: 68px;
        --pad: 60px;
      }

      .nav {
        padding: 0 60px;
      }

      .nav-burger {
        display: none;
      }

      .nav-menu {
        display: flex;
        position: static;
        height: auto;
        background: transparent;
        flex-direction: row;
        align-items: center;
        gap: 28px;
        padding: 0;
        overflow-y: visible;
        overscroll-behavior: auto;
        z-index: auto;
        border-top: none;
      }

      .nav-item {
        border-bottom: none;
        position: relative;
      }

      .nav-link {
        padding: 8px 0;
        font-size: 14px;
        font-weight: 500;
        opacity: 0.72;
        gap: 4px;
        transition: opacity 0.2s;
      }

      .nav-link:hover,
      .nav-link.active {
        opacity: 1;
      }

      .nav-link.cta {
        margin-top: 0;
        background: var(--navy);
        color: #fff;
        padding: 9px 22px;
        border-radius: 6px;
        font-weight: 600;
        opacity: 1;
      }

      .nav-arrow {
        display: none;
      }

      .nav-dropdown {
        display: none;
        position: absolute;
        top: calc(100% + 14px);
        left: 50%;
        transform: translateX(-50%);
        flex-direction: column;
        background: #fff;
        border-radius: 12px;
        box-shadow: 0 16px 48px rgba(26, 31, 78, 0.15);
        border: 1px solid rgba(26, 31, 78, 0.07);
        padding: 6px 0;
        min-width: 220px;
        border-left: none;
        margin-bottom: 0;
        z-index: 200;
      }

      .nav-dropdown::before {
        content: '';
        position: absolute;
        top: -6px;
        left: 50%;
        width: 12px;
        height: 12px;
        background: #fff;
        border-left: 1px solid rgba(26, 31, 78, 0.07);
        border-top: 1px solid rgba(26, 31, 78, 0.07);
        transform: translateX(-50%) rotate(45deg);
      }

      .nav-item:hover .nav-dropdown {
        display: flex;
      }

      .nav-dropdown a {
        padding: 10px 16px;
        font-size: 13px;
        color: var(--navy);
        transition: background 0.15s;
      }

      .nav-dropdown a:hover {
        background: var(--light);
      }
    }

.footer {
      background: var(--footer);
      padding: 56px 20px 28px;
    }

.footer-inner {
      display: grid;
      grid-template-columns: 1fr;
      gap: 40px;
      margin-bottom: 40px;
    }

.footer-logo img {
      height: 28px;
      width: auto;
      margin-bottom: 16px;
    }

.footer-tagline {
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 12px;
    }

.footer-about {
      font-size: 13px;
      color: rgba(255, 255, 255, 0.5);
      line-height: 1.7;
      max-width: 280px;
    }

.footer-col-title {
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 14px;
    }

.footer-contact-list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }

.footer-contact-list li {
      display: flex;
      align-items: flex-start;
      gap: 10px;
    }

.footer-contact-list .fc-icon {
      font-size: 13px;
      margin-top: 2px;
      flex-shrink: 0;
      line-height: 1;
    }

.footer-contact-list a,
    .footer-contact-list span {
      font-size: 13px;
      color: rgba(255, 255, 255, 0.55);
      line-height: 1.5;
      transition: color 0.2s;
    }

.footer-contact-list a:hover {
      color: var(--gold);
    }

.footer-nav-list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }

.footer-nav-list a {
      font-size: 13px;
      color: rgba(255, 255, 255, 0.55);
      transition: color 0.2s;
    }

.footer-nav-list a:hover {
      color: var(--gold);
    }

.footer-social-grid {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 0;
    }

.footer-social-link {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 40px;
      height: 40px;
      border-radius: 8px;
      background: rgba(255, 255, 255, 0.1);
      border: 1px solid rgba(255, 255, 255, 0.15);
      color: rgba(255, 255, 255, 0.85);
      font-size: 16px;
      transition: background 0.2s, border-color 0.2s, color 0.2s;
      text-decoration: none;
    }

.footer-social-link svg {
      display: block;
    }

.footer-social-link:hover {
      background: var(--gold);
      border-color: var(--gold);
      color: var(--navy);
    }

.footer-bottom {
      border-top: 1px solid rgba(255, 255, 255, 0.07);
      padding-top: 20px;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 8px;
      text-align: center;
    }

.footer-copy {
      font-size: 12px;
      color: rgba(255, 255, 255, 0.25);
    }

.footer-legal {
      display: flex;
      gap: 16px;
    }

.footer-legal a {
      font-size: 12px;
      color: rgba(255, 255, 255, 0.25);
      transition: color 0.2s;
    }

.footer-legal a:hover {
      color: var(--gold);
    }

@media (min-width: 600px) {
      .footer {
        padding: 56px 28px 28px;
      }

      .footer-inner {
        grid-template-columns: 1fr 1fr;
        gap: 36px;
      }
    }

@media (min-width: 900px) {
      .footer {
        padding: 72px 60px 32px;
      }

      .footer-inner {
        grid-template-columns: 1.6fr 1fr 1fr 1fr;
        gap: 48px;
        margin-bottom: 48px;
      }

      .footer-bottom {
        flex-direction: row;
        justify-content: space-between;
        text-align: left;
      }
    }

a.btn,
    button.btn,
    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 13px 28px;
      border-radius: 8px;
      font-size: 14px;
      font-weight: 700;
      letter-spacing: 0.2px;
      border: none;
      outline: none !important;
      box-shadow: none !important;
      -webkit-appearance: none;
      appearance: none;
      text-decoration: none !important;
      cursor: pointer;
      line-height: 1;
      text-align: center;
      transition: transform 0.15s, background 0.15s, color 0.15s;
    }

a.btn:hover,
    button.btn:hover,
    .btn:hover {
      transform: translateY(-2px);
    }

a.btn:visited,
    a.btn:focus,
    a.btn:active {
      outline: none;
      box-shadow: none;
      text-decoration: none;
    }

.btn-gold {
      background: var(--gold);
      color: var(--navy) !important;
    }

.btn-gold:hover {
      background: #d4a93a;
    }

.btn-white {
      background: #fff;
      color: var(--navy) !important;
    }

.btn-white:hover {
      background: #f0f0f0;
    }

.btn-outline {
      background: transparent;
      border: 2px solid rgba(255, 255, 255, 0.5);
      color: #fff !important;
    }

.btn-outline:hover {
      border-color: #fff;
      background: rgba(255, 255, 255, 0.08);
    }

.btn-navy {
      background: var(--navy);
      color: #fff !important;
    }

.btn-navy:hover {
      background: #252b6b;
    }

.hero-btns {
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin-bottom: 48px;
      animation: fadeUp 0.6s ease 1.4s both;
    }

.hero-btns .btn {
      width: 100%;
      text-align: center;
    }

.btn-block {
      display: block;
      width: 100%;
    }

.tag {
      display: inline-block;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 2.5px;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 12px;
    }

.section-title {
      font-family: var(--serif);
      font-size: clamp(24px, 7vw, 44px);
      font-weight: 800;
      line-height: 1.15;
      letter-spacing: -1px;
    }

.section-title em {
      font-style: normal;
      color: var(--gold);
    }

.section-sub {
      font-size: 16px;
      color: var(--gray);
      line-height: 1.75;
      font-weight: 300;
      margin-top: 12px;
    }

.container {
      width: 100%;
      max-width: 1200px;
      margin: 0 auto;
    }

.pt-nav {
      padding-top: var(--nav-h);
    }

.hero {
      min-height: 100svh;
      background: var(--navy);
      padding: 90px 20px 56px;
      display: flex;
      align-items: center;
      position: relative;
      overflow: hidden;
    }

.hero-inner {
      width: 100%;
      position: relative;
      z-index: 2;
    }

.hero-tag {
      display: inline-block;
      background: rgba(201, 168, 76, 0.15);
      color: var(--gold);
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 2.5px;
      text-transform: uppercase;
      padding: 6px 12px;
      border-radius: 4px;
      border: 1px solid rgba(201, 168, 76, 0.2);
      margin-bottom: 20px;
    }

.hero h1 {
      font-family: var(--serif);
      font-size: clamp(30px, 9vw, 64px);
      font-weight: 900;
      color: #fff;
      line-height: 1.1;
      letter-spacing: -1px;
      margin-bottom: 18px;
    }

.hero h1 em {
      font-style: normal;
      color: var(--gold);
    }

.hero-sub {
      font-size: 16px;
      color: rgba(255, 255, 255, 0.62);
      line-height: 1.75;
      font-weight: 300;
      margin-bottom: 32px;
    }

.hero-stats {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px 16px;
      margin-bottom: 32px;
    }

.stat {
      border-left: 2px solid var(--gold);
      padding-left: 14px;
    }

.stat-num {
      font-family: var(--serif);
      font-size: 26px;
      font-weight: 700;
      color: #fff;
      line-height: 1;
      margin-bottom: 4px;
    }

.stat-lbl {
      font-size: 10px;
      color: rgba(255, 255, 255, 0.45);
      letter-spacing: 0.5px;
      text-transform: uppercase;
    }

.geo-lbl {
      font-size: 11px;
      color: rgba(255, 255, 255, 0.4);
      text-transform: uppercase;
      letter-spacing: 1.5px;
      margin-bottom: 10px;
    }

.geo-flags {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }

.geo-flag {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 13px;
      color: rgba(255, 255, 255, 0.7);
      background: rgba(255, 255, 255, 0.07);
      padding: 6px 12px;
      border-radius: 20px;
      border: 1px solid rgba(255, 255, 255, 0.1);
    }

.hero-deco {
      display: none;
    }

.who {
      padding: 64px 20px;
      background: var(--cream);
    }

.who-inner {
      display: flex;
      flex-direction: column;
      gap: 36px;
    }

.who-text .section-title {
      margin-bottom: 16px;
    }

.who-text p {
      font-size: 16px;
      color: var(--gray);
      line-height: 1.8;
      margin-bottom: 14px;
    }

.who-cards {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
    }

.who-card {
      background: #fff;
      border-radius: 12px;
      padding: 18px 14px;
      border: 1px solid rgba(26, 31, 78, 0.07);
    }

.who-icon {
      font-size: 24px;
      margin-bottom: 10px;
    }

.who-card h4 {
      font-size: 13px;
      font-weight: 700;
      margin-bottom: 6px;
    }

.who-card p {
      font-size: 12px;
      color: var(--gray);
      line-height: 1.6;
    }

.who-stats {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      border: 1px solid rgba(26, 31, 78, 0.07);
      border-radius: 12px;
      overflow: hidden;
      margin-top: 28px;
    }

.ws-item {
      padding: 18px 10px;
      text-align: center;
      border-right: 1px solid rgba(26, 31, 78, 0.07);
    }

.ws-item:last-child {
      border-right: none;
    }

.ws-num {
      font-family: var(--serif);
      font-size: 22px;
      font-weight: 700;
      color: var(--navy);
    }

.ws-lbl {
      font-size: 10px;
      color: var(--gray);
      text-transform: uppercase;
      letter-spacing: 0.5px;
      margin-top: 2px;
    }

.services {
      padding: 64px 20px;
      background: #fff;
    }

.services-header {
      margin-bottom: 32px;
    }

.services-header .section-title {
      margin-bottom: 10px;
    }

.services-grid {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

.svc-card {
      display: block;
      border: 1.5px solid rgba(26, 31, 78, 0.08);
      border-radius: 14px;
      padding: 22px 20px;
      transition: border-color 0.2s, box-shadow 0.2s;
    }

.svc-card:hover {
      border-color: var(--gold);
      box-shadow: 0 6px 24px rgba(26, 31, 78, 0.08);
    }

.svc-card-highlight {
      border-color: var(--gold);
    }

.svc-card-highlight .svc-name {
      color: var(--navy);
    }

.svc-num {
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 2px;
      color: var(--gold);
      margin-bottom: 8px;
    }

.svc-icon {
      font-size: 28px;
      margin-bottom: 10px;
    }

.svc-name {
      font-family: var(--serif);
      font-size: 18px;
      font-weight: 700;
      margin-bottom: 8px;
    }

.svc-desc {
      font-size: 13px;
      color: var(--gray);
      line-height: 1.65;
      margin-bottom: 14px;
    }

.svc-link {
      font-size: 13px;
      font-weight: 700;
      color: var(--gold);
    }

.results {
      padding: 64px 20px;
      background: var(--cream);
    }

.results-header {
      margin-bottom: 32px;
    }

.results-grid {
      display: flex;
      flex-direction: column;
      gap: 16px;
    }

.case-card {
      background: #fff;
      border-radius: 16px;
      overflow: hidden;
      border: 1px solid rgba(26, 31, 78, 0.07);
    }

.case-header {
      background: var(--navy);
      padding: 20px 20px 16px;
    }

.case-industry {
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 8px;
    }

.case-headline {
      font-family: var(--serif);
      font-size: 22px;
      font-weight: 800;
      color: #fff;
      line-height: 1.2;
      margin-bottom: 4px;
    }

.case-headline-lbl {
      font-size: 12px;
      color: rgba(255, 255, 255, 0.45);
    }

.case-body {
      padding: 20px;
    }

.case-metrics {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin-bottom: 16px;
    }

.cm {
      border-left: 2px solid var(--gold);
      padding-left: 10px;
    }

.cm-num {
      font-size: 18px;
      font-weight: 700;
      color: var(--navy);
    }

.cm-lbl {
      font-size: 10px;
      color: var(--gray);
      text-transform: uppercase;
      letter-spacing: 0.5px;
    }

.case-desc {
      font-size: 13px;
      color: var(--gray);
      line-height: 1.7;
    }

.case-cta {
      display: inline-block;
      margin-top: 12px;
      font-size: 13px;
      font-weight: 700;
      color: var(--gold);
    }

a.case-card {
      display: block;
      text-decoration: none;
      color: inherit;
      cursor: pointer;
      transition: transform 0.2s, box-shadow 0.2s;
    }

a.case-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 36px rgba(26, 31, 78, 0.12);
    }

.portfolio-prev {
      padding: 64px 20px;
      background: #fff;
    }

.portfolio-prev-header {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      margin-bottom: 24px;
      gap: 12px;
    }

.portfolio-grid-prev {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
    }

.port-thumb {
      border-radius: 10px;
      overflow: hidden;
      background: var(--light);
      aspect-ratio: 1;
      position: relative;
    }

.port-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

.port-thumb-info {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      background: linear-gradient(transparent, rgba(26, 31, 78, 0.85));
      padding: 24px 12px 12px;
      opacity: 0;
      transition: opacity 0.2s;
    }

.port-thumb:hover .port-thumb-info {
      opacity: 1;
    }

.port-thumb-name {
      font-size: 13px;
      font-weight: 700;
      color: #fff;
    }

.port-thumb-type {
      font-size: 11px;
      color: rgba(255, 255, 255, 0.6);
    }

.clients-sec {
      padding: 64px 20px;
      background: var(--cream);
    }

.home-contact-combined {
      display: flex;
      flex-direction: column;
    }

.hcc-left {
      background: var(--navy);
      padding: 64px 28px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      position: relative;
      overflow: hidden;
    }

.hcc-left::before {
      content: '';
      position: absolute;
      top: -80px;
      right: -80px;
      width: 320px;
      height: 320px;
      background: radial-gradient(circle, rgba(201, 168, 76, 0.12) 0%, transparent 70%);
      pointer-events: none;
    }

.hcc-left .tag {
      margin-bottom: 14px;
    }

.hcc-left h2 {
      font-family: var(--serif);
      font-size: clamp(28px, 7vw, 44px);
      font-weight: 800;
      color: #fff;
      line-height: 1.15;
      letter-spacing: -0.5px;
      margin-bottom: 14px;
    }

.hcc-left h2 em {
      font-style: normal;
      color: var(--gold);
    }

.hcc-left p {
      font-size: 15px;
      color: rgba(255, 255, 255, 0.55);
      line-height: 1.75;
      margin-bottom: 36px;
    }

.hcc-contacts {
      display: flex;
      flex-direction: column;
      gap: 14px;
      margin-bottom: 36px;
    }

.hcc-contact-item {
      display: flex;
      align-items: center;
      gap: 12px;
      color: rgba(255, 255, 255, 0.75);
      font-size: 14px;
      text-decoration: none;
      transition: color 0.2s;
    }

.hcc-contact-item:hover {
      color: var(--gold);
    }

.hcc-contact-icon {
      width: 38px;
      height: 38px;
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(255, 255, 255, 0.1);
      border-radius: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 16px;
      flex-shrink: 0;
    }

.hcc-divider {
      width: 40px;
      height: 2px;
      background: rgba(201, 168, 76, 0.4);
      margin-bottom: 24px;
    }

.hcc-quick-links {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
    }

.hcc-quick-link {
      display: inline-block;
      font-size: 12px;
      font-weight: 600;
      color: rgba(255, 255, 255, 0.5);
      border: 1px solid rgba(255, 255, 255, 0.15);
      border-radius: 20px;
      padding: 6px 14px;
      text-decoration: none;
      transition: color 0.2s, border-color 0.2s;
    }

.hcc-quick-link:hover {
      color: var(--gold);
      border-color: var(--gold);
    }

.hcc-right {
      background: #fff;
      padding: 52px 28px;
    }

.hcc-right .tag {
      margin-bottom: 10px;
    }

.hcc-right h3 {
      font-family: var(--serif);
      font-size: clamp(20px, 4vw, 28px);
      font-weight: 800;
      color: var(--navy);
      letter-spacing: -0.4px;
      margin-bottom: 28px;
    }

.contact-form {
      display: flex;
      flex-direction: column;
      gap: 14px;
    }

.cf-row {
      display: flex;
      flex-direction: column;
      gap: 14px;
    }

.cf-group {
      display: flex;
      flex-direction: column;
      gap: 6px;
      flex: 1;
    }

.cf-group label {
      font-size: 11px;
      font-weight: 700;
      color: var(--navy);
      letter-spacing: 1px;
      text-transform: uppercase;
    }

.cf-group input,
    .cf-group select,
    .cf-group textarea {
      font-family: var(--sans);
      font-size: 14px;
      color: var(--navy);
      background: #fff;
      border: 1.5px solid rgba(26, 31, 78, 0.12);
      border-radius: 8px;
      padding: 12px 14px;
      outline: none;
      transition: border-color 0.2s, box-shadow 0.2s;
      width: 100%;
      -webkit-appearance: none;
      appearance: none;
    }

.cf-group input::placeholder,
    .cf-group textarea::placeholder {
      color: rgba(107, 114, 128, 0.55);
    }

.cf-group input:focus,
    .cf-group select:focus,
    .cf-group textarea:focus {
      border-color: var(--gold);
      box-shadow: 0 0 0 3px rgba(201, 168, 76, 0.12);
    }

.cf-group select {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231A1F4E' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 14px center;
      padding-right: 38px;
      cursor: pointer;
      color: var(--navy);
    }

.cf-group select option[value=""] {
      color: rgba(107, 114, 128, 0.55);
    }

.cf-group textarea {
      resize: vertical;
      min-height: 100px;
      line-height: 1.6;
    }

.contact-form .btn-submit {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      background: var(--gold);
      color: var(--navy);
      font-family: var(--sans);
      font-size: 14px;
      font-weight: 700;
      padding: 14px 32px;
      border-radius: 8px;
      border: none;
      cursor: pointer;
      transition: background 0.2s, transform 0.15s;
      width: 100%;
    }

.contact-form .btn-submit:hover {
      background: #d4b35a;
      transform: translateY(-2px);
    }

.cf-success {
      display: none;
      flex-direction: column;
      align-items: center;
      text-align: center;
      gap: 10px;
      padding: 40px 24px;
      background: #fff;
      border-radius: 14px;
      border: 1.5px solid rgba(201, 168, 76, 0.35);
    }

.cf-success-icon {
      font-size: 38px;
    }

.cf-success h4 {
      font-family: var(--serif);
      font-size: 20px;
      font-weight: 800;
      color: var(--navy);
    }

.cf-success p {
      font-size: 13px;
      color: var(--gray);
      line-height: 1.7;
    }

.cf-success.show {
      display: flex;
    }

@media (min-width: 600px) {
      .cf-row {
        flex-direction: row;
      }

      .contact-form .btn-submit {
        width: auto;
        min-width: 200px;
      }
    }

@media (min-width: 900px) {

      /* Side by side — equal height via align-items: stretch (flexbox default) */
      .home-contact-combined {
        flex-direction: row;
        align-items: stretch;
      }

      .hcc-left {
        flex: 0 0 42%;
        padding: 80px 60px;
        /* vertically centre the content within the full column height */
        justify-content: center;
      }

      .hcc-right {
        flex: 1;
        padding: 80px 60px;
        /* push form content to top — no centering */
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
      }
    }

@media (min-width: 1200px) {
      .hcc-left {
        padding: 100px 72px;
      }

      .hcc-right {
        padding: 100px 72px;
      }
    }

.home-cta {
      display: none;
    }

.home-contact {
      display: none;
    }

@media (min-width: 900px) {

      /* Hero buttons — single row on desktop */
      .hero-btns {
        flex-direction: row;
        gap: 14px;
        margin-bottom: 48px;
      }

      .hero-btns .btn {
        width: auto;
        padding: 12px 28px;
        font-size: 14px;
        white-space: nowrap;
      }

      /* HERO */
      .hero {
        padding: 140px 60px 100px;
        min-height: 100vh;
      }

      .hero-inner {
        max-width: 680px;
      }

      .hero h1 {
        font-size: clamp(48px, 5vw, 66px);
        margin-bottom: 22px;
      }

      .hero-sub {
        font-size: 18px;
        margin-bottom: 36px;
        max-width: 540px;
      }

      .hero-stats {
        grid-template-columns: repeat(4, auto);
        gap: 0 40px;
        width: auto;
        margin-bottom: 40px;
      }

      .stat-num {
        font-size: 34px;
      }

      .geo-flags {
        flex-wrap: nowrap;
      }

      .hero-deco {
        display: block;
        position: absolute;
        right: -60px;
        top: 50%;
        transform: translateY(-50%);
        width: 500px;
        height: 500px;
        background: radial-gradient(circle, rgba(201, 168, 76, 0.1) 0%, transparent 70%);
        pointer-events: none;
      }

      /* WHO */
      .who {
        padding: 100px 60px;
      }

      .who-inner {
        flex-direction: row;
        gap: 80px;
        align-items: center;
      }

      .who-text {
        flex: 1;
      }

      .who-cards {
        flex: 1;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
      }

      .who-card {
        padding: 24px 20px;
      }

      .who-card h4 {
        font-size: 14px;
      }

      .who-card p {
        font-size: 13px;
      }

      .ws-num {
        font-size: 28px;
      }

      /* SERVICES */
      .services {
        padding: 100px 60px;
      }

      .services-grid {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 16px;
      }

      .svc-card {
        flex: 1 1 280px;
      }

      .svc-name {
        font-size: 20px;
      }

      /* RESULTS */
      .results {
        padding: 100px 60px;
      }

      .results-grid {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 20px;
      }

      .case-card {
        flex: 1 1 calc(50% - 10px);
        max-width: calc(50% - 10px);
      }

      /* PORTFOLIO */
      .portfolio-prev {
        padding: 100px 60px;
      }

      .portfolio-grid-prev {
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
      }

      /* CLIENTS */
      .clients-sec {
        padding: 80px 60px;
        background: var(--cream);
      }

      .clients-logo-grid {
        grid-template-columns: repeat(6, 1fr);
        gap: 16px;
      }

      .client-logo-item {
        height: 110px;
        padding: 20px;
      }

    }

@media (min-width: 1200px) {
      .who-inner {
        gap: 120px;
      }

      .results-grid {
        flex-wrap: nowrap;
      }
    }

.clients-sec {
      padding: 56px 20px;
      background: var(--cream);
    }

.clients-logo-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px;
      margin-top: 28px;
    }

.client-logo-item {
      background: #fff;
      border: 1px solid rgba(26, 31, 78, 0.07);
      border-radius: 10px;
      height: 100px;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 16px;
      transition: border-color 0.2s;
    }

.client-logo-item:hover {
      border-color: var(--gold);
    }

.client-logo-item img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      opacity: 0.9;
      transition: opacity 0.2s;
    }

.client-logo-item:hover img {
      opacity: 1;
    }

.clients-note {
      font-size: 13px;
      color: var(--gray);
      margin-top: 20px;
    }

.section-cta-row {
      display: flex;
      justify-content: center;
      margin-top: 32px;
    }

.results-cta-wrap {
      display: flex;
      justify-content: center;
      margin-top: 32px;
    }

.local-sec { padding: 56px 20px; background: var(--cream); }

.local-sec h2 { font-family: var(--serif); font-size: clamp(22px, 5vw, 34px); font-weight: 800; color: var(--navy); margin-bottom: 16px; line-height: 1.25; }

.local-sec p { font-size: 15px; line-height: 1.85; color: var(--gray); max-width: 700px; }

.home-faq { padding: 56px 20px; background: #fff; }

.home-faq .section-title { margin-bottom: 28px; }

.home-faq .faq-list { display: flex; flex-direction: column; gap: 0; }

.home-faq .faq-item { border-bottom: 1px solid rgba(26,31,78,0.08); }

.home-faq .faq-item:first-child { border-top: 1px solid rgba(26,31,78,0.08); }

.home-faq .faq-q { width: 100%; text-align: left; padding: 16px 0; font-size: 15px; font-weight: 700; color: var(--navy); display: flex; justify-content: space-between; align-items: center; cursor: pointer; background: none; border: none; gap: 12px; }

.home-faq .faq-q::after { content: '+'; font-size: 22px; color: var(--gold); font-weight: 300; flex-shrink: 0; }

.home-faq .faq-item.open .faq-q::after { content: '−'; }

.home-faq .faq-a { font-size: 14px; color: var(--gray); line-height: 1.75; max-height: 0; overflow: hidden; transition: max-height 0.35s ease, padding-bottom 0.35s; padding-bottom: 0; }

.home-faq .faq-item.open .faq-a { max-height: 400px; padding-bottom: 16px; }

@media (min-width: 900px) {
  .local-sec { padding: 90px 60px; }
  .home-faq { padding: 90px 60px; }
  .home-faq .faq-list { max-width: 800px; }
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

.nav {
  position: fixed; top: 0; left: 0; right: 0;
  z-index: 10000;
  height: var(--nav-h);
  background: rgba(255,255,255,0.97);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(26,31,78,0.08);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 var(--pad);
  transition: box-shadow 0.2s;
}

.nav-item { border-bottom: 1px solid rgba(26,31,78,0.07); }

@media (min-width: 900px) {
  :root { --nav-h: 68px; --pad: 60px; }
  .nav { padding: 0 60px; }
  .nav-burger { display: none; }
  .nav-menu {
    display: flex;
    position: static;
    height: auto;
    background: transparent;
    flex-direction: row;
    align-items: center;
    gap: 28px;
    padding: 0;
    overflow-y: visible;
    overscroll-behavior: auto;
    z-index: auto;
    border-top: none;
  }
  .nav-item { border-bottom: none; position: relative; }
  .nav-link {
    padding: 8px 0;
    font-size: 14px;
    font-weight: 500;
    opacity: 0.72;
    gap: 4px;
    transition: opacity 0.2s;
  }
  .nav-link:hover, .nav-link.active { opacity: 1; }
  .nav-link.cta {
    margin-top: 0;
    background: var(--navy);
    color: #fff;
    padding: 9px 22px;
    border-radius: 6px;
    font-weight: 600;
    opacity: 1;
  }
  .nav-arrow { display: none; }
  .nav-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 14px);
    left: 50%;
    transform: translateX(-50%);
    flex-direction: column;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 16px 48px rgba(26,31,78,0.15);
    border: 1px solid rgba(26,31,78,0.07);
    padding: 6px 0;
    min-width: 220px;
    border-left: none;
    margin-bottom: 0;
    z-index: 200;
  }
  .nav-dropdown::before {
    content: '';
    position: absolute;
    top: -6px; left: 50%;
    width: 12px; height: 12px;
    background: #fff;
    border-left: 1px solid rgba(26,31,78,0.07);
    border-top: 1px solid rgba(26,31,78,0.07);
    transform: translateX(-50%) rotate(45deg);
  }
  @media (hover: hover) { .nav-item:hover .nav-dropdown { display: flex; } }
  .nav-dropdown a {
    padding: 10px 16px;
    font-size: 13px;
    color: var(--navy);
    transition: background 0.15s;
  }
  .nav-dropdown a:hover { background: var(--light); }
}

.footer-about { font-size: 13px; color: rgba(255,255,255,0.5); line-height: 1.7; max-width: 280px; }

.footer-contact-list a, .footer-contact-list span { font-size: 13px; color: rgba(255,255,255,0.55); line-height: 1.5; transition: color 0.2s; }

.footer-nav-list a { font-size: 13px; color: rgba(255,255,255,0.55); transition: color 0.2s; }

.footer-social-grid { display: flex; flex-wrap: wrap; gap: 10px; }

.footer-social-link { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 8px; background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.1); color: rgba(255,255,255,0.7); transition: background 0.2s, border-color 0.2s, color 0.2s; text-decoration: none; }

.footer-bottom { border-top: 1px solid rgba(255,255,255,0.07); padding-top: 20px; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }

.footer-copy { font-size: 12px; color: rgba(255,255,255,0.25); }

.footer-legal a { font-size: 12px; color: rgba(255,255,255,0.25); transition: color 0.2s; }

@media (min-width: 900px) {
  .footer {
    flex-direction: row;
    justify-content: space-between;
    text-align: left;
    padding: 32px 60px;
  }
}

.btn-outline { background: transparent; border: 2px solid rgba(255,255,255,0.5); color: #fff !important; }

.btn-outline:hover { border-color: #fff; background: rgba(255,255,255,0.08); }

.section-title {
  font-family: var(--serif);
  font-size: clamp(24px, 7vw, 44px);
  font-weight: 800;
  letter-spacing: -1px;
  line-height: 1.15;
  letter-spacing: -0.5px;
}

.section-title em { font-style: normal; color: var(--gold); font-weight: 900; }

.page-hero { background: var(--navy); padding: 90px 20px 56px; }

.page-hero-inner { position: relative; z-index: 2; }

.page-hero .tag { color: var(--gold); }

.page-hero h1 { font-family: var(--serif); font-size: clamp(28px,8vw,54px); font-weight: 900; color: #fff; line-height: 1.15; letter-spacing: -0.5px; margin-bottom: 14px; }

.page-hero h1 em { font-style: normal; color: var(--gold); font-weight: 900; }

.page-hero-sub { font-size: 16px; color: rgba(255,255,255,0.6); line-height: 1.75; }

.story { padding: 56px 20px; background: var(--cream); }

.story-grid { display: flex; flex-direction: column; gap: 36px; }

.story-text .section-title { margin-bottom: 16px; }

.story-text p { font-size: 15px; color: var(--gray); line-height: 1.8; margin-bottom: 12px; }

.story-img { border-radius: 16px; overflow: hidden; }

.story-img img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }

.timeline { padding: 56px 20px; background: #fff; }

.timeline-list { margin-top: 28px; display: flex; flex-direction: column; gap: 0; position: relative; padding-left: 28px; }

.timeline-list::before { content: ''; position: absolute; left: 8px; top: 0; bottom: 0; width: 2px; background: rgba(26,31,78,0.1); }

.tl-item { position: relative; padding: 0 0 28px 20px; }

.tl-item::before { content: ''; position: absolute; left: -24px; top: 4px; width: 10px; height: 10px; border-radius: 50%; background: var(--gold); }

.tl-year { font-size: 11px; font-weight: 700; letter-spacing: 2px; color: var(--gold); text-transform: uppercase; margin-bottom: 4px; }

.tl-title { font-size: 15px; font-weight: 700; margin-bottom: 4px; }

.tl-desc { font-size: 13px; color: var(--gray); line-height: 1.65; }

.values { padding: 56px 20px; background: var(--cream); }

.values-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 28px; }

.val-card { background: #fff; border-radius: 12px; padding: 20px 16px; border: 1px solid rgba(26,31,78,0.07); }

.val-icon { font-size: 24px; margin-bottom: 10px; }

.val-title { font-size: 14px; font-weight: 700; margin-bottom: 6px; }

.val-desc { font-size: 12px; color: var(--gray); line-height: 1.6; }

.team-sec { padding: 56px 20px; background: #fff; }

.team-intro { margin-bottom: 28px; }

.team-intro p { font-size: 15px; color: var(--gray); line-height: 1.8; margin-top: 12px; }

.dept-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 28px; }

.dept-card { background: var(--light); border-radius: 12px; padding: 16px; text-align: center; }

.dept-icon { font-size: 24px; margin-bottom: 8px; }

.dept-name { font-size: 13px; font-weight: 700; margin-bottom: 4px; }

.dept-count { font-size: 20px; font-weight: 800; color: var(--navy); font-family: var(--serif); }

.global { padding: 56px 20px; background: var(--cream); }

.geo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 24px; }

.geo-card { background: #fff; border-radius: 12px; padding: 18px 14px; border: 1px solid rgba(26,31,78,0.07); }

.geo-flag-big { font-size: 28px; margin-bottom: 8px; }

.geo-country { font-size: 14px; font-weight: 700; margin-bottom: 4px; }

.geo-detail { font-size: 12px; color: var(--gray); line-height: 1.6; }

.about-cta { padding: 56px 20px; background: var(--navy); text-align: center; }

.about-cta .section-title { color: #fff; margin-bottom: 14px; }

.about-cta .section-sub { color: rgba(255,255,255,0.5); margin-bottom: 28px; }

.about-cta-btns { display: flex; flex-direction: column; gap: 10px; align-items: center; }

.about-cta-btns .btn { min-width: 260px; }

@media (min-width: 900px) {
  .page-hero { padding: 130px 60px 90px; }
  .story { padding: 90px 60px; }
  .story-grid { flex-direction: row; align-items: center; gap: 80px; }
  .story-text { flex: 1; }
  .story-img { flex: 1; }
  .timeline { padding: 90px 60px; }
  .timeline-list { flex-direction: row; padding-left: 0; padding-top: 28px; }
  .timeline-list::before { top: 8px; left: 0; right: 0; bottom: auto; height: 2px; width: auto; }
  .tl-item { padding: 20px 24px 0 0; flex: 1; }
  .tl-item::before { top: -24px; left: 0; }
  .values { padding: 90px 60px; }
  .values-grid { grid-template-columns: repeat(4, 1fr); }
  .team-sec { padding: 90px 60px; }
  .dept-grid { grid-template-columns: repeat(4, 1fr); }
  .global { padding: 90px 60px; }
  .geo-grid { grid-template-columns: repeat(4, 1fr); }
  .about-cta { padding: 90px 60px; }
  .about-cta-btns { flex-direction: row; justify-content: center; }
  .about-cta-btns .btn { min-width: auto; }
}

.svc-hub { padding: 56px 20px; background: #fff; }

.svc-hub-grid { display: flex; flex-direction: column; gap: 12px; margin-top: 28px; }

.svc-hub-card { display: block; border: 1.5px solid rgba(26,31,78,0.08); border-radius: 16px; padding: 24px 20px; transition: all 0.2s; }

.svc-hub-card:hover { border-color: var(--gold); box-shadow: 0 8px 32px rgba(26,31,78,0.1); transform: translateY(-2px); }

.shc-top { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }

.shc-icon { font-size: 28px; }

.shc-num { font-size: 10px; font-weight: 700; letter-spacing: 2px; color: var(--gold); }

.shc-name { font-family: var(--serif); font-size: 20px; font-weight: 800; }

.shc-desc { font-size: 14px; color: var(--gray); line-height: 1.65; margin-bottom: 14px; }

.shc-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }

.shc-tag { font-size: 11px; background: var(--light); color: var(--navy); padding: 4px 10px; border-radius: 20px; }

.shc-link { font-size: 13px; font-weight: 700; color: var(--gold); }

.hub-cta { padding: 56px 20px; background: var(--navy); text-align: center; }

.hub-cta .section-title { color: #fff; margin-bottom: 14px; }

.hub-cta .section-sub { color: rgba(255,255,255,0.5); margin-bottom: 28px; }

.hub-cta-btns { display: flex; flex-direction: column; gap: 10px; align-items: center; }

.hub-cta-btns .btn { min-width: 260px; }

@media (min-width: 900px) {
  .page-hero { padding: 130px 60px 90px; }
  .svc-hub { padding: 90px 60px; }
  .svc-hub-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; }
  .hub-cta { padding: 90px 60px; }
  .hub-cta-btns { flex-direction: row; justify-content: center; }
  .hub-cta-btns .btn { min-width: auto; }
}

.industries { padding: 56px 20px; background: var(--cream); }

.industries h2 { font-family: var(--serif); font-size: clamp(22px, 5vw, 34px); font-weight: 800; color: var(--navy); margin-bottom: 14px; line-height: 1.25; }

.industries p { font-size: 15px; line-height: 1.8; color: var(--gray); margin-bottom: 24px; }

.ind-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

.ind-item { background: #fff; border-radius: 10px; padding: 16px 18px; font-size: 14px; font-weight: 600; color: var(--navy); border: 1.5px solid rgba(26,31,78,0.08); display: flex; align-items: center; gap: 10px; }

.faq-section { padding: 56px 20px; background: #fff; }

.faq-section .section-title { margin-bottom: 28px; }

.faq-list { display: flex; flex-direction: column; gap: 0; }

.faq-item { border-bottom: 1px solid rgba(26,31,78,0.08); }

.faq-item:first-child { border-top: 1px solid rgba(26,31,78,0.08); }

.faq-q { width: 100%; text-align: left; padding: 16px 0; font-size: 15px; font-weight: 700; color: var(--navy); display: flex; justify-content: space-between; align-items: center; cursor: pointer; background: none; border: none; gap: 12px; }

.faq-q::after { content: '+'; font-size: 22px; color: var(--gold); font-weight: 300; flex-shrink: 0; }

.faq-item.open .faq-q::after { content: '−'; }

.faq-a { font-size: 14px; color: var(--gray); line-height: 1.75; max-height: 0; overflow: hidden; transition: max-height 0.35s ease, padding-bottom 0.35s; padding-bottom: 0; }

.faq-item.open .faq-a { max-height: 400px; padding-bottom: 16px; }

@media (min-width: 900px) {
  .industries { padding: 90px 60px; }
  .ind-grid { grid-template-columns: repeat(4, 1fr); gap: 14px; }
  .faq-section { padding: 90px 60px; }
  .faq-list { max-width: 800px; }
}

.contact-main { padding: 56px 20px; background: var(--cream); }

.contact-grid { display: flex; flex-direction: column; gap: 40px; }

.contact-info {}

.contact-info .section-title { margin-bottom: 16px; }

.contact-info p { font-size: 15px; color: var(--gray); line-height: 1.75; margin-bottom: 24px; }

.wa-btn { display: flex; align-items: center; gap: 12px; background: #25D366; color: #fff; padding: 14px 20px; border-radius: 10px; font-size: 15px; font-weight: 600; margin-bottom: 24px; }

.wa-btn:hover { background: #20ba5a; }

.contact-items { display: flex; flex-direction: column; gap: 12px; }

.ci { display: flex; align-items: center; gap: 14px; background: #fff; border-radius: 10px; padding: 14px 16px; border: 1px solid rgba(26,31,78,0.07); }

.ci-icon { width: 40px; height: 40px; min-width: 40px; border-radius: 8px; background: var(--light); display: flex; align-items: center; justify-content: center; font-size: 16px; }

.ci-label { font-size: 10px; text-transform: uppercase; letter-spacing: 1px; color: var(--gray); margin-bottom: 2px; }

.ci-value { font-size: 14px; font-weight: 600; color: var(--navy); }

.contact-form-wrap { background: #fff; border-radius: 16px; padding: 28px 20px; border: 1px solid rgba(26,31,78,0.07); }

.contact-form-wrap h3 { font-family: var(--serif); font-size: 22px; font-weight: 800; margin-bottom: 24px; }

.form-group { margin-bottom: 16px; }

.form-group label { display: block; font-size: 12px; font-weight: 600; color: var(--gray); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 6px; }

.form-group input, .form-group select, .form-group textarea { width: 100%; padding: 12px 14px; border: 1.5px solid rgba(26,31,78,0.12); border-radius: 8px; font-size: 14px; font-family: var(--sans); color: var(--navy); background: #fff; transition: border-color 0.2s; }

.form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline: none; border-color: var(--navy); }

.form-group textarea { min-height: 100px; resize: vertical; }

.form-submit { width: 100%; padding: 14px; background: var(--navy); color: #fff; border-radius: 8px; font-size: 15px; font-weight: 700; cursor: pointer; transition: background 0.2s; }

.form-submit:hover { background: #252b6b; }

.faq { padding: 56px 20px; background: #fff; }

.faq-list { margin-top: 28px; display: flex; flex-direction: column; gap: 0; }

.faq-item { border-bottom: 1px solid rgba(26,31,78,0.07); }

.faq-q { display: flex; justify-content: space-between; align-items: center; padding: 16px 0; font-size: 15px; font-weight: 600; cursor: pointer; gap: 12px; }

.faq-q::after { content: '+'; font-size: 20px; color: var(--gold); flex-shrink: 0; }

.faq-a { display: none; padding: 0 0 16px; font-size: 14px; color: var(--gray); line-height: 1.75; }

.faq-item.open .faq-a { display: block; }

.offices { padding: 40px 20px; background: var(--cream); }

.offices-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 24px; }

.office-card { background: #fff; border-radius: 12px; padding: 18px 14px; border: 1px solid rgba(26,31,78,0.07); }

.office-flag { font-size: 24px; margin-bottom: 8px; }

.office-city { font-size: 15px; font-weight: 700; margin-bottom: 4px; }

.office-detail { font-size: 12px; color: var(--gray); line-height: 1.6; }

@media (min-width: 900px) {
  .page-hero { padding: 130px 60px 90px; }
  .contact-main { padding: 90px 60px; }
  .contact-grid { flex-direction: row; gap: 60px; align-items: flex-start; }
  .contact-info { flex: 1; }
  .contact-form-wrap { flex: 1.2; }
  .contact-form-wrap { padding: 36px 32px; }
  .faq { padding: 90px 60px; }
  .offices { padding: 60px 60px; }
  .offices-inner { grid-template-columns: repeat(4, 1fr); }
}

.port-hub { padding: 56px 20px; background: #fff; }

.port-hub-grid { display: flex; flex-direction: column; gap: 12px; margin-top: 24px; }

.port-hub-card { display: block; border-radius: 16px; background: var(--navy); overflow: hidden; padding: 28px 24px; text-decoration: none; transition: transform 0.2s, box-shadow 0.2s; position: relative; }

.port-hub-card:hover { transform: translateY(-4px); box-shadow: 0 16px 48px rgba(26,31,78,0.2); }

.phc-glow { position: absolute; top: -40px; right: -40px; width: 180px; height: 180px; background: radial-gradient(circle, rgba(201,168,76,0.15) 0%, transparent 70%); pointer-events: none; }

.phc-num { font-size: 10px; font-weight: 700; letter-spacing: 2.5px; color: var(--gold); margin-bottom: 10px; }

.phc-icon { font-size: 32px; margin-bottom: 12px; }

.phc-name { font-family: var(--serif); font-size: 22px; font-weight: 800; color: #fff; margin-bottom: 8px; }

.phc-desc { font-size: 13px; color: rgba(255,255,255,0.5); line-height: 1.6; margin-bottom: 16px; }

.phc-link { font-size: 13px; font-weight: 700; color: var(--gold); }

.port-cta { padding: 56px 20px; background: var(--navy); text-align: center; }

.port-cta .section-title { color: #fff; margin-bottom: 14px; }

.port-cta .section-sub { color: rgba(255,255,255,0.5); margin-bottom: 28px; }

.port-cta-btns { display: flex; flex-direction: column; gap: 10px; align-items: center; }

.port-cta-btns .btn { min-width: 260px; }

@media (min-width: 900px) {
  .page-hero { padding: 130px 60px 90px; }
  .port-hub { padding: 90px 60px; }
  .port-hub-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .phc-name { font-size: 26px; }
  .port-cta { padding: 90px 60px; }
  .port-cta-btns { flex-direction: row; justify-content: center; }
  .port-cta-btns .btn { min-width: auto; }
}

.page-hero-sub { font-size: 16px; color: rgba(255,255,255,0.6); line-height: 1.75; margin-bottom: 28px; }

.agg-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

.agg-stat { border: 1px solid rgba(255,255,255,0.12); border-radius: 10px; padding: 16px; text-align: center; }

.agg-num { font-family: var(--serif); font-size: 28px; font-weight: 800; color: var(--gold); }

.agg-lbl { font-size: 10px; color: rgba(255,255,255,0.45); text-transform: uppercase; letter-spacing: 0.5px; margin-top: 4px; }

.cases-grid-sec { padding: 56px 20px; background: var(--cream); }

.cases-list { display: flex; flex-direction: column; gap: 16px; margin-top: 28px; }

.case-card { background: #fff; border-radius: 16px; overflow: hidden; border: 1px solid rgba(26,31,78,0.07); }

.case-headline-lbl { font-size: 12px; color: rgba(255,255,255,0.45); }

.numbers-sec { padding: 48px 20px; background: var(--navy); }

.numbers-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-radius: 12px; overflow: hidden; }

.nb { padding: 24px 16px; text-align: center; background: rgba(255,255,255,0.04); border-right: 1px solid rgba(255,255,255,0.07); border-bottom: 1px solid rgba(255,255,255,0.07); }

.nb:nth-child(even) { border-right: none; }

.nb:nth-last-child(-n+2) { border-bottom: none; }

.nb-num { font-family: var(--serif); font-size: 28px; font-weight: 800; color: var(--gold); }

.nb-lbl { font-size: 10px; color: rgba(255,255,255,0.4); text-transform: uppercase; letter-spacing: 0.5px; margin-top: 4px; }

.cases-cta { padding: 56px 20px; background: var(--cream); text-align: center; }

.cases-cta .section-title { margin-bottom: 14px; }

.cases-cta .section-sub { margin-bottom: 28px; }

.cases-cta-btns { display: flex; flex-direction: column; gap: 10px; align-items: center; }

.cases-cta-btns .btn { min-width: 260px; }

@media (min-width: 900px) {
  .page-hero { padding: 130px 60px 90px; }
  .agg-stats { grid-template-columns: repeat(4, 1fr); }
  .cases-grid-sec { padding: 90px 60px; }
  .cases-list { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
  .numbers-sec { padding: 70px 60px; }
  .numbers-inner { grid-template-columns: repeat(4, 1fr); }
  .nb:nth-child(even) { border-right: 1px solid rgba(255,255,255,0.07); }
  .nb:last-child { border-right: none; }
  .nb { border-bottom: none; }
  .cases-cta { padding: 90px 60px; }
  .cases-cta-btns { flex-direction: row; justify-content: center; }
  .cases-cta-btns .btn { min-width: auto; }
}

.case-read-more {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    color: var(--gold);
    text-decoration: none;
    margin-bottom: 12px;
    opacity: 0.8;
    transition: opacity 0.2s;
  }

.case-read-more:hover { opacity: 1; }

.case-industry-link {
    display: block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 8px;
    text-decoration: none;
  }

.case-read-btn {
    display: inline-block;
    margin-top: 12px;
    font-size: 13px;
    font-weight: 700;
    color: var(--navy);
    text-decoration: none;
    border-bottom: 2px solid var(--gold);
    padding-bottom: 2px;
    transition: color 0.2s;
  }

.case-read-btn:hover { color: var(--gold); }

a.case-card:hover { transform: translateY(-4px); box-shadow: 0 12px 36px rgba(26,31,78,0.12); }

a.case-card .case-industry { transition: color 0.2s; }

a.case-card:hover .case-industry { color: #d4b35a; }

a.case-card {
  display: block;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(26,31,78,0.07);
  transition: transform 0.2s, box-shadow 0.2s;
}

a.case-card .case-industry { color: var(--gold); }

.svc-hero {
  background: var(--navy);
  padding: 90px 20px 56px;
  position: relative;
  overflow: hidden;
}

.svc-hero-inner { position: relative; z-index: 2; }

.svc-hero-tag {
  display: inline-block;
  background: rgba(201,168,76,0.15);
  color: var(--gold);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 4px;
  border: 1px solid rgba(201,168,76,0.2);
  margin-bottom: 18px;
}

.svc-hero h1 {
  font-family: var(--serif);
  font-size: clamp(28px, 8vw, 52px);
  font-weight: 900;
  letter-spacing: -1px;
  color: #fff;
  line-height: 1.15;
  letter-spacing: -0.5px;
  margin-bottom: 14px;
}

.svc-hero h1 em { font-style: normal; color: var(--gold); }

.svc-hero-sub {
  font-size: 16px;
  color: rgba(255,255,255,0.6);
  line-height: 1.75;
  margin-bottom: 28px;
}

.svc-hero-btns { display: flex; flex-direction: column; gap: 10px; }

.svc-hero-btns .btn { width: 100%; text-align: center; }

.deliverables { padding: 56px 20px; background: #fff; }

.deliverables-header { margin-bottom: 28px; }

.del-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 24px;
}

.del-card {
  background: var(--light);
  border-radius: 12px;
  padding: 20px 18px;
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.del-icon { font-size: 24px; flex-shrink: 0; margin-top: 2px; }

.del-title { font-size: 14px; font-weight: 700; margin-bottom: 4px; }

.del-desc { font-size: 13px; color: var(--gray); line-height: 1.6; }

.process { padding: 56px 20px; background: var(--cream); }

.process-header { margin-bottom: 28px; }

.process-steps { display: flex; flex-direction: column; gap: 0; margin-top: 24px; }

.process-step {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(26,31,78,0.07);
}

.process-step:last-child { border-bottom: none; }

.step-num {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 50%;
  background: var(--navy);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 800;
  font-family: var(--serif);
}

.step-body {}

.step-title { font-size: 15px; font-weight: 700; margin-bottom: 4px; }

.step-desc { font-size: 13px; color: var(--gray); line-height: 1.6; }

.why-us { padding: 56px 20px; background: var(--navy); }

.why-us .section-title { color: #fff; }

.why-us .section-sub { color: rgba(255,255,255,0.5); }

.why-grid { display: grid; grid-template-columns: 1fr; gap: 12px; margin-top: 28px; }

.why-card {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px;
  padding: 20px 18px;
}

.why-icon { font-size: 24px; margin-bottom: 10px; }

.why-title { font-size: 14px; font-weight: 700; color: #fff; margin-bottom: 6px; }

.why-desc { font-size: 13px; color: rgba(255,255,255,0.5); line-height: 1.6; }

.results-strip { padding: 40px 20px; background: var(--cream); }

.results-strip-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid rgba(26,31,78,0.1);
  border-radius: 12px;
  overflow: hidden;
}

.rs-item {
  padding: 20px 16px;
  text-align: center;
  border-right: 1px solid rgba(26,31,78,0.1);
  border-bottom: 1px solid rgba(26,31,78,0.1);
}

.rs-item:nth-child(even) { border-right: none; }

.rs-item:nth-last-child(-n+2) { border-bottom: none; }

.rs-num { font-family: var(--serif); font-size: 26px; font-weight: 800; color: var(--navy); }

.rs-lbl { font-size: 10px; color: var(--gray); text-transform: uppercase; letter-spacing: 0.5px; margin-top: 4px; }

.other-services { padding: 56px 20px; background: #fff; }

.other-grid { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 24px; }

.other-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  border: 1.5px solid rgba(26,31,78,0.08);
  border-radius: 12px;
  transition: border-color 0.2s;
}

.other-card:hover { border-color: var(--gold); }

.other-icon { font-size: 22px; }

.other-name { font-size: 14px; font-weight: 700; }

.other-sub { font-size: 12px; color: var(--gray); }

.svc-cta {
  padding: 56px 20px;
  background: var(--navy);
  text-align: center;
}

.svc-cta .section-title { color: #fff; margin-bottom: 14px; }

.svc-cta .section-sub { color: rgba(255,255,255,0.5); margin-bottom: 28px; }

.svc-cta-btns { display: flex; flex-direction: column; gap: 10px; align-items: center; }

.svc-cta-btns .btn { min-width: 260px; }

@media (min-width: 900px) {
  .svc-hero { padding: 130px 60px 90px; }
  .svc-hero-inner { max-width: 680px; }
  .svc-hero h1 { font-size: clamp(40px, 4.5vw, 56px); }
  .svc-hero-sub { font-size: 18px; }
  .svc-hero-btns { flex-direction: row; gap: 14px; }
  .svc-hero-btns .btn { width: auto; }

  .deliverables { padding: 90px 60px; }
  .del-grid { grid-template-columns: 1fr 1fr 1fr; gap: 16px; }
  .del-card { flex-direction: column; gap: 10px; }

  .process { padding: 90px 60px; }
  .process-steps { flex-direction: row; gap: 0; }
  .process-step {
    flex: 1;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0 16px;
    border-bottom: none;
    border-right: 1px solid rgba(26,31,78,0.07);
  }
  .process-step:last-child { border-right: none; }
  .step-num { margin-bottom: 14px; width: 48px; height: 48px; font-size: 16px; }

  .why-us { padding: 90px 60px; }
  .why-grid { grid-template-columns: 1fr 1fr 1fr; gap: 16px; }

  .results-strip { padding: 60px 60px; }
  .results-strip-inner { grid-template-columns: repeat(4, 1fr); }
  .rs-item { border-bottom: none; }
  .rs-item:nth-child(even) { border-right: 1px solid rgba(26,31,78,0.1); }
  .rs-item:last-child { border-right: none; }

  .other-services { padding: 90px 60px; }
  .other-grid { grid-template-columns: 1fr 1fr 1fr; gap: 14px; }
  .other-card { flex-direction: column; align-items: flex-start; gap: 10px; padding: 20px; }

  .svc-cta { padding: 90px 60px; }
  .svc-cta-btns { flex-direction: row; justify-content: center; }
  .svc-cta-btns .btn { min-width: auto; }
}

.svc-problem { padding: 56px 20px; background: var(--cream); }

.svc-problem-inner { max-width: 760px; margin: 0 auto; }

.svc-problem h2 { font-family: var(--serif); font-size: clamp(22px, 5vw, 34px); font-weight: 800; color: var(--navy); margin-bottom: 16px; line-height: 1.25; }

.svc-problem p { font-size: 15px; line-height: 1.8; color: var(--gray); margin-bottom: 20px; }

.svc-problem-list { display: flex; flex-direction: column; gap: 10px; padding-left: 0; list-style: none; margin-top: 0; }

.svc-problem-list li { font-size: 14px; color: var(--navy); padding-left: 24px; position: relative; line-height: 1.65; }

.svc-problem-list li::before { content: '✗'; position: absolute; left: 0; color: var(--gold); font-weight: 700; }

.svc-problem-list li strong { font-weight: 700; }

.faq-section { padding: 56px 20px; background: var(--cream); }

.faq-q::after { content: '+'; font-size: 22px; color: var(--gold); font-weight: 300; flex-shrink: 0; transition: transform 0.2s; }

@media (min-width: 900px) {
  .svc-problem { padding: 90px 60px; }
  .faq-section { padding: 90px 60px; }
  .faq-list { max-width: 800px; }
}

:root {
  --navy:   #1A1F4E;
  --gold:   #C9A84C;
  --cream:  #F9F6F0;
  --white:  #ffffff;
  --gray:   #6B7280;
  --light:  #F3F4F6;
  --footer: #0F1230;
  --sans:   'Proxima Nova', 'Nunito Sans', 'DM Sans', sans-serif;
  --nav-h:  60px;
  --pad:    20px;
}

.nav {
  position: fixed; top: 0; left: 0; right: 0;
  z-index: 1000;
  height: var(--nav-h);
  background: rgba(255,255,255,0.97);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(26,31,78,0.08);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 var(--pad);
  transition: box-shadow 0.2s;
}

@media (min-width: 900px) {
  :root { --nav-h: 68px; --pad: 60px; }
  .nav { padding: 0 60px; }
  .nav-burger { display: none; }
  .nav-menu {
    display: flex;
    position: static;
    height: auto;
    background: transparent;
    flex-direction: row;
    align-items: center;
    gap: 28px;
    padding: 0;
    overflow-y: visible;
    overscroll-behavior: auto;
    z-index: auto;
    border-top: none;
  }
  .nav-item { border-bottom: none; position: relative; }
  .nav-link { padding: 0; font-size: 14px; font-weight: 500; opacity: 0.72; gap: 4px; transition: opacity 0.2s; }
  .nav-link:hover, .nav-link.active { opacity: 1; }
  .nav-link.cta { margin-top: 0; background: var(--navy); color: #fff; padding: 9px 22px; border-radius: 6px; font-weight: 600; opacity: 1; }
  .nav-arrow { display: none; }
  .nav-dropdown { display: none; position: absolute; top: calc(100% + 14px); left: 50%; transform: translateX(-50%); flex-direction: column; background: #fff; border-radius: 12px; box-shadow: 0 16px 48px rgba(26,31,78,0.15); border: 1px solid rgba(26,31,78,0.07); padding: 6px 0; min-width: 220px; border-left: none; margin-bottom: 0; z-index: 200; }
  .nav-dropdown::before { content: ''; position: absolute; top: -6px; left: 50%; width: 12px; height: 12px; background: #fff; border-left: 1px solid rgba(26,31,78,0.07); border-top: 1px solid rgba(26,31,78,0.07); transform: translateX(-50%) rotate(45deg); }
  .nav-item:hover .nav-dropdown { display: flex; }
  .nav-dropdown a { padding: 10px 16px; font-size: 13px; color: var(--navy); transition: background 0.15s; }
  .nav-dropdown a:hover { background: var(--light); }
}

.btn { display: inline-block; padding: 13px 28px; border-radius: 6px; font-size: 14px; font-weight: 600; transition: transform 0.15s, background 0.15s; text-align: center; }

.btn:hover { transform: translateY(-2px); }

.btn-gold { background: var(--gold); color: var(--navy); }

.btn-gold:hover { background: #d4b35a; }

.btn-navy { background: var(--navy); color: #fff; }

.section-title { font-family: var(--sans); font-size: clamp(24px, 7vw, 44px); font-weight: 800; line-height: 1.15; letter-spacing: -1px; }

.page-spacer { height: var(--nav-h); }

.clients-hero {
  background: var(--navy);
  padding: 48px 20px 36px;
  text-align: center;
}

.clients-hero .tag { color: var(--gold); }

.clients-hero h1 { font-family: var(--sans); font-size: clamp(28px, 7vw, 52px); font-weight: 800; color: #fff; line-height: 1.1; letter-spacing: -1px; margin-bottom: 12px; }

.clients-hero h1 em { font-style: normal; color: var(--gold); }

.clients-hero p { font-size: 15px; color: rgba(255,255,255,0.6); max-width: 480px; margin: 0 auto; line-height: 1.6; }

.clients-body { padding: 48px 20px 60px; background: var(--cream); }

.clients-grid-full {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 32px;
}

.client-logo-card {
  background: #fff;
  border-radius: 12px;
  border: 1px solid rgba(26,31,78,0.07);
  height: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.client-logo-card:hover { border-color: var(--gold); box-shadow: 0 4px 20px rgba(26,31,78,0.08); }

.client-logo-card img { width: 100%; height: 100%; object-fit: contain; }

.clients-cta { padding: 52px 20px; background: var(--navy); text-align: center; }

.clients-cta h2 { font-family: var(--sans); font-size: clamp(22px, 5vw, 36px); font-weight: 800; color: #fff; letter-spacing: -0.5px; margin-bottom: 10px; }

.clients-cta h2 em { font-style: normal; color: var(--gold); }

.clients-cta p { font-size: 14px; color: rgba(255,255,255,0.5); margin-bottom: 24px; }

.clients-cta-btns { display: flex; flex-direction: column; gap: 10px; align-items: center; }

@media (min-width: 600px) {
  .clients-hero { padding: 56px 40px 44px; }
  .clients-body { padding: 56px 40px 72px; }
  .clients-grid-full { grid-template-columns: repeat(4, 1fr); gap: 16px; }
  .clients-cta-btns { flex-direction: row; justify-content: center; }
}

@media (min-width: 900px) {
  :root { --nav-h: 68px; }
  .clients-hero { padding: 72px 60px 56px; }
  .clients-body { padding: 72px 60px 80px; }
  .clients-grid-full { grid-template-columns: repeat(6, 1fr); gap: 16px; }
  .client-logo-card { height: 110px; padding: 20px; }
  .clients-cta { padding: 72px 60px; }
}


/* ============================================================ */
/* === CF7 (Contact Form 7) styling — match original design === */
/* ============================================================ */

/* Form container — vertical flex like .contact-form */
.wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* Hide the spinner ::before <p> wrapper indentation */
.wpcf7-form > p {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 0;
}

/* Labels — small uppercase like .cf-group label */
.wpcf7-form label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  color: #1A1F4E;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 0;
}

/* Hide the <br> line breaks CF7 inserts — use flex gap instead */
.wpcf7-form label br,
.wpcf7-form > p > br,
.wpcf7-form-control-wrap {
  display: block;
}
.wpcf7-form > p > br { display: none; }
.wpcf7-form label > br { display: none; }

/* Inputs / select / textarea — match .cf-group input styling */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form select,
.wpcf7-form textarea {
  width: 100%;
  font-family: inherit;
  font-size: 14px;
  font-weight: 400;
  color: #1A1F4E;
  background: #fff;
  border: 1.5px solid rgba(26, 31, 78, 0.12);
  border-radius: 8px;
  padding: 12px 14px;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  box-sizing: border-box;
}

.wpcf7-form textarea {
  min-height: 120px;
  resize: vertical;
  line-height: 1.5;
}

.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder {
  color: rgba(107, 114, 128, 0.55);
  text-transform: none;
  letter-spacing: 0;
  font-weight: 400;
}

/* Focus state */
.wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
  border-color: #C9A84C;
  box-shadow: 0 0 0 3px rgba(201, 168, 76, 0.15);
}

/* Submit button — gold like .btn-submit / .btn-gold */
.wpcf7-form input[type="submit"].wpcf7-submit,
.wpcf7-form .wpcf7-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  align-self: flex-start;
  padding: 14px 32px;
  background: #C9A84C;
  color: #1A1F4E;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.3px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.1s ease;
  margin-top: 4px;
}

.wpcf7-form .wpcf7-submit:hover {
  background: #d4a93a;
}

.wpcf7-form .wpcf7-submit:active {
  transform: translateY(1px);
}

/* Spinner (ajax-loading) */
.wpcf7-form .wpcf7-spinner {
  vertical-align: middle;
  margin-left: 8px;
}

/* Validation: required asterisk */
.wpcf7-form .wpcf7-not-valid {
  border-color: #e5484d !important;
}

/* Response output */
.wpcf7-response-output {
  margin: 16px 0 0 !important;
  padding: 12px 16px !important;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  border-width: 1.5px !important;
}

form.wpcf7-form.sent .wpcf7-response-output {
  border-color: #2c8a5b !important;
  background: rgba(44, 138, 91, 0.08);
  color: #2c8a5b;
}

form.wpcf7-form.invalid .wpcf7-response-output,
form.wpcf7-form.failed .wpcf7-response-output {
  border-color: #e5484d !important;
  background: rgba(229, 72, 77, 0.08);
  color: #e5484d;
}

/* Validation error tip */
.wpcf7-not-valid-tip {
  font-size: 12px;
  color: #e5484d;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  margin-top: 4px;
  display: block;
}

/* Inside the homepage navy panel — adjust label color for contrast */
.hcc-right .wpcf7-form label {
  color: #1A1F4E;
}

/* Mobile: stack everything */
@media (max-width: 640px) {
  .wpcf7-form .wpcf7-submit {
    width: 100%;
    align-self: stretch;
  }
}


/* === APPENDED: portfolio-branding/web/social/collaterals page styles === */

@media (min-width: 900px) {
  :root { --nav-h: 68px; --pad: 60px; }
  .nav { padding: 0 60px; }
  .nav-burger { display: none; }
  .nav-menu {
    display: flex;
    position: static;
    height: auto;
    background: transparent;
    flex-direction: row;
    align-items: center;
    gap: 28px;
    padding: 0;
    overflow-y: visible;
    overscroll-behavior: auto;
    z-index: auto;
    border-top: none;
  }
  .nav-item { border-bottom: none; position: relative; }
  .nav-link {
    padding: 8px 0;
    font-size: 14px;
    font-weight: 500;
    opacity: 0.72;
    gap: 4px;
    transition: opacity 0.2s;
  }
  .nav-link:hover, .nav-link.active { opacity: 1; }
  .nav-link.cta {
    margin-top: 0;
    background: var(--navy);
    color: #fff;
    padding: 9px 22px;
    border-radius: 6px;
    font-weight: 600;
    opacity: 1;
  }
  .nav-arrow { display: none; }
  .nav-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 14px);
    left: 50%;
    transform: translateX(-50%);
    flex-direction: column;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 16px 48px rgba(26,31,78,0.15);
    border: 1px solid rgba(26,31,78,0.07);
    padding: 6px 0;
    min-width: 220px;
    border-left: none;
    margin-bottom: 0;
    z-index: 200;
  }
  .nav-dropdown::before {
    content: '';
    position: absolute;
    top: -6px; left: 50%;
    width: 12px; height: 12px;
    background: #fff;
    border-left: 1px solid rgba(26,31,78,0.07);
    border-top: 1px solid rgba(26,31,78,0.07);
    transform: translateX(-50%) rotate(45deg);
  }
  .nav-item:hover .nav-dropdown { display: flex; }
  .nav-dropdown a {
    padding: 10px 16px;
    font-size: 13px;
    color: var(--navy);
    transition: background 0.15s;
  }
  .nav-dropdown a:hover { background: var(--light); }
}

.port-spacer { height: var(--nav-h); }

.port-heading { padding: 32px 20px 24px; background: var(--navy); }

.port-heading .tag { color: var(--gold); margin-bottom: 8px; }

.port-heading h1 { font-family: var(--sans); font-size: clamp(24px,7vw,48px); font-weight: 800; color: #fff; line-height: 1.15; letter-spacing: -1px; margin-bottom: 8px; word-break: break-word; }

.port-heading h1 em { font-style: normal; color: var(--gold); font-weight: 900; }

.port-heading p { font-size: 14px; color: rgba(255,255,255,0.6); line-height: 1.6; }

.port-tabs { background: var(--cream); border-bottom: 1px solid rgba(26,31,78,0.08); position: sticky; top: var(--nav-h); z-index: 100; overflow-x: auto; -webkit-overflow-scrolling: touch; }

.port-tabs-inner { display: flex; padding: 0 20px; min-width: max-content; }

.port-tab { display: block; padding: 13px 16px; font-size: 13px; font-weight: 600; color: var(--gray); white-space: nowrap; border-bottom: 3px solid transparent; text-decoration: none; transition: all 0.2s; flex-shrink: 0; }

.port-tab:hover { color: var(--navy); }

.port-tab.active { color: var(--navy); border-bottom-color: var(--gold); }

.port-section { padding: 36px 20px; }

.port-section.bg-white { background: #fff; }

.port-section.bg-cream { background: var(--cream); }

.port-section.bg-navy { background: var(--navy); }

a.brand-featured { display: block; border-radius: 14px; overflow: hidden; border: 1px solid rgba(26,31,78,0.07); margin-bottom: 20px; text-decoration: none; color: inherit; transition: box-shadow 0.2s; }

a.brand-featured:hover { box-shadow: 0 8px 32px rgba(26,31,78,0.12); }

.brand-featured-img { width: 100%; aspect-ratio: 16/9; background: var(--light); overflow: hidden; }

.brand-featured-img img { width: 100%; height: 100%; object-fit: cover; }

.brand-featured-info { padding: 20px 18px; background: #fff; }

.bf-tag { font-size: 10px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--gold); margin-bottom: 8px; }

.bf-title { font-family: var(--sans); font-size: 20px; font-weight: 800; margin-bottom: 8px; color: var(--navy); letter-spacing: -0.5px; }

.bf-desc { font-size: 13px; color: var(--gray); line-height: 1.65; margin-bottom: 12px; }

.bf-services { display: flex; flex-wrap: wrap; gap: 6px; }

.bf-svc { font-size: 11px; background: var(--light); padding: 4px 10px; border-radius: 20px; color: var(--navy); }

.port-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

a.port-item { display: block; border-radius: 10px; overflow: hidden; background: var(--light); text-decoration: none; color: inherit; transition: transform 0.2s, box-shadow 0.2s; }

a.port-item:hover { transform: translateY(-3px); box-shadow: 0 6px 20px rgba(26,31,78,0.1); }

.port-img { aspect-ratio: 1; overflow: hidden; background: var(--light); }

.port-img img { width: 100%; height: 100%; object-fit: cover; }

.port-info { padding: 10px 12px; background: #fff; }

.port-name { display: block; font-size: 13px; font-weight: 700; color: var(--navy); margin-bottom: 2px; transition: color 0.2s; }

a.port-item:hover .port-name { color: var(--gold); }

.port-type { font-size: 11px; color: var(--gray); }

.other-cats { padding: 36px 20px; background: var(--cream); }

.other-cats h3 { font-family: var(--sans); font-size: 18px; font-weight: 800; margin-bottom: 14px; color: var(--navy); letter-spacing: -0.5px; }

.other-cats-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; }

.oc-card { display: flex; align-items: center; gap: 10px; background: #fff; border-radius: 10px; padding: 14px; border: 1px solid rgba(26,31,78,0.07); text-decoration: none; color: inherit; transition: border-color 0.2s; }

.oc-card:hover { border-color: var(--gold); }

.oc-icon { font-size: 20px; }

.oc-name { font-size: 13px; font-weight: 700; color: var(--navy); }

.oc-sub { font-size: 11px; color: var(--gray); }

.port-cta { padding: 44px 20px; background: var(--navy); text-align: center; }

.port-cta .section-title { color: #fff; margin-bottom: 10px; font-size: clamp(20px,5vw,36px); }

.port-cta .section-sub { color: rgba(255,255,255,0.5); margin-bottom: 22px; font-size: 14px; }

.port-cta-btns .btn { width: 100%; max-width: 280px; }

@media (min-width: 600px) {
  .port-heading { padding: 36px 28px 28px; }
  .port-tabs-inner { padding: 0 28px; }
  .port-section { padding: 44px 28px; }
  .port-grid { gap: 14px; }
  .other-cats { padding: 44px 28px; }
  .other-cats-grid { grid-template-columns: repeat(3, 1fr); }
  .port-cta { padding: 52px 28px; }
  .port-cta-btns { flex-direction: row; justify-content: center; }
  .port-cta-btns .btn { width: auto; max-width: none; }
}

@media (min-width: 900px) {
  :root { --nav-h: 68px; }
  .footer { padding: 72px 60px 32px; }
  .footer-inner { grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 48px; margin-bottom: 48px; }
  .footer-bottom { flex-direction: row; justify-content: space-between; text-align: left; }
  .port-heading { padding: 44px 60px 36px; }
  .port-tabs { top: 68px; }
  .port-tabs-inner { padding: 0 60px; }
  .port-tab { padding: 16px 20px; font-size: 14px; }
  .port-section { padding: 60px; }
  a.brand-featured { display: flex; flex-direction: row; }
  .brand-featured-img { width: 50%; flex-shrink: 0; aspect-ratio: auto; min-height: 280px; }
  .brand-featured-info { flex: 1; padding: 36px 32px; display: flex; flex-direction: column; justify-content: center; }
  .bf-title { font-size: 26px; }
  .port-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .port-info { padding: 12px 14px; }
  .port-name { font-size: 14px; }
  .other-cats { padding: 56px 60px; }
  .port-cta { padding: 72px 60px; }
}


/* === APPENDED: work/case/service detail page styles === */

body { font-family: 'DM Sans', sans-serif; color: #1A1F4E; background: #fff; overflow-x: hidden; -webkit-font-smoothing: antialiased; }

:root {
  --navy:   #1A1F4E;
  --gold:   #C9A84C;
  --cream:  #F9F6F0;
  --white:  #ffffff;
  --gray:   #6B7280;
  --light:  #F3F4F6;
  --footer: #0F1230;
  --serif:  'Proxima Nova', 'Nunito Sans', 'DM Sans', sans-serif;
  --sans:   'DM Sans', sans-serif;
  --nav-h:  60px;
  --pad:    20px;
}

.work-hero {
  background: var(--navy);
  padding: 80px 20px 44px;
  position: relative;
  overflow: hidden;
}

.work-hero::before {
  content: '';
  position: absolute;
  top: -60px; right: -60px;
  width: 260px; height: 260px;
  background: radial-gradient(circle, rgba(201,168,76,0.12) 0%, transparent 70%);
  pointer-events: none;
}

.work-hero-inner { position: relative; z-index: 2; }

.work-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: rgba(255,255,255,0.5);
  margin-bottom: 16px;
  transition: color 0.2s;
}

.work-back:hover { color: var(--gold); }

.work-category {
  display: inline-block;
  background: rgba(201,168,76,0.15);
  color: var(--gold);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 4px;
  border: 1px solid rgba(201,168,76,0.2);
  margin-bottom: 14px;
}

.work-hero h1 {
  font-family: var(--serif);
  font-size: clamp(22px, 6vw, 48px);
  font-weight: 800;
  color: #fff;
  line-height: 1.15;
  letter-spacing: -0.5px;
  margin-bottom: 12px;
  word-break: break-word;
}

.work-hero h1 em { font-style: normal; color: var(--gold); font-weight: 900; }

.work-hero-sub {
  font-size: 14px;
  color: rgba(255,255,255,0.6);
  line-height: 1.7;
  margin-bottom: 18px;
}

.work-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.work-tag {
  font-size: 10px;
  font-weight: 600;
  background: rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.7);
  padding: 4px 10px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.12);
}

.work-main-image {
  width: 100%;
  aspect-ratio: 16/9;
  background: var(--light);
  overflow: hidden;
}

.work-main-image img { width: 100%; height: 100%; object-fit: cover; }

.work-main-image-placeholder {
  width: 100%;
  aspect-ratio: 16/9;
  background: var(--light);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
}

.work-body { padding: 40px 20px; background: #fff; }

.work-body-inner { width: 100%; }

.work-section { margin-bottom: 32px; }

.work-section h2 {
  font-family: var(--serif);
  font-size: 17px;
  font-weight: 800;
  color: var(--navy);
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--gold);
  display: inline-block;
}

.work-section p {
  font-size: 14px;
  color: var(--gray);
  line-height: 1.8;
  margin-bottom: 10px;
}

.work-section ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 6px;
}

.work-section ul li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 14px;
  color: var(--gray);
  line-height: 1.65;
}

.work-section ul li::before {
  content: '→';
  color: var(--gold);
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 1px;
}

.work-deliverables { padding: 36px 20px; background: var(--cream); }

.work-del-heading {
  font-size: 20px !important;
  margin-bottom: 16px;
  letter-spacing: -0.5px;
}

.work-del-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 16px;
}

.work-del-item {
  background: #fff;
  border-radius: 10px;
  padding: 14px 12px;
  border: 1px solid rgba(26,31,78,0.07);
}

.work-del-icon { font-size: 18px; margin-bottom: 6px; }

.work-del-name { font-size: 12px; font-weight: 700; color: var(--navy); }

.detail-highlight {
  background: var(--navy);
  border-radius: 12px;
  padding: 22px 18px;
  margin: 24px 0;
}

.detail-highlight p {
  font-family: var(--serif);
  font-size: 15px;
  font-style: italic;
  color: #fff;
  line-height: 1.65;
  margin: 0;
}

.detail-highlight span {
  display: block;
  font-size: 11px;
  color: var(--gold);
  margin-top: 12px;
  font-style: normal;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.work-cta {
  padding: 44px 20px;
  background: var(--navy);
  text-align: center;
}

.work-cta h2 {
  font-family: var(--serif);
  font-size: clamp(20px, 5vw, 34px);
  font-weight: 800;
  color: #fff;
  margin-bottom: 10px;
  word-break: break-word;
}

.work-cta h2 em { font-style: normal; color: var(--gold); }

.work-cta p { font-size: 14px; color: rgba(255,255,255,0.5); margin-bottom: 22px; }

.work-cta-btns {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
}

.work-cta-btns .btn {
  width: 100%;
  max-width: 300px;
}

.work-related { padding: 36px 20px; background: var(--cream); }

.work-related h3 {
  font-family: var(--serif);
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 14px;
}

.work-related-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.work-related-card {
  display: block;
  border-radius: 10px;
  overflow: hidden;
  background: var(--light);
  border: 1px solid rgba(26,31,78,0.07);
  transition: border-color 0.2s;
  text-decoration: none;
  color: inherit;
}

.work-related-card:hover { border-color: var(--gold); }

.work-related-img {
  aspect-ratio: 16/9;
  background: var(--light);
  overflow: hidden;
}

.work-related-img img { width: 100%; height: 100%; object-fit: cover; }

.work-related-img-placeholder {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px;
}

.work-related-info { padding: 12px 14px; }

.work-related-name { font-size: 13px; font-weight: 700; color: var(--navy); margin-bottom: 2px; }

.work-related-type { font-size: 11px; color: var(--gray); }

@media (min-width: 600px) {
  .work-hero { padding: 90px 28px 52px; }
  .work-hero h1 { font-size: clamp(26px, 5vw, 42px); }
  .work-body { padding: 48px 28px; }
      .work-deliverables { padding: 44px 28px; }
  .work-del-grid { grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .work-cta { padding: 52px 28px; }
  .work-related { padding: 44px 28px; }
  .work-related-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .work-cta-btns .btn { width: auto; min-width: 220px; max-width: none; }
}

@media (min-width: 900px) {
  .work-hero { padding: 130px 60px 70px; }
  .work-hero h1 { font-size: clamp(32px, 3.5vw, 48px); }
  .work-hero-sub { font-size: 16px; }
  .work-body { padding: 72px 60px; }
  .work-body-inner { max-width: 780px; }
  .work-section h2 { font-size: 20px; }
  .work-section p { font-size: 15px; }
      .work-deliverables { padding: 56px 60px; }
  .work-del-grid { grid-template-columns: repeat(4, 1fr); gap: 14px; }
  .work-del-item { padding: 16px 14px; }
  .work-del-icon { font-size: 20px; }
  .work-del-name { font-size: 13px; }
  .work-cta { padding: 72px 60px; }
  .work-cta h2 { font-size: clamp(24px, 3vw, 36px); }
  .work-cta-btns { flex-direction: row; justify-content: center; gap: 14px; }
  .work-cta-btns .btn { width: auto; max-width: none; }
  .work-related { padding: 56px 60px; }
  .work-related-grid { grid-template-columns: repeat(3, 1fr); gap: 14px; }
  .detail-highlight p { font-size: 18px; }
}

.work-gallery { padding: 0 20px 36px; background: #fff; }

.work-gallery-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.work-gallery-item {
  aspect-ratio: 1;
  border-radius: 8px;
  overflow: hidden;
  background: var(--light);
}

.work-gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; }

.work-gallery-placeholder {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  font-size: 32px; color: rgba(26,31,78,0.2);
  background: var(--light);
}

.detail-hero {
  background: var(--navy);
  padding: 80px 20px 44px;
  position: relative;
  overflow: hidden;
}

.detail-hero::before {
  content: '';
  position: absolute;
  top: -60px; right: -60px;
  width: 260px; height: 260px;
  background: radial-gradient(circle, rgba(201,168,76,0.12) 0%, transparent 70%);
  pointer-events: none;
}

.detail-hero-inner { position: relative; z-index: 2; }

.detail-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: rgba(255,255,255,0.5);
  margin-bottom: 16px;
  transition: color 0.2s;
}

.detail-back:hover { color: var(--gold); }

.detail-category {
  display: inline-block;
  background: rgba(201,168,76,0.15);
  color: var(--gold);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 4px;
  border: 1px solid rgba(201,168,76,0.2);
  margin-bottom: 14px;
}

.detail-hero h1 {
  font-family: var(--serif);
  font-size: clamp(22px, 6vw, 48px);
  font-weight: 800;
  color: #fff;
  line-height: 1.15;
  letter-spacing: -0.5px;
  margin-bottom: 12px;
  word-break: break-word;
}

.detail-hero h1 em { font-style: normal; color: var(--gold); font-weight: 900; }

.detail-hero-sub {
  font-size: 14px;
  color: rgba(255,255,255,0.6);
  line-height: 1.7;
}

.metrics-strip {
  padding: 28px 20px;
  background: var(--cream);
}

.metrics-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid rgba(26,31,78,0.1);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

.metric-box {
  padding: 18px 12px;
  text-align: center;
  border-right: 1px solid rgba(26,31,78,0.08);
  border-bottom: 1px solid rgba(26,31,78,0.08);
}

.metric-box:nth-child(2n) { border-right: none; }

.metric-box:nth-last-child(-n+2) { border-bottom: none; }

.metric-num {
  font-family: var(--serif);
  font-size: 24px;
  font-weight: 800;
  color: var(--navy);
  line-height: 1;
  margin-bottom: 4px;
  word-break: break-word;
}

.metric-num.gold { color: var(--gold); }

.metric-lbl {
  font-size: 9px;
  color: var(--gray);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.detail-body {
  padding: 40px 20px;
  background: #fff;
}

.detail-section { margin-bottom: 32px; }

.detail-section h2 {
  font-family: var(--serif);
  font-size: 17px;
  font-weight: 800;
  color: var(--navy);
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--gold);
  display: inline-block;
}

.detail-section p {
  font-size: 14px;
  color: var(--gray);
  line-height: 1.8;
  margin-bottom: 10px;
}

.detail-section ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 6px;
}

.detail-section ul li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 14px;
  color: var(--gray);
  line-height: 1.65;
}

.detail-section ul li::before {
  content: '→';
  color: var(--gold);
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 1px;
}

.services-used {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.svc-tag {
  font-size: 11px;
  font-weight: 600;
  background: var(--light);
  color: var(--navy);
  padding: 5px 12px;
  border-radius: 20px;
  border: 1px solid rgba(26,31,78,0.08);
}

.detail-highlight {
  background: var(--navy);
  border-radius: 12px;
  padding: 22px 18px;
  margin: 22px 0;
}

.detail-cta {
  padding: 44px 20px;
  background: var(--cream);
  text-align: center;
}

.detail-cta h2 {
  font-family: var(--serif);
  font-size: clamp(20px, 5vw, 34px);
  font-weight: 800;
  color: var(--navy);
  margin-bottom: 10px;
  word-break: break-word;
}

.detail-cta h2 em { font-style: normal; color: var(--gold); }

.detail-cta p {
  font-size: 14px;
  color: var(--gray);
  margin-bottom: 22px;
  line-height: 1.7;
}

.detail-cta-btns {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
}

.detail-cta-btns .btn {
  width: 100%;
  max-width: 300px;
}

.related {
  padding: 36px 20px;
  background: #fff;
}

.related h3 {
  font-family: var(--serif);
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 14px;
}

.related-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.related-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border: 1.5px solid rgba(26,31,78,0.08);
  border-radius: 12px;
  transition: border-color 0.2s;
  text-decoration: none;
  color: inherit;
}

.related-card:hover { border-color: var(--gold); }

.related-icon { font-size: 22px; flex-shrink: 0; }

.related-name {
  font-size: 13px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 2px;
}

.related-type { font-size: 11px; color: var(--gray); }

@media (min-width: 600px) {
  .detail-hero { padding: 90px 28px 52px; }
  .detail-hero h1 { font-size: clamp(26px, 5vw, 42px); }
  .metrics-strip { padding: 36px 28px; }
  .metric-num { font-size: 28px; }
  .detail-body { padding: 48px 28px; }
  .detail-cta { padding: 52px 28px; }
  .related { padding: 44px 28px; }
  .related-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .detail-cta-btns .btn { width: auto; min-width: 220px; max-width: none; }
}

@media (min-width: 900px) {
  .detail-hero { padding: 130px 60px 70px; }
  .detail-hero h1 { font-size: clamp(32px, 3.5vw, 48px); }
  .detail-hero-sub { font-size: 16px; }
  .metrics-strip { padding: 48px 60px; }
  .metrics-inner { grid-template-columns: repeat(4, 1fr); }
  .metric-box { border-bottom: none; }
  .metric-box:nth-child(2n) { border-right: 1px solid rgba(26,31,78,0.08); }
  .metric-box:last-child { border-right: none; }
  .metric-num { font-size: 32px; }
  .metric-lbl { font-size: 10px; }
  .detail-body { padding: 80px 60px; max-width: 860px; margin: 0 auto; }
  .detail-section h2 { font-size: 20px; }
  .detail-section p { font-size: 15px; }
  .detail-section ul li { font-size: 15px; }
  .detail-highlight p { font-size: 18px; }
  .detail-cta { padding: 80px 60px; }
  .detail-cta h2 { font-size: clamp(24px, 3vw, 36px); }
  .detail-cta-btns { flex-direction: row; justify-content: center; gap: 14px; }
  .detail-cta-btns .btn { width: auto; max-width: none; }
  .related { padding: 60px 60px; }
  .related-grid { grid-template-columns: repeat(3, 1fr); gap: 14px; }
}


/* ============================================================ */
/* === Work Gallery: responsive 3-column on desktop === */
/* === Override the 1-column-only base + 1fr 1fr default === */
/* ============================================================ */

.work-gallery {
  padding: 0 16px 36px;
  background: #fff;
}

.work-gallery-grid {
  display: grid;
  grid-template-columns: 1fr;          /* mobile: 1 column */
  gap: 10px;
  max-width: 1100px;
  margin: 0 auto;
}

@media (min-width: 640px) {
  .work-gallery-grid {
    grid-template-columns: 1fr 1fr;   /* tablet: 2 columns */
    gap: 12px;
  }
}

@media (min-width: 1000px) {
  .work-gallery-grid {
    grid-template-columns: 1fr 1fr 1fr; /* desktop: 3 columns */
    gap: 14px;
  }
  .work-gallery {
    padding: 0 40px 56px;
  }
}

.work-gallery-item {
  aspect-ratio: 4 / 3;                 /* slightly landscape (was square) */
  border-radius: 10px;
  overflow: hidden;
  background: var(--light);
  cursor: zoom-in;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.work-gallery-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(26, 31, 78, 0.1);
}

.work-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Caption (if present) */
.work-gallery-caption {
  font-size: 12px;
  color: var(--gray);
  text-align: center;
  margin-top: 6px;
  letter-spacing: 0.3px;
}


/* ============================================================ */
/* === Work Hero: compact responsive override === */
/* === Reduces vertical bulk, tightens H1, narrower max-width === */
/* ============================================================ */

.work-hero {
  padding: 64px 20px 32px;        /* mobile: tighter */
}

.work-hero-inner {
  max-width: 1100px;
  margin: 0 auto;
}

.work-hero h1 {
  font-size: clamp(22px, 5.5vw, 32px);
  line-height: 1.18;
  margin-bottom: 12px;
  letter-spacing: -0.4px;
}

.work-hero-sub {
  font-size: 14px;
  line-height: 1.65;
  margin-bottom: 14px;
  max-width: 720px;
}

.work-back {
  font-size: 12px;
  margin-bottom: 14px;
}

.work-category {
  font-size: 10px;
  padding: 4px 10px;
  margin-bottom: 12px;
}

/* Decorative blob — make smaller */
.work-hero::before {
  width: 180px;
  height: 180px;
  top: -40px;
  right: -40px;
}

@media (min-width: 600px) {
  .work-hero {
    padding: 80px 28px 40px;
  }
  .work-hero h1 {
    font-size: clamp(26px, 4.5vw, 36px);
  }
  .work-hero-sub {
    font-size: 15px;
  }
}

@media (min-width: 1000px) {
  .work-hero {
    padding: 100px 60px 56px;     /* was 130px 60px 70px — tighter */
  }
  .work-hero h1 {
    font-size: clamp(30px, 3vw, 40px);  /* was 48px max — smaller */
    margin-bottom: 14px;
  }
  .work-hero-sub {
    font-size: 16px;
    margin-bottom: 18px;
  }
  .work-hero::before {
    width: 280px;
    height: 280px;
    top: -60px;
    right: -60px;
  }
}


/* ============================================================ */
/* === Work Hero Option C: Image-first hero with floating image === */
/* ============================================================ */

.work-hero-image-wrap {
  position: relative;
  margin: 18px 0 22px;
  border-radius: 14px;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
  background: var(--light);
}

.work-hero-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}

.work-hero-image-wrap:hover img {
  transform: scale(1.02);
}

/* Reorder hero content: back-link / image / category / title / sub */
/* Tighten text padding now that image is the focal point */
.work-hero h1 {
  font-size: clamp(22px, 5vw, 30px);
  margin-bottom: 8px;
}

.work-hero-sub {
  font-size: 14px;
  margin-bottom: 0;
  max-width: 720px;
}

.work-category {
  margin-bottom: 8px;
}

@media (min-width: 600px) {
  .work-hero-image-wrap {
    margin: 22px 0 26px;
    border-radius: 16px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
  }
  .work-hero h1 {
    font-size: clamp(26px, 4vw, 34px);
  }
}

@media (min-width: 1000px) {
  .work-hero-image-wrap {
    margin: 28px 0 32px;
    border-radius: 20px;
    box-shadow: 0 30px 70px rgba(0, 0, 0, 0.5);
  }
  .work-hero h1 {
    font-size: clamp(30px, 3vw, 38px);
    margin-bottom: 10px;
  }
  .work-hero-sub {
    font-size: 15px;
  }
}

/* Hide the first image in work-gallery since it's now the hero image */
.work-gallery-grid > .work-gallery-item:first-child {
  display: none;
}


/* ============================================================ */
/* === Hide source image elements when hero-image-wrap exists === */
/* === (Option C: avoid duplicate display) === */
/* ============================================================ */

/* After v2 migration, these source elements are duplicated by
   .work-hero-image-wrap. Hide them unconditionally on portfolio detail pages. */
.single-portfolio .work-main-image,
.single-portfolio .work-featured-image,
.single-portfolio .work-featured-wrap,
.work-hero + .work-main-image,
.work-hero + .work-featured-image,
.work-hero + .work-featured-wrap {
  display: none !important;
}



/* ============================================================ */
/* === Work Hero Image: COMPACT + RESPONSIVE override === */
/* === Replaces previous 16:9 / 1100px treatment === */
/* ============================================================ */

.work-hero-image-wrap {
  margin: 14px auto 20px;
  border-radius: 12px;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  max-width: 100%;
  max-height: 240px;            /* mobile cap */
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.3);
  background: var(--light);
}

.work-hero-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}

.work-hero-image-wrap:hover img {
  transform: scale(1.02);
}

/* Tablet: medium */
@media (min-width: 600px) {
  .work-hero-image-wrap {
    margin: 18px auto 24px;
    border-radius: 14px;
    aspect-ratio: 16 / 9;
    max-height: 320px;
    max-width: 720px;
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.35);
  }
}

/* Desktop: wider banner aspect, stays compact */
@media (min-width: 1000px) {
  .work-hero-image-wrap {
    margin: 24px auto 30px;
    border-radius: 16px;
    aspect-ratio: 21 / 9;        /* much wider, shorter */
    max-height: 380px;
    max-width: 900px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
  }
}

/* Ultra-wide displays: cap aspect to prevent stretching */
@media (min-width: 1400px) {
  .work-hero-image-wrap {
    max-width: 1000px;
    max-height: 400px;
  }
}


/* ============================================================ */
/* === Work Hero Image: NO-CROP version === */
/* === Image keeps natural aspect, only max-height capped === */
/* ============================================================ */

.work-hero-image-wrap {
  margin: 14px auto 22px;
  text-align: center;
  max-width: 100%;
  background: transparent;
  box-shadow: none;
  aspect-ratio: auto;
  max-height: none;
  overflow: visible;
  border-radius: 0;
}

.work-hero-image-wrap img {
  display: inline-block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 240px;            /* mobile cap */
  border-radius: 12px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.3);
  object-fit: contain;          /* in case ratio still applies somewhere */
  transition: transform 0.4s ease;
}

.work-hero-image-wrap:hover img {
  transform: scale(1.015);
}

@media (min-width: 600px) {
  .work-hero-image-wrap {
    margin: 18px auto 26px;
  }
  .work-hero-image-wrap img {
    max-height: 340px;
    border-radius: 14px;
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.35);
  }
}

@media (min-width: 1000px) {
  .work-hero-image-wrap {
    margin: 24px auto 32px;
  }
  .work-hero-image-wrap img {
    max-height: 420px;
    border-radius: 16px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
  }
}

@media (min-width: 1400px) {
  .work-hero-image-wrap img {
    max-height: 460px;
  }
}


/* ============================================================ */
/* === Option A: text-only hero, image BELOW hero (match live) === */
/* === Cancels Option C overrides above === */
/* ============================================================ */

/* Show work-main-image again (was hidden) */
.single-portfolio .work-main-image,
.single-portfolio .work-featured-image,
.single-portfolio .work-featured-wrap,
.work-hero + .work-main-image,
.work-hero + .work-featured-image,
.work-hero + .work-featured-wrap {
  display: block !important;
}

/* Show first gallery item again (was hidden by Option C) */
.work-gallery-grid > .work-gallery-item:first-child {
  display: block;
}

/* Hide the (now-empty) work-hero-image-wrap if any post still has it */
.work-hero-image-wrap {
  display: none !important;
}

/* === Compact responsive .work-main-image (matches live, just bounded) === */
.work-main-image {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  aspect-ratio: 16 / 9;
  background: var(--light);
  overflow: hidden;
  border-radius: 0;
  /* mobile cap */
  max-height: 260px;
}

.work-main-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (min-width: 600px) {
  .work-main-image {
    max-height: 360px;
  }
}

@media (min-width: 1000px) {
  .work-main-image {
    max-height: 460px;
    border-radius: 0;
  }
}


/* === APPENDED: gulf-stream featured project page styles === */

.work-main-image {
  width: 100%;
  aspect-ratio: 16/9;
  background: var(--light);
  overflow: hidden;
  margin-top: var(--nav-h);
}

.work-hero-below {
  background: var(--navy);
  padding: 36px 20px 44px;
  position: relative;
  overflow: hidden;
}

.work-hero-below::before {
  content: '';
  position: absolute;
  bottom: -60px; right: -60px;
  width: 300px; height: 300px;
  background: radial-gradient(circle, rgba(201,168,76,0.1) 0%, transparent 70%);
  pointer-events: none;
}

.work-hero-below-inner { position: relative; z-index: 2; }

.work-hero-below .work-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: rgba(255,255,255,0.45);
  text-decoration: none;
  margin-bottom: 14px;
  transition: color 0.2s;
}

.work-hero-below .work-back:hover { color: var(--gold); }

.work-hero-below .work-category {
  display: inline-block;
  background: rgba(201,168,76,0.15);
  color: var(--gold);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 4px;
  border: 1px solid rgba(201,168,76,0.2);
  margin-bottom: 16px;
}

.work-hero-below h1 {
  font-family: var(--serif);
  font-size: clamp(24px, 6vw, 48px);
  font-weight: 800;
  color: #fff;
  line-height: 1.15;
  letter-spacing: -0.5px;
  margin-bottom: 12px;
}

.work-hero-below h1 em { font-style: normal; color: var(--gold); font-weight: 900; }

.work-hero-below .work-hero-sub {
  font-size: 15px;
  color: rgba(255,255,255,0.58);
  line-height: 1.75;
  margin-bottom: 20px;
  max-width: 640px;
}

.work-hero-below .work-tags { display: flex; flex-wrap: wrap; gap: 6px; }

.work-hero-below .work-tag {
  font-size: 10px;
  font-weight: 600;
  background: rgba(255,255,255,0.09);
  color: rgba(255,255,255,0.65);
  padding: 4px 10px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.12);
}

@media (min-width: 900px) {
  .work-main-image { margin-top: var(--nav-h); aspect-ratio: 21/9; }
  .work-hero-below { padding: 52px 60px 60px; }
  .work-hero-below h1 { font-size: clamp(32px, 3.5vw, 50px); }
  .work-hero-below .work-hero-sub { font-size: 17px; }
}

.work-featured-wrap {
  margin-top: var(--nav-h);
  position: relative;
}

.work-featured-image {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  position: relative;
}

.work-featured-image img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}

.work-featured-image::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 120px;
  background: linear-gradient(to bottom, rgba(9,18,43,0.82) 0%, transparent 100%);
  z-index: 1;
  pointer-events: none;
}

.work-featured-overlay {
  position: absolute;
  top: 0; left: 0; right: 0;
  z-index: 2;
  padding: 18px 20px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
}

.work-featured-overlay .work-back {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 600;
  color: rgba(255,255,255,0.8);
  text-decoration: none;
  transition: color 0.2s;
  white-space: nowrap;
  flex-shrink: 0;
}

.work-featured-overlay .work-back:hover { color: var(--gold); }

.work-featured-overlay .work-category {
  display: inline-block;
  background: rgba(201,168,76,0.18);
  color: var(--gold);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 4px;
  border: 1px solid rgba(201,168,76,0.28);
  backdrop-filter: blur(4px);
  white-space: nowrap;
  flex-shrink: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.work-hero-below {
  background: var(--navy);
  padding: 32px 20px 44px;
  position: relative;
  overflow: hidden;
}

.work-hero-below h1 {
  font-family: var(--serif);
  font-size: clamp(26px, 6vw, 48px);
  font-weight: 800;
  color: #fff;
  line-height: 1.15;
  letter-spacing: -0.5px;
  margin-bottom: 14px;
}

@media (min-width: 900px) {
  .work-featured-image { aspect-ratio: 21/9; }
  .work-featured-overlay { padding: 24px 60px; gap: 16px; }
  .work-featured-overlay .work-back { font-size: 13px; }
  .work-featured-overlay .work-category { font-size: 10px; letter-spacing: 2px; }
  .work-hero-below { padding: 48px 60px 60px; }
  .work-hero-below h1 { font-size: clamp(32px, 3.5vw, 50px); }
  .work-hero-below .work-hero-sub { font-size: 17px; }
}


/* ============================================================ */
/* === Desktop dropdown UX fix: bridge the gap === */
/* === so cursor doesn't fall into a hover-dead zone === */
/* ============================================================ */

@media (min-width: 900px) {
  .nav-item[data-dd] {
    position: relative;
  }

  /* Pull dropdown up flush with parent, then create visual gap via padding-top
     (padding stays inside .nav-dropdown so it remains a hover target). */
  .nav-item[data-dd] .nav-dropdown {
    top: 100%;
    margin-top: 0;
    padding: 14px 0 8px;
  }

  /* Extend hover catch area DOWN from the parent link itself */
  .nav-item[data-dd] > .nav-link {
    padding-bottom: 6px;
    margin-bottom: -6px;
    position: relative;
    z-index: 2;
  }

  /* Visual arrow position adjusted for new padding */
  .nav-item[data-dd] .nav-dropdown::before {
    top: 8px;
  }

  /* Slight open delay-out — gives user time to move into dropdown */
  .nav-item[data-dd] .nav-dropdown {
    transition: opacity 0.12s ease, visibility 0s linear 0.2s;
    opacity: 0;
    visibility: hidden;
    display: flex !important;            /* always rendered, hidden via opacity */
    pointer-events: none;
  }

  .nav-item[data-dd]:hover .nav-dropdown,
  .nav-item[data-dd]:focus-within .nav-dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity 0.12s ease, visibility 0s linear 0s;
  }

  /* Make dropdown items more spacious */
  .nav-dropdown a {
    padding: 11px 20px;
  }
}


/* ============================================================ */
/* === Work Gallery: 2-column override (cleaner for 4+ images) === */
/* ============================================================ */

.work-gallery-grid {
  grid-template-columns: 1fr;            /* mobile: 1 col */
}

@media (min-width: 700px) {
  .work-gallery-grid {
    grid-template-columns: 1fr 1fr;       /* tablet+: 2 cols */
    gap: 14px;
  }
}

@media (min-width: 1000px) {
  .work-gallery-grid {
    grid-template-columns: 1fr 1fr;       /* desktop: still 2 cols (was 3) */
    gap: 16px;
  }
}


/* ============================================================ */
/* === Final dropdown alignment: left-aligned to parent === */
/* === (overrides all earlier translateX rules) === */
/* ============================================================ */

@media (min-width: 900px) {
  .nav-item[data-dd] .nav-dropdown {
    /* Anchor to left edge of parent menu item, not center */
    left: 0;
    right: auto;
    transform: none;
    min-width: 240px;
    /* Keep within viewport: shift left if it would overflow right */
    max-width: calc(100vw - 40px);
  }

  /* Arrow points up at parent; align to start, not center */
  .nav-item[data-dd] .nav-dropdown::before {
    left: 24px;
    transform: rotate(45deg);
  }

  /* All dropdowns left-aligned to parent for consistency */
}


/* ============================================================ */
/* === FINAL dropdown behaviour: simple display + hover bridge === */
/* === Cancels the opacity/visibility approach above === */
/* ============================================================ */

@media (min-width: 900px) {
  /* Reset opacity-based hiding */
  .nav-item[data-dd] .nav-dropdown {
    display: none !important;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: none;
  }

  .nav-item[data-dd]:hover .nav-dropdown,
  .nav-item[data-dd]:focus-within .nav-dropdown {
    display: flex !important;
  }

  /* Position parent so absolute child anchors correctly */
  .nav-item[data-dd] {
    position: relative;
  }

  /* Pull dropdown up to parent edge, visual gap via padding-top inside */
  .nav-item[data-dd] .nav-dropdown {
    top: 100%;
    margin-top: 0;
    padding-top: 16px;          /* hover bridge */
    padding-bottom: 8px;
  }

  /* Add forgiving padding-bottom on parent so cursor has room */
  .nav-item[data-dd] > .nav-link {
    padding-bottom: 16px;
    margin-bottom: -16px;
  }

  /* Each dropdown item — bigger click target */
  .nav-dropdown a {
    display: block;
    padding: 12px 22px;
    font-size: 13px;
    line-height: 1.3;
    color: var(--navy);
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s, color 0.15s;
  }

  .nav-dropdown a:hover {
    background: var(--light);
    color: var(--gold);
  }
}


/* ============================================================ */
/* === Case Card uniform-height layout (flex-column) === */
/* === Ensures "Read Case Study →" sticks to bottom regardless === */
/* === of description length, so cards align cleanly in grid === */
/* ============================================================ */

.cases-list,
.cases-grid {
  align-items: stretch;
}

.case-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.case-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 40px rgba(26, 31, 78, 0.1);
}

.case-header {
  flex-shrink: 0;          /* never shrinks */
}

.case-body {
  flex: 1 1 auto;          /* fills remaining space */
  display: flex;
  flex-direction: column;
}

.case-metrics {
  flex-shrink: 0;
}

.case-desc {
  flex: 1 1 auto;          /* description grows to fill */
}

.case-cta {
  margin-top: auto;        /* sticks to bottom */
  padding-top: 4px;
}


/* ============================================================ */
/* === REVERT case-card flex-stretch (match live design) === */
/* === Cards size to natural content, not stretched === */
/* ============================================================ */

.case-card {
  display: block;
  height: auto;
}

.case-body {
  display: block;
}

.case-desc {
  flex: none;
}

.case-cta {
  margin-top: 0;
  padding-top: 0;
}

/* Keep hover lift effect — that's an enhancement on top of live */
.case-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 40px rgba(26, 31, 78, 0.1);
}


/* ============================================================ */
/* === FIX: stale flex/max-width rule shrinking case-cards === */
/* === Cards must fill their full grid cell width === */
/* ============================================================ */

.case-card {
  flex: none !important;
  max-width: none !important;
  width: 100%;
}

@media (min-width: 900px) {
  .case-card {
    flex: none !important;
    max-width: none !important;
    width: 100%;
  }
}


/* ============================================================ */
/* === DEFINITIVE NAV DROPDOWN — overrides all rules above === */
/* === Final source of truth for desktop dropdown behaviour === */
/* ============================================================ */

@media (min-width: 900px) {

  /* Parent must be positioning context for absolute dropdown */
  .nav-menu .nav-item {
    position: relative;
  }

  /* DROPDOWN: hidden by default, full width to its content, left-aligned */
  .nav-menu .nav-item .nav-dropdown {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    margin: 0 !important;
    padding: 16px 0 8px !important;
    min-width: 240px !important;
    max-width: 320px !important;
    background: #fff !important;
    border: 1px solid rgba(26, 31, 78, 0.07) !important;
    border-radius: 12px !important;
    box-shadow: 0 16px 48px rgba(26, 31, 78, 0.15) !important;
    z-index: 200 !important;
    flex-direction: column !important;
    list-style: none !important;
  }

  /* Arrow indicator on top-left of dropdown */
  .nav-menu .nav-item .nav-dropdown::before {
    content: '' !important;
    position: absolute !important;
    top: 8px !important;
    left: 22px !important;
    right: auto !important;
    width: 12px !important;
    height: 12px !important;
    background: #fff !important;
    border-left: 1px solid rgba(26, 31, 78, 0.07) !important;
    border-top: 1px solid rgba(26, 31, 78, 0.07) !important;
    transform: rotate(45deg) !important;
  }

  /* SHOW dropdown on parent hover or keyboard focus-within */
  .nav-menu .nav-item:hover .nav-dropdown,
  .nav-menu .nav-item:focus-within .nav-dropdown {
    display: flex !important;
  }

  /* Hover bridge — extend parent link clickable area down so cursor doesn't fall into a gap */
  .nav-menu .nav-item[data-dd] > .nav-link {
    padding-bottom: 16px !important;
    margin-bottom: -16px !important;
    position: relative !important;
    z-index: 201 !important;
  }

  /* Submenu items */
  .nav-menu .nav-dropdown li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .nav-menu .nav-dropdown a {
    display: block !important;
    padding: 11px 20px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    color: #1A1F4E !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: background 0.15s, color 0.15s !important;
  }

  .nav-menu .nav-dropdown a:hover,
  .nav-menu .nav-dropdown a:focus {
    background: #F3F4F6 !important;
    color: #C9A84C !important;
  }

  /* Show the ▾ arrow on parents */
  .nav-menu .nav-item[data-dd] .nav-arrow {
    display: inline-block !important;
    margin-left: 4px !important;
    font-size: 10px !important;
    transition: transform 0.2s !important;
  }

  .nav-menu .nav-item[data-dd]:hover .nav-arrow {
    transform: rotate(180deg) !important;
  }

}


/* ============================================================ */
/* === FIX: vertical alignment — invisible bridge via ::after === */
/* === Replaces padding-bottom approach that shifted items down === */
/* ============================================================ */

@media (min-width: 900px) {
  /* Make all top-level nav items vertically aligned (center) */
  .nav-menu {
    align-items: center !important;
  }

  /* Reset the layout-shifting padding/margin from earlier */
  .nav-menu .nav-item[data-dd] > .nav-link {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    position: relative !important;
  }

  /* Invisible hover bridge — covers the gap to the dropdown */
  .nav-menu .nav-item[data-dd] > .nav-link::after {
    content: '' !important;
    position: absolute !important;
    bottom: -18px !important;
    left: 0 !important;
    right: 0 !important;
    height: 20px !important;
    background: transparent !important;
    /* Don't add new hover area on non-dropdown links — only data-dd ones */
  }
}


/* ============================================================ */
/* === ULTIMATE NAV RESET — last word, overrides everything === */
/* ============================================================ */

@media (min-width: 900px) {

  /* Container */
  nav.nav {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 18px 60px !important;
    background: #fff !important;
  }

  /* Menu UL — equal gaps, vertically centered */
  .nav-menu {
    display: flex !important;
    align-items: center !important;
    gap: 32px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Each menu item — same line height, no padding/margin */
  .nav-menu > .nav-item {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    border: none !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
  }

  /* Top-level link — uniform sizing for every item including Services/Work */
  .nav-menu > .nav-item > .nav-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    padding: 0 !important;
    margin: 0 !important;
    height: auto !important;
    line-height: 1 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #1A1F4E !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: color 0.2s ease !important;
  }

  .nav-menu > .nav-item > .nav-link:hover {
    color: #C9A84C !important;
  }

  .nav-menu > .nav-item > .nav-link.active {
    color: #1A1F4E !important;
    font-weight: 700 !important;
  }

  /* Arrow — same line, same baseline */
  .nav-arrow {
    display: inline-block !important;
    font-size: 9px !important;
    line-height: 1 !important;
    margin: 0 !important;
    color: inherit !important;
  }

  /* "Let's Talk" CTA — button styling, but keeps same vertical center */
  .nav-menu > .nav-item > .nav-link.cta {
    background: #1A1F4E !important;
    color: #fff !important;
    padding: 11px 22px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
  }

  .nav-menu > .nav-item > .nav-link.cta:hover {
    background: #2c3470 !important;
    color: #fff !important;
  }
}
