
    :root {
      --navy: #0a3059;
      --navy-2: #0a172a;
      --blue: #246783;
      --blue-2: #417391;
      --gold: #d1b77e;
      --gold-bright: #e8d49d;
      --ink: #14233a;
      --slate: #46556a;
      --muted: #6b7b8f;
      --line: #dce4ee;
      --paper: #f7f7f4;
      --white: #ffffff;
      --header-height: 82px;
      --shadow: 0 18px 45px rgba(10, 48, 89, .12);
      --soft-shadow: 0 10px 30px rgba(10, 48, 89, .08);
      color-scheme: light;
    }

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

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

    body {
      margin: 0;
      color: var(--ink);
      background: var(--white);
      font-family: Inter, Arial, sans-serif;
      font-size: 16px;
      line-height: 1.7;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

    body.nav-open {
      overflow: hidden;
    }

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

    a {
      color: inherit;
      text-decoration: none;
    }

    button,
    input,
    select,
    textarea {
      font: inherit;
    }

    button,
      a,
      input,
      select,
      textarea,
      summary {
      -webkit-tap-highlight-color: transparent;
    }

    button,
    a {
      touch-action: manipulation;
    }

    a:focus-visible,
    button:focus-visible,
    input:focus-visible,
    select:focus-visible,
    textarea:focus-visible,
    summary:focus-visible {
      outline: 3px solid var(--gold-bright);
      outline-offset: 4px;
    }

    [hidden] {
      display: none !important;
    }

    .container {
      width: calc(100% - 40px);
      max-width: 1220px;
      margin-inline: auto;
    }

    .visually-hidden {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      clip-path: inset(50%);
    }

    .skip-link {
      position: fixed;
      z-index: 2000;
      top: 12px;
      left: 12px;
      padding: 12px 18px;
      color: var(--white);
      background: var(--navy);
      border-radius: 6px;
      transform: translateY(-160%);
      transition: transform .2s ease;
    }

    .skip-link:focus {
      transform: translateY(0);
    }

    .site-header {
      position: sticky;
      z-index: 1000;
      top: 0;
      height: var(--header-height);
      background: rgba(255, 255, 255, .97);
      border-bottom: 1px solid rgba(10, 48, 89, .07);
      transition: box-shadow .25s ease, background-color .25s ease;
      backdrop-filter: blur(14px);
    }

    .site-header.is-scrolled {
      box-shadow: 0 8px 28px rgba(10, 48, 89, .1);
      background: rgba(255, 255, 255, .99);
    }

    .header-inner {
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 28px;
    }

    .brand-link {
      display: inline-flex;
      align-items: center;
      flex: 0 0 auto;
      min-width: 168px;
      max-width: 232px;
      height: 62px;
    }

    .brand-link img {
      width: auto;
      height: auto;
      max-width: 100%;
      max-height: 60px;
      object-fit: contain;
      object-position: left center;
    }

    .brand-fallback {
      color: var(--navy);
      font-family: Poppins, Arial, sans-serif;
      font-size: 19px;
      font-weight: 700;
      line-height: 1.15;
      letter-spacing: .035em;
    }

    .brand-fallback span {
      display: block;
      margin-top: 4px;
      color: var(--blue);
      font-family: Inter, Arial, sans-serif;
      font-size: 8px;
      font-weight: 700;
      letter-spacing: .13em;
    }

    .site-nav {
      display: flex;
      align-items: center;
      margin-left: auto;
    }

    .nav-list {
      display: flex;
      align-items: center;
      gap: clamp(14px, 2vw, 30px);
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .nav-link,
    .nav-service-trigger {
      position: relative;
      display: inline-flex;
      align-items: center;
      gap: 7px;
      min-height: 44px;
      padding: 4px 0;
      color: var(--navy);
      background: transparent;
      border: 0;
      cursor: pointer;
      font-size: 13px;
      font-weight: 600;
      white-space: nowrap;
      transition: color .2s ease;
    }

    .nav-link::after,
    .nav-service-trigger::after {
      position: absolute;
      right: 0;
      bottom: 4px;
      left: 0;
      height: 2px;
      background: var(--gold);
      content: "";
      transform: scaleX(0);
      transform-origin: left;
      transition: transform .22s ease;
    }

    .nav-link:hover,
    .nav-service-trigger:hover,
    .nav-link.is-active,
    .nav-service-trigger.is-active {
      color: var(--blue);
    }

    .nav-link:hover::after,
    .nav-service-trigger:hover::after,
    .nav-link.is-active::after,
    .nav-service-trigger.is-active::after {
      transform: scaleX(1);
    }

    .chevron {
      width: 13px;
      height: 13px;
      transition: transform .2s ease;
    }

    .nav-dropdown {
      position: relative;
    }

    .nav-dropdown.is-open .chevron {
      transform: rotate(180deg);
    }

    .dropdown-menu {
      position: absolute;
      top: calc(100% + 7px);
      left: -20px;
      z-index: 5;
      width: 286px;
      padding: 9px;
      background: var(--white);
      border: 1px solid rgba(10, 48, 89, .1);
      border-radius: 10px;
      box-shadow: var(--shadow);
      animation: dropdownIn .18s ease both;
    }

    .dropdown-menu a {
      display: flex;
      align-items: center;
      min-height: 42px;
      padding: 9px 12px;
      color: var(--slate);
      border-radius: 6px;
      font-size: 13px;
      font-weight: 500;
      transition: color .18s ease, background-color .18s ease, padding .18s ease;
    }

    .dropdown-menu a:hover,
    .dropdown-menu a.is-active {
      padding-left: 16px;
      color: var(--blue);
      background: #f1f6fc;
    }

    .header-cta {
      flex: 0 0 auto;
      min-height: 44px;
      padding: 0 18px;
      font-size: 12px;
    }

    .mobile-cta,
    .menu-toggle {
      display: none;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      min-height: 52px;
      padding: 0 23px;
      border: 1px solid transparent;
      border-radius: 4px;
      cursor: pointer;
      font-size: 13px;
      font-weight: 700;
      line-height: 1.2;
      text-align: center;
      transition: transform .22s ease, color .22s ease, background-color .22s ease, border-color .22s ease, box-shadow .22s ease;
    }

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

    .btn-primary {
      color: var(--white);
      background: var(--blue);
      box-shadow: 0 8px 18px rgba(23, 101, 130, .2);
    }

    .btn-primary:hover {
      background: #064985;
      box-shadow: 0 12px 22px rgba(23, 101, 130, .28);
    }

    .btn-gold {
      color: var(--navy);
      background: var(--gold-bright);
      border-color: var(--gold-bright);
      box-shadow: 0 8px 22px rgba(179, 139, 50, .2);
    }

    .btn-gold:hover {
      background: #f7f2d4;
      border-color: #f7f2d4;
      box-shadow: 0 12px 24px rgba(179, 139, 50, .28);
    }

    .btn-outline-light {
      color: var(--white);
      background: rgba(255, 255, 255, .04);
      border-color: rgba(255, 255, 255, .65);
    }

    .btn-outline-light:hover {
      color: var(--navy);
      background: var(--white);
      border-color: var(--white);
    }

    .btn-outline-blue {
      color: var(--blue);
      background: transparent;
      border-color: rgba(23, 101, 130, .35);
    }

    .btn-outline-blue:hover {
      color: var(--white);
      background: var(--blue);
      border-color: var(--blue);
    }

    .btn-small {
      min-height: 44px;
      padding-inline: 17px;
      font-size: 12px;
    }

    .btn svg,
    .text-link svg {
      width: 16px;
      height: 16px;
      flex: 0 0 auto;
    }

    .page-view {
      min-height: 70vh;
      animation: pageEnter .34s ease both;
    }

    .page-hero {
      position: relative;
      display: flex;
      align-items: center;
      min-height: min(690px, calc(100svh - var(--header-height)));
      overflow: hidden;
      isolation: isolate;
      color: var(--white);
      background: var(--navy);
    }

    .page-hero::after {
      position: absolute;
      z-index: -1;
      inset: 0;
      background:
        linear-gradient(90deg, rgba(10, 48, 89, .94) 0%, rgba(10, 48, 89, .8) 39%, rgba(10, 48, 89, .38) 75%, rgba(10, 48, 89, .22) 100%),
        linear-gradient(0deg, rgba(10, 48, 89, .48), transparent 52%);
      content: "";
    }

    .hero-photo {
      position: absolute;
      z-index: -2;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      animation: heroZoom 20s ease-out both;
    }

    .hero-content {
      position: relative;
      width: 100%;
      padding-top: 76px;
      padding-bottom: 94px;
      animation: heroContentIn .85s .08s ease both;
    }

    .hero-brand {
      margin: 0 0 19px;
      color: var(--gold-bright);
      font-family: Poppins, Arial, sans-serif;
      font-size: clamp(24px, 3vw, 38px);
      font-weight: 700;
      letter-spacing: .1em;
      line-height: 1.15;
    }

    .hero-brand span {
      display: block;
      margin-top: 7px;
      color: rgba(255, 255, 255, .78);
      font-family: Inter, Arial, sans-serif;
      font-size: 10px;
      font-weight: 600;
      letter-spacing: .24em;
    }

    .eyebrow {
      display: flex;
      align-items: center;
      gap: 11px;
      margin: 0 0 14px;
      color: var(--gold);
      font-size: 11px;
      font-weight: 700;
      letter-spacing: .16em;
      line-height: 1.5;
      text-transform: uppercase;
    }

    .eyebrow::before {
      display: block;
      width: 31px;
      height: 1px;
      background: currentColor;
      content: "";
    }

    .hero-eyebrow {
      color: var(--gold-bright);
    }

    .page-hero h1 {
      max-width: 800px;
      margin: 0;
      color: var(--white);
      font-family: Poppins, Arial, sans-serif;
      font-size: clamp(34px, 5vw, 61px);
      font-weight: 600;
      letter-spacing: -.035em;
      line-height: 1.14;
      text-wrap: balance;
    }

    .page-hero .hero-copy {
      max-width: 680px;
      margin: 20px 0 0;
      color: rgba(255, 255, 255, .86);
      font-size: clamp(15px, 1.35vw, 18px);
      line-height: 1.75;
    }

    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 29px;
    }

    .hero-foot {
      position: absolute;
      right: 0;
      bottom: 22px;
      left: 0;
      display: flex;
      align-items: center;
      justify-content: space-between;
      color: rgba(255, 255, 255, .72);
      font-size: 11px;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .hero-foot::before {
      width: 34px;
      height: 1px;
      margin-right: 12px;
      background: var(--gold);
      content: "";
    }

    .hero-foot .hero-note {
      display: flex;
      align-items: center;
      margin-right: auto;
    }

    .breadcrumbs {
      display: flex;
      align-items: center;
      gap: 9px;
      margin-top: 26px;
      color: rgba(255, 255, 255, .74);
      font-size: 12px;
    }

    .breadcrumbs a {
      color: var(--gold-bright);
      transition: color .2s ease;
    }

    .breadcrumbs a:hover {
      color: var(--white);
    }

    .breadcrumbs .slash {
      color: rgba(255, 255, 255, .5);
    }

    .section {
      padding: clamp(68px, 8vw, 106px) 0;
    }

    .section-tight {
      padding: clamp(54px, 6vw, 78px) 0;
    }

    .section-paper {
      background: var(--paper);
    }

    .section-navy {
      color: var(--white);
      background: var(--navy);
    }

    .section-heading {
      max-width: 790px;
      margin-bottom: 42px;
    }

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

    .section-heading.center .eyebrow {
      justify-content: center;
    }

    .section-heading h2,
    .copy-block h2,
    .cta-copy h2 {
      margin: 0;
      color: var(--navy);
      font-family: Poppins, Arial, sans-serif;
      font-size: clamp(28px, 3.5vw, 43px);
      font-weight: 600;
      letter-spacing: -.03em;
      line-height: 1.2;
      text-wrap: balance;
    }

    .section-navy .section-heading h2,
    .section-navy .copy-block h2,
    .section-navy .cta-copy h2 {
      color: var(--white);
    }

    .section-heading > p,
    .copy-block > p,
    .section-lead {
      margin: 15px 0 0;
      color: var(--slate);
      font-size: 16px;
      line-height: 1.8;
    }

    .section-navy .section-heading > p,
    .section-navy .copy-block > p {
      color: rgba(255, 255, 255, .75);
    }

    .section-lead {
      max-width: 760px;
      margin: -22px 0 34px;
    }

    .text-link {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      color: var(--blue);
      font-size: 13px;
      font-weight: 700;
      transition: color .18s ease, gap .18s ease;
    }

    .text-link:hover {
      gap: 13px;
      color: var(--navy);
    }

    .text-link svg {
      transition: transform .18s ease;
    }

    .text-link:hover svg {
      transform: translateX(2px);
    }

    .center-action {
      display: flex;
      justify-content: center;
      margin-top: 34px;
    }

    .split-layout {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      align-items: center;
      gap: clamp(34px, 7vw, 92px);
    }

    .split-layout.image-first .split-image {
      order: -1;
    }

    .split-image {
      position: relative;
      min-width: 0;
    }

    .split-image::before {
      position: absolute;
      z-index: 0;
      top: 18px;
      right: -16px;
      bottom: -16px;
      left: 16px;
      border: 1px solid rgba(179, 139, 50, .55);
      content: "";
    }

    .split-image img {
      position: relative;
      z-index: 1;
      width: 100%;
      aspect-ratio: 1.18;
      object-fit: cover;
      box-shadow: var(--shadow);
    }

    .experience-lockup {
      display: flex;
      align-items: center;
      gap: 22px;
      margin: 27px 0;
      padding: 18px 0;
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
    }

    .experience-lockup strong {
      color: var(--gold);
      font-family: Poppins, Arial, sans-serif;
      font-size: clamp(44px, 6vw, 72px);
      font-weight: 600;
      letter-spacing: -.06em;
      line-height: 1;
    }

    .experience-lockup span {
      max-width: 170px;
      color: var(--navy);
      font-size: 13px;
      font-weight: 700;
      line-height: 1.45;
    }

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

    .service-card {
      display: flex;
      flex-direction: column;
      min-width: 0;
      overflow: hidden;
      background: var(--white);
      border: 1px solid #e2e9f1;
      box-shadow: 0 4px 16px rgba(10, 48, 89, .045);
      transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
    }

    .service-card:hover {
      transform: translateY(-5px);
      border-color: rgba(179, 139, 50, .52);
      box-shadow: var(--shadow);
    }

    .service-card-image {
      position: relative;
      overflow: hidden;
      aspect-ratio: 1.8;
      background: #dce5ef;
    }

    .service-card-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .55s cubic-bezier(.2, .65, .3, 1);
    }

    .service-card:hover .service-card-image img {
      transform: scale(1.045);
    }

    .service-card-body {
      display: flex;
      flex: 1;
      flex-direction: column;
      align-items: flex-start;
      padding: 23px 23px 22px;
    }

    .service-card-icon {
      display: grid;
      width: 42px;
      height: 42px;
      margin-top: -44px;
      margin-bottom: 18px;
      place-items: center;
      color: var(--navy);
      background: var(--gold-bright);
      border: 4px solid var(--white);
      border-radius: 50%;
      position: relative;
    }

    .service-card-icon svg {
      width: 17px;
      height: 17px;
    }

    .service-card h3 {
      margin: 0;
      color: var(--navy);
      font-family: Poppins, Arial, sans-serif;
      font-size: 17px;
      font-weight: 600;
      line-height: 1.42;
    }

    .service-card p {
      margin: 10px 0 19px;
      color: var(--slate);
      font-size: 13px;
      line-height: 1.7;
    }

    .service-card .text-link {
      margin-top: auto;
    }

    .trust-intro {
      display: grid;
      grid-template-columns: .8fr 1.2fr;
      align-items: center;
      gap: clamp(32px, 7vw, 100px);
    }

    .trust-mark {
      position: relative;
      padding: 18px 0 18px 28px;
      border-left: 2px solid var(--gold);
    }

    .trust-mark strong {
      display: block;
      color: var(--navy);
      font-family: Poppins, Arial, sans-serif;
      font-size: clamp(64px, 9vw, 112px);
      font-weight: 600;
      letter-spacing: -.07em;
      line-height: .95;
    }

    .trust-mark span {
      display: block;
      max-width: 205px;
      margin-top: 10px;
      color: var(--blue);
      font-size: 13px;
      font-weight: 700;
      line-height: 1.45;
    }

    .process-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 0;
      margin-top: 54px;
    }

    .process-step {
      position: relative;
      padding: 0 25px 0 0;
    }

    .process-step::after {
      position: absolute;
      top: 19px;
      right: 0;
      left: 44px;
      height: 1px;
      background: linear-gradient(90deg, var(--gold) 0%, rgba(179, 139, 50, .14) 100%);
      content: "";
      transform: scaleX(0);
      transform-origin: left;
      transition: transform .8s ease;
    }

    .is-visible .process-step::after,
    .process-grid.is-visible .process-step::after {
      transform: scaleX(1);
    }

    .process-step:last-child::after {
      display: none;
    }

    .process-number {
      position: relative;
      z-index: 1;
      display: grid;
      width: 40px;
      height: 40px;
      margin-bottom: 20px;
      place-items: center;
      color: var(--navy);
      background: var(--gold-bright);
      border: 5px solid var(--white);
      border-radius: 50%;
      box-shadow: 0 0 0 1px rgba(179, 139, 50, .45);
      font-size: 12px;
      font-weight: 700;
    }

    .section-paper .process-number {
      border-color: var(--paper);
    }

    .process-step h3 {
      margin: 0;
      color: var(--navy);
      font-family: Poppins, Arial, sans-serif;
      font-size: 15px;
      font-weight: 600;
      line-height: 1.45;
    }

    .process-step p {
      max-width: 230px;
      margin: 9px 0 0;
      color: var(--slate);
      font-size: 13px;
      line-height: 1.7;
    }

    .feature-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      column-gap: 46px;
      row-gap: 0;
      border-top: 1px solid var(--line);
    }

    .feature-item {
      position: relative;
      min-height: 142px;
      padding: 29px 0 27px 27px;
      border-bottom: 1px solid var(--line);
    }

    .feature-item::before {
      position: absolute;
      top: 37px;
      left: 0;
      width: 9px;
      height: 9px;
      border: 2px solid var(--gold);
      border-radius: 50%;
      content: "";
    }

    .feature-item h3 {
      margin: 0;
      color: var(--navy);
      font-family: Poppins, Arial, sans-serif;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.45;
    }

    .feature-item p {
      margin: 9px 0 0;
      color: var(--slate);
      font-size: 13px;
      line-height: 1.7;
    }

    .cta-band {
      position: relative;
      display: grid;
      grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr);
      align-items: center;
      gap: 40px;
      padding: clamp(34px, 5.5vw, 66px);
      overflow: hidden;
      color: var(--white);
      background:
        radial-gradient(circle at 90% 0%, rgba(179, 139, 50, .14), transparent 30%),
        var(--navy);
    }

    .cta-band::after {
      position: absolute;
      right: 10%;
      bottom: -110px;
      width: 260px;
      height: 260px;
      border: 1px solid rgba(245, 197, 66, .22);
      border-radius: 50%;
      content: "";
      pointer-events: none;
    }

    .cta-copy,
    .cta-actions {
      position: relative;
      z-index: 1;
    }

    .cta-copy .eyebrow {
      color: var(--gold-bright);
    }

    .cta-copy h2 {
      max-width: 750px;
      font-size: clamp(27px, 3.5vw, 42px);
    }

    .cta-copy p {
      max-width: 660px;
      margin: 14px 0 0;
      color: rgba(255, 255, 255, .76);
      font-size: 14px;
    }

    .cta-actions {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: 12px;
    }

    .faq-list {
      border-top: 1px solid var(--line);
    }

    .faq-item {
      border-bottom: 1px solid var(--line);
    }

    .faq-item summary {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 22px;
      min-height: 70px;
      padding: 18px 0;
      color: var(--navy);
      cursor: pointer;
      font-family: Poppins, Arial, sans-serif;
      font-size: 15px;
      font-weight: 600;
      line-height: 1.5;
      list-style: none;
    }

    .faq-item summary::-webkit-details-marker {
      display: none;
    }

    .faq-item summary::after {
      display: grid;
      width: 29px;
      height: 29px;
      flex: 0 0 auto;
      place-items: center;
      color: var(--blue);
      border: 1px solid var(--line);
      border-radius: 50%;
      content: "+";
      font-family: Inter, Arial, sans-serif;
      font-size: 18px;
      font-weight: 400;
      transition: transform .2s ease, color .2s ease, background-color .2s ease;
    }

    .faq-item[open] summary::after {
      color: var(--navy);
      background: var(--gold-bright);
      border-color: var(--gold-bright);
      transform: rotate(45deg);
    }

    .faq-answer {
      max-width: 850px;
      padding: 0 48px 22px 0;
      color: var(--slate);
      font-size: 14px;
      line-height: 1.8;
      animation: faqIn .2s ease both;
    }

    .faq-answer p {
      margin: 0;
    }

    .service-directory-tools {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(210px, 280px);
      gap: 14px;
      margin-bottom: 29px;
    }

    .field-control {
      width: 100%;
      min-height: 52px;
      padding: 12px 15px;
      color: var(--ink);
      background: var(--white);
      border: 1px solid #ced9e6;
      border-radius: 4px;
      transition: border-color .2s ease, box-shadow .2s ease;
    }

    .field-control:focus {
      border-color: var(--blue);
      box-shadow: 0 0 0 3px rgba(23, 101, 130, .1);
      outline: 0;
    }

    .field-control::placeholder {
      color: #8391a2;
    }

    .service-result-count {
      min-height: 25px;
      margin: -15px 0 22px;
      color: var(--muted);
      font-size: 12px;
    }

    .no-results {
      padding: 26px;
      color: var(--slate);
      background: var(--paper);
      border-left: 3px solid var(--gold);
    }

    .service-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0 48px;
      border-top: 1px solid var(--line);
    }

    .service-list-item {
      display: grid;
      grid-template-columns: 40px minmax(0, 1fr);
      gap: 16px;
      align-items: start;
      padding: 23px 0;
      border-bottom: 1px solid var(--line);
    }

    .list-number {
      color: var(--gold);
      font-family: Poppins, Arial, sans-serif;
      font-size: 14px;
      font-weight: 600;
      letter-spacing: .04em;
    }

    .service-list-item h3 {
      margin: 0;
      color: var(--navy);
      font-family: Poppins, Arial, sans-serif;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.45;
    }

    .service-list-item p {
      margin: 8px 0 0;
      color: var(--slate);
      font-size: 13px;
      line-height: 1.75;
    }

    .process-section-title {
      margin: 0;
      color: var(--navy);
      font-family: Poppins, Arial, sans-serif;
      font-size: clamp(23px, 3vw, 33px);
      font-weight: 600;
      line-height: 1.25;
    }

    .note-box {
      padding: 20px 22px;
      color: var(--slate);
      background: #fffaf0;
      border-left: 3px solid var(--gold);
      font-size: 13px;
      line-height: 1.75;
    }

    .note-box strong {
      color: var(--navy);
    }

    .value-list {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 0 35px;
      margin: 34px 0 0;
      padding: 0;
      border-top: 1px solid var(--line);
      list-style: none;
    }

    .value-list li {
      padding: 18px 0;
      color: var(--navy);
      border-bottom: 1px solid var(--line);
      font-family: Poppins, Arial, sans-serif;
      font-size: 14px;
      font-weight: 600;
    }

    .value-list li::before {
      margin-right: 10px;
      color: var(--gold);
      content: "/";
    }

    .comparison-wrap {
      overflow-x: auto;
      border-top: 1px solid rgba(255, 255, 255, .28);
      border-bottom: 1px solid rgba(255, 255, 255, .28);
    }

    .comparison-table {
      width: 100%;
      min-width: 580px;
      border-collapse: collapse;
      text-align: left;
    }

    .comparison-table th,
    .comparison-table td {
      padding: 17px 18px;
      border-bottom: 1px solid rgba(255, 255, 255, .16);
      vertical-align: top;
    }

    .comparison-table tr:last-child td {
      border-bottom: 0;
    }

    .comparison-table th {
      color: var(--gold-bright);
      font-family: Poppins, Arial, sans-serif;
      font-size: 14px;
      font-weight: 600;
    }

    .comparison-table td {
      color: rgba(255, 255, 255, .78);
      font-size: 13px;
      line-height: 1.65;
    }

    .comparison-table td:first-child {
      width: 25%;
      color: var(--white);
      font-weight: 600;
    }

    .contact-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 13px;
    }

    .contact-card {
      display: flex;
      flex-direction: column;
      min-height: 160px;
      padding: 22px 20px;
      background: var(--white);
      border: 1px solid #e1e8f0;
      transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
    }

    a.contact-card:hover {
      transform: translateY(-3px);
      border-color: rgba(179, 139, 50, .65);
      box-shadow: var(--soft-shadow);
    }

    .contact-card-icon {
      display: grid;
      width: 36px;
      height: 36px;
      margin-bottom: 17px;
      place-items: center;
      color: var(--blue);
      background: #eef5fc;
      border-radius: 50%;
    }

    .contact-card-icon svg {
      width: 17px;
      height: 17px;
    }

    .contact-card small {
      display: block;
      margin-bottom: 4px;
      color: var(--muted);
      font-size: 10px;
      font-weight: 700;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .contact-card strong,
    .contact-card span.value {
      color: var(--navy);
      font-size: 13px;
      font-weight: 600;
      line-height: 1.55;
      overflow-wrap: anywhere;
    }

    .contact-columns {
      display: grid;
      grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
      gap: clamp(32px, 6vw, 78px);
      align-items: start;
    }

    .contact-intro {
      position: sticky;
      top: calc(var(--header-height) + 24px);
    }

    .contact-intro h2 {
      margin: 0;
      color: var(--navy);
      font-family: Poppins, Arial, sans-serif;
      font-size: clamp(28px, 3vw, 39px);
      font-weight: 600;
      letter-spacing: -.03em;
      line-height: 1.2;
    }

    .contact-intro p {
      margin: 16px 0 0;
      color: var(--slate);
      font-size: 14px;
      line-height: 1.8;
    }

    .contact-direct {
      display: grid;
      gap: 11px;
      margin-top: 27px;
    }

    .contact-direct a {
      display: flex;
      align-items: center;
      gap: 11px;
      color: var(--navy);
      font-size: 13px;
      font-weight: 600;
      transition: color .2s ease;
    }

    .contact-direct a:hover {
      color: var(--blue);
    }

    .contact-direct svg {
      width: 17px;
      height: 17px;
      color: var(--gold);
    }

    .contact-form {
      padding: clamp(23px, 4vw, 42px);
      background: var(--white);
      border: 1px solid #e2e9f1;
      box-shadow: var(--soft-shadow);
    }

    .contact-form h3 {
      margin: 0;
      color: var(--navy);
      font-family: Poppins, Arial, sans-serif;
      font-size: 22px;
      font-weight: 600;
    }

    .form-intro {
      margin: 8px 0 23px;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.65;
    }

    .form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 15px;
    }

    .form-field {
      min-width: 0;
    }

    .form-field.full {
      grid-column: 1 / -1;
    }

    .form-field label {
      display: block;
      margin-bottom: 6px;
      color: var(--navy);
      font-size: 12px;
      font-weight: 600;
    }

    .required-mark {
      color: #b24132;
    }

    .form-field textarea.field-control {
      min-height: 130px;
      resize: vertical;
    }

    .consent-field {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      margin: 18px 0;
      color: var(--slate);
      font-size: 12px;
      line-height: 1.55;
    }

    .consent-field input {
      width: 17px;
      height: 17px;
      flex: 0 0 auto;
      margin: 1px 0 0;
      accent-color: var(--blue);
    }

    .form-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
    }

    .form-actions .btn {
      flex: 1 1 210px;
    }

    .form-message {
      min-height: 24px;
      margin: 13px 0 0;
      color: var(--blue);
      font-size: 12px;
      line-height: 1.6;
    }

    .footer {
      color: rgba(255, 255, 255, .78);
      background: var(--navy);
    }

    .footer-main {
      display: grid;
      grid-template-columns: 1.25fr .8fr 1fr 1fr;
      gap: clamp(27px, 5vw, 62px);
      padding: 66px 0 48px;
    }

    .footer-brand-logo {
      display: inline-flex;
      align-items: center;
      min-height: 60px;
      max-width: 220px;
      margin-bottom: 17px;
      padding: 8px 12px;
      background: var(--white);
    }

    .footer-brand-logo img {
      width: auto;
      max-width: 196px;
      max-height: 50px;
      object-fit: contain;
    }

    .footer-brand-name {
      color: var(--navy);
      font-family: Poppins, Arial, sans-serif;
      font-size: 17px;
      font-weight: 700;
      line-height: 1.2;
    }

    .footer-brand-name span {
      display: block;
      margin-top: 4px;
      color: var(--blue);
      font-family: Inter, Arial, sans-serif;
      font-size: 8px;
      letter-spacing: .1em;
    }

    .footer-about p {
      max-width: 280px;
      margin: 0;
      color: rgba(255, 255, 255, .68);
      font-size: 12px;
      line-height: 1.8;
    }

    .footer-experience {
      display: inline-block;
      margin-top: 15px;
      color: var(--gold-bright);
      font-size: 11px;
      font-weight: 700;
      letter-spacing: .05em;
    }

    .footer-column h2 {
      margin: 5px 0 18px;
      color: var(--white);
      font-family: Poppins, Arial, sans-serif;
      font-size: 13px;
      font-weight: 600;
      letter-spacing: .04em;
    }

    .footer-links,
    .footer-contact-list {
      display: grid;
      gap: 10px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .footer-links a,
    .footer-contact-list a,
    .footer-contact-list span {
      color: rgba(255, 255, 255, .68);
      font-size: 12px;
      line-height: 1.5;
      transition: color .18s ease;
    }

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

    .footer-contact-list svg {
      width: 14px;
      height: 14px;
      flex: 0 0 auto;
      color: var(--gold-bright);
    }

    .footer-contact-list a {
      display: flex;
      align-items: flex-start;
      gap: 9px;
      overflow-wrap: anywhere;
    }

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

    .footer-socials {
      display: flex;
      gap: 9px;
      margin-top: 17px;
    }

    .footer-socials a {
      display: grid;
      width: 34px;
      height: 34px;
      place-items: center;
      color: var(--white);
      border: 1px solid rgba(255, 255, 255, .28);
      border-radius: 50%;
      transition: color .2s ease, background-color .2s ease, border-color .2s ease;
    }

    .footer-socials a:hover {
      color: var(--navy);
      background: var(--gold-bright);
      border-color: var(--gold-bright);
    }

    .footer-socials svg {
      width: 15px;
      height: 15px;
    }

    .footer-bottom {
      border-top: 1px solid rgba(255, 255, 255, .14);
    }

    .footer-bottom-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      min-height: 66px;
      padding: 12px 0;
      color: rgba(255, 255, 255, .55);
      font-size: 10px;
      line-height: 1.6;
    }

    .footer-promise {
      color: var(--gold-bright);
      font-weight: 600;
      letter-spacing: .04em;
    }

    .floating-actions {
      position: fixed;
      z-index: 1200;
      right: 20px;
      bottom: 22px;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 9px;
    }

    .float-button {
      display: grid;
      width: 48px;
      height: 48px;
      padding: 0;
      place-items: center;
      color: var(--white);
      background: var(--blue);
      border: 0;
      border-radius: 50%;
      box-shadow: 0 7px 20px rgba(10, 48, 89, .22);
      cursor: pointer;
      transition: transform .2s ease, filter .2s ease;
    }

    .float-button:hover {
      transform: translateY(-3px);
      filter: brightness(1.08);
    }

    .float-button svg {
      width: 20px;
      height: 20px;
    }

    .float-whatsapp {
      width: 56px;
      height: 56px;
      background: #18a65b;
      animation: whatsappPulse 2.8s ease-out infinite;
    }

    .float-whatsapp svg {
      width: 26px;
      height: 26px;
    }

    .float-facebook {
      background: #1769aa;
    }

    .float-instagram {
      background: #a03b73;
    }

    .float-call {
      background: var(--gold);
    }

    .whatsapp-popover {
      position: absolute;
      right: 68px;
      bottom: 0;
      width: min(310px, calc(100vw - 32px));
      padding: 16px;
      color: var(--ink);
      background: var(--white);
      border: 1px solid rgba(10, 48, 89, .1);
      box-shadow: var(--shadow);
      animation: popIn .18s ease both;
    }

    .whatsapp-popover h2 {
      margin: 0 0 4px;
      color: var(--navy);
      font-family: Poppins, Arial, sans-serif;
      font-size: 14px;
      font-weight: 600;
    }

    .whatsapp-popover p {
      margin: 0 0 12px;
      color: var(--muted);
      font-size: 11px;
      line-height: 1.5;
    }

    .whatsapp-choice {
      display: flex;
      align-items: center;
      gap: 10px;
      min-height: 43px;
      padding: 8px 6px;
      color: var(--navy);
      border-top: 1px solid #e7edf3;
      font-size: 12px;
      font-weight: 600;
      transition: color .18s ease;
    }

    .whatsapp-choice:hover {
      color: #16894d;
    }

    .whatsapp-choice svg {
      width: 17px;
      height: 17px;
      flex: 0 0 auto;
      color: #18a65b;
    }

    .back-to-top {
      position: fixed;
      z-index: 1100;
      bottom: 24px;
      left: 20px;
      display: grid;
      width: 44px;
      height: 44px;
      place-items: center;
      color: var(--navy);
      background: var(--white);
      border: 1px solid #dce4ee;
      border-radius: 50%;
      box-shadow: 0 7px 20px rgba(10, 48, 89, .12);
      cursor: pointer;
      opacity: 0;
      visibility: hidden;
      transform: translateY(8px);
      transition: opacity .2s ease, visibility .2s ease, transform .2s ease, background-color .2s ease;
    }

    .back-to-top.is-visible {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }

    .back-to-top:hover {
      background: var(--gold-bright);
    }

    .back-to-top svg {
      width: 18px;
      height: 18px;
    }

    .motion-enabled [data-reveal] {
      opacity: 0;
      transform: translateY(22px);
      transition: opacity .65s ease, transform .65s cubic-bezier(.2, .65, .3, 1);
    }

    .motion-enabled [data-reveal].is-visible {
      opacity: 1;
      transform: translateY(0);
    }

    .motion-enabled [data-reveal-delay="1"] { transition-delay: .08s; }
    .motion-enabled [data-reveal-delay="2"] { transition-delay: .16s; }
    .motion-enabled [data-reveal-delay="3"] { transition-delay: .24s; }

    .image-failed {
      background:
        linear-gradient(135deg, rgba(10, 48, 89, .88), rgba(23, 101, 130, .58)),
        #0a172a;
    }

    @keyframes heroZoom {
      from { transform: scale(1.055); }
      to { transform: scale(1); }
    }

    @keyframes heroContentIn {
      from { opacity: 0; transform: translateY(20px); }
      to { opacity: 1; transform: translateY(0); }
    }

    @keyframes pageEnter {
      from { opacity: .75; }
      to { opacity: 1; }
    }

    @keyframes dropdownIn {
      from { opacity: 0; transform: translateY(-5px); }
      to { opacity: 1; transform: translateY(0); }
    }

    @keyframes faqIn {
      from { opacity: 0; transform: translateY(-3px); }
      to { opacity: 1; transform: translateY(0); }
    }

    @keyframes popIn {
      from { opacity: 0; transform: translateY(6px) scale(.98); }
      to { opacity: 1; transform: translateY(0) scale(1); }
    }

    @keyframes whatsappPulse {
      0%, 100% { box-shadow: 0 7px 20px rgba(10, 48, 89, .22), 0 0 0 0 rgba(24, 166, 91, .3); }
      55% { box-shadow: 0 7px 20px rgba(10, 48, 89, .22), 0 0 0 10px rgba(24, 166, 91, 0); }
    }

    @media (max-width: 1080px) {
      .header-inner { gap: 18px; }
      .nav-list { gap: 16px; }
      .nav-link, .nav-service-trigger { font-size: 12px; }
      .brand-link { min-width: 150px; max-width: 195px; }
      .header-cta { padding-inline: 14px; }
      .footer-main { grid-template-columns: 1.1fr .8fr 1fr 1fr; gap: 25px; }
    }

    @media (max-width: 900px) {
      :root { --header-height: 74px; }
      .header-inner { gap: 12px; }
      .brand-link { max-width: 205px; height: 58px; }
      .brand-link img { max-height: 54px; }
      .menu-toggle {
        display: inline-flex;
        width: 44px;
        height: 44px;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        color: var(--navy);
        background: transparent;
        border: 1px solid #dce4ee;
        border-radius: 4px;
        cursor: pointer;
      }
      .menu-toggle svg { width: 22px; height: 22px; }
      .header-cta { display: none; }
      .site-nav {
        position: fixed;
        top: var(--header-height);
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1001;
        display: none;
        align-items: stretch;
        overflow-y: auto;
        margin: 0;
        padding: 18px 22px 32px;
        background: var(--white);
        box-shadow: 0 18px 28px rgba(10, 48, 89, .14);
      }
      .site-nav.is-open { display: block; animation: menuIn .24s ease both; }
      .nav-list { display: grid; align-items: stretch; gap: 0; }
      .nav-list > li { border-bottom: 1px solid #e6ecf2; }
      .nav-link, .nav-service-trigger {
        display: flex;
        width: 100%;
        min-height: 54px;
        justify-content: space-between;
        padding: 10px 2px;
        font-size: 15px;
      }
      .nav-link::after, .nav-service-trigger::after { display: none; }
      .nav-dropdown { display: block; }
      .dropdown-menu {
        position: static;
        width: 100%;
        margin: 0 0 12px;
        padding: 5px 10px;
        background: #f6f9fc;
        border: 0;
        border-left: 2px solid var(--gold);
        border-radius: 0;
        box-shadow: none;
        animation: none;
      }
      .dropdown-menu a { min-height: 43px; font-size: 13px; }
      .mobile-cta { display: block; padding-top: 20px; }
      .mobile-cta .btn { width: 100%; }
      .page-hero { min-height: min(660px, calc(100svh - var(--header-height))); }
      .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 38px; }
      .contact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }

    @media (max-width: 680px) {
      .container { width: calc(100% - 34px); }
      .header-inner { gap: 10px; }
      .brand-link { min-width: 0; max-width: min(67vw, 245px); }
      .brand-link img { max-width: 100%; max-height: 52px; }
      .page-hero { min-height: min(720px, calc(100svh - var(--header-height))); align-items: center; }
      .page-hero::after {
        background:
          linear-gradient(90deg, rgba(10, 48, 89, .91), rgba(10, 48, 89, .61)),
          linear-gradient(0deg, rgba(10, 48, 89, .6), transparent 70%);
      }
      .hero-content { padding-top: 58px; padding-bottom: 105px; }
      .hero-brand { margin-bottom: 18px; font-size: 26px; }
      .hero-brand span { font-size: 8px; letter-spacing: .2em; }
      .page-hero h1 { max-width: 600px; font-size: clamp(34px, 9vw, 47px); }
      .page-hero .hero-copy { margin-top: 16px; font-size: 15px; line-height: 1.7; }
      .hero-actions { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 24px; }
      .hero-actions .btn { width: 100%; }
      .hero-foot { bottom: 19px; font-size: 9px; }
      .hero-foot .hero-note { max-width: 80%; }
      .breadcrumbs { margin-top: 22px; font-size: 11px; }
      .section { padding: 66px 0; }
      .section-tight { padding: 52px 0; }
      .section-heading { margin-bottom: 30px; }
      .section-heading h2, .copy-block h2 { font-size: clamp(27px, 7.3vw, 36px); }
      .section-heading > p, .copy-block > p, .section-lead { font-size: 14px; }
      .section-lead { margin-top: -14px; margin-bottom: 27px; }
      .split-layout, .trust-intro, .contact-columns { grid-template-columns: 1fr; gap: 36px; }
      .split-layout.image-first .split-image { order: 0; }
      .split-image { margin-right: 14px; margin-bottom: 13px; }
      .split-image::before { top: 12px; right: -12px; bottom: -12px; left: 12px; }
      .split-image img { aspect-ratio: 1.2; }
      .trust-mark { padding-left: 21px; }
      .trust-mark strong { font-size: 74px; }
      .service-grid { grid-template-columns: 1fr; gap: 15px; }
      .service-card { display: grid; grid-template-columns: 38% 1fr; min-height: 174px; }
      .service-card-image { height: 100%; min-height: 174px; aspect-ratio: auto; }
      .service-card-body { padding: 18px 16px; }
      .service-card-icon { width: 34px; height: 34px; margin-top: -31px; margin-bottom: 11px; border-width: 3px; }
      .service-card-icon svg { width: 14px; height: 14px; }
      .service-card h3 { font-size: 15px; }
      .service-card p { margin: 7px 0 12px; font-size: 12px; line-height: 1.55; }
      .service-card .text-link { font-size: 11px; }
      .process-grid { grid-template-columns: 1fr; gap: 0; margin-top: 34px; }
      .process-step { display: grid; grid-template-columns: 42px 1fr; column-gap: 12px; min-height: 104px; padding: 0 0 18px; }
      .process-step::after { top: 38px; bottom: 0; left: 19px; width: 1px; height: auto; background: linear-gradient(180deg, var(--gold), rgba(179, 139, 50, .14)); transform: scaleY(0); transform-origin: top; }
      .process-grid.is-visible .process-step::after { transform: scaleY(1); }
      .process-step:last-child { min-height: 70px; }
      .process-step:last-child::after { display: none; }
      .process-number { grid-row: span 2; margin: 0; }
      .process-step h3 { align-self: end; font-size: 14px; }
      .process-step p { max-width: none; margin-top: 4px; font-size: 12px; }
      .feature-grid { grid-template-columns: 1fr; }
      .feature-item { min-height: 0; padding: 22px 0 22px 24px; }
      .feature-item::before { top: 29px; }
      .feature-item p { margin-top: 6px; }
      .cta-band { grid-template-columns: 1fr; gap: 25px; padding: 32px 24px; }
      .cta-actions { justify-content: flex-start; }
      .cta-actions .btn { flex: 1 1 100%; }
      .service-directory-tools { grid-template-columns: 1fr; }
      .service-result-count { margin-top: -10px; }
      .service-list { grid-template-columns: 1fr; gap: 0; }
      .service-list-item { grid-template-columns: 32px 1fr; gap: 12px; padding: 19px 0; }
      .service-list-item h3 { font-size: 15px; }
      .value-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
      .value-list li { font-size: 12px; }
      .faq-item summary { min-height: 64px; gap: 15px; font-size: 14px; }
      .faq-answer { padding: 0 6px 20px 0; font-size: 13px; }
      .contact-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
      .contact-card { min-height: 150px; padding: 17px 14px; }
      .contact-card-icon { margin-bottom: 12px; }
      .contact-card strong, .contact-card span.value { font-size: 12px; }
      .contact-intro { position: static; }
      .form-grid { grid-template-columns: 1fr; gap: 13px; }
      .form-field.full { grid-column: auto; }
      .form-actions .btn { flex-basis: 100%; }
      .footer-main { grid-template-columns: 1fr 1fr; gap: 31px 22px; padding: 50px 0 34px; }
      .footer-about { grid-column: 1 / -1; }
      .footer-column h2 { margin-bottom: 14px; font-size: 12px; }
      .footer-links, .footer-contact-list { gap: 9px; }
      .footer-links a, .footer-contact-list a, .footer-contact-list span { font-size: 11px; }
      .footer-bottom-inner { display: grid; gap: 5px; padding: 13px 0; }
      .floating-actions { right: 50%; bottom: calc(12px + env(safe-area-inset-bottom)); flex-direction: row; gap: 7px; padding: 6px; background: rgba(255, 255, 255, .94); border: 1px solid rgba(10, 48, 89, .1); border-radius: 999px; box-shadow: 0 7px 24px rgba(10, 48, 89, .16); transform: translateX(50%); backdrop-filter: blur(12px); }
      .float-button { width: 42px; height: 42px; box-shadow: none; }
      .float-button svg { width: 18px; height: 18px; }
      .float-whatsapp { width: 46px; height: 46px; }
      .float-whatsapp svg { width: 23px; height: 23px; }
      .whatsapp-popover { right: 50%; bottom: 62px; transform: translateX(50%); }
      .back-to-top { bottom: calc(19px + env(safe-area-inset-bottom)); left: 13px; width: 40px; height: 40px; }
      body { padding-bottom: 65px; }
    }

    @media (max-width: 380px) {
      .container { width: calc(100% - 28px); }
      .service-card { grid-template-columns: 34% 1fr; }
      .service-card-body { padding: 15px 13px; }
      .contact-card { padding-inline: 12px; }
      .floating-actions { gap: 5px; }
      .float-button { width: 39px; height: 39px; }
      .float-whatsapp { width: 43px; height: 43px; }
    }

    @keyframes menuIn {
      from { opacity: 0; transform: translateY(-8px); }
      to { opacity: 1; transform: translateY(0); }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
      }
      .motion-enabled [data-reveal] { opacity: 1; transform: none; }
      .motion-enabled [data-reveal] { transition: none; }
    }
  
