@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700;900&display=swap');

:root {
    --color-1: #e67e22;
    --color-1-dark: #cf711f;
    --color-1-darker: #955116;
    --color-1-light: #ec9e59;
    --color-1-lighter: #f5cba7;
    --color-1-transparent-1: rgba(230, 126, 34, 0.08);
    --color-1-transparent-2: rgba(230, 126, 34, 0.16);
    --color-1-transparent-3: rgba(230, 126, 34, 0.3);
    --color-1-transparent: var(--color-1-transparent-2);
    
    --color-2: #1a3a52;
    --color-2-dark: #122939;
    --color-2-darker: #0c1a25;
    --color-2-light: #355267;
    --color-2-lighter: #51697c;
    --color-2-transparent-1: rgba(26, 58, 82, 0.08);
    --color-2-transparent-2: rgba(26, 58, 82, 0.16);
    --color-2-transparent-3: rgba(26, 58, 82, 0.3);
    --color-2-transparent: var(--color-2-transparent-2);
    
    --color-3: #e67e22;
    --color-3-dark: #cf711f;
    --color-3-darker: #955116;
    --color-3-light: #ec9e59;
    --color-3-lighter: #f5cba7;
    --color-3-transparent-1: rgba(230, 126, 34, 0.08);
    --color-3-transparent-2: rgba(230, 126, 34, 0.16);
    --color-3-transparent-3: rgba(230, 126, 34, 0.3);
    --color-3-transparent: var(--color-3-transparent-2);
    
    --color-4: #e67e22;
    --color-4-dark: #cf711f;
    --color-4-darker: #955116;
    --color-4-light: #ec9e59;
    --color-4-lighter: #f5cba7;
    --color-4-transparent-1: rgba(230, 126, 34, 0.08);
    --color-4-transparent-2: rgba(230, 126, 34, 0.16);
    --color-4-transparent-3: rgba(230, 126, 34, 0.3);
    --color-4-transparent: var(--color-4-transparent-2);
    
    --on-accent: #111111;
    --palette-rule: neutral-accent;
    --band-dark: #1a3a52;
    --band-dark-2: #122939;
    --band-brand: #e67e22;
    --band-brand-2: #efab6f;
    --band-gradient: linear-gradient(135deg, #e67e22 0%, #efab6f 100%);
    --band-tint: #fdf2e9;
    --on-band: #111111;
    --on-band-dark: #ffffff;
    --on-band-muted: rgba(17,17,17,0.76);
    --on-tint: #111111;
    --band-glow: rgba(230, 126, 34, 0.35);
    --band-card: rgba(255,255,255,0.10);
    --band-border: rgba(17,17,17,0.14);
    --palette-bands: mix;
    --band-wash-1: rgba(26, 58, 82, 0.16);
    --band-wash-1-solid: #dadfe3;
    --band-wash-1-base: #1a3a52;
    --band-wash-1-pct: 16%;
    --on-wash-1: #111111;
    --band-wash-2: rgba(230, 126, 34, 0.12);
    --band-wash-2-solid: #fcf0e4;
    --band-wash-2-base: #e67e22;
    --band-wash-2-pct: 12%;
    --on-wash-2: #111111;
    --band-wash-3: rgba(45, 85, 112, 0.16);
    --band-wash-3-solid: #dde4e8;
    --band-wash-3-base: #2d5570;
    --band-wash-3-pct: 16%;
    --on-wash-3: #111111;
    --band-wash-4: rgba(15, 40, 56, 0.16);
    --band-wash-4-solid: #d9dddf;
    --band-wash-4-base: #0f2838;
    --band-wash-4-pct: 16%;
    --on-wash-4: #111111;
    --band-overlay-1: rgba(26, 58, 82, 0.70);
    --band-overlay-1-solid: #5f7586;
    --on-overlay-1: #ffffff;
    --band-overlay-2: linear-gradient(135deg, rgba(172, 89, 15, 0.97) 0%, rgba(172, 89, 15, 0.97) 35%, rgba(15, 40, 56, 0.97) 100%);
    --band-overlay-2-solid: #ae5e16;
    --on-overlay-2: #ffffff;
    --band-overlay-3: rgba(42, 80, 105, 0.76);
    --band-overlay-3-solid: #5d7a8d;
    --on-overlay-3: #ffffff;
    --band-overlay-4: rgba(15, 40, 56, 0.64);
    --band-overlay-4-solid: #657580;
    --on-overlay-4: #ffffff;
    
    --font-1: "Montserrat", sans-serif;
    --font-2: "Roboto", sans-serif;
}

/* ACCENT-TRUE-20261010: the brand's true accent fills buttons and bands with near-black text; accent-coloured TEXT on a light surface uses the deeper ink shade (AA on white). */
:root{--accent-ink:#955116;--accent-true:#e67e22;}
body .eyebrow,body [class*="__eyebrow"],body [class*="__kicker"],body .news-teaser__date,body .news-teaser__link,body .team-spotlight__role,body .comparison-table__us,body .value-statement__big em,body .btn--ghost:hover,body main a:not([class]){color:var(--accent-ink)}
body :is(.band--dark,.band--overlay,.section--dark,.site-footer) :is(.eyebrow,[class*="__eyebrow"],[class*="__kicker"],a:not([class])){color:var(--accent-true)}
body :is(.band--brand,.band--gradient) :is(.eyebrow,[class*="__eyebrow"],[class*="__kicker"],a:not([class])){color:var(--on-band)}

/* MOBILEX-20261009: nothing may be wider than the screen */
html body * { overflow-wrap: break-word; }
html body .section-heading, html body h1, html body h2, html body h3, html body h4, html body p, html body li, html body blockquote, html body figcaption { max-width: 100%; overflow-wrap: anywhere; }
html body img, html body video, html body iframe, html body svg, html body canvas { max-width: 100%; }
html body img, html body video { height: auto; }
html body pre, html body code { white-space: pre-wrap; overflow-wrap: anywhere; }
html, html body { overflow-x: clip; }
img[src='/media/'], img[src$='/media/w480/'], img[src$='/media/w960/'], img[src$='/media/w1600/'], img[src=''], img:not([src]) { display: none !important; }

/* DESIGN-20261010: card grids fit their item count; equal-height cards */
html body .industries-grid__items, html body .services-grid__items, html body .safety-standards__grid, html body .related-services__grid, html body .team-spotlight__grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); align-items: stretch; }
html body .industries-grid__items > *, html body .services-grid__items > *, html body .safety-standards__grid > *, html body .related-services__grid > *, html body .team-spotlight__grid > * { height: 100%; }
html body .band:is(.band--dark,.band--brand,.band--gradient,.band--overlay) + .band:is(.band--dark,.band--brand,.band--gradient,.band--overlay), html body .band:is(.band--dark,.band--brand,.band--gradient,.band--overlay) + [hidden] + .band:is(.band--dark,.band--brand,.band--gradient,.band--overlay), html body .band:is(.band--dark,.band--brand,.band--gradient,.band--overlay) + [hidden] + [hidden] + .band:is(.band--dark,.band--brand,.band--gradient,.band--overlay) { margin-top: clamp(40px, 6vw, 88px); }
