/* CrazyCyberTech 2026 edge-to-edge premium system
   Brand palette retained from the original site: orange, charcoal and teal. */
:root {
  --cct-bg: #2f2c2c;
  --cct-bg-2: #1f1d1d;
  --cct-surface: #383434;
  --cct-surface-2: #45403f;
  --cct-card: #ffffff;
  --cct-soft: #f7f9f9;
  --cct-text: #2f2c2c;
  --cct-muted: #666b73;
  --cct-line: #e5e7e8;
  --cct-white: #ffffff;
  --cct-primary: #f37126;
  --cct-primary-2: #ff9a50;
  --cct-accent: #64c8d3;
  --cct-warning: #fcd846;
  --cct-shadow: 0 18px 55px rgba(47,44,44,.11);
  --cct-shadow-dark: 0 30px 85px rgba(20,18,18,.28);
  --cct-radius: 20px;
  --cct-radius-sm: 14px;
  --cct-max: 1680px;
  --cct-gutter: clamp(16px, 2vw, 34px);
}

html { scroll-padding-top: 104px; }
body.cct-site {
  overflow-x: clip;
  background: #fff;
  font-family: "Plus Jakarta Sans", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}
.cct-container {
  width: min(var(--cct-max), calc(100% - (var(--cct-gutter) * 2)));
}
.cct-topbar { background: #2f2c2c; color: #e8e6e5; }
.cct-topbar-inner { min-height: 34px; }
.cct-topbar-note .cct-dot,
.cct-dot { background: var(--cct-accent); box-shadow: 0 0 0 5px rgba(100,200,211,.14); }
.cct-topbar-links a:hover { color: #fff; }

/* Compact premium header and mega navigation */
.cct-header {
  position: sticky;
  top: 0;
  z-index: 900;
  background: rgba(255,255,255,.94);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(47,44,44,.08);
  transition: box-shadow .25s ease, background .25s ease;
}
.cct-header.is-scrolled { box-shadow: 0 12px 34px rgba(47,44,44,.1); background: rgba(255,255,255,.985); }
.cct-nav { min-height: 70px; gap: 24px; }
.cct-logo { flex: 0 0 auto; }
.cct-logo img { width: clamp(196px, 15vw, 246px); max-height: 50px; object-fit: contain; object-position: left center; }
.cct-menu { gap: 4px; align-items: center; }
.cct-menu-link,
.cct-nav-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 0;
  background: transparent;
  color: #393536;
  padding: 10px 12px;
  border-radius: 10px;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: background .2s ease, color .2s ease;
}
.cct-menu-link:hover,
.cct-menu-link[aria-current="page"],
.cct-nav-link:hover,
.cct-nav-group.is-open > .cct-nav-link { color: var(--cct-primary); background: #fff3eb; }
.cct-nav-link span { font-size: 14px; transition: transform .2s ease; }
.cct-nav-group.is-open > .cct-nav-link span { transform: rotate(180deg); }
.cct-nav-group { position: relative; }
.cct-nav-cta {
  margin-left: 8px;
  padding: 11px 18px;
  border-radius: 999px;
  color: #fff !important;
  background: var(--cct-primary);
  box-shadow: 0 12px 28px rgba(243,113,38,.25);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.cct-nav-cta:hover { transform: translateY(-2px); background: #df5e15; box-shadow: 0 16px 32px rgba(243,113,38,.32); }
.cct-mega-menu {
  position: fixed;
  top: var(--cct-mega-top, 104px);
  left: var(--cct-gutter);
  right: var(--cct-gutter);
  max-width: var(--cct-max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.15fr repeat(3, 1fr);
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(47,44,44,.09);
  border-radius: 20px;
  background: rgba(255,255,255,.985);
  box-shadow: 0 30px 80px rgba(47,44,44,.18);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px) scale(.995);
  transform-origin: top center;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.cct-nav-group.is-open .cct-mega-menu { opacity: 1; visibility: visible; transform: translateY(0) scale(1); }
.cct-mega-intro {
  padding: 20px;
  border-radius: 15px;
  color: #fff;
  background:
    radial-gradient(circle at 95% 0%, rgba(100,200,211,.3), transparent 36%),
    linear-gradient(145deg, #2f2c2c, #1f1d1d);
}
.cct-mega-intro span { display: block; color: #9de2e9; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cct-mega-intro strong { display: block; margin: 9px 0; font-size: 21px; line-height: 1.2; }
.cct-mega-intro p { margin: 0 0 15px; color: #d5d1cf; font-size: 13px; line-height: 1.55; }
.cct-mega-intro a { color: #fff; font-size: 13px; font-weight: 800; }
.cct-mega-column { padding: 13px 10px; }
.cct-mega-column h3 { margin: 0 0 8px; color: #8a8583; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cct-mega-column a { display: block; padding: 7px 8px; border-radius: 8px; color: #393536; font-size: 13px; font-weight: 650; transition: background .18s ease, color .18s ease, transform .18s ease; }
.cct-mega-column a:hover { color: var(--cct-primary); background: #fff3eb; transform: translateX(3px); }
.cct-nav-toggle { border-color: #e8e4e2; background: #fff; }
.cct-nav-toggle span { background: #2f2c2c; }

/* Edge-to-edge sections with compact vertical rhythm */
.cct-hero,
.cct-page-hero {
  min-height: auto;
  color: #fff;
  background:
    radial-gradient(circle at 84% 16%, rgba(100,200,211,.24), transparent 28%),
    radial-gradient(circle at 4% 90%, rgba(243,113,38,.24), transparent 30%),
    linear-gradient(125deg, #2f2c2c 0%, #252222 58%, #37302d 100%);
}
.cct-hero { padding: clamp(58px, 7vw, 96px) 0 56px; }
.cct-page-hero { padding: clamp(52px, 6vw, 82px) 0; }
.cct-hero::before { opacity: .55; }
.cct-hero-inner { grid-template-columns: minmax(0, 1.02fr) minmax(460px, .98fr); gap: clamp(34px, 5vw, 86px); }
.cct-kicker,
.cct-eyebrow { color: var(--cct-primary); }
.cct-kicker { background: rgba(243,113,38,.1); border-color: rgba(243,113,38,.28); }
.cct-kicker i { background: var(--cct-primary); box-shadow: 0 0 0 5px rgba(243,113,38,.13); }
.cct-hero h1 { max-width: 13ch; font-size: clamp(42px, 5.2vw, 78px); letter-spacing: -.055em; }
.cct-gradient-text {
  color: #fff;
  background: linear-gradient(90deg, #ff9a50 0%, #f37126 40%, #9de2e9 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.cct-hero-copy { color: #d8d4d2; max-width: 760px; font-size: clamp(16px, 1.3vw, 19px); }
.cct-btn { min-height: 44px; padding: 12px 18px; border-radius: 999px; }
.cct-btn-primary { background: linear-gradient(135deg, #f37126, #f9904f); box-shadow: 0 14px 30px rgba(243,113,38,.28); }
.cct-btn-primary:hover { background: linear-gradient(135deg, #df5e15, #f37126); }
.cct-btn-ghost { border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.07); color: #fff; }
.cct-trust-item { color: #dfdcda; }
.cct-tick { color: var(--cct-accent); }
.cct-dashboard { border-radius: 20px; border-color: rgba(255,255,255,.11); background: rgba(28,26,26,.8); box-shadow: var(--cct-shadow-dark); animation: cct-float 7s ease-in-out infinite; }
.cct-dash-card { border-radius: 14px; background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.09); }
.cct-message.bot { background: rgba(100,200,211,.13); border-color: rgba(100,200,211,.24); }
.cct-message.user { background: rgba(243,113,38,.16); border-color: rgba(243,113,38,.26); }
.cct-float-badge { border-color: rgba(243,113,38,.22); color: #fff; background: rgba(47,44,44,.92); }
.cct-float-badge strong { color: #ff9a50; }
.cct-live-pill { color: #c8f0f4; background: rgba(100,200,211,.1); }
.cct-logo-strip { background: #fff; border-color: #eeeae7; }
.cct-logo-strip-inner { gap: 10px; min-height: 54px; justify-content: space-between; }
.cct-logo-strip-inner span { color: #655f5c; font-size: 11px; letter-spacing: .1em; }
.cct-section { padding: clamp(48px, 5vw, 76px) 0; }
.cct-section-compact { padding: clamp(42px, 4vw, 62px) 0; }
.cct-section-soft { background: #f7f9f9; }
.cct-section-dark { background: #2f2c2c; }
.cct-section-heading { max-width: 900px; margin-bottom: 26px; }
.cct-section-heading h2 { font-size: clamp(30px, 3.2vw, 50px); color: #2f2c2c; }
.cct-section-heading p { font-size: 16px; }
.cct-heading-inline { max-width: none; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(300px,.8fr); align-items: end; gap: 32px; text-align: left; }
.cct-heading-inline p { margin: 0; }
.cct-grid { gap: 14px; }
.cct-grid-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.cct-service-card,
.cct-process-card,
.cct-panel,
.cct-bento-small {
  border-radius: 17px;
  border-color: #e7e3e1;
  box-shadow: 0 12px 32px rgba(47,44,44,.07);
}
.cct-service-card { min-height: 260px; padding: 22px; }
.cct-service-card::before { background: linear-gradient(90deg, var(--cct-primary), var(--cct-accent)); }
.cct-service-card:hover { border-color: rgba(243,113,38,.34); box-shadow: 0 20px 48px rgba(47,44,44,.12); }
.cct-service-icon { width: 48px; height: 48px; border-radius: 13px; color: #fff; background: linear-gradient(135deg, #f37126, #f99555); box-shadow: 0 10px 22px rgba(243,113,38,.2); font-size: 11px; }
.cct-service-card:nth-child(3n+2) .cct-service-icon { background: linear-gradient(135deg, #64c8d3, #399fab); box-shadow: 0 10px 22px rgba(100,200,211,.2); }
.cct-service-card:nth-child(3n) .cct-service-icon { background: linear-gradient(135deg, #2f2c2c, #55504e); box-shadow: 0 10px 22px rgba(47,44,44,.18); }
.cct-service-number { color: #aaa4a1; }
.cct-service-card h3 { font-size: 20px; }
.cct-card-link { color: var(--cct-primary); }
.cct-bento-main { background: linear-gradient(135deg,#2f2c2c,#1f1d1d 70%,#36474a); border-radius: 22px; }
.cct-bento-small.dark { background: linear-gradient(145deg,#383434,#242121); }
.cct-industry-pill { border-radius: 10px; color: #4a4543; background: #fff; border-color: #e3dfdd; box-shadow: none; }
.cct-process { gap: 14px; }
.cct-process-number { color: var(--cct-primary); background: #fff1e8; }
.cct-check-list li::before { color: var(--cct-primary); background: #fff0e6; }
.cct-code-window { border-color: rgba(255,255,255,.09); background: #232020; }
.cct-code-node { border-color: rgba(243,113,38,.22); background: rgba(243,113,38,.09); }
.cct-code-arrow { color: var(--cct-accent); }
.cct-code-result { border-color: rgba(100,200,211,.2); background: rgba(100,200,211,.08); }
.cct-cta-band { margin: 0; border-radius: 0; background: linear-gradient(120deg,#f37126,#d9560d 62%,#2f2c2c); }
.cct-cta-band .cct-container { width: min(var(--cct-max), calc(100% - (var(--cct-gutter) * 2))); }


.cct-cta { padding: 0 0 clamp(54px,6vw,82px); }
.cct-cta-box {
  border-radius:20px;
  background:
    radial-gradient(circle at 92% 10%,rgba(243,113,38,.38),transparent 30%),
    linear-gradient(125deg,#2f2c2c,#262323 68%,#4a3124);
  border:1px solid rgba(243,113,38,.18);
  box-shadow:0 24px 60px rgba(47,44,44,.18);
}
.cct-cta-box p { color:#d8d3d1; }

/* Compact specialist rail */
.cct-specialist-rail-section { padding: 0 0 24px; background: #fff; }
.cct-specialist-rail {
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  padding: 12px;
  border: 1px solid #e7e3e1;
  border-radius: 15px;
  background: #f9fafa;
  scrollbar-width: thin;
}
.cct-specialist-rail strong { flex: 0 0 auto; padding: 8px 12px; color: #fff; border-radius: 9px; background: #2f2c2c; font-size: 12px; }
.cct-specialist-rail a { flex: 0 0 auto; display: inline-flex; gap: 10px; align-items: center; padding: 9px 12px; border-radius: 9px; background: #fff; border: 1px solid #e9e5e2; color: #4b4644; font-size: 12px; font-weight: 700; }
.cct-specialist-rail a:hover { color: var(--cct-primary); border-color: rgba(243,113,38,.35); }
.cct-specialist-rail a span { color: var(--cct-primary); }
.cct-specialist-rail a.all { color: #fff; border-color: var(--cct-primary); background: var(--cct-primary); }

/* Services directory */
.cct-page-hero-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(360px,.85fr); gap: 60px; align-items: center; }
.cct-page-hero-grid h1 { max-width: 14ch; margin: 14px 0 18px; font-size: clamp(40px,5vw,72px); line-height: 1.02; letter-spacing: -.05em; }
.cct-page-hero-grid > div > p { max-width: 720px; color: #d7d3d1; font-size: 17px; }
.cct-service-orbit { position: relative; width: min(410px,90%); aspect-ratio: 1; margin: auto; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; animation: cct-spin-slow 24s linear infinite; }
.cct-service-orbit::before,.cct-service-orbit::after { content:""; position:absolute; inset:14%; border:1px dashed rgba(100,200,211,.25); border-radius:50%; }
.cct-service-orbit::after { inset:29%; border-style:solid; border-color:rgba(243,113,38,.24); }
.cct-service-orbit strong { position:absolute; inset:38%; display:grid; place-items:center; border-radius:50%; color:#fff; background:#f37126; box-shadow:0 18px 50px rgba(243,113,38,.32); font-size:13px; animation:cct-spin-reverse 24s linear infinite; }
.cct-service-orbit span { position:absolute; display:grid; place-items:center; width:56px; height:56px; border-radius:15px; color:#2f2c2c; background:#fff; box-shadow:0 14px 34px rgba(0,0,0,.2); font-size:11px; font-weight:800; animation:cct-spin-reverse 24s linear infinite; }
.cct-service-orbit span:nth-child(1){left:50%;top:-28px;transform:translateX(-50%)}
.cct-service-orbit span:nth-child(2){right:-20px;top:23%}
.cct-service-orbit span:nth-child(3){right:8%;bottom:2%}
.cct-service-orbit span:nth-child(4){left:8%;bottom:2%}
.cct-service-orbit span:nth-child(5){left:-20px;top:23%}
.cct-directory-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.cct-directory-card { overflow:hidden; border:1px solid #e5e1df; border-radius:17px; background:#fff; box-shadow:0 12px 30px rgba(47,44,44,.06); }
.cct-directory-head { display:flex; gap:12px; align-items:center; min-height:78px; padding:17px; color:#fff; background:linear-gradient(135deg,#2f2c2c,#413c3a); }
.cct-directory-card:nth-child(2n) .cct-directory-head { background:linear-gradient(135deg,#f37126,#df5c13); }
.cct-directory-head span { display:grid; place-items:center; flex:0 0 34px; height:34px; border-radius:10px; background:rgba(255,255,255,.12); font-size:11px; font-weight:800; }
.cct-directory-head h2 { margin:0; color:#fff; font-size:16px; line-height:1.25; }
.cct-directory-card ul { list-style:none; margin:0; padding:8px; }
.cct-directory-card li + li { border-top:1px solid #efedeb; }
.cct-directory-card li a { display:flex; justify-content:space-between; gap:12px; padding:10px 9px; color:#4d4845; font-size:12px; font-weight:650; transition:color .18s ease, background .18s ease, padding .18s ease; }
.cct-directory-card li a i { color:#f37126; font-style:normal; }
.cct-directory-card li a:hover { padding-left:13px; color:#f37126; background:#fff7f2; }
.cct-industry-directory { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; }
.cct-industry-link { display:flex; justify-content:space-between; align-items:center; min-height:52px; padding:13px 15px; border:1px solid #e4e0de; border-radius:12px; background:#fff; color:#494441; font-size:13px; font-weight:700; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease; }
.cct-industry-link i { color:#f37126; font-style:normal; }
.cct-industry-link:hover { transform:translateY(-3px); color:#f37126; border-color:rgba(243,113,38,.34); box-shadow:0 14px 28px rgba(47,44,44,.08); }
.cct-action-panel { padding:24px; border:1px solid rgba(255,255,255,.1); border-radius:17px; background:rgba(255,255,255,.06); }
.cct-action-panel strong { display:block; color:#fff; font-size:22px; }
.cct-action-panel p { color:#d8d3d1; }

/* Original legacy pages modernised without removing their content */
body.cct-legacy-page { color:#4b4745; background:#fff; }
body.cct-legacy-page .content-wrapper,
body.cct-legacy-page main.content-wrapper { width:100%; margin:0; padding:0; }
body.cct-legacy-page .container { width:min(var(--cct-max),calc(100% - (var(--cct-gutter) * 2))); max-width:none; padding-left:0; padding-right:0; }
body.cct-legacy-page .container-fluid { width:100%; max-width:none; padding-left:var(--cct-gutter); padding-right:var(--cct-gutter); }
body.cct-legacy-page .row { margin-left:-7px; margin-right:-7px; }
body.cct-legacy-page [class*="col-"] { padding-left:7px; padding-right:7px; }
body.cct-legacy-page .medium-padding120,
body.cct-legacy-page .medium-padding100,
body.cct-legacy-page .medium-padding80 { padding-top:clamp(44px,4vw,64px); padding-bottom:clamp(44px,4vw,64px); }
body.cct-legacy-page .stunning-header { min-height:0; padding:clamp(46px,5vw,74px) var(--cct-gutter); background:
  radial-gradient(circle at 86% 15%,rgba(100,200,211,.2),transparent 28%),
  linear-gradient(125deg,#2f2c2c,#242121 68%,#3a322e) !important; }
body.cct-legacy-page .stunning-header::before { display:none; }
body.cct-legacy-page .stunning-header-content { width:min(1100px,100%); margin:0 auto; padding:0; text-align:center; }
body.cct-legacy-page .stunning-header-title,
body.cct-legacy-page .stunning-header .stunning-header-title.c-dark { margin:0 0 12px; color:#fff !important; font-family:inherit; font-size:clamp(34px,4vw,60px); line-height:1.05; letter-spacing:-.045em; }
body.cct-legacy-page .stunning-header-content > p { max-width:900px; margin:8px auto; color:#d9d5d3; font-size:15px; }
body.cct-legacy-page .breadcrumbs { margin-top:18px; }
body.cct-legacy-page .breadcrumbs a,
body.cct-legacy-page .breadcrumbs span { color:#fff !important; font-size:12px; }
body.cct-legacy-page .breadcrumbs i { color:#f37126; }
body.cct-legacy-page .heading { margin-bottom:28px; }
body.cct-legacy-page .heading .heading-title,
body.cct-legacy-page h1,
body.cct-legacy-page h2,
body.cct-legacy-page h3,
body.cct-legacy-page h4 { font-family:inherit; color:#2f2c2c; }
body.cct-legacy-page .heading .heading-title { font-size:clamp(28px,3vw,44px); line-height:1.1; letter-spacing:-.035em; }
body.cct-legacy-page .heading-line .short-line,
body.cct-legacy-page .heading-line .long-line { background:#f37126; }
body.cct-legacy-page p,
body.cct-legacy-page li { font-family:inherit; }
body.cct-legacy-page a { transition:color .2s ease; }
body.cct-legacy-page a:hover { color:#f37126; }
body.cct-legacy-page .info-box--standard-bg,
body.cct-legacy-page .info-box--standard,
body.cct-legacy-page .pricing-tables-item,
body.cct-legacy-page .offers,
body.cct-legacy-page .testimonial-item,
body.cct-legacy-page .post,
body.cct-legacy-page .seo-case-study-item {
  height:100%;
  overflow:hidden;
  border:1px solid #e7e3e1;
  border-radius:17px;
  background:#fff;
  box-shadow:0 12px 32px rgba(47,44,44,.07);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
body.cct-legacy-page .info-box--standard-bg:hover,
body.cct-legacy-page .info-box--standard:hover,
body.cct-legacy-page .pricing-tables-item:hover,
body.cct-legacy-page .post:hover { transform:translateY(-5px); border-color:rgba(243,113,38,.32); box-shadow:0 20px 45px rgba(47,44,44,.12); }
body.cct-legacy-page .info-box--standard-bg .info-box-content { padding:20px; }
body.cct-legacy-page .info-box--standard-bg .info-box-content .info-box-title a,
body.cct-legacy-page .info-box--standard .info-box-content .info-box-title,
body.cct-legacy-page .c-primary,
body.cct-legacy-page .c-secondary { color:#f37126 !important; }
body.cct-legacy-page .info-box-image_img { overflow:hidden; margin:-20px -20px 18px; border-radius:17px 17px 0 0; }
body.cct-legacy-page .info-box-image_img img { width:100%; aspect-ratio:16/8.8; object-fit:cover; transition:transform .5s ease; }
body.cct-legacy-page .info-box--standard-bg:hover .info-box-image_img img { transform:scale(1.035); }
body.cct-legacy-page .btn,
body.cct-legacy-page input[type="submit"] { border-radius:999px; font-family:inherit; font-weight:750; }
body.cct-legacy-page .btn--green,
body.cct-legacy-page .btn--primary,
body.cct-legacy-page .btn--blue,
body.cct-legacy-page .btn--breez { background:#f37126; }
body.cct-legacy-page .btn--dark { background:#2f2c2c; }
body.cct-legacy-page .btn:hover { transform:translateY(-2px); box-shadow:0 12px 26px rgba(47,44,44,.16); }
body.cct-legacy-page input,
body.cct-legacy-page textarea,
body.cct-legacy-page select { border-radius:11px; font-family:inherit; }
body.cct-legacy-page .bg-border-color,
body.cct-legacy-page .bg-secondary-color { background:#f7f9f9; }
body.cct-legacy-page .bg-primary-color { background:#f37126; }
body.cct-legacy-page .seo-services_boxes .row.mb60 { display:flex; flex-wrap:wrap; row-gap:14px; margin-bottom:14px; }
body.cct-legacy-page .seo-services_boxes .row.mb60 > [class*="col-"] { margin-bottom:0; }
body.cct-legacy-page .cct-footer { margin-top:0; }

/* Footer */
.cct-footer { margin-top:0; background:#2f2c2c; border-top:4px solid #f37126; }
.cct-footer-main { grid-template-columns:1.45fr repeat(4,minmax(0,1fr)); gap:30px; padding:44px 0 30px; }
.cct-footer-logo img { width:230px; padding:8px; border-radius:8px; background:#fff; }
.cct-footer-intro { color:#cfcac8; max-width:390px; }
.cct-footer h3 { color:#fff; font-size:14px; }
.cct-footer li,
.cct-footer a { color:#cfcac8; font-size:13px; }
.cct-footer a:hover { color:#ff9a50; }
.cct-footer-cta { display:inline-flex; margin-top:10px; color:#fff !important; font-weight:800; }
.cct-footer-bottom { padding:17px 0 22px; border-color:rgba(255,255,255,.08); }
.cct-footer-bottom p { display:flex; gap:9px; align-items:center; color:#aaa4a1; }

/* AI assistant palette */
.cct-chat-launcher { background:linear-gradient(135deg,#f37126,#df5d14); box-shadow:0 15px 40px rgba(243,113,38,.34); }
.cct-chat-panel { border-color:rgba(243,113,38,.22); box-shadow:0 28px 80px rgba(47,44,44,.28); }
.cct-chat-header { background:linear-gradient(135deg,#2f2c2c,#413b39); }
.cct-chat-avatar { color:#fff; background:#f37126; }
.cct-chat-bubble.ai { border-color:#e7e3e1; background:#fff; }
.cct-chat-bubble.user { color:#fff; background:#f37126; }
.cct-chat-quick button:hover { color:#f37126; border-color:rgba(243,113,38,.35); background:#fff7f2; }
.cct-chat-send,
.cct-chat-lead-card button { background:#f37126; }

/* Reveal and micro animation */
.cct-animate-in { animation:cct-reveal-up .65s cubic-bezier(.2,.7,.2,1) both; animation-delay:var(--cct-delay,0ms); }
@keyframes cct-reveal-up { from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:none} }
@keyframes cct-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
@keyframes cct-spin-slow { to{transform:rotate(360deg)} }
@keyframes cct-spin-reverse { to{transform:rotate(-360deg)} }
@keyframes cct-pulse-soft { 0%,100%{box-shadow:0 0 0 0 rgba(100,200,211,.24)} 50%{box-shadow:0 0 0 8px rgba(100,200,211,0)} }
.cct-dot { animation:cct-pulse-soft 2.2s ease-in-out infinite; }

@media (hover:hover) and (min-width:1101px) {
  .cct-nav-group:hover .cct-mega-menu { opacity:1; visibility:visible; transform:translateY(0) scale(1); }
  .cct-nav-group:hover > .cct-nav-link { color:var(--cct-primary); background:#fff3eb; }
}

@media (max-width:1380px) {
  .cct-directory-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .cct-industry-directory { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .cct-grid-4 { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .cct-menu-link,.cct-nav-link { padding-inline:9px; }
  .cct-logo img { width:205px; }
}
@media (max-width:1100px) {
  .cct-nav { min-height:66px; }
  .cct-nav-toggle { display:inline-flex; }
  .cct-menu {
    position:fixed;
    top:var(--cct-menu-top,100px);
    left:12px;
    right:12px;
    bottom:auto;
    max-height:calc(100vh - 116px);
    display:block;
    padding:12px;
    overflow:auto;
    border:1px solid #e4dfdc;
    border-radius:18px;
    background:#fff;
    box-shadow:0 24px 60px rgba(47,44,44,.2);
    opacity:0;
    visibility:hidden;
    transform:translateY(-8px);
    transition:.2s ease;
  }
  .cct-menu.is-open { opacity:1; visibility:visible; transform:none; }
  .cct-menu-link,.cct-nav-link,.cct-nav-cta { width:100%; justify-content:space-between; margin:0; padding:12px 13px; border-radius:10px; }
  .cct-nav-cta { justify-content:center; margin-top:8px; }
  .cct-nav-group { position:static; }
  .cct-mega-menu {
    position:static;
    display:none;
    grid-template-columns:1fr 1fr;
    max-width:none;
    margin:4px 0 10px;
    padding:10px;
    border-radius:13px;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    transform:none;
    background:#f8f9f9;
  }
  .cct-nav-group.is-open .cct-mega-menu { display:grid; }
  .cct-mega-intro { grid-column:1/-1; padding:16px; }
  .cct-mega-column { padding:7px; }
  .cct-hero-inner,.cct-page-hero-grid { grid-template-columns:1fr; }
  .cct-hero h1 { max-width:15ch; }
  .cct-hero-visual { max-width:780px; width:100%; margin:0 auto; }
  .cct-service-orbit { width:min(330px,82vw); }
  .cct-footer-main { grid-template-columns:1.4fr repeat(2,1fr); }
  .cct-grid-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  :root { --cct-gutter:16px; }
  html { scroll-padding-top:88px; }
  .cct-topbar-note { display:none; }
  .cct-topbar-inner { justify-content:center; }
  .cct-topbar-links a:first-child { display:none; }
  .cct-logo img { width:188px; }
  .cct-mega-menu { grid-template-columns:1fr; }
  .cct-mega-intro { grid-column:auto; }
  .cct-mega-column h3 { margin-top:5px; }
  .cct-hero { padding:48px 0 40px; }
  .cct-hero h1,.cct-page-hero-grid h1 { font-size:clamp(36px,11vw,54px); max-width:none; }
  .cct-hero-copy,.cct-page-hero-grid > div > p { font-size:15px; }
  .cct-hero-actions { gap:9px; }
  .cct-btn { width:100%; }
  .cct-trust-row { display:grid; grid-template-columns:1fr; gap:8px; }
  .cct-dashboard-grid { grid-template-columns:1fr; }
  .cct-flow { grid-column:auto; }
  .cct-logo-strip-inner { overflow-x:auto; justify-content:flex-start; }
  .cct-logo-strip-inner span { flex:0 0 auto; }
  .cct-section { padding:44px 0; }
  .cct-section-heading h2 { font-size:31px; }
  .cct-heading-inline { grid-template-columns:1fr; gap:10px; }
  .cct-grid-4,.cct-directory-grid,.cct-industry-directory { grid-template-columns:1fr; }
  .cct-service-card { min-height:0; }
  .cct-service-orbit { display:none; }
  .cct-footer-main { grid-template-columns:1fr 1fr; gap:24px 18px; }
  .cct-footer-brand { grid-column:1/-1; }
  .cct-footer-bottom { display:block; text-align:center; }
  .cct-footer-bottom p { justify-content:center; }
  body.cct-legacy-page .container-fluid { padding-left:16px; padding-right:16px; }
  body.cct-legacy-page .row { margin-left:0; margin-right:0; }
  body.cct-legacy-page [class*="col-"] { width:100%; padding-left:0; padding-right:0; }
  body.cct-legacy-page .stunning-header { padding:42px 16px; }
  body.cct-legacy-page .seo-services_boxes .row.mb60 { display:block; }
  body.cct-legacy-page .seo-services_boxes .row.mb60 > [class*="col-"] { margin-bottom:14px; }
  .cct-chat-launcher { right:14px; bottom:14px; }
  .cct-chat-panel { right:10px; bottom:76px; width:calc(100vw - 20px); max-height:calc(100vh - 96px); }
}
@media (max-width:480px) {
  .cct-footer-main { grid-template-columns:1fr; }
  .cct-footer-brand { grid-column:auto; }
  .cct-topbar-links { gap:13px; }
  .cct-specialist-rail { border-radius:12px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .cct-animate-in { animation:none !important; }
}

/* Search-focused service detail blocks */
.cct-seo-detail-section{padding:clamp(56px,6vw,92px) 0;background:#f7f8fb;border-top:1px solid rgba(47,44,44,.08)}
.cct-seo-detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(28px,5vw,72px);align-items:start}
.cct-seo-detail-section h2{margin:14px 0 18px;color:#2f2c2c;font-size:clamp(30px,4vw,52px);line-height:1.08}
.cct-seo-detail-section p{font-size:17px;line-height:1.75;color:#555b68}
.cct-seo-detail-card{padding:clamp(26px,3vw,38px);background:#fff;border:1px solid rgba(47,44,44,.1);border-radius:24px;box-shadow:0 22px 60px rgba(28,36,58,.09)}
.cct-seo-detail-card h3{margin:0 0 18px;color:#2f2c2c;font-size:22px}
.cct-seo-detail-card ul{display:grid;gap:13px;margin:0 0 26px;padding:0;list-style:none}
.cct-seo-detail-card li{position:relative;padding-left:28px;color:#4e5562;line-height:1.55}
.cct-seo-detail-card li:before{content:'✓';position:absolute;left:0;top:0;color:#ff6b21;font-weight:800}
@media(max-width:820px){.cct-seo-detail-grid{grid-template-columns:1fr}.cct-seo-detail-section{padding:52px 0}}