/* Logo and mobile navigation refinements */
:root { --header-height: 116px; }
.brand-link { min-width: 115px; height: 108px; }
.brand-link img { width: 105px; height: 108px; max-height: 108px; }
.footer-brand-logo { background: transparent; padding: 0; max-width: 220px; }
.footer-brand-logo img { width: 220px; height: auto; max-height: none; max-width: 100%; }
img { max-width: 100%; }
[hidden] { display: none !important; }
@media (max-width: 900px) {
 :root { --header-height: 104px; }
 .brand-link { height: 98px; min-width: 95px; max-width: 150px; }
 .brand-link img { width: 92px; height: 98px; max-height: 98px; }
 .site-nav { position: absolute; top: 100%; bottom: auto; height: calc(100dvh - var(--header-height)); max-height: calc(100dvh - var(--header-height)); overscroll-behavior: contain; padding-bottom: max(32px, env(safe-area-inset-bottom)); }
 .site-nav.is-open { display: block; }
 .dropdown-menu a { white-space: normal; overflow-wrap: anywhere; }
 .header-inner { width: calc(100% - 32px); }
 .menu-toggle { margin-left: auto; }
}
@media (max-width: 480px) {
 .hero-actions { flex-wrap: wrap; }
 .hero-actions .btn { width: 100%; white-space: normal; text-align: center; }
 h1 { overflow-wrap: break-word; }
}


