.layout,.layout-grid{display:grid;grid-template-columns:240px 1fr;gap:56px;padding-top:32px;padding-bottom:64px;align-items:start}.filters{position:sticky;top:80px}.filter-group{margin-bottom:28px}.filter-group h4{font-family:var(--font-mono);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--slate);font-weight:500;margin-bottom:10px}.facet-list{list-style:none;padding:0;margin:0}.facet-list li{display:block}.sub-facet-list{list-style:none;padding:0;margin:0 0 0 20px}.facet-row{display:flex;align-items:center;gap:12px;padding:8px 0;cursor:pointer;user-select:none;color:var(--ink-2);font-size:var(--t-sm);transition:color .12s ease}.facet-row:hover{color:var(--ink)}.facet-row .check{width:16px;height:16px;border:1.5px solid var(--slate-300);border-radius:3px;flex:0 0 auto;display:inline-block;background:var(--paper);transition:background .12s ease,border-color .12s ease;position:relative}.facet-row[aria-pressed=true] .check{background:var(--navy);border-color:var(--navy)}.facet-row[aria-pressed=true] .check:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:10px;border:solid var(--cream);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.facet-row[aria-pressed=true]{color:var(--ink);font-weight:500}.sub-facet{font-size:var(--t-xs);color:var(--slate)}.facet-row .label{flex:1}.facet-row .count{font-family:var(--font-mono);font-size:11px;color:var(--slate)}.cap-group{margin-bottom:12px}.cap-group-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:4px;border-bottom:1px dashed var(--line);transition:color .12s ease;user-select:none}.cap-group-title{font-size:14px;font-weight:500;color:var(--slate);margin:0}.cap-list{margin-bottom:0;padding-top:6px}.cap-list .facet-row{padding:3px 0}.cap-list .check{width:14px;height:14px}.cap-list .facet-row[aria-pressed=true] .check:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid var(--cream);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.clear-all{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--amber);background:transparent;border:0;padding:0;cursor:pointer;margin-top:4px}.clear-all:hover{text-decoration:underline}.results-toolbar{display:flex;align-items:center;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:24px}.results-count{font-family:var(--font-mono);font-size:var(--t-sm);color:var(--slate)}.results-count strong{color:var(--ink);font-weight:500}.vendor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.v-card{display:flex;flex-direction:column;gap:12px;background:#ffffffd9;border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px;color:inherit;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease;backdrop-filter:blur(8px);will-change:transform;transform-origin:center bottom}.v-card:hover{border-color:var(--line-strong);box-shadow:0 1px #0f21380a,0 8px 24px -16px #0f21382e;transform:perspective(800px) rotateX(-1deg) translateY(-2px)}.v-card .head{display:flex;gap:12px;align-items:center}.logo-img.sm,.logo-mono.sm{width:48px;height:48px;flex-shrink:0;object-fit:contain;background:#fff;border-radius:6px;border:1px solid var(--line-strong);padding:4px}.logo-mono.sm{display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;font-family:var(--font-mono);text-transform:uppercase;background:var(--navy);color:#fff;border:0;padding:0}.v-card .name{font-size:var(--t-md);font-weight:600;color:var(--navy-900);letter-spacing:-.01em;line-height:1.1}.v-card .meta{margin-top:4px;font-family:var(--font-mono);font-size:var(--t-xs);color:var(--slate);text-transform:uppercase;letter-spacing:.06em}.v-card .summary{font-size:var(--t-sm);color:var(--ink-2);line-height:1.5;flex:1}.v-card .tags{display:flex;flex-wrap:wrap;gap:4px}.v-card .tag{font-size:11px;padding:2px 6px;line-height:1.2;letter-spacing:.02em}.v-card .tag.amber{font-weight:500}.empty{padding:80px 0;text-align:center}.empty h3{font-size:var(--t-2xl);margin-bottom:12px}.empty p{color:var(--slate);margin-bottom:20px}@media(max-width:900px){.layout,.layout-grid{grid-template-columns:1fr;gap:24px}.filters{position:static}.vendor-grid{grid-template-columns:1fr}}.v-card{position:relative}.compare-toggle{position:absolute;top:14px;right:14px;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line-strong);background:var(--paper);color:var(--slate);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .12s ease;z-index:10;font-size:15px;font-weight:500;user-select:none}.compare-toggle:after{content:"";position:absolute;inset:-10px;border-radius:50%}.compare-toggle:hover{border-color:var(--navy);color:var(--navy);background:var(--cream-2)}.v-card.selected-compare{border-color:var(--amber)}.v-card.selected-compare .compare-toggle{background:var(--amber);border-color:var(--amber);color:#fff}.v-card.compare-disabled{opacity:.5}.v-card.compare-disabled .compare-toggle{cursor:not-allowed}.compare-fab{position:fixed;bottom:-100px;left:50%;transform:translate(-50%);z-index:100;display:flex;align-items:center;gap:16px;background:var(--paper);border:1px solid var(--line-strong);padding:12px 24px;border-radius:100px;box-shadow:0 4px 24px #0f213826,0 2px 8px #0f21380d;transition:bottom .3s cubic-bezier(.16,1,.3,1),opacity .3s ease;opacity:0;pointer-events:none}.compare-fab.visible{bottom:24px;opacity:1;pointer-events:auto}.compare-fab-text{font-size:var(--t-sm);color:var(--navy-900);font-weight:500;white-space:nowrap}.compare-fab-btn{background:var(--amber);color:#fff;border:0;border-radius:100px;padding:8px 18px;font-size:var(--t-sm);font-weight:600;cursor:pointer;transition:background .12s ease;display:inline-flex;align-items:center;gap:6px}.compare-fab-btn:hover{background:var(--amber-600)}.compare-fab-btn:disabled{opacity:.5;cursor:not-allowed;background:var(--line-strong);color:var(--slate)}.compare-fab-clear{font-family:var(--font-mono);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--slate);background:transparent;border:0;cursor:pointer;padding:4px;transition:color .12s ease}.compare-fab-clear:hover{color:var(--navy);text-decoration:underline}.compare-fab-avatars{display:flex;align-items:center}.fab-avatar{width:28px;height:28px;border-radius:50%;border:2px solid var(--paper);background:var(--paper);overflow:hidden;margin-left:-8px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0f21381f;animation:avatar-in .2s cubic-bezier(.16,1,.3,1) forwards;transform-origin:center}.fab-avatar:first-child{margin-left:0}.fab-avatar-img{width:100%;height:100%;object-fit:contain;padding:2px}.fab-avatar-mono{width:100%;height:100%;background:var(--navy);color:var(--cream);font-family:var(--font-mono);font-size:var(--t-xs);font-weight:600;display:flex;align-items:center;justify-content:center}@keyframes avatar-in{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.carousel-container{max-width:500px;margin:24px auto 0;position:relative}.carousel-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-padding:12px}.carousel-track::-webkit-scrollbar{display:none}.carousel-card{min-width:100%;scroll-snap-align:start;scroll-snap-stop:always;padding:0 12px 40px;display:flex;flex-direction:column;box-sizing:border-box}@media(min-width:800px){.carousel-container{max-width:960px;margin:32px auto 0;padding:0 24px}.carousel-card{padding:0 12px 32px}.carousel-track.items-2 .carousel-card,.carousel-track.items-3 .carousel-card{min-width:50%}.carousel-track.items-1 .carousel-card{min-width:100%;max-width:480px;margin:0 auto}}@media(min-width:1200px){.carousel-container{max-width:1280px;padding:0 32px}.carousel-track.items-3 .carousel-card{min-width:33.3333%}}.compare-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:0;box-shadow:0 4px 20px #0f21380a,0 1px 3px #0f213805;flex-grow:1;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease;overflow:hidden;display:flex;flex-direction:column;position:relative}.compare-card:hover{border-color:var(--line-strong);box-shadow:0 8px 30px #0f213814,0 2px 6px #0f21380a;transform:translateY(-2px)}.compare-card-accent{height:6px;width:100%}.compare-card-body{padding:24px;display:flex;flex-direction:column;flex-grow:1}.compare-card-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.compare-card-header .logo-mono{width:56px;height:56px;font-size:18px;border-radius:var(--radius-lg);font-weight:600;flex:0 0 auto}.compare-card-header .logo-img{width:56px;height:56px;object-fit:contain;background:#fff;border-radius:var(--radius-lg);border:1px solid var(--line-strong);padding:6px;flex:0 0 auto}.compare-card-header .vendor-info{flex:1;min-width:0}.compare-card-header .vendor-link{font-size:var(--t-xl);font-weight:600;color:var(--navy-900);line-height:1.2;letter-spacing:-.02em;display:inline-block;transition:color .14s ease}.compare-card-header .vendor-link:hover{color:var(--amber)}.compare-affinity-wrapper{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}.compare-affinity-title{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--slate);font-weight:500;margin-bottom:8px}.compare-affinity-bar{height:10px;width:100%;background:var(--cream-2);border-radius:99px;overflow:hidden;display:flex}.compare-affinity-segment{height:100%;transition:width .3s ease}.compare-affinity-legend{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:8px}.affinity-legend-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--slate-700)}.affinity-legend-swatch{width:8px;height:8px;border-radius:50%}.affinity-legend-item strong{color:var(--ink);font-weight:600}.compare-summary-wrapper{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}.compare-summary-label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--slate);font-weight:500;margin-bottom:8px;display:flex;align-items:center;gap:5px}.compare-summary-callout{background:#f4f1ea73;border-left:3px solid var(--amber);padding:12px 14px;border-radius:0 var(--radius) var(--radius) 0}.compare-summary{font-size:var(--t-sm);color:var(--ink-2);line-height:1.5;margin:0}.compare-summary strong{color:var(--ink);font-weight:600}.compare-capabilities-wrapper{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}.compare-capabilities-title{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--slate);font-weight:500;margin-bottom:12px}.compare-capabilities-list{display:flex;flex-direction:column;gap:10px}.compare-capability-row{display:flex;align-items:center;gap:12px}.compare-capability-name{font-size:var(--t-xs);color:var(--ink-2);font-weight:500;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compare-capability-bar-bg{width:70px;height:6px;background:var(--cream-2);border-radius:99px;overflow:hidden;flex-shrink:0}.compare-capability-bar-fill{height:100%;border-radius:99px}.compare-capability-score{font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--slate-700);width:28px;text-align:right;flex-shrink:0}.compare-snapshot-wrapper{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}.compare-snapshot-title{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--slate);font-weight:500;margin-bottom:12px}.compare-snapshot-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.compare-snapshot-item{display:flex;flex-direction:column;gap:2px}.compare-snapshot-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;color:var(--slate);letter-spacing:.02em}.compare-snapshot-value{font-size:var(--t-sm);font-weight:600;color:var(--navy-900)}.compare-products-wrapper{margin-bottom:24px}.compare-products-title{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--amber);font-weight:500;margin-bottom:12px;display:flex;align-items:baseline;gap:6px}.compare-products-count{color:var(--slate);font-weight:400}.compare-products-chips{display:flex;flex-wrap:wrap;gap:6px}.compare-product-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--line-strong);background:var(--paper);border-radius:99px;color:var(--ink-2);transition:all .12s ease;font-size:11px;font-weight:500}.compare-product-chip:hover{border-color:var(--amber);background:var(--cream-2);color:var(--amber-600)}.compare-product-chip .arrow-icon{font-size:9px;color:var(--slate-300);transition:color .12s ease}.compare-product-chip:hover .arrow-icon{color:var(--amber-600)}.compare-card-footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.compare-card-footer .btn-profile{font-family:var(--font-mono);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--navy);background:var(--cream-2);border:1px solid var(--line-strong);border-radius:var(--radius);padding:10px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .14s ease;cursor:pointer}.compare-card-footer .btn-profile:hover{background:var(--navy);color:#fff;border-color:var(--navy)}.compare-card-footer .btn-profile .arrow{transition:transform .16s ease}.compare-card-footer .btn-profile:hover .arrow{transform:translate(3px)}.compare-card-footer .btn-website{font-family:var(--font-mono);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.08em;color:#fff;background:var(--amber);border:1px solid var(--amber);border-radius:var(--radius);padding:10px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .14s ease;cursor:pointer}.compare-card-footer .btn-website:hover{background:var(--amber-600);border-color:var(--amber-600)}.compare-nav{position:sticky;top:64px;z-index:30;background:#fafaf7e0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(216,211,196,.5);padding:10px 0;box-shadow:0 4px 16px #0f213805}.compare-nav.nav-collapsed{position:static;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0;box-shadow:none;border-bottom:1px solid var(--line)}.compare-nav.nav-collapsed .compare-nav-inner{display:none}.compare-nav-inner{display:flex;justify-content:center;align-items:center;gap:20px;max-width:460px;margin:0 auto;padding:0 20px}.compare-nav-btn{background:var(--paper);border:1px solid var(--line-strong);color:var(--navy-900);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 4px #0000000a;transition:all .14s ease}.compare-nav-btn:hover{background:var(--navy);color:var(--paper);border-color:var(--navy)}.compare-nav-btn:active{transform:scale(.94)}.compare-dots{display:flex;gap:8px;align-items:center}.compare-dot{width:7px;height:7px;border-radius:50%;background:var(--line-strong);transition:background .3s,transform .3s}.compare-dot.active{background:var(--navy);transform:scale(1.3)}@media(min-width:800px){.compare-nav-inner{max-width:860px}}@media(min-width:1200px){.carousel-container{max-width:1200px}}.breadcrumb{padding:32px 0 16px;font-family:var(--font-mono);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--slate)}.breadcrumb a{color:var(--slate-700)}.breadcrumb a:hover{color:var(--navy)}.breadcrumb .sep{color:var(--slate-300);margin:0 6px}.compare-actions{display:flex;gap:12px;margin-top:16px;margin-bottom:24px;padding:0 12px}.compare-actions .btn.ghost.btn-sm{min-height:32px;padding:6px 12px;font-size:var(--t-xs);border-radius:var(--radius);border:1px solid var(--line-strong);color:var(--slate-700);background:transparent;display:inline-flex;align-items:center;transition:all .12s ease;cursor:pointer;text-decoration:none}.compare-actions .btn.ghost.btn-sm:hover{background:var(--cream-2);border-color:var(--line-strong);color:var(--navy)}
