/*! Lebridge theme styles — ported 1:1 from the Lebridge React build (globals.css + refinement.css). */
@layer lb-base, lb-components;
/* Tailwind CSS v4 preflight (MIT) */
@layer lb-base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}
/* UI primitives — mirrors the shadcn/ui components used by the original build */
@layer lb-components {
  .lb-btn {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    border-radius: .375rem;
    font-size: .875rem;
    line-height: calc(1.25 / .875);
    font-weight: 500;
    white-space: nowrap;
    transition: all .15s cubic-bezier(.4, 0, .2, 1);
    outline: none;
    height: 2.25rem;
    padding: .5rem 1rem;
    cursor: pointer;
    background: var(--primary);
    color: var(--primary-foreground);
  }
  .lb-btn:hover { background: color-mix(in oklab, var(--primary) 90%, transparent); }
  .lb-btn:focus-visible { border-color: var(--ring); box-shadow: 0 0 0 3px color-mix(in oklab, var(--ring) 50%, transparent); }
  .lb-btn:disabled, .lb-btn[aria-disabled="true"] { pointer-events: none; opacity: .5; }
  .lb-btn svg { pointer-events: none; flex-shrink: 0; width: 1rem; height: 1rem; }
  .lb-btn--ghost { background: transparent; color: inherit; }
  .lb-btn--ghost:hover { background: var(--accent); color: var(--accent-foreground); }
  .lb-btn--outline { background: var(--background); color: var(--foreground); border: 1px solid currentColor; box-shadow: 0 1px 2px 0 #0000000d; }
  .lb-btn--outline:hover { background: var(--accent); color: var(--accent-foreground); }

  .lb-select-wrap { position: relative; width: fit-content; }
  .lb-select-wrap:has(select:disabled) { opacity: .5; }
  .lb-select {
    height: 2.25rem; width: 100%; min-width: 0;
    appearance: none; -webkit-appearance: none;
    border-radius: .375rem; border: 1px solid var(--input);
    background: transparent;
    padding: .5rem 2.25rem .5rem .75rem;
    font-size: .875rem; line-height: calc(1.25 / .875);
    box-shadow: 0 1px 2px 0 #0000000d;
    transition: color .15s, box-shadow .15s;
    outline: none; cursor: pointer;
  }
  .lb-select:focus-visible { border-color: var(--ring); box-shadow: 0 0 0 3px color-mix(in oklab, var(--ring) 50%, transparent); }
  .lb-select-icon {
    pointer-events: none; position: absolute; top: 50%; right: .875rem;
    width: 1rem; height: 1rem; transform: translateY(-50%);
    color: var(--muted-foreground); opacity: .5; user-select: none;
  }

  .lb-input, .lb-textarea {
    width: 100%; min-width: 0;
    border-radius: .375rem; border: 1px solid var(--input);
    background: transparent;
    padding: .25rem .75rem;
    font-size: 1rem; line-height: 1.5rem;
    box-shadow: 0 1px 2px 0 #0000000d;
    transition: color .15s, box-shadow .15s;
    outline: none;
  }
  .lb-input { height: 2.25rem; }
  .lb-textarea { display: flex; min-height: 4rem; padding: .5rem .75rem; field-sizing: content; }
  .lb-input::placeholder, .lb-textarea::placeholder { color: var(--muted-foreground); }
  .lb-input:focus-visible, .lb-textarea:focus-visible { border-color: var(--ring); box-shadow: 0 0 0 3px color-mix(in oklab, var(--ring) 50%, transparent); }
  .lb-input::selection, .lb-textarea::selection { background: var(--primary); color: var(--primary-foreground); }
  .lb-input[type=file] { cursor: pointer; }
  .lb-input::file-selector-button { display: inline-flex; height: 1.75rem; border: 0; background: transparent; font-size: .875rem; font-weight: 500; color: var(--foreground); }
  @media (min-width: 768px) { .lb-input, .lb-textarea { font-size: .875rem; line-height: calc(1.25 / .875); } }

  .lb-checkbox {
    appearance: none; -webkit-appearance: none;
    width: 1rem; height: 1rem; flex-shrink: 0;
    border-radius: 4px; border: 1px solid var(--input);
    box-shadow: 0 1px 2px 0 #0000000d;
    transition: box-shadow .15s; outline: none; cursor: pointer;
    background: transparent center / 14px 14px no-repeat;
  }
  .lb-checkbox:checked {
    border-color: var(--primary); background-color: var(--primary);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230c1425' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
  }
  .lb-checkbox:focus-visible, .lb-radio:focus-visible { border-color: var(--ring); box-shadow: 0 0 0 3px color-mix(in oklab, var(--ring) 50%, transparent); }

  .lb-radio {
    appearance: none; -webkit-appearance: none;
    width: 1rem; height: 1rem; aspect-ratio: 1; flex-shrink: 0;
    border-radius: 9999px; border: 1px solid var(--input);
    color: var(--primary);
    box-shadow: 0 1px 2px 0 #0000000d;
    outline: none; cursor: pointer; display: grid; place-items: center;
  }
  .lb-radio::before { content: ""; width: .5rem; height: .5rem; border-radius: 50%; background: var(--primary); transform: scale(0); transition: transform .1s; }
  .lb-radio:checked::before { transform: scale(1); }

  .lb-icon { display: inline-block; }
  .lb-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
}

/* ===== globals.css ===== */
:root {
  --background: #0c1425;
  --foreground: #f5f6fa;
  --card: #142035;
  --card-foreground: #f5f6fa;
  --popover: #142035;
  --popover-foreground: #f5f6fa;
  --primary: #d7a647;
  --primary-foreground: #0c1425;
  --secondary: #1b2a41;
  --secondary-foreground: #f5f6fa;
  --muted: #162239;
  --muted-foreground: #b6c0d0;
  --accent: #23344e;
  --accent-foreground: #fff;
  --destructive: #f58c89;
  --border: #2b3548;
  --input: #3c4960;
  --ring: #d7a647;
  --radius: 0.4rem;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 110px;
}
body {
  margin: 0;
  background: var(--background);
  color: var(--foreground);
  font-family: Arial, "Noto Sans Georgian", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
h1,
h2,
h3,
p {
  margin-top: 0;
}
h1,
h2,
h3 {
  font-weight: 600;
  letter-spacing: -0.035em;
  line-height: 1.15;
}
p {
  color: var(--muted-foreground);
}
a, .elementor a {
  color: inherit;
  text-decoration: none;
}
button, a, input, select, textarea, .elementor a {
  outline-offset: 5px;
}
a:focus-visible, .elementor a:focus-visible {
  outline: 2px solid var(--primary);
}
img, .elementor img {
  display: block;
  max-width: 100%;
}
h1 {
  font-size: clamp(2.5rem, 5vw, 4.8rem);
}
h2 {
  font-size: clamp(2rem, 3.2vw, 3.5rem);
}
h3 {
  font-size: 1.35rem;
}
main {
  overflow: hidden;
}
.preview-banner {
  padding: 8px 4vw;
  background: #202d44;
  color: #d6dfec;
  font-size: 0.8rem;
  text-align: center;
}
.site-header {
  height: 100px;
  background: #0c1425;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 4vw;
  gap: 26px;
  border-bottom: 1px solid var(--border);
  position: relative;
  z-index: 20;
}
.brand {
  display: inline-block;
  flex-shrink: 0;
  width: 145px;
}
.brand img, .elementor .brand img {
  width: 100%;
  height: 54px;
  object-fit: contain;
}
.nav {
  display: flex;
  gap: 24px;
  align-items: center;
}
.nav a, .elementor .nav a {
  font-size: 0.9rem;
  color: #d7deea;
  white-space: nowrap;
}
.nav a:hover, .elementor .nav a:hover {
  color: var(--primary);
}
.header-actions {
  display: flex;
  gap: 18px;
  align-items: center;
}
.header-actions [data-slot="native-select-wrapper"] {
  width: 75px;
}
.header-actions select {
  border: none !important;
  padding-left: 0 !important;
  font-weight: 600;
}
[data-slot="button"] {
  font-size: 1rem !important;
  min-height: 48px;
  padding: 12px 22px !important;
  border-radius: 3px !important;
  height: auto !important;
}
.gold {
  background: var(--primary) !important;
  color: #0c1425 !important;
  font-weight: 600 !important;
}
.gold:hover {
  background: #e7ba64 !important;
}
.mobile-menu {
  display: none !important;
}
.hero {
  position: relative;
  min-height: 680px;
  display: flex;
  align-items: center;
  padding: 90px 7vw;
}
.hero-image, .hero-shade, .elementor .hero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 65% center;
}
.hero-shade {
  background:
    linear-gradient(
      90deg,
      rgba(7, 17, 32, 0.96) 0%,
      rgba(7, 17, 32, 0.83) 35%,
      rgba(7, 17, 32, 0.13) 80%
    ),
    linear-gradient(0deg, rgba(7, 17, 32, 0.5), transparent 40%);
}
.hero-content {
  position: relative;
  max-width: 680px;
}
.eyebrow {
  text-transform: uppercase;
  color: var(--primary);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  margin-bottom: 25px;
}
.hero h1 {
  font-size: clamp(3.4rem, 6.5vw, 7rem);
  line-height: 1.02;
  margin-bottom: 32px;
}
.hero h1 span {
  color: var(--primary);
}
.hero-intro {
  max-width: 540px;
  color: #d9e0eb;
  font-size: 1.15rem;
  line-height: 1.7;
}
.button-row {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-top: 35px;
}
.text-link {
  font-size: 1rem;
  border-bottom: 1px solid #acb5c2;
  padding-bottom: 4px;
}
.hero-number {
  position: absolute;
  right: 6vw;
  bottom: 40px;
  letter-spacing: 0.25em;
  font-weight: bold;
  color: #fff;
  line-height: 1.5;
}
.hero-number span {
  font-size: 0.75rem;
  letter-spacing: 0.16em;
  font-weight: normal;
}
.trust-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
  padding: 25px 7vw;
  border-bottom: 1px solid var(--border);
  background: #101b2d;
}
.trust-strip > span {
  display: flex;
  align-items: center;
  gap: 18px;
  font-size: 0.95rem;
}
.tiny-number {
  font-size: 0.75rem;
  color: var(--primary);
  letter-spacing: 0.1em;
}
.section {
  padding: 100px 7vw;
}
.section-heading {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 70px;
  align-items: end;
  margin-bottom: 48px;
}
.section-heading h2 {
  margin-bottom: 0;
  max-width: 650px;
}
.section-heading > p {
  margin: 0;
  max-width: 450px;
}
.service-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.service-card {
  background: #142035;
  border: 1px solid #263249;
  transition:
    transform 0.2s,
    border-color 0.2s;
  display: flex;
  flex-direction: column;
}
.service-card:hover {
  transform: translateY(-5px);
  border-color: #aa8440;
}
.service-image {
  height: 225px;
  position: relative;
  overflow: hidden;
}
.service-image img, .elementor .service-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s;
}
.service-card:hover img, .elementor .service-card:hover img {
  transform: scale(1.03);
}
.service-index {
  position: absolute;
  top: 16px;
  left: 16px;
  background: #0b1526d9;
  color: #e7b85e;
  padding: 5px 10px;
  font-size: 0.8rem;
}
.service-copy {
  padding: 26px;
  flex: 1;
}
.service-copy h3 {
  line-height: 1.25;
  margin-bottom: 14px;
}
.service-copy p {
  font-size: 0.95rem;
  margin-bottom: 22px;
}
.service-line {
  display: block;
  background: var(--primary);
  width: 35px;
  height: 2px;
}
.split-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7vw;
  align-items: center;
  background: #111d30;
}
.company-photo {
  position: relative;
}
.company-photo img, .elementor .company-photo img {
  height: 540px;
  width: 100%;
  object-fit: cover;
  object-position: 73% center;
}
.photo-caption {
  position: absolute;
  bottom: 0;
  background: #0c1425e0;
  padding: 18px 22px;
  color: #d7a647;
  font-size: 0.8rem;
  letter-spacing: 0.14em;
}
.split-copy h2 {
  max-width: 650px;
}
.check-list {
  list-style: none;
  padding: 0;
  margin: 30px 0;
  display: grid;
  gap: 15px;
}
.check-list li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.check-list svg {
  width: 20px;
  min-width: 20px;
  color: var(--primary);
  margin-top: 4px;
}
.why h2 {
  max-width: 700px;
}
.why-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  margin-top: 50px;
}
.why-grid article {
  border-top: 1px solid var(--border);
  padding-top: 28px;
}
.why-grid svg {
  color: var(--primary);
  width: 32px;
  height: 32px;
  margin-bottom: 30px;
}
.why-grid p {
  font-size: 0.95rem;
}
.process {
  background: #e9edf2;
  color: #111c2d;
}
.process .eyebrow {
  color: #8d631e;
}
.process p {
  color: #4d5b6e;
}
.process h2 {
  max-width: 800px;
}
.process-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  margin-top: 55px;
}
.process-number {
  font-size: 3.3rem;
  line-height: 1;
  color: #8c682a;
  border-bottom: 1px solid #bac3cf;
  padding-bottom: 30px;
  margin-bottom: 26px;
}
.process-grid h3 {
  font-size: 1.5rem;
}
.specialists {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 8vw;
  align-items: center;
  background: #152238;
}
.specialists p {
  max-width: 580px;
}
.specialists .gold {
  margin-top: 18px;
}
.small-note {
  font-size: 0.875rem;
  margin-top: 24px;
}
.worker-photo img, .elementor .worker-photo img {
  height: 470px;
  width: 100%;
  object-fit: cover;
}
.about > div {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 7vw;
  align-items: start;
}
.about h2 {
  max-width: 650px;
}
.founder {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 35px;
  color: #b6c0d0;
  font-size: 0.9rem;
}
.founder strong {
  color: #fff;
  font-size: 1.05rem;
}
.founder-monogram {
  width: 52px;
  height: 52px;
  border: 1px solid #75613b;
  display: grid;
  place-items: center;
  color: var(--primary);
  font-size: 1.1rem;
}
.final-cta {
  background: #d7a647;
  color: #0c1425;
  padding: 70px 7vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 65px;
}
.final-cta h2 {
  max-width: 850px;
}
.final-cta .eyebrow,
.final-cta p {
  color: #3d321c;
}
.final-cta p:last-child {
  margin: 0;
}
.navy-button {
  background: #0c1425 !important;
  color: #fff !important;
  flex-shrink: 0;
}
footer {
  padding: 65px 7vw 25px;
  background: #091120;
}
footer p {
  font-size: 0.9rem;
}
footer h3 {
  font-size: 1rem;
  margin-bottom: 25px;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 65px;
}
.footer-grid > div > a:not(.brand), .elementor .footer-grid > div > a:not(.brand) {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 10px;
  font-size: 0.9rem;
  color: #b6c0d0;
}
.footer-grid .brand {
  margin-bottom: 22px;
}
.footer-bottom {
  margin-top: 55px;
  padding-top: 25px;
  border-top: 1px solid var(--border);
  display: flex;
  justify-content: space-between;
  gap: 25px;
  font-size: 0.85rem;
  color: #9caabd;
}
.footer-bottom > div {
  display: flex;
  gap: 25px;
}
.enquiry-main {
  max-width: 1050px;
  margin: 0 auto;
  padding: 65px 25px 100px;
}
.form-heading h1 {
  font-size: clamp(2.2rem, 4vw, 3.5rem);
}
.form-heading > p:last-child {
  max-width: 650px;
}
.steps {
  list-style: none;
  padding: 0;
  display: flex;
  gap: 25px;
  margin: 40px 0 30px;
  justify-content: space-between;
}
.steps li {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #8fa0b9;
  font-size: 0.95rem;
  flex: 1;
  padding-bottom: 20px;
  border-bottom: 2px solid var(--border);
}
.steps span {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  border: 1px solid var(--border);
  border-radius: 50%;
}
.steps .active {
  color: #efc476;
  border-color: var(--primary);
}
.steps .active span,
.steps .done span {
  background: var(--primary);
  color: #0c1425;
}
.form-panel {
  padding: 45px;
  background: #142035;
  border: 1px solid #2b3548;
}
.form-panel h2 {
  font-size: 1.8rem;
  margin-bottom: 30px;
}
.type-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 20px !important;
}
.type-card {
  display: block;
  border: 1px solid #40506a;
  padding: 30px;
  cursor: pointer;
  position: relative;
}
.type-card.selected {
  border-color: var(--primary);
  background: #1a2b41;
}
.type-card > svg {
  color: var(--primary);
  width: 36px;
  height: 36px;
  margin-bottom: 25px;
}
.type-card h2 {
  font-size: 1.6rem;
  margin-bottom: 16px;
}
.type-card p {
  font-size: 0.95rem;
}
.type-card > [data-slot="radio-group-item"] {
  position: absolute;
  top: 30px;
  right: 25px;
}
.fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}
.field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 0.95rem;
}
.field > span {
  color: #dde4ee;
}
.full {
  grid-column: 1/-1;
}
.field input,
.field select,
.field textarea {
  font-size: 1rem !important;
  min-height: 48px;
  background: #0e192c;
  border: 1px solid #42506a;
  border-radius: 3px;
}
.field textarea {
  min-height: 140px;
}
.field [data-slot="native-select-wrapper"] {
  width: 100%;
}
.field select option {
  background: #0e192c;
  color: #fff;
}
.trade-fields {
  margin: 8px 0;
  padding: 20px;
  border: 1px solid #3c4960;
}
.trade-fields legend {
  padding: 0 10px;
  font-size: 0.95rem;
}
.trade-fields > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.trade-fields label {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 0.95rem;
}
.upload-area {
  margin-top: 30px;
  background: #0e192c;
  padding: 24px;
  border: 1px dashed #536079;
}
.upload-button {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
  font-size: 1rem;
}
.upload-button svg {
  color: var(--primary);
}
.upload-button input {
  width: 100%;
  margin-top: 12px;
  height: auto;
  padding: 10px;
}
.upload-area p {
  font-size: 0.875rem;
  margin: 14px 0 0;
}
.file-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 10px;
  font-size: 0.85rem;
  overflow-wrap: anywhere;
}
.form-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--border);
  padding-top: 25px;
  margin-top: 35px;
  gap: 20px;
}
.review {
  margin-bottom: 30px;
}
.review > div {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 20px;
  padding: 12px 0;
  border-bottom: 1px solid #2e3b50;
}
.review dt {
  color: #aab8cc;
  font-size: 0.95rem;
}
.review dd {
  margin: 0;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}
