/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
:root {
  --gd-charcoal: #1e2429;
  --gd-charcoal-2: #2b333a;
  --gd-charcoal-deep: #151a1e;
  --gd-green: #618e31;        /* brand green: bars, accents, large elements */
  --gd-green-dark: #4f7a27;   /* buttons + small text on light (AA contrast with white) */
  --gd-green-light: #86b84f;  /* small text on charcoal (AA contrast) */
  --gd-green-tint: #e9f0df;
  --gd-grey: #f3f5f3;
  --gd-line: #dde1dd;
  --gd-muted: #4c555c;
  --gd-muted-light: #bcc4ca;
  --gd-cut: 14px;
}
.gd-section--grey { background: var(--gd-grey); }
.gd-section--dark { background: var(--gd-charcoal); color: #fff; }
.gd-eyebrow { display: flex; align-items: center; gap: 14px; font-size: 14px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--gd-green-dark); }
.gd-eyebrow::before { content: ""; flex: 0 0 36px; height: 3px; background: var(--gd-green); }
.gd-eyebrow--light { color: var(--gd-green-light); }

/* ---------- Buttons ---------- */
.elementor-element .gd-btn.elementor-widget-button a { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 52px; padding: 17px 30px; font: 700 15px/1 var(--gd-font); letter-spacing: .12em; text-transform: uppercase; text-align: center; cursor: pointer; border: 0; transition: background-color .2s, color .2s;
  clip-path: polygon(0 0, calc(100% - var(--gd-cut)) 0, 100% var(--gd-cut), 100% 100%, var(--gd-cut) 100%, 0 calc(100% - var(--gd-cut))); }
.elementor-element .gd-btn--primary.elementor-widget-button a:hover { background: var(--gd-charcoal); }
.elementor-element .gd-btn--outline.elementor-widget-button a{ background: transparent; color: var(--gd-charcoal); box-shadow: inset 0 0 0 2px var(--gd-charcoal); }
.elementor-element .gd-btn--outline.elementor-widget-button a:hover { background: var(--gd-charcoal); color: #fff; }
.elementor-element .gd-btn--outline-light.elementor-widget-button a{ background: transparent; color: #fff; box-shadow: inset 0 0 0 2px #fff; }
.elementor-element .gd-btn--outline-light.elementor-widget-button a:hover { background: #fff; color: var(--gd-charcoal); }
.elementor-element .gd-btn--small.elementor-widget-button a{ min-height: 46px; padding: 14px 22px; font-size: 13px; }
.elementor-element .gd-btn.elementor-widget-button a:focus-visible { outline-offset: -5px; }

.gd-photo { position: relative; overflow: hidden; background: repeating-linear-gradient(135deg, rgba(255,255,255,.04) 0 2px, transparent 2px 16px), linear-gradient(155deg, #3b464e, #1e2429); }
.gd-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gd-photo__tag { position: absolute; left: 16px; top: 14px; font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: #c9d0d5; }
.gd-photo--shade::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; top: 5%; background: linear-gradient(to top, rgba(14,18,21,.99), rgba(14,18,21,0)); }

.gd-hero__media { position: absolute; inset: 0; background: repeating-linear-gradient(135deg, rgba(255,255,255,.03) 0 2px, transparent 2px 18px), radial-gradient(ellipse at 75% 30%, #46535d 0%, #1e2429 62%); }
.gd-hero__shade { position: absolute; inset: 0; background: linear-gradient(to top, rgba(21,26,30,.95) 8%, rgba(21,26,30,.15) 70%); }
.gd-title {
	margin-top: 14px;
	font-size: clamp(32px, 3.6vw, 46px);
	line-height: 1.05;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .01em;
}

.gd-service-card { position: relative; display: block; aspect-ratio: 4 / 3; color: #fff; }
.gd-service-card__body { position: absolute; left: 0; right: 0; bottom: 0; padding: 26px 28px; z-index: 2; }
.gd-service-card__num { font-size: 14px; font-weight: 700; letter-spacing: .16em; color: var(--gd-green-light); }
.gd-service-card__title { margin-top: 6px; font-size: 25px; line-height: 1.1; font-weight: 700; text-transform: uppercase; }
.gd-service-card__text { margin-top: 10px; font-size: 15px; line-height: 1.5; color: #dfe4e8; }
.gd-service-card__bar { position: absolute; left: 0; bottom: 0; height: 6px; width: 64px; background: var(--gd-green); z-index: 3; transition: width .3s; }
.gd-service-card:hover .gd-service-card__bar { width: 100%; }

.gd-why__item .elementor-icon-box-icon .elementor-icon {
  width: 60px;
  height: 60px;
  background: var(--gd-green-dark);
  display: flex;
  align-items: center;
  justify-content: center;
}
.gd-why__image {
	clip-path: polygon(0 0, calc(100% - 56px) 0, 100% 56px, 100% 100%, 56px 100%, 0 calc(100% - 56px));
}
.gd-safety__icon .elementor-icon-box-icon .elementor-icon { 
  height: 84px; 
  width: 84px;
  background: var(--gd-charcoal); 
  display: flex; 
  align-items: center; 
  justify-content: center;
}
.gde-center {
  width: 100%;
  justify-content: center;
}

@media (max-width: 640px) {
.gd-eyebrow::before {
	flex: 0 0 24px;
}
.gd-safety__icon .elementor-icon-box-icon {
	display: flex;
	align-items: center;
	justify-content: center;
}
}