@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap";@import "https://api.fontshare.com/v2/css?f[]=cabinet-grotesk@400,700&display=swap";:root{--colour-background:#fff;--colour-surface:#f6f6f3;--colour-text-primary:#17181a;--colour-text-secondary:#5a5f66;--colour-border:#e2e3df;--colour-brand:#14213d;--colour-accent:#2447d6;--colour-success:#1e7a46;--colour-warning:#b45309;--colour-error:#c81e1e;--colour-sale:#9f1d5c;--colour-accent-hover:#1d3bb8;--colour-accent-active:#1830a0;--colour-accent-soft:#eef2fc;--colour-accent-border:#c9d6f5;--colour-brand-hover:#1a2c52;--font-display:"Cabinet Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--type-xs:12px;--type-sm:14px;--type-base:16px;--type-lg:20px;--type-xl:25px;--type-2xl:31px;--type-3xl:39px;--weight-body:400;--weight-emphasis:600;--weight-heading:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--radius-sm:4px;--radius-md:8px;--radius-full:9999px;--shadow-card:0 1px 3px #00000014;--shadow-dropdown:0 4px 16px #0000001f;--shadow-modal:0 24px 64px #14213d26;--max-width:1200px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:var(--type-base);font-weight:var(--weight-body);color:var(--colour-text-primary);background:var(--colour-background);line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--weight-heading);color:var(--colour-text-primary)}a{color:var(--colour-brand);text-decoration:none}a:hover{color:var(--colour-accent)}button{cursor:pointer;font-family:inherit}.container{max-width:var(--max-width);margin:0 auto;padding:0 20px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.header{border-bottom:1px solid var(--colour-border);z-index:100;background:var(--colour-background);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:var(--space-4);height:56px;display:flex}.logo{font-family:var(--font-display);font-size:var(--type-xl);font-weight:var(--weight-heading);color:var(--colour-brand);letter-spacing:-.02em;line-height:1}.logo span{color:var(--colour-accent)}.search-bar{flex:auto;min-width:120px;max-width:320px}.search-bar input{width:100%;padding:var(--space-2) var(--space-4);border:1px solid var(--colour-border);border-radius:var(--radius-sm);font-size:var(--type-base);color:var(--colour-text-primary);background:var(--colour-surface);outline:none;min-height:44px;transition:border-color .15s,box-shadow .15s}.search-bar input::placeholder{color:var(--colour-text-secondary)}.search-bar input:focus{border-color:var(--colour-accent);background:var(--colour-background);box-shadow:0 0 0 2px var(--colour-accent-soft)}.header-actions{gap:var(--space-3);align-items:center;display:flex}.cart-link{padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--colour-border);font-size:var(--type-sm);font-weight:var(--weight-body);color:var(--colour-text-primary);background:var(--colour-background);align-items:center;gap:var(--space-2);min-height:44px;transition:border-color .15s,background .15s;display:inline-flex}.cart-link:hover{border-color:var(--colour-brand);color:var(--colour-brand)}.cart-link:focus-visible{outline:2px solid var(--colour-accent);outline-offset:2px}.cat-nav{border-bottom:1px solid var(--colour-border);background:var(--colour-background)}.cat-nav-inner{gap:var(--space-1);scrollbar-width:none;display:flex;overflow-x:auto}.cat-nav-inner::-webkit-scrollbar{display:none}.cat-nav a{white-space:nowrap;padding:var(--space-3) var(--space-4);font-size:var(--type-sm);font-weight:var(--weight-body);color:var(--colour-text-secondary);border-bottom:2px solid #0000;transition:color .15s,border-color .15s}.cat-nav a:hover{color:var(--colour-text-primary);border-bottom-color:var(--colour-brand)}.cat-nav a.active{color:var(--colour-brand);border-bottom-color:var(--colour-brand);font-weight:var(--weight-emphasis)}.hero{padding:var(--space-12) 0 var(--space-6);border-bottom:1px solid var(--colour-border)}.hero h1{font-size:var(--type-3xl);letter-spacing:-.03em;max-width:720px;line-height:1.1}.hero p{font-size:var(--type-base);color:var(--colour-text-secondary);max-width:520px;margin-top:var(--space-3);line-height:1.5}.hero-meta{gap:var(--space-6);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.hero-meta-item{font-size:var(--type-sm);color:var(--colour-text-secondary);align-items:center;gap:var(--space-2);display:flex}.hero-meta-item:before{content:"";border-radius:var(--radius-full);background:var(--colour-success);flex-shrink:0;width:6px;height:6px}.section{padding:var(--space-8) 0}.section-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:baseline;display:flex}.section-header h2{font-size:var(--type-2xl);line-height:1.2}.section-link{font-size:var(--type-sm);font-weight:var(--weight-body);color:var(--colour-brand)}.section-link:hover{color:var(--colour-accent)}.guides{background:var(--colour-border);border:1px solid var(--colour-border);border-radius:var(--radius-md);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1px;display:grid;overflow:hidden}.guide-card{background:var(--colour-background);padding:var(--space-6);transition:background .15s;display:block}.guide-card:hover{background:var(--colour-surface)}.guide-card:focus-visible{outline:2px solid var(--colour-accent);outline-offset:-2px}.guide-card h3{font-size:var(--type-base);font-weight:var(--weight-emphasis);margin-bottom:var(--space-1);color:var(--colour-text-primary)}.guide-card p{font-size:var(--type-sm);color:var(--colour-text-secondary);line-height:1.5}.guide-count{margin-top:var(--space-3);font-size:var(--type-xs);color:var(--colour-brand);display:inline-block}.product-grid{gap:var(--space-8);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.product-card{transition:transform .15s;display:block}.product-card:hover{transform:translateY(-2px)}.product-card:focus-visible{outline:2px solid var(--colour-accent);outline-offset:2px}.image-wrap{background:var(--colour-surface);border-radius:var(--radius-md);aspect-ratio:1;margin-bottom:var(--space-3);overflow:hidden}.product-card img{object-fit:cover;width:100%;height:100%}.no-image{width:100%;height:100%;font-size:var(--type-sm);color:var(--colour-text-secondary);background:var(--colour-surface);justify-content:center;align-items:center;display:flex}.product-card .brand{font-size:var(--type-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--colour-text-secondary);font-weight:var(--weight-emphasis)}.product-card .title{font-size:var(--type-sm);font-weight:var(--weight-body);color:var(--colour-text-primary);margin:var(--space-1) 0 var(--space-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4;display:-webkit-box;overflow:hidden}.product-card .price{font-size:var(--type-lg);font-weight:var(--weight-emphasis);color:var(--colour-text-primary);font-variant-numeric:tabular-nums}.type-badge{margin-top:var(--space-2);padding:2px var(--space-2);border-radius:var(--radius-sm);background:var(--colour-surface);font-size:var(--type-xs);color:var(--colour-text-secondary);font-weight:var(--weight-body);display:inline-block}.product-detail{gap:var(--space-8);padding:var(--space-6) 0;grid-template-columns:440px 1fr;display:grid}.product-detail .image-wrap{border-radius:var(--radius-md);aspect-ratio:1}.product-detail .image-wrap img{object-fit:contain}.product-info{min-width:0}.product-detail .brand{font-size:var(--type-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--colour-text-secondary);font-weight:var(--weight-emphasis)}.product-detail h1{font-size:var(--type-2xl);margin:var(--space-1) 0 var(--space-4);line-height:1.2}.verdict{border-left:3px solid var(--colour-accent);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);background:var(--colour-surface);border-radius:0 var(--radius-md) var(--radius-md) 0}.verdict-label{font-size:var(--type-xs);font-weight:var(--weight-emphasis);text-transform:uppercase;letter-spacing:.08em;color:var(--colour-brand);margin-bottom:var(--space-1);display:block}.verdict-text{font-family:var(--font-display);font-size:var(--type-xl);font-weight:var(--weight-heading);color:var(--colour-text-primary);line-height:1.3}.product-detail .price{font-size:var(--type-xl);font-weight:var(--weight-emphasis);color:var(--colour-text-primary);font-variant-numeric:tabular-nums;margin-bottom:var(--space-4)}.stock-status{align-items:center;gap:var(--space-2);font-size:var(--type-sm);font-weight:var(--weight-emphasis);margin-bottom:var(--space-4);display:flex}.stock-status.in-stock{color:var(--colour-success)}.stock-status.low-stock{color:var(--colour-warning)}.stock-status.out-stock{color:var(--colour-error)}.stock-icon{flex-shrink:0;width:16px;height:16px}.delivery-info{padding:var(--space-3) var(--space-4);background:var(--colour-surface);border-radius:var(--radius-md);font-size:var(--type-sm);color:var(--colour-text-secondary);margin-bottom:var(--space-4);line-height:1.6}.delivery-info strong{color:var(--colour-text-primary)}.total-cost{font-weight:var(--weight-emphasis);color:var(--colour-text-primary);margin-top:var(--space-1);display:block}.delivery-options{font-size:var(--type-xs);color:var(--colour-text-secondary);margin-top:var(--space-1);display:block}.btn-primary{width:100%;padding:var(--space-3) var(--space-6);background:var(--colour-accent);color:#fff;border-radius:var(--radius-md);font-size:var(--type-base);font-weight:var(--weight-emphasis);border:none;min-height:44px;transition:background .15s;display:block}.btn-primary:hover{background:var(--colour-accent-hover)}.btn-primary:active{background:var(--colour-accent-active)}.btn-primary:focus-visible{outline:2px solid var(--colour-brand);outline-offset:2px}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:var(--space-2) var(--space-4);background:var(--colour-background);color:var(--colour-text-primary);border:1px solid var(--colour-border);border-radius:var(--radius-md);font-size:var(--type-sm);font-weight:var(--weight-body);align-items:center;min-height:44px;transition:border-color .15s;display:inline-flex}.btn-secondary:hover{border-color:var(--colour-brand)}.btn-secondary:focus-visible{outline:2px solid var(--colour-accent);outline-offset:2px}.btn-cart{width:100%;padding:var(--space-3) var(--space-6);background:var(--colour-accent);color:#fff;border-radius:var(--radius-md);font-size:var(--type-base);font-weight:var(--weight-emphasis);border:none;min-height:44px;transition:background .15s;display:block}.btn-cart:hover{background:var(--colour-accent-hover)}.btn-cart:active{background:var(--colour-accent-active)}.btn-cart:focus-visible{outline:2px solid var(--colour-brand);outline-offset:2px}.features{margin-top:var(--space-8)}.features h3,.specs h3{font-size:var(--type-sm);font-weight:var(--weight-emphasis);color:var(--colour-text-secondary);margin-bottom:var(--space-3);text-transform:uppercase;letter-spacing:.05em}.features ul{list-style:none}.features li{padding:var(--space-2) 0;border-bottom:1px solid var(--colour-border);font-size:var(--type-sm);color:var(--colour-text-secondary)}.specs table{border-collapse:collapse;width:100%}.specs td{padding:var(--space-2) 0;border-bottom:1px solid var(--colour-border);font-size:var(--type-sm)}.specs td:first-child{font-weight:var(--weight-emphasis);color:var(--colour-text-primary);width:45%}.specs td:last-child{color:var(--colour-text-secondary)}.breadcrumb{padding:var(--space-4) 0;font-size:var(--type-sm);color:var(--colour-text-secondary)}.breadcrumb a{color:var(--colour-text-secondary)}.breadcrumb a:hover{color:var(--colour-brand)}.category-header{padding:var(--space-4) 0 var(--space-3);border-bottom:1px solid var(--colour-border);margin-bottom:var(--space-6)}.category-header h1{font-size:var(--type-2xl);line-height:1.2}.category-header .count{font-size:var(--type-sm);color:var(--colour-text-secondary);margin-top:var(--space-1)}.category-summary{padding:var(--space-4) 0 var(--space-3);margin-bottom:var(--space-6);border-bottom:1px solid var(--colour-border)}.category-summary p{font-size:var(--type-base);color:var(--colour-text-secondary);margin-bottom:var(--space-3);line-height:1.6}.category-summary p:last-child{margin-bottom:0}.category-summary strong{color:var(--colour-text-primary)}.quick-picks{margin-bottom:var(--space-8)}.quick-picks-title{font-size:var(--type-base);font-weight:var(--weight-emphasis);margin-bottom:var(--space-3)}.quick-picks-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.quick-pick{padding:var(--space-3) var(--space-4);border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-surface)}.quick-pick-label{font-size:var(--type-xs);font-weight:var(--weight-emphasis);text-transform:uppercase;letter-spacing:.05em;color:var(--colour-brand);margin-bottom:var(--space-1);display:block}.quick-pick-link{font-size:var(--type-sm);font-weight:var(--weight-body);color:var(--colour-text-primary);margin-bottom:var(--space-1);line-height:1.4;display:block}.quick-pick-link:hover{color:var(--colour-brand)}.quick-pick-price{font-size:var(--type-base);font-weight:var(--weight-emphasis);color:var(--colour-text-primary);font-variant-numeric:tabular-nums}.product-copy{max-width:680px;padding:var(--space-8) 0}.copy-section{margin-bottom:var(--space-8)}.copy-section h2{font-size:var(--type-xl);margin-bottom:var(--space-3);line-height:1.3}.copy-section p{font-size:var(--type-base);color:var(--colour-text-secondary);line-height:1.7}.copy-section ul{padding:0;list-style:none}.copy-section li{padding:var(--space-2) 0;border-bottom:1px solid var(--colour-border);font-size:var(--type-base);color:var(--colour-text-secondary);line-height:1.6}.copy-section li:before{content:"•";color:var(--colour-accent);margin-right:var(--space-2);font-weight:700}.faq-list{margin:0;padding:0}.faq-item{padding:var(--space-3) 0;border-bottom:1px solid var(--colour-border)}.faq-item dt{font-size:var(--type-base);font-weight:var(--weight-emphasis);color:var(--colour-text-primary);margin-bottom:var(--space-1)}.faq-item dd{font-size:var(--type-base);color:var(--colour-text-secondary);margin:0;line-height:1.6}.cart-empty{text-align:center;padding:var(--space-16) var(--space-6)}.cart-empty h1{font-size:var(--type-xl);margin-bottom:var(--space-2)}.cart-empty p{color:var(--colour-text-secondary);font-size:var(--type-base)}.guide-badge{padding:var(--space-1) var(--space-3);background:var(--colour-accent-soft);color:var(--colour-accent);border-radius:var(--radius-sm);font-size:var(--type-xs);font-weight:var(--weight-emphasis);margin-bottom:var(--space-3);display:inline-block}.guide-header h1{font-size:var(--type-2xl);line-height:1.2}.guide-header p{font-size:var(--type-base);color:var(--colour-text-secondary);margin-top:var(--space-2);max-width:560px;line-height:1.6}.guide-header .count{font-size:var(--type-sm);color:var(--colour-text-secondary);margin-top:var(--space-3)}.top-pick{font-size:var(--type-xs);color:var(--colour-accent);font-weight:var(--weight-emphasis);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}.guide-disclaimer{margin:var(--space-12) 0;padding:var(--space-6);background:var(--colour-surface);border-radius:var(--radius-md);text-align:center}.guide-disclaimer p{font-size:var(--type-sm);color:var(--colour-text-secondary);line-height:1.6}.trust-page{max-width:680px;padding:var(--space-6) var(--space-6) var(--space-16)}.trust-page h1{font-size:var(--type-2xl);margin:var(--space-6) 0;line-height:1.2}.trust-page p{font-size:var(--type-base);color:var(--colour-text-secondary);margin-bottom:var(--space-4);line-height:1.7}.footer{border-top:1px solid var(--colour-border);padding:var(--space-8) 0;margin-top:var(--space-16);background:var(--colour-brand);color:#fff}.footer-inner{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.footer .brand{font-family:var(--font-display);font-size:var(--type-lg);font-weight:var(--weight-heading);color:#fff}.footer .footer-note{font-size:var(--type-sm);color:#fff9}.footer-nav{gap:var(--space-6);display:flex}.footer-nav a{font-size:var(--type-sm);color:#ffffffb3;font-weight:var(--weight-body)}.footer-nav a:hover{color:#fff}.auth-gate{background:var(--colour-surface);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{text-align:center;max-width:400px;padding:var(--space-12);background:var(--colour-background);border-radius:var(--radius-md);box-shadow:var(--shadow-modal)}.auth-logo{font-family:var(--font-display);font-size:var(--type-2xl);font-weight:var(--weight-heading);letter-spacing:-.02em;margin-bottom:var(--space-2);color:var(--colour-brand)}.auth-logo span{color:var(--colour-accent)}.auth-card p{color:var(--colour-text-secondary);font-size:var(--type-base);margin-bottom:var(--space-6)}.auth-error{color:var(--colour-error);font-size:var(--type-sm);margin-bottom:var(--space-3)}.auth-card form{gap:var(--space-3);flex-direction:column;display:flex}.auth-card input{padding:var(--space-3) var(--space-4);border:1px solid var(--colour-border);border-radius:var(--radius-sm);font-size:var(--type-base);text-align:center;outline:none;min-height:44px;transition:border-color .15s,box-shadow .15s}.auth-card input:focus{border-color:var(--colour-accent);box-shadow:0 0 0 2px var(--colour-accent-soft)}.auth-card button{padding:var(--space-3);background:var(--colour-accent);color:#fff;border-radius:var(--radius-md);font-size:var(--type-base);font-weight:var(--weight-emphasis);border:none;min-height:44px;transition:background .15s}.auth-card button:hover{background:var(--colour-accent-hover)}@media (width<=768px){.container{padding:0 20px}.product-detail{gap:var(--space-4);grid-template-columns:1fr}.hero h1{font-size:var(--type-2xl)}.header-inner{gap:var(--space-2);flex-wrap:nowrap;height:56px}.search-bar{min-width:80px;max-width:180px}.product-grid{gap:var(--space-4);grid-template-columns:repeat(2,1fr)}.guides{grid-template-columns:1fr}.footer-inner{text-align:center;gap:var(--space-3);flex-direction:column}.product-copy{max-width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
