/* CG TECH — Copilot Cowork Estimator (AUD) — guided journey
 * Scoped under .cce-root so it never collides with theme styles. */

.cce-root {
  /* CG TECH brand palette — base (white text) + tint (dark text). Never mix. */
  --cce-blue: #1129B9;        --cce-blue-tint: #D6DCF1;
  --cce-sky: #4F8EE8;         --cce-sky-tint: #DBE7F8;
  --cce-teal: #1AA39A;        --cce-teal-tint: #C8ECEA;
  --cce-orange: #EA5B38;      --cce-orange-tint: #FBD9CF;
  --cce-olive: #8AA63F;       --cce-olive-tint: #E2EAC9;
  --cce-rose: #C8447E;        --cce-rose-tint: #F4D2E0;
  --cce-indigo: #5B4BBF;      --cce-indigo-tint: #DBD7F1;
  --cce-ochre: #C68A2E;       --cce-ochre-tint: #F2E5D1;
  --cce-slate: #5D7A99;       --cce-slate-tint: #DBE2E9;
  --cce-plum: #7A3E6F;        --cce-plum-tint: #E2D5DF;

  --cce-navy: #0b1233;
  --cce-blue-soft: var(--cce-blue-tint);
  --cce-muted: #5f6b86;
  --cce-paper: #f8f9fc;
  --cce-line: #dbe2ef;
  --cce-line-strong: #bac5d9;
  --cce-white: #ffffff;
  --cce-green: #1AA39A;

  /* Gradients */
  --cce-grad-hero: linear-gradient(135deg, #1129B9 0%, #15246b 100%);
  --cce-grad-result: linear-gradient(160deg, #1a2d7a 0%, #0b1233 100%);
  --cce-grad-cta: linear-gradient(135deg, #EA5B38 0%, #C8447E 120%);
  --cce-grad-bar: linear-gradient(90deg, #1129B9, #4F8EE8);
  --cce-grad-page: linear-gradient(180deg, #f3f6fc 0%, #f8f5fb 100%);

  --cce-link: #1b5fd6; /* matches the site's "Microsoft Expertise" accent blue */
  --cce-radius: 18px;
  --cce-shadow: 0 22px 60px -34px rgba(11, 18, 51, 0.6);

  box-sizing: border-box;
  max-width: 1040px;
  margin: 0 auto;
  color: var(--cce-navy);
  font-family: inherit; /* blend with the host theme's typography */
  line-height: 1.55;
}
.cce-root *, .cce-root *::before, .cce-root *::after { box-sizing: border-box; }

/* Shell ----------------------------------------------------------------- */
.cce-shell {
  background: var(--cce-white);
  border: 1px solid var(--cce-line);
  border-radius: var(--cce-radius);
  box-shadow: var(--cce-shadow);
  overflow: hidden;
}

/* Progress -------------------------------------------------------------- */
.cce-progress { padding: 20px 28px 0; }
.cce-progress-track {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 6px;
}
.cce-progress-seg { height: 5px; border-radius: 999px; background: var(--cce-line); transition: background .3s; }
.cce-progress-seg.is-done { background-image: var(--cce-grad-bar); }
.cce-progress-seg.is-current { box-shadow: 0 0 0 3px rgba(37, 110, 224, .18); }
.cce-progress-labels {
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px;
  margin-top: 10px; font-size: 11.5px; font-weight: 600; color: var(--cce-muted);
}
.cce-progress-labels span { text-align: center; }
.cce-progress-labels span.is-current { color: var(--cce-blue); }
.cce-progress-count { display: none; font-size: 12px; font-weight: 600; color: var(--cce-muted); margin-top: 10px; }
@media (max-width: 600px) {
  .cce-progress-labels { display: none; }
  .cce-progress-count { display: block; }
}

/* Steps ----------------------------------------------------------------- */
.cce-step { display: none; padding: 26px 28px 8px; }
.cce-step.is-active { display: block; animation: cce-fade .35s ease; }
@keyframes cce-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (max-width: 560px) { .cce-step { padding: 22px 18px 6px; } }

.cce-eyebrow {
  display: inline-block; font-size: 11.5px; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--cce-blue); background: var(--cce-blue-soft);
  padding: 6px 12px; border-radius: 999px; margin: 0 0 14px;
}
.cce-h { font-size: clamp(23px, 3.4vw, 31px); line-height: 1.12; margin: 0 0 10px; font-weight: 800; letter-spacing: -0.02em; }
.cce-sub { color: var(--cce-muted); max-width: none; margin: 0 0 4px; font-size: 16px; }
.cce-sub + .cce-sub { margin-top: 14px; }
.cce-points + .cce-sub { margin-top: 24px; }
.cce-sub-lead { color: var(--cce-navy); font-weight: 600; }

/* Brand divider motif (thin gradient line + dot, like the site) ---------- */
.cce-rule { position: relative; width: 116px; height: 3px; border-radius: 3px; margin: 14px 0 18px; background: linear-gradient(90deg, var(--cce-blue), var(--cce-sky)); }
.cce-rule::after {
  content: ""; position: absolute; left: 0; top: 50%; width: 9px; height: 9px; border-radius: 50%;
  background: var(--cce-sky); box-shadow: 0 0 0 3px #fff;
  transform: translate(0, -50%);
  animation: cce-rule-dot 3.2s ease-in-out infinite alternate;
}
@keyframes cce-rule-dot {
  from { transform: translate(0, -50%); }
  to   { transform: translate(107px, -50%); }
}
@media (prefers-reduced-motion: reduce) {
  .cce-rule::after { animation: none; transform: translate(36px, -50%); }
}
.cce-h .cce-accent { color: var(--cce-link); }

/* Intro hero (light, on-brand) ------------------------------------------ */
.cce-step.cce-step--hero { background: linear-gradient(180deg, #f4f8fd 0%, #ffffff 78%); padding: 36px 32px 8px; }
.cce-hero-grid { display: grid; grid-template-columns: 1.02fr 1fr; gap: 32px; align-items: center; }
@media (max-width: 820px) { .cce-hero-grid { grid-template-columns: 1fr; gap: 24px; } }

.cce-points { list-style: none; padding: 0; margin: 20px 0 0; display: grid; gap: 11px; max-width: 640px; }
.cce-points li { display: flex; gap: 12px; align-items: flex-start; font-size: 15.5px; }
.cce-points li::before {
  content: ""; flex: 0 0 auto; width: 22px; height: 22px; border-radius: 50%;
  background: var(--cce-teal-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231AA39A' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/12px no-repeat;
  margin-top: 1px;
}
.cce-points li.cce-point--bulb::before {
  background: var(--cce-teal-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%231AA39A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M10 22h4'/%3E%3Cpath d='M15.09 14c.18-.98.65-1.74 1.41-2.5A4.65 4.65 0 0 0 18 8 6 6 0 0 0 6 8c0 1 .23 2.23 1.5 3.5.76.76 1.23 1.52 1.41 2.5'/%3E%3C/svg%3E") center/13px no-repeat;
}

/* "How it works / what you get" narrative strip -------------------------- */
.cce-how { margin: 30px 0 6px; padding: 26px 0 4px; border-top: 1px solid var(--cce-line); }
.cce-how-title { font-size: 19px; font-weight: 800; margin: 0 0 4px; letter-spacing: -0.01em; color: var(--cce-blue); }
.cce-how-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 20px 0 0; }
@media (max-width: 720px) { .cce-how-steps { grid-template-columns: 1fr; gap: 14px; } }
.cce-how-step { display: flex; gap: 13px; align-items: flex-start; }
.cce-how-num { flex: 0 0 auto; width: 30px; height: 30px; border-radius: 9px; background: var(--cce-teal-tint); color: var(--cce-teal); font-weight: 800; font-size: 14px; display: flex; align-items: center; justify-content: center; }
.cce-how-step h4 { margin: 2px 0 3px; font-size: 14.5px; font-weight: 700; }
.cce-how-step p { margin: 0; font-size: 13.5px; color: var(--cce-muted); line-height: 1.45; }
.cce-how-foot { margin: 22px 0 4px; font-size: 14.5px; color: var(--cce-navy); background: var(--cce-blue-tint); border-radius: 12px; padding: 14px 18px; display: flex; gap: 10px; align-items: flex-start; }
.cce-how-foot strong { font-weight: 700; }
.cce-how-foot .cce-gift { flex: 0 0 auto; }

/* Video embed ----------------------------------------------------------- */
.cce-video { position: relative; width: 100%; aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; background: #0b1233; box-shadow: 0 20px 48px -24px rgba(11,18,51,.45); border: 1px solid var(--cce-line); }
.cce-video iframe, .cce-video video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; }
.cce-video-facade { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; padding: 0; cursor: pointer; background: #0b1233 center/cover no-repeat; display: flex; align-items: center; justify-content: center; }
.cce-video-facade::after { content: ""; position: absolute; inset: 0; background: rgba(11,18,51,.20); transition: background .2s; }
.cce-video-facade:hover::after { background: rgba(11,18,51,.06); }
.cce-video-play { position: relative; z-index: 1; width: 64px; height: 64px; border-radius: 50%; background: rgba(11,18,51,.62); display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 20px rgba(0,0,0,.4); transition: transform .15s, background .15s; }
.cce-video-facade:hover .cce-video-play { transform: scale(1.06); background: var(--cce-blue); }
.cce-video-play svg { margin-left: 3px; }
.cce-video-ph { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; text-align: center; padding: 20px; background: linear-gradient(150deg, #16205a, #0b1233); }
.cce-video-ph-play { width: 60px; height: 60px; border-radius: 50%; background: rgba(255,255,255,.95); display: flex; align-items: center; justify-content: center; }
.cce-video-ph-play svg { margin-left: 4px; }
.cce-video-ph p { color: rgba(255,255,255,.7); font-size: 13px; margin: 0; }

/* Task-type cards ------------------------------------------------------- */
.cce-task-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 24px; }
@media (max-width: 820px) { .cce-task-grid { grid-template-columns: 1fr; } }
.cce-task-card { border: 1px solid var(--cce-line); border-top: 4px solid var(--cce-accent, var(--cce-blue)); border-radius: 14px 14px 14px 14px; padding: 20px; background: var(--cce-white); display: flex; flex-direction: column; }
.cce-task-head { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.cce-task-ico { width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.cce-task-name { font-size: 18px; font-weight: 800; margin: 0; }
.cce-task-desc { font-size: 14px; color: var(--cce-navy); margin: 0 0 8px; }
.cce-task-ctx { font-size: 12.5px; color: var(--cce-muted); margin: 0 0 12px; padding-left: 11px; border-left: 2px solid var(--cce-accent, var(--cce-blue)); line-height: 1.4; }
.cce-task-list { list-style: none; padding: 0; margin: 0 0 16px; display: grid; gap: 6px; }
.cce-task-list li { font-size: 13.5px; color: var(--cce-muted); padding-left: 16px; position: relative; }
.cce-task-list li::before { content: "•"; position: absolute; left: 2px; color: var(--cce-line-strong); }
.cce-task-eg-label { font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--cce-muted); margin: 0 0 8px; }
.cce-task-eg { font-style: italic; font-size: 13.5px; color: #41506e; background: var(--cce-paper); border: 1px solid var(--cce-line); border-radius: 10px; padding: 12px 14px; margin: 0 0 16px; flex: 1; }
.cce-task-foot { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--cce-line); }
.cce-task-foot-label { font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--cce-muted); }
.cce-credit-badge { font-size: 14px; font-weight: 800; color: #1a2238; background: var(--cce-accent-tint, var(--cce-blue-tint)); border-radius: 8px; padding: 6px 12px; }
.cce-task-ico { background: var(--cce-accent-tint, var(--cce-blue-tint)); }
.cce-task-name { color: var(--cce-accent, var(--cce-blue)); }

/* Tasks -> value bridge line */
.cce-bridge { margin: 22px 0 0; padding: 13px 17px; border-radius: 11px; background: var(--cce-teal-tint); border: 1px solid rgba(26,163,154,.3); color: #0a5b4d; font-size: 14.5px; font-weight: 600; }

/* Persona cards --------------------------------------------------------- */
.cce-persona-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 24px; }
@media (max-width: 820px) { .cce-persona-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 460px) { .cce-persona-grid { grid-template-columns: 1fr; } }
.cce-persona-card { border: 1px solid var(--cce-line); border-top: 4px solid var(--cce-accent, var(--cce-blue)); border-radius: 14px; padding: 20px 18px; text-align: center; background: var(--cce-white); }
.cce-persona-ico { width: 52px; height: 52px; margin: 0 auto 14px; border-radius: 12px; background: var(--cce-accent-tint, var(--cce-blue-tint)); display: flex; align-items: center; justify-content: center; }
.cce-persona-name { font-size: 15px; font-weight: 800; margin: 0 0 12px; }
.cce-persona-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 7px; text-align: left; }
.cce-persona-list li { font-size: 12.5px; color: var(--cce-muted); padding-left: 14px; position: relative; line-height: 1.35; }
.cce-persona-list li::before { content: "•"; position: absolute; left: 2px; color: var(--cce-line-strong); }
.cce-persona-use { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--cce-line); font-size: 12px; line-height: 1.4; color: var(--cce-accent, var(--cce-blue)); text-align: left; font-weight: 600; }
.cce-persona-eg-label { margin: 14px 0 6px; padding-top: 12px; border-top: 1px solid var(--cce-line); font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--cce-accent, var(--cce-blue)); text-align: left; }
.cce-persona-eg { list-style: none; padding: 0; margin: 0; display: grid; gap: 7px; text-align: left; }
.cce-persona-eg li { font-size: 12.5px; line-height: 1.4; color: #41506e; font-style: italic; }

/* Workforce inputs ------------------------------------------------------ */
.cce-subhead { margin: 26px 0 4px; font-size: 16px; font-weight: 700; color: var(--cce-navy); padding-top: 22px; border-top: 1px solid var(--cce-line); }
.cce-seg { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.cce-seg-btn { display: flex; flex-direction: column; gap: 3px; align-items: flex-start; text-align: left; cursor: pointer; padding: 13px 16px; border: 1px solid var(--cce-line-strong); border-radius: 12px; background: var(--cce-paper); transition: border-color .15s, box-shadow .15s, background .15s; }
.cce-seg-btn:hover { border-color: var(--cce-blue); }
.cce-seg-btn.is-active { border-color: var(--cce-blue); background: #fff; box-shadow: 0 0 0 3px var(--cce-blue-tint); }
.cce-seg-name { font-size: 15px; font-weight: 700; color: var(--cce-navy); }
.cce-seg-sub { font-size: 12.5px; color: var(--cce-muted); }
@media (max-width: 460px) { .cce-seg { grid-template-columns: 1fr; } }

/* "Tell me more" expandable licence details */
.cce-licdetails { margin-top: 12px; }
.cce-licdetails > summary { cursor: pointer; font-size: 13.5px; font-weight: 600; color: var(--cce-blue); list-style: none; display: inline-flex; align-items: center; gap: 6px; padding: 4px 0; }
.cce-licdetails > summary::-webkit-details-marker { display: none; }
.cce-licdetails > summary::before { content: "+"; font-weight: 800; }
.cce-licdetails[open] > summary::before { content: "–"; }
.cce-licdetails-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 14px 0 4px; }
@media (max-width: 560px) { .cce-licdetails-grid { grid-template-columns: 1fr; } }
.cce-licdetails-card { background: var(--cce-paper); border: 1px solid var(--cce-line); border-radius: 12px; padding: 16px; }
.cce-licdetails-name { margin: 0 0 4px; font-size: 14px; font-weight: 700; color: var(--cce-navy); }
.cce-licdetails-price { margin: 0 0 10px; font-size: 12.5px; font-weight: 600; color: var(--cce-blue); }
.cce-licdetails-body { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--cce-muted); }
.cce-licdetails-foot { margin: 10px 0 0; font-size: 12px; color: var(--cce-muted); line-height: 1.5; font-style: italic; }
.cce-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 22px; }
@media (max-width: 520px) { .cce-fields { grid-template-columns: 1fr; } }
.cce-field { display: flex; flex-direction: column; gap: 6px; }
.cce-field label { font-size: 13.5px; font-weight: 600; }
.cce-field small { color: var(--cce-muted); font-size: 11.5px; font-weight: 400; }
.cce-input {
  width: 100%; font-size: 15px; padding: 12px 14px; border: 1px solid var(--cce-line-strong);
  border-radius: 10px; background: var(--cce-paper); color: var(--cce-navy);
  transition: border-color .15s, box-shadow .15s;
}
.cce-input:focus { outline: none; border-color: var(--cce-blue); box-shadow: 0 0 0 3px var(--cce-blue-soft); background: #fff; }
.cce-input.cce-invalid { border-color: var(--cce-orange); }

.cce-details { margin-top: 20px; border-top: 1px dashed var(--cce-line); padding-top: 16px; }
.cce-details > summary { cursor: pointer; font-weight: 600; font-size: 14px; color: var(--cce-blue); list-style: none; display: inline-flex; align-items: center; gap: 8px; }
.cce-details > summary::-webkit-details-marker { display: none; }
.cce-details > summary::before { content: "+"; font-weight: 800; }
.cce-details[open] > summary::before { content: "–"; }
.cce-assump-table { width: 100%; border-collapse: collapse; margin-top: 14px; font-size: 13px; }
.cce-assump-table th, .cce-assump-table td { padding: 7px 8px; text-align: right; }
.cce-assump-table th:first-child, .cce-assump-table td:first-child { text-align: left; }
.cce-assump-table thead th { color: var(--cce-muted); font-weight: 600; border-bottom: 1px solid var(--cce-line); }
.cce-assump-table input { width: 70px; text-align: right; font-size: 13px; padding: 6px 8px; border: 1px solid var(--cce-line-strong); border-radius: 8px; background: var(--cce-paper); }
.cce-assump-row td { border-bottom: 1px solid var(--cce-line); }
.cce-mini-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }
@media (max-width: 520px) { .cce-mini-fields { grid-template-columns: 1fr; } }

/* Capture step ---------------------------------------------------------- */
.cce-capture-wrap { max-width: 560px; }
.cce-consent { display: flex; gap: 9px; align-items: flex-start; font-size: 12.5px; color: var(--cce-muted); margin-top: 16px; }
.cce-consent input { margin-top: 2px; }
.cce-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cce-turnstile:not(:empty) { margin-top: 16px; }
.cce-alert { padding: 13px 15px; border-radius: 10px; font-size: 14px; margin-top: 16px; display: none; }
.cce-alert.cce-show { display: block; }
.cce-alert-error { background: #fdece9; color: #b23a23; border: 1px solid #f6cabd; }

/* Result step ----------------------------------------------------------- */
.cce-results { background: var(--cce-grad-result); color: #fff; border-radius: 16px; padding: 28px; }
.cce-results .cce-eyebrow { background: rgba(255,255,255,.12); color: #bcd0ff; }
.cce-result-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 6px; }
.cce-result-logo { height: 30px; width: auto; flex: 0 0 auto; display: block; }
@media (max-width: 480px) { .cce-result-logo { height: 24px; } }
.cce-results-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 28px; margin-top: 6px; }
@media (max-width: 560px) { .cce-results-grid { grid-template-columns: 1fr; } }
.cce-metric { padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.cce-metric-label { font-size: 12.5px; color: #aab6dd; margin: 0 0 5px; }
.cce-metric-value { font-size: 27px; font-weight: 800; letter-spacing: -0.02em; }
.cce-metric.cce-hero { grid-column: 1 / -1; }
.cce-metric.cce-hero .cce-metric-value { font-size: 38px; }
.cce-metric.cce-hero .cce-cur { font-size: 19px; opacity: .7; font-weight: 700; margin-right: 3px; vertical-align: 7px; }
.cce-metric-sub { font-size: 12px; color: #8fa0cf; margin-top: 3px; }
/* Result: jump pills (under the headline) */
.cce-jump { display: flex; gap: 8px; flex-wrap: wrap; margin: 14px 0 4px; scroll-margin-top: 12px; }
.cce-jump-pill { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); color: #d6dcff; font-size: 12.5px; font-weight: 600; text-decoration: none; transition: background .15s, color .15s, border-color .15s, transform .08s; }
.cce-jump-pill:hover { background: rgba(234,91,56,.18); border-color: rgba(234,91,56,.5); color: #fff; }
.cce-jump-pill:active { transform: translateY(1px); }

/* Result: section labels */
.cce-sec-label { margin: 22px 0 12px; font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #9fb0dd; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.14); scroll-margin-top: 14px; }
.cce-results-grid + .cce-sec-label, .cce-reframe + .cce-roi { margin-top: 22px; }
.cce-sec-label:first-of-type { border-top: 0; padding-top: 0; margin-top: 18px; }

/* Result: ROI section (teal = value) */
.cce-roi { margin-top: 22px; padding: 20px; border-radius: 14px; background: rgba(26,163,154,.13); border: 1px solid rgba(26,163,154,.34); }
.cce-sec-label--roi { color: #8ee6db; border-top: 0; padding-top: 0; margin-top: 0; }
.cce-be { margin: 0 0 18px; padding: 14px 18px; border-radius: 12px; background: rgba(26,163,154,.20); border: 1px solid rgba(26,163,154,.4); }
.cce-be p { margin: 0; font-size: 15.5px; line-height: 1.5; color: #eafaf7; }
.cce-be .cce-be-sub { margin: 6px 0 0; font-size: 13px; line-height: 1.5; color: rgba(234,250,247,.72); }
.cce-be strong { color: #fff; }
.cce-roi-grid { margin-top: 0; }
.cce-roi-grid .cce-metric-value.cce-neg { color: #ffd3c9; }
.cce-roi-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 18px; }
.cce-roi .cce-field label { color: #d5efeb; }
.cce-roi-note { margin: 14px 0 0; font-size: 12px; line-height: 1.55; color: #a7c8c2; }

/* Result: per-working-day reframe */
.cce-reframe { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-top: 18px; padding: 14px 18px; border-radius: 12px; background: rgba(234,91,56,.16); border: 1px solid rgba(234,91,56,.34); }
.cce-reframe-num { font-size: 20px; font-weight: 800; color: #ffd9cd; }
.cce-reframe-txt { font-size: 14px; color: #eef2ff; }
.cce-reframe--gain { background: rgba(26,163,154,.18); border-color: rgba(26,163,154,.4); }
.cce-reframe--gain .cce-reframe-num { color: #8ee6db; }

/* ROI: sentence-equation showing how the return is calculated */
.cce-roi-flowlead { margin: 0 0 6px; font-size: 12px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: #8ee6db; }
.cce-roi-flow { margin: 0 0 16px; font-size: 14.5px; line-height: 1.7; color: #eafaf7; }
.cce-roi-flow strong { color: #fff; }
.cce-roi-flow .cce-calc-op { color: #8ee6db; }

/* Cost stack (licence + usage = total) */
.cce-coststack td:first-child { width: auto; }
.cce-coststack td:last-child { white-space: nowrap; width: 1%; }

/* Result: closing value prop + CTA */
.cce-close { margin-top: 22px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.14); }
.cce-close-title { margin: 0 0 8px; font-size: 19px; font-weight: 800; color: #fff; letter-spacing: -0.01em; }
.cce-close-lead { margin: 0 0 20px; font-size: 15.5px; line-height: 1.55; color: #dfe6ff; }

/* Left column: CTA + newsletter button, matched widths. The column has a fixed
 * width so the CTA stays static even after the newsletter button is swapped out. */
.cce-close-actions { display: flex; flex-direction: column; align-items: stretch; gap: 12px; width: 360px; max-width: 100%; }
.cce-close-actions .cce-btn--cta { width: 100%; min-height: 50px; }
.cce-close-sub { width: 100%; }
.cce-close-sub-btn { width: 100%; min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 8px 18px; border-radius: 11px; background: transparent; border: 1px solid rgba(255,255,255,.28); color: #dfe6ff; font-size: 13.5px; font-weight: 600; cursor: pointer; transition: background .15s, border-color .15s, color .15s; }
.cce-close-sub-btn:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.5); color: #fff; }
.cce-close-sub-btn[disabled] { opacity: .6; cursor: progress; }
.cce-close-sub-icon { display: inline-flex; }
.cce-close-sub-done { margin: 0; padding: 11px 18px; font-size: 13.5px; color: #8ee6db; font-weight: 600; text-align: center; }

/* Right column: partner badge with the trust line beneath it. */
.cce-close-trust { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; text-align: left; max-width: 300px; }
.cce-trustline { display: flex; align-items: flex-start; gap: 8px; margin: 0; font-size: 12px; font-weight: 600; color: #aab6dd; line-height: 1.4; }
.cce-trustline-ico { display: inline-flex; color: #8ee6db; margin-top: 1px; flex: 0 0 auto; }
@media (max-width: 560px) {
  .cce-close-row { flex-direction: column; align-items: stretch; }
  .cce-close-actions { width: 100%; }
  .cce-close-trust { align-items: flex-start; text-align: left; margin-top: 4px; }
}
.cce-close-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.cce-mspartner { display: inline-flex; align-items: center; gap: 10px; }
.cce-mspartner-mark { flex: 0 0 auto; display: block; line-height: 0; }
.cce-mspartner-txt { font-size: 12.5px; font-weight: 600; line-height: 1.2; color: #fff; letter-spacing: .01em; text-align: left; }
@media (max-width: 480px) { .cce-close-row { gap: 14px; } }

/* Result: how-it's-calculated breakdown */
.cce-calc { margin-top: 22px; padding: 20px; border-radius: 14px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); }
.cce-calc-title { margin: 0 0 12px; font-size: 13px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: #cdd8f5; }
/* Collapsible "How we worked this out" — closed by default, with a "See the maths" prompt. */
.cce-calc--toggle > summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0; padding: 0; }
.cce-calc--toggle > summary::-webkit-details-marker { display: none; }
.cce-calc-title-text { font-size: 13px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: #cdd8f5; }
.cce-calc-title-hint { font-size: 12.5px; font-weight: 600; color: #ffd9cd; display: inline-flex; align-items: center; gap: 6px; }
.cce-calc-title-hint::after { content: "▾"; transition: transform .2s; display: inline-block; }
.cce-calc[open] .cce-calc-title-hint { color: #cdd8f5; }
.cce-calc[open] .cce-calc-title-hint::after { transform: rotate(180deg); }
.cce-calc-cv { animation: cce-fade .25s ease; }
@keyframes cce-fade { from { opacity: 0; } to { opacity: 1; } }
.cce-calc-formula { margin: 0 0 16px; font-size: 14.5px; color: #eaf0ff; line-height: 1.6; }
.cce-calc-formula strong { color: #fff; }
.cce-calc-op { color: #9fb2e6; margin: 0 4px; font-weight: 700; }
.cce-calc-sub { margin: 18px 0 8px; font-size: 12px; font-weight: 700; color: #9fb0dd; letter-spacing: 0.03em; }
.cce-calc-sub:first-of-type { margin-top: 4px; }
.cce-breakdown { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.cce-breakdown + .cce-calc-sub { margin-top: 20px; }
.cce-breakdown th, .cce-breakdown td { padding: 9px 10px; text-align: right; color: #dde5fb; }
.cce-breakdown th:first-child, .cce-breakdown td:first-child { text-align: left; }
.cce-breakdown thead th { font-size: 11.5px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; color: #9fb0dd; border-bottom: 1px solid rgba(255,255,255,.18); }
.cce-breakdown tbody td { border-bottom: 1px solid rgba(255,255,255,.09); }
.cce-breakdown tfoot td { font-weight: 800; color: #fff; padding-top: 11px; }
.cce-calc-assump { margin: 16px 0 0; font-size: 12px; color: #9fb0dd; line-height: 1.55; }
.cce-calc-assump strong { color: #cdd8f5; }
.cce-result-note { font-size: 11.5px; color: #8fa0cf; margin-top: 16px; line-height: 1.5; }

/* Responsive: tighten the result panel on small screens */
@media (max-width: 560px) {
  .cce-results { padding: 20px 16px; }
  .cce-calc { padding: 16px 14px; }
  .cce-roi { padding: 16px 14px; }
  .cce-roi-fields { grid-template-columns: 1fr; }
  .cce-breakdown { font-size: 12.5px; }
  .cce-breakdown th, .cce-breakdown td { padding: 8px 6px; }
  .cce-metric.cce-hero .cce-metric-value { font-size: 30px; }
  .cce-result-logo { height: 22px; }
  .cce-close-row { gap: 12px; }
  .cce-close-row .cce-btn { width: 100%; }
}
@media (max-width: 380px) {
  .cce-breakdown { font-size: 11.5px; }
  .cce-breakdown th, .cce-breakdown td { padding: 7px 4px; }
}
.cce-result-cta { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 12px; }

.cce-success-tick { width: 50px; height: 50px; border-radius: 50%; background: var(--cce-green); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 28px; margin-bottom: 14px; }

/* Buttons & nav --------------------------------------------------------- */
.cce-nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 28px 24px; }
@media (max-width: 560px) { .cce-nav { padding: 16px 18px 20px; } }
.cce-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer;
  font-size: 15px; font-weight: 700; padding: 13px 24px; border: 0; border-radius: 11px;
  background-image: linear-gradient(135deg, #1129B9 0%, #2f6fe0 100%); background-color: var(--cce-blue); color: #fff;
  box-shadow: 0 10px 24px -13px rgba(17, 41, 185, .85);
  transition: transform .08s, filter .15s; text-decoration: none;
}
/* Conversion-CTA variant — solid CG TECH orange, with a lift and glow on hover. */
.cce-btn--cta {
  background-image: none;
  background-color: var(--cce-orange);
  box-shadow: 0 10px 24px -13px rgba(234, 91, 56, .85);
  transition: transform .15s ease-out, box-shadow .15s ease-out, filter .15s;
}
.cce-btn--cta:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 36px -12px rgba(234, 91, 56, .6), 0 0 0 5px rgba(234, 91, 56, .22);
  filter: brightness(1.04);
}
.cce-btn--cta:active { transform: translateY(0); }
/* Back button: flat blue so it matches the blue family, Next stays the gradient primary. */
.cce-btn-back { background-image: none; background-color: var(--cce-blue); box-shadow: 0 8px 20px -14px rgba(17, 41, 185, .7); }
.cce-btn:hover { filter: brightness(1.05); }
.cce-btn:active { transform: translateY(1px); }
.cce-btn[disabled] { opacity: .6; cursor: progress; }
.cce-btn-ghost { background: transparent; color: var(--cce-muted); padding: 13px 8px; }
.cce-btn-ghost:hover { filter: none; color: var(--cce-navy); }
.cce-btn-line { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.4); }
.cce-btn-block { width: 100%; }
.cce-nav-spacer { flex: 1; }


/* CGTECH-COWORK-SKIN-v1: token alignment with the 2026 cgtech-website-core
 * design system. Falls back to the original values when the design-system
 * stylesheet is absent (e.g. local demo). */
.cce-root {
  --cce-navy: var(--cg-navy, #0b1233);
  --cce-muted: var(--mid-grey, #5f6b86);
  --cce-line: var(--rule, #dbe2ef);
  --cce-paper: var(--off-white, #f8f9fc);
  --cce-link: var(--cg-blue, #1b5fd6);
  --cce-radius: var(--radius-lg, 16px);
  --cce-shadow: var(--shadow-lg, 0 22px 60px -34px rgba(11, 18, 51, 0.6));
  --cce-grad-result: linear-gradient(160deg, #1d2456 0%, var(--cg-navy, #151839) 60%, #0e1130 100%);
}

/* CGTECH-COWORK-SKIN-v1.1: branded window frame around the intro video (chrome
 * bar + dots, layered brand shadow) and minimal hover-only custom controls. */
.cce-video-frame{border-radius:16px;overflow:hidden;border:1px solid var(--cce-line);background:#0b1233;box-shadow:0 10px 22px -12px rgba(11,18,51,.28),0 34px 70px -34px rgba(17,41,185,.5)}
.cce-video-chrome{display:flex;align-items:center;gap:10px;padding:10px 14px;background:linear-gradient(160deg,#1d2456,var(--cce-navy,#151839))}
.cce-video-dots{display:inline-flex;gap:5px}
.cce-video-dots i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.22);display:block}
.cce-video-dots i:first-child{background:rgba(234,91,56,.75)}
.cce-video-chrome-title{font-size:11.5px;font-weight:700;letter-spacing:.08em;color:#aab6dd;text-transform:uppercase}
.cce-video-frame .cce-video{border-radius:0;border:0;box-shadow:none}
.cce-video-shield{position:absolute;inset:0;z-index:3;cursor:pointer;background:transparent;border:0;padding:0}
.cce-video-ctrls{position:absolute;right:12px;bottom:12px;display:flex;gap:8px;opacity:0;transition:opacity .2s;z-index:4}
.cce-video:hover .cce-video-ctrls,.cce-video-ctrls:focus-within{opacity:1}
.cce-vbtn{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(11,18,51,.72);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .15s}
.cce-vbtn:hover{background:var(--cce-blue)}

/* Keep the whole tool (progress bar included) below the fixed site header when the estimator scrolls itself into view. */
#cgtech-cowork-estimator{scroll-margin-top:112px}

/* Poster covers the iframe whenever the video is not playing (hides YouTube's pause/end overlays). */
.cce-video-poster{position:absolute;inset:0;z-index:2;background:#0b1233 center/cover no-repeat;display:flex;align-items:center;justify-content:center;transform:translateZ(0);will-change:transform}

/* CGTECH-COWORK-SKIN-v1.2: harden the video controls against theme button
 * styles. Astra paints bare button:hover with the site accent and adds its own
 * padding, which turned the full-size click shield solid blue on hover and
 * stretched the round controls into pills. Lock every state. */
.cce-root .cce-video-shield,
.cce-root .cce-video-shield:hover,
.cce-root .cce-video-shield:focus,
.cce-root .cce-video-shield:active{background:transparent!important;background-color:transparent!important;background-image:none!important;border:0!important;padding:0!important;margin:0!important;box-shadow:none!important;min-width:0!important;min-height:0!important;border-radius:0!important;outline:none!important}
.cce-root .cce-vbtn,
.cce-root .cce-vbtn:focus,
.cce-root .cce-vbtn:active{width:40px!important;height:40px!important;min-width:0!important;min-height:0!important;padding:0!important;margin:0!important;border-radius:50%!important;border:1px solid rgba(255,255,255,.25)!important;background:rgba(11,18,51,.72)!important;background-color:rgba(11,18,51,.72)!important;background-image:none!important;color:#fff!important;line-height:0!important;box-shadow:none!important}
.cce-root .cce-vbtn:hover{background:var(--cce-blue)!important;background-color:var(--cce-blue)!important;background-image:none!important;color:#fff!important}

/* CGTECH-COWORK-SKIN-v1.3: hover volume slider for the intro video, in a pill
 * that matches the round controls; every state locked against theme styles. */
.cce-root .cce-vslider-wrap{display:inline-flex;align-items:center;height:40px;padding:0 14px;border-radius:999px;background:rgba(11,18,51,.72);border:1px solid rgba(255,255,255,.25);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.cce-root .cce-vslider,
.cce-root .cce-vslider:focus,
.cce-root .cce-vslider:hover{-webkit-appearance:none!important;appearance:none!important;width:74px!important;height:4px!important;border-radius:999px!important;background:rgba(255,255,255,.35)!important;outline:none!important;cursor:pointer;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;min-height:0!important}
.cce-root .cce-vslider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;border:0;box-shadow:0 1px 4px rgba(0,0,0,.4);cursor:pointer}
.cce-root .cce-vslider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:0;cursor:pointer}
.cce-root .cce-vslider::-moz-range-track{height:4px;border-radius:999px;background:rgba(255,255,255,.35)}

/* CGTECH-COWORK-SKIN-v1.4: pin the report logo size. Elementor's global
 * `.elementor img{height:auto}` outranks a single class, which let the SVG
 * logo blow up to its natural size across the result card. */
.cce-root .cce-result-logo,
.elementor .cce-root img.cce-result-logo{height:30px!important;width:auto!important;max-width:220px!important;max-height:30px!important;flex:0 0 auto!important;display:block!important}
@media (max-width: 480px){
  .cce-root .cce-result-logo,
  .elementor .cce-root img.cce-result-logo{height:24px!important;max-height:24px!important}
}

/* CGTECH-COWORK-SKIN-v1.5: restore the original tool design against theme
 * bleed. Astra paints bare button hover/focus states with its accent fill
 * (turned the selected licence card dark-on-dark) and gives every table cell
 * a full border (the original breakdown tables are borderless with subtle
 * row separators). Each component is locked in every state. */

/* Licence picker cards: paper at rest, white + blue ring when selected. */
.cce-root .cce-seg-btn,
.cce-root .cce-seg-btn:hover,
.cce-root .cce-seg-btn:focus,
.cce-root .cce-seg-btn:active{background:var(--cce-paper)!important;background-image:none!important;border:1px solid var(--cce-line-strong)!important;border-radius:12px!important;padding:13px 16px!important;box-shadow:none!important;color:inherit!important;text-align:left!important;min-height:0!important}
.cce-root .cce-seg-btn:hover{border-color:var(--cce-blue)!important}
.cce-root .cce-seg-btn.is-active,
.cce-root .cce-seg-btn.is-active:hover,
.cce-root .cce-seg-btn.is-active:focus,
.cce-root .cce-seg-btn.is-active:active{background:#fff!important;border-color:var(--cce-blue)!important;box-shadow:0 0 0 3px var(--cce-blue-tint)!important}

/* Wizard buttons: gradient primary; variants re-locked after the base. */
.cce-root .cce-btn,
.cce-root .cce-btn:hover,
.cce-root .cce-btn:focus,
.cce-root .cce-btn:active{background-image:linear-gradient(135deg,#1129B9 0%,#2f6fe0 100%)!important;background-color:var(--cce-blue)!important;color:#fff!important;border:0!important;padding:13px 24px!important;border-radius:11px!important;min-height:0!important;box-shadow:0 10px 24px -13px rgba(17,41,185,.85)!important}
.cce-root .cce-btn:hover{filter:brightness(1.05)}
.cce-root .cce-btn-back,
.cce-root .cce-btn-back:hover,
.cce-root .cce-btn-back:focus,
.cce-root .cce-btn-back:active{background-image:none!important;background-color:var(--cce-blue)!important;box-shadow:0 8px 20px -14px rgba(17,41,185,.7)!important}
.cce-root .cce-btn--cta,
.cce-root .cce-btn--cta:hover,
.cce-root .cce-btn--cta:focus,
.cce-root .cce-btn--cta:active{background-image:none!important;background-color:var(--cce-orange)!important;box-shadow:0 10px 24px -13px rgba(234,91,56,.85)!important}
.cce-root .cce-btn--cta:hover{box-shadow:0 18px 36px -12px rgba(234,91,56,.6),0 0 0 5px rgba(234,91,56,.22)!important}
.cce-root .cce-btn-ghost,
.cce-root .cce-btn-ghost:hover,
.cce-root .cce-btn-ghost:focus,
.cce-root .cce-btn-ghost:active{background:transparent!important;background-image:none!important;color:var(--cce-muted)!important;padding:13px 8px!important;box-shadow:none!important}
.cce-root .cce-btn-ghost:hover{color:var(--cce-navy)!important}
.cce-root .cce-btn-line,
.cce-root .cce-btn-line:hover,
.cce-root .cce-btn-line:focus,
.cce-root .cce-btn-line:active{background:transparent!important;background-image:none!important;border:1px solid rgba(255,255,255,.4)!important;color:#fff!important;box-shadow:none!important}

/* Newsletter button on the report: quiet outline, never theme-filled. */
.cce-root .cce-close-sub-btn,
.cce-root .cce-close-sub-btn:focus,
.cce-root .cce-close-sub-btn:active{background:transparent!important;background-image:none!important;border:1px solid rgba(255,255,255,.28)!important;color:#dfe6ff!important;padding:8px 18px!important;border-radius:11px!important;box-shadow:none!important}
.cce-root .cce-close-sub-btn:hover{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.5)!important;color:#fff!important}

/* Tables: strip the theme's full cell borders, restore the design's own
 * subtle separators only. */
.cce-root table, .cce-root th, .cce-root td{border:0!important;background:transparent!important}
.cce-root .cce-breakdown thead th{border-bottom:1px solid rgba(255,255,255,.18)!important}
.cce-root .cce-breakdown tbody td{border-bottom:1px solid rgba(255,255,255,.09)!important}
.cce-root .cce-assump-table thead th{border-bottom:1px solid var(--cce-line)!important}
.cce-root .cce-assump-row td{border-bottom:1px solid var(--cce-line)!important}

/* Closing CTA: wide enough for one line at the original size; if a narrow
 * screen forces a wrap it stays centred instead of ragged. */
.cce-root .cce-close-actions{width:420px}
.cce-root .cce-btn--cta{white-space:normal;text-align:center;line-height:1.35}
