/* CyberGroup V8 – harmonikus hárommárkás arculat és finomított mozgás. */
:root {
  --cg-v8-charcoal:#262d34;
  --cg-v8-gold:#bb914d;
  --cg-v8-teal:#168d91;
  --cg-v8-blue:#1c5c9d;
}

/* Ink + champagne → turquoise → shield blue, all intentionally understated.
   Background is applied to sections too, so the website is not a stack of
   opaque white rectangles. Cards remain readable on pale surfaces. */
html { background:#e8f0f2; }
body {
  min-height:100vh;
  background:
    radial-gradient(ellipse at 0% 16%,rgba(24,30,36,.095),transparent 38%),
    radial-gradient(ellipse at 26% 72%,rgba(192,146,65,.11),transparent 36%),
    linear-gradient(105deg,#eae7e0 0%,#f1ebdd 24%,#e4f1ea 53%,#e4edf7 78%,#dfeaf7 100%);
}
.hero.compact-hero.v5-hero,
.page-intro,
.page-intro.contact-v5,
.events-page,
.detail-hero,
.section.company-story,
.section:not(.alt),
.legal-v5 { background:transparent; }
.section.alt { background:rgba(255,255,255,.23); }
.site-header { background:rgba(246,249,249,.94); }
.service-card,.editorial-card,.editorial-empty,.event-card,
.company-card-v4,.profile-logo,.contact-options article,
.sidebar-box { box-shadow:0 13px 32px #142c4210; }
.services-clean .service-card,
.editorial-card,.editorial-empty,.event-card,
.contact-options article,.profile-logo { background:rgba(255,255,255,.89); }

/* Precise logo handoff: no remaining shield pixel near the wordmark.
   The elements first appear fully assembled, crossfade without moving,
   rotate at full opacity, stop exactly in place, then crossfade back. */
.cg-logo-scene { perspective:1400px; }
.cg-master {
  clip-path:inset(0 0 34.05%);
  animation:cg-v8-show-master 24s linear infinite;
}
.cg-logo-type { clip-path:inset(66.65% 0 0); }
.cg-piece { transform-origin:50% 50%; backface-visibility:visible; }
.cg-piece-shield {
  animation:cg-v8-shield 24s cubic-bezier(.43,.04,.49,1) infinite,
            cg-v8-show-pieces 24s linear infinite;
}
.cg-piece-c {
  animation:cg-v8-c 24s cubic-bezier(.43,.04,.49,1) infinite,
            cg-v8-show-pieces 24s linear infinite;
}
.cg-piece-g {
  animation:cg-v8-g 24s cubic-bezier(.43,.04,.49,1) infinite,
            cg-v8-show-pieces 24s linear infinite;
}
.cg-word-sweep::after { animation:cg-v8-glint 24s ease-in-out infinite; }
@keyframes cg-v8-show-master {
  0%,13%,100% { opacity:1; }
  29%,63% { opacity:0; }
  77% { opacity:1; }
}
@keyframes cg-v8-show-pieces {
  0%,13%,100% { opacity:0; }
  29%,63% { opacity:1; }
  77% { opacity:0; }
}
@keyframes cg-v8-shield {
  0%,29% { transform:translate3d(0,0,0) rotate(0deg); }
  46% { transform:translate3d(0,-1.5%,0) rotate(170deg); }
  63%,100% { transform:translate3d(0,0,0) rotate(360deg); }
}
@keyframes cg-v8-c {
  0%,29% { transform:translate3d(0,0,0) rotateY(0deg); }
  46% { transform:translate3d(-6%,-2%,0) rotateY(-180deg); }
  63%,100% { transform:translate3d(0,0,0) rotateY(-360deg); }
}
@keyframes cg-v8-g {
  0%,29% { transform:translate3d(0,0,0) rotateY(0deg); }
  46% { transform:translate3d(6%,-2%,0) rotateY(180deg); }
  63%,100% { transform:translate3d(0,0,0) rotateY(360deg); }
}
@keyframes cg-v8-glint {
  0%,78% { transform:translateX(-125%);opacity:0; }
  82% { opacity:.9; }
  91% { transform:translateX(115%);opacity:.9; }
  93%,100% { opacity:0; }
}

/* Use the exact partner artwork attached by the owner (no redrawn wordmarks). */
.company-logo-sixty { display:block;object-fit:contain;max-width:125px;max-height:125px; }
.company-logo-cybershield { display:block;object-fit:contain;max-width:min(100%,260px);max-height:116px; }
.companies-clean .company-logo-area { min-height:130px;height:130px; }
.company-profile-header .profile-logo .company-logo-sixty { max-width:138px;max-height:145px; }
.company-profile-header .profile-logo .company-logo-cybershield { max-width:100%;max-height:200px; }

/* Natural, slender wisps replace the previous decorative squiggle glyphs. */
.coffee-steam {
  position:absolute;left:30%;top:5%;width:40%;height:39%;
  overflow:visible;pointer-events:none;
  filter:drop-shadow(0 2px 6px rgba(255,255,255,.3));
}
.coffee-steam path {
  fill:none;stroke:#fff8ee;stroke-width:4;stroke-linecap:round;
  filter:blur(.6px);opacity:0;
  transform-box:fill-box;transform-origin:center bottom;
  animation:cg-v8-steam 6.8s ease-in-out infinite;
}
.coffee-steam path:nth-child(2) { animation-delay:1.35s; }
.coffee-steam path:nth-child(3) { animation-delay:2.6s; }
@keyframes cg-v8-steam {
  0% { transform:translate(0,17px) scale(.88);opacity:0; }
  23% { opacity:.55; }
  55% { opacity:.47; }
  100% { transform:translate(4px,-19px) scale(1.15);opacity:0; }
}

@media(max-width:800px) {
  body {
    background:linear-gradient(125deg,#eee9df 0%,#e6f3ee 52%,#e4eff8 100%);
  }
}
@media(prefers-reduced-motion:reduce) {
  .cg-master { animation:none!important;opacity:1!important; }
  .cg-piece { animation:none!important;opacity:0!important;transform:none!important; }
  .cg-word-sweep::after,.coffee-steam path { animation:none!important;opacity:0!important; }
}