/* Consistent photo framing across matching sections */
.service-grid { align-items: stretch; }
.service-card { height: 100%; overflow: hidden; border-radius: 14px; box-shadow: 0 8px 28px rgba(10,48,89,.07); transition: transform .25s ease, box-shadow .25s ease; }
.service-card:hover { transform: translateY(-5px); box-shadow: 0 16px 36px rgba(10,48,89,.13); }
.service-card-image { width: 100%; height: auto; min-height: 0; aspect-ratio: 16 / 10; overflow: hidden; }
.service-card-image img { display: block; width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; object-position: center; }
.split-image img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: center; border-radius: 14px; }
.hero-photo { width: 100%; height: 100%; object-fit: cover; object-position: center; }
@media (max-width: 600px) {
 .service-card-image { height: auto; min-height: 0; aspect-ratio: 16 / 10; }
 .service-card-image img { height: 100%; }
 .split-image img { aspect-ratio: 4 / 3; }
}

/* Original logo palette: navy, teal and metallic gold */
.btn-gold { background: linear-gradient(115deg, #d1b77e, #f7f2d4 48%, #d1b77e); color: #0a172a; border-color: #d1b77e; }
.btn-gold:hover { background: #e8d49d; color: #0a172a; }
.btn-primary { background: #0a3059; border-color: #0a3059; }
.btn-primary:hover { background: #246783; border-color: #246783; }
.site-header { border-bottom-color: #d1b77e; }
::selection { background: #e8d49d; color: #0a172a; }

/* Final palette and footer treatment matched to the supplied logo */
:root {
 --navy: #0a3059;
 --navy-2: #0a172a;
 --blue: #176582;
 --blue-2: #417391;
 --gold: #b38b32;
 --gold-bright: #e8d49d;
 --paper: #faf8f2;
}
.btn-gold, .btn-gold:hover {
 background: linear-gradient(110deg, #8d6830 0%, #d1b77e 25%, #f7f2d4 48%, #d1b77e 65%, #8d6830 100%);
 color: #0a172a; border-color: #b38b32;
}
.btn-primary { background: linear-gradient(120deg, #0a3059, #176582); border-color: #0a3059; }
.section-navy { background: #0a3059; }
.eyebrow, .text-link { color: #176582; }
.hero-eyebrow { color: #e8d49d; }
.footer { background: #ffffff; color: #0a3059; border-top: 4px solid #b38b32; }
.footer-main { align-items: start; }
.footer-brand-logo { display: flex; width: 230px; max-width: 100%; padding: 0; margin: 0 0 20px; background: #fff; min-height: 0; }
.footer-brand-logo img { display: block; width: 100%; height: auto; max-height: none; max-width: 100%; object-fit: contain; }
.footer-about p, .footer-links a, .footer-contact-list a, .footer-contact-list span { color: #354f64; }
.footer-column h2 { color: #0a3059; }
.footer-experience, .footer-contact-list svg { color: #8d6830; }
.footer-links a:hover, .footer-contact-list a:hover { color: #8d6830; }
.footer-socials a { color: #0a3059; border-color: #d1b77e; background: #faf8f2; }
.footer-socials a:hover { color: #fff; background: #0a3059; }
.footer-bottom { background: #0a3059; border-top: 1px solid #b38b32; color: #fff; }
.footer-bottom-inner, .footer-bottom-inner p, .footer-promise { color: #fff; }
@media (max-width: 600px) {
 .footer-brand-logo { width: 210px; margin: 0 auto 22px; }
 .footer-about p { max-width: none; }
}

/* Blue footer with a compact original logo */
.footer { background: #0a3059; color: #ffffff; border-top: 3px solid #b38b32; }
.footer-brand-logo { width: 156px; max-width: 100%; padding: 8px; background: #ffffff; border-radius: 8px; margin: 0 0 18px; }
.footer-brand-logo img { width: 100%; height: auto; max-height: none; object-fit: contain; }
.footer-about p, .footer-links a, .footer-contact-list a, .footer-contact-list span { color: #e1e8ef; }
.footer-column h2 { color: #ffffff; }
.footer-experience, .footer-contact-list svg { color: #e8d49d; }
.footer-links a:hover, .footer-contact-list a:hover { color: #e8d49d; }
.footer-socials a { color: #ffffff; border-color: #d1b77e; background: transparent; }
.footer-socials a:hover { color: #0a3059; background: #e8d49d; }
@media (max-width: 600px) { .footer-brand-logo { width: 145px; margin: 0 0 18px; } }

/* Horizontal logo in the navigation */
.brand-link { width: 310px; min-width: 0; max-width: 310px; height: 106px; }
.brand-link img { width: 100%; height: auto; max-height: 106px; object-fit: contain; }
@media (min-width: 901px) and (max-width: 1100px) { .brand-link { width: 245px; } .header-inner { gap: 14px; } }
@media (max-width: 900px) { .brand-link { width: 260px; max-width: calc(100% - 60px); height: 94px; } .brand-link img { width: 100%; height: auto; max-height: 94px; } }
