:root{--cav-blue:#0b3f91;--cav-navy:#062d63;--cav-gold:#d7a72f;--cav-orange:#ff4b16;--cav-line:#dce4ef;--cav-ink:#082e63;--cav-copy:#53657b}
.cav,.cav *{box-sizing:border-box}.cav{width:100%;font-family:inherit;color:var(--cav-ink)}.cav h2,.cav h3,.cav p{margin-top:0}.cesufi-aovivo-notice{padding:14px 16px;border:1px dashed rgba(7,63,167,.35);border-radius:10px;color:#53627a;background:rgba(7,63,167,.03)}
.cav-proposal{padding:8px 0}.cav-proposal-kicker,.cav-grade-kicker{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:11px;line-height:1.3;text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:#a97819}.cav-proposal-kicker:before,.cav-grade-kicker:before{content:"";width:28px;height:2px;background:currentColor;display:inline-block;flex:0 0 28px}.cav-proposal-headline{margin:0 0 22px;max-width:860px;color:var(--cav-ink);font-size:clamp(30px,3.25vw,42px);line-height:1.06;letter-spacing:-.032em}.cav-proposal-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;align-items:stretch}.cav-proposal-card{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;align-items:start;height:100%;min-height:230px;padding:22px;border:1px solid #dfe6ef;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(7,45,92,.055);overflow:hidden}.cav-proposal-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:#d8e1ec}.cav-proposal-card-objective{border-color:#e8dfc7}.cav-proposal-card-objective:before{background:var(--cav-gold)}.cav-proposal-card-audience:before{background:#174bad}.cav-proposal-card-positioning:before{background:var(--cav-navy)}.cav-proposal-num{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:11px;background:#174bad;color:#fff;font-size:11px;font-weight:900}.cav-proposal-card-objective .cav-proposal-num{background:var(--cav-gold)}.cav-proposal-card-positioning .cav-proposal-num{background:var(--cav-navy)}.cav-proposal-card h3,.cav-positioning-title{display:block;margin:1px 0 9px;color:var(--cav-ink);font-size:18px;line-height:1.2;font-weight:900}.cav-proposal-copy{color:#58697f;font-size:14.5px;line-height:1.7}.cav-proposal-copy p{font:inherit;color:inherit;margin:0}.cav-proposal-copy p+p{margin-top:8px}.cav-proposal-cta-wrap{display:flex;justify-content:flex-start;margin-top:18px}.cav-proposal-cta,.cav-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border-radius:11px;background:var(--cav-gold);color:#ffffff;font-size:14px;font-weight:900;text-decoration:none!important;box-shadow:0 10px 24px rgba(215,167,47,.18)}
.cav-grade{background:#fff;padding:0;color:var(--cav-ink)}.cav-grade-prefix{font-size:18px;font-weight:700;color:#64748a;margin-bottom:6px}.cav-grade-title{font-size:clamp(34px,4.4vw,54px);line-height:1.04;color:var(--cav-blue);margin:0 0 20px;max-width:1050px}.cav-grade-facts{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}.cav-grade-facts span{display:grid;grid-template-columns:8px auto auto;align-items:center;gap:9px;background:#fbfcfe;border:1px solid var(--cav-line);border-radius:10px;padding:11px 16px;min-height:48px}.cav-grade-facts i{width:7px;height:7px;border-radius:50%;background:var(--cav-orange)}.cav-grade-facts small{font-size:12px;color:#617188;font-weight:700}.cav-grade-facts strong{font-size:14px;color:var(--cav-blue);font-weight:900}.cav-grade-master{border:1px solid #d7e0ec;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 7px 20px rgba(8,43,89,.03)}.cav-grade-toggle{appearance:none;width:100%;border:0;background:#fff;padding:18px 22px;display:grid;grid-template-columns:44px minmax(0,1fr) auto 42px;gap:14px;align-items:center;text-align:left;cursor:pointer;color:var(--cav-ink)}.cav-grade-toggle:hover{background:#fcfdff}.cav-grade-toggle-icon{width:40px;height:40px;border:1px solid #cfdbea;border-radius:10px;background:#f7f9fc;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.cav-grade-toggle-icon b{display:block;width:17px;height:2px;background:var(--cav-blue);border-radius:2px}.cav-grade-toggle-copy{display:flex;flex-direction:column;min-width:0}.cav-grade-toggle-copy strong{font-size:18px;line-height:1.2;color:#17304f}.cav-grade-toggle-copy small{font-size:14px;line-height:1.35;color:#65758a;margin-top:3px}.cav-grade-toggle-count{font-size:13px;font-weight:900;text-transform:uppercase;color:#64748a;white-space:nowrap}.cav-grade-chevron{width:40px;height:40px;border:1px solid #d5dfec;border-radius:50%;position:relative;transition:transform .2s ease;background:#fff}.cav-grade-chevron:before,.cav-grade-chevron:after{content:"";position:absolute;top:18px;width:10px;height:2px;background:var(--cav-blue);border-radius:2px}.cav-grade-chevron:before{left:11px;transform:rotate(45deg)}.cav-grade-chevron:after{right:11px;transform:rotate(-45deg)}.cav-grade-master.is-open .cav-grade-chevron{transform:rotate(180deg)}.cav-grade-panel{border-top:1px solid #e5ebf2;background:#fbfcfe;padding:12px 18px 18px}.cav-module-list{display:flex;flex-direction:column}.cav-module-row{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:18px;align-items:start;padding:18px 4px;border-bottom:1px solid #e3e9f1}.cav-module-row:last-child{border-bottom:0}.cav-module-index{font-size:11px;line-height:1.3;text-transform:uppercase;letter-spacing:.055em;font-weight:900;color:var(--cav-blue)}.cav-module-main h3{font-size:17px;line-height:1.28;margin:0 0 6px;color:#15365e}.cav-module-description{font-size:13px;line-height:1.58;color:#65758a}.cav-module-description p{font:inherit;color:inherit;margin:0}.cav-module-mode{display:inline-flex;margin-top:8px;padding:5px 8px;border-radius:7px;background:#edf2f8;color:#405a7a;font-size:10px;font-weight:800;text-transform:uppercase}.cav-module-hours{font-size:13px;font-weight:900;color:var(--cav-blue);white-space:nowrap}.cav-grade-note{font-size:11px;color:#728095;margin:13px 2px 0}.cav-grade-cta{text-align:center;margin-top:16px}
@media(max-width:767px){.cav-proposal-headline{font-size:30px}.cav-proposal-cards{grid-template-columns:1fr;gap:12px}.cav-proposal-card{min-height:0;grid-template-columns:38px minmax(0,1fr);gap:12px;padding:18px}.cav-proposal-num{width:38px;height:38px}.cav-proposal-cta-wrap{display:block}.cav-proposal-cta{width:100%}.cav-grade-title{font-size:31px}.cav-grade-prefix{font-size:16px}.cav-grade-facts{display:grid;grid-template-columns:1fr 1fr}.cav-grade-facts span{grid-template-columns:7px 1fr;gap:7px}.cav-grade-facts strong{grid-column:2}.cav-grade-toggle{grid-template-columns:40px 1fr 34px;padding:15px 13px;gap:10px}.cav-grade-toggle-count{grid-column:2;font-size:11px;margin-top:2px}.cav-grade-chevron{grid-column:3;grid-row:1/3;width:34px;height:34px}.cav-grade-chevron:before,.cav-grade-chevron:after{top:15px}.cav-grade-chevron:before{left:8px}.cav-grade-chevron:after{right:8px}.cav-grade-toggle-copy strong{font-size:15px}.cav-grade-toggle-copy small{font-size:12px}.cav-grade-panel{padding:10px}.cav-module-row{grid-template-columns:1fr;gap:7px;padding:15px 4px}.cav-module-hours{justify-self:start}}

/* Elementor custom controls: preserve focus and transitions */
.cav .cav-proposal-cta,.cav .cav-btn{transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;}
.cav .cav-proposal-cta:focus-visible,.cav .cav-btn:focus-visible,.cav .cav-grade-toggle:focus-visible{outline:3px solid #2a66b6;outline-offset:3px;}

/* 1.4.4: coherent card theme; only border accents differ between the three cards. */
.cav-proposal .cav-proposal-card{border-color:#dae3f0;background:#fff}
.cav-proposal .cav-proposal-card-objective{border-color:#dab047}
.cav-proposal .cav-proposal-card-audience{border-color:#174bad}
.cav-proposal .cav-proposal-card-positioning{border-color:#0b2d63}
.cav-proposal .cav-proposal-card .cav-proposal-num{background:#16489b;color:#fff}
.cav-proposal .cav-proposal-card:before{background:transparent}
/* Avoid theme anchor selectors painting CTA text navy. Elementor colors remain authoritative. */
.cav .cav-proposal-cta,.cav .cav-btn{color:#fff;line-height:1.25;text-align:center;max-width:100%;min-height:44px}
.cav .cav-proposal-cta span,.cav .cav-btn span{color:inherit;font:inherit}
.cav .cav-proposal-cta:hover,.cav .cav-btn:hover{color:#fff}
.cav .cav-proposal-cta:focus-visible,.cav .cav-btn:focus-visible{color:#fff}
