:root {
  --lz-navy: #002933;
  --lz-navy-2: #004b59;
  --lz-gold: #c38f1f;
  --lz-gold-light: #f7e37a;
  --lz-ink: #082e38;
  --lz-muted: #647a82;
  --lz-line: #d9e4e7;
  --lz-surface: #f3f7f8;
  --lz-white: #fff;
  --lz-tech: #1e90ff;
  --lz-tech-dark: #0047ab;
  --lz-leather: #a9745b;
  --lz-falconry: #f2b36f;
  --lz-sports: #ff0000;
  --lz-surgical: #a9a9a9;
  --lz-radius: 18px;
  --lz-shadow: 0 24px 70px rgba(0, 41, 51, .12);
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
body, button, input, select, textarea,
.elementor-widget, .elementor-button { font-family: Montserrat, Arial, sans-serif; }

/* Blocksy shell: full-width, clean and without the old boxed header. */
.ct-header, .ct-header [data-row], .ct-header [data-row] > div { width: 100%; max-width: none; }
.ct-header [data-row] > div { padding-inline: clamp(20px, 5vw, 92px); }
.ct-header { background: #fff; border-bottom: 1px solid rgba(0, 41, 51, .10); }
.ct-header .site-logo-container img { max-height: 66px; width: auto; }
.ct-header .site-title { display: none !important; }
.ct-header .menu > li > a { font-weight: 650; letter-spacing: .025em; }
.ct-header .menu > li:last-child > a { color: #9a6900; }
.ct-footer { display: none !important; }
body.elementor-page .hero-section { display: none !important; }
body.elementor-page .site-main { padding: 0; }
body.elementor-page .elementor { overflow: hidden; }

.lz-section {
  width: 100%;
  padding: clamp(58px, 6vw, 92px) max(24px, calc((100vw - 1240px) / 2));
  gap: clamp(26px, 4vw, 58px);
}
.lz-section h1, .lz-section h2, .lz-section h3,
.lz-section p { margin-top: 0; }
.lz-section h1, .lz-section h2, .lz-section h3 { color: var(--lz-ink); letter-spacing: -.035em; }
.lz-section h2 { font-size: clamp(35px, 4.3vw, 66px); line-height: 1.02; }
.lz-section h3 { font-size: clamp(21px, 2vw, 28px); line-height: 1.12; }
.lz-section p, .lz-section li { color: var(--lz-muted); font-size: clamp(16px, 1.25vw, 19px); line-height: 1.78; }
.lz-section a { text-underline-offset: 4px; }
.lz-large { font-size: clamp(20px, 2vw, 28px) !important; color: var(--lz-ink) !important; line-height: 1.55 !important; }
.lz-kicker p, .lz-eyebrow p {
  margin: 0;
  color: #986a0a;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.lz-kicker-light p { color: var(--lz-gold-light); }
.lz-split > .e-con { width: calc(50% - 28px); }
.lz-section-head > .e-con:first-child { max-width: 760px; }
.lz-section-head > .elementor-widget-text-editor { max-width: 420px; }

.lz-hero {
  min-height: min(760px, calc(100vh - 92px));
  background:
    radial-gradient(circle at 82% 20%, rgba(30,144,255,.17), transparent 27%),
    radial-gradient(circle at 10% 90%, rgba(195,143,31,.13), transparent 25%),
    linear-gradient(135deg, #001e26, var(--lz-navy));
  position: relative;
}
.lz-hero:after {
  content: "";
  position: absolute;
  width: 380px;
  height: 380px;
  right: -190px;
  bottom: -190px;
  border: 1px solid rgba(247,227,122,.22);
  border-radius: 50%;
  pointer-events: none;
}
.lz-hero > .e-con:first-child { width: 55%; }
.lz-hero > .e-con:last-child { width: 45%; }
.lz-hero .lz-eyebrow p { color: var(--lz-gold-light); }
.lz-display .elementor-heading-title {
  color: #fff;
  font-size: clamp(58px, 6.4vw, 102px);
  line-height: .94;
  letter-spacing: -.06em;
}
.lz-display .elementor-heading-title span { color: var(--lz-gold-light); font-weight: 500; }
.lz-hero .lz-lead p { max-width: 760px; color: #bfd0d4; font-size: clamp(17px, 1.5vw, 22px); }
.lz-hero-media { padding: 18px; border: 1px solid rgba(255,255,255,.14); border-radius: 28px; background: rgba(255,255,255,.045); }
.lz-media img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--lz-radius); }
.lz-hero-image img { box-shadow: 0 30px 90px rgba(0,0,0,.28); }

.lz-button-row { gap: 12px; }
.lz-btn-gold .elementor-button, .lz-btn-navy .elementor-button,
.lz-btn-blue .elementor-button, .lz-btn-outline .elementor-button,
.lz-form-submit {
  min-height: 52px;
  padding: 16px 24px;
  border-radius: 9px;
  font-weight: 800;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.lz-btn-gold .elementor-button, .lz-form-submit { background: var(--lz-gold-light); color: var(--lz-navy); box-shadow: 0 14px 32px rgba(247,227,122,.18); }
.lz-btn-navy .elementor-button { background: var(--lz-navy); color: #fff; }
.lz-btn-blue .elementor-button { background: var(--lz-tech); color: #fff; }
.lz-btn-outline .elementor-button { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.45); }
.lz-btn-gold .elementor-button:hover, .lz-btn-navy .elementor-button:hover,
.lz-btn-blue .elementor-button:hover, .lz-btn-outline .elementor-button:hover,
.lz-form-submit:hover { transform: translateY(-2px); box-shadow: 0 18px 40px rgba(0,41,51,.20); }
.lz-btn-text .elementor-button { padding: 0; color: var(--lz-ink); background: transparent; font-weight: 800; text-decoration: underline; }

.lz-stats { padding-block: 30px; background: #fff; border-bottom: 1px solid var(--lz-line); gap: 0; }
.lz-stat { width: 25%; padding: 8px 24px; border-right: 1px solid var(--lz-line); text-align: center; gap: 3px; }
.lz-stat:last-child { border-right: 0; }
.lz-stat-value .elementor-heading-title { color: var(--lz-navy); font-size: clamp(24px, 2.3vw, 38px); }
.lz-stat-label p { margin: 0; font-size: 13px; line-height: 1.4; }
.lz-intro { background: var(--lz-surface); }

.lz-divisions { background: #fff; }
.lz-division-grid { gap: 18px; }
.lz-division-card {
  width: calc(33.333% - 12px);
  padding: 20px;
  border: 1px solid var(--lz-line);
  border-top: 4px solid var(--lz-navy);
  border-radius: var(--lz-radius);
  background: #fff;
  box-shadow: 0 10px 36px rgba(0,41,51,.06);
  transition: transform .22s ease, box-shadow .22s ease;
}
.lz-division-card:hover { transform: translateY(-5px); box-shadow: var(--lz-shadow); }
.lz-division-card.is-tech { border-top-color: var(--lz-tech); background: linear-gradient(150deg, #eff8ff, #fff 55%); }
.lz-division-card.is-leather { border-top-color: var(--lz-leather); }
.lz-division-card.is-falconry { border-top-color: var(--lz-falconry); }
.lz-division-card.is-sports { border-top-color: var(--lz-sports); }
.lz-division-card.is-surgical { border-top-color: var(--lz-surgical); }
.lz-card-image img { aspect-ratio: 16 / 9; }
.lz-status p {
  display: inline-block;
  margin: 0;
  padding: 6px 10px;
  border: 1px solid var(--lz-line);
  border-radius: 100px;
  color: var(--lz-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
}
.is-tech .lz-status p { color: var(--lz-tech-dark); border-color: rgba(30,144,255,.35); }
.lz-division-icon .elementor-icon { color: #fff; background: var(--lz-navy); }
.is-tech .lz-division-icon .elementor-icon { background: var(--lz-tech); }
.is-leather .lz-division-icon .elementor-icon { background: var(--lz-leather); }
.is-falconry .lz-division-icon .elementor-icon { background: var(--lz-falconry); }
.is-sports .lz-division-icon .elementor-icon { background: var(--lz-sports); }
.is-surgical .lz-division-icon .elementor-icon { background: #6f6f6f; }

.lz-tech-feature { color: #fff; background: linear-gradient(125deg, var(--lz-navy), #003f56 70%, var(--lz-tech-dark)); }
.lz-tech-feature h2, .lz-tech-feature h3 { color: #fff; }
.lz-tech-feature p, .lz-tech-feature li { color: #d1e1e5; }
.lz-feature-media { padding: 14px; border: 1px solid rgba(255,255,255,.15); border-radius: 24px; background: rgba(255,255,255,.055); }
.lz-tech-feature ul { display: grid; gap: 9px; padding-left: 22px; }

.lz-principles { background: var(--lz-surface); }
.lz-feature-grid { gap: 16px; }
.lz-feature-card {
  width: 25%;
  padding: 24px;
  border: 1px solid var(--lz-line);
  border-radius: 15px;
  background: #fff;
}
.lz-feature-icon .elementor-icon { color: var(--lz-gold); background: rgba(195,143,31,.10); }
.lz-card-number p { margin: 0; color: #9db0b5; font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.lz-five-grid .lz-feature-card { width: 20%; }
.lz-cta { background: linear-gradient(105deg, var(--lz-gold-light), #f5ce55); }
.lz-cta h2 { margin-bottom: 0; }
.lz-cta p { color: #3f4d4f; }

.lz-page-hero { min-height: 520px; color: #fff; background: linear-gradient(130deg, #001e26, var(--lz-navy) 66%, #074959); }
.lz-page-hero > .e-con { width: 50%; }
.lz-page-hero h1 { color: #fff; }
.lz-page-title .elementor-heading-title { color: inherit; font-size: clamp(50px, 6vw, 88px); line-height: .96; }
.lz-page-title span { color: var(--lz-gold-light); font-weight: 500; }
.lz-page-hero p { color: #c5d6da; }
.lz-page-hero .lz-eyebrow p { color: var(--lz-gold-light); }
.lz-page-hero-media { padding: 14px; border: 1px solid rgba(255,255,255,.15); border-radius: 24px; background: rgba(255,255,255,.05); }
.lz-divisions-page { background: var(--lz-surface); }
.lz-divisions-page .lz-wide-card { width: 100%; flex-direction: row; align-items: center; background: linear-gradient(120deg, #eaf6ff, #fff); }
.lz-divisions-page .lz-wide-card > * { flex: 1; }
.lz-model, .lz-values { color: #fff; background: var(--lz-navy); }
.lz-model h2, .lz-values h2 { color: #fff; }
.lz-model p, .lz-values p { color: #cadbdf; }
.lz-model-steps { width: 65% !important; gap: 14px; }
.lz-model-steps .lz-feature-card { width: calc(50% - 7px); background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.13); }
.lz-model-steps .lz-feature-card h3 { color: #fff; }
.lz-story { background: #fff; }
.lz-values .lz-feature-card { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.13); }
.lz-values .lz-feature-card h3 { color: #fff; }
.lz-partner-types { background: #fff; }
.lz-process { background: var(--lz-surface); }

.lz-form-section, .lz-contact { background: var(--lz-surface); align-items: flex-start; }
.lz-form-card {
  padding: clamp(24px, 4vw, 46px);
  border: 1px solid var(--lz-line);
  border-radius: var(--lz-radius);
  background: #fff;
  box-shadow: var(--lz-shadow);
}
.lz-contact-form { display: grid; gap: 20px; }
.lz-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.lz-contact-form label { display: grid; gap: 7px; color: var(--lz-ink); font-size: 13px; font-weight: 750; }
.lz-contact-form label span { color: var(--lz-gold); }
.lz-contact-form input, .lz-contact-form select, .lz-contact-form textarea {
  width: 100%;
  min-height: 52px;
  padding: 13px 15px;
  color: var(--lz-ink);
  border: 1px solid #cbdadd;
  border-radius: 8px;
  background: #fbfdfd;
}
.lz-contact-form textarea { min-height: 150px; resize: vertical; }
.lz-contact-form input:focus, .lz-contact-form select:focus, .lz-contact-form textarea:focus { outline: 3px solid rgba(30,144,255,.18); border-color: var(--lz-tech); }
.lz-consent { display: flex !important; grid-template-columns: auto 1fr; align-items: center; font-weight: 500 !important; }
.lz-consent input { width: 18px; min-height: 18px; }
.lz-honeypot { position: absolute; left: -9999px; }
.lz-form-submit { width: 100%; border: 0; cursor: pointer; }
.lz-form-notice { margin-bottom: 18px; padding: 14px 16px; border-radius: 8px; }
.lz-form-notice.is-success { color: #0c5c3a; background: #e8f8ef; }
.lz-form-notice.is-error { color: #7e1d1d; background: #fff0f0; }
.lz-contact-method { width: 100%; padding: 18px; background: #fff; }
.lz-contact-method h3 { font-size: 17px; }
.lz-contact-method p { font-size: 15px; }
.lz-route-grid { gap: 10px; }
.lz-route-grid > * { width: 20%; }
.lz-route-tech .elementor-button, .lz-route-item { min-height: 92px; border-radius: 12px; }
.lz-route-tech .elementor-button { display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--lz-tech-dark), var(--lz-tech)); color: #fff; }
.lz-route-item { padding: 18px; border: 1px solid var(--lz-line); background: #fff; }
.lz-route-item p { margin: 0; font-size: 12px; line-height: 1.5; }
.lz-route-item strong { color: var(--lz-ink); }

.lz-legal-hero { padding-block: 72px; background: var(--lz-navy); }
.lz-legal-hero h1 { color: #fff; }
.lz-legal-hero .lz-page-title .elementor-heading-title { font-size: clamp(44px, 5vw, 72px); }
.lz-legal-date p { color: #cadbdf; }
.lz-legal-content { background: #fff; }
.lz-policy-copy { max-width: 900px; margin-inline: auto; }
.lz-policy-copy h2 { margin: 44px 0 14px; padding-top: 18px; border-top: 1px solid var(--lz-line); color: var(--lz-ink); font-size: clamp(24px, 2.4vw, 34px); }
.lz-policy-copy h2:first-child { margin-top: 0; }
.lz-policy-copy h3 { margin: 28px 0 8px; font-size: 20px; }
.lz-policy-copy p { color: #506b72; }

.lz-footer { color: #c6d6da; background: #001e26; }
.lz-footer-inner {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.35fr;
  gap: 48px;
  max-width: 1240px;
  margin: auto;
  padding: 64px 24px 48px;
}
.lz-footer img { width: 210px; height: auto; margin-bottom: 18px; }
.lz-footer h2 { margin: 0 0 18px; color: #fff; font-size: 14px; letter-spacing: .12em; text-transform: uppercase; }
.lz-footer p, .lz-footer span, .lz-footer a { color: #afc4c9; font-size: 14px; line-height: 1.75; }
.lz-footer nav, .lz-footer-contact { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.lz-footer a:hover { color: var(--lz-gold-light); }
.lz-footer-bottom { display: flex; justify-content: space-between; gap: 20px; max-width: 1240px; margin: auto; padding: 22px 24px; border-top: 1px solid rgba(255,255,255,.10); }

@media (max-width: 1080px) {
  .lz-hero, .lz-page-hero, .lz-split { flex-direction: column !important; }
  .lz-hero > .e-con, .lz-page-hero > .e-con, .lz-split > .e-con { width: 100%; }
  .lz-feature-grid, .lz-division-grid { flex-wrap: wrap !important; }
  .lz-feature-card, .lz-five-grid .lz-feature-card { width: calc(50% - 8px); }
  .lz-division-card { width: calc(50% - 9px); }
  .lz-model-steps { width: 100% !important; }
  .lz-route-grid { flex-wrap: wrap !important; }
  .lz-route-grid > * { width: calc(33.333% - 7px); }
  .lz-footer-inner { grid-template-columns: 2fr 1fr 1fr; }
  .lz-footer-contact { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  .lz-section { padding: 48px 20px; gap: 28px; }
  .lz-display .elementor-heading-title { font-size: clamp(46px, 15vw, 70px); }
  .lz-page-title .elementor-heading-title { font-size: clamp(42px, 13vw, 62px); }
  .lz-section h2 { font-size: clamp(33px, 10vw, 48px); }
  .lz-stats { flex-wrap: wrap !important; }
  .lz-stat { width: 50%; border-bottom: 1px solid var(--lz-line); }
  .lz-stat:nth-child(2) { border-right: 0; }
  .lz-section-head { flex-direction: column !important; }
  .lz-feature-card, .lz-five-grid .lz-feature-card, .lz-division-card,
  .lz-divisions-page .lz-wide-card, .lz-model-steps .lz-feature-card { width: 100%; }
  .lz-divisions-page .lz-wide-card { flex-direction: column; }
  .lz-form-grid { grid-template-columns: 1fr; }
  .lz-route-grid > * { width: 100%; }
  .lz-footer-inner { grid-template-columns: 1fr; gap: 30px; }
  .lz-footer-contact { grid-column: auto; }
  .lz-footer-bottom { flex-direction: column; }
  .ct-header [data-row] > div { padding-inline: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *:before, *:after { scroll-behavior: auto !important; transition: none !important; }
}

@media print {
  .ct-header, .lz-footer, .lz-button-row { display: none !important; }
  .lz-section { padding: 24px 0; }
  .lz-legal-hero { color: #000; background: #fff; }
  .lz-legal-hero h1 { color: #000; }
}
