.comparison-page{--fg-2:#c5c2d0;--fg-3:#aaa4ba;--fg-4:#aaa4ba;--accent:#93a0ff;min-width:0}
.comparison-page [hidden]{display:none!important}
.comparison-page .wrap,.comparison-page .wrap>*{min-width:0}
.comparison-page .cp-hero{position:relative;padding-block:clamp(48px,7vw,100px) 48px}
.comparison-page .hero__grid{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 80% 15%,#4f6bff20,transparent 65%)}
.comparison-page .display{font-size:clamp(2.7rem,6.8vw,6.5rem);line-height:1.02;max-width:23ch;overflow-wrap:anywhere}
.cp-title-tail{display:block;color:#b6bfff}
.comparison-page .eyebrow{margin-bottom:22px;color:#aab4ff}
.comparison-page .cp-back{display:block;width:fit-content;padding-block:12px;margin-bottom:16px;color:#c5c2d0}
.comparison-page .cp-back:hover{color:#fff}
.comparison-page .ms-hero__ctas,.comparison-page .final__ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.comparison-page .btn{white-space:normal;text-align:center;height:auto;min-height:50px;padding-block:12px}
.comparison-page .disc{font-family:var(--font);font-size:.82rem;max-width:95ch}
.cp-jump{position:sticky;top:var(--cp-nav-height,80px);z-index:8;background:#0b001ff5;border-block:1px solid var(--line);margin-bottom:32px}
.cp-jump .wrap{display:flex;gap:28px;overflow-x:auto}
.cp-jump a{flex:none;min-height:52px;display:flex;align-items:center;color:var(--fg-2);font-size:.88rem;border-bottom:2px solid transparent}
.cp-jump a:hover,.cp-jump a[aria-current]{color:white;border-bottom-color:#93a0ff}
.comparison-page section[id]{scroll-margin-top:calc(var(--cp-nav-height,80px) + 80px)}
.comparison-page .sa{border-radius:12px;background:#0a0711}
.comparison-page .sa .io{background:#4f6bff14}
.comparison-page .sa .k{color:#b6bfff}
.comparison-page .sa li{font-size:1rem}
.comparison-page .sa h2,.comparison-page .sa h3{font-size:1.5rem;line-height:1.2;font-weight:600;letter-spacing:-.02em}
.comparison-page .dash{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px}
.comparison-page .article p{margin-top:20px;color:var(--fg-2);line-height:1.65}
.comparison-page .article a,.comparison-page .srcs a{color:#c5c9ff;text-decoration:underline;text-underline-offset:4px}
.comparison-page .dash__list li{display:grid;gap:8px;padding:22px 0;border-bottom:1px solid var(--line)}
.comparison-page .dash__list span{color:var(--fg-2)}
.comparison-page .how{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;border-top:1px solid var(--line)}
.comparison-page .how__s{padding:28px 0;border-bottom:1px solid var(--line)}
.comparison-page .how__s h3{font-size:1.3rem;margin:10px 0}
.comparison-page .how__s p{font-size:1rem;color:var(--fg-2)}
.comparison-page .faq details{border-bottom:1px solid var(--line);padding:24px 0}
.comparison-page .faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:24px}
.comparison-page .faq summary::after{content:'+';color:#b6bfff}
.comparison-page .faq details[open] summary::after{content:'−'}
.comparison-page .faq p{margin-top:16px;max-width:80ch;color:var(--fg-2)}
.comparison-page .final{overflow:hidden}
.comparison-page .final .display{max-width:20ch;font-size:clamp(2.5rem,5.6vw,5rem)}
.cp-controls{display:flex;flex-wrap:wrap;gap:8px}
.cp-controls button{border:1px solid var(--line-2);padding:10px 17px;min-height:44px;border-radius:999px;font-size:.9rem;color:var(--fg-2);transition:background .18s,border-color .18s}
.cp-controls button:hover{border-color:#aab4ff;color:#fff}
.cp-controls button[aria-pressed="true"]{background:#fff;border-color:#fff;color:#170c2d}
.cp-directory-tools{margin-bottom:32px}
#cp-count{font-family:var(--mono);font-size:.8rem;color:var(--fg-3);margin-top:18px}
#cp-empty{padding:30px 0}#cp-reset{color:#c5c9ff;text-decoration:underline}
.cp-category{margin-top:48px}
.comparison-page .hub{gap:16px;border:0}
.comparison-page .hc{position:relative;padding:26px!important;border:1px solid var(--line)!important;border-radius:10px;background:#ffffff03;transition:transform .18s,border-color .18s,background .18s}
.comparison-page .hc:hover,.comparison-page .hc:focus-within{border-color:#93a0ff88!important;background:#4f6bff0c;transform:translateY(-3px)}
.comparison-page .hc h3{padding-right:20px;line-height:1.3}
.comparison-page .hc h3 a::after{content:'';position:absolute;inset:0;border-radius:10px}
.cp-card-arrow{position:absolute;right:26px;top:38px;color:#aab4ff}
.cp-badges{display:flex;align-items:center;gap:14px;margin-bottom:12px;padding-right:28px}
.cp-badge{display:inline-flex;align-items:center;justify-content:center;flex:none;width:52px;height:52px;border-radius:13px;font-size:1.2rem;font-weight:650;letter-spacing:-.03em;border:1px solid #ffffff20}
.cp-badge--import{background:#4f6bff;color:white}
.cp-badge--import svg{width:24px;height:32px}
.cp-badge--vendor{color:color-mix(in srgb,var(--badge-accent) 78%,white);background:color-mix(in srgb,var(--badge-accent) 18%,#100626);border-color:color-mix(in srgb,var(--badge-accent) 48%,#100626)}
.cp-versus{font-family:var(--mono);font-size:.8rem;color:var(--fg-3)}
.cp-hero-badges{margin:0 0 26px}
.cp-hero-badges .cp-badges{margin:0;gap:16px}
.cp-hero-badges .cp-badge{width:58px;height:58px;border-radius:14px;font-size:1.3rem}
.comparison-page .cmp__note a{color:#c5c9ff;text-decoration:underline;text-underline-offset:3px}
.comparison-page .hc .fit{font-family:var(--font);font-size:.85rem;border-top:1px solid var(--line);padding-top:14px;margin-top:6px}
.comparison-page .hc .fit b{display:block;margin-bottom:6px;color:#c5c9ff}
.cp-ownership{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:32px;padding:30px;margin-bottom:40px;background:#09070f;border:1px solid #93a0ff40;border-radius:12px}
.cp-ownership h3{font-size:1.7rem;line-height:1.15;margin-bottom:12px}
.cp-ownership p{font-size:.9rem;color:var(--fg-2)}
.cp-ownership .eyebrow{font-size:.7rem;margin-bottom:12px}
.cp-ownership .cp-controls{margin-top:20px}
.cp-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;position:relative}
.cp-flow li{position:relative;border-top:2px solid #93a0ff;padding-top:22px;min-width:0}
.cp-flow li::before{content:'';position:absolute;left:0;top:-6px;width:10px;height:10px;border-radius:50%;background:#aab4ff;box-shadow:0 0 0 5px #93a0ff15}
.cp-flow span{display:block;font-family:var(--mono);font-size:.7rem;color:var(--fg-3);margin-bottom:12px}
.cp-flow b{display:block;font-size:1.1rem;font-weight:500;line-height:1.4}
.cp-owner-note{margin-top:25px;max-width:80ch}
.cp-table-tools{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-bottom:26px}
.cp-table-tools label{display:flex;align-items:center;gap:12px}
.cp-table-tools select{font:inherit;font-size:.9rem;padding:12px;background:#151025;color:#fff;border:1px solid var(--line-2);border-radius:7px;max-width:100%}
.cp-table-tools p{font-size:.8rem;color:var(--fg-3)}
.cp-table-group+.cp-table-group{margin-top:48px}
.comparison-page .cmp__note{font-size:.85rem;color:var(--fg-3);margin-top:16px;line-height:1.6}
.cp-check-tools button:disabled{opacity:.45;cursor:not-allowed}
.comparison-page .ct{table-layout:fixed;min-width:740px}
.comparison-page .ct thead th:first-child{width:18%}
.comparison-page .ct tbody th{font-family:var(--font);font-size:.9rem;text-transform:none;letter-spacing:0;font-weight:600;color:white;background:transparent}
.comparison-page .ct tbody th,.comparison-page .ct thead th:first-child{position:sticky;left:0;z-index:1;background:#120a25;box-shadow:1px 0 var(--line)}
.comparison-page .off2 a{display:inline-flex;align-items:center;min-height:44px;font-size:.8rem;color:#c5c9ff;text-decoration:underline;text-underline-offset:3px}
body:has(.comparison-page) .nav .menu{visibility:hidden}
body:has(.comparison-page) .nav__item:hover .menu,body:has(.comparison-page) .nav__item:focus-within .menu{visibility:visible}
.comparison-page .ct td{font-size:.95rem}
.comparison-page .ct .nv{color:#c5c2d0}
.comparison-page .ct tbody tr:hover{background:#ffffff04}
.cp-scroll-hint{display:none;font-size:.8rem;color:var(--fg-3);margin-bottom:12px}
.cp-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.cp-check-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
.cp-check-tools p{font-size:.9rem;color:var(--fg-2)}
.comparison-page .qs label{display:flex;gap:12px;cursor:pointer}
.comparison-page .cp-check{flex:none;width:18px;height:18px;margin:5px 0 0;accent-color:#4f6bff}
.comparison-page .qs li:has(input:checked){background:#4f6bff12}
@media(max-width:959px){.comparison-page .dash,.cp-ownership{grid-template-columns:minmax(0,1fr);gap:32px}.cp-flow{margin-top:12px}.comparison-page .tlabel{flex-wrap:wrap}.comparison-page .offcol{padding-right:0}.cp-scroll-hint{display:block}.comparison-page .tbl-wrap{max-width:100%;overscroll-behavior-x:contain}}
@media(max-width:600px){.comparison-page .display{font-size:clamp(2.5rem,10vw,3.8rem)}.comparison-page .how{grid-template-columns:minmax(0,1fr)}.cp-jump .wrap{gap:24px}.cp-ownership{padding:24px}.cp-flow{grid-template-columns:minmax(0,1fr);gap:20px}.cp-flow li{border-top:0;border-left:2px solid #93a0ff;padding:0 0 0 20px}.cp-flow li::before{left:-6px;top:4px}.cp-flow span{margin-bottom:6px}.comparison-page .ms-hero__ctas .btn{width:100%}.comparison-page .head{margin-bottom:30px}.comparison-page .qs li{padding-right:4px}.cp-table-tools label{flex-wrap:wrap}.comparison-page .section{padding-block:64px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.comparison-page *{animation:none!important;transition:none!important}}
/* Give each numbered question its own gutter, including the second column. */
.comparison-page .qs{column-gap:32px}
.cp-fit-summary{margin-top:36px}
#fit,#sources,#trade-offs,#cost{scroll-margin-top:170px}
.cp-fit-summary .sa{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.cp-fit-summary .sa>div{min-width:0;padding:clamp(22px,3vw,40px);border:0;overflow-wrap:break-word}
.cp-fit-summary .sa>div+div{border-left:1px solid var(--line)}
.cp-fit-summary .sa li{font-size:.95rem}
.cp-breadcrumb{margin-bottom:28px;font-size:.875rem;color:var(--fg-3)}
.cp-breadcrumb ol{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;list-style:none;padding:0}
.cp-breadcrumb li{display:flex;align-items:center;gap:14px;min-width:0}
.cp-breadcrumb li+li::before{content:"/";color:var(--fg-3)}
.cp-breadcrumb a{display:inline-flex;align-items:center;min-height:44px;color:#b9b5ff}
.cp-breadcrumb [aria-current]{color:var(--fg-2)}
.cp-analysis,.cp-methodology,.cp-commercial,.cp-managed-reference{margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}
.cp-analysis>h2,.cp-methodology>h2{font-size:clamp(1.5rem,2.3vw,2rem);line-height:1.2;margin:0 0 22px}
.cp-analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px}
.cp-analysis-grid article{min-width:0}
.cp-practical .cp-analysis-grid{gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cp-practical article{padding:28px 32px}
.cp-practical article:nth-child(even){border-left:1px solid var(--line)}
.cp-practical article:nth-child(n+3){border-top:1px solid var(--line)}
.cp-practical-label{display:flex;gap:14px;color:#b9b5ff;font: .8rem/1.5 var(--mono,monospace);margin-bottom:14px}
.cp-practical .cp-practical-question{margin:20px 0 16px;padding-left:14px;border-left:2px solid #4f6bff;color:var(--fg)}
.cp-practical-question strong{display:block;font-size:.75rem;color:var(--fg-3);font-weight:500;margin-bottom:4px}
.cp-practical .cp-practical-link{font-size:.875rem;text-decoration:none;display:inline-flex;align-items:center;min-height:44px;gap:8px}
.cp-source-disclosure summary{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:44px;cursor:pointer;list-style:none;font-size:1rem;font-weight:500}
.cp-source-disclosure summary::-webkit-details-marker{display:none}
.cp-source-toggle{font-size:1.5rem;color:#b9b5ff}
.cp-source-disclosure[open] .cp-source-toggle{transform:rotate(45deg)}
.cp-source-disclosure[open] summary{margin-bottom:16px}
.cp-source-disclosure .srcs+p{margin-top:20px}
.cp-source-disclosure summary:focus-visible,.cp-practical-link:focus-visible{outline:2px solid #b9b5ff;outline-offset:5px}
@media(max-width:759px){.cp-practical article{padding:24px 0}.cp-practical article:nth-child(even){border-left:0}.cp-practical article+article{border-top:1px solid var(--line)}}
.cp-analysis h3,.cp-commercial h3{font-size:1.15rem;line-height:1.4;margin:0 0 10px}
.cp-analysis p,.cp-methodology p,.cp-commercial p,.cp-managed-reference p,.cp-managed-reference dd{color:var(--fg-2);font-size:1rem;line-height:1.65;max-width:85ch}
.cp-methodology p+p{margin-top:14px}
.cp-methodology .cp-source-content{display:block;padding:0;margin-top:20px}
.cp-methodology .srcs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 32px;margin-top:20px;overflow-wrap:anywhere}
.cp-methodology a,.cp-analysis a{color:#b9b5ff;text-decoration:underline;text-underline-offset:3px}
.cp-managed-reference summary{cursor:pointer;padding:12px 0;min-height:44px;font-size:1.15rem;font-weight:600}
.cp-managed-reference dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px;margin:20px 0}
.cp-managed-reference dt{font-weight:600;margin-bottom:6px}
.cp-managed-reference dd{margin:0}
.comparison-page .hc .cp-card-category{font-size:.7rem;color:#b9b5ff;line-height:1.5;letter-spacing:.04em}
@media(max-width:759px){.cp-analysis-grid,.cp-methodology .srcs,.cp-managed-reference dl{grid-template-columns:minmax(0,1fr)}.cp-breadcrumb{margin-bottom:18px}.cp-analysis,.cp-methodology,.cp-commercial{margin-top:28px}}
.cp-evidence{margin-top:20px;border-top:1px solid var(--line);padding-top:18px;scroll-margin-top:160px}
.cp-evidence summary{cursor:pointer;font-weight:500;color:#c5c9ff;padding:8px 0}
.cp-evidence .article,.cp-source-content{margin-top:20px;font-size:.95rem;max-width:85ch}
.cp-source-content .srcs{margin-top:24px}
@media(max-width:759px){.cp-fit-summary .sa{grid-template-columns:minmax(0,1fr)}.cp-fit-summary .sa>div+div{border-left:0;border-top:1px solid var(--line)}}
.comparison-page .cp-related{padding-block:56px}
.cp-related-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}
.cp-related-head .h2{font-size:clamp(1.75rem,3vw,2.5rem);margin:0}
.cp-related-head .tlink{flex-shrink:0}
.cp-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media(max-width:759px){.cp-related-head{align-items:flex-start;flex-direction:column;gap:16px}.cp-related-grid{grid-template-columns:minmax(0,1fr)}}
.cp-direct-contact{margin-top:24px}
.comparison-page #questions{padding-block:56px}
.comparison-page #questions .head{display:block;margin-bottom:24px}
.comparison-page #questions .h2{font-size:clamp(2rem,3.7vw,3.3rem);max-width:24ch;margin-bottom:14px}
.comparison-page #questions .lead{max-width:65ch;font-size:1rem}
.comparison-page #questions .cp-check-tools{margin-bottom:16px}
.comparison-page #questions + .section{padding-top:56px}
.comparison-page #questions + .section .head{margin-bottom:32px}
.comparison-page .qs li{padding:26px 24px 26px 64px;border-right:0}
.comparison-page .qs li::before{left:20px;top:29px}
.comparison-page .qs label{gap:16px;line-height:1.6;min-height:44px;align-items:flex-start}
.comparison-page .cp-check{margin-top:5px;width:20px;height:20px}
@media(max-width:759px){.comparison-page .qs li{padding:24px 12px 24px 40px}.comparison-page .qs li::before{left:0;top:27px}.comparison-page .qs label{gap:14px}}
