/* GRC program page only. Shared header, footer, and other routes are unchanged. */
html:has(>body.cp-grc) { scroll-behavior:auto; }
body.cp-page.cp-grc.cp-intro-compact #cp-content { background:#fff; color:var(--cp-text); }
body.cp-page.cp-grc.cp-intro-compact #cp-content * { box-sizing:border-box; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-section { padding-block:64px; scroll-margin-top:88px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-soft { background:#eff6ff; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-eyebrow { color:var(--cp-blue-hover); font-size:12px; font-weight:650; text-transform:uppercase; letter-spacing:.09em; margin:0 0 15px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-hero { padding-block:56px !important; background:linear-gradient(135deg,#0a1628f2,#0f2d5ce6 50%,#1e40afd9),url('/assets/images/hero.jpg') center/cover; color:#fff; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-hero-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr); gap:80px; align-items:center; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-hero .grc-eyebrow { color:#67e8f9; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-hero h1 { font-size:clamp(34px,4.2vw,52px) !important; color:#fff; line-height:1.1 !important; font-weight:700; margin:0 0 24px; letter-spacing:-.035em; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-hero h1 span { color:#fff; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-lead { max-width:550px; font-size:17px; color:#dbeafe; margin:0 0 28px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-actions { display:flex; flex-wrap:wrap; gap:20px; align-items:center; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-button { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:48px; padding:13px 20px; border:1px solid transparent; border-radius:8px; background:var(--cp-gradient); color:#fff; font-size:14px; font-weight:600; text-decoration:none; transition:background .15s; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-button:hover { background:var(--cp-gradient-hover); }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-quiet-link { display:inline-flex; align-items:center; gap:12px; color:#dbeafe; font-size:14px; padding:10px 0; text-decoration:none; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-quiet-link:hover { text-decoration:underline; text-underline-offset:5px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-hero-facts { display:flex; flex-wrap:wrap; gap:14px 22px; border-top:1px solid #ffffff24; margin-top:30px; padding-top:20px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-hero-facts span { display:inline-flex; align-items:center; gap:8px; font-size:12px; color:#dbeafe; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-hero-facts i { color:#67e8f9; font-size:13px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-start-card { position:relative; background:#fff; color:var(--cp-text); border:1px solid #ffffff60; border-top:4px solid var(--cp-cyan); border-radius:14px; padding:27px; box-shadow:0 20px 60px #06132235; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-start-top { display:flex; align-items:center; justify-content:space-between; color:var(--cp-blue-hover); font-size:11px; text-transform:uppercase; letter-spacing:.06em; margin-bottom:18px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-start-top i { color:var(--cp-blue); font-size:21px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-start-card h2 { color:var(--cp-text); font-size:26px; line-height:1.2; margin:0 0 13px; font-weight:650; text-align:left; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-start-card>p { font-size:14px; color:var(--cp-muted); margin:0 0 20px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-toolkit { list-style:none; padding:0; margin:0; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-toolkit li { display:flex; gap:14px; align-items:center; padding:13px 0; border-top:1px solid var(--cp-border); }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-tool-icon { flex:none; width:34px; height:38px; display:grid; place-items:center; color:var(--cp-blue); font-size:19px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-toolkit li>div { display:flex; flex-direction:column; gap:3px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-toolkit strong { color:var(--cp-text); font-size:14px; font-weight:600; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-toolkit li>div>span { color:var(--cp-muted); font-size:12px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-start-foot { display:flex; align-items:end; justify-content:space-between; gap:16px; padding-top:20px; margin-top:8px; border-top:1px solid var(--cp-border); }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-start-foot>div { display:flex; flex-direction:column; gap:3px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-start-foot>div>span { color:var(--cp-muted); font-size:10px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-start-foot strong { color:var(--cp-text); font-size:28px; font-weight:650; line-height:1.2; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-start-foot a { display:inline-flex; gap:8px; color:var(--cp-blue-hover); font-size:12px; text-decoration:none; padding:7px 0; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-framework-bar { border-bottom:1px solid var(--cp-border); background:#fff; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-framework-bar>.container { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:23px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-framework-bar p { margin:0; font-size:12px; color:var(--cp-muted); }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-framework-bar ul { display:flex; flex-wrap:wrap; gap:20px 36px; padding:0; margin:0; list-style:none; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-framework-bar li { color:var(--cp-blue-hover); font-size:16px; font-weight:650; letter-spacing:.025em; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-heading { max-width:730px; margin-bottom:32px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-heading h2 { color:var(--cp-text); font-size:clamp(28px,3vw,35px); line-height:1.2; margin:0 0 18px; text-align:left; letter-spacing:-.025em; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-heading>p:not(.grc-eyebrow) { color:var(--cp-muted); font-size:16px; margin:0 0 18px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-purpose-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:90px; align-items:start; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-purpose-copy>p { color:var(--cp-muted); font-size:16px; margin:0 0 18px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-small-note { display:flex; align-items:center; gap:14px; margin-top:24px; color:var(--cp-blue-hover); font-size:13px; font-weight:500; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-small-note i { font-size:20px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-curriculum-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr); gap:80px; align-items:start; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-module-list { display:grid; gap:10px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-module-list details { background:#fff; border:1px solid var(--cp-border); border-radius:9px; overflow:hidden; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-module-list details[open] { border-color:#94b9e2; box-shadow:0 4px 14px #1f4a7207; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-module-list summary { position:relative; display:flex; align-items:center; gap:17px; padding:20px 45px 20px 19px; color:var(--cp-text); font-size:15px; font-weight:600; cursor:pointer; list-style:none; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-module-list summary::-webkit-details-marker { display:none; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-module-list summary::after { content:'+'; position:absolute; right:18px; color:var(--cp-blue-hover); font-size:21px; font-weight:400; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-module-list details[open] summary::after { content:'−'; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-module-number { color:var(--cp-muted); font-size:11px; font-weight:500; flex:none; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-module-icon { color:var(--cp-blue); margin-left:auto; font-size:16px; flex:none; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-module-list details>p { color:var(--cp-muted); font-size:14px; padding:0 45px 22px 50px; margin:0; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-text-link { display:inline-flex; align-items:center; gap:12px; min-height:44px; padding:8px 0; color:var(--cp-blue-hover); font:inherit; font-size:14px; font-weight:600; background:none; border:0; cursor:pointer; text-decoration:none; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-text-link:hover { text-decoration:underline; text-underline-offset:5px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 38px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-feature-grid article { border-top:1px solid var(--cp-border); padding-top:22px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-feature-grid i { display:block; color:var(--cp-blue); font-size:22px; margin-bottom:17px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-feature-grid h3 { color:var(--cp-text); font-size:19px; line-height:1.3; margin:0 0 11px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-feature-grid p { color:var(--cp-muted); font-size:14px; margin:0; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-certifications { background:linear-gradient(135deg,var(--cp-navy),var(--cp-text),#1e40af); color:#fff; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-cert-heading { display:flex; align-items:start; justify-content:space-between; gap:48px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-certifications .grc-eyebrow,body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-investment .grc-eyebrow { color:#67e8f9; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-certifications .grc-heading h2 { color:#fff; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-certifications .grc-heading>p:not(.grc-eyebrow) { color:#dbeafe; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-value { display:flex; gap:14px; align-items:center; flex:none; border:1px solid #ffffff38; border-radius:9px; padding:18px; margin:4px 0 0; color:#dbeafe; font-size:12px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-value>i { color:#67e8f9; font-size:23px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-value span { display:flex; flex-direction:column; gap:3px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-value strong { color:#fff; font-size:18px; font-weight:600; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-cert-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-cert-grid article { border:1px solid #ffffff35; border-radius:10px; background:#ffffff09; padding:25px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-cert-label { color:#67e8f9; font-size:11px; text-transform:uppercase; letter-spacing:.06em; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-cert-grid h3 { color:#fff; font-size:27px; margin:16px 0 9px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-cert-grid p { color:#dbeafe; font-size:14px; min-height:46px; margin:0 0 17px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-cert-grid article>span:last-child { display:block; color:#dbeafe; border-top:1px solid #ffffff20; padding-top:16px; font-size:12px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-career-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:80px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-career-panel { background:#eff6ff; border:1px solid var(--cp-border); border-radius:12px; padding:27px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-career-panel h3 { color:var(--cp-text); font-size:18px; margin:0 0 17px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-career-panel ul { list-style:none; padding:0; margin:0; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-career-panel li { display:flex; flex-direction:column; gap:4px; padding:14px 0; border-top:1px solid var(--cp-border); }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-career-panel strong { color:var(--cp-text); font-size:14px; font-weight:600; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-career-panel li span { color:var(--cp-muted); font-size:12px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-investment { background:linear-gradient(135deg,var(--cp-navy),var(--cp-text)); color:#fff; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-investment-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:80px; align-items:start; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-investment h2 { color:#fff; font-size:clamp(29px,3vw,37px); line-height:1.18; text-align:left; margin:0 0 18px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-investment-intro { color:#dbeafe; font-size:16px; margin:0 0 24px; max-width:420px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-price { display:flex; flex-direction:column; gap:8px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-price strong { color:#fff; font-size:45px; font-weight:650; letter-spacing:-.03em; line-height:1.1; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-price span { color:#dbeafe; font-size:12px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-payment-note { color:#dbeafe; font-size:13px; margin:16px 0 26px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-price-contact { display:block; min-height:44px; padding:10px 0; border:0; margin-top:12px; background:none; color:#dbeafe; font:inherit; font-size:13px; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-included { background:#fff; border-radius:12px; padding:30px; color:var(--cp-text); }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-included h3 { color:var(--cp-text); font-size:20px; margin:0 0 22px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-included ul { padding:0; margin:0; list-style:none; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-included li { display:flex; align-items:start; gap:12px; margin:15px 0; font-size:14px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-included li i { color:var(--cp-blue); font-size:12px; padding-top:5px; flex:none; }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-bonus { display:flex; gap:12px; align-items:start; background:#eff6ff; border-top:1px solid var(--cp-border); border-radius:7px; margin:24px 0 0; padding:17px; font-size:12px; color:var(--cp-blue-hover); }
body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-bonus i { color:var(--cp-blue); font-size:17px; padding-top:3px; }
body.cp-page.cp-grc.cp-intro-compact #cp-content :is(a,button,summary):focus-visible { outline:3px solid #4a99e5; outline-offset:4px; }
@media(max-width:1050px) {
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-hero-grid { gap:35px; }
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-hero h1 { font-size:40px !important; }
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-start-card { padding:24px; }
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-purpose-grid,body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-curriculum-grid,body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-career-grid,body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-investment-grid { gap:38px; }
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-framework-bar>.container { flex-direction:column; align-items:start; gap:12px; }
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-cert-heading { display:block; }
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-value { display:inline-flex; margin:0 0 28px; }
}
@media(max-width:767px) {
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-hero { padding-block:38px !important; }
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-section { padding-block:44px; }
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-hero-grid,body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-purpose-grid,body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-curriculum-grid,body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-career-grid,body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-investment-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-hero h1 { font-size:36px !important; }
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-hero h1 br { display:none; }
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-start-card { max-width:540px; width:100%; }
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-heading { margin-bottom:24px; }
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-cert-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-cert-grid p { min-height:0; }
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-framework-bar ul { gap:12px 22px; }
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-framework-bar li { font-size:14px; }
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-included { padding:23px; }
}
@media(max-width:450px) {
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-actions { flex-direction:column; align-items:stretch; gap:8px; }
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-quiet-link { justify-content:center; }
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-start-card { padding:22px; }
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-start-card h2 { font-size:24px; }
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-start-foot { align-items:start; flex-direction:column; gap:8px; }
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-feature-grid { grid-template-columns:minmax(0,1fr); }
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-module-list summary { font-size:14px; gap:12px; padding-left:15px; }
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-module-icon { display:none; }
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-module-list details>p { padding-left:42px; }
 body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-career-panel { padding:22px; }
}
@media(prefers-reduced-motion:reduce) { body.cp-page.cp-grc.cp-intro-compact #cp-content .grc-button { transition:none; } }
