:root {
  --cgrc-bg:#f6f8fc; --cgrc-surface:#fff; --cgrc-soft:#edf3f8;
  --cgrc-text:#142d40; --cgrc-muted:#506475; --cgrc-accent:#ac3815;
  --cgrc-border:#d9e4ed; --cgrc-shadow:0 16px 44px rgba(19,45,64,.07);
}
html[data-cgrc-theme="dark"] {
  color-scheme:dark;
  --cgrc-bg:#081320; --cgrc-surface:#102236; --cgrc-soft:#152b42;
  --cgrc-text:#eef5fb; --cgrc-muted:#b5c7d8; --cgrc-accent:#ffb08a;
  --cgrc-border:#2b4359; --cgrc-shadow:0 18px 48px rgba(0,0,0,.2);
}
html[data-cgrc-theme="light"] { color-scheme:light; }
body {
  color:var(--cgrc-text);
  background:
    radial-gradient(circle at 10% 14%,rgba(34,211,238,.12),transparent 32%),
    radial-gradient(circle at 88% 22%,rgba(139,92,246,.12),transparent 34%),
    radial-gradient(circle at 76% 82%,rgba(244,114,182,.08),transparent 30%),
    var(--cgrc-bg);
  background-attachment:fixed;
}
[data-elementor-type="wp-page"] { background:transparent; }
[data-elementor-type="wp-page"] > .elementor-section:not(.cgrc-hero) { background-color:transparent !important; }
[data-elementor-type="wp-page"] :is(.elementor-heading-title,.elementskit-section-title,.elementor-icon-box-title,.elementor-icon-box-title a,.elementskit-info-box-title) { color:var(--cgrc-text) !important; }
[data-elementor-type="wp-page"] :is(.elementor-widget-text-editor,.elementor-icon-box-description,.elementskit-box-body,.elementskit-section-subtitle,.elementskit-section-description) { color:var(--cgrc-muted) !important; line-height:1.8; }
[data-elementor-type="wp-page"] .elementor-widget-text-editor p { margin-bottom:1.2em; }
[data-elementor-type="wp-page"] .elementor-heading-title span { color:var(--cgrc-accent) !important; }
[data-elementor-type="wp-page"] a:not(.elementor-button):not(.custom-button-home) { text-underline-offset:4px; }
[data-elementor-type="wp-page"] :is(h1,h2,h3) { text-wrap:balance; }
[data-elementor-type="wp-page"] .elementor-widget-text-editor :is(ul,ol) { padding-left:1.5em; }
[data-elementor-type="wp-page"] .elementor-widget-text-editor li { margin-bottom:.6em; }
[data-elementor-type="wp-page"] .elementor-button, .custom-button-home {
  border-radius:12px !important; background:linear-gradient(120deg,#ba4119,#943411) !important;
  color:#fff !important; border:1px solid transparent !important; box-shadow:0 8px 22px rgba(166,54,15,.16);
  transition:transform .22s ease,box-shadow .22s ease !important;
}
.elementor-button:hover,.custom-button-home:hover { transform:translateY(-3px); box-shadow:0 13px 28px rgba(166,54,15,.24); }
/* One coherent visual identity across the existing Elementor pages. */
.cgrc-hero {
  position:relative; isolation:isolate; overflow:hidden; background-image:none !important;
  background-color:#0b2035 !important;
  background:radial-gradient(ellipse at 85% 30%,rgba(50,130,155,.22),transparent 50%),linear-gradient(120deg,#081625,#102d45) !important;
  padding:74px 22px !important; min-height:310px; color:#fff !important;
}
.cgrc-hero > .elementor-background-overlay { background:none !important; opacity:0 !important; }
.cgrc-hero-bg-video {
  position:absolute;
  z-index:-3;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 44%;
  opacity:.58;
  filter:saturate(1.42) contrast(1.12) brightness(.82);
  pointer-events:none;
}
.cgrc-hero::before {
  content:""; position:absolute; inset:-30px; z-index:-1; pointer-events:none; opacity:1;
  background-image:linear-gradient(110deg,rgba(3,12,32,.79) 6%,rgba(5,19,45,.5) 48%,rgba(36,10,71,.38)),linear-gradient(rgba(113,174,197,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(113,174,197,.2) 1px,transparent 1px);
  background-size:cover,58px 58px,58px 58px;
}
.cgrc-hero::after {
  content:"";
  position:absolute;
  z-index:0;
  inset:-20%;
  pointer-events:none;
  opacity:.5;
  background:
    radial-gradient(circle at 18% 26%,rgba(94,234,212,.8) 0 2px,transparent 3px),
    radial-gradient(circle at 72% 18%,rgba(96,165,250,.75) 0 3px,transparent 4px),
    radial-gradient(circle at 86% 68%,rgba(244,114,182,.7) 0 2px,transparent 3px),
    radial-gradient(circle at 32% 82%,rgba(168,85,247,.65) 0 2px,transparent 3px);
  filter:drop-shadow(0 0 7px currentColor);
}
.cgrc-hero > .elementor-container { position:relative; z-index:2; }
.cgrc-tech-hud {
  position:absolute;
  z-index:1;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  font:700 11px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.08em;
  color:#b8fff4;
}
.cgrc-tech-token {
  position:absolute;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:7px 10px;
  border:1px solid rgba(94,234,212,.42);
  border-radius:8px;
  background:rgba(5,18,42,.46);
  box-shadow:0 0 18px rgba(34,211,238,.12),inset 0 0 16px rgba(34,211,238,.05);
  backdrop-filter:blur(8px);
  text-shadow:0 0 12px rgba(94,234,212,.6);
}
.cgrc-tech-token--1 { left:3%; top:16%; }
.cgrc-tech-token--2 { left:39%; top:8%; color:#bfdbfe; border-color:rgba(96,165,250,.45); }
.cgrc-tech-token--3 { left:11%; bottom:14%; color:#fbcfe8; border-color:rgba(244,114,182,.45); }
.cgrc-tech-token--4 { right:3%; top:13%; color:#ddd6fe; border-color:rgba(167,139,250,.48); }
.cgrc-tech-token--5 { right:8%; bottom:12%; }
.cgrc-tech-token--6 { left:44%; bottom:7%; color:#bfdbfe; border-color:rgba(96,165,250,.45); }
.cgrc-tech-token--7 { right:28%; top:31%; color:#fbcfe8; border-color:rgba(244,114,182,.45); }
.cgrc-tech-token--8 { left:29%; top:31%; opacity:.72; }
.cgrc-hud-core {
  position:absolute;
  right:2.5%;
  top:50%;
  width:clamp(100px,12vw,170px);
  height:auto;
  transform:translateY(-50%);
  fill:none;
  stroke:#67e8f9;
  stroke-width:1.4;
  opacity:.22;
  filter:drop-shadow(0 0 10px rgba(34,211,238,.55));
}
.cgrc-hero :is(h1,h2,h3,.elementor-heading-title,.elementor-heading-title span) { color:#fff !important; }
.cgrc-hero h1 { font-size:clamp(34px,4.6vw,60px) !important; letter-spacing:-1.4px; line-height:1.13 !important; }
.cgrc-hero h2 { font-size:20px !important; line-height:1.5 !important; letter-spacing:0; }
.cgrc-home-hero { min-height:570px; padding:75px 22px !important; }
.cgrc-home-hero h1 { max-width:1040px; margin:auto; }
.cgrc-home-hero h2 { font-size:clamp(22px,2.5vw,31px) !important; }
.cgrc-home-hero .elementor-spacer-inner { height:24px !important; }
.cgrc-hero-art { position:absolute; z-index:1; width:290px; height:290px; right:3%; top:50%; transform:translateY(-50%); opacity:.26; pointer-events:none; }
.cgrc-hero-art svg,.cgrc-card-art svg { width:100%; height:100%; fill:none; stroke:#78cbd6; stroke-width:3; }
.cgrc-glyph { stroke:#ffb18c; stroke-width:5; stroke-linecap:round; stroke-linejoin:round; }
.cgrc-node { fill:#ff9b66; stroke:none; }
.cgrc-card-art { width:74px; height:74px; position:absolute; right:25px; top:19px; opacity:.65; pointer-events:none; }
.cgrc-card-art svg { stroke:#357e99; stroke-width:5; }
.cgrc-card-art .cgrc-glyph { stroke:var(--cgrc-accent); stroke-width:6; }
/* Course and service cards retain their original heading and body nodes. */
.cgrc-program-card {
  position:relative; max-width:1140px; margin:32px auto; overflow:hidden;
  background:var(--cgrc-surface); border:1px solid var(--cgrc-border); border-radius:22px; box-shadow:var(--cgrc-shadow);
  border-top:4px solid var(--cgrc-accent); transition:transform .25s ease,box-shadow .25s ease;
}
.cgrc-program-card > .elementor-section { width:100%; margin:0 !important; background:none !important; }
.cgrc-program-card > .elementor-section:first-child { padding:34px 114px 16px 34px !important; }
.cgrc-program-card > .elementor-section:nth-child(2) { padding:0 34px 30px !important; }
.cgrc-program-card .elementor-container { max-width:none; }
.cgrc-program-card .elementor-widget-wrap { padding:0 !important; background:none !important; }
.cgrc-program-card h2 { text-align:left !important; font-size:clamp(23px,2.7vw,32px) !important; line-height:1.35 !important; }
.cgrc-program-card :is(.elementskit-section-title-wrap,.elementskit-section-title) { text-align:left !important; }
.cgrc-program-card .elementskit-border-divider-wrap { display:none; }
.cgrc-program-card .elementor-widget-text-editor { font-size:16px; }
.cgrc-program-card table { display:block; max-width:100%; overflow-x:auto; }
.cgrc-career-card { max-width:1140px; margin:28px auto !important; padding:32px !important; border:1px solid var(--cgrc-border); border-radius:22px; background:var(--cgrc-surface) !important; box-shadow:var(--cgrc-shadow); }
.cgrc-surface-card,.cgrc-contact-card {
  border:1px solid var(--cgrc-border) !important; border-radius:20px !important; background:var(--cgrc-surface) !important;
  padding:28px; box-shadow:var(--cgrc-shadow); height:100%; transition:transform .25s ease,box-shadow .25s ease;
}
.cgrc-contact-card { margin:12px; }
[data-elementor-type="loop-item"].cgrc-surface-card { padding:0; overflow:hidden; }
[data-elementor-type="loop-item"].cgrc-surface-card > .elementor-section { background:none !important; }
[data-elementor-type="loop-item"] .elementor-widget-theme-post-title { padding:0 20px 22px; }
[data-elementor-type="loop-item"] .elementor-widget-theme-post-title :is(h1,h2,h3) { font-size:23px !important; line-height:1.4 !important; }
[data-elementor-type="loop-item"] .elementor-widget-theme-post-featured-image { overflow:hidden; }
[data-elementor-type="loop-item"] img { transition:transform .5s ease; }
.cgrc-card { animation:none !important; background:var(--cgrc-surface) !important; border:1px solid var(--cgrc-border) !important; box-shadow:var(--cgrc-shadow); border-radius:20px !important; }
.cgrc-card :is(p,h3) { color:var(--cgrc-text) !important; }
.cgrc-card > p:first-child,.cgrc-card a { color:var(--cgrc-accent) !important; }
.cgrc-content { color:var(--cgrc-text) !important; }
.cgrc-content h3 { color:var(--cgrc-text) !important; }
.cgrc-disclosure { background:var(--cgrc-surface) !important; border-color:var(--cgrc-border) !important; }
.cgrc-disclosure summary,.cgrc-disclosure p { color:var(--cgrc-text) !important; }
.cgrc-disclosure a,.cgrc-content a { color:var(--cgrc-accent) !important; }
.cgrc-disclosure[open] { border-color:var(--cgrc-accent) !important; }
.cgrc-content section > h2 { color:var(--cgrc-text) !important; }
/* Theme-aware navigation and form controls. */
[data-elementor-type="header"] { background:var(--cgrc-surface) !important; border-bottom:1px solid var(--cgrc-border); }
[data-elementor-type="header"] :is(.elementor-section,.elementor-widget-wrap) { background-color:transparent !important; }
[data-elementor-type="header"] :is(.elementor-item,.elementor-nav-menu--main a,.elementor-menu-toggle) { color:var(--cgrc-text) !important; }
[data-elementor-type="header"] :is(.elementor-item-active,.elementor-item:hover) { color:var(--cgrc-accent) !important; }
[data-elementor-type="header"] .elementor-nav-menu--dropdown { background:var(--cgrc-surface) !important; border:1px solid var(--cgrc-border); }
[data-elementor-type="header"] .elementor-nav-menu--dropdown a { color:var(--cgrc-text) !important; }
[data-elementor-type="footer"] { background:#0b1e31; color:#dbe6ef; }
[data-elementor-type="footer"] :is(.elementor-section,.elementor-widget-wrap) { background-color:transparent !important; }
[data-elementor-type="footer"] :is(p,a,h2,h3,.elementor-heading-title,.elementor-icon-list-text) { color:#e5edf4 !important; }
.wpcf7 :is(input[type="text"],input[type="email"],input[type="tel"],input[type="number"],textarea,select) {
  width:100%; background:var(--cgrc-surface) !important; color:var(--cgrc-text) !important;
  border:1px solid var(--cgrc-border) !important; border-radius:10px !important; padding:13px 15px !important;
}
.wpcf7 :is(input,textarea)::placeholder { color:var(--cgrc-muted); opacity:1; }
.wpcf7 label { color:var(--cgrc-text); font-size:15px; }
.wpcf7 input[type="submit"] { border-radius:10px !important; background:#a63814 !important; color:#fff !important; padding:13px 22px; border:0; }
.wpcf7 form p { line-height:1.6; }
.wpcf7 a { color:var(--cgrc-accent); }
.wpcf7-not-valid-tip { color:#b32824; }
html[data-cgrc-theme="dark"] .wpcf7-not-valid-tip { color:#ffaaa5; }
html[data-cgrc-theme="dark"] [data-elementor-type="wp-page"] :is(.elementor-widget-wrap,.elementskit-infobox) { background-color:transparent !important; }
html[data-cgrc-theme="dark"] [data-elementor-type="wp-page"] :is(p,li,strong,td,th,.elementor-icon-list-text) { color:var(--cgrc-text); }
html[data-cgrc-theme="dark"] .cgrc-content > div:not([style*="display: flex"]):not([style*="display:flex"]) { background:var(--cgrc-soft) !important; }
html[data-cgrc-theme="dark"] .cgrc-content section > p { color:var(--cgrc-muted) !important; }
html[data-cgrc-theme="dark"] .cgrc-content section > h2 span { color:var(--cgrc-accent) !important; }
html[data-cgrc-theme="dark"] [data-elementor-type="wp-page"] table :is(td,th) { background:var(--cgrc-surface); border-color:var(--cgrc-border); }
/* Controls are keyboard-accessible and independent of Elementor widgets. */
.cgrc-ui { font:600 14px/1.2 system-ui,sans-serif; z-index:999; }
.cgrc-theme-switch,.cgrc-top { position:fixed; bottom:20px; border:1px solid var(--cgrc-border); color:var(--cgrc-text); background:var(--cgrc-surface); box-shadow:0 5px 25px rgba(0,0,0,.16); cursor:pointer; }
.cgrc-theme-switch { left:20px; display:flex; align-items:center; gap:9px; border-radius:50px; padding:13px 17px; }
.cgrc-top { right:20px; width:46px; height:46px; padding:12px; border-radius:50%; }
.cgrc-top[hidden] { display:none; }
.cgrc-ui svg { width:20px; height:20px; stroke:currentColor; stroke-width:1.8; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.cgrc-ui:hover { color:var(--cgrc-accent); background:var(--cgrc-soft); }
:is(.cgrc-ui,.elementor-button,.wpcf7 input,.wpcf7 textarea,.wpcf7 select):focus-visible { outline:3px solid #3188b7 !important; outline-offset:4px; }
.cgrc-motion .cgrc-reveal { transition:opacity .65s ease,transform .65s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease; }
.cgrc-motion .cgrc-reveal:not(.cgrc-visible) { opacity:.55; transform:translateY(18px); }
@media (hover:hover) {
  .cgrc-program-card:hover,.cgrc-surface-card:hover,.cgrc-contact-card:hover { transform:translateY(-4px); box-shadow:0 22px 50px rgba(19,45,64,.12); }
  [data-elementor-type="loop-item"]:hover img { transform:scale(1.035); }
}
@media (prefers-reduced-motion:no-preference) {
  .cgrc-hero::before { animation:cgrc-grid-drift 22s linear infinite alternate; }
  .cgrc-hero::after { animation:cgrc-orb-drift 16s ease-in-out infinite alternate; }
  .cgrc-tech-token { animation:cgrc-tech-float 8s ease-in-out infinite alternate; }
  .cgrc-tech-token:nth-child(2n) { animation-duration:11s; animation-direction:alternate-reverse; }
  .cgrc-tech-token:nth-child(3n) { animation-duration:13s; }
  .cgrc-hud-core { animation:cgrc-hud-spin 34s linear infinite; transform-origin:center; }
  .cgrc-hero-art .cgrc-orbit { transform-origin:160px 160px; animation:cgrc-orbit 32s linear infinite; }
  .cgrc-hero-art .cgrc-glyph { animation:cgrc-float 5s ease-in-out infinite; }
  .cgrc-check { stroke-dasharray:80; stroke-dashoffset:0; animation:cgrc-check 5s ease-in-out infinite; }
  .cgrc-card-art .cgrc-orbit { transform-origin:160px 160px; animation:cgrc-orbit 28s linear infinite; }
}
@keyframes cgrc-orbit { to { transform:rotate(360deg); } }
@keyframes cgrc-float { 50% { transform:translateY(-7px); } }
@keyframes cgrc-grid-drift { to { transform:translate(22px,18px); } }
@keyframes cgrc-orb-drift { from { transform:translate3d(-1.5%,1%,0) rotate(-1deg); } to { transform:translate3d(2.5%,-2%,0) rotate(2deg); } }
@keyframes cgrc-tech-float { from { translate:0 0; } to { translate:12px -16px; } }
@keyframes cgrc-hud-spin { from { transform:translateY(-50%) rotate(0deg); } to { transform:translateY(-50%) rotate(360deg); } }
@keyframes cgrc-check { 0%,15% { stroke-dashoffset:80; } 40%,100% { stroke-dashoffset:0; } }
@media (max-width:1190px) { .cgrc-program-card,.cgrc-career-card { margin-left:20px !important; margin-right:20px !important; } }
@media (max-width:767px) {
  .cgrc-hero { padding:55px 18px !important; min-height:245px; }
  .cgrc-home-hero { padding:52px 16px !important; min-height:540px; }
  .cgrc-hero h1 { letter-spacing:-.6px; font-size:34px !important; }
  .cgrc-hero-art { width:200px; height:200px; right:-40px; opacity:.16; }
  .cgrc-program-card { border-radius:17px; margin:22px 14px !important; }
  .cgrc-program-card > .elementor-section:first-child { padding:25px 76px 14px 22px !important; }
  .cgrc-program-card > .elementor-section:nth-child(2) { padding:0 22px 24px !important; }
  .cgrc-card-art { width:53px; height:53px; right:14px; top:24px; }
  .cgrc-program-card h2 { font-size:22px !important; }
  .cgrc-career-card { padding:20px !important; }
  .cgrc-theme-switch { bottom:14px; left:14px; padding:12px 14px; }
  .cgrc-top { bottom:14px; right:14px; }
  .cgrc-contact-card { margin:10px 0; }
  .cgrc-home-hero .elementor-heading-title > a { display:block !important; max-width:310px; margin:10px auto !important; }
  .cgrc-tech-token--2,.cgrc-tech-token--6,.cgrc-tech-token--7,.cgrc-tech-token--8 { display:none; }
  .cgrc-tech-token { opacity:.55; transform:scale(.86); }
  .cgrc-hud-core { right:-35px; opacity:.14; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto !important; }
  .cgrc-hero::before,.cgrc-hero-art *,.cgrc-card-art *,.cgrc-reveal,.cgrc-card,.elementor-button,.custom-button-home,[data-elementor-type="loop-item"] img { animation:none !important; transition:none !important; }
  .cgrc-reveal { opacity:1 !important; transform:none !important; }
}

/* Cross-template refinements verified in the production mobile preview. */
[data-elementor-type="wp-page"] .elementskit-section-title span { color:var(--cgrc-accent) !important; }
.cgrc-hero .premium-dual-header-first-header,.cgrc-hero .premium-dual-header-first-header * { color:#ffb08a !important; }
html[data-cgrc-theme="dark"] .cgrc-card-art svg { stroke:#78cbd6; }
[data-elementor-type="header"] .premium-mobile-menu-outer-container { background:var(--cgrc-surface) !important; }
[data-elementor-type="header"] .premium-mobile-menu a { color:var(--cgrc-text) !important; }
[data-elementor-type="header"] .premium-mobile-menu .current-menu-item > a { color:var(--cgrc-accent) !important; }
[data-elementor-type="header"] :is(.premium-hamburger-toggle,.premium-mobile-menu-close) { color:var(--cgrc-text) !important; }
[data-elementor-type="header"] :is(.premium-hamburger-toggle,.premium-mobile-menu-close) :is(svg,path) { fill:var(--cgrc-text) !important; }
[data-elementor-type="header"] :is(.premium-hamburger-toggle,.premium-mobile-menu-close):focus-visible { outline:3px solid #3188b7; outline-offset:5px; }
.cgrc-program-card h2 span { font-size:inherit !important; line-height:inherit !important; }
html[data-cgrc-theme="dark"] [data-elementor-type="wp-page"] .elementor-widget-heading > .elementor-widget-container { background-color:transparent !important; }
[data-elementor-type="single-post"] { background:var(--cgrc-bg); color:var(--cgrc-text); }
[data-elementor-type="single-post"] > .elementor-section { background-color:transparent !important; }
[data-elementor-type="single-post"] > .elementor-section:first-child { padding:50px 20px !important; min-height:0 !important; background-image:none !important; }
[data-elementor-type="single-post"] > .elementor-section:first-child > .elementor-container { min-height:0 !important; }
[data-elementor-type="single-post"] .elementskit-infobox { background:var(--cgrc-surface) !important; border:1px solid var(--cgrc-border) !important; border-radius:22px !important; padding:35px !important; box-shadow:var(--cgrc-shadow); }
[data-elementor-type="single-post"] .elementskit-info-box-title { color:var(--cgrc-text) !important; font-size:clamp(28px,4vw,46px) !important; line-height:1.3 !important; }
[data-elementor-type="single-post"] .elementskit-box-header:has(img[src=""]) { display:none; }
[data-elementor-type="single-post"] :is(h1,h2,h3,h4,h5,p,li,strong,td,th,.elementor-icon-list-text) { color:var(--cgrc-text) !important; }
[data-elementor-type="single-post"] a { color:var(--cgrc-accent) !important; text-underline-offset:4px; }
[data-elementor-type="single-post"] .elementor-widget-theme-post-content { line-height:1.85; }
[data-elementor-type="single-post"] :is(input,textarea) { background:var(--cgrc-surface); color:var(--cgrc-text); border-color:var(--cgrc-border); }
.cgrc-motion-switch { position:fixed; left:175px; bottom:20px; width:46px; height:46px; padding:12px; border:1px solid var(--cgrc-border); border-radius:50%; color:var(--cgrc-text); background:var(--cgrc-surface); box-shadow:0 5px 25px rgba(0,0,0,.16); cursor:pointer; }
.cgrc-motion-switch[hidden] { display:none; }
.cgrc-motion-paused :is(.cgrc-hero-art,.cgrc-card-art) *,.cgrc-motion-paused .cgrc-hero::before,.cgrc-motion-paused :is(.cgrc-reveal,.cgrc-card,.cgrc-disclosure,h1.elementor-heading-title,.elementor-button,.custom-button-home) { animation:none !important; transition:none !important; }
.cgrc-motion-paused .cgrc-reveal { opacity:1 !important; transform:none !important; }
@media (max-width:600px) {
  .cgrc-program-card > .elementor-section:first-child { padding:78px 22px 14px !important; }
  .cgrc-card-art { top:16px; }
  [data-elementor-type="single-post"] .elementskit-infobox { padding:24px !important; }
  .cgrc-motion-switch { left:155px; bottom:14px; }
}

/* Original cyberpunk artwork, with bright type and restrained neon accents. */
html[data-cgrc-theme="dark"] {
  --cgrc-bg:#090f24; --cgrc-surface:#14243d; --cgrc-soft:#1a3150;
  --cgrc-text:#f4fbff; --cgrc-muted:#d3e2f2; --cgrc-accent:#79ffe5;
  --cgrc-border:#355776; --cgrc-shadow:0 18px 45px rgba(0,10,30,.24);
}
.cgrc-motion .cgrc-reveal:not(.cgrc-visible) { opacity:1 !important; }
html[data-cgrc-theme="dark"] :is(.cgrc-surface-card,.cgrc-program-card,.cgrc-card,.cgrc-career-card) {
  background-image:linear-gradient(125deg,rgba(83,255,224,.035),transparent 48%,rgba(165,106,255,.06)) !important;
  box-shadow:0 0 0 1px rgba(121,255,229,.025),0 16px 46px rgba(0,0,0,.2);
}
html[data-cgrc-theme="dark"] [data-elementor-type="loop-item"] :is(.elementor-heading-title,.elementor-heading-title a) { color:#f4fbff !important; font-weight:600 !important; text-shadow:none; }
html[data-cgrc-theme="dark"] [data-elementor-type="loop-item"] :is(.elementor-icon-list-text,time,p) { color:#d3e2f2 !important; }
html[data-cgrc-theme="dark"] [data-elementor-type="single-post"] :is(h1,h2,h3,h4,h5) { color:#94ffeb !important; }
html[data-cgrc-theme="dark"] [data-elementor-type="single-post"] :is(h1,h2,h3,h4,h5) strong { color:inherit !important; }
html[data-cgrc-theme="dark"] [data-elementor-type="single-post"] :is(p,li,td,th) { color:#f4fbff !important; }
html[data-cgrc-theme="dark"] [data-elementor-type="single-post"] .elementskit-info-box-title { color:#94ffeb !important; }
.cgrc-hero.cgrc-illustrated-hero {
  display:flex; align-items:center; justify-content:center; gap:38px;
  padding:60px max(28px,calc((100% - 1180px)/2)) !important; min-height:410px;
  background:radial-gradient(ellipse at 95% 20%,rgba(168,72,234,.25),transparent 50%),radial-gradient(ellipse at 15% 85%,rgba(19,200,216,.16),transparent 55%),linear-gradient(125deg,#080f25,#12254b) !important;
}
.cgrc-illustrated-hero > .elementor-container { flex:1 1 57%; min-width:0; max-width:690px; margin:0 !important; }
.cgrc-illustrated-hero > .cgrc-hero-art { display:none; }
.cgrc-illustrated-hero :is(.elementor-heading-title,.premium-dual-header-first-header) { text-align:left !important; }
.cgrc-illustrated-hero h1 { font-size:clamp(34px,4vw,56px) !important; color:#b1fff3 !important; text-shadow:0 0 26px rgba(75,236,219,.16); }
.cgrc-hero.cgrc-illustrated-hero .premium-dual-header-first-header,.cgrc-hero.cgrc-illustrated-hero .premium-dual-header-first-header * { color:#9fffea !important; }
.cgrc-home-hero.cgrc-illustrated-hero { min-height:640px; }
.cgrc-home-hero.cgrc-illustrated-hero h2 { font-size:clamp(23px,2.25vw,29px) !important; }
.cgrc-home-hero.cgrc-illustrated-hero .elementor-widget-spacer { display:none; }
.cgrc-home-hero.cgrc-illustrated-hero .elementor-widget-heading { margin-bottom:24px; }
.cgrc-home-hero.cgrc-illustrated-hero .elementor-heading-title > span { font-size:18px !important; line-height:1.75 !important; color:#e0f1ff !important; }
.cgrc-home-hero.cgrc-illustrated-hero .elementor-heading-title > a { font-size:14px !important; padding:15px 18px !important; margin:8px 8px 0 0 !important; border-radius:12px !important; }
.cgrc-home-hero.cgrc-illustrated-hero .elementor-heading-title > a:first-of-type { background:#76ffe1 !important; color:#082235 !important; border:1px solid #76ffe1 !important; box-shadow:0 5px 24px rgba(70,255,220,.15); }
.cgrc-home-hero.cgrc-illustrated-hero .elementor-heading-title > a:nth-of-type(2) { background:#162c4d !important; color:#efffff !important; border:1px solid #83b8d3 !important; }
.cgrc-cyber-visual { flex:1 1 43%; width:40%; max-width:450px; margin:0; position:relative; z-index:2; border-radius:30px; isolation:isolate; }
.cgrc-cyber-visual img { width:100%; height:auto; display:block; aspect-ratio:1; object-fit:cover; border-radius:30px; border:1px solid rgba(129,255,241,.7); box-shadow:0 0 50px rgba(24,179,245,.2),0 0 85px rgba(187,88,245,.17); }
.cgrc-video-visual { max-width:390px; padding:7px; background:linear-gradient(145deg,#22d3ee,#8b5cf6 48%,#f43f5e); box-shadow:0 0 60px rgba(34,211,238,.18),0 28px 70px rgba(0,0,0,.28); }
.cgrc-video-visual .cgrc-hero-video { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center top; border-radius:24px; background:#050b1c; }
.cgrc-video-visual::after { inset:-15px; border-color:rgba(94,234,212,.34); }
.cgrc-cyber-visual::before { content:""; position:absolute; inset:0; z-index:2; border-radius:30px; pointer-events:none; background:linear-gradient(120deg,transparent 28%,rgba(140,255,247,.22) 49%,transparent 70%); background-size:250% 100%; mix-blend-mode:screen; opacity:.6; }
.cgrc-cyber-visual::after { content:""; position:absolute; inset:-12px; border:1px solid rgba(100,245,241,.24); border-radius:38px; transform:rotate(3deg); pointer-events:none; }
.cgrc-card-art.cgrc-card-raster { width:94px; height:94px; top:20px; right:20px; opacity:1; }
.cgrc-card-raster svg { display:none; }
.cgrc-card-raster img { width:100%; height:100%; object-fit:cover; border-radius:20px; border:1px solid var(--cgrc-border); box-shadow:0 5px 20px rgba(34,135,229,.18); }
.cgrc-program-card > .elementor-section:first-child { min-height:135px; padding-right:135px !important; }
.cgrc-feature-visual { margin:-12px -12px 25px; overflow:hidden; border-radius:15px; aspect-ratio:2.1; }
.cgrc-feature-visual img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 43%; transition:transform .8s ease; }
@media (hover:hover) {
  .cgrc-card:hover .cgrc-feature-visual img { transform:scale(1.055); }
  html[data-cgrc-theme="dark"] :is(.cgrc-surface-card,.cgrc-program-card,.cgrc-card):hover { border-color:#6cdddc !important; box-shadow:0 0 26px rgba(44,226,214,.1),0 20px 50px rgba(0,0,0,.25); }
}
@media (prefers-reduced-motion:no-preference) {
  .cgrc-cyber-visual { animation:cgrc-portrait-float 8s ease-in-out infinite; }
  .cgrc-cyber-visual::before { animation:cgrc-light-sweep 9s ease-in-out infinite; }
  .cgrc-card-raster img { animation:cgrc-thumbnail-float 6s ease-in-out infinite; }
}
@keyframes cgrc-portrait-float { 0%,100% { transform:translateY(0) rotate(-.5deg); } 50% { transform:translateY(-12px) rotate(.5deg); } }
@keyframes cgrc-light-sweep { 0%,15% { background-position:150% 0; } 75%,100% { background-position:-50% 0; } }
@keyframes cgrc-thumbnail-float { 50% { transform:translateY(-5px); } }
@media (max-width:900px) {
  .cgrc-hero.cgrc-illustrated-hero { gap:26px; padding:45px 25px !important; }
  .cgrc-illustrated-hero h1 { font-size:36px !important; }
}
@media (max-width:650px) {
  .cgrc-hero.cgrc-illustrated-hero { flex-direction:column; padding:44px 22px !important; gap:25px; }
  .cgrc-illustrated-hero > .elementor-container { flex:auto; width:100%; }
  .cgrc-illustrated-hero :is(.elementor-heading-title,.premium-dual-header-first-header) { text-align:center !important; }
  .cgrc-cyber-visual { flex:auto; width:100%; max-width:330px; }
  .cgrc-home-hero.cgrc-illustrated-hero .elementor-heading-title > a { margin:10px auto !important; }
  .cgrc-home-hero.cgrc-illustrated-hero { min-height:0; }
  .cgrc-program-card > .elementor-section:first-child { padding:128px 22px 14px !important; }
  .cgrc-card-art.cgrc-card-raster { top:18px; }
}
.cgrc-motion-paused .cgrc-cyber-visual,.cgrc-motion-paused .cgrc-cyber-visual::before,.cgrc-motion-paused .cgrc-card-raster img,.cgrc-motion-paused .cgrc-feature-visual img { animation:none !important; transition:none !important; }
@media (prefers-reduced-motion:reduce) {
  .cgrc-cyber-visual,.cgrc-cyber-visual::before,.cgrc-card-raster img,.cgrc-feature-visual img,.cgrc-hero::after { animation:none !important; transition:none !important; }
}

/* Remove legacy article-title overlap; keep mobile controls readable. */
[data-elementor-type="single-post"] > [data-id="6db34456"] { display:none; }
[data-elementor-type="single-post"] [data-id="3a7820d7"] { margin:0 !important; padding:0 !important; background:transparent !important; box-shadow:none !important; }
[data-elementor-type="single-post"] > [data-id="59d5e54a"] { padding-top:35px !important; }
html[data-cgrc-theme="dark"] .cgrc-illustrated-hero h1.elementor-heading-title { color:#b1fff3 !important; }
button.cgrc-ui:hover,button.cgrc-ui:focus { background:var(--cgrc-soft) !important; color:var(--cgrc-text) !important; border-color:var(--cgrc-accent) !important; }
@media (max-width:650px) {
  .cgrc-cyber-visual { order:-1; max-width:240px; }
}

/* Homepage campaign video */
.cgrc-story-video {
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);
  align-items:center;
  gap:clamp(28px,5vw,72px);
  max-width:1180px;
  margin:clamp(56px,8vw,110px) auto;
  padding:clamp(28px,5vw,64px);
  overflow:hidden;
  border:1px solid rgba(37,99,235,.2);
  border-radius:30px;
  background:radial-gradient(circle at 10% 15%,rgba(34,211,238,.16),transparent 35%),radial-gradient(circle at 90% 90%,rgba(168,85,247,.14),transparent 38%),linear-gradient(145deg,#f8fbff,#eef5ff);
  box-shadow:0 28px 80px rgba(15,37,61,.13);
}
.cgrc-story-video::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  opacity:.26;
  background-image:linear-gradient(rgba(37,99,235,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.12) 1px,transparent 1px);
  background-size:36px 36px;
  mask-image:linear-gradient(to bottom right,#000,transparent 78%);
}
.cgrc-story-video__eyebrow {
  display:inline-block;
  margin-bottom:14px;
  color:#086f83;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.cgrc-story-video h2 {
  margin:0 0 18px;
  color:#102a43;
  font-size:clamp(2rem,4vw,3.9rem);
  line-height:1.04;
  letter-spacing:-.04em;
}
.cgrc-story-video p {
  max-width:640px;
  margin:0 0 26px;
  color:#334e68;
  font-size:clamp(1rem,1.55vw,1.18rem);
  line-height:1.75;
}
.cgrc-story-video__cta {
  display:inline-flex;
  align-items:center;
  min-height:48px;
  padding:12px 22px;
  border-radius:999px;
  color:#061827 !important;
  background:linear-gradient(135deg,#67e8f9,#5eead4);
  box-shadow:0 12px 34px rgba(20,184,166,.24);
  font-weight:800;
  text-decoration:none !important;
  transition:transform 180ms ease,box-shadow 180ms ease;
}
.cgrc-story-video__cta:hover,.cgrc-story-video__cta:focus-visible {
  transform:translateY(-2px);
  box-shadow:0 16px 40px rgba(20,184,166,.34);
}
.cgrc-story-video__frame {
  position:relative;
  justify-self:center;
  width:min(100%,350px);
  padding:7px;
  border-radius:28px;
  background:linear-gradient(145deg,#22d3ee,#a855f7 48%,#f43f5e);
  box-shadow:0 22px 70px rgba(79,70,229,.28);
}
.cgrc-story-video__frame video {
  display:block;
  width:100%;
  aspect-ratio:9 / 16;
  border-radius:22px;
  background:#050b1c;
  object-fit:cover;
}
html[data-cgrc-theme="dark"] .cgrc-story-video {
  border-color:rgba(103,232,249,.3);
  background:radial-gradient(circle at 12% 18%,rgba(0,255,209,.15),transparent 36%),radial-gradient(circle at 90% 85%,rgba(236,72,153,.16),transparent 42%),linear-gradient(145deg,#06111f,#0c1730 62%,#190e35);
  box-shadow:0 28px 90px rgba(0,0,0,.45),0 0 48px rgba(34,211,238,.08);
}
html[data-cgrc-theme="dark"] .cgrc-story-video__eyebrow { color:#5eead4; text-shadow:0 0 18px rgba(94,234,212,.55); }
html[data-cgrc-theme="dark"] .cgrc-story-video h2 { color:#f8fbff; text-shadow:0 0 24px rgba(34,211,238,.16); }
html[data-cgrc-theme="dark"] .cgrc-story-video p { color:#d8e8ff; }
@media (max-width:900px) {
  .cgrc-story-video { grid-template-columns:1fr; margin-inline:18px; text-align:center; }
  .cgrc-story-video p { margin-inline:auto; }
  .cgrc-story-video__frame { width:min(100%,320px); }
}
@media (prefers-reduced-motion:reduce) {
  .cgrc-story-video__cta { transition:none; }
}

/* Professional depth and consistent neon accents across service/course cards. */
.cgrc-program-card,.cgrc-surface-card,.cgrc-career-card,.cgrc-contact-card {
  backdrop-filter:blur(12px);
}
.cgrc-program-card::after {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,#22d3ee,#8b5cf6 52%,#f43f5e);
  opacity:.7;
}
html[data-cgrc-theme="dark"] .elementor-button,
html[data-cgrc-theme="dark"] .custom-button-home,
html[data-cgrc-theme="dark"] .wpcf7 input[type="submit"] {
  color:#061827 !important;
  background:linear-gradient(120deg,#67e8f9,#5eead4 50%,#a7f3d0) !important;
  box-shadow:0 0 24px rgba(45,212,191,.2),0 10px 28px rgba(0,0,0,.25) !important;
}
html[data-cgrc-theme="dark"] .cgrc-program-card:nth-of-type(3n+2) { border-top-color:#60a5fa; }
html[data-cgrc-theme="dark"] .cgrc-program-card:nth-of-type(3n+3) { border-top-color:#f472b6; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .cgrc-program-card:hover::after { filter:brightness(1.35) drop-shadow(0 0 9px rgba(34,211,238,.65)); }
  .cgrc-video-visual:hover { transform:translateY(-8px) rotate(.25deg); }
}