.consents {
  display: grid;
  gap: 22px;
  margin-top: 35px;
}
.consents label {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  font-size: 0.95rem;
}
.consents label [data-slot="checkbox"] {
  margin-top: 5px;
}
.consents a, .elementor .consents a {
  text-decoration: underline;
  color: #e6b960;
}
.error-message {
  color: #ffb1a9;
  padding: 14px 18px;
  border: 1px solid #884540;
  margin-top: 25px;
}
.success {
  text-align: center;
  padding: 75px 30px;
}
.success > svg {
  height: 60px;
  width: 60px;
  color: var(--primary);
  margin: 0 auto 30px;
}
.success code {
  display: block;
  overflow-wrap: anywhere;
  color: #efc476;
  margin-bottom: 30px;
}
.legal {
  max-width: 1050px;
  margin: auto;
}
.legal h1 {
  margin-bottom: 35px;
}
.legal h2 {
  font-size: 1.5rem;
  margin-top: 40px;
}
.legal p {
  max-width: 800px;
}
.legal a, .elementor .legal a {
  text-decoration: underline;
}
.draft-note {
  padding: 25px;
  border: 1px solid #826c3e;
  background: #252539;
  color: #efc476;
  font-size: 0.95rem;
  margin-bottom: 40px;
}
.service-detail {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
}
.service-detail h1 {
  font-size: clamp(2.7rem, 4.5vw, 4.5rem);
}
.service-detail img, .elementor .service-detail img {
  height: 550px;
  width: 100%;
  object-fit: cover;
}
.admin article {
  border: 1px solid var(--border);
  padding: 30px;
  margin-top: 25px;
}
.admin h2 {
  font-size: 1.6rem;
}
.admin pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: 0.9rem;
}
.admin details {
  margin-top: 20px;
}
.admin summary {
  cursor: pointer;
}
.admin a, .elementor .admin a {
  text-decoration: underline;
}
@media (min-width: 1600px) {
.section,
  .hero,
  .trust-strip,
  .final-cta,
  footer {
    padding-left: max(7vw, calc((100vw - 1400px) / 2));
    padding-right: max(7vw, calc((100vw - 1400px) / 2));
  }
}
@media (max-width: 1150px) {
.site-header {
    gap: 18px;
  }
.nav {
    gap: 16px;
  }
.nav a, .elementor .nav a {
    font-size: 0.85rem;
  }
.header-actions .desktop-cta {
    display: none !important;
  }
.service-grid {
    gap: 18px;
  }
.section {
    padding: 80px 5vw;
  }
.section-heading {
    gap: 35px;
  }
.hero {
    padding-left: 5vw;
  }
.trust-strip {
    padding-left: 5vw;
    padding-right: 5vw;
  }
.why-grid {
    gap: 22px;
  }
.split-section {
    gap: 5vw;
  }
.hero h1 {
    font-size: 5.5rem;
  }
}
@media (max-width: 850px) {
.site-header {
    height: 85px;
  }
.mobile-menu {
    display: inline-flex !important;
    padding: 8px !important;
  }
.nav {
    display: none;
    position: absolute;
    top: 85px;
    left: 0;
    right: 0;
    background: #111d30;
    padding: 25px 5vw;
    box-shadow: 0 20px 30px #0004;
  }
.nav.open {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 22px;
  }
.nav a, .elementor .nav a {
    font-size: 1rem;
  }
.hero {
    min-height: 600px;
    padding: 70px 6vw;
  }
.hero h1 {
    font-size: clamp(3.2rem, 8vw, 5rem);
  }
.hero-intro {
    max-width: 480px;
  }
.hero-shade {
    background: linear-gradient(90deg, #071120f2, #071120b3 65%, #07112077);
  }
.hero-image, .elementor .hero-image {
    object-position: 72% center;
  }
.hero-number {
    display: none;
  }
.trust-strip {
    gap: 15px;
  }
.trust-strip > span {
    font-size: 0.85rem;
    gap: 10px;
  }
.section-heading {
    grid-template-columns: 1fr;
    gap: 25px;
  }
.section-heading > p {
    max-width: 650px;
  }
.service-grid {
    grid-template-columns: repeat(2, 1fr);
  }
.split-section {
    grid-template-columns: 1fr;
    gap: 45px;
  }
.company-photo img, .elementor .company-photo img {
    height: 400px;
  }
.why-grid {
    grid-template-columns: 1fr 1fr;
    gap: 35px;
  }
.process-grid {
    grid-template-columns: 1fr 1fr;
  }
.specialists {
    grid-template-columns: 1fr;
    gap: 45px;
  }
.worker-photo img, .elementor .worker-photo img {
    height: 380px;
  }
.about > div {
    grid-template-columns: 1fr;
    gap: 20px;
  }
.final-cta {
    align-items: flex-start;
    flex-direction: column;
    gap: 30px;
  }
.footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 35px;
  }
.footer-grid > div:first-child {
    grid-column: 1/-1;
  }
.service-detail {
    grid-template-columns: 1fr;
    gap: 40px;
  }
.service-detail img, .elementor .service-detail img {
    height: 450px;
  }
}
@media (max-width: 540px) {
.preview-banner {
    font-size: 0.75rem;
    padding: 7px 15px;
  }
.site-header {
    padding: 0 20px;
  }
.brand {
    width: 125px;
  }
.header-actions {
    gap: 5px;
  }
.hero {
    min-height: 620px;
    padding: 65px 25px;
  }
.hero h1 {
    font-size: clamp(2.9rem, 10vw, 4rem);
  }
.hero-intro {
    font-size: 1rem;
  }
.eyebrow {
    font-size: 0.75rem;
    letter-spacing: 0.1em;
  }
.button-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 25px;
  }
