/* Chapter Partner shared marketing styles. All selectors are scoped to .cp-home. */
.cp-home {
  --cp-navy: #102a43;
  --cp-navy-deep: #071e33;
  --cp-blue: #276ef1;
  --cp-blue-dark: #1453c7;
  --cp-teal: #12b8a6;
  --cp-violet: #7657e8;
  --cp-gold: #e9a23b;
  --cp-ink: #14283d;
  --cp-muted: #5d7083;
  --cp-line: #dce5ed;
  --cp-soft: #f3f7fb;
  --cp-white: #fff;
  color: var(--cp-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
  overflow: hidden;
}

.cp-home *, .cp-home *::before, .cp-home *::after { box-sizing: border-box; }
.cp-home a { text-underline-offset: 3px; }
.cp-section { padding: clamp(4.5rem, 8vw, 7.5rem) 0; }
.cp-heading { color: var(--cp-navy); font-size: clamp(2rem, 4vw, 3.25rem); font-weight: 780; letter-spacing: -.045em; line-height: 1.08; }
.cp-copy { color: var(--cp-muted); font-size: 1.08rem; max-width: 46rem; }
.cp-kicker { color: var(--cp-blue); font-size: .78rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.cp-eyebrow { align-items: center; background: rgba(39,110,241,.1); border: 1px solid rgba(39,110,241,.14); border-radius: 99px; color: var(--cp-blue-dark); display: inline-flex; font-size: .76rem; font-weight: 800; letter-spacing: .1em; padding: .48rem .8rem; text-transform: uppercase; }
.cp-eyebrow::before { background: var(--cp-teal); border-radius: 50%; content: ""; height: .45rem; margin-right: .5rem; width: .45rem; }
.cp-eyebrow-light { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.16); color: #dceaff; }

.cp-home .btn { border-radius: .7rem; font-weight: 750; padding: .78rem 1.25rem; transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease; }
.cp-home .btn:hover { transform: translateY(-2px); }
.cp-btn-primary { background: var(--cp-blue); border: 1px solid var(--cp-blue); box-shadow: 0 10px 25px rgba(39,110,241,.23); color: #fff; }
.cp-btn-primary:hover, .cp-btn-primary:focus { background: var(--cp-blue-dark); border-color: var(--cp-blue-dark); color: #fff; }
.cp-btn-secondary { background: #fff; border: 1px solid #cbd8e4; color: var(--cp-navy); }
.cp-btn-secondary:hover, .cp-btn-secondary:focus { background: var(--cp-soft); border-color: #aebfce; color: var(--cp-navy); }
.cp-btn-light { background: #fff; border: 1px solid #fff; color: var(--cp-navy); }
.cp-btn-light:hover, .cp-btn-light:focus { background: #eaf3ff; border-color: #eaf3ff; color: var(--cp-navy); }

.cp-hero { background: linear-gradient(135deg, #f7fbff 0%, #eef5ff 50%, #f4fbfa 100%); padding: clamp(4.75rem, 9vw, 8.5rem) 0; }
.cp-hero::before { background-image: radial-gradient(rgba(39,110,241,.13) 1px, transparent 1px); background-size: 22px 22px; content: ""; inset: 0; mask-image: linear-gradient(to right, #000, transparent 38%, transparent); opacity: .7; position: absolute; }
.cp-orb { border-radius: 50%; filter: blur(2px); opacity: .5; position: absolute; }
.cp-orb-one { background: #bcd6ff; height: 26rem; right: -12rem; top: -10rem; width: 26rem; }
.cp-orb-two { background: #a7eadf; bottom: -12rem; height: 23rem; left: 35%; width: 23rem; }
.cp-display { color: var(--cp-navy); font-size: clamp(2.65rem, 5.5vw, 5rem); font-weight: 800; letter-spacing: -.06em; line-height: .99; max-width: 13ch; }
.cp-lead { color: #4f657a; font-size: clamp(1.08rem, 2vw, 1.28rem); max-width: 42rem; }
.cp-check-list { color: #415970; font-size: .92rem; font-weight: 650; }
.cp-check-list span { color: var(--cp-teal); font-weight: 900; margin-right: .3rem; }

.cp-hero-visual { min-height: 32rem; position: relative; }
.cp-browser { background: #fff; border: 1px solid rgba(120,147,171,.26); border-radius: 1.1rem; box-shadow: 0 35px 70px rgba(20,54,84,.2); left: 0; overflow: hidden; position: absolute; top: 1.4rem; transform: rotate(1.25deg); width: 100%; }
.cp-browser-bar { align-items: center; background: #eff4f8; display: flex; gap: .35rem; height: 2.35rem; padding: 0 .8rem; }
.cp-browser-bar > span { background: #afbdc9; border-radius: 50%; height: .46rem; width: .46rem; }
.cp-address { background: #fff; border-radius: .35rem; color: #8090a0; font-size: .58rem; margin-left: .45rem; padding: .28rem .65rem; text-align: center; width: 55%; }
.cp-browser-body { padding: 1rem; }
.cp-demo-nav { align-items: center; display: flex; justify-content: space-between; margin-bottom: .8rem; }
.cp-demo-logo { background: linear-gradient(135deg, var(--cp-blue), var(--cp-teal)); border-radius: .25rem; height: 1.25rem; width: 3.5rem; }
.cp-demo-lines { display: flex; gap: .55rem; }
.cp-demo-lines i { background: #bcc8d4; border-radius: 1rem; height: .25rem; width: 1.5rem; }
.cp-demo-hero { background: linear-gradient(135deg, #163e73, #2369cf); border-radius: .65rem; color: white; display: flex; flex-direction: column; min-height: 11rem; overflow: hidden; padding: 1.6rem; position: relative; }
.cp-demo-hero::after { background: rgba(63,211,193,.32); border-radius: 50%; content: ""; height: 10rem; position: absolute; right: -3rem; top: -2rem; width: 10rem; }
.cp-demo-hero span { color: #b9d6ff; font-size: .52rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.cp-demo-hero strong { font-size: 1.4rem; line-height: 1.2; margin-top: .45rem; max-width: 12rem; }
.cp-demo-hero i { background: #fff; border-radius: 2rem; height: .55rem; margin-top: 1.1rem; width: 4.4rem; }
.cp-demo-card { border: 1px solid #e1e8ef; border-radius: .55rem; display: flex; flex-direction: column; height: 6.8rem; justify-content: center; padding: .85rem; }
.cp-demo-event small { color: var(--cp-blue); font-size: .48rem; font-weight: 800; }
.cp-demo-event b { color: var(--cp-navy); font-size: .7rem; line-height: 1.25; margin: .3rem 0; }
.cp-demo-event span { color: var(--cp-muted); font-size: .53rem; }
.cp-demo-stat { background: #effaf8; text-align: center; }
.cp-demo-stat strong { color: #078f83; font-size: 1.35rem; }
.cp-demo-stat span { color: #56847e; font-size: .55rem; }
.cp-float-card { align-items: center; backdrop-filter: blur(10px); background: rgba(255,255,255,.94); border: 1px solid rgba(183,204,221,.5); border-radius: .75rem; box-shadow: 0 18px 40px rgba(19,57,88,.16); display: flex; position: absolute; z-index: 2; }
.cp-float-support { bottom: 1.25rem; gap: .65rem; left: -1.5rem; padding: .75rem .9rem; }
.cp-float-support > span:last-child { display: flex; flex-direction: column; line-height: 1.25; }
.cp-float-support strong { color: var(--cp-navy); font-size: .72rem; }
.cp-float-support small { color: var(--cp-muted); font-size: .58rem; }
.cp-float-icon { align-items: center; background: #dff8f4; border-radius: 50%; color: #078f83; display: flex; font-weight: 900; height: 2rem; justify-content: center; width: 2rem; }
.cp-float-mobile { color: var(--cp-navy); gap: .45rem; padding: .6rem .8rem; right: -1.5rem; top: 5rem; }
.cp-float-mobile span { color: var(--cp-blue); font-size: 1.2rem; }
.cp-float-mobile strong { font-size: .68rem; }

.cp-proof { background: var(--cp-navy); color: #dceaff; }
.cp-proof p { color: #fff; }
.cp-proof span { font-size: .84rem; font-weight: 650; }
.cp-proof i { background: var(--cp-teal); border-radius: 50%; height: .25rem; width: .25rem; }

.cp-intro { background: #fff; }
.cp-value-card { border: 1px solid var(--cp-line); border-radius: 1rem; padding: 1.65rem; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.cp-value-card:hover { border-color: #bfd0df; box-shadow: 0 18px 35px rgba(21,56,86,.09); transform: translateY(-5px); }
.cp-value-card h3, .cp-service-card h3, .cp-step h3 { color: var(--cp-navy); font-size: 1.15rem; font-weight: 750; margin: 1.15rem 0 .6rem; }
.cp-value-card p, .cp-service-card p, .cp-step p { color: var(--cp-muted); font-size: .94rem; margin: 0; }
.cp-icon { align-items: center; border-radius: .75rem; display: inline-flex; height: 3rem; justify-content: center; width: 3rem; }
.cp-icon svg { fill: none; height: 1.45rem; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; width: 1.45rem; }
.cp-icon-blue { background: #e6efff; color: var(--cp-blue); }
.cp-icon-teal { background: #dff8f4; color: #078f83; }
.cp-icon-violet { background: #eeeaff; color: var(--cp-violet); }
.cp-icon-gold { background: #fff3dc; color: #b8730b; }

.cp-services { background: var(--cp-soft); }
.cp-text-link { color: var(--cp-blue-dark); font-weight: 750; text-decoration: none; }
.cp-text-link:hover { color: var(--cp-blue); text-decoration: underline; }
.cp-service-card { background: #fff; border: 1px solid var(--cp-line); border-radius: 1.15rem; overflow: hidden; padding: 2rem; position: relative; transition: transform .25s ease, box-shadow .25s ease; }
.cp-service-card:hover { box-shadow: 0 22px 50px rgba(18,54,84,.11); transform: translateY(-5px); }
.cp-service-card .cp-service-number { color: #d5dfe8; font-size: 2.8rem; font-weight: 800; line-height: 1; position: absolute; right: 1.5rem; top: 1.5rem; }
.cp-service-card h3 { font-size: 1.35rem; }
.cp-service-card p { margin-bottom: 1.25rem; }
.cp-service-card > a { color: var(--cp-blue-dark); font-size: .9rem; font-weight: 750; text-decoration: none; }
.cp-service-card > a:hover { text-decoration: underline; }
.cp-service-featured { border-top: 4px solid var(--cp-teal); }
.cp-service-tag { background: var(--cp-teal); border-radius: 0 0 0 .5rem; color: #fff; font-size: .58rem; font-weight: 800; letter-spacing: .08em; padding: .35rem .65rem; position: absolute; right: 0; text-transform: uppercase; top: 0; }
.cp-service-featured .cp-service-number { top: 2.1rem; }

.cp-pmi { background: linear-gradient(135deg, #071e33, #103c67); color: #fff; position: relative; }
.cp-pmi::after { background-image: radial-gradient(rgba(255,255,255,.12) 1px, transparent 1px); background-size: 24px 24px; content: ""; inset: 0 0 0 50%; mask-image: linear-gradient(to left, #000, transparent); opacity: .5; pointer-events: none; position: absolute; }
.cp-copy-light { color: #bcd0e2; }
.cp-pmi-features > div { color: #e7f0f8; font-size: .92rem; font-weight: 650; }
.cp-pmi-features span { color: #54d8ca; margin-right: .35rem; }
.cp-independent { color: #8da9c1; font-size: .68rem; max-width: 36rem; }
.cp-pmi-panel { min-height: 29rem; }
.cp-pmi-grid { background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px); background-size: 35px 35px; border-radius: 50%; height: 24rem; left: 2rem; position: absolute; top: 2rem; transform: rotate(-8deg); width: 24rem; }
.cp-pmi-card { background: rgba(255,255,255,.98); border: 1px solid rgba(255,255,255,.5); border-radius: 1rem; box-shadow: 0 25px 55px rgba(0,0,0,.26); color: var(--cp-navy); position: absolute; }
.cp-pmi-card-main { left: 1rem; padding: 2rem; top: 3rem; transform: rotate(-2deg); width: 78%; }
.cp-card-label { color: var(--cp-blue); font-size: .62rem; font-weight: 850; letter-spacing: .14em; }
.cp-pmi-card-main h3 { font-size: 1.65rem; font-weight: 800; letter-spacing: -.035em; line-height: 1.12; margin: .75rem 0 1.3rem; }
.cp-audience-list { display: flex; flex-wrap: wrap; gap: .45rem; }
.cp-audience-list span { background: #edf4fc; border-radius: 2rem; color: #47637c; font-size: .67rem; font-weight: 650; padding: .38rem .65rem; }
.cp-pmi-card-event { bottom: 2.25rem; display: flex; flex-direction: column; padding: 1rem 1.2rem; right: 0; transform: rotate(3deg); width: 52%; }
.cp-pmi-card-event small { color: var(--cp-violet); font-size: .55rem; font-weight: 800; letter-spacing: .1em; }
.cp-pmi-card-event strong { font-size: .9rem; margin: .2rem 0; }
.cp-pmi-card-event span { color: #168c80; font-size: .62rem; font-weight: 700; }
.cp-pmi-card-pdu { align-items: center; background: var(--cp-teal); bottom: 4rem; color: #fff; display: flex; flex-direction: column; left: 0; padding: .8rem 1.15rem; transform: rotate(-5deg); }
.cp-pmi-card-pdu strong { font-size: 1.25rem; line-height: 1; }
.cp-pmi-card-pdu span { font-size: .58rem; }

.cp-process { background: #fff; }
.cp-process-row { position: relative; }
.cp-process-row::before { border-top: 1px dashed #b8c9d8; content: ""; left: 16%; position: absolute; right: 16%; top: 1.6rem; }
.cp-step { padding: 0 1.5rem; position: relative; }
.cp-step-number { align-items: center; background: #fff; border: 2px solid #bcd0f4; border-radius: 50%; color: var(--cp-blue); display: inline-flex; font-size: .85rem; font-weight: 850; height: 3.2rem; justify-content: center; position: relative; width: 3.2rem; z-index: 1; }
.cp-step h3 { font-size: 1.25rem; }

.cp-support-banner { background: linear-gradient(120deg, var(--cp-blue-dark), #173f75 60%, #0e6d79); border-radius: 1.5rem; color: #dceaff; overflow: hidden; padding: clamp(2rem, 5vw, 4.25rem); position: relative; }
.cp-support-banner::before { border: 55px solid rgba(255,255,255,.05); border-radius: 50%; content: ""; height: 20rem; position: absolute; right: -5rem; top: -8rem; width: 20rem; }
.cp-support-banner h2 { color: #fff; font-size: clamp(1.8rem, 3.5vw, 2.75rem); font-weight: 780; letter-spacing: -.04em; line-height: 1.1; }
.cp-support-banner p { color: #c3d7e8; max-width: 43rem; }
.cp-final-cta { background: linear-gradient(180deg, #fff, #edf5ff); position: relative; }
.cp-final-cta::before { background: rgba(39,110,241,.08); border-radius: 50%; content: ""; filter: blur(1px); height: 18rem; left: 50%; position: absolute; top: 50%; transform: translate(-50%,-50%); width: 38rem; }

@media (max-width: 991.98px) {
  .cp-display { max-width: 16ch; }
  .cp-hero-visual { margin: 1rem auto 0; max-width: 36rem; }
  .cp-pmi-panel { margin: 0 auto; max-width: 36rem; }
  .cp-pmi::after { display: none; }
}

@media (max-width: 767.98px) {
  .cp-section { padding: 4.25rem 0; }
  .cp-hero { padding: 4.5rem 0; }
  .cp-hero-visual { min-height: 25rem; }
  .cp-float-mobile { right: -.25rem; top: 4rem; }
  .cp-float-support { bottom: 0; left: -.25rem; }
  .cp-process-row::before { display: none; }
  .cp-pmi-panel { min-height: 25rem; }
  .cp-pmi-card-main { left: 0; width: 88%; }
  .cp-pmi-card-event { right: 0; }
}

@media (max-width: 575.98px) {
  .cp-display { font-size: 2.65rem; }
  .cp-heading { font-size: 2.05rem; }
  .cp-browser { left: 2%; width: 96%; }
  .cp-float-mobile { display: none; }
  .cp-pmi-card-main { padding: 1.5rem; }
  .cp-pmi-card-main h3 { font-size: 1.35rem; }
  .cp-pmi-card-event { width: 60%; }
  .cp-final-cta::before { width: 20rem; }
}

/* Services overview */
.cp-page-hero { background: linear-gradient(145deg, #f7fbff 0%, #edf5ff 55%, #effbf8 100%); padding: clamp(4.5rem, 8vw, 7.25rem) 0; }
.cp-page-hero::before { background-image: radial-gradient(rgba(39,110,241,.13) 1px, transparent 1px); background-size: 22px 22px; content: ""; inset: 0; mask-image: linear-gradient(to bottom, #000, transparent 75%); opacity: .65; position: absolute; }
.cp-page-title { color: var(--cp-navy); font-size: clamp(2.5rem, 5vw, 4.6rem); font-weight: 800; letter-spacing: -.058em; line-height: 1.01; }
.cp-services-page .cp-proof strong { color: #fff; font-size: .9rem; }
.cp-services-page .cp-proof span { color: #bcd0e2; font-size: .82rem; }
.cp-service-index { background: #fff; }
.cp-service-detail { background: #fff; border: 1px solid var(--cp-line); border-radius: 1.2rem; box-shadow: 0 10px 35px rgba(18,54,84,.055); padding: clamp(1.6rem, 3vw, 2.35rem); position: relative; transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.cp-service-detail:hover { border-color: #b8cada; box-shadow: 0 22px 50px rgba(18,54,84,.11); transform: translateY(-4px); }
.cp-detail-number { color: #d9e3eb; font-size: 2.5rem; font-weight: 850; line-height: 1; }
.cp-service-detail h3 { color: var(--cp-navy); font-size: 1.45rem; font-weight: 780; letter-spacing: -.025em; margin: 1.35rem 0 .7rem; }
.cp-service-detail > p { color: var(--cp-muted); font-size: .96rem; }
.cp-feature-list { border-bottom: 1px solid #e5ebf1; border-top: 1px solid #e5ebf1; margin: 1.35rem 0; padding: 1.15rem 0; }
.cp-feature-list li { color: #455d73; font-size: .88rem; padding: .28rem 0 .28rem 1.35rem; position: relative; }
.cp-feature-list li::before { color: var(--cp-teal); content: "✓"; font-weight: 900; left: 0; position: absolute; }
.cp-card-link { color: var(--cp-blue-dark); font-size: .9rem; font-weight: 780; text-decoration: none; }
.cp-card-link:hover { color: var(--cp-blue); text-decoration: underline; }
.cp-service-detail-featured { border-top: 4px solid var(--cp-teal); }
.cp-detail-badge { background: var(--cp-teal); border-radius: 0 0 0 .55rem; color: #fff; font-size: .58rem; font-weight: 850; letter-spacing: .09em; padding: .4rem .7rem; position: absolute; right: 0; text-transform: uppercase; top: 0; }
.cp-care-band { background: linear-gradient(135deg, var(--cp-navy-deep), #113e69); position: relative; }
.cp-care-band::after { background-image: radial-gradient(rgba(255,255,255,.1) 1px, transparent 1px); background-size: 24px 24px; content: ""; inset: 0 0 0 50%; mask-image: linear-gradient(to left, #000, transparent); opacity: .6; pointer-events: none; position: absolute; }
.cp-care-band .container { position: relative; z-index: 1; }
.cp-care-card { backdrop-filter: blur(8px); background: rgba(255,255,255,.075); border: 1px solid rgba(255,255,255,.13); border-radius: .9rem; padding: 1.25rem; }
.cp-care-card > span { align-items: center; background: rgba(84,216,202,.14); border-radius: .55rem; color: #65e0d2; display: inline-flex; font-size: .9rem; font-weight: 850; height: 2.25rem; justify-content: center; width: 2.25rem; }
.cp-care-card h3 { color: #fff; font-size: 1rem; font-weight: 750; margin: .8rem 0 .35rem; }
.cp-care-card p { color: #afc5d8; font-size: .8rem; line-height: 1.5; margin: 0; }
.cp-fit-section { background: var(--cp-soft); }
.cp-fit-card { background: #fff; border: 1px solid var(--cp-line); border-radius: 1rem; padding: 1.75rem; }
.cp-fit-icon { align-items: center; background: #e8f1ff; border-radius: 50%; color: var(--cp-blue); display: inline-flex; font-size: 1.2rem; font-weight: 800; height: 2.8rem; justify-content: center; width: 2.8rem; }
.cp-fit-card h3 { color: var(--cp-navy); font-size: 1.15rem; font-weight: 760; margin: 1rem 0 .5rem; }
.cp-fit-card p { color: var(--cp-muted); font-size: .9rem; }
.cp-fit-card a { color: var(--cp-blue-dark); font-size: .85rem; font-weight: 750; text-decoration: none; }
.cp-fit-card a:hover { text-decoration: underline; }
.cp-services-process { background: #fff; }
.cp-service-steps { counter-reset: cp-service-step; }
.cp-service-steps li { align-items: flex-start; border-bottom: 1px solid var(--cp-line); display: flex; gap: 1rem; padding: 1rem 0; }
.cp-service-steps li:first-child { padding-top: 0; }
.cp-service-steps li:last-child { border-bottom: 0; padding-bottom: 0; }
.cp-service-steps li > span { align-items: center; background: #eaf2ff; border-radius: 50%; color: var(--cp-blue); display: inline-flex; flex: 0 0 auto; font-size: .75rem; font-weight: 850; height: 2.25rem; justify-content: center; width: 2.25rem; }
.cp-service-steps strong { color: var(--cp-navy); font-size: 1rem; }
.cp-service-steps p { color: var(--cp-muted); font-size: .86rem; margin: .15rem 0 0; }

@media (max-width: 767.98px) {
  .cp-page-hero { padding: 4.25rem 0; }
  .cp-page-title { font-size: 2.55rem; }
  .cp-services-page .cp-proof .col-md-4 + .col-md-4 { border-top: 1px solid rgba(255,255,255,.12); padding-top: 1rem; }
  .cp-care-band::after { display: none; }
}

/* Website design detail */
.cp-design-hero { background: linear-gradient(135deg, #f6faff, #edf5ff 58%, #eefbf8); padding: clamp(4.5rem, 8vw, 7.5rem) 0; }
.cp-design-hero::before { background-image: radial-gradient(rgba(39,110,241,.12) 1px, transparent 1px); background-size: 22px 22px; content: ""; inset: 0; mask-image: linear-gradient(to right, #000, transparent 55%); opacity: .65; position: absolute; }
.cp-breadcrumb { align-items: center; color: #72869a; display: flex; font-size: .78rem; gap: .55rem; }
.cp-breadcrumb a { color: var(--cp-blue-dark); text-decoration: none; }
.cp-breadcrumb a:hover { text-decoration: underline; }
.cp-design-visual { min-height: 29rem; position: relative; }
.cp-design-window { background: #fff; border: 1px solid #cfdae5; border-radius: 1rem; box-shadow: 0 28px 60px rgba(16,50,80,.2); overflow: hidden; position: absolute; right: 0; top: 1rem; transform: rotate(1.5deg); width: 92%; }
.cp-design-window-bar { align-items: center; background: #eef3f7; display: flex; gap: .35rem; height: 2.2rem; padding: 0 .7rem; }
.cp-design-window-bar i { background: #aab9c6; border-radius: 50%; height: .42rem; width: .42rem; }
.cp-design-window-bar span { background: #fff; border-radius: .3rem; color: #8193a3; font-size: .5rem; margin-left: .35rem; padding: .25rem; text-align: center; width: 55%; }
.cp-design-window-body { padding: 1rem; }
.cp-design-mini-nav { align-items: center; display: flex; gap: .55rem; padding-bottom: .7rem; }
.cp-design-mini-nav b { color: var(--cp-blue); font-size: .55rem; margin-right: auto; }
.cp-design-mini-nav span { background: #b9c5d0; border-radius: 1rem; height: .22rem; width: 1.5rem; }
.cp-design-mini-hero { background: linear-gradient(125deg, #113c70, #2771d7); border-radius: .55rem; color: #fff; display: flex; flex-direction: column; min-height: 11rem; padding: 1.4rem; position: relative; }
.cp-design-mini-hero::after { background: #27baa9; border-radius: 50%; content: ""; height: 9rem; opacity: .35; position: absolute; right: -2rem; top: -3rem; width: 9rem; }
.cp-design-mini-hero small { color: #b9d6ff; font-size: .47rem; font-weight: 750; letter-spacing: .1em; }
.cp-design-mini-hero strong { font-size: 1.25rem; line-height: 1.15; margin-top: .5rem; max-width: 12rem; }
.cp-design-mini-hero i { background: #fff; border-radius: 2rem; height: .5rem; margin-top: 1rem; width: 4rem; }
.cp-design-mini-grid { display: grid; gap: .55rem; grid-template-columns: repeat(3,1fr); padding-top: .7rem; }
.cp-design-mini-grid i { background: #edf2f7; border-radius: .4rem; height: 4.2rem; }
.cp-phone { background: #132d44; border: 4px solid #132d44; border-radius: 1rem; bottom: .5rem; box-shadow: 0 20px 35px rgba(15,43,68,.25); height: 14rem; left: -.5rem; padding: .25rem; position: absolute; transform: rotate(-4deg); width: 7.4rem; z-index: 2; }
.cp-phone > div { background: linear-gradient(160deg,#f7fbff,#e6f2ff); border-radius: .65rem; display: flex; flex-direction: column; height: 100%; padding: .75rem .55rem; }
.cp-phone b { color: var(--cp-blue); font-size: .4rem; }
.cp-phone strong { color: var(--cp-navy); font-size: .72rem; line-height: 1.15; margin: 1.8rem 0 .8rem; }
.cp-phone i { background: #fff; border-radius: .3rem; height: 2.5rem; margin-bottom: .4rem; }
.cp-design-note { align-items: center; background: rgba(255,255,255,.96); border: 1px solid #d7e2eb; border-radius: .7rem; bottom: 1.5rem; box-shadow: 0 15px 30px rgba(16,50,80,.16); display: flex; gap: .6rem; padding: .65rem .8rem; position: absolute; right: -1rem; z-index: 3; }
.cp-design-note > span { align-items: center; background: #ddf8f4; border-radius: 50%; color: #078f83; display: flex; font-weight: 850; height: 1.8rem; justify-content: center; width: 1.8rem; }
.cp-design-note b { color: var(--cp-navy); font-size: .65rem; line-height: 1.1; }
.cp-design-note small { color: var(--cp-muted); font-size: .52rem; font-weight: 500; }
.cp-design-intro { background: #fff; }
.cp-outcome-panel { background: var(--cp-soft); border: 1px solid var(--cp-line); border-radius: 1.2rem; padding: clamp(1.5rem,3vw,2.25rem); }
.cp-outcome-panel > h3 { color: var(--cp-navy); font-size: 1.15rem; font-weight: 780; margin-bottom: 1rem; }
.cp-outcome-row { align-items: flex-start; border-top: 1px solid var(--cp-line); display: flex; gap: .85rem; padding: 1rem 0; }
.cp-outcome-row:last-child { padding-bottom: 0; }
.cp-outcome-row > span { color: var(--cp-blue); font-size: .7rem; font-weight: 850; padding-top: .15rem; }
.cp-outcome-row strong { color: var(--cp-navy); font-size: .9rem; }
.cp-outcome-row p { color: var(--cp-muted); font-size: .8rem; line-height: 1.5; margin: .15rem 0 0; }
.cp-included { background: var(--cp-soft); scroll-margin-top: 2rem; }
.cp-included-card { background: #fff; border: 1px solid var(--cp-line); border-radius: 1rem; padding: 1.6rem; transition: transform .25s ease, box-shadow .25s ease; }
.cp-included-card:hover { box-shadow: 0 18px 35px rgba(18,54,84,.09); transform: translateY(-4px); }
.cp-included-card > span { color: var(--cp-blue); font-size: .7rem; font-weight: 850; }
.cp-included-card h3 { color: var(--cp-navy); font-size: 1.08rem; font-weight: 760; margin: .75rem 0 .5rem; }
.cp-included-card p { color: var(--cp-muted); font-size: .85rem; margin: 0; }
.cp-journeys { background: linear-gradient(135deg,var(--cp-navy-deep),#104774); }
.cp-journey-card { align-items: flex-start; backdrop-filter: blur(8px); background: rgba(255,255,255,.075); border: 1px solid rgba(255,255,255,.12); border-radius: .8rem; display: flex; gap: .8rem; min-height: 8.1rem; padding: 1rem; }
.cp-journey-card > span { align-items: center; background: rgba(84,216,202,.14); border-radius: 50%; color: #65e0d2; display: flex; flex: 0 0 auto; font-size: .7rem; font-weight: 850; height: 2rem; justify-content: center; width: 2rem; }
.cp-journey-card h3 { color: #fff; font-size: .92rem; font-weight: 750; margin: .05rem 0 .25rem; }
.cp-journey-card p { color: #afc5d8; font-size: .75rem; line-height: 1.45; margin: 0; }
.cp-pages-section { background: #fff; }
.cp-sticky-copy { top: 2rem; }
.cp-page-list { border-top: 1px solid var(--cp-line); }
.cp-page-list > div { border-bottom: 1px solid var(--cp-line); display: grid; gap: 1rem; grid-template-columns: minmax(9rem, .8fr) 2fr; padding: 1.15rem 0; }
.cp-page-list span { color: var(--cp-navy); font-size: .9rem; font-weight: 760; }
.cp-page-list p { color: var(--cp-muted); font-size: .84rem; margin: 0; }
.cp-platform-section { background: #fff; padding-top: 0; }
.cp-platform-panel { background: linear-gradient(135deg,#eef5ff,#eefbf8); border: 1px solid #d8e7ed; border-radius: 1.3rem; overflow: hidden; padding: clamp(2rem,5vw,4rem); position: relative; }
.cp-platform-panel::after { border: 50px solid rgba(39,110,241,.06); border-radius: 50%; content: ""; height: 18rem; position: absolute; right: -5rem; top: -7rem; width: 18rem; }
.cp-platform-list { position: relative; z-index: 1; }
.cp-platform-list li { border-bottom: 1px solid rgba(50,91,115,.13); color: #38556c; font-size: .88rem; font-weight: 650; padding: .65rem 0; }
.cp-platform-list li:last-child { border-bottom: 0; }
.cp-platform-list span { color: var(--cp-teal); font-weight: 900; margin-right: .5rem; }
.cp-design-process { background: var(--cp-soft); }
.cp-design-timeline { display: grid; gap: 1rem; grid-template-columns: repeat(5,1fr); position: relative; }
.cp-design-timeline::before { border-top: 1px dashed #aebfd0; content: ""; left: 9%; position: absolute; right: 9%; top: 1.5rem; }
.cp-design-timeline > div { align-items: center; display: flex; flex-direction: column; position: relative; text-align: center; }
.cp-design-timeline span { align-items: center; background: #fff; border: 2px solid #b9cdf1; border-radius: 50%; color: var(--cp-blue); display: flex; font-size: .72rem; font-weight: 850; height: 3rem; justify-content: center; width: 3rem; z-index: 1; }
.cp-design-timeline strong { color: var(--cp-navy); font-size: .9rem; margin-top: .7rem; }
.cp-design-timeline small { color: var(--cp-muted); font-size: .7rem; }

@media (min-width: 992px) { .cp-position-lg-sticky, .position-lg-sticky { position: sticky; } }
@media (max-width: 991.98px) { .cp-design-visual { margin: 1rem auto 0; max-width: 36rem; } }
@media (max-width: 767.98px) {
  .cp-design-hero { padding: 4.25rem 0; }
  .cp-design-timeline { grid-template-columns: 1fr; }
  .cp-design-timeline::before { border-left: 1px dashed #aebfd0; border-top: 0; bottom: 1.5rem; left: 1.5rem; right: auto; top: 1.5rem; }
  .cp-design-timeline > div { align-items: center; flex-direction: row; gap: 1rem; text-align: left; }
  .cp-design-timeline span { flex: 0 0 auto; }
  .cp-page-list > div { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
  .cp-design-visual { min-height: 23rem; }
  .cp-design-window { width: 96%; }
  .cp-phone { bottom: 0; }
  .cp-design-note { bottom: .5rem; right: 0; }
}

/* Website migration detail */
.cp-migration-hero { background: linear-gradient(140deg,#f7faff,#eff4ff 52%,#eefbf8); padding: clamp(4.5rem,8vw,7.5rem) 0; }
.cp-migration-hero::before { background-image: radial-gradient(rgba(118,87,232,.12) 1px,transparent 1px); background-size: 22px 22px; content: ""; inset: 0; mask-image: linear-gradient(to right,#000,transparent 53%); opacity: .7; position: absolute; }
.cp-migration-visual { min-height: 28rem; position: relative; }
.cp-migration-site { background: #fff; border: 1px solid #cfdae5; border-radius: .9rem; box-shadow: 0 20px 45px rgba(16,50,80,.15); padding: .7rem; position: absolute; width: 64%; }
.cp-old-site { left: 0; opacity: .82; top: 1.5rem; transform: rotate(-4deg); }
.cp-new-site { bottom: 2rem; right: 0; transform: rotate(3deg); z-index: 2; }
.cp-site-label { color: #71869a; display: block; font-size: .48rem; font-weight: 850; letter-spacing: .12em; margin-bottom: .45rem; }
.cp-site-bar { align-items: center; background: #edf2f6; border-radius: .35rem .35rem 0 0; display: flex; gap: .25rem; height: 1.25rem; padding: 0 .4rem; }
.cp-site-bar i { background: #a9b8c5; border-radius: 50%; height: .28rem; width: .28rem; }
.cp-old-layout { background: #f5f6f7; display: grid; gap: .4rem; grid-template-columns: 1fr 2fr; padding: .55rem; }
.cp-old-layout i { background: #d3d9de; height: 3rem; }
.cp-old-layout i:nth-child(2) { height: 5.5rem; grid-row: span 2; }
.cp-new-layout { background: linear-gradient(135deg,#123d70,#2873da); color: #fff; display: flex; flex-direction: column; min-height: 9rem; padding: 1rem; }
.cp-new-layout strong { font-size: .9rem; line-height: 1.2; max-width: 9rem; }
.cp-new-layout > span { background: #fff; border-radius: 1rem; height: .4rem; margin: .7rem 0; width: 3.5rem; }
.cp-new-layout > div { display: flex; gap: .35rem; margin-top: auto; }
.cp-new-layout i { background: rgba(255,255,255,.2); border-radius: .25rem; height: 2.5rem; width: 50%; }
.cp-migration-path { align-items: center; color: var(--cp-violet); display: flex; font-size: 1.6rem; gap: .3rem; left: 37%; position: absolute; top: 47%; transform: rotate(18deg); z-index: 3; }
.cp-migration-path i { background: var(--cp-violet); border-radius: 50%; height: .25rem; opacity: .5; width: .25rem; }
.cp-migration-check { align-items: center; background: rgba(255,255,255,.96); border: 1px solid #d5e1ea; border-radius: .75rem; bottom: 0; box-shadow: 0 15px 30px rgba(16,50,80,.16); display: flex; gap: .65rem; left: 10%; padding: .7rem .9rem; position: absolute; z-index: 4; }
.cp-migration-check > span { align-items: center; background: #ddf8f4; border-radius: 50%; color: #078f83; display: flex; font-weight: 900; height: 2rem; justify-content: center; width: 2rem; }
.cp-migration-check div { display: flex; flex-direction: column; }
.cp-migration-check strong { color: var(--cp-navy); font-size: .68rem; }
.cp-migration-check small { color: var(--cp-muted); font-size: .55rem; }
.cp-migration-reasons { background: #fff; }
.cp-migration-reason { border: 1px solid var(--cp-line); border-radius: 1rem; padding: 1.5rem; }
.cp-migration-reason > span { align-items: center; background: #eeeaff; border-radius: .65rem; color: var(--cp-violet); display: flex; font-size: 1rem; font-weight: 850; height: 2.7rem; justify-content: center; width: 2.7rem; }
.cp-migration-reason h3 { color: var(--cp-navy); font-size: 1.05rem; font-weight: 760; margin: 1rem 0 .45rem; }
.cp-migration-reason p { color: var(--cp-muted); font-size: .83rem; margin: 0; }
.cp-migration-scope { background: var(--cp-soft); scroll-margin-top: 2rem; }
.cp-migration-stages { position: relative; }
.cp-migration-stages::before { border-left: 1px dashed #aebfd0; bottom: 2rem; content: ""; left: 1.4rem; position: absolute; top: 2rem; }
.cp-migration-stages article { align-items: flex-start; display: flex; gap: 1.15rem; padding: 0 0 2rem; position: relative; }
.cp-migration-stages article:last-child { padding-bottom: 0; }
.cp-migration-stages article > span { align-items: center; background: #fff; border: 2px solid #bdcdf0; border-radius: 50%; color: var(--cp-blue); display: flex; flex: 0 0 auto; font-size: .66rem; font-weight: 850; height: 2.8rem; justify-content: center; width: 2.8rem; z-index: 1; }
.cp-migration-stages h3 { color: var(--cp-navy); font-size: 1.05rem; font-weight: 760; margin: 0 0 .3rem; }
.cp-migration-stages p { color: var(--cp-muted); font-size: .84rem; margin: 0 0 .35rem; }
.cp-migration-stages small { color: var(--cp-blue-dark); font-size: .55rem; font-weight: 800; letter-spacing: .08em; }
.cp-protection-band { background: linear-gradient(135deg,#111b36,#28336d); position: relative; }
.cp-protection-band::after { background-image: radial-gradient(rgba(255,255,255,.1) 1px,transparent 1px); background-size: 23px 23px; content: ""; inset: 0 0 0 50%; mask-image: linear-gradient(to left,#000,transparent); opacity: .55; position: absolute; }
.cp-protection-band .container { z-index: 1; }
.cp-protection-grid { display: grid; gap: .8rem; grid-template-columns: repeat(2,1fr); }
.cp-protection-grid article { background: rgba(255,255,255,.075); border: 1px solid rgba(255,255,255,.12); border-radius: .8rem; padding: 1rem; }
.cp-protection-grid span { color: #a99afa; font-size: 1.1rem; }
.cp-protection-grid h3 { color: #fff; font-size: .9rem; margin: .4rem 0 .25rem; }
.cp-protection-grid p { color: #b6c6da; font-size: .74rem; line-height: 1.45; margin: 0; }
.cp-migration-content { background: #fff; }
.cp-content-chip { background: var(--cp-soft); border: 1px solid var(--cp-line); border-radius: .65rem; color: #3f586e; font-size: .88rem; font-weight: 650; padding: .85rem 1rem; }
.cp-content-chip span { color: var(--cp-teal); font-weight: 900; margin-right: .45rem; }
.cp-scope-note { color: #74879a; font-size: .73rem; }
.cp-switch-section { background: var(--cp-soft); }
.cp-switch-illustration { align-items: center; display: flex; gap: 1rem; justify-content: center; min-height: 18rem; }
.cp-switch-illustration > div { background: #fff; border: 1px solid var(--cp-line); border-radius: .8rem; box-shadow: 0 18px 35px rgba(18,54,84,.1); display: flex; flex-direction: column; gap: .5rem; padding: 1rem; transform: rotate(-3deg); width: 10rem; }
.cp-switch-illustration > div:last-child { border-top: 4px solid var(--cp-teal); transform: rotate(3deg); }
.cp-switch-illustration span { color: #74879a; font-size: .55rem; font-weight: 850; letter-spacing: .1em; }
.cp-switch-illustration i { background: #dce4eb; border-radius: .25rem; height: 2.3rem; }
.cp-switch-illustration > div:last-child i:first-of-type { background: linear-gradient(135deg,#174c83,#2873da); height: 4rem; }
.cp-switch-illustration > b { color: var(--cp-violet); font-size: 1.7rem; }
.cp-migration-faq { background: #fff; }
.cp-accordion .accordion-item { border: 0; border-bottom: 1px solid var(--cp-line); }
.cp-accordion .accordion-button { background: transparent; box-shadow: none; color: var(--cp-navy); font-size: .95rem; font-weight: 750; padding: 1.15rem 0; }
.cp-accordion .accordion-button:not(.collapsed) { color: var(--cp-blue-dark); }
.cp-accordion .accordion-button:focus { box-shadow: 0 0 0 .2rem rgba(39,110,241,.18); }
.cp-accordion .accordion-body { color: var(--cp-muted); font-size: .85rem; padding: 0 2.5rem 1.15rem 0; }

@media (max-width: 991.98px) { .cp-migration-visual { margin: 1rem auto 0; max-width: 34rem; } }
@media (max-width: 767.98px) {
  .cp-migration-hero { padding: 4.25rem 0; }
  .cp-protection-band::after { display: none; }
}
@media (max-width: 575.98px) {
  .cp-migration-visual { min-height: 24rem; }
  .cp-migration-site { width: 72%; }
  .cp-protection-grid { grid-template-columns: 1fr; }
  .cp-switch-illustration { gap: .45rem; }
  .cp-switch-illustration > div { padding: .7rem; width: 8rem; }
}

/* Website maintenance detail */
.cp-maintenance-hero { background: linear-gradient(140deg,#f7fbff,#edf8f6 58%,#eef5ff); padding: clamp(4.5rem,8vw,7.5rem) 0; }
.cp-maintenance-hero::before { background-image: radial-gradient(rgba(18,184,166,.13) 1px,transparent 1px); background-size: 22px 22px; content: ""; inset: 0; mask-image: linear-gradient(to right,#000,transparent 53%); opacity: .7; position: absolute; }
.cp-care-visual { min-height: 28rem; position: relative; }
.cp-care-dashboard { background: #fff; border: 1px solid #d1dee7; border-radius: 1rem; box-shadow: 0 28px 60px rgba(16,50,80,.18); padding: 1.25rem; position: absolute; right: 0; top: 1.2rem; transform: rotate(1.5deg); width: 92%; }
.cp-care-dashboard-top { align-items: center; border-bottom: 1px solid var(--cp-line); display: flex; justify-content: space-between; padding-bottom: .8rem; }
.cp-care-dashboard-top b { color: var(--cp-navy); font-size: .75rem; }
.cp-care-dashboard-top span { background: #e0f8f4; border-radius: 2rem; color: #078f83; font-size: .5rem; font-weight: 750; padding: .28rem .5rem; }
.cp-care-score { align-items: center; display: flex; justify-content: space-between; padding: 1.4rem .5rem; }
.cp-care-score > div { display: flex; flex-direction: column; }
.cp-care-score strong { color: var(--cp-navy); font-size: 2.8rem; line-height: 1; }
.cp-care-score small { color: var(--cp-muted); font-size: .62rem; }
.cp-care-score > i { background: conic-gradient(var(--cp-teal) 0 95%,#e5edf2 95%); border: 8px solid #f7fafc; border-radius: 50%; height: 5.5rem; position: relative; width: 5.5rem; }
.cp-care-score > i::after { background: #fff; border-radius: 50%; content: ""; inset: .55rem; position: absolute; }
.cp-care-metrics { display: grid; gap: .55rem; grid-template-columns: repeat(3,1fr); }
.cp-care-metrics > div { background: var(--cp-soft); border-radius: .5rem; display: flex; flex-direction: column; padding: .65rem; }
.cp-care-metrics b { color: var(--cp-navy); font-size: .62rem; margin-top: .2rem; }
.cp-care-metrics small { color: var(--cp-muted); font-size: .5rem; }
.cp-status-dot { background: var(--cp-teal); border-radius: 50%; box-shadow: 0 0 0 3px rgba(18,184,166,.12); height: .4rem; width: .4rem; }
.cp-care-ticket,.cp-care-backup { align-items: center; background: rgba(255,255,255,.97); border: 1px solid #d4e1e9; border-radius: .75rem; box-shadow: 0 15px 30px rgba(16,50,80,.16); display: flex; gap: .6rem; padding: .7rem .85rem; position: absolute; z-index: 2; }
.cp-care-ticket { bottom: 1rem; left: -.5rem; }
.cp-care-backup { right: -1rem; top: 7rem; }
.cp-care-ticket > span,.cp-care-backup > span { align-items: center; background: #ddf8f4; border-radius: 50%; color: #078f83; display: flex; font-weight: 850; height: 1.9rem; justify-content: center; width: 1.9rem; }
.cp-care-ticket div,.cp-care-backup div { display: flex; flex-direction: column; }
.cp-care-ticket b,.cp-care-backup b { color: var(--cp-navy); font-size: .64rem; }
.cp-care-ticket small,.cp-care-backup small { color: var(--cp-muted); font-size: .52rem; }
.cp-maintenance-intro { background: #fff; }
.cp-before-after { display: grid; gap: 1rem; grid-template-columns: repeat(2,1fr); }
.cp-before-column,.cp-after-column { border: 1px solid var(--cp-line); border-radius: 1rem; padding: 1.35rem; }
.cp-before-column { background: #f8fafc; }
.cp-after-column { background: #effaf8; border-color: #c6e9e4; }
.cp-before-after > div > span { color: #7b8b99; font-size: .58rem; font-weight: 850; letter-spacing: .1em; }
.cp-after-column > span { color: #078f83 !important; }
.cp-before-after li { border-bottom: 1px solid rgba(80,110,130,.12); color: #536a7f; font-size: .78rem; padding: .65rem 0; }
.cp-before-after li:last-child { border: 0; }
.cp-before-column li::before { color: #9caab5; content: "–"; margin-right: .4rem; }
.cp-after-column li::before { color: var(--cp-teal); content: "✓"; font-weight: 900; margin-right: .4rem; }
.cp-maintenance-includes { background: var(--cp-soft); scroll-margin-top: 2rem; }
.cp-maintenance-card { background: #fff; border: 1px solid var(--cp-line); border-radius: 1rem; padding: 1.6rem; transition: box-shadow .25s ease,transform .25s ease; }
.cp-maintenance-card:hover { box-shadow: 0 18px 35px rgba(18,54,84,.09); transform: translateY(-4px); }
.cp-maintenance-card h3 { color: var(--cp-navy); font-size: 1.08rem; font-weight: 760; margin: 1rem 0 .45rem; }
.cp-maintenance-card p { color: var(--cp-muted); font-size: .84rem; margin: 0; }
.cp-support-workflow { background: linear-gradient(135deg,var(--cp-navy-deep),#0d5263); }
.cp-request-board { background: #fff; border-radius: 1rem; box-shadow: 0 25px 55px rgba(0,0,0,.24); overflow: hidden; transform: rotate(-1deg); }
.cp-request-head { background: var(--cp-soft); border-bottom: 1px solid var(--cp-line); display: flex; flex-direction: column; padding: 1.2rem 1.4rem; }
.cp-request-head span { color: var(--cp-blue); font-size: .55rem; font-weight: 850; letter-spacing: .1em; }
.cp-request-head b { color: var(--cp-navy); font-size: .95rem; margin-top: .25rem; }
.cp-request-step { align-items: center; border-bottom: 1px solid var(--cp-line); display: flex; gap: .8rem; margin: 0 1.4rem; padding: 1rem 0; }
.cp-request-step > span { align-items: center; border: 2px solid #c8d7e3; border-radius: 50%; color: #7b8fa0; display: flex; flex: 0 0 auto; font-size: .65rem; font-weight: 850; height: 2rem; justify-content: center; width: 2rem; }
.cp-request-done > span { background: #ddf8f4; border-color: #aaddd6; color: #078f83; }
.cp-request-active > span { background: #e8f1ff; border-color: #b9cdf1; color: var(--cp-blue); }
.cp-request-step div { display: flex; flex-direction: column; }
.cp-request-step b { color: var(--cp-navy); font-size: .75rem; }
.cp-request-step small { color: var(--cp-muted); font-size: .6rem; }
.cp-request-foot { color: #6c8193; font-size: .62rem; padding: .8rem 1.4rem; text-align: center; }
.cp-support-points li { color: #d6e5ee; font-size: .86rem; padding: .35rem 0; }
.cp-support-points span { color: #58dace; font-weight: 900; margin-right: .45rem; }
.cp-care-rhythm { background: #fff; }
.cp-rhythm-card { border: 1px solid var(--cp-line); border-radius: 1rem; padding: 1.6rem; }
.cp-rhythm-card > span { color: var(--cp-blue); font-size: .58rem; font-weight: 850; letter-spacing: .1em; }
.cp-rhythm-card h3 { color: var(--cp-navy); font-size: 1.15rem; font-weight: 760; margin: .7rem 0 1rem; }
.cp-rhythm-card li { border-top: 1px solid var(--cp-line); color: var(--cp-muted); font-size: .82rem; padding: .65rem 0; }
.cp-rhythm-card li::before { color: var(--cp-teal); content: "✓"; font-weight: 900; margin-right: .45rem; }
.cp-rhythm-featured { background: var(--cp-navy); border-color: var(--cp-navy); box-shadow: 0 18px 35px rgba(16,42,67,.16); }
.cp-rhythm-featured > span { color: #62ddcf; }
.cp-rhythm-featured h3 { color: #fff; }
.cp-rhythm-featured li { border-color: rgba(255,255,255,.12); color: #c1d2df; }
.cp-transition-band { background: linear-gradient(135deg,#eef5ff,#eefbf8); }
.cp-transition-list { background: rgba(255,255,255,.75); border: 1px solid #d5e4e9; border-radius: 1rem; padding: 1rem 1.25rem; }
.cp-transition-list > div { align-items: center; border-bottom: 1px solid var(--cp-line); display: flex; gap: .8rem; padding: .8rem 0; }
.cp-transition-list > div:last-child { border: 0; }
.cp-transition-list span { align-items: center; background: #e4f1ff; border-radius: 50%; color: var(--cp-blue); display: flex; flex: 0 0 auto; font-size: .65rem; font-weight: 850; height: 2rem; justify-content: center; width: 2rem; }
.cp-transition-list p { color: #455e73; font-size: .82rem; font-weight: 650; margin: 0; }
.cp-plan-fit { background: var(--cp-soft); }
.cp-maintenance-faq { background: #fff; }

@media (max-width: 991.98px) { .cp-care-visual { margin: 1rem auto 0; max-width: 34rem; } }
@media (max-width: 767.98px) { .cp-maintenance-hero { padding: 4.25rem 0; } }
@media (max-width: 575.98px) {
  .cp-care-visual { min-height: 23rem; }
  .cp-care-dashboard { width: 96%; }
  .cp-care-backup { display: none; }
  .cp-before-after { grid-template-columns: 1fr; }
}

/* Integrations detail */
.cp-integrations-hero { background: linear-gradient(140deg,#f7fbff,#eef5ff 52%,#effbf8); padding: clamp(4.5rem,8vw,7.5rem) 0; }
.cp-integrations-hero::before { background-image: radial-gradient(rgba(39,110,241,.12) 1px,transparent 1px); background-size: 22px 22px; content: ""; inset: 0; mask-image: linear-gradient(to right,#000,transparent 53%); opacity: .7; position: absolute; }
.cp-integration-visual { min-height: 29rem; position: relative; }
.cp-integration-core { align-items: center; background: linear-gradient(135deg,var(--cp-blue-dark),#173f75); border: 5px solid rgba(255,255,255,.9); border-radius: 50%; box-shadow: 0 22px 50px rgba(16,50,80,.22); color: #fff; display: flex; flex-direction: column; height: 10.5rem; justify-content: center; left: 50%; position: absolute; top: 50%; transform: translate(-50%,-50%); width: 10.5rem; z-index: 3; }
.cp-integration-core > span { align-items: center; background: rgba(255,255,255,.15); border-radius: .5rem; display: flex; font-size: .7rem; font-weight: 850; height: 2rem; justify-content: center; margin-bottom: .5rem; width: 2rem; }
.cp-integration-core strong { font-size: .8rem; }
.cp-integration-core small { color: #bcd3e8; font-size: .55rem; }
.cp-integration-node { align-items: center; background: #fff; border: 1px solid #d3e0e9; border-radius: .75rem; box-shadow: 0 14px 30px rgba(16,50,80,.13); display: flex; flex-direction: column; gap: .2rem; justify-content: center; position: absolute; width: 6.5rem; z-index: 2; }
.cp-integration-node span { color: var(--cp-teal); font-size: 1.1rem; }
.cp-integration-node b { color: var(--cp-navy); font-size: .62rem; }
.cp-node-events { height: 5rem; left: 2%; top: 3%; transform: rotate(-4deg); }
.cp-node-email { height: 5rem; right: 0; top: 5%; transform: rotate(3deg); }
.cp-node-members { bottom: 12%; height: 5rem; left: 0; transform: rotate(3deg); }
.cp-node-payments { bottom: 10%; height: 5rem; right: 0; transform: rotate(-3deg); }
.cp-node-mobile { bottom: 0; height: 4.6rem; left: 50%; transform: translateX(-50%); }
.cp-connection-lines { height: 100%; inset: 0; position: absolute; width: 100%; }
.cp-connection-lines path { fill: none; stroke: #a6bad0; stroke-dasharray: 5 6; stroke-width: 1.5; }
.cp-integration-intro { background: #fff; }
.cp-integration-principles { background: var(--cp-soft); border: 1px solid var(--cp-line); border-radius: 1rem; padding: 1.2rem 1.5rem; }
.cp-integration-principles article { align-items: flex-start; border-bottom: 1px solid var(--cp-line); display: flex; gap: .8rem; padding: 1rem 0; }
.cp-integration-principles article:last-child { border: 0; }
.cp-integration-principles article > span { align-items: center; background: #e4efff; border-radius: 50%; color: var(--cp-blue); display: flex; flex: 0 0 auto; font-size: .65rem; font-weight: 850; height: 2rem; justify-content: center; width: 2rem; }
.cp-integration-principles h3 { color: var(--cp-navy); font-size: .9rem; margin: 0 0 .2rem; }
.cp-integration-principles p { color: var(--cp-muted); font-size: .78rem; margin: 0; }
.cp-integration-options { background: var(--cp-soft); scroll-margin-top: 2rem; }
.cp-integration-card { background: #fff; border: 1px solid var(--cp-line); border-radius: 1rem; padding: 1.6rem; transition: box-shadow .25s ease,transform .25s ease; }
.cp-integration-card:hover { box-shadow: 0 18px 35px rgba(18,54,84,.09); transform: translateY(-4px); }
.cp-integration-card h3 { color: var(--cp-navy); font-size: 1.08rem; font-weight: 760; margin: 1rem 0 .45rem; }
.cp-integration-card > p { color: var(--cp-muted); font-size: .82rem; }
.cp-integration-card li { border-top: 1px solid var(--cp-line); color: #526b7f; font-size: .74rem; padding: .45rem 0; }
.cp-integration-card li::before { color: var(--cp-teal); content: "✓"; font-weight: 900; margin-right: .4rem; }
.cp-connection-types { background: linear-gradient(135deg,var(--cp-navy-deep),#113e69); }
.cp-connection-stack { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: 1rem; padding: .5rem 1.2rem; }
.cp-connection-stack article { align-items: center; border-bottom: 1px solid rgba(255,255,255,.12); display: grid; gap: .8rem; grid-template-columns: 2rem 1fr auto; padding: .85rem 0; }
.cp-connection-stack article:last-child { border: 0; }
.cp-connection-stack article > span { color: #64dfd1; font-size: .62rem; font-weight: 850; }
.cp-connection-stack h3 { color: #fff; font-size: .88rem; margin: 0; }
.cp-connection-stack p { color: #b6c9d9; font-size: .72rem; margin: .1rem 0 0; }
.cp-connection-stack small { background: rgba(255,255,255,.1); border-radius: 2rem; color: #dce9f2; font-size: .52rem; padding: .3rem .5rem; }
.cp-automation-section { background: #fff; }
.cp-automation-flow { align-items: stretch; display: flex; gap: .55rem; }
.cp-automation-flow > div { background: var(--cp-soft); border: 1px solid var(--cp-line); border-radius: .8rem; display: flex; flex: 1; flex-direction: column; padding: 1rem; }
.cp-automation-flow > div > span { color: var(--cp-blue); font-size: .6rem; font-weight: 850; }
.cp-automation-flow strong { color: var(--cp-navy); font-size: .78rem; margin: .45rem 0 .2rem; }
.cp-automation-flow small { color: var(--cp-muted); font-size: .62rem; }
.cp-automation-flow > b { align-self: center; color: var(--cp-teal); }
.cp-automation-value { border-left: 3px solid var(--cp-teal); padding: .5rem 0 .5rem 1rem; }
.cp-automation-value > span { color: var(--cp-teal); font-weight: 900; }
.cp-automation-value h3 { color: var(--cp-navy); font-size: .95rem; margin: .45rem 0 .25rem; }
.cp-automation-value p { color: var(--cp-muted); font-size: .78rem; margin: 0; }
.cp-integration-reality { background: #fff; padding-top: 0; }
.cp-reality-panel { background: linear-gradient(135deg,#eef5ff,#eefbf8); border: 1px solid #d6e5eb; border-radius: 1.2rem; padding: clamp(2rem,5vw,4rem); }
.cp-integration-process { background: var(--cp-soft); }
.cp-integration-faq { background: #fff; }

@media (max-width: 991.98px) { .cp-integration-visual { margin: 1rem auto 0; max-width: 34rem; } }
@media (max-width: 767.98px) {
  .cp-integrations-hero { padding: 4.25rem 0; }
  .cp-automation-flow { align-items: stretch; flex-direction: column; }
  .cp-automation-flow > b { transform: rotate(90deg); }
}
@media (max-width: 575.98px) {
  .cp-integration-visual { min-height: 24rem; }
  .cp-integration-core { height: 8rem; width: 8rem; }
  .cp-integration-node { width: 5rem; }
  .cp-connection-stack article { grid-template-columns: 1.5rem 1fr; }
  .cp-connection-stack small { display: none; }
}

/* Website care detail */
.cp-website-care-hero { background: linear-gradient(140deg,#f8fbff,#edf5ff 50%,#eefbf8); padding: clamp(4.5rem,8vw,7.5rem) 0; }
.cp-website-care-hero::before { background-image: radial-gradient(rgba(18,184,166,.13) 1px,transparent 1px); background-size: 22px 22px; content: ""; inset: 0; mask-image: linear-gradient(to right,#000,transparent 53%); opacity: .7; position: absolute; }
.cp-quality-visual { min-height: 28rem; position: relative; }
.cp-quality-ring { align-items: center; background: conic-gradient(var(--cp-teal) 0 72%,var(--cp-blue) 72% 96%,#dfe9ef 96%); border-radius: 50%; box-shadow: 0 25px 55px rgba(16,50,80,.18); display: flex; height: 15rem; justify-content: center; left: 50%; position: absolute; top: 50%; transform: translate(-50%,-50%); width: 15rem; }
.cp-quality-ring::after { background: #fff; border-radius: 50%; content: ""; inset: 1rem; position: absolute; }
.cp-quality-ring > div { align-items: center; display: flex; flex-direction: column; position: relative; z-index: 1; }
.cp-quality-ring strong { color: var(--cp-navy); font-size: 3rem; line-height: 1; }
.cp-quality-ring small { color: var(--cp-muted); font-size: .65rem; }
.cp-quality-card { align-items: center; background: rgba(255,255,255,.97); border: 1px solid #d2dfe8; border-radius: .8rem; box-shadow: 0 14px 30px rgba(16,50,80,.13); display: grid; gap: .6rem; grid-template-columns: 2rem 1fr 1.3rem; padding: .7rem .8rem; position: absolute; width: 12rem; z-index: 2; }
.cp-quality-card > span { align-items: center; background: #e6efff; border-radius: .5rem; color: var(--cp-blue); display: flex; font-size: .8rem; font-weight: 850; height: 2rem; justify-content: center; width: 2rem; }
.cp-quality-card div { display: flex; flex-direction: column; }
.cp-quality-card b { color: var(--cp-navy); font-size: .65rem; }
.cp-quality-card small { color: var(--cp-muted); font-size: .5rem; }
.cp-quality-card > i { align-items: center; background: #ddf8f4; border-radius: 50%; color: #078f83; display: flex; font-size: .6rem; font-style: normal; font-weight: 850; height: 1.3rem; justify-content: center; width: 1.3rem; }
.cp-quality-access { left: 0; top: 2rem; transform: rotate(-3deg); }
.cp-quality-security { right: 0; top: 5rem; transform: rotate(3deg); }
.cp-quality-speed { bottom: 1.5rem; left: 4rem; transform: rotate(2deg); }
.cp-quality-intro { background: #fff; }
.cp-quality-signals { background: var(--cp-soft); border: 1px solid var(--cp-line); border-radius: 1rem; padding: 1rem 1.4rem; }
.cp-quality-signals article { align-items: flex-start; border-bottom: 1px solid var(--cp-line); display: flex; gap: .8rem; padding: 1rem 0; }
.cp-quality-signals article:last-child { border: 0; }
.cp-quality-signals article > span { align-items: center; background: #ddf8f4; border-radius: 50%; color: #078f83; display: flex; flex: 0 0 auto; font-size: .65rem; font-weight: 900; height: 2rem; justify-content: center; width: 2rem; }
.cp-quality-signals h3 { color: var(--cp-navy); font-size: .9rem; margin: 0 0 .2rem; }
.cp-quality-signals p { color: var(--cp-muted); font-size: .76rem; margin: 0; }
.cp-care-pillars { background: var(--cp-soft); scroll-margin-top: 2rem; }
.cp-pillar-card { background: #fff; border: 1px solid var(--cp-line); border-radius: 1rem; border-top: 4px solid var(--cp-blue); padding: 1.7rem; }
.cp-pillar-security { border-top-color: var(--cp-violet); }
.cp-pillar-speed { border-top-color: var(--cp-teal); }
.cp-pillar-letter { align-items: center; background: #e7f0ff; border-radius: .65rem; color: var(--cp-blue); display: flex; font-size: 1rem; font-weight: 850; height: 2.7rem; justify-content: center; margin-bottom: 1rem; width: 2.7rem; }
.cp-pillar-security .cp-pillar-letter { background: #eeeaff; color: var(--cp-violet); }
.cp-pillar-speed .cp-pillar-letter { background: #ddf8f4; color: #078f83; }
.cp-pillar-card > small { color: #8192a2; font-size: .54rem; font-weight: 850; letter-spacing: .09em; }
.cp-pillar-card h3 { color: var(--cp-navy); font-size: 1.2rem; margin: .6rem 0 .5rem; }
.cp-pillar-card > p { color: var(--cp-muted); font-size: .82rem; }
.cp-pillar-card li { border-top: 1px solid var(--cp-line); color: #526a7d; font-size: .74rem; padding: .42rem 0; }
.cp-pillar-card li::before { color: var(--cp-teal); content: "✓"; font-weight: 900; margin-right: .4rem; }
.cp-pillar-card > a { color: var(--cp-blue-dark); font-size: .75rem; font-weight: 750; text-decoration: none; }
.cp-pillar-card > a:hover { text-decoration: underline; }
.cp-deep-dive { scroll-margin-top: 1rem; }
.cp-accessibility-section { background: #fff; }
.cp-accessibility-demo { background: var(--cp-soft); border: 1px solid var(--cp-line); border-radius: 1rem; box-shadow: 0 20px 45px rgba(18,54,84,.1); overflow: hidden; padding: 1.2rem; transform: rotate(-1deg); }
.cp-demo-toolbar { background: var(--cp-navy); border-radius: .5rem; display: flex; gap: .45rem; padding: .6rem; }
.cp-demo-toolbar span { align-items: center; background: rgba(255,255,255,.12); border-radius: .3rem; color: #fff; display: flex; font-size: .6rem; height: 1.8rem; justify-content: center; width: 2rem; }
.cp-demo-content { background: #fff; border-radius: .5rem; display: flex; flex-direction: column; margin-top: .7rem; padding: 1.4rem; }
.cp-demo-content > i { background: var(--cp-blue); border-radius: .3rem; height: 1rem; margin-bottom: 1.2rem; width: 3.2rem; }
.cp-demo-content strong { color: var(--cp-navy); font-size: 1.1rem; }
.cp-demo-content > span { background: #dfe6ec; border-radius: 1rem; height: .35rem; margin-top: .5rem; width: 100%; }
.cp-demo-content > span:nth-of-type(2) { width: 72%; }
.cp-demo-content button { align-self: flex-start; background: var(--cp-blue); border: 0; border-radius: .4rem; box-shadow: 0 0 0 3px #f5b942; color: #fff; font-size: .65rem; margin-top: 1.2rem; padding: .5rem .7rem; }
.cp-demo-focus { color: #715114; font-size: .58rem; font-weight: 750; padding: .7rem 0 0; text-align: center; }
.cp-deep-list article { align-items: flex-start; border-top: 1px solid var(--cp-line); display: flex; gap: .8rem; padding: .8rem 0; }
.cp-deep-list article > span { color: var(--cp-blue); font-size: .62rem; font-weight: 850; }
.cp-deep-list h3 { color: var(--cp-navy); font-size: .88rem; margin: 0; }
.cp-deep-list p { color: var(--cp-muted); font-size: .76rem; margin: .1rem 0 0; }
.cp-security-section { background: linear-gradient(135deg,#f4f1ff,#f7f9fc); }
.cp-security-layers article { background: rgba(255,255,255,.8); border: 1px solid #ded9f2; border-radius: .75rem; padding: 1rem; }
.cp-security-layers span { color: var(--cp-violet); font-size: .6rem; font-weight: 850; }
.cp-security-layers h3 { color: var(--cp-navy); font-size: .88rem; margin: .4rem 0 .2rem; }
.cp-security-layers p { color: var(--cp-muted); font-size: .72rem; margin: 0; }
.cp-security-shield { align-items: center; display: flex; flex-direction: column; min-height: 22rem; position: relative; justify-content: center; }
.cp-shield-shape { align-items: center; background: linear-gradient(145deg,var(--cp-violet),#4838a9); border-radius: 48% 48% 55% 55% / 32% 32% 70% 70%; box-shadow: 0 24px 50px rgba(75,58,170,.25); display: flex; height: 10rem; justify-content: center; width: 9rem; }
.cp-shield-shape span { align-items: center; background: rgba(255,255,255,.15); border: 2px solid rgba(255,255,255,.75); border-radius: 50%; color: #fff; display: flex; font-size: 2rem; height: 4rem; justify-content: center; width: 4rem; }
.cp-security-shield > strong { color: var(--cp-navy); font-size: .9rem; margin-top: 1rem; }
.cp-security-shield > small { color: var(--cp-muted); font-size: .62rem; }
.cp-shield-orbit { border: 1px dashed #beb4ea; border-radius: 50%; height: 17rem; position: absolute; width: 17rem; }
.cp-shield-orbit i { background: var(--cp-violet); border: 3px solid #f4f1ff; border-radius: 50%; height: 1rem; position: absolute; width: 1rem; }
.cp-shield-orbit i:nth-child(1) { left: 2rem; top: 1.3rem; }.cp-shield-orbit i:nth-child(2) { right: -.3rem; top: 8rem; }.cp-shield-orbit i:nth-child(3) { bottom: .7rem; left: 4rem; }.cp-shield-orbit i:nth-child(4) { left: -.25rem; top: 9rem; }
.cp-performance-section { background: #fff; }
.cp-speed-panel { background: var(--cp-navy); border-radius: 1rem; box-shadow: 0 20px 45px rgba(16,42,67,.18); color: #fff; padding: 2rem; transform: rotate(1deg); }
.cp-speed-gauge { background: conic-gradient(from 225deg,var(--cp-teal) 0 75%,rgba(255,255,255,.1) 75% 100%); border-radius: 50%; height: 10rem; margin: 0 auto 1.5rem; position: relative; width: 10rem; }
.cp-speed-gauge::after { background: var(--cp-navy); border-radius: 50%; content: ""; inset: 1rem; position: absolute; }
.cp-speed-gauge i { background: #fff; bottom: 50%; height: 3.8rem; left: calc(50% - 2px); position: absolute; transform: rotate(35deg); transform-origin: bottom; width: 3px; z-index: 2; }
.cp-speed-gauge span { bottom: 2.3rem; font-size: .6rem; font-weight: 850; left: 0; letter-spacing: .12em; position: absolute; right: 0; text-align: center; z-index: 3; }
.cp-speed-bars > div { display: grid; gap: .6rem; grid-template-columns: 4.5rem 1fr; margin: .55rem 0; }
.cp-speed-bars span { color: #bcd0df; font-size: .55rem; }
.cp-speed-bars i { background: linear-gradient(to right,var(--cp-teal) 85%,rgba(255,255,255,.12) 85%); border-radius: 1rem; height: .4rem; }
.cp-speed-bars div:nth-child(2) i { background: linear-gradient(to right,var(--cp-teal) 92%,rgba(255,255,255,.12) 92%); }.cp-speed-bars div:nth-child(3) i { background: linear-gradient(to right,var(--cp-teal) 88%,rgba(255,255,255,.12) 88%); }
.cp-speed-panel > small { color: #829daf; display: block; font-size: .5rem; margin-top: 1rem; text-align: center; }
.cp-performance-list li { align-items: flex-start; border-top: 1px solid var(--cp-line); display: flex; gap: .7rem; padding: .8rem 0; }
.cp-performance-list > li > span { color: var(--cp-teal); font-weight: 900; }
.cp-performance-list strong { color: var(--cp-navy); font-size: .86rem; }
.cp-performance-list p { color: var(--cp-muted); font-size: .75rem; margin: .1rem 0 0; }
.cp-privacy-section { background: #fff; padding-top: 0; }
.cp-privacy-panel { background: linear-gradient(135deg,var(--cp-navy-deep),#144f64); border-radius: 1.2rem; padding: clamp(2rem,5vw,4rem); }
.cp-quality-review { background: var(--cp-soft); }
.cp-review-flow { align-items: stretch; display: flex; gap: .6rem; }
.cp-review-flow > div { background: #fff; border: 1px solid var(--cp-line); border-radius: .75rem; display: flex; flex: 1; flex-direction: column; padding: 1rem; }
.cp-review-flow > div > span { color: var(--cp-blue); font-size: .6rem; font-weight: 850; }
.cp-review-flow strong { color: var(--cp-navy); font-size: .78rem; margin: .4rem 0 .15rem; }
.cp-review-flow small { color: var(--cp-muted); font-size: .6rem; }
.cp-review-flow > b { align-self: center; color: var(--cp-teal); }
.cp-care-faq { background: #fff; }

@media (max-width: 991.98px) { .cp-quality-visual { margin: 1rem auto 0; max-width: 34rem; } }
@media (max-width: 767.98px) {
  .cp-website-care-hero { padding: 4.25rem 0; }
  .cp-review-flow { flex-direction: column; }
  .cp-review-flow > b { transform: rotate(90deg); }
}
@media (max-width: 575.98px) {
  .cp-quality-visual { min-height: 24rem; }
  .cp-quality-ring { height: 11rem; width: 11rem; }
  .cp-quality-card { width: 10.5rem; }
  .cp-quality-security { right: -.5rem; }
  .cp-quality-speed { left: 1rem; }
}

/* PMI chapters landing page */
.cp-pmi-hero { background: linear-gradient(140deg,#f7fbff,#edf5ff 54%,#effbf8); padding: clamp(4.5rem,8vw,7.5rem) 0; }
.cp-pmi-hero::before { background-image: radial-gradient(rgba(39,110,241,.12) 1px,transparent 1px); background-size: 22px 22px; content: ""; inset: 0; mask-image: linear-gradient(to right,#000,transparent 53%); opacity: .7; position: absolute; }
.cp-pmi-hero-note { color: #718397; font-size: .66rem; }
.cp-pmi-community-visual { min-height: 29rem; position: relative; }
.cp-community-core { align-items: center; background: linear-gradient(135deg,var(--cp-blue-dark),#163f72); border: 5px solid #fff; border-radius: 50%; box-shadow: 0 22px 50px rgba(16,50,80,.2); color: #fff; display: flex; flex-direction: column; height: 11rem; justify-content: center; left: 50%; position: absolute; top: 50%; transform: translate(-50%,-50%); width: 11rem; z-index: 3; }
.cp-community-core > span { align-items: center; background: rgba(255,255,255,.14); border-radius: .45rem; display: flex; font-size: .7rem; font-weight: 850; height: 2rem; justify-content: center; margin-bottom: .5rem; width: 2rem; }
.cp-community-core strong { font-size: .8rem; }.cp-community-core small { color: #bcd3e8; font-size: .52rem; }
.cp-community-person { align-items: center; background: #fff; border: 1px solid #d2dfe8; border-radius: 2rem; box-shadow: 0 13px 28px rgba(16,50,80,.13); display: flex; gap: .4rem; padding: .45rem .7rem .45rem .45rem; position: absolute; z-index: 2; }
.cp-community-person i { align-items: center; background: #e5efff; border-radius: 50%; color: var(--cp-blue); display: flex; font-size: .55rem; font-style: normal; font-weight: 850; height: 1.8rem; justify-content: center; width: 1.8rem; }
.cp-community-person span { color: var(--cp-navy); font-size: .6rem; font-weight: 750; }
.cp-person-members { left: 5%; top: 3%; }.cp-person-learners { right: 2%; top: 8%; }.cp-person-volunteers { left: 0; top: 57%; }.cp-person-sponsors { right: 0; top: 61%; }.cp-person-leaders { bottom: 0; left: 42%; }
.cp-community-lines { height: 100%; inset: 0; position: absolute; width: 100%; }.cp-community-lines circle,.cp-community-lines path { fill: none; stroke: #afc0d1; stroke-dasharray: 4 6; stroke-width: 1.3; }
.cp-pmi-intro { background: #fff; }
.cp-pmi-priorities { background: var(--cp-soft); border: 1px solid var(--cp-line); border-radius: 1rem; padding: 1rem 1.4rem; }
.cp-pmi-priorities article { align-items: flex-start; border-bottom: 1px solid var(--cp-line); display: flex; gap: .8rem; padding: 1rem 0; }.cp-pmi-priorities article:last-child { border: 0; }
.cp-pmi-priorities article > span { color: var(--cp-blue); font-size: .62rem; font-weight: 850; }.cp-pmi-priorities h3 { color: var(--cp-navy); font-size: .9rem; margin: 0 0 .2rem; }.cp-pmi-priorities p { color: var(--cp-muted); font-size: .76rem; margin: 0; }
.cp-pmi-experiences { background: var(--cp-soft); }
.cp-pmi-experience-card { background: #fff; border: 1px solid var(--cp-line); border-radius: 1rem; padding: 1.6rem; transition: box-shadow .25s ease,transform .25s ease; }.cp-pmi-experience-card:hover { box-shadow: 0 18px 35px rgba(18,54,84,.09); transform: translateY(-4px); }
.cp-pmi-card-icon { align-items: center; background: #e6efff; border-radius: .65rem; color: var(--cp-blue); display: flex; font-size: .85rem; font-weight: 850; height: 2.7rem; justify-content: center; margin-bottom: 1rem; width: 2.7rem; }.cp-pmi-experience-card > small { color: #8192a2; display: block; font-size: .52rem; font-weight: 850; letter-spacing: .09em; }.cp-pmi-experience-card h3 { color: var(--cp-navy); font-size: 1.08rem; margin: .5rem 0; }.cp-pmi-experience-card > p { color: var(--cp-muted); font-size: .8rem; }.cp-pmi-experience-card li { border-top: 1px solid var(--cp-line); color: #526a7d; font-size: .72rem; padding: .4rem 0; }.cp-pmi-experience-card li::before { color: var(--cp-teal); content: "✓"; font-weight: 900; margin-right: .4rem; }
.cp-pmi-site-map { background: linear-gradient(135deg,var(--cp-navy-deep),#103f6b); }
.cp-sitemap-board { background: rgba(255,255,255,.98); border-radius: 1rem; box-shadow: 0 22px 50px rgba(0,0,0,.2); padding: 1.2rem; }.cp-sitemap-home { background: linear-gradient(135deg,var(--cp-blue-dark),#266fce); border-radius: .65rem; color: #fff; display: flex; flex-direction: column; padding: 1rem; text-align: center; }.cp-sitemap-home span { color: #bcd8ff; font-size: .52rem; font-weight: 850; letter-spacing: .1em; }.cp-sitemap-home strong { font-size: .86rem; }.cp-sitemap-grid { display: grid; gap: .55rem; grid-template-columns: repeat(2,1fr); margin-top: .55rem; }.cp-sitemap-grid > div { background: var(--cp-soft); border-radius: .5rem; display: flex; flex-direction: column; padding: .7rem; }.cp-sitemap-grid span { color: var(--cp-blue); font-size: .5rem; font-weight: 850; letter-spacing: .08em; }.cp-sitemap-grid small { color: var(--cp-muted); font-size: .58rem; margin-top: .2rem; }
.cp-pmi-services { background: #fff; }
.cp-pmi-integrations { background: var(--cp-soft); }
.cp-pmi-tool-map { min-height: 22rem; position: relative; }.cp-tool-core { align-items: center; background: var(--cp-navy); border-radius: 50%; color: #fff; display: flex; flex-direction: column; height: 8rem; justify-content: center; left: 50%; position: absolute; top: 50%; transform: translate(-50%,-50%); width: 8rem; z-index: 2; }.cp-tool-core span { color: #64dfd1; font-size: .6rem; font-weight: 850; }.cp-tool-core strong { font-size: .7rem; }.cp-tool-item { align-items: center; background: #fff; border: 1px solid var(--cp-line); border-radius: 2rem; box-shadow: 0 10px 24px rgba(18,54,84,.1); color: var(--cp-navy); display: flex; font-size: .62rem; font-weight: 750; justify-content: center; padding: .55rem .8rem; position: absolute; }.cp-tool-event { left: 8%; top: 8%; }.cp-tool-email { right: 8%; top: 8%; }.cp-tool-pay { left: 0; top: 55%; }.cp-tool-data { right: 0; top: 55%; }.cp-tool-app { bottom: 3%; left: 40%; }
.cp-board-transition { background: #fff; }.cp-board-panel { background: linear-gradient(135deg,var(--cp-navy-deep),#125769); border-radius: 1.2rem; padding: clamp(2rem,5vw,4rem); }.cp-board-handoff { align-items: center; display: flex; gap: .7rem; }.cp-board-handoff > div { background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.13); border-radius: .7rem; display: flex; flex: 1; flex-direction: column; padding: .9rem; }.cp-board-handoff span { color: #65dfd1; font-size: .5rem; font-weight: 850; letter-spacing: .08em; margin-bottom: .5rem; }.cp-board-handoff i { color: #d0e0e9; font-size: .6rem; font-style: normal; padding: .15rem 0; }.cp-board-handoff > b { color: #fff; }
.cp-pmi-process { background: var(--cp-soft); }.cp-pmi-faq { background: #fff; }

@media (max-width: 991.98px) { .cp-pmi-community-visual { margin: 1rem auto 0; max-width: 34rem; } }
@media (max-width: 767.98px) { .cp-pmi-hero { padding: 4.25rem 0; } }
@media (max-width: 575.98px) { .cp-pmi-community-visual { min-height: 24rem; }.cp-community-core { height: 8.5rem; width: 8.5rem; }.cp-sitemap-grid { grid-template-columns: 1fr; }.cp-board-handoff { align-items: stretch; flex-direction: column; }.cp-board-handoff > b { align-self: center; transform: rotate(90deg); } }

/* Other associations landing page */
.cp-associations-hero { background: linear-gradient(140deg,#f8fbff,#f0f5ff 52%,#eefbf8); padding: clamp(4.5rem,8vw,7.5rem) 0; }
.cp-associations-hero::before { background-image: radial-gradient(rgba(118,87,232,.11) 1px,transparent 1px); background-size: 22px 22px; content: ""; inset: 0; mask-image: linear-gradient(to right,#000,transparent 53%); opacity: .7; position: absolute; }
.cp-association-note { color: #718397; font-size: .66rem; }
.cp-association-visual { min-height: 29rem; position: relative; }
.cp-association-center { align-items: center; background: linear-gradient(135deg,var(--cp-blue-dark),#174b78); border: 5px solid #fff; border-radius: 50%; box-shadow: 0 22px 50px rgba(16,50,80,.2); color: #fff; display: flex; flex-direction: column; height: 10.5rem; justify-content: center; left: 50%; position: absolute; top: 50%; transform: translate(-50%,-50%); width: 10.5rem; z-index: 3; }
.cp-association-center > span { align-items: center; background: rgba(255,255,255,.14); border-radius: .45rem; display: flex; font-size: .65rem; font-weight: 850; height: 2rem; justify-content: center; margin-bottom: .45rem; width: 2rem; }.cp-association-center strong { font-size: .78rem; }.cp-association-center small { color: #bcd3e8; font-size: .5rem; }
.cp-association-orbit { border: 1px dashed #afc0d1; border-radius: 50%; left: 50%; position: absolute; top: 50%; transform: translate(-50%,-50%); }.cp-association-orbit-one { height: 17rem; width: 17rem; }.cp-association-orbit-two { height: 25rem; width: 25rem; }.cp-association-orbit i { background: var(--cp-teal); border: 3px solid #f3f8fc; border-radius: 50%; height: .85rem; position: absolute; width: .85rem; }.cp-association-orbit i:nth-child(1) { left: 10%; top: 18%; }.cp-association-orbit i:nth-child(2) { right: 4%; top: 45%; }.cp-association-orbit i:nth-child(3) { bottom: 4%; left: 45%; }.cp-association-orbit i:nth-child(4) { left: -1%; top: 55%; }
.cp-association-label { align-items: center; background: #fff; border: 1px solid #d2dfe8; border-radius: 2rem; box-shadow: 0 12px 26px rgba(16,50,80,.12); color: var(--cp-navy); display: flex; font-size: .58rem; font-weight: 750; gap: .4rem; padding: .45rem .65rem; position: absolute; z-index: 4; }.cp-association-label span { color: var(--cp-violet); }.cp-label-cyber { left: 0; top: 7%; }.cp-label-project { right: 0; top: 13%; }.cp-label-analysis { left: -2%; top: 58%; }.cp-label-security { right: 0; top: 62%; }.cp-label-trade { bottom: 0; left: 38%; }
.cp-association-intro { background: #fff; }.cp-shared-needs { background: var(--cp-soft); border: 1px solid var(--cp-line); border-radius: 1rem; padding: 1rem 1.4rem; }.cp-shared-needs article { align-items: flex-start; border-bottom: 1px solid var(--cp-line); display: flex; gap: .8rem; padding: 1rem 0; }.cp-shared-needs article:last-child { border: 0; }.cp-shared-needs article > span { color: var(--cp-violet); font-size: .62rem; font-weight: 850; }.cp-shared-needs h3 { color: var(--cp-navy); font-size: .9rem; margin: 0 0 .2rem; }.cp-shared-needs p { color: var(--cp-muted); font-size: .76rem; margin: 0; }
.cp-who-we-serve { background: var(--cp-soft); scroll-margin-top: 2rem; }.cp-association-card { background: #fff; border: 1px solid var(--cp-line); border-radius: 1rem; padding: 1.6rem; position: relative; transition: box-shadow .25s ease,transform .25s ease; }.cp-association-card:hover { box-shadow: 0 18px 35px rgba(18,54,84,.09); transform: translateY(-4px); }.cp-association-card-featured { border-top: 4px solid var(--cp-blue); }.cp-association-badge { background: var(--cp-blue); border-radius: 0 0 0 .5rem; color: #fff; font-size: .5rem; font-weight: 850; letter-spacing: .08em; padding: .35rem .6rem; position: absolute; right: 0; top: 0; }.cp-association-card-icon { align-items: center; background: #eeeaff; border-radius: .65rem; color: var(--cp-violet); display: flex; font-weight: 850; height: 2.8rem; justify-content: center; width: 2.8rem; }.cp-association-card h3 { color: var(--cp-navy); font-size: 1.08rem; margin: 1rem 0 .45rem; }.cp-association-card p { color: var(--cp-muted); font-size: .8rem; }.cp-association-card a { color: var(--cp-blue-dark); font-size: .74rem; font-weight: 750; text-decoration: none; }.cp-association-card a:hover { text-decoration: underline; }.cp-future-link { color: #8797a6; font-size: .68rem; font-style: italic; }
.cp-adaptation-section { background: linear-gradient(135deg,var(--cp-navy-deep),#2b2863); }.cp-adaptation-grid { display: grid; gap: .8rem; grid-template-columns: repeat(2,1fr); }.cp-adaptation-grid article { background: rgba(255,255,255,.075); border: 1px solid rgba(255,255,255,.12); border-radius: .8rem; padding: 1rem; }.cp-adaptation-grid span { color: #b8a8ff; font-size: .9rem; font-weight: 850; }.cp-adaptation-grid h3 { color: #fff; font-size: .88rem; margin: .45rem 0 .2rem; }.cp-adaptation-grid p { color: #bec8da; font-size: .72rem; margin: 0; }
.cp-association-features { background: #fff; }.cp-association-feature { align-items: center; background: var(--cp-soft); border: 1px solid var(--cp-line); border-radius: .7rem; display: flex; gap: .75rem; min-height: 5rem; padding: .85rem 1rem; }.cp-association-feature > span { align-items: center; background: #e7f0ff; border-radius: .5rem; color: var(--cp-blue); display: flex; flex: 0 0 auto; font-size: .68rem; font-weight: 850; height: 2.2rem; justify-content: center; width: 2.2rem; }.cp-association-feature div { display: flex; flex-direction: column; }.cp-association-feature strong { color: var(--cp-navy); font-size: .78rem; }.cp-association-feature small { color: var(--cp-muted); font-size: .62rem; }
.cp-local-parent-section { background: var(--cp-soft); }.cp-local-parent-map { min-height: 23rem; position: relative; }.cp-parent-box,.cp-local-box { border-radius: .8rem; display: flex; flex-direction: column; padding: 1.1rem; position: absolute; width: 65%; }.cp-parent-box { background: var(--cp-navy); color: #fff; left: 0; top: 1rem; transform: rotate(-2deg); }.cp-local-box { background: #fff; border: 1px solid var(--cp-line); box-shadow: 0 15px 30px rgba(18,54,84,.1); bottom: 1rem; right: 0; transform: rotate(2deg); }.cp-parent-box small,.cp-local-box small { color: #65dfd1; font-size: .5rem; font-weight: 850; letter-spacing: .1em; }.cp-parent-box strong,.cp-local-box strong { font-size: .75rem; margin-top: .3rem; }.cp-local-box strong { color: var(--cp-navy); }.cp-map-bridge { align-items: center; color: var(--cp-violet); display: flex; flex-direction: column; font-size: .55rem; font-weight: 750; left: 41%; position: absolute; top: 43%; z-index: 2; }.cp-map-bridge i { border-left: 2px dashed var(--cp-violet); height: 4rem; }.cp-member-box { align-items: center; background: #fff; border: 1px solid var(--cp-line); border-radius: .7rem; box-shadow: 0 12px 25px rgba(18,54,84,.12); display: grid; gap: .1rem .5rem; grid-template-columns: 2rem 1fr; left: 0; padding: .6rem .75rem; position: absolute; top: 48%; z-index: 3; }.cp-member-box > span { align-items: center; background: #eeeaff; border-radius: 50%; color: var(--cp-violet); display: flex; grid-row: span 2; height: 2rem; justify-content: center; width: 2rem; }.cp-member-box strong { color: var(--cp-navy); font-size: .65rem; }.cp-member-box small { color: var(--cp-muted); font-size: .5rem; }
.cp-association-services { background: #fff; }.cp-associations-faq { background: var(--cp-soft); }

@media (max-width: 991.98px) { .cp-association-visual { margin: 1rem auto 0; max-width: 34rem; } }
@media (max-width: 767.98px) { .cp-associations-hero { padding: 4.25rem 0; } }
@media (max-width: 575.98px) { .cp-association-visual { min-height: 24rem; }.cp-association-center { height: 8rem; width: 8rem; }.cp-association-orbit-two { height: 20rem; width: 20rem; }.cp-association-label { font-size: .5rem; }.cp-adaptation-grid { grid-template-columns: 1fr; } }

/* ISC2 chapters landing page */
.cp-isc2-hero { background: linear-gradient(140deg,#f7fbff,#edf8f8 52%,#eef4ff); padding: clamp(4.5rem,8vw,7.5rem) 0; }
.cp-isc2-hero::before { background-image: linear-gradient(rgba(18,184,166,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(18,184,166,.06) 1px,transparent 1px); background-size: 28px 28px; content: ""; inset: 0; mask-image: linear-gradient(to right,#000,transparent 55%); position: absolute; }
.cp-cyber-visual { min-height: 29rem; position: relative; }.cp-cyber-grid { background-image: linear-gradient(rgba(18,184,166,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(18,184,166,.08) 1px,transparent 1px); background-size: 25px 25px; border-radius: 50%; height: 24rem; left: 50%; position: absolute; top: 50%; transform: translate(-50%,-50%) rotate(8deg); width: 24rem; }
.cp-cyber-shield { align-items: center; background: linear-gradient(145deg,#0f5060,#0a3448); border: 5px solid #fff; border-radius: 48% 48% 55% 55% / 32% 32% 70% 70%; box-shadow: 0 22px 50px rgba(9,52,67,.25); color: #fff; display: flex; flex-direction: column; height: 11rem; justify-content: center; left: 50%; position: absolute; top: 50%; transform: translate(-50%,-50%); width: 10rem; z-index: 3; }.cp-cyber-shield > span { align-items: center; background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.3); border-radius: 50%; color: #61dfd0; display: flex; font-size: 1.1rem; font-weight: 900; height: 2.5rem; justify-content: center; margin-bottom: .45rem; width: 2.5rem; }.cp-cyber-shield strong { font-size: .72rem; }.cp-cyber-shield small { color: #a9ccd1; font-size: .48rem; }
.cp-cyber-node { align-items: center; background: #fff; border: 1px solid #d2e1e5; border-radius: 2rem; box-shadow: 0 12px 26px rgba(9,52,67,.13); display: flex; gap: .4rem; padding: .45rem .7rem .45rem .45rem; position: absolute; z-index: 4; }.cp-cyber-node i { align-items: center; background: #ddf8f4; border-radius: 50%; color: #078f83; display: flex; font-size: .55rem; font-style: normal; font-weight: 850; height: 1.8rem; justify-content: center; width: 1.8rem; }.cp-cyber-node span { color: var(--cp-navy); font-size: .6rem; font-weight: 750; }.cp-cyber-events { left: 1%; top: 7%; }.cp-cyber-learning { right: 1%; top: 8%; }.cp-cyber-members { bottom: 4%; left: 3%; }.cp-cyber-volunteer { bottom: 3%; right: 1%; }.cp-cyber-lines { height: 100%; inset: 0; position: absolute; width: 100%; }.cp-cyber-lines path { fill: none; stroke: #9ebec3; stroke-dasharray: 4 6; stroke-width: 1.3; }
.cp-isc2-intro { background: #fff; }.cp-cyber-priorities { background: #eff9f8; border: 1px solid #d0e8e5; border-radius: 1rem; padding: 1rem 1.4rem; }.cp-cyber-priorities article { align-items: flex-start; border-bottom: 1px solid #d5e7e5; display: flex; gap: .8rem; padding: 1rem 0; }.cp-cyber-priorities article:last-child { border: 0; }.cp-cyber-priorities article > span { color: #078f83; font-size: .62rem; font-weight: 850; }.cp-cyber-priorities h3 { color: var(--cp-navy); font-size: .9rem; margin: 0 0 .2rem; }.cp-cyber-priorities p { color: var(--cp-muted); font-size: .76rem; margin: 0; }
.cp-cyber-journeys { background: var(--cp-soft); }.cp-cyber-journey-card { background: #fff; border: 1px solid var(--cp-line); border-radius: 1rem; padding: 1.6rem; transition: box-shadow .25s ease,transform .25s ease; }.cp-cyber-journey-card:hover { box-shadow: 0 18px 35px rgba(18,54,84,.09); transform: translateY(-4px); }.cp-cyber-journey-card > span { align-items: center; background: #ddf8f4; border-radius: .65rem; color: #078f83; display: flex; font-size: .75rem; font-weight: 850; height: 2.7rem; justify-content: center; margin-bottom: 1rem; width: 2.7rem; }.cp-cyber-journey-card > small { color: #7f929e; display: block; font-size: .5rem; font-weight: 850; letter-spacing: .09em; }.cp-cyber-journey-card h3 { color: var(--cp-navy); font-size: 1.08rem; margin: .5rem 0; }.cp-cyber-journey-card > p { color: var(--cp-muted); font-size: .8rem; }.cp-cyber-journey-card li { border-top: 1px solid var(--cp-line); color: #526a7d; font-size: .72rem; padding: .4rem 0; }.cp-cyber-journey-card li::before { color: var(--cp-teal); content: "✓"; font-weight: 900; margin-right: .4rem; }
.cp-cyber-trust { background: linear-gradient(135deg,#071e2a,#0b4d57); }.cp-cyber-trust-grid { display: grid; gap: .8rem; grid-template-columns: repeat(2,1fr); }.cp-cyber-trust-grid article { background: rgba(255,255,255,.075); border: 1px solid rgba(255,255,255,.12); border-radius: .8rem; padding: 1rem; }.cp-cyber-trust-grid span { color: #64dfd1; font-size: .9rem; font-weight: 850; }.cp-cyber-trust-grid h3 { color: #fff; font-size: .88rem; margin: .4rem 0 .2rem; }.cp-cyber-trust-grid p { color: #aec8ce; font-size: .72rem; margin: 0; }
.cp-isc2-sitemap { background: #fff; }.cp-cyber-sitemap { background: #fff; border: 1px solid var(--cp-line); border-radius: 1rem; box-shadow: 0 20px 45px rgba(18,54,84,.1); padding: 1rem; transform: rotate(-1deg); }.cp-cyber-sitemap-home { background: linear-gradient(135deg,#0b4a59,#0e7180); border-radius: .65rem; color: #fff; display: flex; flex-direction: column; padding: 1rem; text-align: center; }.cp-cyber-sitemap-home span { color: #8ae6dc; font-size: .5rem; font-weight: 850; letter-spacing: .1em; }.cp-cyber-sitemap-home strong { font-size: .8rem; }.cp-cyber-sitemap-grid { display: grid; gap: .5rem; grid-template-columns: repeat(2,1fr); margin-top: .5rem; }.cp-cyber-sitemap-grid > div { background: var(--cp-soft); border-radius: .45rem; display: flex; flex-direction: column; padding: .65rem; }.cp-cyber-sitemap-grid span { color: #078f83; font-size: .48rem; font-weight: 850; letter-spacing: .08em; }.cp-cyber-sitemap-grid small { color: var(--cp-muted); font-size: .55rem; margin-top: .18rem; }
.cp-cyber-services { background: var(--cp-soft); }.cp-cyber-connections { background: #fff; }.cp-cyber-connection-panel { background: linear-gradient(135deg,#071e2a,#0b5660); border-radius: 1.2rem; padding: clamp(2rem,5vw,4rem); }.cp-isc2-process { background: var(--cp-soft); }.cp-isc2-faq { background: #fff; }

@media (max-width: 991.98px) { .cp-cyber-visual { margin: 1rem auto 0; max-width: 34rem; } }
@media (max-width: 767.98px) { .cp-isc2-hero { padding: 4.25rem 0; } }
@media (max-width: 575.98px) { .cp-cyber-visual { min-height: 24rem; }.cp-cyber-grid { height: 20rem; width: 20rem; }.cp-cyber-shield { height: 8.5rem; width: 8rem; }.cp-cyber-trust-grid,.cp-cyber-sitemap-grid { grid-template-columns: 1fr; } }

/* Process page */
.cp-process-hero { background: linear-gradient(140deg,#f8fbff,#eef5ff 52%,#eefbf8); padding: clamp(4.5rem,8vw,7rem) 0 clamp(3.5rem,6vw,5rem); }
.cp-process-hero::before { background-image: radial-gradient(rgba(39,110,241,.12) 1px,transparent 1px); background-size: 22px 22px; content: ""; inset: 0; mask-image: linear-gradient(to bottom,#000,transparent 82%); opacity: .7; position: absolute; }
.cp-process-hero-flow { align-items: center; display: flex; justify-content: center; margin-top: clamp(3rem,6vw,5rem); }.cp-process-hero-flow > div { align-items: center; display: flex; flex-direction: column; min-width: 4rem; }.cp-process-hero-flow span { align-items: center; background: #fff; border: 2px solid #b9cdf1; border-radius: 50%; color: var(--cp-blue); display: flex; font-size: .65rem; font-weight: 850; height: 2.5rem; justify-content: center; width: 2.5rem; }.cp-process-hero-flow small { color: var(--cp-navy); font-size: .56rem; font-weight: 750; margin-top: .35rem; }.cp-process-hero-flow > i { border-top: 1px dashed #9fb2c4; flex: 1; max-width: 4rem; }
.cp-process-intro { background: #fff; }.cp-process-principles { background: var(--cp-soft); border: 1px solid var(--cp-line); border-radius: 1rem; padding: 1rem 1.4rem; }.cp-process-principles article { align-items: flex-start; border-bottom: 1px solid var(--cp-line); display: flex; gap: .8rem; padding: 1rem 0; }.cp-process-principles article:last-child { border: 0; }.cp-process-principles article > span { color: var(--cp-blue); font-size: .62rem; font-weight: 850; }.cp-process-principles h3 { color: var(--cp-navy); font-size: .9rem; margin: 0 0 .2rem; }.cp-process-principles p { color: var(--cp-muted); font-size: .76rem; margin: 0; }
.cp-process-overview { background: var(--cp-soft); scroll-margin-top: 1rem; }.cp-process-stages { position: relative; }.cp-process-stages::before { border-left: 1px dashed #aabccd; bottom: 4rem; content: ""; left: 2.35rem; position: absolute; top: 4rem; }.cp-process-stages > article { display: grid; gap: 1.5rem; grid-template-columns: 4.7rem 1fr; padding-bottom: 2rem; position: relative; }.cp-process-stages > article:last-child { padding-bottom: 0; }.cp-stage-marker { align-items: center; display: flex; flex-direction: column; z-index: 2; }.cp-stage-marker > span { align-items: center; background: #fff; border: 2px solid #b9cdf1; border-radius: 50%; color: var(--cp-blue); display: flex; font-size: .58rem; font-weight: 850; height: 2.8rem; justify-content: center; width: 2.8rem; }.cp-stage-marker > i { align-items: center; background: var(--cp-blue); border: 4px solid var(--cp-soft); border-radius: 50%; color: #fff; display: flex; font-size: .65rem; font-style: normal; font-weight: 850; height: 2rem; justify-content: center; margin-top: .5rem; width: 2rem; }.cp-stage-content { background: #fff; border: 1px solid var(--cp-line); border-radius: 1rem; box-shadow: 0 10px 28px rgba(18,54,84,.055); padding: clamp(1.5rem,3vw,2rem); }.cp-stage-content > small { color: var(--cp-blue); font-size: .54rem; font-weight: 850; letter-spacing: .1em; }.cp-stage-content > h3 { color: var(--cp-navy); font-size: 1.25rem; margin: .45rem 0; }.cp-stage-content > p { color: var(--cp-muted); font-size: .84rem; }.cp-stage-grid { border-bottom: 1px solid var(--cp-line); border-top: 1px solid var(--cp-line); display: grid; gap: 1.5rem; grid-template-columns: repeat(2,1fr); margin: 1.1rem 0; padding: 1rem 0; }.cp-stage-grid strong { color: var(--cp-navy); font-size: .76rem; }.cp-stage-grid li { color: var(--cp-muted); font-size: .7rem; padding: .2rem 0 .2rem 1rem; position: relative; }.cp-stage-grid li::before { color: var(--cp-teal); content: "✓"; font-weight: 900; left: 0; position: absolute; }.cp-stage-output { color: var(--cp-blue-dark); font-size: .55rem; font-weight: 850; letter-spacing: .07em; }
.cp-board-role-section { background: linear-gradient(135deg,var(--cp-navy-deep),#113f6a); }.cp-role-grid { display: grid; gap: .8rem; grid-template-columns: repeat(2,1fr); }.cp-role-grid article { background: rgba(255,255,255,.075); border: 1px solid rgba(255,255,255,.12); border-radius: .8rem; padding: 1rem; }.cp-role-grid span { color: #64dfd1; font-size: .62rem; font-weight: 850; }.cp-role-grid h3 { color: #fff; font-size: .88rem; margin: .4rem 0 .2rem; }.cp-role-grid p { color: #b8cad9; font-size: .72rem; margin: 0; }
.cp-feedback-section { background: #fff; }.cp-feedback-demo { background: var(--cp-soft); border: 1px solid var(--cp-line); border-radius: 1rem; box-shadow: 0 20px 45px rgba(18,54,84,.1); overflow: hidden; transform: rotate(1deg); }.cp-feedback-top { background: var(--cp-navy); display: flex; flex-direction: column; padding: 1rem 1.2rem; }.cp-feedback-top span { color: #64dfd1; font-size: .5rem; font-weight: 850; letter-spacing: .1em; }.cp-feedback-top b { color: #fff; font-size: .86rem; }.cp-feedback-comment { background: #fff; border-bottom: 1px solid var(--cp-line); padding: 1rem 1.2rem; position: relative; }.cp-feedback-comment > span { color: var(--cp-blue); font-size: .58rem; font-weight: 750; }.cp-feedback-comment p { color: var(--cp-muted); font-size: .72rem; margin: .3rem 4rem .1rem 0; }.cp-feedback-comment i { background: #fff1d8; border-radius: 2rem; color: #9b640e; font-size: .5rem; font-style: normal; padding: .25rem .45rem; position: absolute; right: 1rem; top: 1.3rem; }.cp-feedback-resolution { align-items: center; display: flex; gap: .6rem; padding: 1rem 1.2rem; }.cp-feedback-resolution > span { align-items: center; background: #ddf8f4; border-radius: 50%; color: #078f83; display: flex; font-size: .65rem; font-weight: 900; height: 2rem; justify-content: center; width: 2rem; }.cp-feedback-resolution div { display: flex; flex-direction: column; }.cp-feedback-resolution strong { color: var(--cp-navy); font-size: .68rem; }.cp-feedback-resolution small { color: var(--cp-muted); font-size: .55rem; }
.cp-timeline-section { background: var(--cp-soft); }.cp-timeline-factor { background: #fff; border: 1px solid var(--cp-line); border-radius: 1rem; padding: 1.4rem; }.cp-timeline-factor > span { color: var(--cp-blue); font-size: .6rem; font-weight: 850; }.cp-timeline-factor h3 { color: var(--cp-navy); font-size: 1rem; margin: .65rem 0 .35rem; }.cp-timeline-factor p { color: var(--cp-muted); font-size: .76rem; margin: 0; }
.cp-change-section { background: #fff; }.cp-change-panel { background: linear-gradient(135deg,#eef5ff,#eefbf8); border: 1px solid #d6e5eb; border-radius: 1.2rem; padding: clamp(2rem,5vw,4rem); }.cp-change-flow { display: flex; flex-direction: column; gap: .35rem; }.cp-change-flow > div { align-items: center; background: rgba(255,255,255,.8); border: 1px solid var(--cp-line); border-radius: .6rem; color: var(--cp-navy); display: flex; font-size: .75rem; font-weight: 700; gap: .65rem; padding: .7rem .9rem; }.cp-change-flow span { align-items: center; background: #e6efff; border-radius: 50%; color: var(--cp-blue); display: flex; font-size: .55rem; height: 1.7rem; justify-content: center; width: 1.7rem; }.cp-change-flow > b { align-self: center; color: var(--cp-teal); }.cp-process-faq { background: #fff; }

@media (max-width: 767.98px) { .cp-process-hero { padding: 4.25rem 0 3.5rem; }.cp-process-hero-flow { flex-wrap: wrap; gap: .7rem; }.cp-process-hero-flow > i { display: none; }.cp-process-stages::before { left: 1.4rem; }.cp-process-stages > article { gap: .8rem; grid-template-columns: 2.8rem 1fr; }.cp-stage-marker > i { display: none; }.cp-stage-grid { grid-template-columns: 1fr; }.cp-role-grid { grid-template-columns: 1fr; } }

/* Pricing page */
.cp-pricing-hero { background: linear-gradient(140deg,#f8fbff,#eef5ff 52%,#eefbf8); padding: clamp(4.5rem,8vw,7rem) 0; }.cp-pricing-hero::before { background-image: radial-gradient(rgba(39,110,241,.12) 1px,transparent 1px); background-size: 22px 22px; content: ""; inset: 0; mask-image: linear-gradient(to bottom,#000,transparent 82%); opacity: .7; position: absolute; }
.cp-pricing-intro { background: #fff; }.cp-price-principles { background: var(--cp-soft); border: 1px solid var(--cp-line); border-radius: 1rem; padding: 1rem 1.4rem; }.cp-price-principles article { align-items: flex-start; border-bottom: 1px solid var(--cp-line); display: flex; gap: .8rem; padding: 1rem 0; }.cp-price-principles article:last-child { border: 0; }.cp-price-principles article > span { align-items: center; background: #e6efff; border-radius: 50%; color: var(--cp-blue); display: flex; flex: 0 0 auto; font-size: .6rem; font-weight: 850; height: 2rem; justify-content: center; width: 2rem; }.cp-price-principles h3 { color: var(--cp-navy); font-size: .9rem; margin: 0 0 .2rem; }.cp-price-principles p { color: var(--cp-muted); font-size: .76rem; margin: 0; }
.cp-current-pricing { background: var(--cp-soft); scroll-margin-top: 1rem; }.cp-current-plan { background: #fff; border: 1px solid #aeb9c2; border-radius: 1.35rem; display: flex; flex-direction: column; overflow: hidden; padding: clamp(1.5rem,3vw,2rem); position: relative; transition: box-shadow .25s ease,transform .25s ease; }.cp-current-plan:hover { box-shadow: 0 20px 45px rgba(18,54,84,.12); transform: translateY(-4px); }.cp-current-plan-icon { align-items: center; background: var(--cp-blue); border-radius: .55rem; display: flex; height: 3rem; justify-content: center; margin-bottom: 1.35rem; width: 3rem; }.cp-current-plan-icon > span { background: rgba(255,255,255,.95); border-radius: .18rem; height: 1.15rem; width: 1.15rem; }.cp-current-plan-icon-diamond > span { border-radius: .12rem; transform: rotate(45deg); }.cp-current-plan-icon-crown > span { background: transparent; color: #fff; font-size: 1.3rem; height: auto; line-height: 1; text-align: center; width: auto; }.cp-current-plan h3 { color: var(--cp-ink); font-size: 1.5rem; font-weight: 760; letter-spacing: -.025em; margin: 0 0 .25rem; }.cp-current-plan-members { color: var(--cp-muted); font-size: .88rem; min-height: 2.8rem; }.cp-current-plan-price { align-items: baseline; color: #141a1e; display: flex; margin: 1rem 0 1.25rem; white-space: nowrap; }.cp-current-plan-price sup { font-size: 1.65rem; font-weight: 760; line-height: 1; top: -.55em; }.cp-current-plan-price strong { font-size: clamp(2.7rem,5vw,3.7rem); font-weight: 750; letter-spacing: -.06em; line-height: 1; }.cp-current-plan-price span { color: var(--cp-muted); font-size: .85rem; margin-left: .3rem; }.cp-current-plan-btn { background: transparent; border: 2px solid var(--cp-blue); color: var(--cp-blue); margin-bottom: 1.35rem; width: 100%; }.cp-current-plan-btn:hover,.cp-current-plan-btn:focus { background: var(--cp-blue); border-color: var(--cp-blue); color: #fff; }.cp-current-plan-includes { border-top: 1px solid var(--cp-line); margin-top: auto; padding-top: 1.25rem; }.cp-current-plan-includes strong { color: var(--cp-ink); font-size: .98rem; }.cp-current-plan-featured { background: linear-gradient(145deg,#3156f1,#3f4ff0); border-color: #3156f1; color: #fff; }.cp-current-plan-featured .cp-current-plan-icon { background: #fff; }.cp-current-plan-featured .cp-current-plan-icon > span { background: #3a54ef; }.cp-current-plan-featured h3,.cp-current-plan-featured .cp-current-plan-price,.cp-current-plan-featured .cp-current-plan-includes strong { color: #fff; }.cp-current-plan-featured .cp-current-plan-members,.cp-current-plan-featured .cp-current-plan-price span { color: rgba(255,255,255,.86); }.cp-current-plan-featured .cp-current-plan-btn { background: #fff; border-color: #fff; color: var(--cp-ink); }.cp-current-plan-featured .cp-current-plan-btn:hover,.cp-current-plan-featured .cp-current-plan-btn:focus { background: #eaf0ff; border-color: #eaf0ff; }.cp-current-plan-featured .cp-current-plan-includes { border-color: rgba(255,255,255,.34); }.cp-current-plan-badge { background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.25); border-radius: 2rem; color: #fff; font-size: .5rem; font-weight: 850; letter-spacing: .09em; padding: .3rem .55rem; position: absolute; right: 1rem; text-transform: uppercase; top: 1rem; }.cp-current-pricing-note { align-items: flex-start; background: #e9f2ff; border: 1px solid #cdddf2; border-radius: .75rem; display: flex; gap: .7rem; padding: .85rem 1rem; }.cp-current-pricing-note > span { align-items: center; border: 1px solid #9bb9df; border-radius: 50%; color: var(--cp-blue-dark); display: flex; flex: 0 0 auto; font-size: .62rem; font-weight: 850; height: 1.4rem; justify-content: center; margin-top: .08rem; width: 1.4rem; }.cp-current-pricing-note p { color: #526a7d; font-size: .68rem; }
.cp-website-packages { background: var(--cp-soft); scroll-margin-top: 1rem; }.cp-price-card { background: #fff; border: 1px solid var(--cp-line); border-radius: 1rem; display: flex; flex-direction: column; padding: 1.6rem; position: relative; }.cp-price-card-featured { border: 2px solid var(--cp-blue); box-shadow: 0 18px 40px rgba(39,110,241,.12); }.cp-price-popular { background: var(--cp-blue); border-radius: 0 0 0 .55rem; color: #fff; font-size: .5rem; font-weight: 850; letter-spacing: .09em; padding: .38rem .65rem; position: absolute; right: 0; top: 0; }.cp-price-card-head > span { color: var(--cp-blue); font-size: .56rem; font-weight: 850; letter-spacing: .1em; }.cp-price-card-head h3 { color: var(--cp-navy); font-size: 1.25rem; line-height: 1.25; margin: .65rem 0 .5rem; }.cp-price-card-head p { color: var(--cp-muted); font-size: .78rem; }.cp-price-status { background: var(--cp-soft); border-radius: .65rem; display: flex; flex-direction: column; margin: .8rem 0 1rem; padding: 1rem; }.cp-price-status small { color: #8192a2; font-size: .48rem; font-weight: 850; letter-spacing: .1em; }.cp-price-status strong { color: var(--cp-navy); font-size: 1.05rem; }.cp-price-status span { color: var(--cp-muted); font-size: .58rem; }.cp-price-features { flex-grow: 1; }.cp-price-features li { border-bottom: 1px solid var(--cp-line); color: #526a7d; font-size: .72rem; padding: .45rem 0 .45rem 1rem; position: relative; }.cp-price-features li::before { color: var(--cp-teal); content: "✓"; font-weight: 900; left: 0; position: absolute; }.cp-best-for { color: var(--cp-muted); font-size: .68rem; margin: .8rem 0 1.2rem; }.cp-best-for strong { color: var(--cp-navy); }
.cp-care-plans-section { background: #fff; }.cp-care-price-card { background: var(--cp-soft); border: 1px solid var(--cp-line); border-radius: 1rem; display: flex; flex-direction: column; padding: 1.5rem; }.cp-care-price-featured { background: #eefaf8; border-color: #bfe7e1; }.cp-care-level { color: var(--cp-blue); font-size: .54rem; font-weight: 850; letter-spacing: .1em; }.cp-care-price-featured .cp-care-level { color: #078f83; }.cp-care-price-card h3 { color: var(--cp-navy); font-size: 1.08rem; margin: .6rem 0 .4rem; }.cp-care-price-card > p { color: var(--cp-muted); font-size: .78rem; }.cp-care-price-card ul { flex-grow: 1; }.cp-care-price-card li { border-top: 1px solid var(--cp-line); color: #526a7d; font-size: .7rem; padding: .45rem 0; }.cp-care-price-card li::before { color: var(--cp-teal); content: "✓"; font-weight: 900; margin-right: .4rem; }.cp-care-price-foot { border-top: 1px solid var(--cp-line); display: flex; flex-direction: column; padding-top: .9rem; }.cp-care-price-foot strong { color: var(--cp-navy); font-size: .75rem; }.cp-care-price-foot a { color: var(--cp-blue-dark); font-size: .68rem; font-weight: 750; text-decoration: none; }
.cp-price-drivers { background: linear-gradient(135deg,var(--cp-navy-deep),#113f6a); }.cp-driver-grid { display: grid; gap: .8rem; grid-template-columns: repeat(2,1fr); }.cp-driver-grid article { background: rgba(255,255,255,.075); border: 1px solid rgba(255,255,255,.12); border-radius: .8rem; padding: 1rem; }.cp-driver-grid span { color: #64dfd1; font-size: .58rem; font-weight: 850; }.cp-driver-grid h3 { color: #fff; font-size: .85rem; margin: .35rem 0 .2rem; }.cp-driver-grid p { color: #b8cad9; font-size: .68rem; margin: 0; }
.cp-cost-table-section { background: #fff; }.cp-cost-table-wrap { border: 1px solid var(--cp-line); border-radius: 1rem; overflow: hidden; }.cp-cost-table { min-width: 720px; }.cp-cost-table thead th { background: var(--cp-navy); border: 0; color: #fff; font-size: .68rem; font-weight: 750; padding: .9rem 1rem; }.cp-cost-table tbody th,.cp-cost-table tbody td { border-color: var(--cp-line); color: var(--cp-muted); font-size: .7rem; padding: .8rem 1rem; vertical-align: middle; }.cp-cost-table tbody th { color: var(--cp-navy); font-weight: 700; }.cp-cost-table tbody tr:nth-child(even) > * { background: var(--cp-soft); }
.cp-payment-section { background: var(--cp-soft); }.cp-payment-flow { position: relative; }.cp-payment-flow > div { align-items: center; background: #fff; border: 1px solid var(--cp-line); border-radius: .65rem; display: flex; gap: .7rem; padding: .7rem .85rem; }.cp-payment-flow > div > span { align-items: center; background: #e6efff; border-radius: 50%; color: var(--cp-blue); display: flex; flex: 0 0 auto; font-size: .58rem; font-weight: 850; height: 1.9rem; justify-content: center; width: 1.9rem; }.cp-payment-flow > div > div { display: flex; flex-direction: column; }.cp-payment-flow strong { color: var(--cp-navy); font-size: .72rem; }.cp-payment-flow small { color: var(--cp-muted); font-size: .58rem; }.cp-payment-flow > i { border-left: 1px dashed #aebfd0; display: block; height: .7rem; margin-left: 1.8rem; }
.cp-value-comparison { background: #fff; }.cp-value-panel { background: linear-gradient(135deg,var(--cp-navy-deep),#125769); border-radius: 1.2rem; padding: clamp(2rem,5vw,4rem); }.cp-pricing-faq { background: var(--cp-soft); }

@media (max-width: 767.98px) { .cp-pricing-hero { padding: 4.25rem 0; }.cp-driver-grid { grid-template-columns: 1fr; } }

/* Work and portfolio page */
.cp-work-hero { background: linear-gradient(140deg,#f8fbff,#eef5ff 52%,#eefbf8); padding: clamp(4.5rem,8vw,7.5rem) 0; }.cp-work-hero::before { background-image: radial-gradient(rgba(39,110,241,.12) 1px,transparent 1px); background-size: 22px 22px; content: ""; inset: 0; mask-image: linear-gradient(to right,#000,transparent 53%); opacity: .7; position: absolute; }
.cp-work-gallery { min-height: 28rem; position: relative; }.cp-work-browser { background: #fff; border: 1px solid #d0dce5; border-radius: .8rem; box-shadow: 0 22px 48px rgba(16,50,80,.16); overflow: hidden; position: absolute; width: 78%; }.cp-work-browser-one { left: 0; top: 1rem; transform: rotate(-4deg); }.cp-work-browser-two { bottom: 1.5rem; right: 0; transform: rotate(4deg); z-index: 2; }.cp-work-browser-bar { align-items: center; background: #edf2f6; display: flex; gap: .3rem; height: 1.6rem; padding: 0 .55rem; }.cp-work-browser-bar i { background: #aebbc6; border-radius: 50%; height: .32rem; width: .32rem; }.cp-work-screen { color: #fff; display: flex; flex-direction: column; min-height: 11rem; padding: 1.2rem; }.cp-work-screen-one { background: linear-gradient(135deg,#123e73,#2873da); }.cp-work-screen-two { background: linear-gradient(135deg,#07505c,#12a393); }.cp-work-screen > span { color: #bcd8ff; font-size: .46rem; font-weight: 850; letter-spacing: .1em; }.cp-work-screen > strong { font-size: 1rem; line-height: 1.2; margin-top: .4rem; max-width: 11rem; }.cp-work-screen > i { background: #fff; border-radius: 1rem; height: .42rem; margin: .8rem 0; width: 3.5rem; }.cp-work-screen > div { display: flex; gap: .4rem; margin-top: auto; }.cp-work-screen b { background: rgba(255,255,255,.17); border-radius: .3rem; height: 2.7rem; width: 50%; }.cp-work-gallery-note { align-items: center; background: rgba(255,255,255,.97); border: 1px solid #d2dfe8; border-radius: .7rem; bottom: 0; box-shadow: 0 14px 30px rgba(16,50,80,.14); display: flex; gap: .6rem; left: 8%; padding: .65rem .8rem; position: absolute; z-index: 3; }.cp-work-gallery-note > span { align-items: center; background: #ddf8f4; border-radius: 50%; color: #078f83; display: flex; font-weight: 900; height: 1.9rem; justify-content: center; width: 1.9rem; }.cp-work-gallery-note div { display: flex; flex-direction: column; }.cp-work-gallery-note strong { color: var(--cp-navy); font-size: .65rem; }.cp-work-gallery-note small { color: var(--cp-muted); font-size: .5rem; }
.cp-work-intro { background: #fff; }.cp-work-evidence { background: var(--cp-soft); border: 1px solid var(--cp-line); border-radius: 1rem; padding: 1rem 1.4rem; }.cp-work-evidence article { align-items: flex-start; border-bottom: 1px solid var(--cp-line); display: flex; gap: .8rem; padding: 1rem 0; }.cp-work-evidence article:last-child { border: 0; }.cp-work-evidence article > span { color: var(--cp-blue); font-size: .62rem; font-weight: 850; }.cp-work-evidence h3 { color: var(--cp-navy); font-size: .9rem; margin: 0 0 .2rem; }.cp-work-evidence p { color: var(--cp-muted); font-size: .76rem; margin: 0; }
.cp-featured-work { background: var(--cp-soft); scroll-margin-top: 1rem; }.cp-work-case { background: #fff; border: 1px solid var(--cp-line); border-radius: 1.2rem; margin-bottom: 2rem; overflow: hidden; padding: clamp(1.5rem,4vw,3rem); }.cp-work-case:last-child { margin-bottom: 0; }.cp-work-case-blue { border-top: 4px solid var(--cp-blue); }.cp-work-case-teal { border-top: 4px solid var(--cp-teal); }.cp-work-case-violet { border-top: 4px solid var(--cp-violet); }.cp-case-type { color: var(--cp-blue); font-size: .54rem; font-weight: 850; letter-spacing: .1em; }.cp-work-case h3 { color: var(--cp-navy); font-size: clamp(1.5rem,3vw,2rem); letter-spacing: -.035em; line-height: 1.15; margin: .65rem 0; }.cp-work-case p { color: var(--cp-muted); font-size: .82rem; }.cp-case-columns { border-bottom: 1px solid var(--cp-line); border-top: 1px solid var(--cp-line); display: grid; gap: 1rem; grid-template-columns: repeat(2,1fr); margin: 1rem 0; padding: .8rem 0; }.cp-case-columns strong { color: var(--cp-navy); font-size: .7rem; }.cp-case-columns li { color: var(--cp-muted); font-size: .65rem; padding: .15rem 0 .15rem .8rem; position: relative; }.cp-case-columns li::before { color: var(--cp-teal); content: "✓"; font-weight: 900; left: 0; position: absolute; }.cp-case-deliverables { display: flex; flex-wrap: wrap; gap: .35rem; }.cp-case-deliverables span { background: #e9f1ff; border-radius: 2rem; color: var(--cp-blue-dark); font-size: .55rem; font-weight: 700; padding: .3rem .5rem; }.cp-case-disclaimer { color: #8b99a5 !important; font-size: .58rem !important; font-style: italic; margin-top: .75rem; }.cp-case-visual { min-height: 21rem; position: relative; }.cp-concept-label { background: var(--cp-navy); border-radius: 2rem; color: #fff; font-size: .48rem; font-weight: 850; left: 0; letter-spacing: .08em; padding: .3rem .55rem; position: absolute; top: 0; z-index: 3; }.cp-case-window { background: #fff; border: 1px solid var(--cp-line); border-radius: .8rem; box-shadow: 0 18px 38px rgba(18,54,84,.15); overflow: hidden; position: absolute; right: 0; top: 1rem; transform: rotate(2deg); width: 92%; }.cp-case-home { background: linear-gradient(135deg,#123e73,#2873da); color: #fff; display: flex; flex-direction: column; min-height: 15rem; padding: 1.5rem; }.cp-case-home-cyber { background: linear-gradient(135deg,#074653,#0f9d8d); }.cp-case-home > small { color: #bcd8ff; font-size: .48rem; font-weight: 800; letter-spacing: .1em; }.cp-case-home > strong { font-size: 1.3rem; line-height: 1.18; margin-top: .6rem; max-width: 13rem; }.cp-case-home > span { background: #fff; border-radius: 1rem; height: .48rem; margin-top: 1rem; width: 4.5rem; }.cp-case-home > div { display: flex; gap: .5rem; margin-top: auto; }.cp-case-home i { background: rgba(255,255,255,.16); border-radius: .4rem; height: 3.5rem; width: 33%; }.cp-case-mobile { background: #fff; border: 4px solid var(--cp-navy); border-radius: .9rem; bottom: 0; box-shadow: 0 15px 30px rgba(18,54,84,.18); display: flex; flex-direction: column; left: 0; padding: .8rem; position: absolute; transform: rotate(-4deg); width: 7rem; z-index: 2; }.cp-case-mobile strong { color: var(--cp-navy); font-size: .6rem; }.cp-case-mobile i { background: #dfe6ec; border-radius: 1rem; height: .3rem; margin-top: .45rem; }.cp-case-mobile span { background: var(--cp-blue); border-radius: .3rem; color: #fff; font-size: .45rem; margin-top: .7rem; padding: .35rem; text-align: center; }.cp-case-trust { background: #fff; border: 1px solid var(--cp-line); border-radius: .7rem; bottom: 0; box-shadow: 0 14px 28px rgba(18,54,84,.15); display: flex; flex-direction: column; left: 0; padding: .7rem .85rem; position: absolute; transform: rotate(-3deg); z-index: 2; }.cp-case-trust > span { color: var(--cp-teal); font-weight: 900; }.cp-case-trust strong { color: var(--cp-navy); font-size: .62rem; }.cp-case-trust small { color: var(--cp-muted); font-size: .5rem; }.cp-migration-comparison { align-items: center; display: flex; gap: .55rem; inset: 1.5rem 0 0; position: absolute; }.cp-migration-comparison > div { background: #fff; border: 1px solid var(--cp-line); border-radius: .7rem; box-shadow: 0 15px 30px rgba(18,54,84,.12); display: flex; flex: 1; flex-direction: column; min-height: 15rem; padding: .9rem; transform: rotate(-3deg); }.cp-migration-comparison > div:last-child { background: linear-gradient(145deg,#f4f1ff,#fff); border-top: 4px solid var(--cp-violet); transform: rotate(3deg); }.cp-migration-comparison small { color: #8293a0; font-size: .48rem; font-weight: 850; }.cp-migration-comparison > div:first-child span { background: #d9dfe4; height: 2.3rem; margin-top: .45rem; }.cp-migration-comparison > div:first-child span:nth-child(3) { height: 4rem; }.cp-migration-comparison strong { color: var(--cp-navy); font-size: .8rem; margin-top: 1rem; }.cp-migration-comparison > div:last-child > i { background: var(--cp-violet); border-radius: 1rem; height: .4rem; margin: .7rem 0; width: 3rem; }.cp-migration-comparison section { display: flex; gap: .35rem; margin-top: auto; }.cp-migration-comparison section span { background: #e8e3fa; border-radius: .3rem; height: 4rem; width: 50%; }.cp-migration-comparison > b { color: var(--cp-violet); }.cp-migration-count { align-items: center; background: #fff; border: 1px solid var(--cp-line); border-radius: .65rem; bottom: 0; box-shadow: 0 12px 25px rgba(18,54,84,.13); display: flex; gap: .5rem; left: 30%; padding: .55rem .7rem; position: absolute; z-index: 3; }.cp-migration-count > strong { color: var(--cp-teal); }.cp-migration-count > span { color: var(--cp-navy); font-size: .55rem; font-weight: 700; line-height: 1.2; }.cp-migration-count small { color: var(--cp-muted); font-size: .45rem; font-weight: 500; }
.cp-transformation-types { background: #fff; }.cp-transformation-card { border: 1px solid var(--cp-line); border-radius: 1rem; padding: 1.4rem; }.cp-transformation-card > span { color: var(--cp-blue); font-size: .58rem; font-weight: 850; }.cp-transformation-card h3 { color: var(--cp-navy); font-size: 1rem; margin: .6rem 0 1rem; }.cp-transformation-card > div { background: var(--cp-soft); border-radius: .55rem; padding: .7rem; }.cp-transformation-card small { color: #8393a1; font-size: .48rem; font-weight: 850; letter-spacing: .08em; }.cp-transformation-card p { color: var(--cp-muted); font-size: .68rem; margin: .2rem 0 0; }.cp-transformation-card > i { color: var(--cp-teal); display: block; font-style: normal; padding: .35rem; text-align: center; }
.cp-work-method { background: linear-gradient(135deg,var(--cp-navy-deep),#113f6a); }.cp-method-grid { display: grid; gap: .7rem; grid-template-columns: repeat(2,1fr); }.cp-method-grid article { background: rgba(255,255,255,.075); border: 1px solid rgba(255,255,255,.12); border-radius: .75rem; padding: .9rem; }.cp-method-grid span { color: #64dfd1; font-size: .58rem; font-weight: 850; }.cp-method-grid h3 { color: #fff; font-size: .85rem; margin: .35rem 0 .2rem; }.cp-method-grid p { color: #b8cad9; font-size: .68rem; margin: 0; }
.cp-case-study-framework { background: var(--cp-soft); }.cp-case-template { background: #fff; border: 1px solid var(--cp-line); border-radius: 1rem; box-shadow: 0 18px 38px rgba(18,54,84,.09); overflow: hidden; transform: rotate(1deg); }.cp-case-template-image { align-items: center; background: linear-gradient(135deg,#dbe8ff,#dff8f4); display: flex; height: 12rem; justify-content: center; }.cp-case-template-image span { color: #70879a; font-size: .55rem; font-weight: 850; letter-spacing: .1em; }.cp-case-template-copy { display: flex; flex-direction: column; padding: 1.3rem; }.cp-case-template-copy > small { color: var(--cp-blue); font-size: .48rem; font-weight: 850; letter-spacing: .08em; }.cp-case-template-copy > strong { color: var(--cp-navy); font-size: .9rem; margin: .45rem 0; }.cp-case-template-copy > div { display: flex; flex-direction: column; gap: .3rem; }.cp-case-template-copy i { background: #dde5ec; border-radius: 1rem; height: .3rem; width: 100%; }.cp-case-template-copy i:last-child { width: 65%; }.cp-case-template-copy > span { color: var(--cp-blue-dark); font-size: .62rem; font-weight: 750; margin-top: 1rem; }

@media (max-width: 991.98px) { .cp-work-gallery { margin: 1rem auto 0; max-width: 34rem; } }
@media (max-width: 767.98px) { .cp-work-hero { padding: 4.25rem 0; }.cp-case-columns { grid-template-columns: 1fr; } }
@media (max-width: 575.98px) { .cp-work-gallery { min-height: 24rem; }.cp-case-visual { min-height: 18rem; }.cp-method-grid { grid-template-columns: 1fr; } }

/* About page */
.cp-about-hero { background: linear-gradient(140deg,#f8fbff,#eef5ff 52%,#eefbf8); padding: clamp(4.5rem,8vw,7.5rem) 0; }.cp-about-hero::before { background-image: radial-gradient(rgba(39,110,241,.12) 1px,transparent 1px); background-size: 22px 22px; content: ""; inset: 0; mask-image: linear-gradient(to right,#000,transparent 53%); opacity: .7; position: absolute; }
.cp-about-visual { min-height: 28rem; position: relative; }.cp-about-core { align-items: center; background: linear-gradient(135deg,var(--cp-blue-dark),#154d75); border: 5px solid #fff; border-radius: 50%; box-shadow: 0 22px 50px rgba(16,50,80,.2); color: #fff; display: flex; flex-direction: column; height: 10.5rem; justify-content: center; left: 50%; position: absolute; top: 50%; transform: translate(-50%,-50%); width: 10.5rem; z-index: 3; }.cp-about-core > span { align-items: center; background: rgba(255,255,255,.14); border-radius: .45rem; display: flex; font-size: .65rem; font-weight: 850; height: 2rem; justify-content: center; margin-bottom: .45rem; width: 2rem; }.cp-about-core strong { font-size: .72rem; }.cp-about-core small { color: #bcd3e8; font-size: .5rem; }.cp-about-board,.cp-about-members { background: #fff; border: 1px solid #d2dfe8; border-radius: .8rem; box-shadow: 0 14px 30px rgba(16,50,80,.13); display: flex; flex-wrap: wrap; gap: .35rem; padding: .9rem; position: absolute; width: 12rem; z-index: 2; }.cp-about-board { left: 0; top: 2rem; transform: rotate(-3deg); }.cp-about-members { bottom: 1.5rem; right: 0; transform: rotate(3deg); }.cp-about-board > span,.cp-about-members > span { color: var(--cp-blue); flex-basis: 100%; font-size: .48rem; font-weight: 850; letter-spacing: .1em; }.cp-about-board i,.cp-about-members i { background: #e5efff; border-radius: 50%; height: 1.8rem; width: 1.8rem; }.cp-about-board strong,.cp-about-members strong { color: var(--cp-navy); flex-basis: 100%; font-size: .62rem; margin-top: .3rem; }.cp-about-connection { border: 1px dashed #a8bbcc; border-radius: 50%; height: 21rem; left: 50%; position: absolute; top: 50%; transform: translate(-50%,-50%); width: 21rem; }.cp-about-connection i { background: var(--cp-teal); border: 3px solid #f3f8fc; border-radius: 50%; height: .85rem; position: absolute; width: .85rem; }.cp-about-connection i:nth-child(1) { left: 2rem; top: 2rem; }.cp-about-connection i:nth-child(2) { right: -.4rem; top: 10rem; }.cp-about-connection i:nth-child(3) { bottom: .5rem; left: 7rem; }.cp-about-support { align-items: center; background: rgba(255,255,255,.97); border: 1px solid #d2dfe8; border-radius: .7rem; bottom: 0; box-shadow: 0 13px 28px rgba(16,50,80,.14); display: flex; gap: .6rem; left: 4rem; padding: .6rem .75rem; position: absolute; z-index: 4; }.cp-about-support > span { align-items: center; background: #ddf8f4; border-radius: 50%; color: #078f83; display: flex; font-size: .65rem; font-weight: 900; height: 1.8rem; justify-content: center; width: 1.8rem; }.cp-about-support div { display: flex; flex-direction: column; }.cp-about-support b { color: var(--cp-navy); font-size: .62rem; }.cp-about-support small { color: var(--cp-muted); font-size: .5rem; }
.cp-about-mission { background: #fff; }.cp-about-statement { color: var(--cp-navy); font-size: clamp(1.25rem,2.4vw,1.75rem); font-weight: 600; letter-spacing: -.025em; line-height: 1.4; }
.cp-about-belief { background: var(--cp-soft); }.cp-belief-card { background: #fff; border: 1px solid var(--cp-line); border-radius: 1rem; padding: 1.5rem; transition: box-shadow .25s ease,transform .25s ease; }.cp-belief-card:hover { box-shadow: 0 18px 35px rgba(18,54,84,.09); transform: translateY(-4px); }.cp-belief-card > span { color: var(--cp-blue); font-size: .6rem; font-weight: 850; }.cp-belief-card h3 { color: var(--cp-navy); font-size: 1rem; margin: .65rem 0 .4rem; }.cp-belief-card p { color: var(--cp-muted); font-size: .76rem; margin: 0; }
.cp-about-focus { background: linear-gradient(135deg,var(--cp-navy-deep),#113f6a); }.cp-focus-grid { display: grid; gap: .8rem; grid-template-columns: repeat(2,1fr); }.cp-focus-grid article { background: rgba(255,255,255,.075); border: 1px solid rgba(255,255,255,.12); border-radius: .8rem; padding: 1rem; }.cp-focus-grid span { color: #64dfd1; font-size: .8rem; font-weight: 850; }.cp-focus-grid h3 { color: #fff; font-size: .86rem; margin: .4rem 0 .2rem; }.cp-focus-grid p { color: #b8cad9; font-size: .7rem; margin: 0; }
.cp-about-approach { background: #fff; scroll-margin-top: 1rem; }.cp-approach-flow { align-items: stretch; display: flex; gap: .6rem; }.cp-approach-flow article { background: var(--cp-soft); border: 1px solid var(--cp-line); border-radius: .8rem; display: flex; flex: 1; gap: .6rem; padding: 1rem; }.cp-approach-flow article > span { align-items: center; background: #e6efff; border-radius: 50%; color: var(--cp-blue); display: flex; flex: 0 0 auto; font-size: .58rem; font-weight: 850; height: 2rem; justify-content: center; width: 2rem; }.cp-approach-flow article > div { display: flex; flex-direction: column; }.cp-approach-flow small { color: var(--cp-blue); font-size: .48rem; font-weight: 850; letter-spacing: .08em; }.cp-approach-flow h3 { color: var(--cp-navy); font-size: .8rem; margin: .3rem 0 .2rem; }.cp-approach-flow p { color: var(--cp-muted); font-size: .65rem; margin: 0; }.cp-approach-flow > i { align-self: center; color: var(--cp-teal); font-style: normal; }
.cp-about-promises { background: var(--cp-soft); }.cp-promise-board { background: #fff; border: 1px solid var(--cp-line); border-radius: 1rem; box-shadow: 0 18px 38px rgba(18,54,84,.09); overflow: hidden; }.cp-promise-head { background: var(--cp-navy); display: flex; flex-direction: column; padding: 1rem 1.2rem; }.cp-promise-head span { color: #64dfd1; font-size: .48rem; font-weight: 850; letter-spacing: .1em; }.cp-promise-head strong { color: #fff; font-size: .85rem; }.cp-promise-line { align-items: center; border-bottom: 1px solid var(--cp-line); display: grid; gap: .7rem; grid-template-columns: 5rem 1fr auto; padding: .75rem 1.2rem; }.cp-promise-line:last-child { border: 0; }.cp-promise-line span { color: var(--cp-navy); font-size: .7rem; font-weight: 700; }.cp-promise-line i { border-top: 1px dashed #bfccd6; }.cp-promise-line b { color: #078f83; font-size: .65rem; }
.cp-about-services { background: #fff; }.cp-about-independence { background: #fff; padding-top: 0; }.cp-independence-panel { background: linear-gradient(135deg,var(--cp-navy-deep),#125769); border-radius: 1.2rem; padding: clamp(2rem,5vw,4rem); }.cp-independence-check { display: grid; gap: .05rem .6rem; grid-template-columns: 1.8rem 1fr; padding: .5rem 0; }.cp-independence-check > span { align-items: center; background: rgba(100,223,209,.14); border-radius: 50%; color: #64dfd1; display: flex; grid-row: span 2; height: 1.8rem; justify-content: center; width: 1.8rem; }.cp-independence-check strong { color: #fff; font-size: .72rem; }.cp-independence-check small { color: #b8cad9; font-size: .58rem; }

@media (max-width: 991.98px) { .cp-about-visual { margin: 1rem auto 0; max-width: 34rem; }.cp-approach-flow { flex-direction: column; }.cp-approach-flow > i { transform: rotate(90deg); } }
@media (max-width: 767.98px) { .cp-about-hero { padding: 4.25rem 0; } }
@media (max-width: 575.98px) { .cp-about-visual { min-height: 24rem; }.cp-about-core { height: 8rem; width: 8rem; }.cp-about-board,.cp-about-members { width: 9.5rem; }.cp-about-connection { height: 18rem; width: 18rem; }.cp-focus-grid { grid-template-columns: 1fr; } }

/* Resources hub */
.cp-resources-hero { background: linear-gradient(140deg,#f8fbff,#eef5ff 52%,#eefbf8); padding: clamp(4.5rem,8vw,7.5rem) 0; }.cp-resources-hero::before { background-image: radial-gradient(rgba(39,110,241,.12) 1px,transparent 1px); background-size: 22px 22px; content: ""; inset: 0; mask-image: linear-gradient(to right,#000,transparent 53%); opacity: .7; position: absolute; }
.cp-resource-visual { min-height: 28rem; position: relative; }.cp-resource-document { background: #fff; border: 1px solid #d1dde6; border-radius: .8rem; box-shadow: 0 20px 45px rgba(16,50,80,.15); display: flex; flex-direction: column; padding: 1.5rem; position: absolute; }.cp-resource-document-main { min-height: 21rem; right: 1rem; top: 1rem; transform: rotate(3deg); width: 68%; z-index: 2; }.cp-resource-document-back { left: 0; min-height: 18rem; top: 3rem; transform: rotate(-6deg); width: 58%; }.cp-resource-document > span { color: var(--cp-blue); font-size: .48rem; font-weight: 850; letter-spacing: .1em; }.cp-resource-document > strong { color: var(--cp-navy); font-size: 1.3rem; line-height: 1.2; margin: .65rem 0 1.2rem; }.cp-resource-document > i { background: #dfe6ec; border-radius: 1rem; height: .35rem; margin: .3rem 0; }.cp-resource-document > i:nth-of-type(2) { width: 82%; }.cp-resource-document > i:nth-of-type(3) { width: 65%; }.cp-resource-document > div { border-top: 1px solid var(--cp-line); color: var(--cp-muted); font-size: .6rem; margin-top: auto; padding: .45rem 0; }.cp-resource-document > div + div { margin-top: 0; }.cp-resource-document b { color: var(--cp-teal); margin-right: .3rem; }.cp-resource-bookmark { align-items: center; background: rgba(255,255,255,.97); border: 1px solid #d2dfe8; border-radius: .7rem; bottom: 0; box-shadow: 0 13px 28px rgba(16,50,80,.14); display: flex; gap: .6rem; left: 2rem; padding: .65rem .8rem; position: absolute; z-index: 3; }.cp-resource-bookmark > span { align-items: center; background: #ddf8f4; border-radius: 50%; color: #078f83; display: flex; font-weight: 900; height: 1.9rem; justify-content: center; width: 1.9rem; }.cp-resource-bookmark div { display: flex; flex-direction: column; }.cp-resource-bookmark b { color: var(--cp-navy); font-size: .64rem; }.cp-resource-bookmark small { color: var(--cp-muted); font-size: .5rem; }
.cp-resource-paths { background: #fff; }.cp-resource-path { border: 1px solid var(--cp-line); border-radius: 1rem; display: flex; flex-direction: column; padding: 1.5rem; transition: box-shadow .25s ease,transform .25s ease; }.cp-resource-path:hover { box-shadow: 0 18px 35px rgba(18,54,84,.09); transform: translateY(-4px); }.cp-resource-path > span { color: var(--cp-blue); font-size: .5rem; font-weight: 850; letter-spacing: .09em; margin-top: 1rem; }.cp-resource-path h3 { color: var(--cp-navy); font-size: 1.05rem; margin: .4rem 0; }.cp-resource-path p { color: var(--cp-muted); flex-grow: 1; font-size: .76rem; }.cp-resource-path a { color: var(--cp-blue-dark); font-size: .68rem; font-weight: 750; text-decoration: none; }.cp-resource-path a:hover { text-decoration: underline; }.cp-resource-path > small { color: #8797a5; font-size: .62rem; font-style: italic; }
.cp-quick-checklist { background: linear-gradient(135deg,var(--cp-navy-deep),#113f6a); scroll-margin-top: 1rem; }.cp-checklist-board { background: #fff; border-radius: 1rem; box-shadow: 0 22px 50px rgba(0,0,0,.2); overflow: hidden; }.cp-checklist-group { padding: .8rem 1.3rem; }.cp-checklist-group + .cp-checklist-group { border-top: 1px solid var(--cp-line); }.cp-checklist-group > span { color: var(--cp-blue); font-size: .48rem; font-weight: 850; letter-spacing: .1em; }.cp-checklist-group label { align-items: flex-start; display: flex; gap: .65rem; padding: .55rem 0; }.cp-checklist-group label > i { align-items: center; border: 1px solid #b9c9d6; border-radius: .3rem; color: #8293a1; display: flex; flex: 0 0 auto; font-size: .5rem; font-style: normal; height: 1.4rem; justify-content: center; width: 1.4rem; }.cp-checklist-group label > strong { color: #455d72; font-size: .7rem; font-weight: 600; }
.cp-resource-guides { background: var(--cp-soft); }.cp-guide-card { position: relative; }.cp-guide-status { background: var(--cp-navy); border-radius: 2rem; color: #fff; font-size: .46rem; font-weight: 850; letter-spacing: .08em; padding: .3rem .5rem; position: absolute; right: .7rem; top: .7rem; z-index: 2; }.cp-guide-cover { border-radius: .8rem; box-shadow: 0 14px 28px rgba(18,54,84,.13); color: #fff; display: flex; flex-direction: column; min-height: 15rem; padding: 1.5rem; }.cp-guide-cover-blue { background: linear-gradient(145deg,#174d86,#2873da); }.cp-guide-cover-teal { background: linear-gradient(145deg,#075260,#0fa392); }.cp-guide-cover-violet { background: linear-gradient(145deg,#433592,#7657e8); }.cp-guide-cover small { color: rgba(255,255,255,.72); font-size: .48rem; font-weight: 850; letter-spacing: .1em; }.cp-guide-cover strong { font-size: 1.3rem; line-height: 1.2; margin: .7rem 0 1.2rem; max-width: 12rem; }.cp-guide-cover i { background: rgba(255,255,255,.25); border-radius: 1rem; height: .35rem; margin: .3rem 0; }.cp-guide-cover i:nth-of-type(2) { width: 82%; }.cp-guide-cover i:nth-of-type(3) { width: 60%; }.cp-guide-card > h3 { color: var(--cp-navy); font-size: .78rem; line-height: 1.5; margin: 1rem .4rem 0; }
.cp-board-handover { background: #fff; scroll-margin-top: 1rem; }.cp-handover-columns { display: grid; gap: 1.5rem; grid-template-columns: repeat(2,1fr); }.cp-handover-columns ol { padding-left: 1.3rem; }.cp-handover-columns li { border-bottom: 1px solid var(--cp-line); color: var(--cp-muted); font-size: .68rem; padding: .45rem 0; }.cp-handover-columns li::marker { color: var(--cp-blue); font-weight: 850; }.cp-handover-card { background: var(--cp-soft); border: 1px solid var(--cp-line); border-radius: 1rem; box-shadow: 0 18px 38px rgba(18,54,84,.09); overflow: hidden; }.cp-handover-card-head { background: var(--cp-navy); display: flex; flex-direction: column; padding: 1rem 1.2rem; }.cp-handover-card-head span { color: #64dfd1; font-size: .48rem; font-weight: 850; letter-spacing: .1em; }.cp-handover-card-head strong { color: #fff; font-size: .85rem; }.cp-handover-card > div:not(.cp-handover-card-head) { align-items: center; border-bottom: 1px solid var(--cp-line); display: flex; justify-content: space-between; padding: .65rem 1.2rem; }.cp-handover-card > div:not(.cp-handover-card-head) span { color: var(--cp-navy); font-size: .68rem; }.cp-handover-card > div:not(.cp-handover-card-head) b { color: #078f83; font-size: .62rem; }.cp-handover-card footer { background: #e2f6f3; color: #26776f; font-size: .65rem; font-weight: 700; padding: .8rem 1.2rem; }.cp-handover-card footer span { color: var(--cp-teal); margin-right: .4rem; }
.cp-article-roadmap { background: var(--cp-soft); }.cp-topic-card { align-items: center; background: #fff; border: 1px solid var(--cp-line); border-radius: .7rem; display: grid; gap: .6rem; grid-template-columns: 5.5rem 1fr; min-height: 5rem; padding: .8rem 1rem; }.cp-topic-card > span { color: var(--cp-blue); font-size: .48rem; font-weight: 850; letter-spacing: .08em; }.cp-topic-card h3 { color: var(--cp-navy); font-size: .78rem; margin: 0; }.cp-resource-review { background: #fff; }.cp-resource-review-panel { background: linear-gradient(135deg,var(--cp-navy-deep),#125769); border-radius: 1.2rem; padding: clamp(2rem,5vw,4rem); }

@media (max-width: 991.98px) { .cp-resource-visual { margin: 1rem auto 0; max-width: 34rem; } }
@media (max-width: 767.98px) { .cp-resources-hero { padding: 4.25rem 0; }.cp-handover-columns { grid-template-columns: 1fr; } }
@media (max-width: 575.98px) { .cp-resource-visual { min-height: 24rem; }.cp-topic-card { grid-template-columns: 1fr; } }

/* Website review landing page */
.cp-review-hero { background: linear-gradient(140deg,#f8fbff,#eef5ff 52%,#eefbf8); padding: clamp(4.5rem,8vw,7rem) 0; scroll-margin-top: 1rem; }.cp-review-hero::before { background-image: radial-gradient(rgba(39,110,241,.12) 1px,transparent 1px); background-size: 22px 22px; content: ""; inset: 0; mask-image: linear-gradient(to right,#000,transparent 55%); opacity: .7; position: absolute; }.cp-review-hero-list li { color: #455d72; font-size: .82rem; font-weight: 650; padding: .3rem 0; }.cp-review-hero-list span { color: var(--cp-teal); font-weight: 900; margin-right: .4rem; }
.cp-review-form-card { background: #fff; border: 1px solid #d2dfe8; border-radius: 1.1rem; box-shadow: 0 24px 55px rgba(16,50,80,.16); overflow: hidden; }.cp-review-form-head { background: var(--cp-navy); color: #fff; padding: 1.3rem 1.5rem; }.cp-review-form-head > span { color: #64dfd1; font-size: .5rem; font-weight: 850; letter-spacing: .1em; }.cp-review-form-head h2 { color: #fff; font-size: 1.15rem; margin: .45rem 0 .2rem; }.cp-review-form-head p { color: #bdd0df; font-size: .7rem; margin: 0; }.cp-review-form { padding: 1.3rem 1.5rem; }.cp-review-form .form-label { color: var(--cp-navy); font-size: .65rem; font-weight: 700; margin-bottom: .3rem; }.cp-review-form .form-label span { color: #b43d4a; }.cp-review-form .form-control,.cp-review-form .form-select { border-color: #cbd8e2; border-radius: .5rem; color: var(--cp-ink); font-size: .75rem; min-height: 2.7rem; }.cp-review-form textarea.form-control { min-height: auto; }.cp-review-form .form-control:focus,.cp-review-form .form-select:focus,.cp-review-form .form-check-input:focus { border-color: var(--cp-blue); box-shadow: 0 0 0 .2rem rgba(39,110,241,.15); }.cp-review-form .form-check-label { color: var(--cp-muted); font-size: .6rem; }.cp-review-form-note { background: var(--cp-soft); border-top: 1px solid var(--cp-line); color: #718397; font-size: .55rem; padding: .7rem 1.5rem; }
.cp-review-value { background: #fff; }.cp-review-outcomes { background: var(--cp-soft); border: 1px solid var(--cp-line); border-radius: 1rem; padding: 1rem 1.4rem; }.cp-review-outcomes article { align-items: flex-start; border-bottom: 1px solid var(--cp-line); display: flex; gap: .8rem; padding: 1rem 0; }.cp-review-outcomes article:last-child { border: 0; }.cp-review-outcomes article > span { color: var(--cp-blue); font-size: .62rem; font-weight: 850; }.cp-review-outcomes h3 { color: var(--cp-navy); font-size: .9rem; margin: 0 0 .2rem; }.cp-review-outcomes p { color: var(--cp-muted); font-size: .76rem; margin: 0; }
.cp-review-areas { background: var(--cp-soft); }.cp-review-area { background: #fff; border: 1px solid var(--cp-line); border-radius: 1rem; padding: 1.4rem; }.cp-review-area > span { align-items: center; background: #e6efff; border-radius: .6rem; color: var(--cp-blue); display: flex; font-size: .75rem; font-weight: 850; height: 2.5rem; justify-content: center; width: 2.5rem; }.cp-review-area h3 { color: var(--cp-navy); font-size: .95rem; margin: .85rem 0 .35rem; }.cp-review-area p { color: var(--cp-muted); font-size: .7rem; margin: 0; }
.cp-review-deliverable { background: linear-gradient(135deg,var(--cp-navy-deep),#113f6a); }.cp-review-report { background: #fff; border-radius: 1rem; box-shadow: 0 22px 50px rgba(0,0,0,.2); overflow: hidden; transform: rotate(-1deg); }.cp-report-cover { background: linear-gradient(135deg,#e6efff,#e2f8f5); display: flex; flex-direction: column; padding: 1.3rem; }.cp-report-cover > span { color: var(--cp-blue); font-size: .48rem; font-weight: 850; letter-spacing: .1em; }.cp-report-cover strong { color: var(--cp-navy); font-size: 1.1rem; margin: .45rem 0 .15rem; }.cp-report-cover small { color: var(--cp-muted); font-size: .55rem; }.cp-report-score { align-items: center; border-top: 1px solid var(--cp-line); display: flex; gap: .7rem; padding: .8rem 1.3rem; }.cp-report-score > span { align-items: center; background: #e6efff; border-radius: 50%; color: var(--cp-blue); display: flex; flex: 0 0 auto; font-size: .58rem; font-weight: 850; height: 2rem; justify-content: center; width: 2rem; }.cp-report-score div { display: flex; flex-direction: column; }.cp-report-score strong { color: var(--cp-navy); font-size: .7rem; }.cp-report-score small { color: var(--cp-muted); font-size: .55rem; }.cp-review-report footer { background: var(--cp-navy); color: #fff; font-size: .62rem; padding: .8rem 1.3rem; }.cp-review-report footer span { color: #64dfd1; margin-right: .4rem; }
.cp-review-fit { background: #fff; }.cp-fit-list { border: 1px solid var(--cp-line); border-radius: 1rem; padding: 1.5rem; }.cp-fit-list-good { background: #effaf8; border-color: #cae9e4; }.cp-fit-list-limit { background: var(--cp-soft); }.cp-fit-list > span { color: #078f83; font-size: .5rem; font-weight: 850; letter-spacing: .1em; }.cp-fit-list-limit > span { color: #718397; }.cp-fit-list h3 { color: var(--cp-navy); font-size: 1rem; margin: .6rem 0; }.cp-fit-list li { border-top: 1px solid rgba(80,110,130,.13); color: var(--cp-muted); font-size: .7rem; padding: .5rem 0; }.cp-fit-list-good li::before { color: var(--cp-teal); content: "✓"; font-weight: 900; margin-right: .4rem; }.cp-fit-list-limit li::before { color: #8797a5; content: "–"; margin-right: .4rem; }
.cp-review-process { background: var(--cp-soft); }.cp-review-process-flow { align-items: stretch; display: flex; gap: .6rem; }.cp-review-process-flow article { background: #fff; border: 1px solid var(--cp-line); border-radius: .75rem; display: flex; flex: 1; flex-direction: column; padding: 1rem; }.cp-review-process-flow article > span { color: var(--cp-blue); font-size: .58rem; font-weight: 850; }.cp-review-process-flow strong { color: var(--cp-navy); font-size: .8rem; margin: .4rem 0 .15rem; }.cp-review-process-flow small { color: var(--cp-muted); font-size: .6rem; }.cp-review-process-flow > i { align-self: center; color: var(--cp-teal); font-style: normal; }.cp-review-privacy { background: #fff; }.cp-review-privacy-panel { background: linear-gradient(135deg,#eef5ff,#eefbf8); border: 1px solid #d6e5eb; border-radius: 1.2rem; padding: clamp(2rem,5vw,4rem); }.cp-review-faq { background: var(--cp-soft); }

@media (max-width: 991.98px) { .cp-review-form-card { margin-top: 1rem; }.cp-review-process-flow { flex-direction: column; }.cp-review-process-flow > i { transform: rotate(90deg); } }
@media (max-width: 767.98px) { .cp-review-hero { padding: 4.25rem 0; } }

/* FAQ page */
.cp-faq-hero { background: linear-gradient(140deg,#f8fbff,#eef5ff 52%,#eefbf8); padding: clamp(4.5rem,8vw,7rem) 0 clamp(3.5rem,6vw,5rem); }.cp-faq-hero::before { background-image: radial-gradient(rgba(39,110,241,.12) 1px,transparent 1px); background-size: 22px 22px; content: ""; inset: 0; mask-image: linear-gradient(to bottom,#000,transparent 82%); opacity: .7; position: absolute; }.cp-faq-topics { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; margin-top: 3rem; }.cp-faq-topics span { background: rgba(255,255,255,.8); border: 1px solid #cedbe5; border-radius: 2rem; color: #526a7d; font-size: .6rem; font-weight: 700; padding: .4rem .65rem; }
.cp-faq-content { background: #fff; scroll-margin-top: 1rem; }.cp-faq-nav { background: var(--cp-soft); border: 1px solid var(--cp-line); border-radius: 1rem; display: flex; flex-direction: column; overflow: hidden; top: 2rem; }.cp-faq-nav > span { color: #8192a2; font-size: .5rem; font-weight: 850; letter-spacing: .1em; padding: 1rem 1.2rem .6rem; }.cp-faq-nav > a { border-top: 1px solid var(--cp-line); color: #455d72; font-size: .7rem; font-weight: 650; padding: .7rem 1.2rem; text-decoration: none; }.cp-faq-nav > a:hover { background: #fff; color: var(--cp-blue); }.cp-faq-nav > div { background: var(--cp-navy); display: flex; flex-direction: column; padding: 1.2rem; }.cp-faq-nav > div strong { color: #fff; font-size: .82rem; }.cp-faq-nav > div p { color: #b8cad9; font-size: .65rem; }.cp-faq-nav > div .btn { align-self: flex-start; font-size: .65rem; padding: .5rem .75rem; }
.cp-faq-group { margin-bottom: 4rem; scroll-margin-top: 1.5rem; }.cp-faq-group:last-child { margin-bottom: 0; }.cp-faq-group-head { align-items: center; border-bottom: 2px solid var(--cp-navy); display: flex; gap: .8rem; padding-bottom: .8rem; }.cp-faq-group-head > span { align-items: center; background: #e6efff; border-radius: 50%; color: var(--cp-blue); display: flex; flex: 0 0 auto; font-size: .62rem; font-weight: 850; height: 2.5rem; justify-content: center; width: 2.5rem; }.cp-faq-group-head > div { display: flex; flex-direction: column; }.cp-faq-group-head small { color: var(--cp-blue); font-size: .48rem; font-weight: 850; letter-spacing: .1em; }.cp-faq-group-head h2 { color: var(--cp-navy); font-size: 1.25rem; margin: .15rem 0 0; }.cp-faq-group .cp-accordion .accordion-body a { color: var(--cp-blue-dark); font-weight: 700; }
.cp-faq-summary { background: #fff; padding-top: 0; }.cp-faq-summary-panel { background: linear-gradient(135deg,var(--cp-navy-deep),#125769); border-radius: 1.2rem; padding: clamp(2rem,5vw,4rem); }

@media (max-width: 991.98px) { .cp-faq-nav { position: static !important; } }
@media (max-width: 767.98px) { .cp-faq-hero { padding: 4.25rem 0 3.5rem; }.cp-faq-group { margin-bottom: 3rem; } }

/* Contact page */
.cp-contact-hero { background: linear-gradient(140deg,#f8fbff,#eef5ff 52%,#eefbf8); padding: clamp(4.5rem,8vw,7rem) 0; }.cp-contact-hero::before { background-image: radial-gradient(rgba(39,110,241,.12) 1px,transparent 1px); background-size: 22px 22px; content: ""; inset: 0; mask-image: linear-gradient(to right,#000,transparent 55%); opacity: .7; position: absolute; }.cp-contact-expectations { border-bottom: 1px solid #cedae4; border-top: 1px solid #cedae4; padding: .5rem 0; }.cp-contact-expectations article { align-items: center; display: flex; gap: .65rem; padding: .55rem 0; }.cp-contact-expectations article > span { align-items: center; background: #e6efff; border-radius: 50%; color: var(--cp-blue); display: flex; flex: 0 0 auto; font-size: .58rem; font-weight: 850; height: 2rem; justify-content: center; width: 2rem; }.cp-contact-expectations article > div { display: flex; flex-direction: column; }.cp-contact-expectations strong { color: var(--cp-navy); font-size: .72rem; }.cp-contact-expectations small { color: var(--cp-muted); font-size: .57rem; }.cp-contact-security { align-items: flex-start; background: #fff5df; border: 1px solid #efd9ab; border-radius: .65rem; display: flex; gap: .6rem; padding: .75rem; }.cp-contact-security > span { color: #a26b12; font-size: .8rem; }.cp-contact-security p { color: #705d3e; font-size: .62rem; }.cp-contact-security strong { color: #59441f; }
.cp-contact-form-card { background: #fff; border: 1px solid #d2dfe8; border-radius: 1.1rem; box-shadow: 0 24px 55px rgba(16,50,80,.16); overflow: hidden; scroll-margin-top: 1rem; }.cp-contact-form-head { background: var(--cp-navy); color: #fff; padding: 1.3rem 1.5rem; }.cp-contact-form-head > span { color: #64dfd1; font-size: .5rem; font-weight: 850; letter-spacing: .1em; }.cp-contact-form-head h2 { color: #fff; font-size: 1.15rem; margin: .45rem 0 .2rem; }.cp-contact-form-head p { color: #bdd0df; font-size: .7rem; margin: 0; }.cp-contact-form { padding: 1.3rem 1.5rem; }.cp-contact-form .form-label,.cp-contact-form legend { color: var(--cp-navy); font-size: .65rem; font-weight: 700; margin-bottom: .3rem; }.cp-contact-form legend { float: none; width: auto; }.cp-contact-form .form-label span,.cp-contact-form .form-check-label span { color: #b43d4a; }.cp-contact-form .form-control,.cp-contact-form .form-select { border-color: #cbd8e2; border-radius: .5rem; color: var(--cp-ink); font-size: .75rem; min-height: 2.7rem; }.cp-contact-form textarea.form-control { min-height: auto; }.cp-contact-form .form-control:focus,.cp-contact-form .form-select:focus,.cp-contact-form .form-check-input:focus { border-color: var(--cp-blue); box-shadow: 0 0 0 .2rem rgba(39,110,241,.15); }.cp-contact-form .form-check-label { color: var(--cp-muted); font-size: .62rem; }.cp-contact-checkboxes .form-check { background: var(--cp-soft); border: 1px solid var(--cp-line); border-radius: .45rem; padding: .5rem .6rem .5rem 1.9rem; }.cp-contact-form-note { background: var(--cp-soft); border-top: 1px solid var(--cp-line); color: #718397; font-size: .55rem; padding: .7rem 1.5rem; }.cp-contact-form-note a { color: var(--cp-blue-dark); }
.cp-contact-paths { background: #fff; }.cp-contact-path { border: 1px solid var(--cp-line); border-radius: 1rem; padding: 1.4rem; }.cp-contact-path > span { align-items: center; background: #e6efff; border-radius: .6rem; color: var(--cp-blue); display: flex; font-size: .75rem; font-weight: 850; height: 2.5rem; justify-content: center; width: 2.5rem; }.cp-contact-path h3 { color: var(--cp-navy); font-size: .95rem; margin: .85rem 0 .35rem; }.cp-contact-path p { color: var(--cp-muted); font-size: .7rem; }.cp-contact-path a { color: var(--cp-blue-dark); font-size: .65rem; font-weight: 750; text-decoration: none; }.cp-contact-path a:hover { text-decoration: underline; }
.cp-contact-next { background: linear-gradient(135deg,var(--cp-navy-deep),#113f6a); }.cp-contact-next-steps { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: 1rem; padding: .5rem 1.2rem; }.cp-contact-next-steps article { align-items: flex-start; border-bottom: 1px solid rgba(255,255,255,.12); display: flex; gap: .7rem; padding: .85rem 0; }.cp-contact-next-steps article:last-child { border: 0; }.cp-contact-next-steps article > span { color: #64dfd1; font-size: .62rem; font-weight: 850; }.cp-contact-next-steps h3 { color: #fff; font-size: .85rem; margin: 0 0 .2rem; }.cp-contact-next-steps p { color: #b8cad9; font-size: .7rem; margin: 0; }
.cp-contact-prepare { background: #fff; }.cp-contact-brief { background: var(--cp-soft); border: 1px solid var(--cp-line); border-radius: 1rem; box-shadow: 0 18px 38px rgba(18,54,84,.08); overflow: hidden; }.cp-contact-brief-head { background: var(--cp-navy); display: flex; flex-direction: column; padding: 1rem 1.2rem; }.cp-contact-brief-head span { color: #64dfd1; font-size: .48rem; font-weight: 850; letter-spacing: .1em; }.cp-contact-brief-head strong { color: #fff; font-size: .82rem; }.cp-contact-brief blockquote { color: #405b70; font-size: .8rem; font-style: italic; line-height: 1.65; margin: 0; padding: 1.5rem; }.cp-contact-brief footer { align-items: center; background: #e4f6f3; display: flex; gap: .6rem; padding: .8rem 1.2rem; }.cp-contact-brief footer > span { align-items: center; background: #fff; border-radius: 50%; color: var(--cp-teal); display: flex; font-weight: 900; height: 1.8rem; justify-content: center; width: 1.8rem; }.cp-contact-brief footer > div { display: flex; flex-direction: column; }.cp-contact-brief footer strong { color: #226a63; font-size: .65rem; }.cp-contact-brief footer small { color: #54837e; font-size: .52rem; }.cp-contact-faq { background: var(--cp-soft); }

@media (max-width: 991.98px) { .cp-contact-form-card { margin-top: 1rem; } }
@media (max-width: 767.98px) { .cp-contact-hero { padding: 4.25rem 0; } }

/* Consultation booking page */
.cp-book-hero { background: linear-gradient(140deg,#f8fbff,#eef5ff 52%,#eefbf8); padding: clamp(4.5rem,8vw,7rem) 0; }.cp-book-hero::before { background-image: radial-gradient(rgba(39,110,241,.12) 1px,transparent 1px); background-size: 22px 22px; content: ""; inset: 0; mask-image: linear-gradient(to right,#000,transparent 55%); opacity: .7; position: absolute; }.cp-call-details { border-bottom: 1px solid #cedae4; border-top: 1px solid #cedae4; padding: .5rem 0; }.cp-call-details article { align-items: center; display: flex; gap: .65rem; padding: .55rem 0; }.cp-call-details article > span { align-items: center; background: #e6efff; border-radius: 50%; color: var(--cp-blue); display: flex; flex: 0 0 auto; font-size: .7rem; font-weight: 850; height: 2rem; justify-content: center; width: 2rem; }.cp-call-details article > div { display: flex; flex-direction: column; }.cp-call-details strong { color: var(--cp-navy); font-size: .72rem; }.cp-call-details small { color: var(--cp-muted); font-size: .57rem; }.cp-call-fit { background: #fff; border: 1px solid #d3e0e8; border-radius: .65rem; padding: .8rem 1rem; }.cp-call-fit > span { color: var(--cp-blue); font-size: .48rem; font-weight: 850; letter-spacing: .1em; }.cp-call-fit ul { display: grid; gap: .2rem .8rem; grid-template-columns: repeat(2,1fr); margin-top: .4rem; }.cp-call-fit li { color: var(--cp-muted); font-size: .6rem; }.cp-call-fit li::before { color: var(--cp-teal); content: "✓"; font-weight: 900; margin-right: .3rem; }
.cp-book-form-card { background: #fff; border: 1px solid #d2dfe8; border-radius: 1.1rem; box-shadow: 0 24px 55px rgba(16,50,80,.16); overflow: hidden; scroll-margin-top: 1rem; }.cp-book-form-head { background: var(--cp-navy); color: #fff; padding: 1.3rem 1.5rem; }.cp-book-form-head > span { color: #64dfd1; font-size: .5rem; font-weight: 850; letter-spacing: .1em; }.cp-book-form-head h2 { color: #fff; font-size: 1.15rem; margin: .45rem 0 .2rem; }.cp-book-form-head p { color: #bdd0df; font-size: .7rem; margin: 0; }.cp-book-form { padding: 1.3rem 1.5rem; }.cp-book-form .form-label { color: var(--cp-navy); font-size: .65rem; font-weight: 700; margin-bottom: .3rem; }.cp-book-form .form-label span,.cp-book-form .form-check-label span { color: #b43d4a; }.cp-book-form .form-control,.cp-book-form .form-select { border-color: #cbd8e2; border-radius: .5rem; color: var(--cp-ink); font-size: .75rem; min-height: 2.7rem; }.cp-book-form textarea.form-control { min-height: auto; }.cp-book-form .form-control:focus,.cp-book-form .form-select:focus,.cp-book-form .form-check-input:focus { border-color: var(--cp-blue); box-shadow: 0 0 0 .2rem rgba(39,110,241,.15); }.cp-book-form .form-check-label { color: var(--cp-muted); font-size: .6rem; }.cp-book-form-note { background: var(--cp-soft); border-top: 1px solid var(--cp-line); color: #718397; font-size: .55rem; padding: .7rem 1.5rem; }
.cp-call-purpose { background: #fff; }.cp-call-purpose-card { border: 1px solid var(--cp-line); border-radius: 1rem; padding: 1.4rem; }.cp-call-purpose-card > span { color: var(--cp-blue); font-size: .6rem; font-weight: 850; }.cp-call-purpose-card h3 { color: var(--cp-navy); font-size: .95rem; margin: .65rem 0 .35rem; }.cp-call-purpose-card p { color: var(--cp-muted); font-size: .7rem; margin: 0; }
.cp-call-agenda { background: var(--cp-soft); }.cp-agenda-list article { align-items: flex-start; border-top: 1px solid var(--cp-line); display: flex; gap: .7rem; padding: .7rem 0; }.cp-agenda-list article > span { color: var(--cp-blue); font-size: .58rem; font-weight: 850; }.cp-agenda-list article > div { display: flex; flex-direction: column; }.cp-agenda-list strong { color: var(--cp-navy); font-size: .75rem; }.cp-agenda-list small { color: var(--cp-muted); font-size: .6rem; }.cp-call-agenda-visual { background: #fff; border: 1px solid var(--cp-line); border-radius: 1rem; box-shadow: 0 18px 38px rgba(18,54,84,.09); overflow: hidden; transform: rotate(1deg); }.cp-agenda-head { background: var(--cp-navy); display: flex; flex-direction: column; padding: 1rem 1.2rem; }.cp-agenda-head span { color: #64dfd1; font-size: .48rem; font-weight: 850; letter-spacing: .1em; }.cp-agenda-head strong { color: #fff; font-size: .82rem; }.cp-agenda-row { align-items: center; border-bottom: 1px solid var(--cp-line); display: grid; gap: .7rem; grid-template-columns: 1.5rem 1fr auto; padding: .75rem 1.2rem; }.cp-agenda-row span { color: var(--cp-blue); font-size: .55rem; font-weight: 850; }.cp-agenda-row i { border-top: 1px dashed #bccbd6; }.cp-agenda-row b { color: var(--cp-navy); font-size: .68rem; }.cp-call-agenda-visual footer { background: #e4f6f3; color: #26776f; font-size: .62rem; padding: .75rem 1.2rem; }.cp-call-agenda-visual footer span { color: var(--cp-teal); margin-right: .35rem; }
.cp-call-fit-section { background: linear-gradient(135deg,var(--cp-navy-deep),#113f6a); }.cp-call-attendees { display: grid; gap: .8rem; }.cp-call-attendees article { background: rgba(255,255,255,.075); border: 1px solid rgba(255,255,255,.12); border-radius: .75rem; padding: 1rem; }.cp-call-attendees span { color: #64dfd1; font-size: .58rem; font-weight: 850; }.cp-call-attendees h3 { color: #fff; font-size: .85rem; margin: .35rem 0 .2rem; }.cp-call-attendees p { color: #b8cad9; font-size: .68rem; margin: 0; }
.cp-call-prepare { background: #fff; }.cp-call-prep-grid { display: grid; gap: .7rem; grid-template-columns: repeat(5,1fr); }.cp-call-prep-grid article { background: var(--cp-soft); border: 1px solid var(--cp-line); border-radius: .75rem; display: flex; flex-direction: column; padding: 1rem; }.cp-call-prep-grid span { color: var(--cp-blue); font-size: .58rem; font-weight: 850; }.cp-call-prep-grid strong { color: var(--cp-navy); font-size: .75rem; margin: .45rem 0 .2rem; }.cp-call-prep-grid small { color: var(--cp-muted); font-size: .58rem; }.cp-after-call { background: var(--cp-soft); }.cp-after-call-flow { position: relative; }.cp-after-call-flow > div { align-items: center; background: #fff; border: 1px solid var(--cp-line); border-radius: .65rem; display: flex; gap: .7rem; padding: .7rem .85rem; }.cp-after-call-flow > div > span { align-items: center; background: #e6efff; border-radius: 50%; color: var(--cp-blue); display: flex; flex: 0 0 auto; font-size: .58rem; font-weight: 850; height: 1.9rem; justify-content: center; width: 1.9rem; }.cp-after-call-flow > div > div { display: flex; flex-direction: column; }.cp-after-call-flow strong { color: var(--cp-navy); font-size: .72rem; }.cp-after-call-flow small { color: var(--cp-muted); font-size: .58rem; }.cp-after-call-flow > i { border-left: 1px dashed #aebfd0; display: block; height: .7rem; margin-left: 1.8rem; }.cp-book-faq { background: #fff; }

@media (max-width: 991.98px) { .cp-book-form-card { margin-top: 1rem; }.cp-call-prep-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 767.98px) { .cp-book-hero { padding: 4.25rem 0; } }
@media (max-width: 575.98px) { .cp-call-fit ul,.cp-call-prep-grid { grid-template-columns: 1fr; } }

/* Submission confirmation page */
.cp-thank-hero { background: linear-gradient(140deg,#f8fbff,#eef5ff 52%,#eefbf8); padding: clamp(5rem,10vw,8rem) 0; }.cp-thank-check { align-items: center; background: #ddf8f4; border: 6px solid #fff; border-radius: 50%; box-shadow: 0 18px 40px rgba(18,184,166,.2); display: flex; height: 5.5rem; justify-content: center; margin: 0 auto; width: 5.5rem; }.cp-thank-check span { color: #078f83; font-size: 2rem; font-weight: 900; }.cp-thank-confetti { inset: 0; pointer-events: none; position: absolute; }.cp-thank-confetti i { background: var(--cp-blue); border-radius: .2rem; height: .7rem; position: absolute; transform: rotate(25deg); width: .22rem; }.cp-thank-confetti i:nth-child(1) { left: 12%; top: 18%; }.cp-thank-confetti i:nth-child(2) { background: var(--cp-teal); left: 22%; top: 65%; transform: rotate(-30deg); }.cp-thank-confetti i:nth-child(3) { background: var(--cp-violet); left: 35%; top: 12%; }.cp-thank-confetti i:nth-child(4) { background: var(--cp-gold); left: 45%; top: 75%; }.cp-thank-confetti i:nth-child(5) { background: var(--cp-teal); right: 38%; top: 20%; }.cp-thank-confetti i:nth-child(6) { background: var(--cp-violet); right: 24%; top: 68%; transform: rotate(-25deg); }.cp-thank-confetti i:nth-child(7) { background: var(--cp-gold); right: 14%; top: 25%; }.cp-thank-confetti i:nth-child(8) { right: 8%; top: 72%; }
.cp-thank-next { background: #fff; }.cp-thank-flow { align-items: stretch; display: flex; gap: .7rem; }.cp-thank-flow article { background: var(--cp-soft); border: 1px solid var(--cp-line); border-radius: .8rem; display: flex; flex: 1; gap: .7rem; padding: 1rem; }.cp-thank-flow article > span { align-items: center; background: #e6efff; border-radius: 50%; color: var(--cp-blue); display: flex; flex: 0 0 auto; font-size: .58rem; font-weight: 850; height: 2rem; justify-content: center; width: 2rem; }.cp-thank-flow article > div { display: flex; flex-direction: column; }.cp-thank-flow strong { color: var(--cp-navy); font-size: .76rem; }.cp-thank-flow small { color: var(--cp-muted); font-size: .58rem; }.cp-thank-flow > i { align-self: center; color: var(--cp-teal); font-style: normal; }
.cp-thank-paths { background: var(--cp-soft); }.cp-thank-path { background: #fff; border: 1px solid var(--cp-line); border-radius: 1rem; display: flex; flex-direction: column; padding: 1.5rem; }.cp-thank-path > span { color: var(--cp-blue); font-size: .5rem; font-weight: 850; letter-spacing: .1em; margin-top: 1rem; }.cp-thank-path h3 { color: var(--cp-navy); font-size: 1rem; margin: .45rem 0; }.cp-thank-path p { color: var(--cp-muted); flex-grow: 1; font-size: .72rem; }.cp-thank-path a { color: var(--cp-blue-dark); font-size: .65rem; font-weight: 750; text-decoration: none; }.cp-thank-path a:hover { text-decoration: underline; }
.cp-thank-security { background: linear-gradient(135deg,var(--cp-navy-deep),#113f6a); }.cp-thank-shield { align-items: center; display: flex; flex-direction: column; justify-content: center; min-height: 20rem; }.cp-thank-shield > div { align-items: center; background: linear-gradient(145deg,var(--cp-teal),#087d73); border-radius: 48% 48% 55% 55% / 32% 32% 70% 70%; box-shadow: 0 20px 45px rgba(0,0,0,.2); display: flex; height: 9rem; justify-content: center; width: 8rem; }.cp-thank-shield > div span { align-items: center; border: 2px solid rgba(255,255,255,.75); border-radius: 50%; color: #fff; display: flex; font-size: 1.6rem; height: 3.5rem; justify-content: center; width: 3.5rem; }.cp-thank-shield > strong { color: #fff; font-size: .82rem; margin-top: 1rem; }.cp-thank-shield > small { color: #b8cad9; font-size: .56rem; }
.cp-thank-prepare { background: #fff; }.cp-thank-prep-card { background: var(--cp-soft); border: 1px solid var(--cp-line); border-radius: 1rem; box-shadow: 0 18px 38px rgba(18,54,84,.08); overflow: hidden; }.cp-thank-prep-head { background: var(--cp-navy); display: flex; flex-direction: column; padding: 1rem 1.2rem; }.cp-thank-prep-head span { color: #64dfd1; font-size: .48rem; font-weight: 850; letter-spacing: .1em; }.cp-thank-prep-head strong { color: #fff; font-size: .82rem; }.cp-thank-prep-card > div:not(.cp-thank-prep-head) { align-items: center; border-bottom: 1px solid var(--cp-line); display: flex; gap: .7rem; padding: .7rem 1.2rem; }.cp-thank-prep-card > div:not(.cp-thank-prep-head) span { color: var(--cp-blue); font-size: .58rem; font-weight: 850; }.cp-thank-prep-card > div:not(.cp-thank-prep-head) p { color: var(--cp-muted); font-size: .68rem; margin: 0; }.cp-thank-prep-card footer { background: #e4f6f3; color: #26776f; font-size: .62rem; padding: .75rem 1.2rem; }.cp-thank-prep-card footer span { color: var(--cp-teal); margin-right: .35rem; }.cp-thank-explore { background: var(--cp-soft); }.cp-thank-duplicate { background: #fff; }.cp-thank-duplicate-panel { background: linear-gradient(135deg,#eef5ff,#eefbf8); border: 1px solid #d6e5eb; border-radius: 1.2rem; padding: clamp(2rem,5vw,4rem); }

@media (max-width: 767.98px) { .cp-thank-hero { padding: 4.75rem 0; }.cp-thank-flow { flex-direction: column; }.cp-thank-flow > i { transform: rotate(90deg); } }

/* Legal and trust pages */
.cp-legal-hero { background: linear-gradient(140deg,#f8fbff,#eef5ff 52%,#eefbf8); padding: clamp(4.5rem,8vw,7rem) 0; }.cp-legal-date { color: #718397; font-size: .68rem; }.cp-legal-content { background: #fff; }.cp-legal-nav { background: var(--cp-soft); border: 1px solid var(--cp-line); border-radius: .9rem; display: flex; flex-direction: column; overflow: hidden; top: 2rem; }.cp-legal-nav > span { color: #8192a2; font-size: .48rem; font-weight: 850; letter-spacing: .1em; padding: .9rem 1rem .55rem; }.cp-legal-nav a { border-top: 1px solid var(--cp-line); color: #526a7d; font-size: .65rem; padding: .6rem 1rem; text-decoration: none; }.cp-legal-nav a:hover { background: #fff; color: var(--cp-blue); }.cp-legal-article > section { border-bottom: 1px solid var(--cp-line); padding: 0 0 2.2rem; scroll-margin-top: 1.5rem; }.cp-legal-article > section + section { padding-top: 2.2rem; }.cp-legal-article > section:last-child { border-bottom: 0; }.cp-legal-number { color: var(--cp-blue); font-size: .54rem; font-weight: 850; letter-spacing: .08em; }.cp-legal-article h2 { color: var(--cp-navy); font-size: 1.45rem; letter-spacing: -.025em; margin: .45rem 0 .8rem; }.cp-legal-article h3 { color: var(--cp-navy); font-size: .9rem; margin: 1.1rem 0 .4rem; }.cp-legal-article p,.cp-legal-article li { color: var(--cp-muted); font-size: .78rem; }.cp-legal-article li { margin-bottom: .35rem; }.cp-legal-article a { color: var(--cp-blue-dark); font-weight: 700; }.cp-legal-notice,.cp-legal-warning { align-items: flex-start; background: #eaf3ff; border: 1px solid #cdddf2; border-radius: .7rem; display: flex; gap: .7rem; margin-bottom: 2rem; padding: .9rem 1rem; }.cp-legal-warning { background: #fff5df; border-color: #efd9ab; }.cp-legal-notice > span,.cp-legal-warning > span { align-items: center; border: 1px solid #9bb9df; border-radius: 50%; color: var(--cp-blue-dark); display: flex; flex: 0 0 auto; font-size: .6rem; font-weight: 850; height: 1.4rem; justify-content: center; width: 1.4rem; }.cp-legal-warning > span { border-color: #d3a953; color: #94620f; }.cp-legal-notice p,.cp-legal-warning p { color: #526a7d; font-size: .68rem; margin: 0; }.cp-legal-warning p { color: #705d3e; }.cp-legal-action { background: var(--cp-soft); border-left: 3px solid var(--cp-violet); margin-top: 1rem; padding: .8rem 1rem; }.cp-legal-action strong { color: var(--cp-navy); font-size: .72rem; }.cp-legal-action p { margin: .25rem 0 0; }.cp-legal-table-wrap { border: 1px solid var(--cp-line); border-radius: .7rem; margin: 1rem 0; overflow: hidden; }.cp-legal-table { min-width: 650px; }.cp-legal-table thead th { background: var(--cp-navy); border: 0; color: #fff; font-size: .62rem; padding: .75rem .8rem; }.cp-legal-table tbody td { border-color: var(--cp-line); color: var(--cp-muted); font-size: .64rem; padding: .7rem .8rem; vertical-align: top; }.cp-legal-table tbody tr:nth-child(even) td { background: var(--cp-soft); }
.cp-cookie-categories { border-top: 1px solid var(--cp-line); }.cp-cookie-categories article { align-items: flex-start; border-bottom: 1px solid var(--cp-line); display: grid; gap: .7rem; grid-template-columns: 1.8rem 1fr auto; padding: .8rem 0; }.cp-cookie-categories article > span { align-items: center; background: #e6efff; border-radius: 50%; color: var(--cp-blue); display: flex; font-size: .55rem; font-weight: 850; height: 1.8rem; justify-content: center; width: 1.8rem; }.cp-cookie-categories h3 { font-size: .8rem; margin: 0; }.cp-cookie-categories p { font-size: .68rem; margin: .15rem 0 0; }.cp-cookie-categories small { background: var(--cp-soft); border-radius: 2rem; color: #718397; font-size: .5rem; padding: .3rem .45rem; }.cp-cookie-control { align-items: center; background: var(--cp-soft); border: 1px dashed #aebfcd; border-radius: .65rem; display: flex; gap: .7rem; margin-top: 1rem; padding: .8rem; }.cp-cookie-control > span { color: var(--cp-blue); }.cp-cookie-control strong { color: var(--cp-navy); font-size: .7rem; }.cp-cookie-control p { font-size: .62rem; margin: .1rem 0 0; }
.cp-accessibility-summary { background: #fff; }.cp-accessibility-target { align-items: center; background: linear-gradient(135deg,#eef5ff,#eefbf8); border: 1px solid #d6e5eb; border-radius: 1rem; display: flex; gap: 1rem; padding: 1.3rem; }.cp-accessibility-target > span { align-items: center; background: var(--cp-blue); border-radius: .7rem; color: #fff; display: flex; flex: 0 0 auto; font-size: 1.2rem; font-weight: 850; height: 3.5rem; justify-content: center; width: 3.5rem; }.cp-accessibility-target div { display: flex; flex-direction: column; }.cp-accessibility-target small { color: var(--cp-blue); font-size: .48rem; font-weight: 850; letter-spacing: .1em; }.cp-accessibility-target strong { color: var(--cp-navy); font-size: .95rem; }.cp-accessibility-target p { color: var(--cp-muted); font-size: .58rem; margin: .15rem 0 0; }.cp-access-assessment-grid { display: grid; gap: .7rem; grid-template-columns: repeat(3,1fr); margin-top: 1rem; }.cp-access-assessment-grid article { background: var(--cp-soft); border: 1px solid var(--cp-line); border-radius: .65rem; padding: .8rem; }.cp-access-assessment-grid span { color: var(--cp-blue); font-size: .55rem; font-weight: 850; }.cp-access-assessment-grid h3 { font-size: .75rem; margin: .4rem 0 .2rem; }.cp-access-assessment-grid p { font-size: .62rem; margin: 0; }

@media (max-width: 991.98px) { .cp-legal-nav { position: static !important; } }
@media (max-width: 767.98px) { .cp-legal-hero { padding: 4.25rem 0; }.cp-cookie-categories article { grid-template-columns: 1.8rem 1fr; }.cp-cookie-categories small { display: none; }.cp-access-assessment-grid { grid-template-columns: 1fr; } }

/* Recommended footer menus */
.cp-footer-menus { background: linear-gradient(145deg,var(--cp-navy-deep),#0d3151 68%,#0b4b55); color: #fff; padding: clamp(3rem,6vw,5rem) 0 1.5rem; }
.cp-footer-intro h2 { color: #fff; font-size: clamp(1.65rem,3vw,2.5rem); font-weight: 780; letter-spacing: -.04em; margin: .45rem 0 .55rem; }
.cp-footer-intro p { color: #b9ccdb; font-size: .95rem; margin: 0; max-width: 42rem; }
.cp-footer-kicker { color: #64dfd1; font-size: .68rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.cp-footer-actions { align-items: stretch; }
.cp-footer-btn { align-items: center; border: 1px solid transparent; border-radius: .6rem; display: inline-flex; font-size: .78rem; font-weight: 800; justify-content: center; min-height: 2.85rem; padding: .65rem 1rem; text-align: center; text-decoration: none; transition: background-color .2s ease,border-color .2s ease,transform .2s ease; }
.cp-footer-btn:hover,.cp-footer-btn:focus { transform: translateY(-2px); }
.cp-footer-btn-primary { background: var(--cp-blue); border-color: var(--cp-blue); color: #fff; }
.cp-footer-btn-primary:hover,.cp-footer-btn-primary:focus { background: #4b83f2; border-color: #4b83f2; color: #fff; }
.cp-footer-btn-outline { border-color: rgba(255,255,255,.35); color: #fff; }
.cp-footer-btn-outline:hover,.cp-footer-btn-outline:focus { background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.65); color: #fff; }
.cp-footer-rule { border-top: 1px solid rgba(255,255,255,.13); margin: clamp(2rem,4vw,3rem) 0; }
.cp-footer-heading { color: #fff; font-size: .76rem; font-weight: 800; letter-spacing: .025em; margin: 0 0 1rem; }
.cp-footer-links li + li { margin-top: .62rem; }
.cp-footer-links a { color: #b9ccdb; font-size: .7rem; line-height: 1.45; text-decoration: none; transition: color .2s ease,padding-left .2s ease; }
.cp-footer-links a:hover,.cp-footer-links a:focus { color: #fff; padding-left: .2rem; text-decoration: underline; text-decoration-color: var(--cp-teal); text-underline-offset: .22rem; }
.cp-footer-bottom { border-top: 1px solid rgba(255,255,255,.13); margin-top: clamp(2.5rem,5vw,4rem); padding-top: 1.35rem; }
.cp-footer-bottom p { color: #8fa8bb; font-size: .61rem; }

@media (max-width: 575.98px) { .cp-footer-menus { padding-top: 2.75rem; }.cp-footer-actions .cp-footer-btn { width: 100%; } }

@media (prefers-reduced-motion: reduce) {
  .cp-home *, .cp-home *::before, .cp-home *::after { scroll-behavior: auto !important; transition: none !important; }
}
