/* EKS v1.2.0 -- client typography policy, hero responsiveness, Phase 04 compatibility.
   Loaded after source CSS and Elementor widget styles. */
.eks-site, .eks-site :where(*) {
  font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif !important;
  font-weight: 400 !important;
}
.eks-site :where(h1,h2,h3,h4,h5,h6,b,strong,.brand-name,.brand-name small,.eyebrow,.btn,.navlinks a,.navdrop > button,.pill,.process-mark,.process-node strong,.float-card,.card-no,.team-slide-role,.training-meta strong,.team-carousel-count) {
  font-weight: 500 !important;
}
.eks-site .eks-split-heading {font-size: clamp(30px,3.2vw,40px);line-height:1.15;letter-spacing:-.025em;color:var(--navy);margin:0 0 22px;}
.eks-site .eks-inner-split .split > div {min-width:0;}
.eks-site .eks-service-directory .cards {grid-template-columns:repeat(3,minmax(0,1fr));}
.eks-site .eks-service-directory .service-card {min-width:0;}
.eks-site .eks-contact-widget .contact-grid {min-width:0;}
.eks-site .eks-contact-widget .form-grid > * {min-width:0;}
.eks-site .eks-honey {position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
.eks-site .eks-signoff-section .team-signoff {width:100%;}
.eks-site .eks-team-section .team-slide-qualifications {min-width:0;}
.eks-site .eks-team-section .team-slide-photo img {width:100%;height:100%;object-fit:cover;}
.eks-site .eks-team-section .team-carousel-buttons {display:flex;gap:10px;}
.eks-site .eks-team-section .team-carousel-buttons button {cursor:pointer;}
.eks-site .eks-team-section .team-carousel-buttons button:disabled {cursor:not-allowed;opacity:.48;}
.eks-site .eks-training-library .brochure > a {overflow:hidden;display:block;min-width:0;}
.eks-site .eks-training-library .brochure img {display:block;}
.eks-site .eks-training-library .training-meta {white-space:normal;overflow-wrap:anywhere;}
/* Remove the secondary decorative floating box even on pages imported with v1.1. */
.eks-site .hero-art .float-card.two {display:none!important;}
.eks-site .hero-art {min-width:0;}
.eks-site .hero-grid > * {min-width:0;}
@media (max-width: 1000px) {
  .eks-site .eks-service-directory .cards {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 780px) {
  .eks-site .hero {padding:48px 0 48px;overflow:hidden;}
  .eks-site .hero-grid {display:grid;grid-template-columns:minmax(0,1fr);gap:34px;align-items:center;}
  .eks-site .hero-grid > .reveal:first-child {max-width:650px;}
  .eks-site .hero h1 {font-size:clamp(34px,7vw,55px);line-height:1.10;letter-spacing:-.035em;overflow-wrap:break-word;}
  .eks-site .hero p {font-size:clamp(14px,3.3vw,16px);line-height:1.65;max-width:100%;}
  .eks-site .hero .actions {gap:10px;display:flex;flex-wrap:wrap;align-items:stretch;}
  .eks-site .hero .actions .btn {min-width:0;white-space:normal;text-align:center;justify-content:center;}
  .eks-site .hero .pill-row {gap:8px;}
  .eks-site .hero-art {display:flex;flex-direction:column;gap:24px;min-height:0;width:100%;padding:12px 0 0;perspective:none;align-items:center;justify-content:center;}
  .eks-site .hero-art .process-visual {width:min(350px,calc(100vw - 44px));height:auto;aspect-ratio:1;max-width:100%;margin:0 auto;}
  .eks-site .hero-art .float-card.one {position:relative;top:auto;left:auto;right:auto;bottom:auto;margin:0 auto;max-width:90%;text-align:center;transform:none!important;animation:none!important;box-shadow:0 8px 25px #0002;}
  .eks-site .hero-art .float-card.two {display:none!important;}
  .eks-site .hero .process-node {min-width:0;max-width:39%;padding:8px 9px;}
  .eks-site .hero .process-node strong {font-size:11px;line-height:1.25;}
  .eks-site .hero .process-node small {font-size:9px;line-height:1.25;}
  .eks-site .hero .process-core {width:47%;padding:8px;border-radius:18px;}
  .eks-site .hero .process-core strong {font-size:clamp(12px,3.5vw,18px);}
  .eks-site .hero .process-core small {font-size:6px;letter-spacing:0;}
  .eks-site .hero .process-mark {margin-bottom:3px;font-size:10px;}
}
@media (max-width: 600px) {
  .eks-site .eks-service-directory .cards {grid-template-columns:minmax(0,1fr);}
  .eks-site .eks-team-section .team-slide {min-width:0;}
}
@media (max-width: 420px) {
  .eks-site .hero {padding:36px 0 42px;}
  .eks-site .hero h1 {font-size:clamp(31px,8.5vw,39px);}
  .eks-site .hero .actions {flex-direction:column;align-items:stretch;}
  .eks-site .hero .actions .btn {width:100%;font-size:13px;padding:12px 14px;}
  .eks-site .hero .pill-row {gap:6px;}
  .eks-site .hero .pill {font-size:10px;padding:6px 10px;}
  .eks-site .hero-art {gap:20px;}
  .eks-site .hero-art .process-visual {width:min(300px,calc(100vw - 38px));}
  .eks-site .hero .process-node {max-width:41%;padding:7px;}
  .eks-site .hero .process-node strong {font-size:10px;}
  .eks-site .hero .process-node small {font-size:8px;}
  .eks-site .hero .process-core {border-radius:16px;}
  .eks-site .hero .process-core strong {font-size:12px;line-height:1.2;}
  .eks-site .hero .process-core small {font-size:5px;}
  .eks-site .eks-training-library .brochure {grid-template-columns:90px minmax(0,1fr);}
  .eks-site .eks-training-library .brochure img {width:90px;height:125px;}
}
@media (max-width: 340px) {
  .eks-site .hero .process-node {padding:6px;}
  .eks-site .hero .process-node small {font-size:7px;}
  .eks-site .hero-art .process-visual {width:min(265px,calc(100vw - 30px));}
}
/* Dynamic editing should not cause content to disappear before intersection observers attach. */
body.elementor-editor-active .eks-site .reveal,
body.elementor-editor-active .eks-site .motion-item {opacity:1!important;transform:none!important;animation:none!important;}
@media (prefers-reduced-motion: reduce) {
  .eks-site .hero-art .float-card.one {animation:none!important;}
}
