.elementor-5446 .elementor-element.elementor-element-fba3d72 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:flex-start;align-items:flex-start;}.elementor-5446 .elementor-element.elementor-element-fba3d72{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-5446 .elementor-element.elementor-element-26a40d9 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:flex-start;align-items:flex-start;}.elementor-5446 .elementor-element.elementor-element-26a40d9{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-5446 .elementor-element.elementor-element-8acad3b > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:flex-start;align-items:flex-start;}.elementor-5446 .elementor-element.elementor-element-8acad3b{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-5446 .elementor-element.elementor-element-d93b3fd > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:flex-start;align-items:flex-start;}.elementor-5446 .elementor-element.elementor-element-d93b3fd{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-5446 .elementor-element.elementor-element-9ccee90 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:flex-start;align-items:flex-start;}.elementor-5446 .elementor-element.elementor-element-9ccee90{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-5446 .elementor-element.elementor-element-629b5a1 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:flex-start;align-items:flex-start;}.elementor-5446 .elementor-element.elementor-element-629b5a1{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-5446 .elementor-element.elementor-element-0d41ed4 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:flex-start;align-items:flex-start;}.elementor-5446 .elementor-element.elementor-element-0d41ed4{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-5446 .elementor-element.elementor-element-e12ed84 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:flex-start;align-items:flex-start;}.elementor-5446 .elementor-element.elementor-element-e12ed84{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-5446 .elementor-element.elementor-element-e062f9b > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:flex-start;align-items:flex-start;}.elementor-5446 .elementor-element.elementor-element-e062f9b{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-5446 .elementor-element.elementor-element-f728572 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:flex-start;align-items:flex-start;}.elementor-5446 .elementor-element.elementor-element-f728572{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}body.elementor-page-5446:not(.elementor-motion-effects-element-type-background), body.elementor-page-5446 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#07070F;}/* Start custom CSS */@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&family=Playfair+Display:ital@1&display=swap');

:root{
  --ch-bg:#07070F;--ch-bg-card:#0D0D1A;--ch-bg-border:#1A1A2E;
  --ch-gold:#C9963A;--ch-text:#F0EEE8;--ch-muted:#9896A0;
}

[class^="ch-"],[class*=" ch-"],[class^="ch-"] *,[class*=" ch-"] *,[class^="ch-"] *::before,[class*=" ch-"] *::before,[class^="ch-"] *::after,[class*=" ch-"] *::after{box-sizing:border-box;}

.ch-hero,.ch-stats-wrap,.ch-leadform-section,.ch-services,.ch-why,.ch-showcase,.ch-marquee-wrap,.ch-stories,.ch-bottomcta{
  background:var(--ch-bg);
  color:var(--ch-text);
  font-family:'Inter',system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}

:where([class^="ch-"], [class*=" ch-"]) a{color:inherit;text-decoration:none;}
:where([class^="ch-"], [class*=" ch-"]) img{max-width:100%;display:block;}
:where([class^="ch-"], [class*=" ch-"]) button{font-family:inherit;cursor:pointer;}
:where([class^="ch-"], [class*=" ch-"]) :where(p,h1,h2,h3){margin:0;}
:where([class^="ch-"], [class*=" ch-"]) ul{margin:0;padding:0;list-style:none;}
.ch-mono{font-family:'JetBrains Mono',monospace;}
.ch-quote{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:400;}

