/* Critical Graffix 2026 Brand Alignment Layer
   Canonical colors: Critical Green #39FF14, Graffix Aqua #00E5FF */
:root {
  --cg-green:#39FF14;
  --cg-aqua:#00E5FF;
  --cg-black:#000000;
  --cg-ink:#050708;
  --cg-panel:#0a0f11;
  --cg-panel-2:#0e1518;
  --cg-white:#ffffff;
  --cg-muted:#a9b2b8;
  --cg-line:rgba(142,173,181,.32);
  --cg-radius:14px;
  --cg-shadow:0 20px 55px rgba(0,0,0,.44);
}

html { scroll-behavior:smooth; }
body {
  background:#030506;
  color:var(--cg-white);
  font-family:Arial, Helvetica, sans-serif;
  padding-top:92px;
}
body::before {
  background:
    radial-gradient(circle at 18% 18%, rgba(57,255,20,.07), transparent 28%),
    radial-gradient(circle at 82% 12%, rgba(0,229,255,.07), transparent 27%),
    linear-gradient(145deg, rgba(3,5,6,.98), rgba(6,10,12,.96)),
    url("../media/bg-main.png") center/cover fixed no-repeat;
  opacity:1;
}
body::after {
  /* Restored from the original Critical Graffix hex-grid artwork.
     Kept deliberately restrained so the new identity remains the focal point. */
  background:
    radial-gradient(circle at 16% 18%, rgba(57,255,20,.16), transparent 30%),
    radial-gradient(circle at 84% 22%, rgba(0,229,255,.18), transparent 31%),
    url("../media/hex-grid-2026.webp") center top / 520px auto repeat;
  opacity:.085;
  animation:none;
}

