/* GTES page styling for Elementor-composed pages.
   Elementor owns the composition; these classes carry the design system so the
   documents stay small and every page stays consistent. */

:root {
	--gt-navy-900:#061233; --gt-navy-800:#0A1C4A; --gt-navy-700:#12306E;
	--gt-green-700:#16752F; --gt-green-800:#0F5A24; --gt-green-900:#0B4A1D;
	--gt-lime-500:#8CC63F; --gt-info:#1B60C9;
	--gt-bg:#F7F9FC; --gt-surface:#FFFFFF; --gt-sunken:#EEF2F8;
	--gt-ink:#1E2739; --gt-muted:#6F7C93; --gt-border:#DFE5EF;
	--gt-success-bg:#E2F3E6; --gt-warning:#B8770F; --gt-warning-bg:#FBF0DC;
	--gt-font-display:'Archivo','Helvetica Neue',Arial,sans-serif;
	--gt-font-sans:'IBM Plex Sans','Segoe UI',Arial,sans-serif;
	--gt-font-mono:'IBM Plex Mono','SFMono-Regular',Consolas,monospace;
	--gt-section:clamp(56px,7vw,112px);
	--gt-shadow:0 1px 3px rgba(10,28,74,.08);
	--gt-shadow-lift:0 16px 40px rgba(10,28,74,.12);
}

.gt-e-sec { padding-block:var(--gt-section); }
.gt-e-sec.gt-e-tint { background:var(--gt-sunken); }
.gt-e-sec.gt-e-dark { background:var(--gt-navy-800); color:#fff; }
.gt-e-sec.gt-e-dark .gt-e-heading,
.gt-e-sec.gt-e-dark h1,.gt-e-sec.gt-e-dark h2,.gt-e-sec.gt-e-dark h3 { color:#fff; }
.gt-e-sec.gt-e-dark .gt-e-text { color:#D7E0F2; }
.gt-e-sec.gt-e-dark .gt-e-overline p { color:#AFBDD9; }
.gt-e-sec.gt-e-tight { padding-block:calc(var(--gt-section)/2); }

.gt-e-heading { font-family:var(--gt-font-display); letter-spacing:-.015em; color:var(--gt-navy-800); }
.gt-e-heading h1 { font-weight:800; line-height:1.05; font-size:clamp(2.25rem,1.5rem + 2.3vw,3.375rem); margin:0 0 8px; }
.gt-e-heading h2 { font-weight:700; line-height:1.16; font-size:clamp(1.625rem,1.3rem + 1vw,2.125rem); margin:0 0 8px; }
.gt-e-heading h3 { font-weight:600; line-height:1.3; font-size:1.25rem; margin:0 0 8px; }

.gt-e-text { font-family:var(--gt-font-sans); color:var(--gt-ink); line-height:1.6; }
.gt-e-text p { margin:0 0 1em; }
.gt-e-text p:last-child { margin-bottom:0; }
.gt-e-lead { font-size:1.0625rem; max-width:68ch; color:var(--gt-muted); }
.gt-e-sec.gt-e-dark .gt-e-lead { color:#D7E0F2; }
.gt-e-overline p { font-weight:700; font-size:.75rem; letter-spacing:.14em; text-transform:uppercase;
	color:var(--gt-muted); margin:0 0 4px; }

.gt-e-btn a.elementor-button,
.gt-e-btn .elementor-button { border-radius:4px; padding:12px 22px; font-family:var(--gt-font-sans);
	font-weight:600; font-size:.9375rem; box-shadow:none; transition:background-color .15s linear,transform .15s linear; }
.gt-e-btn--primary .elementor-button { background:var(--gt-green-700); color:#fff; }
.gt-e-btn--primary .elementor-button:hover { background:var(--gt-green-800); color:#fff; transform:translateY(-2px); }
.gt-e-btn--secondary .elementor-button { background:var(--gt-navy-800); color:#fff; }
.gt-e-btn--secondary .elementor-button:hover { background:var(--gt-navy-900); color:#fff; }
.gt-e-btn--ghost .elementor-button { background:transparent; color:var(--gt-navy-800); border:1px solid var(--gt-border); }
.gt-e-dark .gt-e-btn--ghost .elementor-button { color:#fff; border-color:rgba(255,255,255,.28); }

/* Statement band: the one place lime is allowed to carry a rule. */
.gt-e-statement { border-left:3px solid var(--gt-lime-500); padding-left:24px; }
.gt-e-statement p { font-family:var(--gt-font-display); font-weight:700; font-size:clamp(1.375rem,1.1rem + 1vw,1.875rem);
	line-height:1.2; color:#fff; }

/* Figure rows written as a simple table in a text widget. */
.gt-e-specs table { width:100%; border-collapse:collapse; font-size:.9375rem; }
.gt-e-specs td { padding:12px 0; border-bottom:1px solid var(--gt-border); vertical-align:top; }
.gt-e-specs tr:last-child td { border-bottom:0; }
.gt-e-specs td:first-child { color:var(--gt-muted); width:40%; }
.gt-e-specs td:last-child { font-family:var(--gt-font-mono); font-weight:500; color:var(--gt-navy-800); }
.gt-e-dark .gt-e-specs td { border-color:rgba(255,255,255,.16); }
.gt-e-dark .gt-e-specs td:first-child { color:#AFBDD9; }
.gt-e-dark .gt-e-specs td:last-child { color:#fff; }

.gt-e-stats ul { list-style:none; margin:0; padding:0; display:grid; gap:24px;
	grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); }
.gt-e-stats li { margin:0; }
.gt-e-stats strong { display:block; font-family:var(--gt-font-mono); font-weight:500;
	font-size:clamp(1.5rem,1.2rem + 1vw,2rem); color:var(--gt-navy-800); }
.gt-e-dark .gt-e-stats strong { color:#fff; }
.gt-e-stats span { font-size:.875rem; color:var(--gt-muted); }
.gt-e-dark .gt-e-stats span { color:#AFBDD9; }

.gt-e-numbered ol { list-style:none; counter-reset:gt; margin:0; padding:0; display:grid; gap:20px; }
.gt-e-numbered li { counter-increment:gt; padding-left:56px; position:relative; }
.gt-e-numbered li::before { content:counter(gt,decimal-leading-zero); position:absolute; left:0; top:0;
	width:40px; height:40px; display:grid; place-items:center; border:1px solid var(--gt-border);
	border-radius:4px; font-family:var(--gt-font-mono); color:var(--gt-navy-700); background:var(--gt-surface); }
.gt-e-numbered strong { display:block; font-family:var(--gt-font-display); color:var(--gt-navy-800); margin-bottom:4px; }
.gt-e-dark .gt-e-numbered li::before { background:transparent; border-color:rgba(255,255,255,.2); color:#fff; }
.gt-e-dark .gt-e-numbered strong { color:#fff; }

.gt-e-cols ul { list-style:none; margin:0; padding:0; display:grid; gap:20px;
	grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
.gt-e-cols li { margin:0; background:var(--gt-surface); border:1px solid var(--gt-border);
	border-radius:12px; padding:24px; box-shadow:var(--gt-shadow); }
.gt-e-cols strong { display:block; font-family:var(--gt-font-display); font-size:1.0625rem;
	color:var(--gt-navy-800); margin-bottom:6px; }
.gt-e-dark .gt-e-cols li { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.14); box-shadow:none; }
.gt-e-dark .gt-e-cols strong { color:#fff; }

.gt-e-review { border-left:3px solid var(--gt-warning); background:var(--gt-warning-bg);
	padding:16px 20px; border-radius:0 8px 8px 0; color:#6B4708; font-size:.9375rem; }