/* VIRGIL comparison: concise stage summaries first, complete copy on demand. */
.compare-page { --carbon:#0b0b0b; --accent:#b7ff22; color:var(--carbon); }
.compare-page .header-inner { background:#111; border-color:#303030; }
.compare-page .site-footer { background:#0b0b0b; }
.compare-page .comparison-redesign { display:block; }
.compare-page .compare-hero { padding-top:calc(var(--hero-clearance,118px) + 44px); padding-bottom:56px; }
.compare-hero h1 { max-width:1100px; font:700 clamp(2.125rem,4.05vw,3.75rem)/1.14 var(--heading); letter-spacing:-.055em; text-wrap:balance; }
.compare-title-vs { color:#0b0b0b; background:#f3ffdc; padding:0 .18em; border-radius:.22em; white-space:nowrap; }
.compare-lead { max-width:950px; margin-top:28px; font-size:clamp(1.125rem,1.75vw,1.375rem); line-height:1.55; }
.compare-intro-copy { display:grid; grid-template-columns:1.2fr 1fr; gap:44px; margin-top:22px; font-size:1rem; line-height:1.8; max-width:1100px; }
.compare-jump { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.compare-jump a { display:inline-flex; align-items:center; min-height:44px; padding:10px 20px; border:1px solid #111; border-radius:999px; font-size:.875rem; font-weight:800; }
.compare-jump a:first-child { background:#111; color:#fff; }
.compare-jump a:hover { background:var(--accent); color:#111; }
.compare-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:8px; }
.compare-section-heading h2,.compare-results-panel > h2,.compare-cost > h2 { font:700 clamp(1.75rem,3.2vw,2.625rem)/1.2 var(--heading); letter-spacing:-.045em; }
.compare-section-heading > p { font-size:.875rem; line-height:1.6; max-width:250px; }
.compare-step { border-bottom:1px solid #00000024; }
.compare-step-summary { display:grid; grid-template-columns:minmax(220px,1.05fr) 1fr 1fr 48px; align-items:center; gap:28px; padding:30px 0; cursor:pointer; list-style:none; }
.compare-step-summary::-webkit-details-marker { display:none; }
.compare-step-summary:focus-visible { outline:3px solid #111; outline-offset:5px; border-radius:12px; }
.compare-step-topic { display:flex; align-items:center; gap:16px; }
.compare-step-icon { display:flex; align-items:center; justify-content:center; width:50px; height:50px; flex:0 0 50px; border-radius:50%; background:#111; color:var(--accent); }
.compare-step-icon .icon { width:25px; height:25px; }
.compare-step-index { display:block; font:800 .75rem/1.4 var(--font); margin-bottom:5px; }
.compare-step-name { display:block; font:700 1rem/1.45 var(--heading); letter-spacing:-.025em; text-transform:uppercase; }
.compare-step-answer { min-width:0; align-self:center; }
.compare-path-label { display:block; margin-bottom:9px; font:800 .75rem/1.5 var(--font); }
.compare-step-answer-team .compare-path-label::before { content:""; display:inline-block; width:9px; height:9px; margin-right:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 1px #00000014; }
.compare-step-lead { display:block; font:800 1.0625rem/1.6 var(--font); }
.compare-step-control { display:flex; flex-direction:column; align-items:center; gap:5px; }
.compare-detail-mark { display:block; width:36px; height:36px; position:relative; border:1px solid #111; border-radius:50%; background:#fff; }
.compare-detail-mark::before,.compare-detail-mark::after { content:""; position:absolute; top:16px; left:10px; width:14px; height:2px; background:#111; }
.compare-detail-mark::after { transform:rotate(90deg); }
.compare-control-label { font:800 .6875rem/1.5 var(--font); }
.compare-step[open] .compare-detail-mark { background:var(--accent); border-color:var(--accent); }
.compare-step[open] .compare-detail-mark::after { display:none; }
.compare-step-summary:hover .compare-detail-mark { background:var(--accent); }
.compare-step-content { display:grid; grid-template-columns:1fr 1fr; gap:36px; padding:2px 76px 34px 0; }
.compare-full-copy { min-width:0; font:500 1rem/1.8 var(--font); padding:0 0 0 22px; border-left:3px solid #111; }
.compare-full-copy-team { border-color:var(--accent); }
.compare-full-copy h3 { margin-bottom:14px; font:800 .8125rem/1.5 var(--font); text-transform:none; letter-spacing:0; }
.compare-full-copy p + p { margin-top:16px; }
.compare-full-copy strong { font-weight:800; }
.compare-result { padding-top:64px; }
.compare-results-panel { padding:40px; border-radius:28px; background:#111; color:#fff; }
.compare-results-panel > h2 { color:#fff; margin-bottom:32px; }
.compare-result-pair { display:grid; grid-template-columns:1fr 1.25fr; gap:48px; }
.compare-outcome { min-width:0; }
.compare-result-icon { display:flex; align-items:center; justify-content:center; width:44px; height:44px; margin-bottom:20px; border-radius:50%; background:#fff; color:#111; }
.compare-result-icon .icon { width:24px; height:24px; }
.compare-outcome-team .compare-result-icon { background:var(--accent); }
.compare-outcome .compare-path-label { margin-bottom:8px; }
.compare-outcome-team .compare-path-label { color:var(--accent); }
.compare-outcome h3 { font:700 clamp(1.125rem,2vw,1.5rem)/1.4 var(--heading); letter-spacing:-.04em; margin-bottom:16px; text-transform:none; }
.compare-result-copy { font-size:1rem; line-height:1.8; }
.compare-result-copy strong { font-weight:500; }
.compare-question { display:flex; align-items:flex-start; gap:22px; max-width:1020px; margin:36px auto 0; }
.compare-question > span { display:flex; align-items:center; justify-content:center; flex:0 0 48px; height:48px; border-radius:50%; background:var(--accent); color:#111; font:700 1.5rem/1 var(--heading); }
.compare-question p { font:700 clamp(1.125rem,2vw,1.5rem)/1.6 var(--heading); letter-spacing:-.035em; }
.compare-cost { padding-top:72px; }
.compare-cost > h2 { margin-bottom:32px; }
.compare-cost-grid { display:grid; grid-template-columns:1.25fr 1fr; gap:56px; align-items:start; font-size:1rem; line-height:1.8; }
.compare-cost-takeaway { margin-top:22px; font:700 1.25rem/1.55 var(--heading); letter-spacing:-.035em; }
.compare-cost-breakdown { border-left:3px solid var(--accent); padding-left:26px; }
.compare-cost-breakdown h3 { font:700 1.125rem/1.5 var(--heading); letter-spacing:-.035em; margin-bottom:18px; text-transform:none; }
.compare-cost-breakdown ul { list-style:none; margin:0; padding:0; }
.compare-cost-breakdown li { display:flex; align-items:center; gap:14px; margin-bottom:14px; font-weight:700; line-height:1.5; }
.compare-cost-breakdown .icon { width:22px; height:22px; flex:0 0 22px; }
.compare-cost-professional { display:flex; align-items:flex-start; gap:24px; margin-top:40px; max-width:1020px; font-size:1rem; line-height:1.8; }
.compare-cost-icon { display:flex; align-items:center; justify-content:center; flex:0 0 48px; height:48px; border-radius:50%; background:#111; color:var(--accent); }
.compare-cost-icon .icon { width:26px; height:26px; }
.compare-cost-professional p + p { margin-top:16px; }
.compare-closing { display:flex; align-items:center; justify-content:space-between; gap:32px; background:var(--accent); border-radius:24px; margin-top:36px; padding:30px 34px; }
.compare-closing p { max-width:720px; font:700 clamp(1.25rem,2.2vw,1.75rem)/1.45 var(--heading); letter-spacing:-.04em; }
.compare-page .compare-closing .button { flex-shrink:0; background:#111; color:#fff; }
.compare-page .compare-closing .button:hover { background:#fff; color:#111; }
@media(max-width:1050px) {
 .compare-step-summary { grid-template-columns:minmax(200px,1fr) 1fr 1fr 40px; gap:20px; }
 .compare-step-topic { gap:12px; }
 .compare-step-icon { width:44px; height:44px; flex-basis:44px; }
 .compare-step-name { font-size:.9375rem; }
 .compare-step-lead { font-size:1rem; }
 .compare-step-content { padding-right:60px; gap:28px; }
 .compare-cost-grid { gap:36px; }
}
@media(max-width:767px) {
 .compare-page .compare-hero { padding-top:calc(var(--hero-clearance,100px) + 24px); padding-bottom:40px; }
 .compare-hero h1 { font-size:clamp(1.875rem,7.5vw,2.75rem); line-height:1.18; letter-spacing:-.055em; }
 .compare-lead { margin-top:24px; }
 .compare-intro-copy { grid-template-columns:1fr; gap:18px; margin-top:18px; }
 .compare-jump { gap:8px; margin-top:24px; }
 .compare-jump a { font-size:.75rem; padding:8px 14px; }
 .compare-section-heading { display:block; margin-bottom:4px; }
 .compare-section-heading > p { max-width:none; margin-top:12px; }
 .compare-step-summary { position:relative; grid-template-columns:1fr 1fr; gap:20px; align-items:start; padding:24px 0; }
 .compare-step-topic { grid-column:1/-1; padding-right:52px; }
 .compare-step-name { font-size:.9375rem; }
 .compare-step-index { margin-bottom:2px; }
 .compare-step-control { position:absolute; right:0; top:26px; }
 .compare-step-answer { align-self:start; }
 .compare-step-lead { font-size:.9375rem; line-height:1.65; }
 .compare-path-label { font-size:.6875rem; margin-bottom:8px; }
 .compare-step-answer-team .compare-path-label::before { display:none; }
 .compare-step-answer-team { padding-left:14px; border-left:3px solid var(--accent); }
 .compare-step-content { grid-template-columns:1fr; gap:24px; padding:0 0 28px; }
 .compare-full-copy { padding-left:16px; font-size:1rem; }
 .compare-result { padding-top:40px; }
 .compare-results-panel { padding:28px 24px; border-radius:24px; }
 .compare-results-panel > h2 { margin-bottom:26px; }
 .compare-result-pair { grid-template-columns:1fr; gap:32px; }
 .compare-outcome + .compare-outcome { padding-top:28px; border-top:1px solid #ffffff40; }
 .compare-result-icon { width:40px; height:40px; margin-bottom:14px; }
 .compare-outcome .compare-path-label { font-size:.75rem; }
 .compare-question { gap:16px; margin-top:28px; }
 .compare-question > span { flex-basis:36px; height:36px; font-size:1.125rem; }
 .compare-cost { padding-top:48px; }
 .compare-cost > h2 { margin-bottom:24px; }
 .compare-cost-grid { grid-template-columns:1fr; gap:28px; }
 .compare-cost-breakdown { padding-left:20px; }
 .compare-cost-professional { gap:16px; margin-top:30px; }
 .compare-cost-icon { flex-basis:36px; height:36px; }
 .compare-cost-icon .icon { width:20px; height:20px; }
 .compare-closing { flex-direction:column; align-items:flex-start; padding:26px 24px; margin-top:28px; gap:22px; }
}
@media(max-width:420px) {
 .compare-step-summary { grid-template-columns:1fr; gap:16px; }
 .compare-step-answer { padding-left:14px; border-left:3px solid #111; }
 .compare-step-answer-team { border-color:var(--accent); }
 .compare-path-label { margin-bottom:4px; }
 .compare-step-lead { line-height:1.5; }
}
@media(prefers-reduced-motion:reduce) {
 .compare-jump a,.compare-step-summary,.compare-step-control { transition:none; }
}

/* v10: extend the supplied v8 typography and rounded-panel design. */
.compare-page { --carbon:#0b0c0a; }
.compare-page .header-inner { background:#0b0c0af5; border-color:#2c3028; }
.compare-page .site-footer { background:#0b0c0a; }
.compare-page .compare-hero { padding-top:calc(var(--hero-clearance,118px) + 44px); padding-bottom:80px; text-align:center; }
.compare-hero h1 { max-width:1140px; margin-inline:auto; font:700 clamp(2.625rem,5.25vw,4.625rem)/1.1 var(--heading); letter-spacing:-.06em; }
.compare-title-vs { display:inline-block; padding:.06em .3em .1em; border:1px solid #dfedc8; border-radius:999px; background:#f3ffdc; }
.compare-lead { max-width:820px; margin:32px auto 0; font-size:1.1875rem; line-height:1.65; }
.compare-intro-copy { grid-template-columns:1fr; gap:16px; max-width:780px; margin:20px auto 0; font-size:1.0625rem; line-height:1.8; color:var(--graphite); }
.compare-jump { justify-content:center; margin-top:30px; }
.compare-jump a { min-height:50px; padding:13px 23px; border-color:var(--fog); background:#fff; }
.compare-jump a:first-child { background:var(--accent); border-color:var(--accent); color:var(--carbon); }
.compare-jump a:hover { background:#c5ff50; border-color:#c5ff50; }
.compare-stages { display:grid; gap:20px; }
.compare-section-heading { gap:32px; margin-bottom:12px; }
.compare-section-heading h2,.compare-results-panel > h2,.compare-cost > h2 { font:700 clamp(2rem,3.7vw,3.25rem)/1.14 var(--heading); letter-spacing:-.055em; }
.compare-section-heading > p { max-width:270px; font-size:1rem; line-height:1.65; color:var(--graphite); }
.compare-step { min-width:0; border:1px solid var(--fog); border-radius:28px; background:#fff; box-shadow:0 4px 24px #0b0c0a04; }
.compare-step[open] { background:var(--linen); }
.compare-step-summary { position:relative; grid-template-columns:1fr 1fr; gap:24px 32px; padding:28px 32px 30px; }
.compare-step-summary:focus-visible { border-radius:28px; }
.compare-step-topic { grid-column:1/-1; padding-right:60px; }
.compare-step-topic > span:last-child { display:flex; align-items:center; flex-wrap:wrap; gap:10px 16px; }
.compare-step-icon { width:48px; height:48px; flex-basis:48px; background:#171717; }
.compare-step-icon .icon { width:24px; height:24px; }
.compare-step-index { display:inline-grid; place-items:center; min-width:36px; height:28px; padding:4px 8px; margin:0; border-radius:999px; background:var(--accent); color:var(--carbon); font:700 .8125rem/1 var(--heading); }
.compare-step-name { font:700 1.125rem/1.4 var(--heading); letter-spacing:-.035em; text-transform:none; }
.compare-step-answer { padding-left:64px; }
.compare-step-answer-team { padding-left:28px; border:0; }
.compare-path-label { width:fit-content; margin-bottom:10px; font-size:.8125rem; }
.compare-step-answer-team .compare-path-label { padding:5px 11px; margin-top:-5px; margin-bottom:5px; border-radius:999px; background:var(--accent); color:var(--carbon); }
.compare-step-answer-team .compare-path-label::before { display:none; }
.compare-step-lead { max-width:430px; font-weight:600; line-height:1.65; }
.compare-step-control { position:absolute; right:30px; top:28px; }
.compare-detail-mark { border:0; background:var(--mist); }
.compare-detail-mark::before,.compare-detail-mark::after { left:11px; top:17px; }
.compare-step-content { gap:16px; padding:0 24px 24px; }
.compare-full-copy { padding:28px; border:1px solid var(--fog); border-radius:24px; background:#fff; color:var(--graphite); }
.compare-full-copy-team { background:#242424; border-color:#303030; color:#fff; }
.compare-full-copy h3 { font:700 1.0625rem/1.4 var(--heading); letter-spacing:-.035em; color:var(--carbon); margin-bottom:18px; }
.compare-full-copy-team h3 { color:var(--accent); }
.compare-result { padding-top:80px; }
.compare-results-panel { background:#0c0c0c; border-radius:32px; }
.compare-result-pair { grid-template-columns:1fr 1fr; gap:20px; }
.compare-outcome { padding:28px; border:1px solid #303030; border-radius:24px; background:#242424; }
.compare-result-icon { width:48px; height:48px; background:#171717; color:#fff; }
.compare-outcome-team .compare-result-icon { background:var(--accent); color:var(--carbon); }
.compare-outcome h3 { font:700 clamp(1.25rem,2.1vw,1.75rem)/1.35 var(--heading); letter-spacing:-.035em; margin-bottom:18px; }
.compare-question { gap:24px; max-width:1060px; margin-top:40px; }
.compare-cost { padding-top:80px; }
.compare-cost > h2 { margin-bottom:36px; }
.compare-cost-grid { grid-template-columns:1.15fr 1fr; font-size:1.0625rem; }
.compare-cost-breakdown { padding:30px; border:1px solid var(--fog); border-radius:28px; background:var(--linen); }
.compare-cost-breakdown h3 { margin-bottom:22px; }
.compare-cost-breakdown ul { display:grid; gap:18px; }
.compare-cost-breakdown li { margin:0; font-weight:600; }
.compare-cost-professional { max-width:1060px; font-size:1.0625rem; }
.compare-cost-icon { background:#171717; }
.compare-closing { padding:34px; margin-top:40px; border-radius:28px; }
@media(max-width:959px) {
 .compare-step-answer { padding-left:0; }
 .compare-cost-grid { gap:32px; }
 .compare-results-panel { padding:28px; }
 .compare-outcome { padding:24px; }
}
@media(max-width:767px) {
 .compare-page .compare-hero { padding-top:calc(var(--hero-clearance,100px) + 24px); padding-bottom:56px; }
 .compare-hero h1 { font-size:clamp(2rem,7.3vw,3.25rem); line-height:1.12; letter-spacing:-.055em; }
 .compare-lead { font-size:1.0625rem; margin-top:24px; }
 .compare-intro-copy { font-size:1rem; line-height:1.75; }
 .compare-jump a { padding:10px 16px; font-size:.8125rem; }
 .compare-section-heading h2,.compare-results-panel > h2,.compare-cost > h2 { font-size:clamp(1.875rem,7vw,2.75rem); line-height:1.17; }
 .compare-section-heading > p { max-width:none; margin-top:16px; }
 .compare-step { border-radius:24px; }
 .compare-step-summary { gap:24px 20px; padding:24px; }
 .compare-step-topic { gap:12px; padding-right:44px; }
 .compare-step-topic > span:last-child { gap:6px; }
 .compare-step-index { min-width:32px; height:24px; font-size:.75rem; }
 .compare-step-name { font-size:1rem; }
 .compare-step-control { right:20px; top:24px; }
 .compare-step-lead { font-size:1rem; }
 .compare-path-label { font-size:.75rem; }
 .compare-step-answer-team .compare-path-label { margin-top:0; margin-bottom:8px; }
 .compare-step-content { grid-template-columns:1fr; gap:12px; padding:0 12px 12px; }
 .compare-full-copy { padding:24px; border-radius:20px; }
 .compare-result { padding-top:56px; }
 .compare-results-panel { padding:28px 16px 16px; border-radius:28px; }
 .compare-results-panel > h2 { margin:0 8px 24px; }
 .compare-result-pair { grid-template-columns:1fr; gap:16px; }
 .compare-outcome + .compare-outcome { padding-top:24px; border-top:1px solid #303030; }
 .compare-question { gap:16px; margin-top:28px; }
 .compare-question > span { flex-basis:40px; height:40px; }
 .compare-cost { padding-top:56px; }
 .compare-cost-grid { grid-template-columns:1fr; gap:28px; font-size:1rem; }
 .compare-cost-breakdown { padding:24px; border-radius:24px; }
 .compare-cost-professional { gap:16px; font-size:1rem; }
 .compare-cost-icon { flex-basis:40px; height:40px; }
 .compare-closing { gap:24px; padding:28px; border-radius:24px; }
}
@media(max-width:479px) {
 .compare-step-summary { grid-template-columns:1fr; gap:22px; padding:24px 20px; }
 .compare-step-topic { align-items:flex-start; }
 .compare-step-topic > span:last-child { display:grid; }
 .compare-step-answer { padding-left:0; border:0; }
 .compare-step-answer-team { padding-top:2px; }
 .compare-step-control { right:16px; }
 .compare-step-icon { width:40px; height:40px; flex-basis:40px; }
 .compare-step-icon .icon { width:20px; height:20px; }
 .compare-full-copy { padding:22px 20px; }
 .compare-outcome { padding:24px 20px; }
}
