/* TAEC global foundation. Page-specific Elementor controls remain editable. */
:root {
  --taec-font-heading: Montserrat, Arial, sans-serif;
  --taec-font-body: Inter, Arial, sans-serif;
  --taec-muted: #52677a;
  --taec-action: #bd4900;
  --taec-action-hover: #a33f00;
  --taec-radius: 16px;
  --taec-radius-control: 10px;
  --taec-space-xs: 8px;
  --taec-space-sm: 16px;
  --taec-space-md: 24px;
  --taec-space-lg: 32px;
  --taec-shadow: 0 8px 28px #071f350a;
}
body { font-family: var(--taec-font-body); font-size: 16px; line-height: 1.7; }
h1,h2,h3,h4,h5,h6 { font-family: var(--taec-font-heading); text-wrap: balance; }
.elementor-widget-heading .elementor-heading-title { font-family: var(--taec-font-heading); letter-spacing: -.025em; }
.elementor-widget-heading h2.elementor-heading-title { font-size: clamp(28px, 2.6vw, 38px); line-height: 1.2; }
.elementor-widget-heading h3.elementor-heading-title { font-size: clamp(19px, 1.6vw, 22px); line-height: 1.35; }
.elementor-widget-text-editor { font-family: var(--taec-font-body); font-size: 16px; line-height: 1.75; }
.taec-label .elementor-heading-title { font-family: var(--taec-font-body); font-size: 11px; letter-spacing: .12em; line-height: 1.6; }
.taec-copy .elementor-widget-text-editor,.taec-prose { max-width: 65ch; }
.taec-benefit h3.elementor-heading-title { font-size: 17px; line-height: 1.4; }
.taec-benefits-title h2.elementor-heading-title { font-size: clamp(28px, 2.5vw, 34px); line-height: 1.15; }
.taec-process-step h3.elementor-heading-title { font-size: 17px; line-height: 1.4; }
.taec-process-step .elementor-widget-text-editor { font-size: 14px; line-height: 1.7; color: #d4e1ec; }
.taec-process-number .elementor-heading-title { font-size: 28px; line-height: 1.2; color: #46b6ff; }
.elementor .taec-process-step .elementor-icon { color: #fff; }
.taec-value-card .elementor-widget-text-editor { font-size: 15px; }
.elementor .taec-content-card,.elementor .taec-value-card,.elementor .taec-faq { border-radius: var(--taec-radius); box-shadow: var(--taec-shadow); }
.elementor .taec-card-body { padding: var(--taec-space-md); gap: 12px; }
.elementor .taec-content-card h3 { font: 650 20px/1.35 var(--taec-font-heading); letter-spacing: -.025em; }
.taec-content-card p { font-size: 14px; line-height: 1.75; }
.taec-card-category { font-size: 10px; line-height: 1.6; }
.taec-content-card .taec-link { font-size: 13px; min-height: 44px; }
/* Darker orange for white action text; the original orange remains an accent. */
body .elementor .elementor-widget-button:not(.taec-text-link):not(.taec-secondary) .elementor-button,.taec-header .taec-cta,.taec-form button.taec-cta,
.taec-single-wrap .taec-cta,.elementor .taec-case-actions .taec-cta {
  background: var(--taec-action); color: #fff; border-radius: var(--taec-radius-control);
  font-family: var(--taec-font-body); font-size: 14px; font-weight: 650;
  line-height: 1.45; min-height: 48px; padding: 13px 22px;
}
.taec-header .taec-cta { font-size: 12px; padding-inline: 16px; }
.elementor .taec-text-link .elementor-button { background: transparent; color: var(--taec-blue); font-size: 13px; padding: 10px 0; box-shadow: none; }
.elementor .taec-secondary .elementor-button { background: transparent; color: var(--taec-navy); border-color: #9daebd; }
.elementor .taec-dark .taec-secondary .elementor-button { color: #fff; border-color: #9db4c7; }
.taec-form { gap: var(--taec-space-md); }
.taec-form label { font-size: 14px; line-height: 1.5; gap: var(--taec-space-xs); }
body .elementor .taec-form input[type],body .elementor .taec-form textarea,body .elementor .taec-form select { border-radius: var(--taec-radius-control); font-size: 16px; min-height: 48px; padding: 12px 14px; }
body .elementor .taec-form .taec-consent input[type] { min-height: 18px; width: 18px; padding: 0; }
.taec-form .taec-consent,.taec-form-note { font-size: 12px; line-height: 1.7; }
.taec-filters a { min-height: 44px; font-size: 12px; padding: 10px 18px; }
.taec-pagination a,.taec-pagination span { min-width: 44px; height: 44px; border-radius: var(--taec-radius-control); }
.taec-breadcrumb { font-size: 12px; line-height: 1.7; }
.taec-project-facts { gap: var(--taec-space-md); border-radius: var(--taec-radius); }
.taec-project-facts dt { font-size: 11px; line-height: 1.6; }
.taec-project-facts dd { font-size: 15px; line-height: 1.6; }
.taec-prose { font-size: 16px; line-height: 1.8; }
.taec-prose p + p { margin-top: 1.25em; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline: 3px solid var(--taec-tech); outline-offset: 4px; }
.taec-dark a:focus-visible,.taec-dark button:focus-visible { outline-color: #73c9ff; }
@media (hover:hover) and (pointer:fine) {
  body .elementor .elementor-widget-button:not(.taec-text-link):not(.taec-secondary) .elementor-button:hover,.taec-header .taec-cta:hover,.taec-form button.taec-cta:hover,.taec-single-wrap .taec-cta:hover,.elementor .taec-case-actions .taec-cta:hover { background: var(--taec-action-hover); color: #fff; }
  .elementor .taec-text-link .elementor-button:hover { background: transparent; color: var(--taec-blue); }
  .elementor .taec-secondary .elementor-button:hover { background: var(--taec-navy); color: #fff; }
}
@media (max-width:767px) {
  .elementor-widget-text-editor,.taec-value-card .elementor-widget-text-editor { font-size: 15px; line-height: 1.75; }
  .elementor-widget-heading h2.elementor-heading-title { font-size: clamp(26px, 6.8vw, 30px); }
  .elementor .taec-card-body { padding: 20px; }
  .taec-process-step .elementor-widget-text-editor { font-size: 14px; }
  .taec-project-facts { padding: 20px; gap: 20px; }
  .taec-project-facts dt { letter-spacing: .05em; }
}
@media (max-width:360px) { .taec-project-facts { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion:reduce) {
  .taec-process-step .elementor-icon,.taec-benefit .elementor-icon,.taec-value-card .elementor-icon,
  .taec-process-step .elementor-icon *,.taec-benefit .elementor-icon *,.taec-value-card .elementor-icon * { animation: none !important; transition: none !important; }
}