/* KEYFRAMES */
@keyframes chFadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes chFadeIn{from{opacity:0}to{opacity:1}}
@keyframes chSlideR{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}
@keyframes chSlideL{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:translateX(0)}}
@keyframes chWordIn{from{opacity:0;transform:translateY(40px);filter:blur(10px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes chWordOut{from{opacity:1;transform:translateY(0);filter:blur(0)}to{opacity:0;transform:translateY(-40px);filter:blur(10px)}}
@keyframes chLogoScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes chMarqueeScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes chBorderBeam{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
@keyframes chPulse{0%,100%{box-shadow:0 0 0 0 rgba(201,150,58,0.5)}50%{box-shadow:0 0 0 10px rgba(201,150,58,0)}}

/* REVEAL HELPERS */
.ch-reveal{opacity:0;transform:translateY(24px);transition:opacity 0.7s cubic-bezier(0.22,1,0.36,1),transform 0.7s cubic-bezier(0.22,1,0.36,1);}
.ch-reveal.visible{opacity:1;transform:translateY(0);}
.ch-reveal-l{opacity:0;transform:translateX(-24px);transition:opacity 0.7s cubic-bezier(0.22,1,0.36,1),transform 0.7s cubic-bezier(0.22,1,0.36,1);}
.ch-reveal-l.visible{opacity:1;transform:translateX(0);}
.ch-reveal-r{opacity:0;transform:translateX(24px);transition:opacity 0.7s cubic-bezier(0.22,1,0.36,1),transform 0.7s cubic-bezier(0.22,1,0.36,1);}
.ch-reveal-r.visible{opacity:1;transform:translateX(0);}

/* HERO (reduced padding + reduced min-height per request) */
.ch-hero{position:relative;min-height:72vh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:70px 24px 0;}
.ch-hero-bg{position:absolute;inset:0;background:url('https://captivcontent.com/wp-content/uploads/2026/04/SEPT-SHOOT_2.1.5-scaled.jpg') center top/cover no-repeat;}
.ch-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(7,7,15,0.52) 0%,rgba(7,7,15,0.35) 45%,rgba(7,7,15,0.82) 100%);}
.ch-hero-inner{position:relative;z-index:2;text-align:center;max-width:780px;margin:0 auto;padding:16px 0 70px;}
.ch-hero-headline{font-size:clamp(38px,6vw,72px);font-weight:800;line-height:1.06;letter-spacing:-0.03em;margin-bottom:20px;text-shadow:0 2px 16px rgba(0,0,0,0.45);color:var(--ch-text);}
.ch-cycle-word{display:inline-block;position:relative;min-width:320px;color:var(--ch-gold);font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-0.01em;white-space:nowrap;}
.ch-cycle-word span{display:inline-block;}
.ch-cycle-word .anim-in{animation:chWordIn 0.48s cubic-bezier(0.22,1,0.36,1) forwards;}
.ch-cycle-word .anim-out{animation:chWordOut 0.48s cubic-bezier(0.22,1,0.36,1) forwards;}
.ch-hero-sub{font-size:17px;line-height:1.68;color:rgba(240,238,232,0.88);margin:0 auto 36px;max-width:520px;text-shadow:0 1px 8px rgba(0,0,0,0.4);}
.ch-cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:40px;}
.ch-btn-primary{padding:14px 30px;border-radius:6px;background:var(--ch-gold);color:#07070F;font-weight:700;font-size:15px;letter-spacing:0.01em;border:none;display:inline-block;transition:transform 0.18s;}
.ch-btn-primary:hover{transform:scale(1.04);}
.ch-btn-secondary{padding:14px 30px;border-radius:6px;border:1px solid rgba(240,238,232,0.35);color:rgba(240,238,232,0.92);background:rgba(255,255,255,0.07);backdrop-filter:blur(10px);font-weight:600;font-size:15px;display:inline-block;transition:transform 0.18s;}
.ch-btn-secondary:hover{transform:scale(1.03);}
.ch-social-proof{display:flex;align-items:center;justify-content:center;gap:14px;}
.ch-avatars{display:flex;}
.ch-avatar{width:30px;height:30px;border-radius:50%;border:2px solid rgba(7,7,15,0.6);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--ch-gold);}
.ch-avatar:not(:first-child){margin-left:-8px;}
.ch-trust-text{text-align:left;font-size:12.5px;font-weight:600;text-shadow:0 1px 6px rgba(0,0,0,0.5);}

/* Hero logo strip */
.ch-logo-strip-wrap{position:absolute;bottom:0;left:0;right:0;z-index:2;width:100%;overflow:hidden;padding:18px 0;-webkit-mask-image:linear-gradient(to right,transparent,black 80px,black calc(100% - 80px),transparent);mask-image:linear-gradient(to right,transparent,black 80px,black calc(100% - 80px),transparent);}
.ch-logo-track{display:flex;gap:64px;align-items:center;width:max-content;animation:chLogoScroll 22s linear infinite;}
.ch-logo-track:hover{animation-play-state:paused;}
.ch-logo-track img{height:34px;width:auto;max-width:120px;object-fit:contain;opacity:0.65;flex-shrink:0;}

/* STATS */
.ch-stats-wrap{background:rgba(7,7,15,0.8);}
.ch-stats{max-width:1160px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(4,1fr);}
.ch-stat{text-align:center;padding:28px 16px;}
.ch-stat:not(:last-child){border-right:1px solid rgba(255,255,255,0.05);}
.ch-stat-num{font-size:36px;font-weight:800;color:var(--ch-gold);letter-spacing:-0.03em;line-height:1;font-family:'JetBrains Mono',monospace;font-variant-numeric:tabular-nums;}
.ch-stat-label{font-size:11px;color:var(--ch-muted);margin-top:8px;line-height:1.4;letter-spacing:0.06em;text-transform:uppercase;font-family:'JetBrains Mono',monospace;}

/* LEAD FORM SECTION */
.ch-leadform-section{position:relative;overflow:hidden;padding:72px 24px;border-top:1px solid rgba(255,255,255,0.04);border-bottom:1px solid rgba(255,255,255,0.04);background:linear-gradient(135deg,#0D0D1A 0%,#07070F 50%,#0D0D1A 100%);}
.ch-leadform-overlay{position:absolute;inset:0;background:rgba(7,7,15,0.82);}
.ch-leadform-card-wrap{max-width:680px;margin:0 auto;position:relative;z-index:1;}
.ch-card{position:relative;background:rgba(7,7,15,0.92);border:1px solid rgba(201,150,58,0.2);border-radius:14px;padding:40px 36px;backdrop-filter:blur(20px);overflow:hidden;}
.ch-spotlight{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:0;transition:opacity 0.3s;}
.ch-card:hover .ch-spotlight{opacity:1;}
.ch-card-content{position:relative;z-index:1;}
.ch-card-head{text-align:center;margin-bottom:28px;}
.ch-card-head h2{font-size:clamp(22px,3vw,30px);font-weight:800;letter-spacing:-0.02em;margin-bottom:8px;color:var(--ch-text);}
.ch-card-head p{font-size:14px;color:var(--ch-muted);line-height:1.6;}

/* Border beam */
.ch-beam{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none;}
.ch-beam::before{content:'';position:absolute;top:50%;left:50%;width:200%;height:200%;background:conic-gradient(from 0deg,transparent 0%,transparent 85%,rgba(201,150,58,0.55) 92%,rgba(201,150,58,0.85) 96%,rgba(201,150,58,0.55) 100%);transform:translate(-50%,-50%);animation:chBorderBeam 10s linear infinite;}
.ch-beam::after{content:'';position:absolute;inset:1.5px;background:rgba(7,7,15,0.92);border-radius:inherit;}

/* GHL iframe wrapper */
.ch-ghl-wrap{position:relative;width:100%;min-height:760px;border-radius:8px;overflow:hidden;background:rgba(7,7,15,0.6);}
.ch-ghl-wrap iframe{width:100%;min-height:760px;border:0;display:block;}
.ch-form-note{font-size:11px;color:var(--ch-muted);text-align:center;line-height:1.5;margin-top:14px;}

/* SERVICES */
.ch-services{padding:96px 24px 60px;max-width:1160px;margin:0 auto;}
.ch-section-head{text-align:center;margin-bottom:56px;}
.ch-eyebrow{font-size:11px;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--ch-gold);margin-bottom:14px;font-family:'JetBrains Mono',monospace;}
.ch-section-h2{font-size:clamp(28px,4vw,44px);font-weight:800;letter-spacing:-0.025em;margin-bottom:14px;color:var(--ch-text);}
.ch-section-sub{font-size:16px;color:var(--ch-muted);max-width:520px;margin:0 auto;line-height:1.7;}
.ch-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.ch-service-card{position:relative;background:linear-gradient(135deg,rgba(13,13,26,0.85) 0%,rgba(7,7,15,0.95) 100%);border:1px solid rgba(255,255,255,0.06);border-radius:10px;padding:26px 22px;transition:border-color 0.25s;overflow:visible;}
.ch-service-card:hover{border-color:rgba(201,150,58,0.4);}
.ch-service-card .ch-corner{position:absolute;width:8px;height:8px;background:var(--ch-gold);opacity:0;transition:opacity 0.25s;}
.ch-service-card:hover .ch-corner{opacity:1;}
.ch-corner-tl{top:-4px;left:-4px;}
.ch-corner-tr{top:-4px;right:-4px;}
.ch-corner-bl{bottom:-4px;left:-4px;}
.ch-corner-br{bottom:-4px;right:-4px;}
.ch-service-icon{width:44px;height:44px;border-radius:8px;background:rgba(201,150,58,0.1);display:flex;align-items:center;justify-content:center;color:var(--ch-gold);margin-bottom:16px;}
.ch-service-title{font-size:16px;font-weight:700;margin-bottom:8px;letter-spacing:-0.01em;color:var(--ch-text);}
.ch-service-desc{font-size:13.5px;color:var(--ch-muted);line-height:1.65;margin-bottom:18px;}
.ch-service-platforms{display:flex;gap:8px;align-items:center;}
.ch-platform-circle{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);display:flex;align-items:center;justify-content:center;overflow:hidden;}

/* WHY */
.ch-why{padding:80px 24px 96px;background:rgba(13,13,26,0.45);border-top:1px solid rgba(255,255,255,0.04);border-bottom:1px solid rgba(255,255,255,0.04);}
.ch-why-grid{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;}
.ch-why-h2{font-size:clamp(26px,3.5vw,42px);font-weight:800;letter-spacing:-0.025em;line-height:1.12;margin-bottom:16px;color:var(--ch-text);}
.ch-why-h2 .gold{color:var(--ch-gold);}
.ch-why-body{font-size:15.5px;color:var(--ch-muted);line-height:1.74;margin-bottom:24px;}
.ch-why-cards{display:flex;flex-direction:column;gap:16px;}
.ch-why-card{display:flex;gap:18px;padding:22px 20px;background:rgba(13,13,26,0.8);border:1px solid rgba(255,255,255,0.06);border-radius:10px;}
.ch-why-num{font-size:11px;font-weight:500;color:var(--ch-gold);letter-spacing:0.08em;flex-shrink:0;padding-top:2px;font-family:'JetBrains Mono',monospace;}
.ch-why-card-title{font-size:15px;font-weight:700;margin-bottom:6px;color:var(--ch-text);}
.ch-why-card-desc{font-size:13.5px;color:var(--ch-muted);line-height:1.65;}

/* Video player */
.ch-video{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:16/9;background:var(--ch-bg-card);border:1px solid rgba(201,150,58,0.18);cursor:pointer;}
.ch-video-thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity 0.3s;}
.ch-video.playing .ch-video-thumb,.ch-video.playing .ch-play-btn{opacity:0;pointer-events:none;}
.ch-play-btn{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(7,7,15,0.32);border:none;cursor:pointer;transition:opacity 0.3s;}
.ch-play-btn .ch-play-ring{width:60px;height:60px;border-radius:50%;background:rgba(201,150,58,0.18);border:2px solid rgba(201,150,58,0.7);display:flex;align-items:center;justify-content:center;box-shadow:0 0 28px rgba(201,150,58,0.3);transition:transform 0.2s;}
.ch-play-btn:hover .ch-play-ring{transform:scale(1.07);}
.ch-video iframe{position:absolute;inset:0;width:100%;height:100%;border:none;}

