
/* CamcorderFilmz Cinematic UI System v1.21.0 */
:root{
  --cf-black:#0A0A0A;
  --cf-surface-1:#121212;
  --cf-surface-2:#181818;
  --cf-surface-3:#202020;
  --cf-text:#F5F5F5;
  --cf-text-soft:#D8D8D8;
  --cf-muted:#9A9A9A;
  --cf-gold:#C8A24A;
  --cf-red:#B3261E;
  --cf-border:rgba(245,245,245,.10);
  --cf-border-strong:rgba(245,245,245,.18);
  --cf-shadow:0 18px 50px rgba(0,0,0,.34);
  --cf-radius:2px;
  --cf-page-pad:clamp(16px,4.25vw,72px);
  --cf-section-y:clamp(48px,6vw,92px);
  --cf-font-display:"Bebas Neue",Impact,"Arial Narrow",sans-serif;
  --cf-font-ui:"Montserrat",Arial,sans-serif;
  --cf-font-body:"Inter",Arial,sans-serif;
}
html{background:var(--cf-black);scroll-behavior:smooth}
body{background:var(--cf-black);color:var(--cf-text);font-family:var(--cf-font-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body:not(.wp-admin) :where(p,li){color:var(--cf-text-soft)}
body:not(.wp-admin) :where(a,button,input,select,textarea){font-family:var(--cf-font-ui)}
body:not(.wp-admin) :where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--cf-gold)!important;outline-offset:3px!important}

/* Shared plugin surfaces */
body:not(.wp-admin) :where(.cfnh-shell,.cfpt-wrap,.cfps-wrap,.cfvg-wrap,.cfservices,.cfsvc-cards,.cffooter,.cfabout,.cfmfa,.cfhome-story,.cffg-wrap){color:var(--cf-text)}
body:not(.wp-admin) :where(.cfpt-wrap,.cfvg-wrap,.cfservices,.cfsvc-cards,.cfabout,.cfmfa,.cfhome-story){background:var(--cf-black)}

/* Consistent text hierarchy */
body:not(.wp-admin) :where(.cfsvc-cards,.cfservices,.cfabout,.cfmfa,.cfhome-story,.cffooter) :where(.eyebrow,.kicker,[class*="-kicker"],[class*="-eyebrow"]){font-family:var(--cf-font-ui);text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--cf-red)}
body:not(.wp-admin) :where(.cfsvc-cards,.cfservices,.cfabout,.cfmfa,.cfhome-story,.cffooter) h1,
body:not(.wp-admin) :where(.cfsvc-cards,.cfservices,.cfabout,.cfmfa,.cfhome-story,.cffooter) h2,
body:not(.wp-admin) :where(.cfsvc-cards,.cfservices,.cfabout,.cfmfa,.cfhome-story,.cffooter) h3{color:var(--cf-text)}

/* Dark surfaces should read as layers, not a flat black sheet */
body:not(.wp-admin) :where(.cfservices-card,.cfmfa-card,.cfhome-card,.cfpt-card,.cfvg-card){background:var(--cf-surface-2);border-color:var(--cf-border)}

/* Unified motion; respect accessibility preference */
body:not(.wp-admin) :where(.cfsvc-card,.cfpt-card,.cfvg-card,.cfps-card,.cffg-item,a,button){transition-duration:.24s;transition-timing-function:cubic-bezier(.2,.75,.25,1)}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  body:not(.wp-admin) *,body:not(.wp-admin) *:before,body:not(.wp-admin) *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

/* Native scrollbar: subtle, app-like */
body:not(.wp-admin){scrollbar-color:#333 var(--cf-black);scrollbar-width:thin}
body:not(.wp-admin)::-webkit-scrollbar{width:10px}
body:not(.wp-admin)::-webkit-scrollbar-track{background:var(--cf-black)}
body:not(.wp-admin)::-webkit-scrollbar-thumb{background:#333;border:2px solid var(--cf-black)}

/* Divi guardrails so shortcode modules can be truly full width */
body:not(.wp-admin) .et_pb_code_inner:has(> .cfsvc-cards),
body:not(.wp-admin) .et_pb_text_inner:has(> .cfsvc-cards){overflow:visible}

@media(max-width:767px){
  :root{--cf-page-pad:16px;--cf-section-y:44px}
}
