/* Product photography and fitment: approved images, calm layouts, accessible controls. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.editorial-theme [hidden]{display:none!important}
.editorial-theme button,.editorial-theme input,.editorial-theme select{font:inherit}
.editorial-theme button:focus-visible,.editorial-theme input:focus-visible,.editorial-theme select:focus-visible,.editorial-theme [tabindex]:focus-visible{outline:2px solid #f5a000;outline-offset:4px}
.editorial-home .editorial-toolbar{position:sticky;top:0;z-index:20;background:#101214;display:flex;align-items:center;gap:16px;margin-bottom:36px}
.editorial-home .editorial-filters{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:24px;margin:0;scrollbar-width:thin;min-width:0}
.editorial-home .editorial-filters button{flex:none;padding:20px 0}
.editorial-home .editorial-filters button[aria-pressed=true]::after{bottom:0}
.editorial-home .editorial-filters button:focus-visible{outline-offset:-3px}
.editorial-home .editorial-result{padding:0}
.editorial-theme .pattern-nav{position:sticky;top:0;z-index:20;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;padding:18px 4%;font-size:16px}
.editorial-theme #gallery,.editorial-theme #details,.editorial-theme #sizes,.editorial-theme #contact{scroll-margin-top:90px}
.editorial-theme .pattern-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.editorial-theme .pattern-actions .text-link{margin:10px 0 0}
.overview-open{display:block;border:0;padding:0;width:100%;background:#101214;color:#d8dddf;text-align:right;cursor:zoom-in}
.overview-open>span{display:block;padding:9px 15px;border-top:1px solid #303538;font:12px/1.4 Arial,sans-serif}
.product-gallery{padding:64px 0 50px}
.product-gallery .section-head,.pattern-sizes .section-head{align-items:flex-end;gap:24px;margin-bottom:26px}
.product-gallery .section-head h2,.pattern-sizes h2{font-size:clamp(30px,4vw,44px);letter-spacing:-.8px;line-height:1.12;margin:12px 0 0}
.product-gallery .section-head>span,.pattern-sizes .section-head>span{font-size:11px;letter-spacing:1px;text-align:right}
.photo-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px}
.photo-main{min-width:0;border:1px solid #41494e;background:#20262a}
.photo-stage{width:100%;height:570px;display:block;position:relative;border:0;padding:30px 30px 44px;background:radial-gradient(ellipse at 50% 45%,#343c42,#20262a 78%);cursor:zoom-in;touch-action:pan-y}
.photo-stage>img{width:100%;height:100%;object-fit:contain;display:block;filter:none;transform:none}
.photo-zoom{position:absolute;bottom:16px;right:20px;font:12px/1.3 Arial,sans-serif;color:#d9dfe2}
.photo-controls{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #41494e;padding:12px 16px;gap:16px;background:#181d20}
.photo-controls button,.viewer-tools button{border:1px solid #4b5459;background:#252d32;color:#fff;width:44px;height:44px;font-size:22px;cursor:pointer}
.photo-controls button:hover,.viewer-tools button:hover{border-color:#f5a000;color:#f5a000}
.photo-status{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:1;margin:0;font:15px/1.4 Arial,sans-serif}
.photo-status span{font-size:12px;color:#aeb8bd;white-space:nowrap}
.photo-thumbs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:12px}
.photo-thumb{border:1px solid #384249;background:#20262a;color:#c9d1d5;padding:9px;cursor:pointer;min-width:0;text-align:left}
.photo-thumb[aria-pressed=true]{border-color:#f5a000;box-shadow:inset 0 0 0 1px #f5a000;color:#fff;background:#2c3338}
.photo-thumb:hover{border-color:#c6a15b}
.photo-thumb img{width:100%;height:140px;object-fit:contain;display:block}
.photo-thumb span{display:block;font:12px/1.4 Arial,sans-serif;padding:9px 0 1px}
.photo-note{font:13px/1.65 Arial,sans-serif;color:#aeb8bd;max-width:850px;margin:18px 0 0}
.editorial-theme .details{padding-top:45px;padding-bottom:52px;border-top:1px solid #343d42}
.editorial-theme .details>h2{font-size:clamp(30px,4vw,44px);margin:15px 0 30px;letter-spacing:-.8px;line-height:1.12}
.editorial-theme .details-grid h3{font-size:23px;line-height:1.2;margin:18px 0 14px}
.editorial-theme .details-grid p{font-size:16px;line-height:1.7}
.fitment-note{font-size:14px;line-height:1.7;color:#bbc3c7;padding:18px;border:1px solid #41494e;margin:24px 0 0}
.pattern-sizes{padding:50px 0 62px;border-top:1px solid #343d42}
.sizes-intro{color:#bcc5c9;margin:0 0 27px;line-height:1.6}
.size-filters{display:grid;grid-template-columns:1.3fr 1fr auto;gap:18px;align-items:end;padding:24px;background:#181e22;border:1px solid #384249}
.size-filters label{font:600 13px/1.5 Arial,sans-serif;color:#dce1e4}
.size-filters input,.size-filters select{display:block;width:100%;min-width:0;padding:13px 12px;border:1px solid #4b555c;border-radius:0;background:#101518;color:#fff;margin-top:9px;font:16px/1.4 Arial,sans-serif;min-height:48px}
.size-filters input::placeholder{color:#9ca8af}
.size-filters button{padding:13px;border:1px solid #4b555c;color:#e5bd76;background:transparent;min-height:48px;cursor:pointer}
.size-count{font:13px/1.4 Arial,sans-serif;color:#aeb8bd;margin:18px 0 14px}
.size-table-scroll{max-height:465px;overflow:auto;border:1px solid #384249;scrollbar-color:#68747b #20262a;scrollbar-width:thin}
.size-table,.pattern-comparison{width:100%;border-collapse:collapse;text-align:left;font:15px/1.5 Arial,sans-serif}
.size-table thead th{position:sticky;top:0;z-index:1;background:#252d32;color:#bfc9ce;font-size:12px;text-transform:uppercase;letter-spacing:.6px}
.size-table th,.size-table td{padding:18px 20px;border-bottom:1px solid #343d42}
.size-table tbody th{font-weight:600;color:#f1f4f5;white-space:nowrap}
.size-table tbody td{color:#c3cdd2}
.size-table tbody tr:nth-child(even){background:#181e22}
.size-table a,.size-empty a,.pattern-comparison a{color:#f2bc5e;text-decoration:none;white-space:nowrap}
.size-table a:hover,.size-empty a:hover,.pattern-comparison a:hover{text-decoration:underline;color:#fff}
.size-empty{padding:24px;border:1px solid #41494e;color:#c4cdd2;line-height:1.8}
.editorial-theme .pattern-vehicle-promo{padding-top:50px;border-top:1px solid #343d42}
.editorial-theme .pattern-vehicle-promo .vehicle-promo-button{max-width:820px;display:block;margin:auto}
.editorial-theme .pattern-vehicle-promo .caption{text-align:center;font-size:12px}
.comparison-scroll{overflow-x:auto;border:1px solid #384249}
.pattern-comparison thead{background:#242c31;color:#bfc9ce;font-size:12px;text-transform:uppercase;letter-spacing:.8px}
.pattern-comparison th,.pattern-comparison td{padding:21px 23px;border-bottom:1px solid #343d42}
.pattern-comparison tbody th{font-weight:600;font-size:17px}
.pattern-comparison tbody td{color:#bfc9ce}
.pattern-comparison tbody tr:hover{background:#1b2125}
.editorial-home .comparison .collection-heading p:not(.eyebrow){max-width:650px;color:#bbc4c9;line-height:1.7;font-size:17px}
.editorial-theme .comparison h2{max-width:780px;font-size:clamp(32px,5vw,54px);line-height:1.08}
.viewer-open{overflow:hidden}
.editorial-theme #viewer{width:min(1100px,94vw);max-width:94vw;max-height:94dvh;padding:62px 22px 18px;background:#20262a;border:1px solid #505b63;overflow:auto}
.editorial-theme #viewer .close{position:absolute;right:16px;top:12px;width:44px;height:44px;font-size:22px;background:#343d42;border:1px solid #58636b;cursor:pointer;z-index:2}
.viewer-image-area{height:min(68dvh,800px);display:flex;align-items:center;justify-content:center;touch-action:pan-y}
.editorial-theme #viewer img{display:block;max-width:100%;width:auto;max-height:100%;height:auto;object-fit:contain;margin:auto;background:transparent}
.viewer-tools{display:flex;align-items:center;justify-content:center;gap:24px;margin:0 0 15px}
.viewer-tools a{font-size:13px;color:#f2bc5e}
.editorial-theme #viewer>p{font:14px/1.6 Arial,sans-serif;color:#d5dde1;text-align:center;margin:15px 0 0}
.mobile-pattern-actions{display:none}
@media(max-width:1000px){.photo-layout{grid-template-columns:minmax(0,1fr) 220px;gap:16px}.photo-stage{height:490px}.photo-thumb img{height:118px}.photo-thumbs{gap:10px}.editorial-home .editorial-result{display:none}.pattern-comparison th,.pattern-comparison td{padding:17px}}
@media(max-width:700px){
 .editorial-theme .pattern-nav{gap:24px;padding:16px 5%;justify-content:flex-start;font-size:14px}
 .editorial-theme .pattern-actions{gap:12px 24px}.editorial-theme .pattern-actions .text-link{margin:0}
 .product-gallery{padding:38px 0}.product-gallery .section-head,.pattern-sizes .section-head{display:block;margin-bottom:22px}.product-gallery .section-head>span,.pattern-sizes .section-head>span{display:block;text-align:left;margin-top:14px}
 .photo-layout{display:block}.photo-stage{height:430px;padding:24px 24px 44px}.photo-thumbs{display:flex;overflow-x:auto;gap:10px;padding:15px 0 5px;position:relative;scrollbar-width:thin}.photo-thumb{flex:0 0 110px}.photo-thumb img{height:110px}.photo-status{font-size:14px}.photo-controls{padding:10px;gap:12px}.photo-note{font-size:12px}
 .editorial-theme .details{padding:36px 0}.editorial-theme .details-grid{grid-template-columns:1fr;gap:24px}.editorial-theme .details-grid article{padding-top:20px}.editorial-theme .details-grid h3{margin:12px 0}
 .pattern-sizes{padding:38px 0}.size-filters{grid-template-columns:1fr;padding:18px;gap:15px}.size-filters button{justify-self:start;padding:8px 13px;min-height:44px}.size-table th,.size-table td{padding:15px 12px}.size-table{font-size:13px}.size-table thead th{font-size:10px;letter-spacing:0}.size-table-scroll{max-height:425px}.size-table tbody th{white-space:normal}
 .pattern-comparison{min-width:710px}.editorial-home .comparison{padding:50px 4%}.editorial-home .editorial-toolbar{margin-bottom:24px}.editorial-home .editorial-filters{gap:24px}.editorial-home .editorial-filters button{padding:18px 0}
 .editorial-theme #viewer{padding:62px 12px 14px;width:96vw;max-width:96vw}.viewer-image-area{height:64dvh}.viewer-tools{gap:18px}.editorial-theme #viewer>p{font-size:12px}
 .mobile-pattern-actions{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;border-top:1px solid #58636b;background:#101619;padding:10px 5% calc(10px + env(safe-area-inset-bottom));gap:12px}
 .mobile-pattern-actions a{display:block;text-align:center;flex:1;padding:12px 8px;font:600 14px/1.4 Arial,sans-serif;text-decoration:none;background:#f5a000;color:#121617}.mobile-pattern-actions a:last-child{background:#252e34;color:#fff;border:1px solid #4b555c}.editorial-product{padding-bottom:80px}
}
@media(max-width:400px){.photo-stage{height:350px}.photo-status strong{font-size:13px}.photo-controls{gap:8px}.size-table th,.size-table td{padding:14px 8px;font-size:12px}}

/* Pattern stories and expandable, size-specific specifications. */
.nz-driving{margin:32px 0 38px;padding:30px;border:1px solid #41494e;border-left:3px solid #f5a000;background:#171e22}
.nz-driving.has-rating{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:40px;align-items:start}
.nz-driving-copy h3{font-size:30px;line-height:1.2;letter-spacing:-.4px;margin:15px 0 18px;max-width:650px}
.nz-driving-copy>p:not(.eyebrow){font-size:17px;line-height:1.8;color:#c4cdd2;margin:0;max-width:850px}
.nz-rating{padding-left:30px;border-left:1px solid #41494e;min-width:0;scroll-margin-top:110px}
.nz-rating-score{display:flex;align-items:baseline;gap:10px;margin:15px 0 8px;line-height:1}
.nz-rating-score strong{font-size:58px;letter-spacing:-2px;color:#fff;font-weight:600}.nz-rating-score>span{font-size:23px;color:#aebbc3}
.nz-rating-count{font-size:16px;line-height:1.6;color:#f1f4f5;margin:0 0 8px}.nz-rating-note{font-size:13px;line-height:1.7;color:#b2bfc6;margin:0 0 15px}
.nz-review-sources summary{color:#f2bc5e;font-size:14px;line-height:1.6;cursor:pointer;padding:8px 0;text-underline-offset:4px}
.nz-review-sources summary:focus-visible{outline:2px solid #f5a000;outline-offset:4px}.nz-review-sources p,.nz-review-sources li{font-size:13px;line-height:1.7;color:#bfc9ce}
.nz-review-sources ul{padding-left:18px}.nz-review-sources li{margin:10px 0}.nz-review-sources a{color:#f2bc5e;overflow-wrap:anywhere}
@media(max-width:850px){.nz-driving.has-rating{grid-template-columns:1fr;gap:26px}.nz-rating{border-left:0;border-top:1px solid #41494e;padding:24px 0 0}.nz-driving{padding:24px}.nz-driving-copy h3{font-size:26px}}
.pattern-story-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:48px;align-items:start}
.pattern-story-copy p{font-size:18px;line-height:1.85;color:#c4cdd2;margin:0 0 22px;max-width:760px}
.pattern-fit{padding:28px;border:1px solid #41494e;border-top:3px solid #f5a000;background:#181e22}
.pattern-fit h3{font-size:25px;line-height:1.25;margin:15px 0}
.pattern-fit p:not(.eyebrow){font-size:16px;line-height:1.75;color:#c4cdd2}
.pattern-fit a{display:inline-block;color:#f2bc5e;font-size:15px;line-height:1.65;margin-top:8px;text-underline-offset:4px}
.design-heading{margin:38px 0 26px}.design-heading h3{font-size:28px;line-height:1.25;margin:12px 0}
.size-table-scroll{max-height:none;overflow-x:auto;overflow-y:hidden}
.size-table{min-width:900px}.size-table thead th{position:static}
.size-table tbody tr[data-size-row]{background:#141a1e}
.size-table tbody tr[data-size-row]:hover{background:#1c252a}
.size-table tbody th{white-space:nowrap}.size-table td{vertical-align:middle}
.size-table th:first-child{width:22%}.size-table th:last-child{width:35%}
.size-row-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;font-size:13px}
.spec-toggle{border:1px solid #b98029;background:transparent;color:#ffd18a;padding:10px 13px;min-height:44px;cursor:pointer;white-space:nowrap}
.spec-toggle:hover,.spec-toggle[aria-expanded=true]{background:#f5a000;color:#111619;border-color:#f5a000}
.spec-badge{display:block;width:fit-content;font-size:10px;letter-spacing:.5px;border:1px solid #485359;color:#c9d1d5;padding:2px 6px;margin-top:6px}
.size-table .spec-panel>td{padding:0;background:#20292e}
.spec-panel-content{padding:28px 30px 30px;border-left:3px solid #f5a000}
.spec-panel-content h3{font-size:22px;line-height:1.4;margin:0 0 24px;color:#fff}
.spec-panel-content h3 span{font-weight:400;color:#b9c6ce;font-size:16px}
.spec-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 28px;margin:0}
.spec-grid>div{padding-bottom:14px;border-bottom:1px solid #455057}
.spec-grid dt{font-size:12px;line-height:1.5;color:#b2bfc6;margin-bottom:7px}
.spec-grid dd{margin:0;color:#fff;font-size:17px;line-height:1.5}
.spec-panel-content>p{font-size:12px;line-height:1.7;color:#acbac2;margin:22px 0 13px}
.spec-panel-content>a{font-size:14px}
.table-swipe-hint{display:none;font-size:12px;line-height:1.6;color:#bdc7cd;margin:0 0 12px}
.spec-guide{margin-top:28px;border:1px solid #41494e;background:#181e22}
.spec-guide summary{padding:22px 24px;font-size:16px;line-height:1.6;color:#f2bc5e;cursor:pointer}
.spec-guide summary:focus-visible{outline:2px solid #f5a000;outline-offset:3px}
.spec-guide>div{padding:0 24px 16px;max-width:950px}
.spec-guide p{font-size:15px;line-height:1.8;color:#bdc7cd}.spec-guide strong{color:#edf1f3}
@media(max-width:1000px){.pattern-story-layout{gap:28px}.table-swipe-hint{display:block}}
@media(max-width:700px){.pattern-story-layout{grid-template-columns:1fr;gap:14px}.pattern-story-copy p{font-size:17px;line-height:1.8}.pattern-fit{padding:23px}.pattern-fit h3{font-size:23px}.design-heading{margin-top:32px}.design-heading h3{font-size:25px}.size-table-scroll{max-height:none}.size-table tbody th{white-space:nowrap}.spec-panel-content{padding:24px}.spec-guide summary{padding:18px;font-size:15px}.spec-guide>div{padding:0 18px 10px}}