/* VIDEO SHOWCASE */
.ch-showcase{padding:80px 24px 96px;max-width:1160px;margin:0 auto;}
.ch-showcase-frame{padding:3px;border-radius:20px;background:linear-gradient(135deg,rgba(201,150,58,0.55) 0%,rgba(201,150,58,0.15) 50%,rgba(201,150,58,0.55) 100%);max-width:860px;margin:0 auto;}
.ch-showcase-inner{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:16/9;background:var(--ch-bg-card);}
.ch-showcase-inner .ch-play-btn .ch-play-ring{width:76px;height:76px;border:2px solid rgba(201,150,58,0.7);box-shadow:0 0 32px rgba(201,150,58,0.35);}
.ch-showcase-close{position:absolute;top:12px;right:12px;z-index:20;width:32px;height:32px;border-radius:50%;background:rgba(7,7,15,0.75);border:1px solid rgba(255,255,255,0.15);color:var(--ch-text);display:none;align-items:center;justify-content:center;font-size:14px;line-height:1;backdrop-filter:blur(6px);}
.ch-video.playing+.ch-showcase-close{display:flex;}
.ch-showcase-caption{text-align:center;margin-top:18px;font-size:13px;color:var(--ch-muted);}

/* MARQUEE */
.ch-marquee-wrap{border-top:1px solid rgba(255,255,255,0.05);border-bottom:1px solid rgba(255,255,255,0.05);padding:14px 0;background:rgba(13,13,26,0.5);overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,black 80px,black calc(100% - 80px),transparent);mask-image:linear-gradient(to right,transparent,black 80px,black calc(100% - 80px),transparent);}
.ch-marquee-track{display:flex;width:max-content;animation:chMarqueeScroll 30s linear infinite;}
.ch-marquee-item{width:320px;display:flex;align-items:center;gap:10px;padding:0 20px;flex-shrink:0;}
.ch-marquee-dot{width:4px;height:4px;border-radius:50%;background:var(--ch-gold);flex-shrink:0;}
.ch-marquee-text{font-size:12.5px;color:var(--ch-muted);white-space:nowrap;font-weight:500;}

