/* ComparaLoc: visual introduction, clear selector, comparable product cards. */
.comparator-page{background:#fff;color:#142535}
.comparator-page .shell{width:min(1180px,calc(100% - 64px))}
.comparator-page main,.comparator-page section,.comparator-page form,.comparator-page details,.comparator-page .tool-card>*{min-width:0}
.comparator-page .header-inner{min-height:78px}
.comparator-page .agenda-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:64px;align-items:center;padding:42px 0}
.comparator-page .agenda-hero .hero-copy{display:block}
.comparator-page .agenda-hero .eyebrow{font-size:.75rem;letter-spacing:.09em;margin-bottom:14px}
.comparator-page .agenda-hero h1{font-size:clamp(2.25rem,3.6vw,3.1rem);line-height:1.12;letter-spacing:-.04em;max-width:620px}
.comparator-page .agenda-hero h1 span{color:#2156db}
.comparator-page .agenda-hero .intro{font-size:1.0625rem;line-height:1.6;margin-top:18px;max-width:530px;color:#526477}
.comparator-page .agenda-hero .hero-image{display:block!important;position:relative;grid-column:auto;grid-row:auto;width:100%;height:205px;min-height:0;margin:24px 0 0;border-radius:12px;overflow:hidden}
.comparator-page .hero-image img{display:block;object-fit:cover;object-position:center 55%;width:100%;height:100%}
.comparator-page .hero-image:after{content:'';display:block;position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#122434b3)}
.comparator-page .hero-image figcaption{display:block;position:absolute;z-index:1;bottom:14px;left:18px;right:18px;color:#fff;font-size:.8125rem;line-height:1.4;font-weight:500}
.comparator-page .direct-results{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;font-size:.875rem;border:0;padding:8px 0;line-height:1.5}
.comparator-page .selector-panel{padding:0 24px 18px;border:1px solid #d8e1ed;border-radius:14px;background:#fff;box-shadow:0 12px 40px #152d4810;overflow:hidden}
.comparator-page .selector-panel .sim-form{display:block;padding:0;margin:0;border:0;background:none;box-shadow:none}
.comparator-page .selector-heading{background:#162c41;color:white;margin:0 -24px 22px;padding:24px}
.comparator-page .selector-heading .eyebrow{color:#a9c5ff;margin-bottom:9px;font-size:.6875rem}
.comparator-page .selector-heading h2{font-size:1.45rem;line-height:1.3;color:white;margin:0;letter-spacing:-.025em}
.filter-fields{display:grid;grid-template-columns:110px minmax(0,1fr);gap:18px 16px;align-items:start}
.filter-fields>label:first-child{grid-column:1/-1}
.comparator-page .selector-panel label,.comparator-page .selector-panel .online-label{display:block;font-size:.875rem;line-height:1.5;font-weight:600;margin:0}
.comparator-page .selector-panel input,.comparator-page .selector-panel select{display:block;width:100%;max-width:100%;min-height:48px;padding:10px;background:white;border:1px solid #bbc9d8;border-radius:6px;font-size:1rem;margin-top:7px;color:#142535}
.comparator-page .selector-panel small{font-size:.75rem;font-weight:400;line-height:1.45;color:#526477;margin-top:6px}
.comparator-page .selector-panel .extra-needs{margin:18px 0 0;border-top:1px solid #e4eaf1}
.comparator-page .extra-needs>summary{padding:12px 0;min-height:44px;font-size:.8125rem;line-height:1.5;color:#526477;cursor:pointer}
.comparator-page .extra-needs label{margin-top:12px}
.comparator-page .selector-submit{width:100%;min-height:48px;margin-top:12px;padding:12px;font-size:.9375rem;line-height:1.5}
.comparator-page .selector-panel .reset-button{min-height:44px;display:block;margin:6px auto 0;padding:10px;font-size:.8125rem}
.comparator-page .selector-note{text-align:center;font-size:.75rem;color:#526477;line-height:1.5;margin:0}
.trust-strip{border-block:1px solid #dde6ef;background:#f3f7fc}
.trust-strip>.shell{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:19px}
.trust-strip span{display:flex;align-items:center;gap:10px;font-size:.875rem;color:#455e75}
.trust-strip strong{color:#2156db;font-size:1.25rem}
.comparator-page .selection{padding:40px 0 30px}
.comparator-page .selection>.section-top{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}
.comparator-page .selection>.section-top .eyebrow{font-size:.6875rem;margin-bottom:9px}
.comparator-page .selection>.section-top h2{font-size:1.9rem;line-height:1.25}
.comparator-page #selection-summary{font-size:.8125rem;color:#526477;white-space:nowrap}
.comparator-page .results-note{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:.875rem;line-height:1.5;max-width:none;padding:12px 16px;background:#f3f7fc;border-radius:6px;margin:0 0 22px}
.comparator-page .results-note a{font-size:.8125rem;flex-shrink:0}
.comparator-page .selection .tool-grid{display:block;margin:0}
.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}
.comparator-page .selection .tool-card{position:relative;display:flex;flex-direction:column;padding:24px;border:1px solid #d5e0ed;border-radius:12px;background:#fff;box-shadow:0 3px 12px #162c4105;outline:0;overflow-wrap:anywhere;min-width:0;align-self:stretch}
.comparator-page .selection .tool-card:has(.pick-badge){border-top:3px solid #2156db;padding-top:22px}
.comparator-page .selection .tool-top{display:flex;align-items:center;gap:12px;margin:0}
.comparator-page .selection .tool-top h3{font-size:1.2rem;line-height:1.3;margin:0}
.comparator-page .tool-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:10px;font-size:1.3rem;background:var(--tool-bg);color:var(--tool-color)}
.comparator-page .tool-identity{min-height:77px}
.pick-badge{display:inline-block;color:#2156a9;background:#edf4ff;border-radius:4px;padding:3px 7px;margin-top:10px;font-size:.6875rem;font-weight:600}
.comparator-page .tool-fit{margin-top:10px}
.comparator-page .selection .tool-description{font-size:.9375rem;line-height:1.55;min-height:0;margin:0;color:#263e52}
.comparator-page .selection .card-limit{font-size:.8125rem;line-height:1.5;color:#74603d;margin:12px 0 0;padding-left:10px;border-left:2px solid #e5d5b7}
.comparator-page .card-limit strong{display:inline;font-weight:600;margin:0}
.comparator-page .selection .price-block{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 6px;min-height:0;padding:18px 0 0;margin:18px 0;border-top:1px solid #e5ebf2}
.comparator-page .selection .price-prefix{flex-basis:100%;font-size:.75rem;color:#526477;line-height:1.4;margin:0 0 3px}
.comparator-page .selection .price-value{font-size:2rem;line-height:1.2;letter-spacing:-.045em}
.comparator-page .price-unit{font-size:.75rem;line-height:1.5;color:#526477;flex-basis:100%}
.comparator-page .selection .tool-actions{margin-top:auto;display:block}
.comparator-page .selection .tool-actions .button{width:100%;min-height:48px;font-size:.9375rem;line-height:1.4;padding:12px;white-space:normal;text-align:center}
.card-secondary{display:flex;flex-direction:column;margin-top:8px}
.comparator-page .compare-label{display:flex;align-items:center;gap:8px;font-size:.8125rem;min-height:44px;margin:0;padding:0;cursor:pointer}
.comparator-page .compare-label input{width:18px;height:18px;flex:0 0 18px;accent-color:#2156db}
.comparator-page .selection .card-details{padding:0;margin:0;border:0;border-top:1px solid #edf0f5}
.comparator-page .card-details>summary{font-size:.8125rem;min-height:44px;padding:11px 0;line-height:1.5;color:#456482;cursor:pointer}
.comparator-page .card-details p,.comparator-page .card-details a{font-size:.875rem;line-height:1.6;overflow-wrap:anywhere}
.comparator-page .card-details p{margin:12px 0}
.comparator-page .card-details .profile-link,.comparator-page .card-lower-actions a{display:inline-block;padding:10px 0;min-height:44px}
.comparator-page .card-feedback{font-size:.8125rem;color:#8b3b26;margin:0}
.comparator-page .card-feedback:empty{display:none}
.comparator-page .selection-bottom{display:flex;justify-content:center;margin:24px 0}
.comparator-page #show-all{min-height:48px;padding:12px 24px;font-size:.9375rem}
.comparator-page .deep-comparison{padding:0;margin:0 0 16px;border:1px solid #d5e0ed;border-radius:8px}
.comparator-page .deep-comparison>summary{padding:16px 20px;min-height:52px;font-size:1rem;cursor:pointer}
.comparator-page .deep-comparison>summary #comparison-jump{margin:0;font-size:1rem;font-weight:600;color:#2156a9}
.comparator-page .deep-comparison>summary>span:last-child{font-size:.8125rem;margin-left:16px;font-weight:400}
.comparator-page .deep-comparison .comparison-section{padding:0 16px 24px}
.comparator-page .comparison-heading{display:none}
.comparator-page .selection-other{font-size:.875rem;margin-top:12px}
.comparator-page .table-scroll{max-width:100%;overscroll-behavior-x:contain}
.comparator-page .cost-detail-section>summary{font-size:1rem;padding:16px 0;min-height:48px}
.comparator-page .why-software{padding:36px 0;border-top:1px solid #dde6ef}
.comparator-page .why-software h2{font-size:1.75rem;line-height:1.3}
.comparator-page .why-software p{font-size:1rem;line-height:1.65;max-width:850px;margin:12px 0}
.comparator-page .why-software .text-link{display:inline-block;min-height:44px;padding:10px 0;font-size:.9375rem;line-height:1.5}
.comparator-page .language-section{padding:16px 0;font-size:.9375rem;line-height:1.6}
.comparator-page .method-section{padding:28px 0;background:#f3f7fc;margin-top:12px}
.comparator-page .method-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:30px}
.comparator-page .method-layout h2{font-size:1.4rem;line-height:1.3}
.comparator-page .method-copy{font-size:.9375rem;line-height:1.65}
.comparator-page .method-copy summary{padding:12px 0;min-height:44px}
.comparator-page .additional-tools{padding:18px 0}
.comparator-page .additional-tools summary{font-size:.9375rem;min-height:44px;padding:12px 0}
.comparator-page .additional-tools details>p{margin:10px 0 16px}
.comparator-page .home-guides{padding:32px 0}
.comparator-page .home-guides h2{font-size:1.75rem}
.comparator-page .home-guides .guide-card{padding:20px}
.comparator-page .home-guides .guide-card h3{font-size:1.125rem;line-height:1.4}
.comparator-page .home-guides .guide-kicker{margin-bottom:12px}
.comparator-page .home-guides .guide-card>p:not(.guide-kicker){font-size:.875rem;line-height:1.6}
.comparator-page button,.comparator-page summary,.comparator-page .button{touch-action:manipulation}
.comparator-page :focus-visible{outline:3px solid #2156db;outline-offset:3px}
@media(max-width:1050px){
 .comparator-page .agenda-hero{gap:30px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .offer-grid{gap:14px}.comparator-page .selection .tool-card{padding:18px}.comparator-page .selection .tool-card:has(.pick-badge){padding-top:16px}
 .comparator-page .selector-panel{padding-inline:18px}.comparator-page .selector-heading{margin-inline:-18px;padding:20px 18px}
 .filter-fields{grid-template-columns:95px minmax(0,1fr);gap:14px 12px}
}
@media(max-width:760px){
 .comparator-page .shell{width:calc(100% - 32px);max-width:600px}
 .comparator-page .header-inner{min-height:66px;gap:12px}
 .comparator-page .brand img{width:170px;max-width:100%;margin:-8px 0}
 .comparator-page .mobile-menu summary{min-height:44px;padding:10px 12px}
 .comparator-page .agenda-hero{grid-template-columns:minmax(0,1fr);padding:24px 0 28px;gap:24px}
 .comparator-page .agenda-hero h1{font-size:2.15rem;line-height:1.13}
 .comparator-page .agenda-hero .eyebrow{font-size:.6875rem;margin-bottom:12px;line-height:1.5}
 .comparator-page .agenda-hero .intro{font-size:1rem;line-height:1.55;margin-top:14px}
 .comparator-page .agenda-hero .hero-image{display:block!important;height:155px;min-height:155px;margin-top:18px}
 .comparator-page .hero-image figcaption{font-size:.75rem;left:14px;bottom:12px}
 .comparator-page .direct-results{margin-top:8px}
 .comparator-page .selector-heading h2{font-size:1.3rem}
 .comparator-page .selector-panel{padding:0 16px 14px}
 .comparator-page .selector-heading{margin:0 -16px 18px;padding:20px 16px}
 .comparator-page .selector-panel input,.comparator-page .selector-panel select{font-size:1rem;min-height:48px}
 .filter-fields{grid-template-columns:90px minmax(0,1fr);gap:14px 12px}
 .comparator-page .selector-panel label{font-size:.8125rem}
 .comparator-page .selector-panel small{font-size:.75rem}
 .trust-strip>.shell{flex-wrap:wrap;gap:8px 18px;padding-block:14px}
 .trust-strip span{font-size:.75rem;gap:6px}.trust-strip strong{font-size:1rem}
 .comparator-page .selection{padding-top:28px}
 .comparator-page .selection>.section-top{display:block}
 .comparator-page .selection>.section-top h2{font-size:1.6rem}
 .comparator-page #selection-summary{margin-top:8px;white-space:normal;font-size:.8125rem}
 .comparator-page .results-note{padding:12px;font-size:.8125rem;align-items:start;margin-bottom:16px}
 .offer-grid{grid-template-columns:minmax(0,1fr);gap:16px}
 .comparator-page .selection .tool-card{display:grid;grid-template-columns:minmax(0,1fr) 105px;gap:12px;padding:18px;align-items:start}
 .comparator-page .tool-identity{min-height:0;grid-column:1;grid-row:1}
 .comparator-page .selection .tool-top{gap:8px;align-items:start}
 .comparator-page .selection .tool-top h3{font-size:1.125rem;line-height:1.3}
 .comparator-page .tool-icon{width:30px;height:30px;flex-basis:30px;border-radius:7px;font-size:1rem}
 .pick-badge{font-size:.6875rem;margin-top:8px}
 .comparator-page .selection .price-block{grid-column:2;grid-row:1;justify-content:flex-end;text-align:right;padding:0;margin:0;border:0}
 .comparator-page .selection .price-value{font-size:1.6rem}
 .comparator-page .selection .price-prefix,.comparator-page .price-unit{font-size:.75rem;line-height:1.4}
 .comparator-page .tool-fit{grid-column:1/-1;grid-row:2;margin:0}
 .comparator-page .selection .tool-description{font-size:.9375rem;line-height:1.5}
 .comparator-page .selection .card-limit{font-size:.8125rem;line-height:1.5;margin-top:8px}
 .comparator-page .tool-actions{grid-column:1/-1;grid-row:3}
 .card-secondary{grid-column:1/-1;grid-row:4;display:grid;grid-template-columns:94px minmax(0,1fr);gap:8px;margin:0;border-top:1px solid #edf0f5}
 .comparator-page .selection .card-details{border:0}
 .comparator-page .card-secondary:has(details[open]){grid-template-columns:minmax(0,1fr);gap:0}
 .comparator-page .card-feedback{grid-column:1/-1}
 .comparator-page .selection-bottom{margin:20px 0}
 .comparator-page #show-all{width:100%;font-size:.875rem}
 .comparator-page .deep-comparison>summary{padding:14px}
 .comparator-page .deep-comparison>summary #comparison-jump{font-size:.9375rem}
 .comparator-page .deep-comparison>summary>span:last-child{display:block;margin:4px 0 0;font-size:.8125rem}
 .comparator-page .deep-comparison .comparison-section{padding-inline:8px}
 .comparator-page .cost-detail-section>summary span{display:block;margin:4px 0 0}
 .comparator-page .method-layout{display:block}.comparator-page .method-copy{margin-top:16px}
 .comparator-page .home-guides .section-top{display:block}
 .comparator-page .home-guides .section-top>a{display:inline-block;padding:12px 0;min-height:44px}
 .comparator-page .site-footer{gap:16px;padding-bottom:28px}
 .comparator-page .consent-panel{left:12px;bottom:12px;width:calc(100% - 24px);padding:16px}
}
@media(prefers-reduced-motion:reduce){.comparator-page{scroll-behavior:auto}}
/* Full comparison is visible on arrival, with an independently scrollable table. */
.comparator-page .deep-comparison[open]>summary{border-bottom:1px solid #d5e0ed}
.comparator-page .comparison-heading{display:block;padding:24px 0 8px}
.comparator-page .comparison-heading h2{font-size:1.6rem;line-height:1.3}
.comparator-page .comparison-heading p,.table-hint{font-size:.875rem;color:#526477;margin-top:10px}
.comparator-page .comparison-workspace .table-scroll{max-height:760px;overflow:auto;isolation:isolate}
.comparator-page .comparison-workspace table.all-tools{display:table!important;table-layout:fixed;width:2350px;min-width:2350px!important}
.comparator-page .comparison-workspace table.all-tools thead{display:table-header-group;position:sticky;top:0;z-index:3}
.comparator-page .comparison-workspace table.all-tools tbody{display:table-row-group}
.comparator-page .comparison-workspace table.all-tools tr{display:table-row}
.comparator-page .comparison-workspace table.all-tools th,.comparator-page .comparison-workspace table.all-tools td{display:table-cell;width:240px;padding:14px;vertical-align:top}
.comparator-page .comparison-workspace table.all-tools th:first-child{display:table-cell;position:sticky;left:0;width:190px;background:#eef3f9;z-index:2}
.comparator-page .comparison-workspace table.all-tools thead th:first-child{z-index:4;background:#e2ebf6}
.comparator-page .comparison-workspace table.all-tools tbody tr:nth-child(even) td{background:#fafcfe}
@media(max-width:760px){.comparator-page .comparison-workspace table.all-tools th:first-child{width:125px;padding:10px;font-size:.75rem}.comparator-page .comparison-workspace table.all-tools{width:2190px;min-width:2190px!important}.comparator-page .comparison-workspace .table-scroll{max-height:640px}.comparator-page .comparison-heading h2{font-size:1.35rem}}
