.elementor-kit-12{--e-global-color-primary:#0A1628;--e-global-color-secondary:#0F3A5F;--e-global-color-text:#0D0D0D;--e-global-color-accent:#1FB6D4;--e-global-color-cyanlight:#7FD9EC;--e-global-color-amber:#F6A100;--e-global-color-border:#E5E7EB;--e-global-color-bodymuted:#4A4A4A;--e-global-color-amberbg:#FFFBEB;--e-global-color-amberbd:#FDE68A;--e-global-typography-primary-font-family:"Libre Baskerville";--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.15em;--e-global-typography-primary-letter-spacing:-0.8px;--e-global-typography-secondary-font-family:"Libre Baskerville";--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:1.4em;--e-global-typography-secondary-letter-spacing:0px;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7em;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:14px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-line-height:1.4em;--e-global-typography-accent-letter-spacing:0.6px;--e-global-typography-eyebrow-font-family:"Inter";--e-global-typography-eyebrow-font-size:12px;--e-global-typography-eyebrow-font-weight:600;--e-global-typography-eyebrow-text-transform:uppercase;--e-global-typography-eyebrow-line-height:1em;--e-global-typography-eyebrow-letter-spacing:3px;--e-global-typography-h1hero-font-family:"Libre Baskerville";--e-global-typography-h1hero-font-size:62px;--e-global-typography-h1hero-font-weight:700;--e-global-typography-h1hero-line-height:1.06em;--e-global-typography-h1hero-letter-spacing:-1.6px;background-color:#FFFFFF;}.elementor-kit-12 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ============================================================================
   CAN LAW GROUP — ELEMENTOR CUSTOM CSS
   Paste the whole file into: Elementor → Site Settings → Custom CSS
   ----------------------------------------------------------------------------
   Selector notes (why things are targeted the way they are):
     • Only BOXED containers emit `.e-con-inner`. Full-width containers put
       their children directly inside `.e-con`, so layout rules go on the
       container itself.
     • A Button widget's "CSS Classes" land on the <a> element, not the wrapper.
       Anything that has to affect layout (margin-left:auto) is therefore
       targeted structurally via `.elementor-element`.
     • A Heading / Text / Icon-list widget's CSS class lands on the
       `.elementor-element` wrapper, so inner text needs a descendant .elementor-kit-12.
   ========================================================================= */

/* ---------------------------------------------------------------------------
   1. FOUNDATIONS
   ------------------------------------------------------------------------ */
.clg-boxed > .e-con-inner { max-width: 1280px; margin-inline: auto; }

.clg-header { position: sticky; top: 0; z-index: 40; backdrop-filter: blur(12px); }
.clg-footer-logo img { background: #fff; border-radius: 6px; padding: 10px 14px; box-sizing: border-box; }

/* italic emphasis inside headings */
.elementor-widget-heading em,
.elementor-widget-text-editor em { font-style: italic; }
.clg-hero-h1 em { color: #1FB6D4; }
.clg-hero-h1 .elementor-heading-title span { display: block; }
.clg-hero-lede em {
  font-family: 'Libre Baskerville', Georgia, serif;
  font-style: italic;
  color: #0F3A5F;
}
.clg-stat-num .elementor-heading-title { font-variant-numeric: tabular-nums; }
.clg-nowrap .elementor-heading-title { white-space: nowrap; }

/* ---------------------------------------------------------------------------
   2. SPLIT HERO
   ------------------------------------------------------------------------ */
.clg-hero-aside { box-shadow: 0 1px 2px rgba(0,0,0,.05); }
.clg-hero-aside .elementor-widget-image img { max-width: 260px; }

/* experience card — gradient hairline frame around a white body */
.clg-exp-wrap {
  border-radius: 12px !important;
  overflow: hidden;
  box-shadow: 0 12px 30px -18px rgba(15,58,95,.55);
  background: linear-gradient(to bottom right, #0F3A5F, #1FB6D4) !important;
  padding: 1px !important;
  max-width: 384px;
  gap: 0 !important;
}
.clg-exp-card {
  border-radius: 11px 11px 0 0 !important;
  width: 100%;
}
/* the Google-review strip is the last child of the frame */
.clg-exp-wrap > .e-con:last-child,
.clg-exp-wrap > .elementor-element:last-child {
  background: #fff;
  border-radius: 0 0 11px 11px;
  padding: 10px 14px;
  width: 100%;
}
/* three fee checks side by side */
.clg-fee-list .elementor-icon-list-items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.clg-fee-list .elementor-icon-list-item { align-items: flex-start; }
.clg-fee-list .elementor-icon-list-icon { padding-top: 2px; }
@media (max-width: 520px) {
  .clg-fee-list .elementor-icon-list-items { grid-template-columns: 1fr; }
}

/* video panel — dark scrim so white type reads over the footage */
.clg-hero-video { position: relative; overflow: hidden; }
.clg-hero-video::before {
  content: '';
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(to top, rgba(0,0,0,.72), rgba(0,0,0,.22) 50%, rgba(0,0,0,.42));
}
.clg-hero-video > * { position: relative; z-index: 2; }

/* hero nav: plain text links, Enquire button pushed right */
.clg-hero-nav { width: 100%; }
.clg-hero-nav > .elementor-element:last-child { margin-left: auto; }
.elementor-button.clg-hero-nav-link {
  background: none !important;
  padding: 0 !important;
  box-shadow: none;
}
.elementor-button.clg-hero-nav-link:hover { color: #fff !important; }

@media (max-width: 1024px) {
  .clg-hero-video { min-height: 56vh !important; }
  .clg-hero-nav > .elementor-element:last-child { margin-left: 0; }
}

/* ---------------------------------------------------------------------------
   3. STATS BAND
   ------------------------------------------------------------------------ */
.clg-stat-div { border-left: 1px solid rgba(13,13,13,.1); }
@media (max-width: 767px) { .clg-stat-div { border-left: 0; } }

.clg-full-rule { width: 100%; margin-top: 44px; }
.clg-full-rule .elementor-divider-separator { width: 100% !important; }

.clg-rev-head { width: 100%; }

/* review cards: equal height, caption pinned to the bottom */
.clg-rev-card { height: 100%; }
.clg-rev-card > .elementor-widget-text-editor { flex-grow: 1; }
.clg-rev-foot {
  margin-top: auto;
  border-top: 1px solid #eef1f4;
  padding-top: 16px;
  width: 100%;
}

/* ---------------------------------------------------------------------------
   4. PRACTICE AREAS
   ------------------------------------------------------------------------ */
/* fading rule beside "Services We Offer" */
.clg-fade-rule .elementor-divider-separator {
  border: 0 !important;
  height: 1px;
  background: linear-gradient(to right, #1FB6D4, transparent);
}
/* rules flanking each group title */
.clg-flex-rule { flex: 1 1 auto; }
.clg-flex-rule .elementor-divider-separator { width: 100% !important; }

/* service tiles */
.clg-svc { transition: all .2s; cursor: pointer; }
.clg-svc:hover {
  border-color: rgba(31,182,212,.5) !important;
  box-shadow: 0 12px 30px -15px rgba(31,182,212,.45);
  transform: translateY(-2px);
}
.clg-svc-label { flex: 1 1 auto; }

/* 21-day urgency band (full-width container → no .e-con-inner) */
.clg-21day { align-items: center; }
@media (max-width: 900px) {
  .clg-21day { flex-direction: column !important; align-items: flex-start !important; }
}

/* practice-area cards */
.clg-pa-card {
  transition: transform .4s, box-shadow .4s, border-color .4s;
  overflow: hidden;
  height: 100%;
}
.clg-pa-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 30px 60px -30px rgba(15,58,95,.32);
  border-color: rgba(31,182,212,.55) !important;
}
.clg-pa-card .clg-pa-img,
.clg-pa-card .clg-pa-img .elementor-widget-container { line-height: 0; }
.clg-pa-card .clg-pa-img img {
  border-radius: 0 !important;
  display: block;
  width: 100%;
  height: 224px;
  object-fit: cover;
  object-position: center 28%;
}
/* the card body grows so every "See more" lines up */
.clg-pa-card > .e-con { flex-grow: 1; }
.clg-pa-card .elementor-widget-button { margin-top: auto; padding-top: 32px; }
.elementor-button.clg-see-more {
  background: none !important;
  border-bottom: 1px solid #E5E7EB;
  border-radius: 0 !important;
  padding: 0 0 4px !important;
  box-shadow: none;
}
.elementor-button.clg-see-more:hover {
  border-color: #1FB6D4;
  color: #1FB6D4 !important;
}
.clg-pa-rule .elementor-divider { padding-block: 0; }

/* ---------------------------------------------------------------------------
   5. FIVE KEY PRINCIPLES
   ------------------------------------------------------------------------ */
.clg-standards { position: relative; overflow: hidden; }
.clg-standards::before,
.clg-standards::after {
  content: '';
  position: absolute; inset: 0;
  pointer-events: none;
  z-index: 0;
}
.clg-standards::before {
  opacity: .07;
  background-image:
    radial-gradient(circle at 20% 0%, #1FB6D4 0%, transparent 45%),
    radial-gradient(circle at 85% 90%, #0F3A5F 0%, transparent 50%);
}
.clg-standards::after {
  opacity: .04;
  background-image:
    linear-gradient(to right, #fff 1px, transparent 1px),
    linear-gradient(to bottom, #fff 1px, transparent 1px);
  background-size: 80px 80px;
}
.clg-standards > .e-con-inner { position: relative; z-index: 2; }
.clg-std-label { margin-left: 16px; }
@media (max-width: 600px) { .clg-std-label { margin-left: 0; } }

.elementor-button.clg-principal-link {
  background: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none;
}
.elementor-button.clg-principal-link .elementor-button-text {
  border-bottom: 1px solid rgba(31,182,212,.4);
  padding-bottom: 4px;
}
.elementor-button.clg-principal-link:hover { color: #fff !important; }

/* ---------------------------------------------------------------------------
   6. PRINCIPAL
   ------------------------------------------------------------------------ */
.clg-principal-img { position: relative; overflow: hidden; }
.clg-principal-img .elementor-widget-image { line-height: 0; }
.clg-principal-badge {
  position: absolute;
  left: 24px; right: 24px; bottom: 24px;
  z-index: 2;
  max-width: 320px;
  backdrop-filter: blur(12px);
}

/* ---------------------------------------------------------------------------
   7. CASE STUDIES
   ------------------------------------------------------------------------ */
.clg-tabs {
  width: auto !important;
  flex: 0 0 auto;
  flex-direction: row !important;
}
.elementor-button.clg-tab { box-shadow: none; }
.elementor-button.clg-tab-on { box-shadow: 0 1px 2px rgba(0,0,0,.08); }

/* 1px gaps on a grey ground read as hairline dividers */
.clg-case-grid {
  box-shadow: 0 1px 2px rgba(0,0,0,.05);
  gap: 1px !important;
}
.clg-case {
  transition: background .2s;
  cursor: pointer;
  height: 100%;
}
.clg-case:hover { background: rgba(31,182,212,.04) !important; }
.clg-case-side {
  background: rgba(15,58,95,.05);
  border-radius: 2px;
  padding: 4px 8px;
}
.clg-tag {
  background: #f1f5f9;
  border-radius: 999px;
  padding: 4px 12px;
}
/* push the tags + "read full story" to the card foot */
.clg-case > .e-con:nth-last-child(2) { margin-top: auto; }

/* ---------------------------------------------------------------------------
   8. TESTIMONIALS
   ------------------------------------------------------------------------ */
.clg-reviews { position: relative; overflow: hidden; }
.clg-reviews::before {
  content: '';
  position: absolute;
  left: -160px; top: 128px;
  height: 520px; width: 520px;
  border-radius: 999px;
  background: rgba(31,182,212,.10);
  filter: blur(64px);
  pointer-events: none;
}
.clg-reviews > .e-con-inner { position: relative; z-index: 2; }

.clg-feat-card { height: 100%; }
.clg-quote-mark .elementor-heading-title { line-height: .7; }
.clg-feat-quote p {
  font-family: 'Libre Baskerville', Georgia, serif;
  margin-top: -24px;
  letter-spacing: -.025em;
}

/* the "200+ clients" tile — background image forced in CSS so it never
   depends on the imported background_image attachment resolving */
.clg-client-tile {
  position: relative;
  overflow: hidden;
  background-image:
    linear-gradient(to top, #0F3A5F 0%, rgba(15,58,95,.4) 50%, transparent 100%),
    url('https://images.unsplash.com/photo-1521737604893-d14cc237f11d?auto=format&fit=crop&w=1400&q=80');
  background-size: cover, cover;
  background-position: center center, center center;
  background-repeat: no-repeat, no-repeat;
  min-height: 320px;
}

.clg-rev { transition: transform .5s, border-color .5s; height: 100%; }
.clg-rev:hover { transform: translateY(-4px); border-color: rgba(31,182,212,.4) !important; }
.clg-rev > .elementor-widget-text-editor { flex-grow: 1; }

/* ---------------------------------------------------------------------------
   9. RESOURCES
   ------------------------------------------------------------------------ */
/* feature insight — background image forced in CSS for the same reason */
.clg-feat-insight {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  background-image:
    linear-gradient(to top, #0A1628 0%, rgba(10,22,40,.25) 100%),
    url('https://images.unsplash.com/photo-1450101499163-c8848c66ca85?w=1600&q=80&auto=format&fit=crop');
  background-size: cover, cover;
  background-position: center center, center center;
  background-repeat: no-repeat, no-repeat;
  min-height: 400px;
}

.clg-ins {
  transition: transform .3s, box-shadow .3s, border-color .3s;
  cursor: pointer;
}
.clg-ins:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 40px -24px rgba(15,58,95,.3);
  border-color: rgba(31,182,212,.5) !important;
}

/* ---------------------------------------------------------------------------
   10. OFFICE
   ------------------------------------------------------------------------ */
.clg-office-row {
  display: grid !important;
  grid-template-columns: 110px 1fr;
  gap: 16px;
  align-items: start;
}
@media (max-width: 600px) {
  .clg-office-row { grid-template-columns: 1fr; gap: 4px; }
}

/* contact page */
.clg-contact-card { transition: transform .2s, border-color .2s, box-shadow .2s; text-decoration: none; }
.clg-contact-card:hover {
  transform: translateY(-4px);
  border-color: rgba(15,58,95,.4) !important;
  box-shadow: 0 20px 25px -5px rgba(0,0,0,.1);
}
.clg-contact-card .elementor-heading-title { word-break: break-word; }
.clg-band-copy { flex: 1 1 420px; max-width: 640px; }
.clg-map { overflow: hidden; }
.clg-map .elementor-widget-google_maps,
.clg-map .elementor-custom-embed { line-height: 0; height: 100%; }
.clg-map iframe { display: block; width: 100%; min-height: 360px; border: 0; }
.clg-office-list .elementor-icon-list-item { align-items: flex-start !important; }
.clg-office-list .elementor-icon-list-icon { padding-top: 4px; }
.clg-office-list a { color: rgba(13,13,13,.75); }
.clg-office-list a:hover { color: #1FB6D4; }

/* ---------------------------------------------------------------------------
   11. CTA BAND
   ------------------------------------------------------------------------ */
.clg-cta { position: relative; overflow: hidden; }
.clg-cta::before {
  content: '';
  position: absolute; inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at top left, rgba(31,182,212,.25), transparent 55%);
}
.clg-cta::after {
  content: '';
  position: absolute;
  right: -80px; top: 50%;
  height: 320px; width: 320px;
  transform: translateY(-50%);
  border-radius: 999px;
  background: rgba(31,182,212,.15);
  filter: blur(64px);
  pointer-events: none;
}
.clg-cta > .e-con-inner { position: relative; z-index: 2; }
.clg-cta-avatar img {
  height: 112px;
  width: 112px;
  object-fit: cover;
  object-position: top;
  outline: 2px solid rgba(31,182,212,.5);
  border-radius: 999px !important;
}
@media (max-width: 640px) { .clg-cta-avatar { display: none !important; } }

/* ---------------------------------------------------------------------------
   11b. SUB-PAGE HERO
   Source layers, bottom to top: #0A1628 base · hero photo at 30% opacity ·
   a navy diagonal gradient · a cyan radial glow top-right · a 1px cyan
   hairline along the top edge. The photo is pinned here rather than in the
   JSON because Elementor drops container background images whose file is not
   in the Media Library.
   ------------------------------------------------------------------------ */
.clg-hero {
  position: relative;
  overflow: hidden;
  background-color: #0A1628;
  isolation: isolate;
}
.clg-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: .3;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
.clg-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image:
    linear-gradient(to right, transparent, rgba(31,182,212,.6), transparent),
    radial-gradient(ellipse at top right, rgba(31,182,212,.25), transparent 55%),
    linear-gradient(to bottom right, #0A1628, rgba(10,22,40,.85) 50%, rgba(15,58,95,.7));
  background-size: 100% 1px, 100% 100%, 100% 100%;
  background-position: top left, center, center;
  background-repeat: no-repeat;
}

/* .clg-hero-about — no hero image in the source */
.clg-hero-contact::before { background-image: url('https://images.unsplash.com/photo-1573497019940-1c28c88b4f3e?w=1600&q=80&auto=format&fit=crop'); }
.clg-hero-resources::before { background-image: url('https://images.unsplash.com/photo-1554224155-6726b3ff858f?w=1600&q=80&auto=format&fit=crop'); }
.clg-hero-employment-law::before { background-image: url('https://images.unsplash.com/photo-1521737711867-e3b97375f902?w=1600&q=80&auto=format&fit=crop'); }
.clg-hero-employers::before { background-image: url('https://images.unsplash.com/photo-1556761175-5973dc0f32e7?w=1600&q=80&auto=format&fit=crop'); }
.clg-hero-employees::before { background-image: url('https://images.unsplash.com/photo-1573164713988-8665fc963095?w=1600&q=80&auto=format&fit=crop'); }
.clg-hero-unfair-dismissal::before { background-image: url('https://images.unsplash.com/photo-1450101499163-c8848c66ca85?w=1600&q=80&auto=format&fit=crop'); }
.clg-hero-general-protections::before { background-image: url('https://images.unsplash.com/photo-1573496359142-b8d87734a5a2?w=1600&q=80&auto=format&fit=crop'); }
.clg-hero-redundancy::before { background-image: url('https://images.unsplash.com/photo-1497366216548-37526070297c?w=1600&q=80&auto=format&fit=crop'); }
.clg-hero-employment-contracts::before { background-image: url('https://images.unsplash.com/photo-1554224155-6726b3ff858f?w=1600&q=80&auto=format&fit=crop'); }
.clg-hero-workplace-policies::before { background-image: url('https://images.unsplash.com/photo-1573497019940-1c28c88b4f3e?w=1600&q=80&auto=format&fit=crop'); }
.clg-hero-workplace-investigations::before { background-image: url('https://images.unsplash.com/photo-1573497019940-1c28c88b4f3e?w=1600&q=80&auto=format&fit=crop'); }
.clg-hero-independent-contractors::before { background-image: url('https://images.unsplash.com/photo-1521791136064-7986c2920216?w=1600&q=80&auto=format&fit=crop'); }
.clg-hero-awards-pay-rates::before { background-image: url('https://images.unsplash.com/photo-1554224155-6726b3ff858f?w=1600&q=80&auto=format&fit=crop'); }
.clg-hero-wills-estate-planning::before { background-image: url('https://images.unsplash.com/photo-1505664194779-8beaceb93744?w=1600&q=80&auto=format&fit=crop'); }
.clg-hero-wills::before { background-image: url('https://images.unsplash.com/photo-1450101499163-c8848c66ca85?w=1600&q=80&auto=format&fit=crop'); }
.clg-hero-power-of-attorney::before { background-image: url('https://images.unsplash.com/photo-1516307365426-bea591f05011?w=1600&q=80&auto=format&fit=crop'); }
.clg-hero-enduring-guardianship::before { background-image: url('https://images.unsplash.com/photo-1505664194779-8beaceb93744?w=1600&q=80&auto=format&fit=crop'); }
.clg-hero-probate::before { background-image: url('https://images.unsplash.com/photo-1589994965851-a8f479c573a9?w=1600&q=80&auto=format&fit=crop'); }

/* ---------------------------------------------------------------------------
   12. SUB-PAGE BREADCRUMBS
   ------------------------------------------------------------------------ */
.clg-crumbs .elementor-heading-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.clg-crumbs a { color: rgba(255,255,255,.7); text-decoration: none; }
.clg-crumbs a:hover { color: #1FB6D4; }
.clg-crumb-sep { color: rgba(255,255,255,.3); }
.clg-crumb-now { color: #1FB6D4; }

/* ---------------------------------------------------------------------------
   13. CASE-STUDY POPUPS
   ------------------------------------------------------------------------ */
.clg-case-popup .dialog-widget-content { overflow: hidden; }
.clg-case-popup .dialog-close-button {
  top: 20px; right: 20px;
  width: 34px; height: 34px;
  border: 1px solid rgba(255,255,255,.6);
  border-radius: 999px;
  backdrop-filter: blur(4px);
}
.clg-case-popup .dialog-close-button:hover {
  border-color: #1FB6D4;
  background: #fff;
}

/* Cover images are pinned here rather than in the imported JSON — Elementor
   drops a container's background_image when the media isn't in the library. */
.clg-case-cover {
  position: relative;
  min-height: 300px;
  background-repeat: no-repeat, no-repeat;
  background-size: cover, cover;
  background-position: center center, center center;
}
@media (max-width: 767px) { .clg-case-cover { min-height: 200px; } }

.clg-case-cover-1 { background-image:
    linear-gradient(to top, rgba(255,255,255,.55) 0%, rgba(255,255,255,.10) 55%, rgba(255,255,255,0) 100%),
    url('https://images.unsplash.com/photo-1450101499163-c8848c66ca85?w=1600&q=80&auto=format&fit=crop'); }
.clg-case-cover-2 { background-image:
    linear-gradient(to top, rgba(255,255,255,.55) 0%, rgba(255,255,255,.10) 55%, rgba(255,255,255,0) 100%),
    url('https://images.unsplash.com/photo-1573497019940-1c28c88b4f3e?w=1600&q=80&auto=format&fit=crop'); }
.clg-case-cover-3 { background-image:
    linear-gradient(to top, rgba(255,255,255,.55) 0%, rgba(255,255,255,.10) 55%, rgba(255,255,255,0) 100%),
    url('https://images.unsplash.com/photo-1497366216548-37526070297c?w=1600&q=80&auto=format&fit=crop'); }
.clg-case-cover-4 { background-image:
    linear-gradient(to top, rgba(255,255,255,.55) 0%, rgba(255,255,255,.10) 55%, rgba(255,255,255,0) 100%),
    url('https://images.unsplash.com/photo-1450101499163-c8848c66ca85?w=1600&q=80&auto=format&fit=crop'); }
.clg-case-cover-5 { background-image:
    linear-gradient(to top, rgba(255,255,255,.55) 0%, rgba(255,255,255,.10) 55%, rgba(255,255,255,0) 100%),
    url('https://images.unsplash.com/photo-1573496359142-b8d87734a5a2?w=1600&q=80&auto=format&fit=crop'); }
.clg-case-cover-6 { background-image:
    linear-gradient(to top, rgba(255,255,255,.55) 0%, rgba(255,255,255,.10) 55%, rgba(255,255,255,0) 100%),
    url('https://images.unsplash.com/photo-1521791136064-7986c2920216?w=1600&q=80&auto=format&fit=crop'); }
.clg-case-cover-7 { background-image:
    linear-gradient(to top, rgba(255,255,255,.55) 0%, rgba(255,255,255,.10) 55%, rgba(255,255,255,0) 100%),
    url('https://images.unsplash.com/photo-1497366216548-37526070297c?w=1600&q=80&auto=format&fit=crop'); }
.clg-case-cover-8 { background-image:
    linear-gradient(to top, rgba(255,255,255,.55) 0%, rgba(255,255,255,.10) 55%, rgba(255,255,255,0) 100%),
    url('https://images.unsplash.com/photo-1554224155-6726b3ff858f?w=1600&q=80&auto=format&fit=crop'); }
.clg-case-cover-9 { background-image:
    linear-gradient(to top, rgba(255,255,255,.55) 0%, rgba(255,255,255,.10) 55%, rgba(255,255,255,0) 100%),
    url('https://images.unsplash.com/photo-1554224155-6726b3ff858f?w=1600&q=80&auto=format&fit=crop'); }

/* ---------------------------------------------------------------------------
   14. ENQUIRY POPUP
   ------------------------------------------------------------------------ */
.clg-enquire-popup .dialog-widget-content {
  overflow: hidden;
  max-height: 92vh;
}
.clg-enquire-popup .dialog-message { overflow-y: auto; max-height: 92vh; }
.clg-enquire-popup .dialog-widget-content::-webkit-scrollbar,
.clg-enquire-popup .dialog-message::-webkit-scrollbar { width: 8px; }
.clg-enquire-popup .dialog-message::-webkit-scrollbar-thumb {
  background: rgba(15,58,95,.25);
  border-radius: 999px;
}
/* the source scrim is rgba(10,22,40,.6) with a 4px blur behind it */
.elementor-popup-modal.clg-enquire-popup { backdrop-filter: blur(4px); }
.clg-enquire-popup .dialog-close-button {
  top: 18px; right: 18px;
  width: 32px; height: 32px;
  border-radius: 8px;
}
.clg-enquire-popup .dialog-close-button:hover { background: rgba(15,58,95,.08); }

/* inputs: 14/16 padding, hairline border, navy focus ring */
.clg-enquire-form .elementor-field-textual {
  padding: 14px 16px;
  border: 1px solid #dbe2ea;
  border-radius: 10px;
  transition: border-color .15s;
  line-height: 1.4;
}
.clg-enquire-form .elementor-field-textual:focus {
  border-color: #0F3A5F;
  box-shadow: none;
  outline: none;
}
.clg-enquire-form .elementor-field-label {
  letter-spacing: .1em;
}
.clg-enquire-form textarea.elementor-field-textual { resize: vertical; }

/* the select needs its own chevron once the native arrow is suppressed */
.clg-enquire-form select.elementor-field-textual {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 44px;
  cursor: pointer;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%230d2340' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");
  background-repeat: no-repeat;
  background-position: right 14px center;
}

/* the two name fields share a row, then stack under 520px like the source's
   minmax(220px,1fr) grid does */
@media (max-width: 520px) {
  .clg-enquire-form .elementor-field-group.elementor-col-50 { width: 100%; }
}

/* required asterisk is the same navy as the label, not Elementor's default red */
.clg-enquire-form .elementor-mark-required .elementor-field-label:after { color: #0D2340; }

/* validation + success states */
.clg-enquire-form .elementor-message-danger,
.clg-enquire-form .elementor-message.elementor-help-inline {
  color: #b91c1c;
  font-size: 12px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: normal;
}
/* invalid fields get the source's soft red border, not a browser default */
.clg-enquire-form .elementor-field-textual[aria-invalid="true"],
.clg-enquire-form .elementor-error .elementor-field-textual {
  border-color: #fca5a5;
}
.clg-enquire-form .elementor-message-success {
  border: 1px solid rgba(31,182,212,.35);
  border-radius: 14px;
  background: #E6F4F8;
  padding: 24px;
  color: #0F3A5F;
}

/* ---------------------------------------------------------------------------
   16. HEADER NAV MENU (Elementor Pro Nav Menu widget)
   The design's nav is Inter 14px/500 in near-black, evenly spaced, with no
   underline indicator. The dropdown is a white 12px-radius panel with a
   hairline outline and pale-blue hover rows.
   ------------------------------------------------------------------------ */
.clg-header .elementor-nav-menu,
.clg-header .elementor-nav-menu--dropdown {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* top-level items */
.clg-header .elementor-nav-menu--main .elementor-item {
  font-size: 14px;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0;
  text-transform: none;
  color: #0D0D0D;
  padding: 8px 0;
  transition: color .15s;
}
.clg-header .elementor-nav-menu--main .elementor-item:hover,
.clg-header .elementor-nav-menu--main .elementor-item:focus,
.clg-header .elementor-nav-menu--main .elementor-item.highlighted {
  color: #0F3A5F;
}
/* current page: navy, not cyan, and no heavy rule under it */
.clg-header .elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: #0F3A5F;
  font-weight: 600;
}

/* kill Elementor's underline / pointer indicator entirely */
.clg-header .elementor-nav-menu--main .elementor-item:before,
.clg-header .elementor-nav-menu--main .elementor-item:after {
  display: none !important;
  content: none !important;
}

/* spacing between items — matches the design's clamp(14px,2vw,32px) */
.clg-header .elementor-nav-menu--main > li.menu-item {
  margin: 0 clamp(7px, 1vw, 16px);
}
.clg-header .elementor-nav-menu--main > li.menu-item:last-child { margin-right: 0; }

/* the dropdown arrow sits closer and inherits the link colour */
.clg-header .elementor-nav-menu .sub-arrow {
  margin-left: 6px;
  padding: 0;
  display: inline-flex;
  align-items: center;
}
.clg-header .elementor-nav-menu .sub-arrow i,
.clg-header .elementor-nav-menu .sub-arrow svg {
  font-size: 11px;
  width: 11px;
  height: 11px;
  color: currentColor;
  fill: currentColor;
}

/* ---------- dropdown panel ---------- */
.clg-header .elementor-nav-menu--dropdown,
.clg-header .elementor-nav-menu--main .sub-menu {
  min-width: 320px;
  margin-top: 12px;
  padding: 8px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 25px 50px -12px rgba(0,0,0,.25);
  outline: 1px solid #e5e7eb;
  outline-offset: -1px;
  border: 0;
}
.clg-header .elementor-nav-menu--dropdown a,
.clg-header .elementor-nav-menu--main .sub-menu a {
  display: block;
  padding: 10px 16px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  font-style: normal;
  text-transform: none;
  letter-spacing: 0;
  color: rgba(13,13,13,.8);
  transition: background .15s, color .15s;
}
.clg-header .elementor-nav-menu--dropdown a:hover,
.clg-header .elementor-nav-menu--dropdown a:focus,
.clg-header .elementor-nav-menu--dropdown a.elementor-item-active,
.clg-header .elementor-nav-menu--main .sub-menu a:hover,
.clg-header .elementor-nav-menu--main .sub-menu a.elementor-item-active {
  background: #E6F4F8;
  color: #0F3A5F;
}

/* ---------- mobile / burger panel ---------- */
.clg-header .elementor-menu-toggle { color: #0D2340; }
.clg-header .elementor-nav-menu--dropdown.elementor-nav-menu__container {
  margin-top: 0;
  border-radius: 0 0 12px 12px;
}
@media (max-width: 1024px) {
  .clg-header .elementor-nav-menu--dropdown a {
    padding: 14px 20px;
    font-size: 15px;
  }
}

/* ---------------------------------------------------------------------------
   17. GLOBAL
   ------------------------------------------------------------------------ */
.elementor a:hover { color: #1FB6D4; }
a:focus-visible,
button:focus-visible,
.elementor-button:focus-visible {
  outline: 2px solid #1FB6D4;
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}


.site-header, .site-title { display: none; }

.clg-enquire-trigger,
.clg-enquire-trigger *,
.elementor-element.clg-enquire-trigger .elementor-button,
[class*="clg-case-"] { cursor: pointer; }

.elementor-star-rating i {
  position: relative;
  display: inline-block;
  width: 1em;
  height: 1em;
  line-height: 1;
  font-family: Arial, Helvetica, sans-serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
  color: transparent !important;
  vertical-align: middle;
}
.elementor-star-rating i:after {
  content: '\2605';
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  line-height: 1;
  color: #E5E7EB;
}
.elementor-star-rating i:before {
  position: absolute;
  top: 0; left: 0;
  display: block;
  overflow: hidden;
  line-height: 1;
  z-index: 1;
  font-family: Arial, Helvetica, sans-serif !important;
  color: #F6A100 !important;
}
.elementor-star-rating i:not(.elementor-star-empty):before { content: '\2605' !important; }/* End custom CSS */