/* CLIENT STORIES */
.ch-stories{padding:80px 24px;background:rgba(13,13,26,0.45);border-top:1px solid rgba(255,255,255,0.04);}
.ch-stories-inner{max-width:1160px;margin:0 auto;}
.ch-stories-head{text-align:center;margin-bottom:48px;}
.ch-stories-h2{font-size:clamp(24px,3.5vw,40px);font-weight:800;letter-spacing:-0.025em;margin-bottom:12px;color:var(--ch-text);}
.ch-stories-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.ch-story-tile{background:rgba(13,13,26,0.8);border:1px solid rgba(255,255,255,0.07);border-radius:12px;overflow:hidden;}
.ch-story-video{position:relative;aspect-ratio:16/9;background:var(--ch-bg-card);}
.ch-story-video img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity 0.3s;}
.ch-story-video.playing img,.ch-story-video.playing .ch-play-btn{opacity:0;pointer-events:none;}
.ch-story-video iframe{position:absolute;inset:0;width:100%;height:100%;border:none;}
.ch-story-meta{padding:18px 20px;}
.ch-story-quote{font-size:14px;line-height:1.65;color:rgba(240,238,232,0.85);margin-bottom:14px;font-family:'Playfair Display',Georgia,serif;font-style:italic;}
.ch-story-name{font-size:13px;font-weight:700;color:var(--ch-text);}
.ch-story-org{font-size:12px;color:var(--ch-muted);margin-top:2px;}

