/* Copilot and Frontier: a shared, progressive story within CN's design system. */
.cf-page { --cf-navy:var(--color-deep-navy-ink); --cf-muted:#c6d9ea; }
.cf-page h1,.cf-page h2,.cf-page h3 { letter-spacing:-.025em; }
.cf-hero { background:var(--cf-navy); color:#fff; padding:clamp(2.5rem,5vw,4.5rem) 0 0; overflow:hidden; }
.cf-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.04fr); align-items:center; gap:clamp(2rem,4vw,4rem); }
.cf-hero-copy { padding:0 0 2.5rem; }
.cf-hero .eyebrow { color:#a9d9ff; margin-bottom:1.25rem; font-size:.8125rem; }
.cf-hero h1 { color:#fff; font-size:clamp(2.5rem,4.25vw,4rem); line-height:1.06; margin:0; max-width:17ch; font-weight:600; }
.cf-hero h1 em { color:#a9d9ff; font-style:normal; }
.cf-hero--frontier h1 { font-size:clamp(2.5rem,3.7vw,3.5rem); max-width:20ch; }
.cf-lead { margin:1.5rem 0; max-width:49ch; font-size:1.125rem; line-height:1.65; color:#d6e4f2; }
.cf-actions { display:flex; gap:1rem 1.5rem; flex-wrap:wrap; align-items:center; margin:1.75rem 0 0; }
.cf-text-link { color:#e4f2ff; font-size:.9375rem; font-weight:600; text-underline-offset:.3em; padding:.75rem 0; }
.cf-text-link:hover { color:#fff; }
.cf-hero-note { font-size:.8125rem; color:#c6d9ea; line-height:1.6; max-width:58ch; margin:1rem 0 0; }
.cf-hero-visual { margin:0 0 2.5rem; background:#fff; border-radius:4px; overflow:hidden; border:1px solid #758fa5; box-shadow:0 24px 55px #061b3045; }
.cf-hero-visual img { display:block; width:100%; height:clamp(16rem,24vw,24rem); object-fit:cover; object-position:54% center; }
.cf-hero-visual figcaption { padding:1.25rem 1.5rem 1.5rem; border-top:3px solid #76c6ff; color:var(--cf-navy); }
.cf-hero-visual figcaption > span { display:block; font-size:1.125rem; font-weight:600; margin-bottom:1rem; }
.cf-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.cf-stats > div + div { border-left:1px solid #ccd9e6; padding-left:1.25rem; }
.cf-stats strong { display:block; color:var(--cf-navy); font-size:2.5rem; line-height:1.05; font-weight:600; font-variant-numeric:tabular-nums; }
.cf-stats span { display:block; font-size:.8125rem; color:#496077; margin-top:.45rem; }
.cf-hero-principles { display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; padding-top:.75rem; border-top:1px solid #cad9e6; font-size:.8125rem; color:#31516d; }
.cf-hero-principles strong:before { content:'✓'; color:#005a9e; margin-right:.4rem; }
.cf-renewal-strip { border-top:1px solid #547089; margin:0; padding:1.125rem 0; color:#c6d9ea; font-size:.8125rem; line-height:1.7; }
.cf-renewal-strip strong { color:#fff; }
.cf-renewal-strip a { color:#b3ddff; margin-left:.5rem; white-space:nowrap; text-underline-offset:.2em; }
.cf-section-head { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:2rem 4rem; align-items:end; margin-bottom:2.5rem; }
.cf-section-head h2 { font-size:clamp(1.9rem,3vw,2.75rem); line-height:1.15; margin:0; color:var(--cf-navy); max-width:27ch; }
.cf-section-head .eyebrow { margin:0 0 .8rem; }
.cf-section-head > p { color:#4a4846; line-height:1.7; margin:0; max-width:55ch; }
.cf-outcomes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; }
.cf-outcomes article { border-top:2px solid #0078d4; padding:1.25rem 0 0; }
.cf-outcomes article > span,.cf-kicker { font-size:.8125rem; color:#005a9e; font-weight:600; }
.cf-outcomes h3 { font-size:1.375rem; margin:.75rem 0; color:var(--cf-navy); }
.cf-outcomes p { color:#4a4846; line-height:1.65; margin:0; }
.cf-weeks,.cf-journey { border:1px solid #abc0d5; border-radius:4px; overflow:hidden; background:#fff; }
.cf-page .oe-tablist { display:none; }
.cf-page .is-enhanced > .oe-tablist { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); background:#dfeaf5; border-bottom:1px solid #abc0d5; }
.cf-page .oe-tablist button { display:grid; grid-template-columns:1fr auto; text-align:left; padding:1.25rem 1.5rem; min-width:0; min-height:98px; border:0; border-right:1px solid #abc0d5; background:transparent; color:var(--cf-navy); font:inherit; cursor:pointer; position:relative; }
.cf-page .oe-tablist button:last-child { border-right:0; }
.cf-page .oe-tablist button > span:first-child { grid-column:1/-1; font-size:.75rem; margin-bottom:.3rem; }
.cf-page .oe-tablist button strong { font-weight:600; font-size:1.125rem; color:inherit; }
.cf-page .oe-tablist button > span:last-child { align-self:center; transition:transform .2s; }
.cf-page .oe-tablist button:hover { background:#cddff0; }
.cf-page .oe-tablist button:hover > span:last-child { transform:translate(2px,-2px); }
.cf-page .oe-tablist button[aria-selected="true"] { color:#fff; background:#005a9e; }
.cf-page .oe-tablist button[aria-selected="true"]:after { content:''; position:absolute; inset:auto 0 0; height:3px; background:#94d0ff; }
.cf-page :is(.oe-tablist button,.cf-copy,[role="tabpanel"]):focus-visible { outline:3px solid #ca5010; outline-offset:-4px; }
.cf-week-panel { display:grid; grid-template-columns:1.08fr 1fr; }
.cf-week-panel[hidden],.cf-stage[hidden] { display:none; }
.cf-week-panel + .cf-week-panel { border-top:1px solid #abc0d5; }
.is-enhanced .cf-week-panel { border-top:0; }
.cf-week-story { padding:clamp(1.5rem,3vw,3rem); }
.cf-week-story .cf-kicker,.cf-stage-copy .cf-kicker { margin:0 0 .8rem; }
.cf-week-story h3,.cf-stage h3 { font-size:clamp(1.7rem,2.4vw,2.2rem); line-height:1.2; max-width:24ch; margin:0 0 1.25rem; color:var(--cf-navy); }
.cf-week-story > p:not(.cf-kicker),.cf-stage-copy > p { color:#4a4846; line-height:1.65; }
.cf-practice { margin:1.75rem 0 0; padding:0; list-style:none; counter-reset:practice; }
.cf-practice li { counter-increment:practice; display:flex; gap:.75rem; align-items:baseline; padding:.8rem 0; border-top:1px solid #dbe4ed; color:#243a5e; font-size:.9375rem; }
.cf-practice li:before { content:counter(practice,decimal-leading-zero); color:#005a9e; font-size:.75rem; font-variant-numeric:tabular-nums; }
.cf-prompt-workbench { padding:clamp(1.5rem,3vw,3rem); background:#f1f6fb; border-left:1px solid #c7d7e7; }
.cf-prompt-workbench > .cf-kicker { margin:0 0 1rem; }
.cf-prompt-workbench blockquote { font-style:normal; font-size:1.125rem; line-height:1.65; color:#243a5e; padding:0; border:0; margin:0 0 1rem; }
.cf-copy { display:none; gap:1.5rem; align-items:center; justify-content:space-between; color:#005a9e; background:#fff; border:1px solid #8eacc6; border-radius:4px; padding:.65rem 1rem; font:inherit; font-size:.875rem; font-weight:600; min-height:44px; cursor:pointer; }
.cf-copy.is-ready { display:inline-flex; }
.cf-copy:hover { background:#e1edf8; }
.cf-review,.cf-measure { padding-top:1.1rem; margin-top:1.4rem; border-top:1px solid #bed0e1; font-size:.875rem; color:#42566a; line-height:1.6; }
.cf-review strong,.cf-measure strong { display:block; color:#0f2a4a; margin-bottom:.35rem; }
.cf-review p,.cf-measure p { margin:0; }
.cf-review { border-top-color:#ca5010; }
.cf-small { font-size:.8125rem; line-height:1.65; color:#52606c; margin:1.125rem 0 0; max-width:110ch; }
.cf-small a { color:#005a9e; text-underline-offset:.2em; }
.cf-foundation { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:center; gap:clamp(2rem,5vw,4.5rem); }
.cf-foundation figure { margin:0; overflow:hidden; background:var(--cf-navy); border-radius:4px; }
.cf-foundation img { display:block; width:100%; height:22rem; object-fit:cover; }
.cf-foundation figcaption { padding:1.25rem 1.5rem; font-size:1.0625rem; color:#fff; border-top:2px solid #76c6ff; }
.cf-foundation .cf-section-head { display:block; margin-bottom:1.5rem; }
.cf-foundation .cf-section-head h2 { font-size:clamp(1.9rem,2.5vw,2.5rem); }
.cf-foundation p { line-height:1.65; }
.cf-checklist { padding:0; list-style:none; margin:1.25rem 0; }
.cf-checklist li { padding:.75rem 0 .75rem 1.5rem; border-top:1px solid #cfdeeb; position:relative; line-height:1.6; font-size:.9375rem; }
.cf-checklist li:before { content:'✓'; position:absolute; left:0; color:#005a9e; }
.cf-terms-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.cf-terms-grid > article { padding:2rem; background:#fff; border:1px solid #c1d2e1; border-radius:4px; }
.cf-terms-grid h3 { color:var(--cf-navy); font-size:1.4rem; margin:0 0 1.25rem; }
.cf-terms-grid p { font-size:.9375rem; line-height:1.7; color:#4a4846; }
.cf-terms-grid p:last-child { margin-bottom:0; }
.cf-terms-grid .cf-terms-important { border-top:3px solid #ca5010; }
.cf-faq { border-bottom:1px solid #b8cde0; padding:.5rem 0; margin:1rem 0 0; }
.cf-faq summary { padding:1rem 0; color:#0f2a4a; font-weight:600; cursor:pointer; }
.cf-faq p { max-width:95ch; color:#4a4846; font-size:.9375rem; line-height:1.65; }
.cf-paths { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.cf-paths > article { display:flex; flex-direction:column; align-items:start; padding:2rem; background:#f3f7fc; border:1px solid #bed0e1; border-radius:4px; }
.cf-paths h3 { color:#0f2a4a; font-size:1.5rem; margin:.75rem 0 1rem; }
.cf-paths p { color:#4a4846; line-height:1.65; font-size:.9375rem; }
.cf-paths a { margin-top:auto; }
.cf-paths .cf-path-primary { background:#0f2a4a; border-color:#0f2a4a; }
.cf-path-primary h3 { color:#fff; }
.cf-path-primary p { color:#d6e4f2; }
.cf-path-primary .cf-kicker { color:#a9d9ff; }
.cf-page .cf-journey.is-enhanced > .oe-tablist { grid-template-columns:repeat(3,minmax(0,1fr)); }
.cf-stage { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr); }
.cf-stage + .cf-stage { border-top:1px solid #abc0d5; }
.is-enhanced .cf-stage { border:0; }
.cf-stage-copy { padding:clamp(1.5rem,3vw,2.5rem); }
.cf-measure-line { padding-top:1rem; border-top:1px solid #c7d7e7; font-size:.875rem; }
.cf-measure-line strong { display:block; color:#0f2a4a; margin-bottom:.4rem; }
.cf-flow { background:#0f2a4a; padding:clamp(1.5rem,3vw,2.5rem); display:flex; flex-direction:column; justify-content:center; }
.cf-flow > .cf-kicker { color:#a9d9ff; margin:0 0 2rem; }
.cf-flow-nodes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; list-style:none; margin:0; padding:0; }
.cf-flow-nodes li { position:relative; text-align:center; color:#fff; min-width:0; }
.cf-flow-nodes li:after { content:''; position:absolute; left:calc(50% + 27px); right:calc(-50% + 11px); top:26px; height:1px; background:#7697b3; }
.cf-flow-nodes li:last-child:after { display:none; }
.cf-node-icon { display:grid; place-items:center; width:54px; height:54px; margin:0 auto 1rem; color:#a9d9ff; border:1px solid #7096b7; background:#193b5b; border-radius:50%; font-size:.875rem; }
.cf-flow-nodes li:last-child .cf-node-icon { border-color:#f1b18c; color:#f9d0b8; }
.cf-flow-nodes strong { display:block; color:#fff; font-size:1rem; line-height:1.35; }
.cf-flow-nodes li > span:last-child { display:block; font-size:.75rem; line-height:1.5; color:#c6d9ea; margin:.5rem 0 0; }
.cf-flow-foundation { display:grid; grid-template-columns:repeat(2,1fr); gap:.75rem; border:1px solid #6484a0; background:#1c3b57; padding:1rem 1.25rem; border-radius:4px; margin:2rem 0 0; text-align:center; }
.cf-flow-foundation span { color:#dceafb; font-size:.8125rem; }
.cf-flow .cf-small { color:#c6d9ea; margin-top:1.5rem; }
.cf-workstreams { display:grid; grid-template-columns:1fr 1fr; gap:0 3rem; }
.cf-workstreams article { display:grid; grid-template-columns:2.5rem 1fr; gap:1rem; padding:1.5rem 0; border-top:1px solid #b8cde0; }
.cf-workstream-number { color:#0078d4; font-size:1.75rem; font-weight:300; line-height:1; }
.cf-workstreams .cf-kicker { margin:0 0 .5rem; }
.cf-workstreams h3 { margin:0 0 .5rem; font-size:1.25rem; color:#0f2a4a; }
.cf-workstreams p:not(.cf-kicker) { margin:0; font-size:.9375rem; line-height:1.65; color:#4a4846; }
.cf-workstreams article:last-child { grid-column:1/-1; }
.cf-deliverables { background:#0f2a4a; color:#fff; }
.cf-deliverables .cf-section-head h2 { color:#fff; }
.cf-deliverables .eyebrow,.cf-deliverables .cf-section-head > p { color:#c6d9ea; }
.cf-deliverable-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.cf-deliverable-grid article { padding-top:1.25rem; border-top:2px solid #70b9ef; }
.cf-deliverable-grid span { font-size:.8125rem; color:#a9d9ff; }
.cf-deliverable-grid h3 { font-size:1.5rem; color:#fff; margin:.75rem 0; }
.cf-deliverable-grid p { font-size:.9375rem; color:#c6d9ea; line-height:1.65; }
.cf-operate { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 2rem; margin-top:2rem; border-top:1px solid #597a96; padding-top:1.5rem; font-size:.875rem; }
.cf-operate p { flex:1 1 28rem; margin:0; color:#c6d9ea; }
.cf-operate strong { color:#fff; display:block; margin-bottom:.35rem; }
.cf-operate a { color:#a9d9ff; }
.cf-inline-links { display:flex; flex-wrap:wrap; gap:1rem 1.5rem; margin-top:1.5rem; font-size:.9375rem; }
.cf-hub-paths { margin-block:2rem 0; }
.cf-hub-paths .cf-paths { grid-template-columns:1fr 1fr; }
@keyframes cf-enter { from { transform:translateY(10px); } to { transform:translateY(0); } }
@keyframes cf-node { from { transform:scale(.85); } to { transform:scale(1); } }
@media (prefers-reduced-motion:no-preference) {
 html:not([data-motion-off]) .cf-page .is-enhanced .is-entering .cf-week-story,
 html:not([data-motion-off]) .cf-page .is-enhanced .is-entering .cf-stage-copy { animation:cf-enter .3s cubic-bezier(.22,1,.36,1); }
 html:not([data-motion-off]) .cf-page .is-enhanced .is-entering .cf-node-icon { animation:cf-node .35s cubic-bezier(.22,1,.36,1) both; }
 html:not([data-motion-off]) .cf-page .is-entering li:nth-child(2) .cf-node-icon { animation-delay:.08s; }
 html:not([data-motion-off]) .cf-page .is-entering li:nth-child(3) .cf-node-icon { animation-delay:.16s; }
}
@media (prefers-reduced-motion:reduce) { .cf-page .oe-tablist button > span:last-child { transition:none; } }
html[data-motion-off] .cf-page .oe-tablist button > span:last-child { transition:none; }
@media (max-width:1000px) {
 .cf-hero-grid { gap:2rem; }
 .cf-hero h1 { font-size:3rem; }
 .cf-hero--frontier h1 { font-size:2.7rem; }
 .cf-paths > article { padding:1.5rem; }
 .cf-stage { grid-template-columns:1fr; }
 .cf-flow { padding:2rem; }
 .cf-flow-foundation { grid-template-columns:repeat(4,1fr); }
}
@media (max-width:800px) {
 .cf-hero-grid,.cf-section-head,.cf-foundation { grid-template-columns:1fr; gap:1.75rem; }
 .cf-hero-copy { padding:0; }
 .cf-hero h1 { font-size:clamp(2.5rem,7vw,3.5rem); max-width:22ch; }
 .cf-hero--frontier h1 { font-size:clamp(2.3rem,6.4vw,3.2rem); }
 .cf-hero-visual img { height:clamp(14rem,44vw,24rem); }
 .cf-hero-visual { margin-bottom:2rem; }
 .cf-lead { max-width:60ch; }
 .cf-section-head { margin-bottom:2rem; }
 .cf-outcomes,.cf-paths,.cf-deliverable-grid { grid-template-columns:1fr; gap:1.5rem; }
 .cf-week-panel { grid-template-columns:1fr; }
 .cf-prompt-workbench { border-left:0; border-top:1px solid #c7d7e7; }
 .cf-page .oe-tablist button { padding:1rem; }
 .cf-page .oe-tablist button strong { font-size:.9375rem; }
 .cf-foundation figure { order:2; }
 .cf-foundation img { height:16rem; }
 .cf-terms-grid { grid-template-columns:1fr; gap:1rem; }
 .cf-workstreams { grid-template-columns:1fr; }
 .cf-paths a { margin-top:.5rem; }
}
@media (max-width:520px) {
 .cf-hero { padding-top:2rem; }
 .cf-hero .eyebrow { font-size:.75rem; }
 .cf-lead { font-size:1rem; }
 .cf-actions { gap:.5rem 1rem; }
 .cf-actions .btn { width:100%; font-size:.9375rem; padding-inline:.7rem; }
 .cf-hero-visual figcaption { padding:1rem; }
 .cf-hero-visual figcaption > span { font-size:1rem; }
 .cf-stats { gap:.5rem; }
 .cf-stats > div + div { padding-left:.75rem; }
 .cf-stats strong { font-size:2.1rem; }
 .cf-stats span { font-size:.75rem; }
 .cf-page .is-enhanced > .oe-tablist { grid-template-columns:repeat(2,1fr); }
 .cf-page .oe-tablist button { min-height:78px; border-bottom:1px solid #abc0d5; }
 .cf-page .oe-tablist button:nth-child(2) { border-right:0; }
 .cf-page .cf-journey.is-enhanced > .oe-tablist { grid-template-columns:1fr; }
 .cf-journey .oe-tablist button { grid-template-columns:auto 1fr auto; gap:.75rem; min-height:60px; border-right:0; align-items:center; }
 .cf-journey .oe-tablist button > span:first-child { grid-column:auto; margin:0; }
 .cf-flow { padding:1.5rem 1rem; }
 .cf-flow-nodes { gap:.5rem; }
 .cf-flow-nodes strong { font-size:.875rem; }
 .cf-flow-foundation { grid-template-columns:1fr 1fr; }
 .cf-terms-grid > article { padding:1.5rem; }
 .cf-hub-paths .cf-paths { grid-template-columns:1fr; }
}

.cf-anchor { display:block; scroll-margin-top:9rem; }
.cf-hub-paths { --cf-navy:var(--color-deep-navy-ink); }

.cf-nojs-nav { display:flex; flex-wrap:wrap; gap:1rem; padding-block:1rem; }
