/*
Theme Name: Optimization Consulting Group - Divi Child
Theme URI: https://optimization.ca
Description: Corporate-blue consulting website for Marketing, Business Operations and IT/Cybersecurity. Requires Divi parent theme.
Author: Optimization Consulting Group
Version: 16.0.0
Template: Divi
Text Domain: ocg
*/
:root{--navy:#082b49;--deep:#051b2f;--blue:#0b5683;--teal:#08aab4;--gold:#c7a45c;--light:#f3f7fa;--text:#21364a}*{box-sizing:border-box}body{color:var(--text)}.ocg-site{font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}.ocg-site a{text-decoration:none}.ocg-wrap{width:min(1160px,92%);margin:auto}.ocg-top{background:var(--deep);color:#d6e6f1;font-size:12px;padding:7px 0}.ocg-top .ocg-wrap{text-align:right}.ocg-header{background:white;position:sticky;top:0;z-index:100;box-shadow:0 2px 14px #092b4a12}.ocg-nav{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:85px}.ocg-brand img{width:295px;max-width:100%;height:auto;display:block}.ocg-menu{display:flex;align-items:center;gap:21px;flex-wrap:wrap}.ocg-menu a{color:#12334d;font-size:13px;font-weight:700}.ocg-menu a:hover{color:var(--teal)}.ocg-btn,.ocg-site button.ocg-btn{display:inline-block;border:0;border-radius:6px;background:var(--teal);color:#fff!important;padding:13px 24px;font-weight:700;cursor:pointer;font-size:14px}.ocg-btn:hover{background:#087d93}.ocg-btn-outline{background:transparent;border:1px solid #a7d7e1}.ocg-hero{background:linear-gradient(110deg,#041a2e 0%,#092e4c 58%,#124d6a 100%);color:white;padding:94px 0 96px;position:relative;overflow:hidden}.ocg-hero:after{content:'';position:absolute;right:-9%;top:-35%;width:65%;height:155%;border:1px solid #ffffff18;border-radius:50%;box-shadow:0 0 0 75px #ffffff06,0 0 0 155px #ffffff04;pointer-events:none}.ocg-hero-content{position:relative;z-index:1;max-width:780px}.ocg-kicker{text-transform:uppercase;letter-spacing:3px;color:#52d1d6;font-size:12px;font-weight:800}.ocg-hero h1{font-size:clamp(39px,5.3vw,70px);color:#fff;line-height:1.09;letter-spacing:-2px;margin:20px 0}.ocg-hero h1 span{color:#37cad0}.ocg-hero p{font-size:19px;max-width:680px;color:#d9e8f0;margin:0 0 30px}.ocg-actions{display:flex;gap:12px;flex-wrap:wrap}.ocg-section{padding:80px 0}.ocg-section-alt{background:var(--light)}.ocg-heading{text-align:center;max-width:770px;margin:0 auto 42px}.ocg-heading h2,.ocg-pagehead h1{color:var(--navy);font-size:clamp(29px,3.4vw,43px);line-height:1.2;margin:10px 0}.ocg-heading p{color:#5a6d7c}.ocg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.ocg-card{background:white;border:1px solid #e2e9ee;border-radius:12px;padding:30px;box-shadow:0 12px 35px #0b2e4b0b}.ocg-card h3{color:var(--navy);font-size:22px;margin:10px 0}.ocg-card p{color:#586b7a}.ocg-card ul{padding-left:18px}.ocg-card li{margin:6px 0}.ocg-icon{font-size:34px;color:var(--blue)}.ocg-link{color:#006f91;font-weight:700}.ocg-feature{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.ocg-feature h2{font-size:40px;line-height:1.2;color:var(--navy)}.ocg-panel{background:linear-gradient(145deg,#092c4b,#0b5278);padding:44px;border-radius:14px;color:#fff}.ocg-panel h3{color:white}.ocg-panel p{color:#d5e6ef}.ocg-stat{display:flex;gap:16px;margin-top:20px;border-top:1px solid #ffffff35;padding-top:20px}.ocg-stat strong{font-size:27px;color:#50d4d7}.ocg-pagehead{background:var(--light);padding:62px 0;text-align:center}.ocg-pagehead p{max-width:740px;margin:0 auto;color:#596f7e}.ocg-service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:30px 0}.ocg-service-list div{padding:15px 18px;background:#f1f7fa;border-left:3px solid var(--teal);border-radius:4px}.ocg-price{font-size:34px;color:var(--navy);font-weight:800}.ocg-price small{font-size:15px;color:#647684}.ocg-form{max-width:770px;margin:0 auto;background:white;border:1px solid #e3eaf0;border-radius:12px;padding:34px}.ocg-form label{display:block;font-weight:700;color:var(--navy);margin:0 0 16px}.ocg-form input,.ocg-form select,.ocg-form textarea{width:100%;border:1px solid #cbd9e2;border-radius:5px;padding:12px;margin-top:6px;font:inherit;background:#fff}.ocg-form textarea{min-height:120px}.ocg-form .ocg-btn{margin-top:12px}.ocg-note{font-size:13px;color:#5e7180}.ocg-alert{padding:14px 18px;background:#eaf7f4;border-left:4px solid #179c83;margin-bottom:25px}.ocg-alert-error{background:#fff1f0;border-color:#c94343}.ocg-cta{background:var(--navy);color:white;text-align:center;padding:62px 0}.ocg-cta h2{color:white;font-size:35px}.ocg-cta p{color:#d1e1ed}.ocg-footer{background:#041b2e;color:#b8cedd;padding:54px 0 24px}.ocg-footer a{color:#d6e7f1}.ocg-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}.ocg-footer h4{color:#fff}.ocg-footer-bottom{border-top:1px solid #244357;margin-top:32px;padding-top:20px;font-size:12px}.ocg-booking{background:white;border:1px solid #dfe9f0;padding:28px;border-radius:12px;max-width:960px;margin:auto}.ocg-site .et_pb_section{padding:0}.ocg-faq details{background:#fff;border:1px solid #e2e9ee;padding:18px;margin-bottom:12px;border-radius:8px}.ocg-faq summary{font-weight:700;cursor:pointer}@media(max-width:980px){.ocg-nav{align-items:flex-start;flex-direction:column;padding:15px 0}.ocg-menu{gap:14px}.ocg-grid{grid-template-columns:1fr 1fr}.ocg-feature{grid-template-columns:1fr;gap:20px}}@media(max-width:650px){.ocg-grid,.ocg-service-list,.ocg-footer-grid{grid-template-columns:1fr}.ocg-hero{padding:70px 0}.ocg-section{padding:55px 0}.ocg-menu{gap:12px}.ocg-menu a{font-size:12px}.ocg-brand img{width:250px}.ocg-form{padding:18px}.ocg-feature h2{font-size:30px}}


/* OCG v15 — pricing quote CTA */
.ocg-quote-cta{position:relative;overflow:hidden;isolation:isolate;margin:56px 0 12px;padding:clamp(32px,5vw,74px);background:radial-gradient(circle at 85% 15%,#185489 0%,transparent 40%),linear-gradient(120deg,#06182e,#0c3154 75%,#081a2e);color:#fff;border:1px solid rgba(228,178,89,.32);border-radius:22px;box-shadow:0 20px 55px rgba(2,15,32,.22)}.ocg-quote-inner{position:relative;z-index:2;max-width:750px}.ocg-quote-label{color:#eab95d;font-size:12px;letter-spacing:.19em;font-weight:800;margin-bottom:18px}.ocg-quote-cta h2{color:#fff!important;font-size:clamp(29px,3.6vw,53px);line-height:1.15;margin:0 0 20px}.ocg-quote-cta h2 span{color:#efbc64}.ocg-quote-cta p{color:#e6eff8!important;font-size:17px;line-height:1.7;max-width:650px}.ocg-quote-buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.ocg-quote-buttons a{padding:15px 22px;border-radius:7px;text-decoration:none;font-weight:700;display:inline-flex;align-items:center}.ocg-quote-primary{background:linear-gradient(120deg,#f6ca77,#cf9033);color:#081a2c!important}.ocg-quote-secondary{border:1px solid #e7b65b;color:#fff!important;background:rgba(0,0,0,.12)}.ocg-quote-foot{margin-top:25px;color:#c9d7e5;font-size:12px}.ocg-quote-orb{position:absolute;right:-25px;top:0;font-size:270px;line-height:1;color:rgba(238,181,83,.12);pointer-events:none}@media(max-width:700px){.ocg-quote-cta{margin:32px 0;padding:30px 23px}.ocg-quote-buttons a{width:100%;justify-content:center}}

/* v20 — accessible consent rows; override generic .ocg-form label/input rules */
.ocg-site .ocg-form .ocg-consent-group{display:grid;gap:14px;margin:8px 0 12px;grid-column:1/-1}
.ocg-site .ocg-form label.ocg-consent-row{display:flex!important;align-items:flex-start!important;gap:13px!important;width:100%;margin:0!important;padding:15px 17px;border:1px solid #dce5ee;border-radius:14px;background:#f8fafc;font-size:14px;font-weight:400;line-height:1.55;color:#18334d;cursor:pointer;box-sizing:border-box}
.ocg-site .ocg-form label.ocg-consent-row:focus-within{outline:3px solid #e8b96777;outline-offset:2px}
.ocg-site .ocg-form label.ocg-consent-row input[type=checkbox],.ocg-site .ocg-form .ocg-consent-row input[type=checkbox]{appearance:auto!important;-webkit-appearance:checkbox!important;flex:0 0 19px!important;width:19px!important;height:19px!important;min-width:19px!important;min-height:19px!important;max-width:19px!important;max-height:19px!important;padding:0!important;margin:2px 0 0!important;box-shadow:none!important;border-radius:4px!important;accent-color:#b17d28;vertical-align:top}
.ocg-site .ocg-form .ocg-consent-row span{display:block;flex:1;min-width:0}
.ocg-site .ocg-form .ocg-consent-row strong{font-weight:700;color:#7d5a20}
