/*
Theme Name: CPGS Divi 5 Child
Description: CPGS Divi 5 native layouts, brand system, bundled approved photography and admin tools. Divi 5 parent theme required.
Author: CPGS Site Build
Version: 4.0.0
Template: Divi
Requires PHP: 7.4
Text Domain: cpgs-divi5
*/
:root { --cpgs-ink: #111111; --cpgs-pink: #e20073; --cpgs-paper: #fafaf8; --cpgs-soft: #f3f2ef; --cpgs-line: #deddd8; }
body { background: var(--cpgs-paper); color: var(--cpgs-ink); font-family:Inter,Arial,sans-serif; }
h1,h2,h3,h4 { font-family:"Inter Tight",Inter,Arial,sans-serif; letter-spacing:-.035em; }
.cpgs-section { overflow:hidden; }
.cpgs-section .et_pb_row { box-sizing:border-box; }
.cpgs-photo-hero { position:relative; isolation:isolate; background-color:#171717 !important; background-position: center center !important; background-size:cover !important; }
.cpgs-photo-hero::before { content:""; display:block; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.90) 0%,rgba(0,0,0,.68) 45%,rgba(0,0,0,.24) 100%); z-index:0; pointer-events:none; }
.cpgs-photo-hero > .et_pb_row, .cpgs-photo-hero > .et_pb_row_inner { position:relative; z-index:1; }
.cpgs-photo-hero h1 { max-width:810px; }
.cpgs-home-hero { min-height:590px; display:flex; align-items:center; }
.cpgs-home-hero .et_pb_row { width:100%; }
.cpgs-home-hero .et_pb_column { max-width:800px; }
.cpgs-eyebrow { text-transform:uppercase; letter-spacing:.17em; font-weight:700; }
.cpgs-eyebrow p { padding-bottom:0; margin-bottom:11px; }
.cpgs-metrics .et_pb_row:first-child .et_pb_column { text-align:center; }
.cpgs-metrics .et_pb_row:first-child .et_pb_column + .et_pb_column { border-left:1px solid var(--cpgs-line); }
.cpgs-metric-label p { font-size:13px; letter-spacing:.12em; text-transform:uppercase; font-weight:700; }
.cpgs-card-band .et_pb_row:not(:first-child) .et_pb_column { border:1px solid var(--cpgs-line); padding:26px; border-radius:14px; background-color:#fff; height:auto; }
.cpgs-card-band .et_pb_row:not(:first-child) { margin-top:18px; }
.cpgs-card-band .et_pb_row:not(:first-child) .et_pb_column:hover { border-color:#c4c1c0; box-shadow:0 12px 32px rgba(0,0,0,.045); }
.cpgs-dark-card-band .et_pb_row:not(:first-child) .et_pb_column { background-color:#222; border-color:#444; }
.cpgs-photo img, .cpgs-feature-image img { width:100%; aspect-ratio:4 / 3; object-fit:cover; border-radius:10px; }
.cpgs-technology-band .cpgs-photo img { aspect-ratio:5/4; }
.cpgs-button .et_pb_button { border-radius:50px!important; box-shadow:0 12px 28px rgba(226,0,115,.16); }
.cpgs-global-header { position:relative; z-index:50; border-bottom:1px solid var(--cpgs-line); overflow:visible; }
.cpgs-global-header .et_pb_row { display:flex; align-items:center; }
.cpgs-global-header .cpgs-logo img { width:min(180px,100%); max-height:48px; object-fit:contain; }
.cpgs-global-header .et_pb_menu { background:transparent!important; }
.cpgs-global-header .et-menu a { color:var(--cpgs-ink)!important; font-weight:600; }
.cpgs-global-header .et-menu a:hover { color:var(--cpgs-pink)!important; }
.cpgs-global-header .et_pb_button { white-space:nowrap; }
.cpgs-global-footer { overflow:visible; }
.cpgs-global-footer .cpgs-logo img { max-width:210px; width:100%; height:auto; }
.cpgs-global-footer .et_pb_link { display:block; margin:7px 0; }
.cpgs-global-footer .et_pb_link a { color:#eee; }
.cpgs-global-footer .et_pb_link a:hover { color:#ff83c3; }
.cpgs-faqs .et_pb_accordion { max-width:100%; }
.cpgs-emergency h2 { overflow-wrap:anywhere; }
@media(max-width:980px) {
 .cpgs-photo-hero { background-position:60% center !important; }
 .cpgs-photo-hero::before { background:linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.62)); }
 .cpgs-global-header .et_pb_row { flex-wrap:wrap; }
 .cpgs-global-header .et_pb_column { min-width:0; }
 .cpgs-card-band .et_pb_row:not(:first-child) .et_pb_column { margin-bottom:18px; }
}
@media(max-width:767px) {
 .cpgs-photo-hero h1 { font-size:clamp(39px,11vw,54px)!important; }
 .cpgs-home-hero { min-height:540px; }
 .cpgs-home-hero .et_pb_section { padding:74px 0!important; }
 .cpgs-metrics .et_pb_row:first-child .et_pb_column + .et_pb_column { border-left:0; border-top:1px solid var(--cpgs-line); padding-top:18px; }
 .cpgs-metrics .et_pb_row:first-child .et_pb_column { padding-bottom:18px; }
 .cpgs-global-header .cpgs-logo img { max-width:156px; }
 .cpgs-section { padding-top:55px!important; padding-bottom:55px!important; }
}
@media(prefers-reduced-motion:reduce) { *,*:before,*:after { scroll-behavior:auto!important; transition-duration:.01ms!important; } }
