/* CryptoExcel — Home Section 2: scoped styles */
.ces2-section {
  --ces2-navy: #123B78;
  --ces2-blue: #0879E8;
  --ces2-body: #28456F;
  box-sizing: border-box;
  width: 100%;
  position: relative;
  isolation: isolate;
  background: transparent;
  color: var(--ces2-navy);
  padding: 68px 20px 84px;
  font-family: 'Catamaran', sans-serif;
}
/* White background extends to viewport edges, outside Elementor's constrained container. */
.ces2-section::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: #FFFFFF;
  pointer-events: none;
}
.ces2-section *, .ces2-section *::before, .ces2-section *::after { box-sizing: border-box; }
.ces2-section .ces2-container { max-width: 1100px; margin: 0 auto; }
.ces2-section .ces2-intro { text-align: center; max-width: 940px; margin: 0 auto 42px; }
.ces2-section .ces2-intro h2 {
  margin: 0 0 16px; padding: 0;
  color: var(--ces2-navy); font-size: clamp(30px, 3.1vw, 42px);
  line-height: 1.16; letter-spacing: -.025em; font-weight: 800;
}
.ces2-section .ces2-intro p {
  margin: 0; padding: 0; color: var(--ces2-body);
  font-size: clamp(17px, 1.5vw, 20px); line-height: 1.5;
}
.ces2-section .ces2-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; align-items: start; }
.ces2-section .ces2-item { min-width: 0; margin: 0; }
.ces2-section .ces2-video-frame {
  position: relative; width: 100%; aspect-ratio: var(--ces2-poster-ratio, 10 / 9);
  overflow: hidden; border-radius: 14px;
  border: 1px solid #D7E5F4; background: #E3EEF9;
  box-shadow: 0 10px 26px rgba(3, 85, 167, .10);
}
.ces2-section .ces2-video-frame iframe { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; }
.ces2-section .ces2-copy { padding: 23px 4px 0; }
.ces2-section .ces2-copy h3 {
  margin: 0 0 9px; padding: 0; color: var(--ces2-navy);
  font-size: clamp(22px, 2vw, 26px); font-weight: 800; line-height: 1.22;
}
.ces2-section .ces2-copy p { margin: 0; padding: 0; color: var(--ces2-body); font-size: 17px; line-height: 1.5; }
@media (max-width: 760px) {
  .ces2-section { padding: 48px 20px 62px; }
  .ces2-section .ces2-intro { margin-bottom: 32px; }
  .ces2-section .ces2-grid { grid-template-columns: minmax(0, 1fr); gap: 44px; }
  .ces2-section .ces2-copy { padding-top: 19px; }
}
@media (max-width: 430px) {
  .ces2-section { padding: 40px 15px 52px; }
  .ces2-section .ces2-intro h2 { font-size: 29px; }
  .ces2-section .ces2-intro p, .ces2-section .ces2-copy p { font-size: 16px; }
  .ces2-section .ces2-copy h3 { font-size: 23px; }
}

/* YouTube thumbnail posters and click-to-load player */
.ces2-section .ces2-video-trigger { display:block; position:absolute; inset:0; width:100%; height:100%; border:0; padding:0; margin:0; cursor:pointer; background:#f3f8fd; }
.ces2-section .ces2-poster { display:block; width:100%; height:100%; object-fit:contain; object-position:center center; }
.ces2-section .ces2-play { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); display:grid; place-items:center; filter:drop-shadow(0 3px 9px rgba(0,0,0,.22)); transition:transform .15s ease; }
@media (hover:hover) { .ces2-section .ces2-video-trigger:hover .ces2-play { transform:translate(-50%,-50%) scale(1.08); } }
.ces2-section .ces2-video-trigger:focus-visible { outline:3px solid #0879E8; outline-offset:-4px; }