.trust-strip {
    grid-template-columns: 1fr;
    padding: 25px;
    gap: 12px;
  }
.trust-strip > span {
    font-size: 0.9rem;
  }
.section {
    padding: 65px 25px;
  }
.section h2 {
    font-size: 2.1rem;
  }
.service-grid {
    grid-template-columns: 1fr;
  }
.service-image {
    height: 240px;
  }
.company-photo img, .elementor .company-photo img {
    height: 330px;
  }
.why-grid {
    gap: 25px;
  }
.why-grid h3 {
    font-size: 1.15rem;
  }
.why-grid p {
    font-size: 0.9rem;
  }
.process-grid {
    gap: 22px;
  }
.process-grid h3 {
    font-size: 1.15rem;
  }
.process-grid p {
    font-size: 0.9rem;
  }
.worker-photo img, .elementor .worker-photo img {
    height: 330px;
  }
.final-cta {
    padding: 55px 25px;
  }
footer {
    padding: 55px 25px 25px;
  }
.footer-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
.footer-grid > div:first-child {
    grid-column: auto;
  }
.footer-bottom {
    flex-direction: column;
    gap: 18px;
  }
.footer-bottom > div {
    gap: 20px;
    flex-wrap: wrap;
  }
.form-panel {
    padding: 25px 20px;
  }
.enquiry-main {
    padding: 45px 20px 70px;
  }
.steps {
    gap: 12px;
  }