/* BOTTOM CTA */
.ch-bottomcta{position:relative;overflow:hidden;padding:60px 24px 100px;}
.ch-bottomcta-bg{position:absolute;inset:0;background:url('https://captivcontent.com/wp-content/uploads/2026/04/christina04_1.12.1-1.jpg') center top/cover no-repeat;}
.ch-bottomcta-overlay{position:absolute;inset:0;background:rgba(7,7,15,0.80);}
.ch-bottomcta-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 60%,rgba(201,150,58,0.07) 0%,transparent 65%);pointer-events:none;}
.ch-bottomcta-card-wrap{max-width:700px;margin:0 auto;position:relative;z-index:1;}
.ch-bottomcta-card{background:rgba(13,13,26,0.95);border:1px solid rgba(201,150,58,0.2);border-radius:14px;padding:44px;position:relative;overflow:hidden;}

/* RESPONSIVE */
@media (max-width:900px){
  .ch-stats{grid-template-columns:1fr 1fr;}
  .ch-stat:nth-child(2){border-right:none;}
  .ch-services-grid{grid-template-columns:1fr 1fr;gap:14px;}
  .ch-why-grid{grid-template-columns:1fr;gap:40px;}
  .ch-stories-grid{grid-template-columns:1fr;gap:14px;}
}
@media (max-width:600px){
  .ch-hero{min-height:auto;padding:50px 16px 0;}
  .ch-hero-inner{padding:12px 0 60px;}
  .ch-hero-headline{font-size:34px;line-height:1.1;}
  .ch-cycle-word{min-width:0;display:block;}
  .ch-stats{padding:0 16px;}
  .ch-services{padding:64px 16px 40px;}
  .ch-services-grid{grid-template-columns:1fr;}
  .ch-why{padding:60px 16px 72px;}
  .ch-card{padding:32px 22px;}
  .ch-bottomcta-card{padding:28px 22px;}
  .ch-leadform-section{padding:56px 16px;}
  .ch-showcase{padding:56px 16px 72px;}
  .ch-stories{padding:56px 16px;}
}