h1,h2,h3,h4,.nav-item,.cta,.btn,.cta-large,.section-label,.page-kicker,.academic-eyebrow {
  font-family:"Orbitron", Arial, sans-serif;
}
a { color:var(--cg-aqua); }
::selection { background:var(--cg-green); color:#000; }

/* Header */
.navbar {
  height:92px;
  background:rgba(2,4,5,.94);
  border-bottom:1px solid rgba(0,229,255,.22);
  box-shadow:0 10px 35px rgba(0,0,0,.35);
  backdrop-filter:blur(15px);
}
.navbar > .container,.navbar .nav-container { height:92px; padding:0 30px; }
.navbar .nav-inner { height:92px; justify-content:flex-end; }
.navbar .floating-logo {
  left:28px;
  width:320px;
  max-width:320px;
  height:66px;
  padding:8px 0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  justify-content:flex-start;
}
.navbar .floating-logo::before {
  content:"";
  position:absolute;
  left:0; bottom:-9px;
  width:44%; height:2px;
  background:var(--cg-green);
  box-shadow:0 0 8px rgba(57,255,20,.35);
}
.navbar .floating-logo::after {
  content:"";
  position:absolute;
  right:0; bottom:-9px;
  width:34%; height:2px;
  background:var(--cg-aqua);
  box-shadow:0 0 8px rgba(0,229,255,.35);
}
.navbar .floating-logo > img {
  width:100%!important;
  height:52px!important;
  max-width:310px!important;
  max-height:52px!important;
  object-fit:contain!important;
  object-position:left center;
  filter:none;
}
.navbar .nav-links {
  justify-content:flex-end;
  gap:18px;
  padding-left:340px;
  padding-right:180px;
}
.navbar .nav-item {
  font-size:.68rem;
  color:#c7ced2;
  letter-spacing:.075em;
}
.navbar .nav-item:hover,.navbar .nav-item.active {
  color:var(--cg-green);
  text-shadow:none;
}
.navbar .cta {
  right:30px;
  border:1px solid var(--cg-green);
  background:transparent;
  color:var(--cg-green);
  border-radius:6px;
  box-shadow:none;
  text-transform:uppercase;
}
.navbar .cta:hover { background:var(--cg-green); color:#000; }

/* Shared structure */
.container { max-width:1320px; }
.section,.page-hero,.academic-hero { position:relative; }
.section-label,.page-kicker,.academic-eyebrow { color:var(--cg-green); }
.about-copy h1,.contact-copy h1,.academic-hero h1,.portfolio-page h1,.wedding-page h1 {
  text-shadow:none;
}

.service-card,.contact-card,.contact-form,.about-photo-card,.portfolio-card,.academic-card {
  background:linear-gradient(145deg, rgba(10,15,17,.97), rgba(5,8,9,.95));
  border:1px solid var(--cg-line);
  box-shadow:var(--cg-shadow);
}
.service-card:hover,.portfolio-card:hover { border-color:rgba(0,229,255,.52); }

/* Buttons */
.btn,.btn-primary,.btn-secondary,.cta-large {
  border-radius:6px!important;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:.79rem!important;
}
.btn-primary,.cta-large {
  background:var(--cg-green)!important;
  color:#020402!important;
  box-shadow:0 0 0 1px rgba(57,255,20,.25), 0 10px 30px rgba(57,255,20,.10)!important;
}
.btn-primary:hover,.cta-large:hover { background:#67ff4d!important; }
.btn-secondary {
  background:transparent!important;
  border:1px solid var(--cg-aqua)!important;
  color:var(--cg-aqua)!important;
}

/* New homepage */
.cg-home-hero { padding:52px 0 28px; }
.cg-hero-shell {
  position:relative;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  min-height:560px;
  align-items:center;
  gap:38px;
  padding:54px;
  border:1px solid var(--cg-line);
  border-radius:var(--cg-radius);
  background:linear-gradient(125deg, rgba(5,9,10,.97), rgba(6,11,13,.90));
  overflow:hidden;
  box-shadow:var(--cg-shadow);
}
.cg-hero-shell::before,.cg-section-shell::before {
  content:""; position:absolute; top:0; left:24px; width:28%; height:2px; background:var(--cg-green);
}
.cg-hero-shell::after,.cg-section-shell::after {
  content:""; position:absolute; top:0; right:24px; width:28%; height:2px; background:var(--cg-aqua);
}
.cg-kicker {
  display:inline-flex; align-items:center; gap:9px; margin-bottom:18px;
  color:var(--cg-green); font-family:"Orbitron",sans-serif; font-size:.76rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
}
.cg-kicker::before { content:""; width:28px; height:2px; background:var(--cg-aqua); }
.cg-home-hero h1 {
  margin:0; max-width:720px; font-size:clamp(2.8rem,5.4vw,5.3rem); line-height:.98; letter-spacing:-.045em;
  font-family:"Orbitron",sans-serif; text-transform:uppercase;
}
.cg-home-hero h1 .green { color:var(--cg-green); }
.cg-home-hero h1 .aqua { color:var(--cg-aqua); }
.cg-hero-lead { max-width:650px; margin:26px 0 0; color:#c1c9cd; font-size:1.08rem; line-height:1.72; }
.cg-hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:28px; }
.cg-trust-row { display:flex; gap:26px; flex-wrap:wrap; margin-top:34px; color:#98a3a8; font-size:.74rem; text-transform:uppercase; letter-spacing:.06em; }
.cg-trust-row span { display:flex; align-items:center; gap:8px; }
.cg-trust-row i { width:8px; height:8px; display:inline-block; background:var(--cg-green); transform:rotate(45deg); }
.cg-trust-row span:nth-child(2) i { background:var(--cg-aqua); }
.cg-hero-visual { position:relative; min-height:430px; display:grid; place-items:center; }
.cg-hero-icon {
  width:min(390px,78%); aspect-ratio:1; object-fit:contain; filter:drop-shadow(0 24px 36px rgba(0,0,0,.52));
}
.cg-hero-wordmark {
  position:absolute; bottom:6%; left:2%; width:70%; padding:20px 24px; background:rgba(3,5,6,.88); border:1px solid var(--cg-line); border-radius:10px; box-shadow:0 16px 34px rgba(0,0,0,.36);
}
.cg-hero-wordmark img { width:100%; height:auto; }
.cg-hero-orbit { position:absolute; width:72%; aspect-ratio:1; border:1px solid rgba(0,229,255,.10); border-radius:50%; transform:rotate(-15deg); }
.cg-hero-orbit::before { content:""; position:absolute; inset:9%; border:1px solid rgba(57,255,20,.09); border-radius:50%; }

.cg-home-section { padding:20px 0; }
.cg-section-shell {
  position:relative; padding:38px; border:1px solid var(--cg-line); border-radius:var(--cg-radius); background:rgba(5,9,10,.88); box-shadow:0 15px 45px rgba(0,0,0,.28);
}
.cg-section-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:26px; }
.cg-section-head h2 { margin:0; font-size:clamp(1.55rem,3vw,2.5rem); text-transform:uppercase; }
.cg-section-head p { margin:0; max-width:620px; color:var(--cg-muted); line-height:1.6; }
.cg-services { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.cg-service {
  padding:26px 22px; border:1px solid rgba(156,180,186,.26); border-radius:10px; background:linear-gradient(145deg,#0b1012,#070a0b); min-height:230px;
}
.cg-service .icon { width:46px; height:46px; display:grid; place-items:center; margin-bottom:20px; border:1px solid currentColor; border-radius:8px; font-family:"Orbitron",sans-serif; font-weight:800; color:var(--cg-green); }
.cg-service:nth-child(even) .icon { color:var(--cg-aqua); }
.cg-service h3 { margin:0 0 10px; font-size:1rem; text-transform:uppercase; }
.cg-service p { color:var(--cg-muted); line-height:1.58; font-size:.91rem; }

.cg-work-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.cg-work-card { overflow:hidden; border:1px solid rgba(156,180,186,.26); border-radius:10px; background:#070a0b; }
.cg-work-card img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.cg-work-meta { padding:18px 18px 20px; }
.cg-work-meta strong { display:block; font-family:"Orbitron",sans-serif; text-transform:uppercase; font-size:.88rem; color:#fff; }
.cg-work-meta span { display:block; margin-top:8px; color:#8f9a9f; font-size:.78rem; }

.cg-values { display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.cg-value { padding:18px 24px; border-right:1px solid rgba(255,255,255,.12); }
.cg-value:last-child { border-right:0; }
.cg-value strong { display:block; font-family:"Orbitron",sans-serif; color:#fff; text-transform:uppercase; font-size:.84rem; }
.cg-value span { display:block; color:var(--cg-muted); font-size:.78rem; margin-top:6px; line-height:1.45; }
.cg-value strong::before { content:"/ "; color:var(--cg-green); }
.cg-value:nth-child(even) strong::before { color:var(--cg-aqua); }

.cg-final-cta { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:28px; }
.cg-final-cta > img { width:110px; height:110px; object-fit:contain; }
.cg-final-cta h2 { margin:0 0 8px; text-transform:uppercase; }
.cg-final-cta p { margin:0; color:var(--cg-muted); }

/* Footer restyle */
.footer { margin-top:58px; padding:42px 0 34px; background:#030506; border-top:1px solid var(--cg-line); }
.footer::before { content:""; display:block; width:min(1320px,calc(100% - 64px)); height:2px; margin:-43px auto 32px; background:linear-gradient(90deg,var(--cg-green) 0 28%,transparent 28% 72%,var(--cg-aqua) 72%); }
.cg-footer-affiliations { opacity:.8; }
.footer-bottom { color:#899399; }

@media (max-width:1180px) {
  .navbar .floating-logo { width:260px; }
  .navbar .nav-links { padding-left:270px; padding-right:160px; gap:12px; }
  .navbar .nav-item { font-size:.61rem; }
  .cg-services { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:900px) {
  body { padding-top:78px; }
  .navbar,.navbar > .container,.navbar .nav-container,.navbar .nav-inner { height:78px; }
  .navbar .floating-logo { left:18px; width:230px; height:60px; }
  .navbar .nav-links { display:none; }
  .navbar .cta { right:18px; }
  .cg-hero-shell { grid-template-columns:1fr; padding:34px; }
  .cg-hero-visual { min-height:340px; }
  .cg-work-grid { grid-template-columns:1fr; }
  .cg-values { grid-template-columns:repeat(2,1fr); }
  .cg-value:nth-child(2) { border-right:0; }
  .cg-final-cta { grid-template-columns:auto 1fr; }
  .cg-final-cta .btn { grid-column:1/-1; width:100%; text-align:center; }
}
@media (max-width:600px) {
  .container { padding-left:18px; padding-right:18px; }
  .navbar .floating-logo { width:190px; }
  .navbar .cta { padding:8px 10px; font-size:.6rem; }
  .cg-hero-shell,.cg-section-shell { padding:24px 20px; }
  .cg-home-hero h1 { font-size:2.35rem; }
  .cg-services { grid-template-columns:1fr; }
  .cg-values { grid-template-columns:1fr; }
  .cg-value { border-right:0; border-bottom:1px solid rgba(255,255,255,.10); }
  .cg-section-head { display:block; }
  .cg-section-head p { margin-top:12px; }
}

/* 2026 portfolio hierarchy: current identity vs. archived explorations */
.current-identity {
  position:relative;
  background:linear-gradient(180deg, rgba(57,255,20,.025), rgba(0,229,255,.018));
}
.cg-current-badge,.cg-archive-badge {
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:12px;
  padding:7px 10px;
  border-radius:999px;
  font-family:"Orbitron",sans-serif;
  font-size:.64rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.cg-current-badge {
  color:var(--cg-green);
  border:1px solid rgba(57,255,20,.42);
  background:rgba(57,255,20,.06);
}
.cg-archive-badge {
  color:#9aa6ab;
  border:1px solid rgba(154,166,171,.28);
  background:rgba(154,166,171,.05);
}
.cg-current-identity-grid {
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:18px;
}
.cg-current-identity-grid .portfolio-item {
  margin:0;
  border:1px solid rgba(0,229,255,.24);
  border-radius:12px;
  overflow:hidden;
  background:#070a0b;
  box-shadow:0 16px 38px rgba(0,0,0,.28);
}
.cg-current-identity-grid .portfolio-item button { display:block; width:100%; }
.cg-current-identity-grid .portfolio-item img {
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
}
.cg-current-identity-grid figcaption {
  min-height:82px;
  padding:16px 18px;
  color:#9ba6ab;
  line-height:1.45;
}
.cg-current-identity-grid figcaption strong {
  color:#fff;
  font-family:"Orbitron",sans-serif;
  text-transform:uppercase;
  font-size:.78rem;
}
.cg-current-primary { border-color:rgba(57,255,20,.35)!important; }
.cg-archive-section {
  border-top:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.008);
}
.cg-archive-section .section-heading p { max-width:860px; }
.cg-archive-section .portfolio-item { opacity:.9; }
.cg-archive-section .portfolio-item:hover { opacity:1; }

@media (max-width:900px) {
  .cg-current-identity-grid { grid-template-columns:1fr; }
  .cg-current-identity-grid .portfolio-item img { aspect-ratio:auto; }
}


/* 2026 brand evolution timeline */
.cg-brand-evolution .cg-section-shell { overflow:hidden; }
.cg-evolution-track {
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  padding-top:18px;
}
.cg-evolution-track::before {
  content:"";
  position:absolute;
  top:0;
  left:4%;
  right:4%;
  height:2px;
  background:linear-gradient(90deg,var(--cg-green),rgba(57,255,20,.3),rgba(0,229,255,.3),var(--cg-aqua));
}
.cg-evolution-stage {
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  border:1px solid rgba(156,180,186,.24);
  border-radius:12px;
  background:linear-gradient(145deg,#0b1012,#06090a);
  overflow:hidden;
}
.cg-evolution-stage::before {
  content:"";
  position:absolute;
  top:-23px;
  left:28px;
  width:12px;
  height:12px;
  border-radius:50%;
  background:var(--cg-green);
  box-shadow:0 0 18px rgba(57,255,20,.65);
}
.cg-evolution-stage:nth-child(even)::before { background:var(--cg-aqua); box-shadow:0 0 18px rgba(0,229,255,.65); }
.cg-evolution-final { border-color:rgba(57,255,20,.5); box-shadow:inset 0 0 0 1px rgba(0,229,255,.12),0 14px 35px rgba(0,0,0,.28); }
.cg-stage-number {
  position:absolute;
  z-index:2;
  top:12px;
  left:14px;
  padding:5px 8px;
  border-radius:5px;
  background:rgba(0,0,0,.78);
  color:var(--cg-green);
  font-family:"Orbitron",sans-serif;
  font-weight:800;
  font-size:.72rem;
  letter-spacing:.08em;
}
.cg-evolution-stage:nth-child(even) .cg-stage-number { color:var(--cg-aqua); }
.cg-stage-image { height:185px; display:grid; place-items:center; background:#030506; overflow:hidden; border-bottom:1px solid rgba(255,255,255,.08); }
.cg-stage-image img { width:100%; height:100%; object-fit:contain; }
.cg-stage-copy { padding:20px; flex:1; }
.cg-stage-copy > span { color:var(--cg-green); font-family:"Orbitron",sans-serif; font-size:.66rem; text-transform:uppercase; letter-spacing:.08em; }
.cg-evolution-stage:nth-child(even) .cg-stage-copy > span { color:var(--cg-aqua); }
.cg-stage-copy h3 { margin:8px 0 10px; font-size:.96rem; text-transform:uppercase; }
.cg-stage-copy p { margin:0; color:var(--cg-muted); font-size:.82rem; line-height:1.55; }
.cg-stage-copy a { display:inline-block; margin-top:14px; color:var(--cg-aqua); font-size:.78rem; font-weight:700; }

/* The Cat Lounge is the lead speculative case study. */
.portfolio-page .cat-lounge-case-study {
  border-color:rgba(168,185,154,.38);
  background:linear-gradient(135deg,rgba(41,75,53,.16),rgba(7,10,11,.94));
}
.portfolio-page .cat-lounge-case-study .case-copy span { color:#a8b99a; }

@media (max-width:1100px) {
  .cg-evolution-track { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cg-evolution-track::before { display:none; }
  .cg-evolution-stage::before { display:none; }
}
@media (max-width:650px) {
  .cg-evolution-track { grid-template-columns:1fr; }
  .cg-stage-image { height:220px; }
}


/* Fix-it v3: subtle depth control for restored hex field */
.cg-home-section,.portfolio-page .portfolio-section,.featured-work,.portfolio-hero { position:relative; }
.footer { background:rgba(3,5,6,.96); }
@media (prefers-reduced-motion: reduce) { body::after { animation:none!important; } }

/* Fix-it v4: selective integration of the strongest speculative-home visual language */

/* Technical frame language: sharp branded corners without boxing every pixel. */
.cg-hero-shell,.cg-section-shell {
  --cg-corner:18px;
}
.cg-hero-shell {
  border-color:rgba(124,159,167,.32);
  background:
    linear-gradient(125deg,rgba(5,9,10,.975),rgba(5,10,12,.90)),
    radial-gradient(circle at 80% 38%,rgba(0,229,255,.06),transparent 32%);
}
.cg-hero-shell > *:not(.cg-tech-grid) { position:relative; z-index:2; }
.cg-tech-grid {
  position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.72;
  background:
    linear-gradient(90deg,transparent 0 68%,rgba(0,229,255,.055) 68% 68.12%,transparent 68.12% 100%),
    linear-gradient(0deg,transparent 0 66%,rgba(57,255,20,.045) 66% 66.12%,transparent 66.12% 100%),
    repeating-linear-gradient(132deg,transparent 0 44px,rgba(0,229,255,.026) 44px 45px,transparent 45px 88px);
  clip-path:polygon(0 0,100% 0,100% 100%,0 100%);
}
.cg-tech-grid::before,.cg-tech-grid::after {
  content:""; position:absolute; width:135px; height:90px; pointer-events:none;
}
.cg-tech-grid::before {
  left:14px; top:14px;
  border-left:2px solid var(--cg-green); border-top:2px solid var(--cg-green);
  clip-path:polygon(0 0,100% 0,100% 2px,18px 2px,18px 18px,2px 18px,2px 100%,0 100%);
}
.cg-tech-grid::after {
  right:14px; bottom:14px;
  border-right:2px solid var(--cg-aqua); border-bottom:2px solid var(--cg-aqua);
  clip-path:polygon(calc(100% - 2px) 0,100% 0,100% 100%,0 100%,0 calc(100% - 2px),calc(100% - 18px) calc(100% - 2px),calc(100% - 18px) calc(100% - 18px),calc(100% - 2px) calc(100% - 18px));
}
.cg-section-shell {
  background:linear-gradient(145deg,rgba(6,10,11,.90),rgba(3,6,7,.86));
  border-color:rgba(124,159,167,.26);
}
.cg-section-shell::before,.cg-section-shell::after { box-shadow:0 0 10px currentColor; }

/* Hero: stronger branded composition and controlled edge illumination. */
.cg-home-hero .cg-hero-shell::before { width:34%; box-shadow:0 0 15px rgba(57,255,20,.22); }
.cg-home-hero .cg-hero-shell::after { width:34%; box-shadow:0 0 15px rgba(0,229,255,.22); }
.cg-hero-visual::before {
  content:""; position:absolute; width:76%; aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle,rgba(0,229,255,.095),rgba(57,255,20,.035) 38%,transparent 67%);
  filter:blur(10px); pointer-events:none;
}
.cg-hero-icon { position:relative; z-index:2; filter:drop-shadow(0 0 18px rgba(0,229,255,.10)) drop-shadow(0 24px 36px rgba(0,0,0,.56)); }
.cg-hero-wordmark { z-index:3; border-color:rgba(0,229,255,.32); }
.cg-trust-row span { color:#b6c0c4; }
.cg-trust-row i { box-shadow:0 0 10px rgba(57,255,20,.42); }
.cg-trust-row span:nth-child(2) i { box-shadow:0 0 10px rgba(0,229,255,.42); }

/* Service cards: replace placeholder letter tiles with real visual symbols and edge cues. */
.cg-service { position:relative; overflow:hidden; transition:transform .2s ease,border-color .2s ease,background .2s ease; }
.cg-service::after {
  content:""; position:absolute; right:0; bottom:0; width:46px; height:2px; background:var(--cg-green);
}
.cg-service:nth-child(even)::after { background:var(--cg-aqua); }
.cg-service:hover { transform:translateY(-3px); border-color:rgba(57,255,20,.42); }
.cg-service:nth-child(even):hover { border-color:rgba(0,229,255,.42); }
.cg-service .icon { border:0; width:52px; height:52px; padding:5px; }
.cg-service .icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:2.1; stroke-linecap:round; stroke-linejoin:round; }
.cg-service-link { display:block; margin-top:18px; color:var(--cg-green); font-family:"Orbitron",sans-serif; font-size:.62rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.cg-service:nth-child(even) .cg-service-link { color:var(--cg-aqua); }

/* Project cards get restrained technical corners instead of generic rectangles. */
.cg-work-card { position:relative; transition:transform .2s ease,border-color .2s ease; }
.cg-work-card::before,.cg-work-card::after { content:""; position:absolute; z-index:3; width:34px; height:34px; pointer-events:none; }
.cg-work-card::before { left:-1px; top:-1px; border-left:2px solid var(--cg-green); border-top:2px solid var(--cg-green); }
.cg-work-card::after { right:-1px; bottom:-1px; border-right:2px solid var(--cg-aqua); border-bottom:2px solid var(--cg-aqua); }
.cg-work-card:hover { transform:translateY(-3px); border-color:rgba(0,229,255,.42); }

/* Brand-evolution timeline: stronger connected progression; current stage earns the brightest treatment. */
.cg-brand-evolution .cg-section-shell {
  background:
    linear-gradient(145deg,rgba(5,9,10,.91),rgba(3,6,7,.88)),
    url("../media/hex-grid-2026.webp") center/430px auto repeat;
}
.cg-evolution-track::before { height:3px; box-shadow:0 0 12px rgba(0,229,255,.14); }
.cg-evolution-stage { transition:transform .2s ease,border-color .2s ease; }
.cg-evolution-stage:hover { transform:translateY(-3px); }
.cg-evolution-final {
  background:linear-gradient(145deg,rgba(9,18,13,.98),rgba(3,10,11,.98));
  border-color:rgba(57,255,20,.62);
  box-shadow:0 0 0 1px rgba(0,229,255,.14),0 0 30px rgba(57,255,20,.06),0 18px 40px rgba(0,0,0,.35);
}
.cg-evolution-final .cg-stage-number { background:var(--cg-green); color:#020402!important; }

/* Why Critical Graffix: turn the existing copy into a rapid-scan proof strip. */
.cg-values { position:relative; padding-top:58px; }
.cg-values-title { position:absolute; top:19px; left:24px; right:24px; padding-bottom:10px; border-bottom:1px solid rgba(57,255,20,.28); }
.cg-values-title span { font-family:"Orbitron",sans-serif; color:var(--cg-green); font-size:.7rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.cg-value { display:grid; grid-template-columns:46px 1fr; column-gap:12px; align-items:center; }
.cg-value-icon { grid-row:1/3; width:38px; height:38px; color:var(--cg-green); }
.cg-value:nth-of-type(odd) .cg-value-icon { color:var(--cg-aqua); }
.cg-value-icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:2.1; stroke-linecap:round; stroke-linejoin:round; }
.cg-value strong::before { display:none; }

/* Conversion CTA: more like a purposeful closing banner, not another content box. */
.cg-final-cta {
  position:relative; overflow:hidden;
  background:
    linear-gradient(110deg,rgba(4,9,8,.96),rgba(3,8,10,.94)),
    repeating-linear-gradient(132deg,transparent 0 44px,rgba(0,229,255,.025) 44px 45px,transparent 45px 88px);
  border-color:rgba(0,229,255,.34);
}
.cg-final-cta::after { width:42%; box-shadow:0 0 12px rgba(0,229,255,.22); }
.cg-final-cta > img { filter:drop-shadow(0 0 14px rgba(0,229,255,.14)); }
.cg-cta-email { display:inline-block; margin-top:12px; color:var(--cg-aqua); font-family:"Orbitron",sans-serif; font-size:.72rem; letter-spacing:.035em; }
.cg-cta-email::before { content:"✉ "; color:var(--cg-green); }

/* Navigation gains the subtle technical lower rail from the concept board. */
.navbar::after {
  content:""; position:absolute; left:max(30px,calc((100% - 1320px)/2)); right:max(30px,calc((100% - 1320px)/2)); bottom:5px; height:1px;
  background:linear-gradient(90deg,var(--cg-green),transparent 24%,transparent 76%,var(--cg-aqua)); opacity:.48; pointer-events:none;
}

@media (max-width:900px) {
  .cg-values { padding-top:58px; }
  .cg-value { grid-template-columns:42px 1fr; }
}
@media (max-width:600px) {
  .cg-values-title { position:static; margin-bottom:10px; }
  .cg-values { padding-top:20px; }
  .cg-value { padding-left:6px; padding-right:6px; }
  .cg-hero-shell { min-height:auto; }
}

/* Fix-it v5 — restore the approved hero emblem beside the canonical C/G mark. */
.cg-hero-visual {
  position:relative;
  min-height:430px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(6px,1vw,18px);
  isolation:isolate;
}
.cg-hero-emblem {
  position:relative;
  z-index:3;
  width:min(330px,54%);
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 22px 30px rgba(0,0,0,.58)) drop-shadow(0 0 14px rgba(57,255,20,.08));
  transform:translateX(5%);
}
.cg-hero-icon {
  position:relative;
  z-index:2;
  width:min(315px,49%);
  height:auto;
  aspect-ratio:1;
  object-fit:contain;
  filter:drop-shadow(0 0 18px rgba(0,229,255,.13)) drop-shadow(0 24px 36px rgba(0,0,0,.56));
  transform:translateX(-5%);
}
.cg-hero-orbit {
  position:absolute;
  right:2%;
  width:62%;
  aspect-ratio:1;
  border:1px solid rgba(0,229,255,.10);
  border-radius:50%;
  transform:rotate(-15deg);
  z-index:0;
}
.cg-hero-visual::before {
  width:88%;
  background:radial-gradient(circle at 62% 50%,rgba(0,229,255,.10),rgba(57,255,20,.045) 38%,transparent 68%);
}
/* The old floating wordmark card is intentionally retired: the restored hero emblem already carries the wordmark. */
.cg-hero-wordmark { display:none!important; }

/* NSLS badge treatment — preserve the circular badge rather than cropping it into a generic avatar. */
.cg-footer-affiliation--nsls img {
  border-radius:50%;
  object-fit:contain;
  background:transparent;
}
.cg-affiliation-card--nsls .cg-affiliation-logo-frame img {
  object-fit:contain;
  padding:2px;
  background:transparent;
}

@media (max-width:900px) {
  .cg-hero-visual { min-height:360px; max-width:680px; width:100%; margin-inline:auto; }
  .cg-hero-emblem { width:min(315px,52%); transform:translateX(4%); }
  .cg-hero-icon { width:min(300px,47%); transform:translateX(-4%); }
}
@media (max-width:560px) {
  .cg-hero-visual { min-height:285px; gap:0; }
  .cg-hero-emblem { width:55%; transform:translateX(7%); }
  .cg-hero-icon { width:48%; transform:translateX(-7%); }
  .cg-hero-orbit { width:64%; right:-2%; }
}


/* v8 NAVBAR FIT FIX — prevent right-side crowding/CTA overlap */
@media (min-width:901px) {
  .navbar > .container,
  .navbar .nav-container {
    padding-left:clamp(18px,2.2vw,30px);
    padding-right:clamp(18px,2.2vw,30px);
  }
  .navbar .nav-inner {
    display:grid;
    grid-template-columns:minmax(230px,300px) minmax(0,1fr) 158px;
    column-gap:clamp(10px,1.4vw,20px);
    align-items:center;
    justify-content:stretch;
  }
  .navbar .floating-logo {
    position:relative;
    left:auto;
    top:auto;
    transform:none;
    width:100%;
    max-width:300px;
    height:66px;
    justify-self:start;
  }
  .navbar .nav-links {
    min-width:0;
    padding:0;
    gap:clamp(8px,1vw,16px);
    justify-content:center;
  }
  .navbar .nav-item {
    font-size:clamp(.56rem,.68vw,.68rem);
    letter-spacing:.055em;
  }
  .navbar .cta {
    position:relative;
    right:auto;
    top:auto;
    transform:none;
    justify-self:end;
    width:158px;
    padding:10px 12px;
    white-space:nowrap;
  }
}
@media (min-width:901px) and (max-width:1180px) {
  .navbar .nav-inner {
    grid-template-columns:minmax(205px,245px) minmax(0,1fr) 146px;
    column-gap:9px;
  }
  .navbar .floating-logo { max-width:245px; }
  .navbar .nav-links { gap:7px; }
  .navbar .nav-item { font-size:.54rem; letter-spacing:.035em; }
  .navbar .cta { width:146px; padding:9px 9px; font-size:.60rem; }
}