.steps li {
    font-size: 0.8rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
.steps span {
    width: 28px;
    height: 28px;
  }
.type-grid {
    grid-template-columns: 1fr;
  }
.type-card {
    padding: 25px;
  }
.fields {
    grid-template-columns: 1fr;
  }
.trade-fields > div {
    grid-template-columns: 1fr;
  }
.review > div {
    grid-template-columns: 1fr;
    gap: 5px;
  }
.form-actions [data-slot="button"] {
    padding: 12px 18px !important;
  }
.service-detail img, .elementor .service-detail img {
    height: 350px;
  }
.consents label {
    font-size: 0.9rem;
  }
html[lang="ka"] h1 {
    line-height: 1.18;
    letter-spacing: -0.02em;
  }
html[lang="ka"] h2 {
    line-height: 1.25;
    letter-spacing: -0.015em;
  }
}
@media (prefers-reduced-motion: reduce) {
html {
    scroll-behavior: auto;
  }
* {
    transition: none !important;
  }
}

/* ===== refinement.css ===== */
/* Lebridge: original light masthead, navy field and gold accents. */
:root {
  --primary: #cf9b3e;
  --ring: #cf9b3e;
}
.contact-bar {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 8px 5vw;
  background: #142443;
  font-size: 0.75rem;
  letter-spacing: 0.02em;
  color: #d1d9e7;
}
.contact-bar > div {
  display: flex;
  gap: 25px;
}
.bar-divider {
  color: #b38337;
  margin: 0 12px;
}
.site-header {
  height: 92px;
  padding: 0 5vw;
  background: #fff;
  color: #13233d;
  border-bottom: 0;
  position: sticky;
  top: 0;
  box-shadow: 0 2px 14px #0713280d;
}
.site-header .brand {
  width: 142px;
}
.nav a, .elementor .nav a {
  color: #39485f;
  font-size: 0.85rem;
  font-weight: 500;
}
.nav a:hover, .elementor .nav a:hover {
  color: #966515;
}
.header-actions {
  gap: 19px;
}
.language-control {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #4b5668;
}
.language-control [data-slot="native-select-wrapper"] {
  width: 59px;
}
.language-control select {
  font-size: 0.8rem !important;
  color: #25364f;
  padding-right: 20px !important;
}
.language-control select option {
  background: #fff;
  color: #13233d;
}
.header-actions .gold {
  font-size: 0.85rem !important;
  padding: 14px 19px !important;
}
.mobile-menu {
  color: #13233d;
}
.hero-shell {
  position: relative;
  background: #0c1628;
}
.hero-carousel {
  width: 100%;
  overflow: hidden;
}
.hero {
  height: 650px;
  min-height: 650px;
  padding: 75px 7vw 110px;
  isolation: isolate;
}
.hero-image, .elementor .hero-image {
  object-position: 72% center;
}
.hero-slide-1 .hero-image, .elementor .hero-slide-1 .hero-image {
  object-position: 65% center;
}
.hero-shade {
  background:
    linear-gradient(
      90deg,
      #09182de8 0%,
      #0a192dcc 35%,
      #0a192d35 75%,
      #0a192d1a
    ),
    linear-gradient(0deg, #081326b3 0%, transparent 35%);
  z-index: 0;
}
.hero-content {
  max-width: 720px;
}
.hero-content .eyebrow {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 28px;
  color: #e1b462;
}
.hero-content .eyebrow > span {
  height: 1px;
  width: 28px;
  background: #d7a647;
  flex-shrink: 0;
}
.hero h1,
.hero .hero-title {
  font-size: clamp(2.7rem, 4.45vw, 4.8rem);
  font-weight: 600;
  line-height: 1.13;
  letter-spacing: -0.04em;
  margin: 0 0 27px;
}
.hero h1 span,
.hero .hero-title span {
  color: #e3b15d;
}
.hero-intro {
  max-width: 530px;
  font-size: 1.06rem;
  line-height: 1.7;
  color: #e0e4ec;
  margin-bottom: 0;
}
.hero .button-row {
  gap: 23px;
  margin-top: 31px;
  flex-wrap: wrap;
}
.hero .gold {
  box-shadow: 0 5px 20px #0002;
  border: 1px solid #e4b260;
}
.hero-secondary {
  font-size: 0.95rem;
  color: #fff;
  padding: 12px 0;
  border-bottom: 1px solid #ffffff65;
}
.hero-side-label {
  position: absolute;
  right: 33px;
  top: 50%;
  writing-mode: vertical-rl;
  letter-spacing: 0.25em;
  font-size: 0.72rem;
  color: #d9e0eac7;
}
.slide-navigation {
  position: absolute;
  bottom: 0;
  left: 7vw;
  right: 7vw;
  display: flex;
  gap: 45px;
  max-width: 730px;
  z-index: 2;
}
.slide-navigation button {
  appearance: none;
  border: none;
  border-top: 2px solid #ffffff35;
  background: transparent;
  color: #bbc7d6;
  padding: 21px 0 24px;
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 1;
  text-align: left;
  cursor: pointer;
  font-size: 0.88rem;
}
.slide-navigation button > span {
  font-size: 0.72rem;
  color: #c3a571;
}
.slide-navigation button.selected {
  border-color: #deb360;
  color: #fff;
}
.slide-navigation button:focus-visible {
  outline: 2px solid #e3b15d;
  outline-offset: -4px;
}
.audience-paths {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: #152440;
  border-bottom: 1px solid #ffffff15;
}
.audience-card {
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 34px 5vw;
  transition: background 0.2s;
}
.audience-card:first-child {
  border-right: 1px solid #ffffff18;
  padding-left: 7vw;
}
.audience-card:last-child {
  padding-right: 7vw;
}
.audience-card:hover {
  background: #1a2e4c;
}
.audience-icon {
  width: 54px;
  height: 54px;
  flex-shrink: 0;
  border: 1px solid #d0a35850;
  display: grid;
  place-items: center;
  color: #d7ad64;
}
.audience-icon svg {
  width: 27px;
  height: 27px;
}
.audience-card .eyebrow {
  font-size: 0.67rem;
  margin: 0;
  letter-spacing: 0.09em;
  color: #d0a45b;
}
.audience-card h2 {
  font-size: 1.25rem;
  margin: 5px 0 8px;
  letter-spacing: -0.01em;
}
.audience-card p {
  font-size: 0.85rem;
  color: #bac6d7;
  margin: 0;
  line-height: 1.6;
  max-width: 340px;
}
.audience-action {
  display: none;
}
.section {
  padding-top: 90px;
  padding-bottom: 90px;
}
.section-heading {
  gap: 60px;
  margin-bottom: 42px;
  grid-template-columns: 1.1fr 1fr;
}
.section-heading h2 {
  font-size: clamp(2rem, 3vw, 3.2rem);
  max-width: 550px;
}
.section-heading > p {
  font-size: 0.96rem;
}
.services {
  background: #f5f6f8;
  color: #14223b;
}
.services .eyebrow {
  color: #946820;
}
.services .section-heading > p {
  color: #677286;
}
.service-grid {
  gap: 28px;
}
.service-card {
  background: white;
  border: 1px solid #e0e4eb;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 8px 20px #10213b04;
}
.service-card:hover {
  border-color: #d0a766;
  box-shadow: 0 18px 32px #10213b0d;
}
.service-image {
  height: auto;
  aspect-ratio: 1.85;
}
.service-image img, .elementor .service-image img {
  object-fit: cover;
}
.service-index {
  background: #fff;
  color: #846020;
  border-radius: 3px;
  top: auto;
  bottom: 15px;
  left: 20px;
  font-weight: 600;
  padding: 3px 10px;
}
.service-copy {
  padding: 24px;
}
.service-copy h3 {
  font-size: 1.27rem;
  letter-spacing: -0.025em;
  min-height: 2.55em;
}
.service-copy p {
  font-size: 0.9rem;
  color: #687489;
  margin-bottom: 24px;
  line-height: 1.6;
}
.service-more {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  font-size: 0.82rem;
  font-weight: 600;
  color: #8b601c;
  border-top: 1px solid #e6e9ee;
  padding-top: 18px;
}
.service-more .service-line {
  width: 28px;
  background: #c19445;
  height: 1px;
}
.company {
  background: #0d172a;
  gap: 7vw;
  padding-top: 110px;
  padding-bottom: 110px;
}
.split-copy h2 {
  font-size: clamp(2rem, 3vw, 3.2rem);
  line-height: 1.2;
}
.split-copy > p:not(.eyebrow) {
  font-size: 0.96rem;
}
.check-list {
  font-size: 0.94rem;
  gap: 14px;
  margin: 28px 0 34px;
}
.company-collage {
  position: relative;
  height: 520px;
  max-width: 620px;
  isolation: isolate;
}
.company-collage:before {
  content: "";
  position: absolute;
  left: -24px;
  top: 26px;
  width: 140px;
  height: 220px;
  border-left: 1px solid #b5893e;
  border-top: 1px solid #b5893e;
  z-index: -1;
}
.collage-main {
  height: 385px;
  overflow: hidden;
  border-radius: 12px 12px 60px 12px;
  width: 87%;
}
.collage-main img, .elementor .collage-main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 42% center;
}
.collage-detail {
  width: 62%;
  height: 225px;
  border: 9px solid #0d172a;
  border-radius: 12px;
  overflow: hidden;
  position: absolute;
  bottom: 0;
  right: 0;
}
.collage-detail img, .elementor .collage-detail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 60% center;
}
.collage-signature {
  position: absolute;
  left: 0;
  bottom: 12px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  color: #cba465;
  max-width: 35%;
  font-size: 0.7rem;
  letter-spacing: 0.1em;
}
.collage-signature strong {
  font-size: 4.3rem;
  line-height: 1;
  letter-spacing: -0.04em;
  color: #ead9b9;
  font-weight: 400;
  margin: 9px 0;
}
.collage-signature span:last-child {
  letter-spacing: 0;
  font-size: 0.8rem;
}
.why {
  background: #121e34;
  border-top: 1px solid #293247;
}
.why-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
}
.why-heading h2 {
  margin-bottom: 0;
  max-width: 660px;
}
.outlined-word {
  font-size: 7rem;
  line-height: 1;
  font-weight: 700;
  color: transparent;
  -webkit-text-stroke: 1px #82704e;
  letter-spacing: -0.07em;
  opacity: 0.8;
}
.why-grid {
  gap: 35px;
  margin-top: 45px;
}
.why-grid article {
  border-top: 1px solid #3b4350;
}
.why-icon {
  width: 43px;
  height: 43px;
  display: block;
  margin-bottom: 25px;
}
.why-grid svg {
  width: 32px;
  height: 32px;
  margin: 0;
}
.why-grid h3 {
  font-size: 1.22rem;
}
.why-grid p {
  font-size: 0.9rem;
}
.process {
  background: #fff;
}
.process h2 {
  font-size: clamp(2rem, 3vw, 3.1rem);
  max-width: 720px;
}
.process-grid {
  gap: 35px;
  margin-top: 45px;
}
.process-number {
  font-size: 3.6rem;
  color: #c3a26c;
  font-weight: 400;
  border-color: #dbe0e7;
}
.process-grid h3 {
  font-size: 1.3rem;
}
.process-grid p {
  font-size: 0.94rem;
  color: #687489;
}
.specialists {
  background: #172a47;
  grid-template-columns: 1.1fr 1fr;
  gap: 50px;
  position: relative;
  padding-top: 75px;
  padding-bottom: 0;
  align-items: end;
  isolation: isolate;
  overflow: hidden;
}
.specialist-copy {
  padding-bottom: 75px;
  align-self: center;
  position: relative;
  z-index: 2;
}
.specialist-copy h2 {
  font-size: clamp(2rem, 3.3vw, 3.5rem);
  max-width: 600px;
}
.specialist-copy > p:not(.eyebrow) {
  font-size: 0.98rem;
  color: #becbdd;
}
.specialist-copy .small-note {
  font-size: 0.84rem !important;
  max-width: 520px;
}
.specialist-visual {
  position: relative;
  min-height: 550px;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  isolation: isolate;
}
.specialist-visual > img, .elementor .specialist-visual > img {
  height: 555px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  object-position: center bottom;
  z-index: 1;
  position: relative;
}
.specialist-ring {
  position: absolute;
  width: 430px;
  height: 430px;
  border: 1px solid #cba05575;
  border-radius: 50%;
  bottom: 0;
  z-index: -1;
}
.specialist-ring:after {
  content: "";
  inset: 30px;
  position: absolute;
  border: 1px solid #cba05530;
  border-radius: 50%;
}
.specialist-word {
  position: absolute;
  top: 95px;
  left: -20px;
  font-size: 5rem;
  color: #f1f5fc0c;
  font-weight: 700;
  letter-spacing: -0.04em;
  z-index: -1;
  writing-mode: vertical-rl;
}
.specialist-caption {
  position: absolute;
  right: -15px;
  bottom: 28px;
  z-index: 2;
  background: #f7f8fa;
  color: #1b2e4a;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px 23px;
  box-shadow: 0 10px 30px #0002;
  max-width: 330px;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  border-left: 3px solid #c89b4c;
}
.specialist-caption svg {
  flex-shrink: 0;
  color: #98722e;
}
.about {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7vw;
  align-items: center;
  background: #f5f6f8;
  color: #182840;
}
.about > div {
  display: block;
}
.about-image {
  position: relative;
  align-self: stretch;
  min-height: 460px;
}
.about-image img, .elementor .about-image img {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
  object-position: 70% center;
  border-radius: 4px;
}
.about-image > span {
  position: absolute;
  bottom: 25px;
  left: 25px;
  background: #10213dd9;
  color: #e4c28a;
  padding: 13px 18px;
  font-size: 0.8rem;
  letter-spacing: 0.1em;
}
.about-copy > .eyebrow {
  color: #91651e;
}
.about-copy h2 {
  font-size: clamp(1.9rem, 2.8vw, 3rem);
  line-height: 1.22;
  max-width: 600px;
}
.about-copy > p {
  color: #687489;
  font-size: 0.97rem;
}
.founder {
  color: #7a8290;
}
.founder strong {
  color: #1a2b46;
}
.founder-monogram {
  color: #967334;
  border-color: #d4ba8d;
  border-radius: 50%;
  background: #fff;
}
.final-cta {
  background: #0f1e34;
  color: white;
  position: relative;
  border-top: 1px solid #d1a658;
  padding: 65px 7vw;
  gap: 60px;
}
.final-cta:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 5px;
  background: linear-gradient(90deg, #91631f, #e6c281, #91631f);
}
.final-cta h2 {
  font-size: clamp(2rem, 3vw, 3.2rem);
  max-width: 780px;
  line-height: 1.2;
}
.final-cta .eyebrow {
  font-size: 0.7rem;
  color: #d7ab61;
}
.final-cta p {
  color: #b8c5d7;
}
.final-actions {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
}
.final-actions > a:last-child, .elementor .final-actions > a:last-child {
  font-size: 0.85rem;
  color: #c6d0df;
}
footer {
  background: #fff;
  color: #162740;
  padding-top: 65px;
}
.footer-grid > div > a:not(.brand), .elementor .footer-grid > div > a:not(.brand) {
  color: #61718a;
}
.footer-grid p {
  color: #708097;
}
.footer-grid .image-disclosure {
  font-size: 0.78rem;
  max-width: 280px;
  line-height: 1.6;
  color: #8591a3;
}
.footer-bottom {
  border-color: #e2e6ed;
  color: #7c8797;
}
.footer-bottom a:hover, .elementor .footer-bottom a:hover {
  color: #a3742a;
}
.enquiry-main {
  max-width: 1400px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 290px;
  gap: 55px;
  padding: 65px 6vw 90px;
  align-items: start;
}
.enquiry-content {
  min-width: 0;
}
.enquiry-content .form-heading h1 {
  font-size: clamp(2.15rem, 3.2vw, 3.2rem);
}
.form-heading .eyebrow {
  font-size: 0.75rem;
}
.form-test-note {
  display: inline-block;
  font-size: 0.76rem !important;
  border: 1px solid #a7884b70;
  padding: 6px 11px;
  color: #d4b87e !important;
  background: #cba35808;
}
.form-sidebar {
  position: sticky;
  top: 118px;
  margin-top: 15px;
  border: 1px solid #344055;
  background: #13223a;
  overflow: hidden;
  border-radius: 7px;
}
.form-sidebar > img, .elementor .form-sidebar > img {
  width: 100%;
  height: 175px;
  object-fit: cover;
  object-position: 20% center;
}
.form-sidebar > div {
  padding: 25px;
}
.form-sidebar h2 {
  font-size: 1.3rem;
  margin-bottom: 17px;
}
.form-sidebar .eyebrow {
  font-size: 0.7rem;
  margin-bottom: 12px;
}
.form-sidebar p {
  font-size: 0.87rem;
}
.form-sidebar a, .elementor .form-sidebar a {
  display: block;
  font-size: 0.9rem;
  color: #e2bb75;
  margin: 10px 0;
  overflow-wrap: anywhere;
}
.form-sidebar hr, .elementor .form-sidebar hr {
  border: 0;
  border-top: 1px solid #34445c;
  margin: 25px 0;
}
.form-sidebar span {
  font-size: 0.75rem;
  color: #95a5ba;
}
.form-panel {
  border-radius: 8px;
  padding: 35px;
}
.steps {
  gap: 18px;
  margin-top: 30px;
}
.steps li {
  font-size: 0.85rem;
  gap: 10px;
}
.form-section-title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 8px 0 0;
  font-size: 1.08rem;
  padding: 18px 0 14px;
  border-bottom: 1px solid #36415a;
}
.form-section-title:first-child {
  padding-top: 0;
}
.form-section-title > span {
  color: #d1a759;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
}
.field > span {
  font-size: 0.86rem;
  color: #bac7d9;
}
.field input,
.field select,
.field textarea {
  background: #0e1b30;
  border-color: #3a4a64;
}
.form-panel > form > h2 {
  font-size: 1.5rem;
}
.upload-area {
  border-radius: 5px;
}
.consents a, .elementor .consents a {
  color: #e4bd79;
}
.service-detail-hero {
  position: relative;
  padding: 70px 7vw 75px;
  min-height: 550px;
  display: flex;
  align-items: center;
  isolation: isolate;
}
.service-detail-hero > img, .detail-shade, .elementor .service-detail-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 65% center;
  z-index: -2;
}
.detail-shade {
  z-index: -1;
  background: linear-gradient(90deg, #0b192cf2, #0b192cd6 38%, #0b192c40);
}
.service-detail-hero > div:last-child {
  max-width: 720px;
}
.service-detail-hero h1 {
  font-size: clamp(2.4rem, 4.2vw, 4.5rem);
  max-width: 740px;
}
.service-detail-hero p:not(.eyebrow) {
  max-width: 540px;
  color: #d3deec;
}
.back-services {
  display: inline-block;
  color: #cfdae8;
  font-size: 0.86rem;
  border-bottom: 1px solid #cfdae844;
  padding-bottom: 4px;
  margin-bottom: 28px;
}
.service-detail-hero .eyebrow {
  margin-bottom: 18px;
}
.service-detail-hero .gold {
  margin-top: 13px;
}
.scope-section {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 90px;
  align-items: start;
  background: #f5f6f8;
  color: #172941;
}
.scope-section .eyebrow {
  color: #946820;
}
.scope-section h2 {
  font-size: clamp(1.8rem, 2.8vw, 2.8rem);
}
.scope-list {
  list-style: none;
  margin: 28px 0;
  padding: 0;
  display: grid;
  gap: 18px;
}
.scope-list li {
  display: flex;
  align-items: flex-start;
  gap: 13px;
}
.scope-list svg {
  color: #a47c34;
  width: 20px;
  flex-shrink: 0;
  margin-top: 4px;
}
.scope-note {
  color: #69788c;
  font-size: 0.9rem;
  max-width: 570px;
}
.service-secondary-image, .elementor .service-secondary-image {
  width: 100%;
  height: 300px;
  object-fit: cover;
  margin-top: 30px;
  border-radius: 6px;
}
.brief-card {
  background: #e9d1a3;
  padding: 38px;
  position: sticky;
  top: 122px;
  border-top: 3px solid #ba8832;
  border-radius: 4px;
}
.brief-card h2 {
  font-size: 1.75rem;
  margin-top: 24px;
}
.brief-number {
  font-size: 0.8rem;
  letter-spacing: 0.15em;
  color: #8d6526;
}
.brief-card ol {
  list-style: none;
  padding: 0;
  margin: 28px 0;
}
.brief-card li {
  display: flex;
  gap: 15px;
  border-top: 1px solid #aa834640;
  padding: 18px 0;
  font-size: 0.96rem;
}
.brief-card li > span {
  font-size: 0.75rem;
  margin-top: 4px;
  color: #8a6224;
}
.brief-email {
  display: block;
  margin-top: 19px;
  font-size: 0.9rem;
}
.legal {
  max-width: 1000px;
}
.legal h1 {
  font-size: clamp(2.3rem, 4vw, 4rem);
}
@media (min-width: 1700px) {
.contact-bar,
  .site-header {
    padding-left: max(5vw, calc((100vw - 1540px) / 2));
    padding-right: max(5vw, calc((100vw - 1540px) / 2));
  }
.hero-content {
    max-width: 800px;
  }
}
@media (max-width: 1200px) {
.nav {
    gap: 16px;
  }
.site-header {
    gap: 18px;
  }
.nav a, .elementor .nav a {
    font-size: 0.8rem;
  }
.header-actions .desktop-cta {
    display: none !important;
  }
.audience-card {
    padding-left: 4vw;
    padding-right: 4vw;
  }
.company-collage {
    height: 465px;
  }
.collage-main {
    height: 345px;
  }
.collage-detail {
    height: 195px;
  }
.collage-signature strong {
    font-size: 3.5rem;
  }
.specialist-caption {
    right: 0;
  }
.enquiry-main {
    gap: 30px;
    grid-template-columns: minmax(0, 1fr) 250px;
    padding-left: 4vw;
    padding-right: 4vw;
  }
.form-sidebar > div {
    padding: 20px;
  }
.form-panel {
    padding: 30px;
  }
.steps li {
    font-size: 0.8rem;
  }
.hero h1,
  .hero .hero-title {
    font-size: 4.1rem;
  }
.hero-content {
    max-width: 650px;
  }
.scope-section {
    gap: 55px;
  }
}
@media (max-width: 960px) {
.site-header {
    height: 80px;
  }
.nav {
    display: none;
    top: 80px;
    background: #fff;
    box-shadow: 0 12px 20px #09182a20;
    border-top: 1px solid #e1e5ea;
  }
.nav.open {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 22px;
    position: absolute;
    left: 0;
    right: 0;
    padding: 28px 6vw;
  }
.nav a, .elementor .nav a {
    font-size: 1rem;
  }
.mobile-menu {
    display: inline-flex !important;
    padding: 10px !important;
  }
.hero {
    min-height: 600px;
    height: 600px;
    padding-left: 6vw;
    padding-right: 6vw;
  }
.hero h1,
  .hero .hero-title {
    font-size: 3.7rem;
  }
.hero-content {
    max-width: 640px;
  }
.hero-side-label {
    right: 20px;
  }
.slide-navigation {
    left: 6vw;
    right: 6vw;
    gap: 30px;
    max-width: 650px;
  }
.audience-card {
    gap: 16px;
    padding: 28px 4vw;
  }
.audience-card:first-child {
    padding-left: 5vw;
  }
.audience-card:last-child {
    padding-right: 5vw;
  }
.audience-icon {
    display: none;
  }
.service-grid {
    grid-template-columns: repeat(2, 1fr);
  }
.section {
    padding: 75px 6vw;
  }
.company {
    grid-template-columns: 1fr 1fr;
    gap: 5vw;
  }
.company-collage {
    height: 455px;
  }
.collage-main {
    width: 94%;
    height: 350px;
  }
.collage-detail {
    height: 170px;
    width: 70%;
  }
.collage-signature {
    max-width: 29%;
  }
.collage-signature strong {
    font-size: 2.7rem;
  }
.collage-signature span {
    font-size: 0.6rem;
  }
.split-copy h2 {
    font-size: 2rem;
  }
.why-grid {
    grid-template-columns: 1fr 1fr;
    gap: 28px;
  }
.outlined-word {
    font-size: 5.5rem;
  }
.specialists {
    grid-template-columns: 1.1fr 1fr;
    gap: 20px;
    padding-bottom: 0;
  }
.specialist-copy {
    padding-bottom: 55px;
  }
.specialist-copy h2 {
    font-size: 2.1rem;
  }
.specialist-visual {
    min-height: 500px;
  }
.specialist-visual > img, .elementor .specialist-visual > img {
    height: 490px;
    object-fit: contain;
  }
.specialist-ring {
    width: 340px;
    height: 340px;
  }
.specialist-caption {
    padding: 15px;
    font-size: 0.65rem;
    max-width: 260px;
    right: 0;
  }
.about {
    gap: 5vw;
  }
.about-image {
    min-height: 430px;
  }
.about-copy h2 {
    font-size: 2rem;
  }
.enquiry-main {
    grid-template-columns: 1fr;
    max-width: 920px;
    padding-left: 5vw;
    padding-right: 5vw;
  }
.form-sidebar {
    position: static;
    margin-top: 0;
    display: grid;
    grid-template-columns: 220px 1fr;
  }
.form-sidebar > img, .elementor .form-sidebar > img {
    height: 100%;
    min-height: 260px;
  }
.form-sidebar h2 {
    font-size: 1.5rem;
  }
.form-sidebar hr, .elementor .form-sidebar hr {
    margin: 18px 0;
  }
.scope-section {
    gap: 40px;
    grid-template-columns: 1.1fr 1fr;
  }
.brief-card {
    padding: 27px;
  }
.brief-card h2 {
    font-size: 1.5rem;
  }
.final-cta {
    flex-direction: row;
    gap: 30px;
  }
.final-actions {
    align-items: flex-start;
  }
.final-cta h2 {
    font-size: 2.3rem;
  }
}
@media (max-width: 700px) {
.contact-bar {
    font-size: 0.68rem;
    padding-left: 24px;
    padding-right: 24px;
  }
.contact-bar > span {
    display: none;
  }
.contact-bar > div {
    width: 100%;
    justify-content: space-between;
    gap: 15px;
  }
.site-header {
    padding: 0 24px;
    height: 77px;
  }
.site-header .brand {
    width: 130px;
  }
.nav {
    top: 77px !important;
  }
.hero {
    height: 650px;
    min-height: 650px;
    padding: 65px 26px 115px;
    align-items: center;
  }
.hero h1,
  .hero .hero-title {
    font-size: clamp(2.4rem, 7.6vw, 3.35rem);
    line-height: 1.14;
  }
.hero-content .eyebrow {
    font-size: 0.65rem;
    line-height: 1.7;
    max-width: 95%;
    letter-spacing: 0.07em;
    gap: 10px;
    margin-bottom: 23px;
  }
.hero-content .eyebrow > span {
    width: 18px;
  }
.hero-intro {
    font-size: 0.95rem;
    line-height: 1.65;
    max-width: 460px;
  }
.hero-shade {
    background:
      linear-gradient(90deg, #08172de8, #08172da8 70%, #08172d6e),
      linear-gradient(0deg, #08172dcc, transparent);
  }
.hero-image, .elementor .hero-image {
    object-position: 68% center;
  }
.hero .button-row {
    gap: 18px;
    margin-top: 25px;
    flex-direction: row;
    align-items: center;
  }
.hero .gold {
    font-size: 0.88rem !important;
    padding: 13px 18px !important;
  }
.hero-secondary {
    font-size: 0.83rem;
    padding: 8px 0;
  }
.hero-side-label {
    display: none;
  }
.slide-navigation {
    left: 26px;
    right: 26px;
    gap: 18px;
  }
.slide-navigation button {
    font-size: 0.72rem;
    gap: 7px;
    padding: 17px 0 19px;
    align-items: flex-start;
    flex-direction: column;
    line-height: 1.3;
  }
.slide-navigation button > span {
    font-size: 0.65rem;
  }
.audience-paths {
    grid-template-columns: 1fr;
  }
.audience-card {
    padding: 26px !important;
    gap: 20px;
  }
.audience-card:first-child {
    border-right: 0;
    border-bottom: 1px solid #ffffff18;
  }
.audience-icon {
    display: grid;
    width: 47px;
    height: 47px;
  }
.audience-card h2 {
    font-size: 1.18rem;
  }
.audience-card p {
    font-size: 0.81rem;
    max-width: 440px;
  }
.section {
    padding: 65px 26px;
  }
.section-heading {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 30px;
  }
.section-heading h2 {
    font-size: 2.15rem;
  }
.section-heading > p {
    font-size: 0.93rem;
  }
.service-grid {
    gap: 19px;
  }
.service-copy {
    padding: 20px;
  }
.service-copy h3 {
    font-size: 1.1rem;
    min-height: 2.5em;
  }
.service-copy p {
    font-size: 0.84rem;
  }
.service-image {
    aspect-ratio: 1.4;
  }
.service-index {
    left: 15px;
    bottom: 12px;
  }
.service-more {
    font-size: 0.75rem;
  }
.company {
    grid-template-columns: 1fr;
    padding-top: 65px;
    padding-bottom: 65px;
    gap: 44px;
  }
.company-collage {
    height: 450px;
    width: 100%;
    max-width: 580px;
    margin: auto;
  }
.collage-main {
    height: 340px;
    width: 88%;
  }
.collage-detail {
    height: 190px;
    width: 62%;
  }
.collage-signature {
    max-width: 34%;
  }
.collage-signature strong {
    font-size: 3.5rem;
  }
.collage-signature span {
    font-size: 0.7rem;
  }
.collage-signature span:last-child {
    font-size: 0.8rem;
  }
.company-collage:before {
    left: -12px;
    top: 20px;
  }
.split-copy h2 {
    font-size: 2.1rem;
  }
.why-heading {
    gap: 20px;
  }
.why-heading h2 {
    font-size: 2.05rem;
  }
.outlined-word {
    display: none;
  }
.why-grid {
    gap: 25px;
    margin-top: 34px;
  }
.why-grid h3 {
    font-size: 1.15rem;
  }
.why-grid p {
    font-size: 0.87rem;
  }
.process-grid {
    grid-template-columns: 1fr 1fr;
    gap: 25px;
    margin-top: 35px;
  }
.process-number {
    font-size: 3rem;
    padding-bottom: 22px;
    margin-bottom: 22px;
  }
.process-grid h3 {
    font-size: 1.17rem;
  }
.process-grid p {
    font-size: 0.88rem;
  }
.specialists {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 65px 26px 0;
  }
.specialist-copy {
    padding-bottom: 10px;
  }
.specialist-copy h2 {
    font-size: 2.2rem;
  }
.specialist-visual {
    min-height: 445px;
    width: 100%;
    max-width: 430px;
    margin: auto;
  }
.specialist-visual > img, .elementor .specialist-visual > img {
    height: 440px;
  }
.specialist-ring {
    width: 330px;
    height: 330px;
  }
.specialist-word {
    top: 60px;
    left: 20px;
    font-size: 4rem;
  }
.specialist-caption {
    font-size: 0.7rem;
    max-width: 290px;
    bottom: 20px;
    right: -5px;
  }
.about {
    grid-template-columns: 1fr;
    gap: 35px;
  }
.about-image {
    min-height: 310px;
  }
.about-copy h2 {
    font-size: 2.1rem;
  }
.final-cta {
    padding: 55px 26px;
    flex-direction: column;
    align-items: flex-start;
    gap: 26px;
  }
.final-cta h2 {
    font-size: 2.2rem;
  }
.final-actions {
    align-items: flex-start;
  }
.final-actions > a:last-child, .elementor .final-actions > a:last-child {
    font-size: 0.9rem;
  }
footer {
    padding: 55px 26px 25px;
  }
.footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
.footer-grid > div:first-child {
    grid-column: 1/-1;
  }
.footer-grid > div > a:not(.brand), .elementor .footer-grid > div > a:not(.brand) {
    font-size: 0.85rem;
  }
.footer-bottom {
    flex-direction: column;
    gap: 18px;
  }
.footer-bottom > div {
    gap: 18px;
    flex-wrap: wrap;
  }
.enquiry-main {
    padding: 40px 20px 60px;
  }
.enquiry-content .form-heading h1 {
    font-size: 2.25rem;
    line-height: 1.17;
  }
.form-heading > p {
    font-size: 0.94rem;
  }
.form-panel {
    padding: 24px 19px;
  }
.steps {
    gap: 15px;
  }
.steps li {
    flex-direction: column;
    align-items: flex-start;
    font-size: 0.76rem;
    gap: 10px;
    padding-bottom: 17px;
  }
.steps span {
    width: 29px;
    height: 29px;
  }
.fields {
    grid-template-columns: 1fr;
  }
.type-grid {
    grid-template-columns: 1fr !important;
  }
.form-sidebar {
    grid-template-columns: 1fr;
  }
.form-sidebar > img, .elementor .form-sidebar > img {
    height: 180px;
    min-height: 0;
  }
.form-sidebar > div {
    padding: 25px;
  }
.form-section-title {
    font-size: 1rem;
  }
.review > div {
    grid-template-columns: 1fr;
    gap: 5px;
  }
.form-panel h2 {
    font-size: 1.45rem;
  }
.trade-fields > div {
    grid-template-columns: 1fr;
  }
.form-actions [data-slot="button"] {
    font-size: 0.9rem !important;
    padding: 12px 15px !important;
  }
.service-detail-hero {
    padding: 45px 26px 55px;
    min-height: 500px;
  }
.service-detail-hero h1 {
    font-size: 2.5rem;
  }
.service-detail-hero p {
    font-size: 0.97rem;
  }
.scope-section {
    grid-template-columns: 1fr;
    gap: 40px;
  }
.brief-card {
    position: static;
    padding: 30px;
  }
.service-secondary-image, .elementor .service-secondary-image {
    height: 270px;
  }
.brief-card h2 {
    font-size: 1.7rem;
  }
.scope-section h2 {
    font-size: 2rem;
  }
}
@media (max-width: 430px) {
.service-grid {
    grid-template-columns: 1fr;
  }
.service-image {
    aspect-ratio: 1.85;
  }
.service-copy h3 {
    min-height: 0;
    font-size: 1.3rem;
  }
.service-copy p {
    font-size: 0.9rem;
  }
.service-more {
    font-size: 0.8rem;
  }
.hero {
    height: 690px;
    min-height: 690px;
  }
.hero .button-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
  }
.hero h1,
  .hero .hero-title {
    font-size: 2.45rem;
  }
.company-collage {
    height: 390px;
  }
.collage-main {
    height: 290px;
  }
.collage-detail {
    height: 160px;
  }
.collage-signature strong {
    font-size: 3rem;
  }
.footer-grid {
    grid-template-columns: 1fr;
  }
.footer-grid > div:first-child {
    grid-column: auto;
  }
.why-grid {
    grid-template-columns: 1fr 1fr;
  }
.why-grid h3 {
    font-size: 1.04rem;
  }
.why-grid p {
    font-size: 0.85rem;
  }
.contact-bar > div {
    gap: 10px;
  }
.contact-bar a, .elementor .contact-bar a {
    font-size: 0.66rem;
  }
}
html[lang="ka"] .hero h1,
html[lang="ka"] .hero .hero-title {
  font-size: clamp(2rem, 3.6vw, 4rem);
  line-height: 1.28;
  letter-spacing: -0.025em;
}
html[lang="ka"] h2 {
  line-height: 1.3;
}
html[lang="ka"] .hero-content {
  max-width: 780px;
}
html[lang="ka"] .audience-card h2 {
  font-size: 1.13rem;
}
html[lang="ka"] .service-copy h3 {
  font-size: 1.12rem;
  line-height: 1.4;
}
html[lang="ka"] .hero-intro {
  font-size: 1rem;
  max-width: 600px;
}
html[lang="ka"] .hero-secondary {
  font-size: 0.84rem;
}
html[lang="ka"] .slide-navigation button {
  font-size: 0.8rem;
}
@media (max-width: 700px) {
html[lang="ka"] .hero h1,
  html[lang="ka"] .hero .hero-title {
    font-size: 2.1rem;
  }
html[lang="ka"] .hero-intro {
    font-size: 0.9rem;
  }
html[lang="ka"] .slide-navigation button {
    font-size: 0.7rem;
  }
html[lang="ka"] .hero-content .eyebrow {
    font-size: 0.59rem;
  }
html[lang="ka"] .hero {
    height: 700px;
    min-height: 700px;
  }
html[lang="ka"] .hero .button-row {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media (prefers-reduced-motion: reduce) {
.hero-carousel * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

/* ===== WordPress / Elementor integration ===== */
/* =========================================================================
   WordPress / Elementor integration
   ========================================================================= */
.relative { position: relative; }
.lb-carousel-viewport { overflow: hidden; touch-action: pan-y; }
.lb-carousel-track { display: flex; transform: translate3d(0, 0, 0); transition: transform .55s cubic-bezier(.25, .8, .25, 1); will-change: transform; }
.lb-carousel-item { min-width: 0; flex: 0 0 100%; }
.lb-carousel-viewport img, .elementor .lb-carousel-viewport img { -webkit-user-drag: none; user-select: none; }
.lb-fieldset-contents { display: contents; }
.lb-fieldset-contents > .form-section-title:first-child { padding-top: 18px; }
.lb-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.form-panel > form > [data-step] > h2 { font-size: 1.5rem; }
.form-heading > p:last-child:not(.form-test-note) { max-width: none; }
.enquiry-main { overflow: hidden; }
/* sticky sidebar offset identical to the original (main.enquiry-main) */
.form-actions [data-back-spacer][hidden] { display: none !important; }
.mobile-menu .lb-icon-open, .mobile-menu .lb-icon-close { display: inline-flex; }
.mobile-menu [hidden] { display: none !important; }
.footer-grid > div > a:not(.brand) svg { flex-shrink: 0; }
.legal-content > *:first-child { margin-top: 0; }
.legal-content h3 { font-size: .92rem; font-weight: 600; letter-spacing: 0; color: var(--primary); margin: 24px 0 4px; }
.legal-content ul, .legal-content ol { max-width: 800px; margin: .5em 0 1em; }
.legal-content ul { list-style: disc; padding-left: 1.3em; color: var(--muted-foreground); }
.legal-content ol { list-style: decimal; padding-left: 1.3em; color: var(--muted-foreground); }
.legal-content a, .elementor .legal-content a { text-decoration: underline; }
.legal-content strong { color: var(--foreground); }
/* Sticky header below the WP admin bar */
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) {
.admin-bar .site-header { top: 46px; }
}
@media (max-width: 600px) {
.admin-bar .site-header { top: 0; }
}
/* Neutralise Elementor wrappers around Lebridge widgets so sections stay edge-to-edge */
.elementor-widget[class*="elementor-widget-lb-"] { width: 100%; max-width: 100%; margin: 0 !important; --kit-widget-spacing: 0px; }
.elementor-widget[class*="elementor-widget-lb-"] > .elementor-widget-container { margin: 0; padding: 0; }
.e-con:has(> .elementor-widget[class*="elementor-widget-lb-"]),
.e-con:has(> .e-con-inner > .elementor-widget[class*="elementor-widget-lb-"]) {
	--padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
	--gap: 0px; --row-gap: 0px; --column-gap: 0px; --widgets-spacing: 0px;
	padding: 0 !important; gap: 0 !important; --content-width: 100%;
}
.e-con:has(> .e-con-inner > .elementor-widget[class*="elementor-widget-lb-"]) > .e-con-inner { max-width: 100% !important; padding: 0 !important; gap: 0 !important; }
.elementor-section:has(.elementor-widget[class*="elementor-widget-lb-"]) .elementor-container { max-width: 100% !important; }
.elementor-section:has(.elementor-widget[class*="elementor-widget-lb-"]) .elementor-widget-wrap { padding: 0 !important; }
.elementor-element.elementor-widget-lb-hero-slider,
.elementor-element.elementor-widget-lb-enquiry-form { overflow: visible; }
/* Generic content (pages built without Elementor) */
.lb-page-content { max-width: 1000px; margin: auto; }
.lb-page-content h1 { font-size: clamp(2.3rem, 4vw, 4rem); margin-bottom: 35px; }
.lb-page-content h2 { font-size: 1.5rem; margin: 40px 0 .6em; }
.lb-page-content p { max-width: 800px; margin-bottom: 1em; }
.lb-page-content a, .elementor .lb-page-content a { text-decoration: underline; }
.lb-page-content ul { list-style: disc; padding-left: 1.3em; margin-bottom: 1em; color: var(--muted-foreground); }
.lb-404 { min-height: 50vh; }
.lb-404 .lb-btn { margin-top: 20px; }
.elementor a.lb-btn:focus-visible { box-shadow: 0 0 0 3px color-mix(in oklab, var(--ring) 50%, transparent); }
.elementor .hero .gold { box-shadow: 0 5px 20px #0002; }
/* Language switcher with flags */
.lb-lang { position: relative; }
.lb-lang-toggle { display: inline-flex; align-items: center; gap: 7px; height: 36px; padding: 0 4px; background: transparent; border: 0; cursor: pointer; font-size: .8rem; font-weight: 600; color: #25364f; letter-spacing: .02em; }
.lb-lang-toggle:hover .lb-lang-code { color: #966515; }
.lb-lang-toggle:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; border-radius: 3px; }
.lb-flag { display: block; flex-shrink: 0; border-radius: 2px; box-shadow: 0 0 0 1px #0000001a; }
.lb-lang-chevron { opacity: .5; transition: transform .2s; }
.lb-lang.is-open .lb-lang-chevron { transform: rotate(180deg); }
.lb-lang-menu { position: absolute; top: calc(100% + 10px); right: -8px; z-index: 40; min-width: 190px; margin: 0; padding: 6px; list-style: none; background: #fff; border: 1px solid #e1e5ea; border-radius: 6px; box-shadow: 0 14px 30px #0718301f; }
.lb-lang-menu a, .elementor .lb-lang-menu a { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: 4px; color: #25364f; font-size: .85rem; line-height: 1.3; white-space: nowrap; }
.lb-lang-menu a:hover, .lb-lang-menu a:focus-visible, .elementor .lb-lang-menu a:hover, .elementor .lb-lang-menu a:focus-visible { background: #f5f6f8; outline: none; }
.lb-lang-menu a.is-current, .elementor .lb-lang-menu a.is-current { background: #faf4e8; }
.lb-lang-menu a.is-current .lb-lang-label { color: #966515; }
.lb-lang-label { font-weight: 600; min-width: 22px; }
.lb-lang-name { color: #6b778a; }
@media (max-width: 700px) {
.lb-lang-menu { right: -60px; }
}
