.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}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;}}:root { --brand-50:#EFF6F8; --brand-100:#DCEBF0; --brand-200:#B9D7DF; --brand-300:#8ABBC8; --brand-400:#4E97AA; --brand-500:#17788F; --brand-600:#0A6C82; --brand-700:#006075; --brand-800:#004E60; --brand-900:#013C4A; --brand-950:#002833; --wetland-100:#E4EFEA; --wetland-200:#C6DFD4; --wetland-300:#9CC4B2; --wetland-400:#74AC94; --wetland-500:#4F8B74; --wetland-600:#427A64; --wetland-700:#366654; --wetland-800:#2A5142; --ink-700:#3A363A; --ink-800:#2C292C; --ink-900:#211F21; --ink-950:#171517; --stone-200:#DDDFDC; --stone-300:#BCC0BD; --stone-400:#8A908B; --stone-500:#5B615C; --stone-600:#4A504B; --stone-700:#3A3F3B; --surface-base:#F4F1EA; --surface-card:#FFFFFF; --surface-sunken:#EAE6DC; --surface-raised:#FFFFFF; --surface-hover:#EFEBE1; --surface-overlay:rgba(33, 31, 33, 0.55); --surface-inverse:#211F21; --surface-inverse-raised:#2C292C; --text-primary:#211F21; --text-secondary:#4A504B; --text-tertiary:#5B615C; --text-brand:#006075; --text-inverse:#F4F1EA; --text-inverse-soft:#D6D3CB; --border-subtle:#E6E1D5; --border-default:#D5CFC0; --border-strong:#B6AF9C; --border-line:#4F8B74; --border-inverse:rgba(244, 241, 234, 0.18); --font-display:Schibsted Grotesk; --font-body:Karla; }
/* Start custom CSS *//* Goondoi Rangers - kit layer.
   Only rules that cannot be expressed as a V4 global class live here:
   descendant .elementor-kit-6s, pseudo-elements and element-qualified .elementor-kit-6s.
   Everything else is a global class so it stays editable in the builder.

   NOTE on line-height: app.css declares body 1.65, but the design preview
   loads the Tailwind Play CDN after it and its preflight resets body to
   inherit from html (1.5). 1.5 is therefore what the approved comp actually
   renders, so that is what we match. Every running-copy class (gc-body,
   gc-lead, gc-caption) sets its own line-height explicitly regardless. */

body { background-color: var(--surface-base); color: var(--text-primary); font-family: var(--font-body); font-size: 1rem; line-height: 1.5; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: hidden; }
::selection { background-color: var(--brand-200); color: var(--ink-900); }
.elementor :focus-visible { outline: 2px solid var(--brand-700); outline-offset: 3px; border-radius: 2px; }
.elementor .gc-on-ink :focus-visible { outline-color: var(--surface-base); }

/* Icons are stroke-only Lucide. Elementor rewrites the root fill="none" to
   fill="currentColor" on upload, which would fill every path, so force it
   back here. A CSS rule beats an SVG presentation attribute. */
.elementor .gc-icon svg { fill: none; width: 100%; height: 100%; display: block; }

/* The image treatment. Radius comes from the plate, grade from here. */
.elementor .gc-plate > img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(0.86) contrast(0.96) brightness(1.09); }
.elementor .gc-plate .gc-chip { position: absolute; top: 1rem; left: 1rem; z-index: 2; }

/* Experience card hover. */
.elementor .gc-exp-card .gc-chip { margin-top: 1.25rem; }
.elementor .gc-exp-card:hover .gc-exp-card__media { transform: scale(1.04); }
.elementor .gc-exp-card:hover .gc-exp-card__cta { background-color: var(--brand-700); color: var(--text-inverse); }

/* Link arrow nudge. */
.elementor .gc-link svg { transition: transform 250ms cubic-bezier(0.25,1,0.5,1); }
.elementor .gc-link:hover .gc-icon { transform: translateX(4px); }

/* On the Ink surface. */
.elementor .gc-on-ink .gc-link { color: var(--brand-300); }
.elementor .gc-on-ink .gc-link:hover { color: var(--surface-base); }
.elementor .gc-on-ink .gc-index-num { color: var(--brand-300); }
.elementor .gc-on-ink .gc-index-label { color: var(--text-inverse-soft); }

/* Cards. */
.elementor .gc-card--flush .gc-card-body { flex: 1 1 auto; }
.elementor a.gc-card:hover { box-shadow: 0px 1px 3px rgba(0,40,51,0.08), 0px 8px 16px rgba(0,40,51,0.07), 0px 24px 48px rgba(0,40,51,0.08); transform: translateY(-4px); border-color: var(--wetland-300); }

/* Shared image hover push, paired with a .group parent. */
.elementor .group:hover .gc-zoom { transform: scale(1.04); }
.elementor .group:hover .gc-row-arrow { transform: translateX(4px); border-color: var(--brand-700); background-color: var(--brand-700); color: var(--text-inverse); }

/* The continuous rule threaded behind the trust wells. Drawn once per row of
   four and spanned across, so a wrapped list never shows a seam. */
.elementor .gc-trust__item::before { content: ''; display: none; pointer-events: none; position: absolute; z-index: 0; top: 1.75rem; left: 0; width: calc(400% + 6rem); height: 1px; background-image: linear-gradient(to right, transparent 0%, var(--border-subtle) 38%, var(--border-subtle) 62%, transparent 100%); }
@media (min-width: 1025px) { .elementor .gc-trust__item:nth-child(4n+1)::before { display: block; } }

@media (prefers-reduced-motion: reduce) {
  .elementor .group:hover .gc-zoom,
  .elementor .gc-exp-card:hover .gc-exp-card__media { transform: none; }
}/* End custom CSS */