*{box-sizing:border-box} :root{--yellow:#ffda00;--grey:#323232;--ink:#202125}body{margin:0;background:#202224;color:#f5f5f5;font-family:Arial,Helvetica,sans-serif;overflow:hidden}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}button{border:0;background:transparent;color:inherit;border-radius:6px;padding:9px 12px}button:hover{background:#ffffff12}button:disabled{opacity:.25;cursor:default}.app-header{height:74px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;background:#292b2d;border-bottom:1px solid #ffffff10}.brand{font-size:28px;font-weight:800;color:white;text-decoration:none;letter-spacing:-1.4px}.brand>span:first-child{color:var(--yellow)}.edition{display:inline-block;font-size:10px;letter-spacing:2px;font-weight:500;margin-left:22px;color:#bdbdbd}.header-right{display:flex;align-items:center;gap:20px;font-size:12px}.demo{font-size:9px;letter-spacing:1.5px;color:#b6b6b6}.header-right button{border:1px solid #ffffff20}.toolbar{height:58px;display:flex;align-items:center;padding:0 28px;gap:22px;background:#252729;border-bottom:1px solid #ffffff0b;font-size:12px}.toolbar button{padding:8px 10px}.toolbar form{display:flex;border:1px solid #ffffff20;border-radius:6px;width:300px;background:#1c1e20}.toolbar input{background:none;color:white;border:0;padding:10px 12px;min-width:0;flex:1;font-size:12px}.toolbar form button{font-size:22px;padding:0 12px}.tool-right{margin-left:auto;display:flex;gap:6px;align-items:center}.tool-right button{font-size:17px}.tool-right span{font-size:12px}#viewer{height:calc(100dvh - 198px);position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 40%,#474a4d 0%,#303235 40%,#202224 85%);overflow:auto}.ambient{position:absolute;top:20px;left:30px;font-size:8px;letter-spacing:4px;color:#ffffff36;pointer-events:none}#viewport{position:relative;flex-shrink:0;perspective:2200px;margin:30px 60px;touch-action:pan-y}#book{position:relative;width:100%;height:100%;transform-style:preserve-3d;filter:drop-shadow(0 22px 20px #0007)}.sheet{position:absolute;top:0;width:50%;height:100%;background:#fff;color:var(--ink);overflow:hidden;box-shadow:inset 0 -3px #ddd}.sheet.left{left:0;border-radius:3px 0 0 3px}.sheet.right{right:0;border-radius:0 3px 3px 0}.sheet.left:after,.sheet.right:after{content:"";position:absolute;top:0;height:100%;width:18px;pointer-events:none;z-index:4}.sheet.left:after{right:0;background:linear-gradient(90deg,transparent,#00000015)}.sheet.right:after{left:0;background:linear-gradient(90deg,#0000001c,transparent)}.sheet.cover{width:50%;box-shadow:5px 4px 0 #aaa,7px 6px 0 #ccc,10px 9px 0 #484848}.cover img{width:100%;height:100%;object-fit:fill;display:block}.flip{position:absolute;width:50%;height:100%;top:0;z-index:20;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.25,.6,.22,1);will-change:transform}.flip.forward{left:50%;transform-origin:left center}.flip.backward{left:0;transform-origin:right center}.flip .face{position:absolute;inset:0;backface-visibility:hidden;overflow:hidden;background:white;box-shadow:0 0 28px #0004}.flip .rear{transform:rotateY(180deg)}.flip .sheet{width:100%;left:0;right:auto}.flip.forward.turn{transform:rotateY(-180deg)}.flip.backward.turn{transform:rotateY(180deg)}.flip .face:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0002,transparent 25%,#fff1 70%,#0002);pointer-events:none}.arrow{position:fixed;top:50%;font-size:45px;width:50px;height:65px;z-index:25;color:#ffffffc9}.arrow.prev{left:16px}.arrow.next{right:16px}.reader-footer{height:64px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#b9bbbd;background:#252729;border-top:1px solid #ffffff0b}.pager{display:flex;align-items:center;gap:4px}.pager button{font-size:20px;padding:4px 11px}.pager label{display:flex;align-items:center;gap:7px}.pager input{width:44px;padding:6px 0;text-align:center;background:#1b1d1f;border:1px solid #ffffff20;color:white;border-radius:5px;font-size:11px;appearance:textfield}.pager input::-webkit-inner-spin-button{display:none}#progress{height:2px;background:#ffffff10}#progress>div{height:100%;background:var(--yellow);transition:width .5s}#location{width:240px}.hint{width:240px;text-align:right;font-size:10px}aside{position:fixed;top:132px;bottom:66px;width:340px;background:#292b2d;z-index:60;box-shadow:14px 0 40px #0007;padding:25px;overflow:auto}aside[hidden]{display:none}#results{right:0;width:420px}.panel-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.panel-top h2{font-size:20px;margin:5px 0}.panel-top small{font-size:9px;color:#aaa;letter-spacing:2px}.panel-top button{font-size:18px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;border-bottom:1px solid #ffffff10;text-align:left;border-radius:0;padding:14px 0;font-size:12px}.swatch{width:6px;height:24px;border-radius:2px}.nav-item em{margin-left:auto;font-style:normal;font-size:10px;color:#aaa}.small-note{color:#aaa;font-size:11px;line-height:1.7;margin-top:25px}.result{width:100%;text-align:left;border-bottom:1px solid #ffffff15;border-radius:0;padding:15px 0}.result strong{display:block;font-size:13px}.result small{display:block;color:#aaa;margin-top:7px}dialog{border:1px solid #555;background:#292b2d;color:white;max-width:1100px;width:90vw;border-radius:12px;padding:24px}dialog::backdrop{background:#000b}.outside-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.outside-grid figure{margin:0}.outside-grid img{width:100%;height:65vh;object-fit:contain}.outside-grid figcaption{text-align:center;font-size:12px;color:#ccc;margin-top:12px}#toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);background:var(--yellow);color:#202020;padding:12px 20px;font-size:12px;border-radius:6px;z-index:100;display:none}
/* Each page has a fixed editorial canvas, scaled by the reader. */
.paper{position:absolute;inset:0;width:600px;height:840px;background:#fff;color:#242424;transform-origin:top left;font-size:11px}.page-content{height:100%;padding:28px 28px 38px 42px;position:relative}.edge{position:absolute;left:0;top:0;bottom:0;width:24px;background:var(--cat);color:var(--catText,white);writing-mode:vertical-rl;padding:18px 5px;font-size:13px;font-weight:800;letter-spacing:.4px}.page-header{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1px;padding-bottom:9px;border-bottom:2px solid var(--cat);text-transform:uppercase;margin-bottom:10px}.page-header b{font-size:12px;letter-spacing:0}.testlabel{font-size:7px;color:#666;letter-spacing:.6px}.page-foot{position:absolute;bottom:0;left:24px;right:0;height:27px;background:#323232;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-size:8px;border-top:3px solid #ffda00}.page-foot b{font-size:13px}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 15px}.product{height:241px;overflow:hidden;position:relative;border-top:1px solid #999;padding-top:7px}.product.hero{grid-column:span 2;height:218px}.product h3{margin:0 0 5px;font-size:14px;line-height:1.12;font-weight:800;letter-spacing:-.2px}.product.hero h3{font-size:19px}.product .spec{font-size:8px;color:#555;margin:0;line-height:1.5;max-width:100%}.product .visual{height:102px;position:relative;margin:5px 0;display:flex;align-items:center;justify-content:center}.product.hero .visual{position:absolute;right:3px;top:32px;width:55%;height:106px}.product.hero .spec{width:42%;margin-top:8px}.product.hero table{position:absolute;bottom:0}.photo{position:relative;overflow:hidden;width:80%;height:100%;background:white}.photo img{position:absolute;max-width:none}.product .actual{height:100%;max-width:85%;object-fit:contain}.from{position:absolute;right:2px;bottom:4px;background:#ffda00;border-radius:4px;padding:5px 8px;text-align:center;z-index:2;box-shadow:0 0 0 2px white;min-width:53px}.from small{font-size:6px;display:block;font-weight:700}.from strong{font-size:15px;display:block;letter-spacing:-.5px}.product table{width:100%;border-collapse:collapse;font-size:7.2px;table-layout:auto}.product th{text-align:left;padding:4px 3px;border-bottom:1px solid #555;border-top:1px solid #777;white-space:nowrap}.product td{padding:4px 3px;border-bottom:1px solid #ddd;vertical-align:top;line-height:1.2}.product tr:nth-child(odd) td{background:#eee}.product th:last-child,.product td:last-child{text-align:right;white-space:nowrap}.product td:first-child{font-weight:700;white-space:nowrap}.product .copied{background:#ffda00}.product tbody tr{cursor:pointer}.product tbody tr:hover td{background:#fff1a8}.divider{background:#323232;color:white}.divider .page-content{padding:42px 35px 42px 48px}.divider .section-no{color:#d4d4d4;font-size:10px;letter-spacing:2px}.divider h1{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:55px;line-height:1.02;text-transform:uppercase;letter-spacing:.2px;margin:28px 0 18px}.divider h1:after{content:"";display:block;height:5px;width:65px;background:#ffda00;margin-top:22px}.divider .intro{font-size:14px;line-height:1.5;color:#eee;max-width:460px}.divider .divider-photo{position:absolute;top:310px;bottom:135px;left:48px;right:30px;background:white;overflow:hidden;border-bottom:8px solid var(--cat)}.divider .divider-photo .photo{width:100%;height:100%;opacity:.96}.divider .chapter-line{position:absolute;bottom:65px;left:48px;right:30px;color:#bbb;font-size:10px;letter-spacing:1px;line-height:1.8}.overview h1{font-size:34px;line-height:1.05;margin:26px 0 15px;letter-spacing:-1px}.overview .kicker{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--cat)}.overview .intro{font-size:13px;line-height:1.6;color:#555}.overview-list{margin-top:35px}.overview-item{display:flex;gap:18px;padding:17px 0;border-top:1px solid #ddd;align-items:center}.overview-item .mini{width:90px;height:58px;flex-shrink:0}.overview-item .photo{width:100%}.overview-item b{font-size:15px;display:block}.overview-item small{display:block;margin-top:5px;font-size:10px;color:#666}.overview-item em{margin-left:auto;font-size:10px;font-style:normal;color:#666}.overview .service{margin-top:20px;border-left:4px solid #ffda00;background:#f2f2f2;padding:15px;font-size:12px;line-height:1.8}.contents h1{font-family:Impact,'Arial Narrow',sans-serif;font-size:52px;margin:25px 0;text-transform:uppercase;line-height:1}.contents h1 span{color:#b69c00}.contents-grid{margin-top:25px}.toc-row{padding:13px 3px;border-bottom:1px solid #ddd;display:flex;align-items:center;gap:14px;cursor:pointer}.toc-row i{width:9px;height:25px;background:var(--c)}.toc-row b{font-size:13px}.toc-row em{font-style:normal;margin-left:auto;color:#666}.welcome h1{font-size:42px;line-height:1.05;margin:35px 0 18px}.welcome p{font-size:14px;line-height:1.8;color:#555}.welcome .info{background:#323232;color:white;padding:24px;margin-top:25px;border-bottom:6px solid #ffda00}.welcome .info p{color:#ddd;font-size:12px}.welcome h3{margin:0;font-size:20px}.welcome .example{margin-top:25px}.welcome table{border-collapse:collapse;width:100%;font-size:10px}.welcome th,.welcome td{text-align:left;padding:10px 6px;border-bottom:1px solid #ccc}.welcome th{background:#ffda00}.cover-corner{position:absolute;bottom:15px;right:14px;background:#ffda00;color:#252525;padding:8px 10px;font-size:10px;z-index:9;border-radius:3px;pointer-events:none}.page-shadow{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#0002,transparent 10%,transparent 90%,#0001)}
@media(max-width:800px){.edition,.demo,.hint,.ambient{display:none}.app-header{height:60px;padding:0 16px}.brand{font-size:24px}.header-right button{font-size:10px;padding:7px}.toolbar{height:56px;padding:0 10px;gap:5px}.toolbar form{width:auto;flex:1}.toolbar input{width:80px;font-size:11px}.toolbar span{display:none}.tool-right{gap:0}.toolbar button{padding:8px}.tool-right button{font-size:17px}#viewer{height:calc(100dvh - 180px)}.reader-footer{padding:0 10px;font-size:10px;height:62px}#location{width:120px;max-width:40%;line-height:1.4}.pager{gap:0}.pager button{padding:5px 9px}aside{top:116px;bottom:64px;width:min(340px,92vw)}#results{width:min(420px,94vw)}#viewport{margin:25px 32px}.arrow{font-size:33px;width:30px;padding:0}.arrow.prev{left:1px}.arrow.next{right:1px}.outside-grid{gap:10px;grid-template-columns:1fr}.outside-grid img{height:60vh}dialog{max-height:90vh;overflow:auto}.sheet.cover{width:100%}.outside-grid figure{margin-bottom:15px}}
@media(prefers-reduced-motion:reduce){.flip{transition-duration:.1s}}
#book.closed>.sheet.cover{left:25%;right:auto}.divider-photo .actual{width:100%;height:100%;max-width:100%;object-fit:contain}.product table{font-size:8px}.product td{padding:5px 3px}.product th{padding:5px 3px}.product .spec{font-size:9px}.product.hero .visual{height:112px}.product .visual{height:100px}.overview-item{cursor:pointer}.overview-item:hover{background:#f5f5f5}
/* Category photography belongs to the printed page; no white image boxes. */
.divider .page-content{padding-top:42px}.divider h1{font-size:54px;margin:30px 0 19px;max-width:490px}.divider .intro{font-size:13px;line-height:1.55;max-width:465px;color:#ddd}.divider .divider-photo{top:322px;bottom:145px;left:24px;right:0;background:#323232;border:0;overflow:hidden}.category-art{position:relative;overflow:hidden;width:100%;height:100%;background:#323232}.category-art img{position:absolute;max-width:none;display:block}.divider .chapter-line{font-size:11px;line-height:2;bottom:58px;color:#ddd}.divider .chapter-line:first-line{font-weight:bold;letter-spacing:1.8px;color:#ffda00}.curl-canvas{filter:drop-shadow(0 5px 6px #0002);touch-action:none}.capture-leaf .paper{transform:none!important}.capture-leaf img{image-rendering:auto}#book{touch-action:pan-y}.overview h1{font-size:31px}.overview .intro{font-size:12px}

#viewer:has(.curl-canvas){overflow:hidden}#book{touch-action:none}
/* Print catalogue layout: featured product, then four comparison panels. */
@font-face{font-family:Catalogue;src:url('fonts/catalogue-bold.otf') format('opentype');font-weight:700;font-display:swap}
@font-face{font-family:Catalogue;src:url('fonts/catalogue-regular.otf') format('opentype');font-weight:400;font-display:swap}
.products-page .page-content{padding:12px 16px 43px 48px}
.products-page .product-grid{height:783px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:267px 251px 251px;gap:7px 13px}
.products-page .product{height:auto;min-width:0;padding:7px 0 0;border-top:1px solid #777;overflow:hidden}
.products-page .product.hero{height:auto;grid-column:1/-1;border-top:0;padding-top:0}
.products-page .product:nth-child(2),.products-page .product:nth-child(4){border-right:1px solid #aaa;padding-right:10px}
.products-page .product h3{font-family:Catalogue,'Arial Narrow',Arial,sans-serif;font-size:21px;line-height:1.03;letter-spacing:-.3px;margin:0;max-width:100%;position:relative;z-index:2}
.products-page .product.hero h3{font-size:28px}
.products-page .product .spec{font-size:9.5px;line-height:1.3;color:#222;margin:6px 0 0;padding-left:11px;max-width:calc(100% - 69px);width:auto;position:relative;z-index:2}
.products-page .product .visual{position:absolute;inset:94px 0 73px;width:auto;height:auto;margin:0;overflow:hidden;isolation:isolate}
.products-page .product.hero .visual{inset:45px 0 80px 25%;height:auto;width:auto}
.products-page .product.hero .spec{max-width:47%;margin-top:8px}
.products-page .photo{width:100%;height:100%;max-width:100%;overflow:hidden}
.products-page .actual{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center}
.products-page .from{position:absolute;right:1px;top:41px;bottom:auto;min-width:64px;border-radius:5px;padding:6px 5px;box-shadow:0 0 0 2px white;z-index:3}
.products-page .hero .from{top:35px;min-width:83px;padding:7px 8px}
.products-page .from small{font-family:Catalogue,Arial,sans-serif;font-size:9px;font-weight:700;line-height:1.05}
.products-page .from strong{font-family:Catalogue,Arial,sans-serif;font-size:26px;line-height:1.05;letter-spacing:-.5px}
.products-page .hero .from strong{font-size:33px}
.products-page .product table{position:absolute;bottom:0;left:0;width:100%;font-family:Catalogue,Arial,sans-serif;font-size:10.5px;line-height:1;table-layout:auto}
.products-page .product th,.products-page .product td{padding:4px 3px;line-height:1.05;border-bottom:1px solid #aaa}
.products-page .product th{font-weight:700;border-top:1px solid #777;border-bottom:1px solid #777;white-space:normal}
.products-page .product td{vertical-align:middle}
.products-page .product td:first-child{font-size:10px}
.products-page .product th:last-child{white-space:nowrap}
.products-page .product.hero table{font-size:12px}
.products-page .product.hero td:first-child{font-size:11px}
.products-page .product.hero th,.products-page .product.hero td{padding:5px 6px}
.products-page .product:nth-child(2) table,.products-page .product:nth-child(4) table{width:calc(100% - 10px)}
/* Keep every image inside its allotted cell, including real product cutouts. */
.overview-item .mini,.subcat-image{position:relative;flex:0 0 auto;overflow:hidden;contain:paint;isolation:isolate}
.overview-item .mini>.actual,.subcat-image>.actual{display:block;position:static;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center}
.overview-item .mini .photo,.subcat-image .photo{width:100%;height:100%;max-width:100%;max-height:100%;overflow:hidden}
.overview-item>div:nth-child(2){min-width:0;flex:1}
.overview-item em{flex-shrink:0}
/* Divider: bold angled heading, full-width photograph and a protected index. */
.divider .edge,.products-page .edge{width:36px;padding:16px 8px;font-family:Catalogue,Arial,sans-serif;font-size:20px;letter-spacing:.5px;z-index:5}
.divider .page-content{padding:0}
.divider .divider-photo{left:36px;right:0;top:231px;bottom:207px;border:0;z-index:0;background:#323232}
.divider .category-art{height:100%;width:100%}
.divider .timber-scene img{width:114.2%;height:250%;left:-10.6%;top:-84.7%}
.divider-heading{position:absolute;top:0;left:36px;right:0;height:319px;padding:24px 22px 45px;background:#323232;clip-path:polygon(0 0,100% 0,100% 80%,0 100%);z-index:2}
.divider .section-no{font-family:Catalogue,Arial,sans-serif;font-size:13px;letter-spacing:.3px;color:white;border-bottom:2px solid #ffda00;padding-bottom:7px}
.divider h1{font-family:Catalogue,'Arial Narrow',Arial,sans-serif;font-weight:700;line-height:.9;margin:12px 0 8px;letter-spacing:-1.2px;max-width:100%;text-transform:uppercase}
.divider h1 span{color:#ffda00}
.divider h1:after{display:none}
.divider .intro{font-size:16px;line-height:1.15;color:white;max-width:470px;margin:10px 0 0}
.divider-subcats{position:absolute;left:36px;right:0;bottom:35px;height:172px;padding:17px 17px 10px;background:white;color:#171717;z-index:4;overflow:hidden}
.divider-subcats h2{font-family:Catalogue,Arial,sans-serif;font-size:26px;line-height:1;margin:0 0 11px;display:flex;align-items:center;gap:8px;white-space:nowrap}
.divider-subcats h2:after{content:'';height:2px;background:#ffda00;flex:1}
.subcategory-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:105px}
.subcategory{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;border-right:1px solid #aaa;padding:0 5px;cursor:pointer}
.subcategory:last-child{border:0}
.subcat-image{width:100%;height:61px;margin-bottom:5px}
.subcategory b{font-family:Catalogue,Arial,sans-serif;font-size:16px;line-height:1.05;text-align:center;display:block;overflow-wrap:normal}
.subcategory:hover{background:#fff7cc}
.page-foot{left:0;height:35px;padding:0 12px;border-top:3px solid #ffda00;gap:10px;font-size:9px;z-index:6}
.page-foot b{font-family:Catalogue,Arial,sans-serif;font-size:16px;flex-shrink:0}
.page-foot .foot-web{font-family:Catalogue,Arial,sans-serif;font-size:14px;font-weight:700;margin-right:auto}
.page-foot .foot-services,.page-foot small{display:none}
.page-foot .foot-edition{font-family:Catalogue,Arial,sans-serif;font-size:11px;white-space:nowrap}
.page-foot .foot-edition b{color:#ffda00;font-size:15px}
.products-page .page-foot .foot-edition{display:none}
.products-page .page-foot .foot-services{display:block;color:#ffda00;font-family:Catalogue,Arial,sans-serif;font-weight:700;font-size:12px;white-space:nowrap}
.products-page .page-foot .foot-web{display:none}
.sheet.right .products-page .page-foot .foot-services{display:none}
.sheet.right .products-page .page-foot .foot-web{display:block}
.sheet.right .products-page .page-foot small{display:block;font-size:6px;letter-spacing:-.05px}
.capture-leaf .products-page .page-foot .foot-services{font-size:11px}
.divider .divider-photo{top:290px}
.divider:has(.timber-scene) .divider-photo{top:231px}
@font-face{font-family:CatalogueDisplay;src:url('fonts/catalogue-display.otf') format('opentype');font-weight:700;font-display:swap}
.divider h1{font-family:CatalogueDisplay,Arial,sans-serif;letter-spacing:-3px}
.products-page .product .visual,.products-page .product.hero .visual{bottom:var(--reserve,90px)}
.overview-item .mini,.subcat-image{display:flex;align-items:center;justify-content:center}
/* Department tabs frame the outside edges of each printed spread. */
.paper.outer-right>.edge{left:auto;right:0;width:36px;padding:16px 8px;font-family:Catalogue,Arial,sans-serif;font-size:20px;letter-spacing:.5px;z-index:5}
.paper.outer-right>.page-content{padding-left:28px;padding-right:48px}
.products-page.outer-right>.page-content{padding-left:16px;padding-right:48px}
/* Raised pence and VAT note follow the supplied price-label typography. */
.products-page .from{min-width:77px;padding:3px 6px 5px;background:#ffda00;color:#151515;border-radius:5px;text-align:left}
.products-page .hero .from{min-width:96px;padding:4px 8px 6px}
.products-page .from .price-from{display:block;font-family:Arial,sans-serif;font-size:7px;line-height:1.1;letter-spacing:.3px;font-weight:800;margin:0 0 1px}
.price-amount{display:flex;align-items:flex-start;justify-content:center;font-family:CatalogueDisplay,Arial,sans-serif;font-weight:700;line-height:1;white-space:nowrap;letter-spacing:-1px}
.price-currency{font-size:16px;line-height:1.1;margin-top:2px;margin-right:1px}
.price-pounds{font-size:33px;line-height:.94}
.price-fraction{display:flex;flex-direction:column;align-items:flex-end;margin-top:1px;letter-spacing:-.6px}
.price-pence{font-size:18px;line-height:1}
.price-vat{font-family:Arial,sans-serif;font-size:8px;font-weight:800;line-height:1.2;letter-spacing:0;margin-top:3px}
.hero .price-currency{font-size:20px;margin-top:2px}
.hero .price-pounds{font-size:42px}
.hero .price-pence{font-size:23px}
.hero .price-vat{font-size:9px;margin-top:4px}
.price-wide .price-pounds{font-size:29px}
.hero .price-wide .price-pounds{font-size:37px}
.products-page .product .spec{max-width:calc(100% - 98px)}
.products-page .product.hero .spec{max-width:47%}
/* Native soft-page renderer: diagonal corner fold with a reverse face. */
#book.stf__parent{filter:none;transform:translateZ(0);perspective:none;touch-action:none}
#book .stf__wrapper{position:relative;width:100%;height:100%}
#book .stf__block{width:100%;height:100%;touch-action:none}
.book-leaf{background:white;overflow:hidden;box-shadow:0 2px 5px #0003;will-change:transform;backface-visibility:hidden;contain:layout style}
.book-leaf .paper{pointer-events:auto}
.book-leaf.left-leaf:after,.book-leaf.right-leaf:after{content:'';position:absolute;top:0;bottom:0;width:14px;pointer-events:none;z-index:8}
.book-leaf.left-leaf:after{right:0;background:linear-gradient(90deg,transparent,#0000000d)}
.book-leaf.right-leaf:after{left:0;background:linear-gradient(90deg,#00000010,transparent)}
#book .stf__outerShadow,#book .stf__innerShadow,#book .stf__hardShadow,#book .stf__hardInnerShadow{pointer-events:none}
#viewer:has(.is-turning){overflow:hidden}
.book-leaf.right-leaf .products-page .page-foot .foot-services{display:none}
.book-leaf.right-leaf .products-page .page-foot .foot-web{display:block}
.book-leaf.right-leaf .products-page .page-foot small{display:block;font-size:6px;letter-spacing:-.05px}
#book.stf__parent{left:0;transition:left .58s cubic-bezier(.25,.6,.22,1)}
#book[data-cover="front"]{left:calc(var(--page-width) * -.5)}
#book[data-cover="back"]{left:calc(var(--page-width) * .5)}
#book.single-page{left:0}
#book.is-turning .book-leaf{user-select:none}
@media(prefers-reduced-motion:reduce){#book.stf__parent{transition:none}}
/* Clean catalogue typography and consistent image/table spacing. */
@font-face{font-family:Anton;src:url('fonts/anton-latin.woff2') format('woff2');font-weight:400;font-display:swap}
.products-page .product h3{font-family:Arial,Helvetica,sans-serif;font-weight:750;font-size:17px;line-height:1.15;letter-spacing:-.4px;margin:0;padding-bottom:5px;border-bottom:1px solid #999}
.products-page .product.hero h3{font-size:23px;letter-spacing:-.6px}
.products-page .product .spec{font-family:Arial,Helvetica,sans-serif;font-size:10px;line-height:1.35;margin:7px 0 0;padding:0;color:#353535;max-width:calc(100% - 96px)}
.products-page .product.hero .spec{max-width:44%}
.products-page .product{border-top:0;padding-top:8px}
.products-page .product.hero{padding-top:0}
.products-page .product:nth-child(2),.products-page .product:nth-child(4){border-right:0;padding-right:0}
.products-page .product:nth-child(2) table,.products-page .product:nth-child(4) table{width:100%}
.products-page .product-grid{gap:13px 20px;grid-template-rows:257px 249px 249px;height:781px}
.products-page .product .visual{top:84px}
.products-page .product.hero .visual{top:51px;left:24%}
.products-page .product table,.products-page .product.hero table{font-family:Arial,Helvetica,sans-serif;font-size:8.8px;font-weight:400;color:#222;letter-spacing:-.1px;border-collapse:collapse}
.products-page .product th,.products-page .product td,.products-page .product.hero th,.products-page .product.hero td{padding:4px 3px;line-height:1.15;border-bottom:1px solid #bbb}
.products-page .product th{font-weight:700;border-top:1px solid #777;background:white}
.products-page .product td:first-child,.products-page .product.hero td:first-child{font-family:Arial,Helvetica,sans-serif;font-size:8px;font-weight:700;letter-spacing:-.15px}
.products-page .product.hero table{font-size:10px}
.products-page .product.hero td:first-child{font-size:9px}
.products-page .product tr:nth-child(odd) td{background:#ececec}
.products-page .product td+td,.products-page .product th+th{border-left:1px solid #c9c9c9}
/* Trade price tags: white pounds and raised pence, yellow +vat. */
.products-page .from{background:#ed1c24;color:#fff;min-width:77px;padding:6px 7px 5px;border-radius:4px;top:53px;box-shadow:none}
.products-page .hero .from{min-width:98px;padding:7px 8px 6px;top:49px}
.products-page .from .price-from{position:absolute;top:-10px;left:1px;color:#373737;font-size:7px;margin:0;line-height:1}
.products-page .price-vat{color:#ffda00}
.price-pounds{font-size:31px}
.price-currency{font-size:15px;margin-top:1px}
.price-pence{font-size:17px}
.price-vat{font-size:7px;margin-top:3px}
.hero .price-pounds{font-size:40px}
.hero .price-pence{font-size:22px}
.hero .price-vat{font-size:8px}
/* Approved exterior rebuilt as sharp print artwork, with source photography. */
.print-cover{background:#323232;color:white;overflow:hidden;-webkit-font-smoothing:antialiased}
.reference-plane{position:absolute;width:600px;height:840px;inset:0;pointer-events:none}
.reference-plane>img{position:absolute;left:0;top:0}
.cover-brand{position:absolute;left:32px;top:24px;width:536px;height:105px;overflow:hidden;z-index:4;mask-image:linear-gradient(transparent,black 7%,black 92%,transparent)}
.cover-brand .reference-plane{left:-32px;top:-24px}
.cover-bands{position:absolute;inset:0;width:600px;height:840px;z-index:0;pointer-events:none}
.cover-headline{position:absolute;top:137px;left:34px;right:20px;font-family:Anton,Impact,sans-serif;font-weight:400;font-size:90px;line-height:.98;letter-spacing:-1.8px;margin:0;z-index:2}
.cover-headline span{display:block;white-space:nowrap}
.cover-headline span:last-child{color:#ffda00}
.cover-device{position:absolute;left:0;right:0;top:315px;height:413px;overflow:hidden;z-index:3;mask-image:linear-gradient(transparent,black 1%,black 99%,transparent)}
.cover-device .reference-plane{top:-310px}
.front-service-grid{position:absolute;left:32px;right:26px;top:742px;height:58px;display:grid;grid-template-columns:166px 130px 1fr;gap:14px;z-index:5;align-items:start}
.shop-copy{font-family:Arial,Helvetica,sans-serif;font-size:16px;font-weight:850;line-height:1.06;letter-spacing:-.45px}
.front-service-grid>.shop-copy{border-right:1px solid #aaa;height:52px;position:relative}
.front-service-grid>.shop-copy:after{content:'';position:absolute;bottom:-4px;left:0;width:40px;height:3px;background:#ffda00}
.cover-service{display:flex;align-items:center;gap:8px;color:#fff;font-size:12px;line-height:1.2}
.cover-service svg{width:29px;height:34px;color:#ffda00;flex-shrink:0}
.cover-service.delivery svg{width:38px}
.front-service-grid>.cover-service:not(:last-child){border-right:1px solid #aaa;height:47px}
.front-service-grid>.cover-service.delivery{font-size:11px;padding-top:4px;gap:7px}
.cover-bottom{position:absolute;bottom:14px;left:32px;right:25px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:8.5px;letter-spacing:1.1px;z-index:5}
.cover-bottom b{font-size:8px;letter-spacing:1.1px;white-space:nowrap}
.cover-bottom span:last-child{font-size:10px;font-weight:700;letter-spacing:0;white-space:nowrap}
.back-brand{position:absolute;left:27px;top:39px;width:326px;height:73px;overflow:hidden;z-index:4;mask-image:linear-gradient(transparent,black 8%,black 90%,transparent)}
.back-brand .reference-plane{left:-27px;top:-39px}
.back-headline{position:absolute;left:30px;top:163px;width:320px;font-family:Anton,Impact,sans-serif;font-weight:400;font-size:74px;line-height:1.04;letter-spacing:-1.1px;margin:0;z-index:3}
.back-headline span{display:block;white-space:nowrap}
.back-headline span:last-child{color:#ffda00;font-size:82px}
.back-watermark{position:absolute;left:0;top:410px;width:354px;height:275px;overflow:hidden;z-index:0;mask-image:radial-gradient(ellipse at center,black 55%,transparent 78%)}
.back-watermark .reference-plane{top:-410px}
.back-departments{position:absolute;left:368px;right:24px;top:48px;display:grid;grid-template-rows:repeat(10,57px);gap:8px;padding-left:16px;border-left:3px solid #ffda00;z-index:4}
.back-department{background:var(--tile);color:var(--tile-ink);border:1.5px solid transparent;display:flex;align-items:center;gap:13px;padding:6px 10px;border-radius:5px;cursor:pointer;font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.1;letter-spacing:-.3px}
.back-department:nth-child(3){border-color:#ffda00}
.back-department .line-icon{width:34px;height:36px;flex-shrink:0}
.back-department:hover{filter:brightness(1.15)}
.back-art>.cover-bands{z-index:2}
.back-website{position:absolute;top:746px;left:30px;font-family:Arial,Helvetica,sans-serif;font-size:25px;letter-spacing:-.5px;z-index:4}
.back-social{position:absolute;top:779px;left:30px;font-size:11px;font-weight:700;z-index:4}
.back-social span{font-size:22px;color:#ffda00;vertical-align:middle;margin-right:5px}
.back-services{position:absolute;left:214px;right:24px;top:779px;height:49px;display:grid;grid-template-columns:95px 139px 1fr;gap:9px;align-items:center;z-index:4}
.back-services .cover-service{font-size:10px;gap:5px;border-right:1px solid #ffda00;height:46px}
.back-services .cover-service svg{width:25px;height:29px}
.back-services .cover-service.delivery svg{width:32px}
.back-services .shop-copy{font-size:10px;text-align:right;line-height:1.1}
.back-edition{position:absolute;left:30px;bottom:13px;font-size:9px;letter-spacing:1.4px;z-index:4}
.cover-brand{height:90px;mix-blend-mode:lighten;filter:brightness(.85) contrast(1.35)}
.back-brand{mix-blend-mode:lighten;filter:brightness(.85) contrast(1.35)}
.cover-headline span{width:max-content;transform-origin:left center}
.cover-headline span:first-child{transform:scaleX(1.65)}
.cover-headline span:last-child{transform:scaleX(1.55)}
.back-headline span{width:max-content;transform:scaleX(1.32);transform-origin:left center}
.back-departments{grid-template-rows:repeat(10,53px);gap:7px}
.cover-bands.back{transform:translateY(-42px)}
#viewer:has(#book[data-cover]){overflow:hidden}
.front-service-grid .cover-service{font-size:14px}
.front-service-grid>.cover-service.delivery{font-size:13px}
.cover-bottom span:last-child{font-size:12px}
.back-department{font-size:17px}
/* Nine listings per page, with compact variant tables and uniform product cards. */
.dense-products .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,249px);gap:14px;height:775px}
.dense-products .product{padding-top:0;min-width:0;overflow:hidden;border:0}
.dense-products .product h3{font-size:13px;line-height:1.1;letter-spacing:-.25px;font-weight:700;padding-bottom:4px}
.dense-products .product .spec{font-size:8px;line-height:1.25;max-width:calc(100% - 70px);margin-top:5px;letter-spacing:-.05px}
.dense-products .product .visual{inset:84px 0 var(--table-space,88px);width:auto;height:auto}
.dense-products .product .actual{width:100%;height:100%;max-width:100%;object-fit:contain}
.dense-products .product .from{top:46px;right:0;left:auto;min-width:60px;padding:4px 5px;border-radius:3px}
.dense-products .product .price-from{font-size:6px;top:-8px}
.dense-products .price-pounds{font-size:25px}
.dense-products .price-currency{font-size:12px;margin-top:1px}
.dense-products .price-pence{font-size:13px}
.dense-products .price-vat{font-size:6px;margin-top:2px}
.dense-products .price-wide .price-pounds{font-size:22px}
.dense-products .price-amount{letter-spacing:-.8px}
.dense-products .product table{font-size:7px;letter-spacing:-.12px;line-height:1.1}
.dense-products .product th,.dense-products .product td{padding:3px 2px;line-height:1.1;overflow-wrap:normal}
.dense-products .product th:last-child{white-space:normal}
.dense-products .product td:first-child{font-size:6.8px;letter-spacing:-.2px;white-space:nowrap}
.dense-products .product th:first-child{white-space:nowrap}
.dense-products .product td:last-child{white-space:nowrap}
.supplied-cover{background:#323232;overflow:hidden}
.supplied-cover>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;object-fit:contain;transform:none}
/* Project only the four corners of the actual cover onto the catalogue leaf. */
.supplied-cover.isolated-cover>img{inset:auto;left:0;top:0;width:1024px;height:1536px;max-width:none;object-fit:fill;transform-origin:0 0}
/* The enlarged contents list keeps all fourteen departments on the page. */
.contents h1{font-size:44px;line-height:.98;margin:19px 0 16px}
.contents-grid{margin-top:16px}
.toc-row{height:35px;padding:6px 3px;gap:12px}
.toc-row i{height:20px;width:8px}
.toc-row b{font-size:12px}
.new-category-selection{display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:14px 16px;padding:20px;height:100%;background:#323232}
.new-category-selection>div{display:flex;align-items:center;justify-content:center;width:29%;height:44%;overflow:hidden}
.new-category-selection .photo{background:none;max-width:100%;max-height:100%}

/* Expanded directory over the original cover's category column only. */
.back-cover-directory{position:absolute;left:386px;top:43px;width:198px;height:628px;padding:4px;box-sizing:border-box;background:#323232;display:grid;grid-template-rows:repeat(15,minmax(0,1fr));gap:5px;z-index:5}
.back-cover-category{display:flex;align-items:center;gap:9px;width:100%;min-height:0;padding:3px 8px;border:1.5px solid transparent;border-radius:5px;background:var(--tile);color:var(--tile-ink);font-family:Catalogue,Arial,sans-serif;font-weight:700;font-size:17px;line-height:1.03;text-align:left;cursor:pointer}
.back-cover-category.tools-tile{border-color:#ffda00}
.back-cover-category .line-icon{width:28px;height:30px;flex:0 0 28px}
.back-cover-category:hover{filter:brightness(1.15)}
.back-cover-category:focus-visible{outline:2px solid white;outline-offset:1px}

.back-cover-category{font-size:16px}
.skip-illustration{display:block;max-width:100%;max-height:100%;width:100%;height:100%}
.skip-selection{align-items:center!important;gap:0!important}
.skip-selection>div{width:36%!important;height:70%!important;margin:0 -2%!important}
#viewport,#book,#book .stf__block{touch-action:none;-webkit-user-select:none;user-select:none}

/* Use the supplied company logo rather than a typeset brand name. */
.app-header{background:#313130}
.brand{display:flex;align-items:center;flex-shrink:0;line-height:1}
.brand .header-logo{display:block;width:220px;height:66px;object-fit:contain}
@media(max-width:800px){.brand .header-logo{width:180px;height:54px}}
@media(max-width:360px){.brand .header-logo{width:156px;height:47px}}