/* ====================== PAGE 5446 HEADER + HERO POLISH ====================== */

/* Hero: breathing room above the headline */
.ch-hero { padding: 110px 24px 0; }
.ch-hero-inner { padding: 30px 0 70px; }
@media (max-width: 600px) {
  .ch-hero { padding: 88px 16px 0; }
  .ch-hero-inner { padding: 20px 0 60px; }
}

/* Force video thumbnails visible regardless of lazy-load / image-optimizer plugins */
.ch-video-thumb,
.ch-story-video img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* === STICKY HEADER (CSS-based, bypasses Elementor's sticky widget) === */
/* Elementor's sticky widget is only configured on the mobile burger section,
   not the desktop section. We make the whole <header> sticky ourselves. */
header.elementor-location-header {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
  width: 100% !important;
  transition: background-color 0.32s ease, box-shadow 0.32s ease, backdrop-filter 0.32s ease;
}
/* WP admin bar offset (preview only -- production visitors won't see this) */
body.admin-bar header.elementor-location-header { top: 32px !important; }
@media screen and (max-width: 782px) {
  body.admin-bar header.elementor-location-header { top: 46px !important; }
}

/* Transparent default (no scrolling) */
header.elementor-location-header,
header.elementor-location-header > .elementor-section,
header.elementor-location-header > .e-con {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
}
header.elementor-location-header .elementor-section,
header.elementor-location-header .e-con {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  transition: padding 0.32s ease;
}
header.elementor-location-header .elementor-widget {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
header.elementor-location-header .elementor-widget-image img {
  max-height: 42px !important;
  width: auto !important;
  transition: max-height 0.32s ease;
}
header.elementor-location-header .elementor-item,
header.elementor-location-header .elementor-item:link,
header.elementor-location-header .elementor-item:visited {
  color: #ffffff !important;
  text-shadow: 0 1px 6px rgba(0,0,0,0.45);
  transition: color 0.22s ease, text-shadow 0.32s ease;
}

/* Dropdowns always readable (solid bg, dark text regardless of header state) */
header.elementor-location-header .elementor-nav-menu--dropdown,
header.elementor-location-header ul.sub-menu {
  background: rgba(255,255,255,0.97) !important;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: 0 6px 24px rgba(0,0,0,0.10) !important;
  border: none !important;
}
header.elementor-location-header .elementor-sub-item,
header.elementor-location-header .sub-menu .elementor-item {
  color: #07070F !important;
  text-shadow: none !important;
}

/* === SCROLLED STATE: solid white + dark text === */
/* JS adds .captiv-scrolled to the header element when scrollY > 30. */
header.elementor-location-header.captiv-scrolled,
header.elementor-location-header.captiv-scrolled > .elementor-section,
header.elementor-location-header.captiv-scrolled > .e-con {
  background: rgba(255,255,255,0.96) !important;
  background-color: rgba(255,255,255,0.96) !important;
  box-shadow: 0 2px 14px rgba(7,7,15,0.08) !important;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
header.elementor-location-header.captiv-scrolled .elementor-section,
header.elementor-location-header.captiv-scrolled .e-con {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}
header.elementor-location-header.captiv-scrolled .elementor-widget-image img {
  max-height: 34px !important;
}
header.elementor-location-header.captiv-scrolled .elementor-item,
header.elementor-location-header.captiv-scrolled .elementor-item:link,
header.elementor-location-header.captiv-scrolled .elementor-item:visited {
  color: #07070F !important;
  text-shadow: none !important;
}

/* ==================== END PAGE 5446 HEADER + HERO POLISH ==================== */

/* ====================== PAGE 5446 MOBILE TWEAKS V2 ====================== */

/* --- Play button: keep the dark overlay (don't let theme buttons paint it gold) --- */
.ch-video .ch-play-btn,
.ch-story-video .ch-play-btn,
button.ch-play-btn {
  background: rgba(7,7,15,0.32) !important;
  background-color: rgba(7,7,15,0.32) !important;
  background-image: none !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  color: inherit !important;
  padding: 0 !important;
}
.ch-video .ch-play-btn:hover,
.ch-story-video .ch-play-btn:hover,
button.ch-play-btn:hover {
  background: rgba(7,7,15,0.22) !important;
  background-color: rgba(7,7,15,0.22) !important;
}
.ch-video-thumb, .ch-story-video img { z-index: 1 !important; }
.ch-play-btn { z-index: 2 !important; }

/* --- LOGO: revert to original brand colors (no white-silhouette filter) --- */
header.elementor-location-header .elementor-widget-image img,
header.elementor-location-header:not(.captiv-scrolled) .elementor-widget-image img,
header.elementor-location-header.captiv-scrolled .elementor-widget-image img {
  filter: none !important;
}

/* --- MOBILE/TABLET LOGO SIZING --- */
@media (max-width: 1024px) {
  header.elementor-location-header .elementor-widget-image img {
    max-height: 32px !important;
    max-width: 160px !important;
    width: auto !important;
  }
  header.elementor-location-header .elementor-section,
  header.elementor-location-header .e-con {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }
}
@media (max-width: 600px) {
  header.elementor-location-header .elementor-widget-image img {
    max-height: 28px !important;
    max-width: 140px !important;
  }
}

/* --- BURGER MENU: dark, readable, centered --- */
/* On screens that use the burger (where Elementor swaps to dropdown layout) the
   menu items appear on a WHITE dropdown panel. They must NOT inherit the white
   text-color used on desktop transparent header. */
@media (max-width: 1024px) {
  /* Items in the burger panel: dark text, centered, generous tap targets */
  header.elementor-location-header .elementor-nav-menu--dropdown .elementor-item,
  header.elementor-location-header .elementor-nav-menu--dropdown a.elementor-item,
  header.elementor-location-header .elementor-nav-menu--dropdown a.elementor-sub-item,
  header.elementor-location-header nav .elementor-item {
    color: #07070F !important;
    text-shadow: none !important;
    text-align: center !important;
    justify-content: center !important;
    padding: 14px 16px !important;
    font-weight: 600 !important;
  }
  /* Dropdown wrapper: clean white background */
  header.elementor-location-header .elementor-nav-menu--dropdown {
    background: #ffffff !important;
    text-align: center !important;
  }
  header.elementor-location-header .elementor-nav-menu--dropdown ul,
  header.elementor-location-header .elementor-nav-menu--dropdown .elementor-nav-menu {
    text-align: center !important;
  }
  /* The burger / close (X) toggle button itself */
  header.elementor-location-header .elementor-menu-toggle {
    color: #ffffff !important;
    opacity: 1 !important;
    background: transparent !important;
    border: none !important;
  }
  /* When the dropdown is open, the toggle (X) sits over the white panel -> dark */
  header.elementor-location-header .elementor-menu-toggle.elementor-active,
  header.elementor-location-header .elementor-menu-toggle[aria-expanded="true"] {
    color: #07070F !important;
  }
  /* Dropdown arrows next to items with sub-menus */
  header.elementor-location-header .elementor-nav-menu--dropdown .sub-arrow,
  header.elementor-location-header .elementor-nav-menu--dropdown .e-fas-caret-down {
    color: #07070F !important;
  }
}

/* --- HERO BACKGROUND IMAGE: shift right on mobile so the man's face shows --- */
@media (max-width: 768px) {
  .ch-hero-bg { background-position: 72% center !important; }
}
@media (max-width: 480px) {
  .ch-hero-bg { background-position: 75% center !important; }
}

/* ==================== END PAGE 5446 MOBILE TWEAKS V2 ==================== */

/* ====================== PAGE 5446 MOBILE HEADER WHITE ====================== */
/* On mobile/tablet, the header is ALWAYS solid white -- not the
   transparent-at-top, white-when-scrolled pattern used on desktop.
   That keeps the logo and menu items readable at all times on phones. */
@media (max-width: 1024px) {
  header.elementor-location-header,
  header.elementor-location-header > .elementor-section,
  header.elementor-location-header > .e-con,
  header.elementor-location-header.captiv-scrolled,
  header.elementor-location-header.captiv-scrolled > .elementor-section,
  header.elementor-location-header.captiv-scrolled > .e-con {
    background: rgba(255,255,255,0.97) !important;
    background-color: rgba(255,255,255,0.97) !important;
    box-shadow: 0 2px 14px rgba(7,7,15,0.08) !important;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
  }
  header.elementor-location-header .elementor-item,
  header.elementor-location-header .elementor-item:link,
  header.elementor-location-header .elementor-item:visited,
  header.elementor-location-header.captiv-scrolled .elementor-item,
  header.elementor-location-header.captiv-scrolled .elementor-item:link,
  header.elementor-location-header.captiv-scrolled .elementor-item:visited {
    color: #07070F !important;
    text-shadow: none !important;
  }
  header.elementor-location-header .elementor-menu-toggle,
  header.elementor-location-header.captiv-scrolled .elementor-menu-toggle {
    color: #07070F !important;
    opacity: 1 !important;
  }
  /* The hero already has -10px top spacing built in -- just make sure the
     hero starts BELOW the now-solid header rather than under it. */
  .ch-hero { padding-top: 90px !important; }
}
@media (max-width: 600px) {
  .ch-hero { padding-top: 76px !important; }
}
/* ==================== END PAGE 5446 MOBILE HEADER WHITE ==================== */

/* ====================== HERO LOGO STRIP (transparent + reversed) ====================== */
.ch-hero .ch-logo-strip-wrap {
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  border-top: none !important;
  border-bottom: none !important;
  padding: 18px 0 !important;
}
.ch-hero .ch-logo-track {
  gap: 72px !important;
  animation-duration: 36s !important;
  animation-direction: reverse !important;   /* flipped */
}
.ch-hero .ch-logo-track img {
  height: 56px !important;
  max-width: 170px !important;
  width: auto !important;
  object-fit: contain !important;
  filter: none !important;
  opacity: 0.92 !important;
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.ch-hero .ch-logo-track img:hover {
  opacity: 1 !important;
  transform: scale(1.05);
}

/* ===== Mobile: smaller logos, less gap, more bottom padding on the
   hero inner so the trust line doesn't overlap the marquee strip ===== */
@media (max-width: 600px) {
  .ch-hero .ch-logo-strip-wrap { padding: 12px 0 !important; }
  .ch-hero .ch-logo-track { gap: 40px !important; }
  .ch-hero .ch-logo-track img { height: 38px !important; max-width: 110px !important; }
  /* push trust line up so the marquee sits below it cleanly */
  .ch-hero-inner { padding-bottom: 130px !important; }
}
/* ==================== END HERO LOGO STRIP ==================== */

/* === HERO INNER DESKTOP PUSH-UP ===
   Adds vertical breathing room between the Trusted-by line and the
   absolute-positioned logo carousel at the bottom of the hero. */
@media (min-width: 601px) {
  .ch-hero-inner { padding-bottom: 150px !important; }
}
/* === END HERO INNER DESKTOP PUSH-UP === *//* End custom CSS */