.pb-gallery-slide[hidden]{display:none}.pb-gallery-slide{background:#f4f4f4;border-radius:16px;overflow:hidden}.pb-gallery-slide img,.pb-gallery-slide video{width:100%;height:auto;max-height:650px;object-fit:contain;display:block}.pb-gallery-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.pb-gallery-controls button{position:relative;width:72px;height:72px;padding:2px;border:2px solid #ddd;background:white;border-radius:8px;cursor:pointer;overflow:hidden}.pb-gallery-controls button[aria-pressed=true]{border-color:#ff6b00}.pb-gallery-controls img,.pb-gallery-controls video{width:100%;height:100%;object-fit:cover}.pb-gallery-controls span{position:absolute;bottom:0;right:0;background:white;color:#222;padding:0 4px}.pb-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:end;margin:24px 0}.pb-filters label{display:grid;gap:6px;flex:1;min-width:160px}.pb-filters input,.pb-filters select{width:100%;padding:12px;border:1px solid #bbb;border-radius:8px;background:white;color:#222}.pb-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.pb-card{border:2px solid #eee;border-radius:16px;padding:24px;overflow:hidden}.pb-card>a>img,.pb-card>a>video{width:100%;height:240px;object-fit:cover;border-radius:8px}.pb-source .pb-card h2{font-size:24px;line-height:32px;margin:16px 0}.pb-source .pb-card p{margin:12px 0}.pb-card>a{color:inherit}.pb-card>a:last-child{color:#c94f00;font-weight:700}.pb-purchase{margin:20px 0}.pb-purchase p{margin-bottom:12px}.pb-source{padding-top:80px;--primary:#ff6b00;--primary-foreground:#fff}.pb-source .bg-primary{color:white;background-color:#ff6b00}.pb-source .text-primary-foreground{color:white}.pb-source svg{display:inline-block;vertical-align:middle;flex-shrink:0}.pb-source p:empty:not([class*="w-"]){display:none}.pb-source .wp-block-group{box-sizing:border-box}.pb-source .button{background:#ff6b00;color:white}.pb-source .pb-index{padding:48px 24px;max-width:1280px;margin:auto}.pb-source .pb-index h1{font-size:60px;line-height:1.1;margin-bottom:24px}.pb-source .pb-index>p{margin:24px 0}.pb-source .pb-index ul{padding-left:24px;list-style:disc}.pb-source .pb-index li{margin:12px 0}@media(max-width:900px){.pb-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.pb-cards{grid-template-columns:1fr}.pb-source .pb-index h1{font-size:36px}.pb-gallery-controls button{width:58px;height:58px}}
.pb-source :where(*,::before,::after){border-style:solid;border-width:0}.pb-source .pb-card{border-width:2px}.pb-source .pb-gallery-controls button{border-width:2px}.pb-source .pb-filters input,.pb-source .pb-filters select{border-width:1px}
.pb-source .pb-project-section{font-size:32px;line-height:40px;margin:32px 0 20px}.pb-source .pb-card h3{font-size:24px;line-height:32px;margin:12px 0}.pb-project-preview{height:160px;background:#f3f1ec;display:grid;place-items:center;border-radius:8px}.pb-project-preview img{width:56px;height:56px;opacity:.7}.pb-source .pb-project-area{margin-top:48px;padding:24px;background:#f3f1ec;border-radius:16px}.pb-source .pb-project-area h2{font-size:24px;line-height:32px;margin-bottom:16px}.pb-source .pb-project-area p{margin-bottom:12px}
.pb-source:has(.pt-28),.pb-source:has(.pt-24){padding-top:0}.pb-source .pb-specs{padding:24px;border:2px solid #dedad4;border-radius:16px;margin-top:24px}.pb-source .pb-specs h2{font-size:24px;line-height:32px;margin-bottom:16px}.pb-specs dl{margin:0}.pb-specs dt{font-weight:700;margin-top:12px}.pb-specs dd{margin:0;white-space:normal}.pb-source .pb-specs p{font-size:14px;color:#59636a;margin-top:16px}
.pb-source .pb-specs h2,.pb-source .pb-index h1,.pb-source .pb-card h2,.pb-source .pb-card h3,.pb-source .pb-project-section,.pb-source .pb-project-area h2{font-weight:700}
.pb-source .pb-purchase{width:100%;min-width:0;margin:0}.pb-source .pb-purchase-price{font-weight:700;font-size:24px;line-height:32px;margin-bottom:12px}.pb-purchase-price>span:last-child{font-size:14px}.pb-source .pb-purchase form.cart{margin:16px 0}.pb-source .pb-purchase .variations{width:100%;margin-bottom:16px}.pb-source .pb-purchase .variations th{text-align:left;padding-right:12px}.pb-source .pb-purchase select{width:100%;min-width:0;padding:12px;background:white;border:1px solid #bbb;border-radius:8px;color:inherit;font:inherit}.pb-source .pb-purchase .quantity input{width:80px;padding:12px;border:1px solid #bbb;border-radius:8px}.pb-source .pb-purchase .single_add_to_cart_button{background:#ff6b00;color:white;padding:14px 24px;min-height:48px}.pb-source .pb-purchase .woocommerce-variation-price{font-size:24px;font-weight:700}.pb-source .pb-purchase .woocommerce-variation-description p{margin:12px 0}.pb-source .pb-customise{display:inline-block;margin-top:12px;text-decoration:underline}.pb-source .woocommerce-notices-wrapper{max-width:1240px;margin:0 auto;padding:0 16px}
.woocommerce .pb-source .pb-purchase button.button.alt{background:#ff6b00;color:#fff;border-color:#ff6b00;font-family:inherit;font-weight:700}.woocommerce .pb-source .pb-purchase button.button.alt:hover{background:#e96000;color:#fff;border-color:#e96000}.pb-source .pb-purchase .woocommerce-variation-add-to-cart,.pb-source .pb-purchase form.cart:not(.variations_form){display:flex;flex-wrap:nowrap;align-items:center;gap:12px}.pb-source .pb-purchase .woocommerce-variation-add-to-cart .quantity{margin:0;float:none}.pb-browse-links{margin-top:20px}.pb-purchase-block{min-width:0;width:100%}

.woocommerce .pb-source .pb-purchase .woocommerce-variation-add-to-cart::before,.woocommerce .pb-source .pb-purchase .woocommerce-variation-add-to-cart::after,.woocommerce .pb-source .pb-purchase form.cart::before,.woocommerce .pb-source .pb-purchase form.cart::after{display:none}.woocommerce .pb-source .pb-purchase form.cart .quantity{float:none;margin:0;flex:0 0 80px}.woocommerce .pb-source .pb-purchase form.cart .quantity input{height:50px;box-sizing:border-box}.woocommerce .pb-source .pb-purchase form.cart button.single_add_to_cart_button{float:none;margin:0;height:50px;min-height:50px;white-space:nowrap}.pb-source .pb-purchase-block{margin-bottom:32px}
.woocommerce .pb-source .pb-purchase form.cart .pb-add-to-cart{background:#fff;border:2px solid #007f86;color:#007f86;margin:0;height:50px;padding:10px 16px;white-space:nowrap}.woocommerce .pb-source .pb-purchase form.cart .pb-add-to-cart:hover{background:#e7f5f5;transform:none}.pb-source .pb-purchase .pb-add-to-cart[hidden]{display:none}
@media(max-width:600px){.woocommerce .pb-source .pb-purchase form.cart .quantity{flex-basis:56px}.woocommerce .pb-source .pb-purchase form.cart .quantity input{width:56px;padding:8px}.woocommerce .pb-source .pb-purchase form.cart button.single_add_to_cart_button,.woocommerce .pb-source .pb-purchase form.cart .pb-add-to-cart{padding:10px 12px;font-size:14px}.pb-source .pb-purchase .woocommerce-variation-add-to-cart{gap:8px}}

/* Source-matched catalogue (all-models-client.tsx). */
.pb-source .pb-card-title{font-size:1rem;line-height:1.5rem;margin:0;letter-spacing:normal}
.pb-source .pb-model-card{display:block;text-decoration:none;color:inherit}
.pb-source .pb-model-card[hidden]{display:none}
.pb-source .pb-catalogue a[data-filter]{text-decoration:none}
.pb-source .pb-catalogue summary::-webkit-details-marker{display:none}
@media(max-width:1023px){.pb-catalogue.is-enhanced .pb-catalogue-aside{display:none}}
.pb-filter-sheet{position:fixed;inset:auto 0 0 0;width:100%;max-width:100%;max-height:85vh;margin:0;overflow:auto;border:0;border-top:2px solid var(--border);border-radius:1.5rem 1.5rem 0 0;background:var(--card);color:var(--foreground);padding:1.5rem}
.pb-filter-sheet::backdrop{background:color-mix(in oklab,oklch(0.98 0.005 85) 60%,transparent);backdrop-filter:blur(8px)}

/* Minified @property defaults left a unitless ring offset, which invalidates every Tailwind ring calc(). */
.pb-source.pb-source *,.pb-source.pb-source ::before,.pb-source.pb-source ::after{--tw-ring-offset-width:0px}

/* Source-matched model gallery (model-gallery.tsx): square stage, four-column thumbnails. */
.pb-source .pb-gallery-slide{position:relative;aspect-ratio:1;margin-bottom:24px;background:var(--muted);border-radius:1.5rem;overflow:hidden}
.pb-source .pb-gallery-slide[hidden]{display:none}
.pb-source .pb-gallery-slide img,.pb-source .pb-gallery-slide video{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain}
.pb-source .pb-gallery-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:0}
.pb-source .pb-gallery-controls button{position:relative;width:auto;height:auto;aspect-ratio:1;padding:0;border:0;border-radius:1rem;background:var(--muted);opacity:.6;transition:opacity .15s;overflow:hidden}
.pb-source .pb-gallery-controls button:hover,.pb-source .pb-gallery-controls button[aria-pressed=true]{opacity:1}
.pb-source .pb-gallery-controls button[aria-pressed=true]{box-shadow:0 0 0 2px var(--primary)}
.pb-source .pb-gallery-controls button img,.pb-source .pb-gallery-controls button video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pb-source .pb-gallery-controls span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* Below the two-column breakpoint, the added print specifications follow the product details rather than preceding the title. */
@media(max-width:1023px){
 .pb-source .grid:has(>div>.pb-gallery)>div:has(>.pb-gallery){display:contents}
 .pb-source .grid:has(>div>.pb-gallery)>div:not(:has(>.pb-gallery)){order:1}
 .pb-source .grid:has(>div>.pb-gallery)>div>.pb-specs{order:2;margin-top:0}
 .pb-source .grid:has(>div>.pb-gallery)>div>br{display:none}
}
/* Buttons imported as a paragraph's only link keep the source's stretch behaviour inside flex columns. */
.pb-source .flex-col>p:has(>a[data-slot=button]:only-child){display:flex;flex-direction:column}
@media(min-width:768px){.pb-source .md\:flex-row>p:has(>a[data-slot=button]:only-child){display:block}}
.pb-source .pb-post-card{text-decoration:none;color:inherit}
.pb-source .pb-post-card-title{letter-spacing:normal;line-height:1.35}
/* Index pages (services, areas, materials, projects, blog) use the same container as source pages. */
.pb-source.pb-source .pb-index{box-sizing:border-box;width:100%;max-width:none;margin-inline:auto;padding:48px 16px 64px}
@media(min-width:640px){.pb-source.pb-source .pb-index{max-width:640px}}
@media(min-width:768px){.pb-source.pb-source .pb-index{max-width:768px;padding-inline:24px}}
@media(min-width:1024px){.pb-source.pb-source .pb-index{max-width:1024px}}
@media(min-width:1280px){.pb-source.pb-source .pb-index{max-width:1280px}}
@media(min-width:1536px){.pb-source.pb-source .pb-index{max-width:1536px}}
/* Source-matched projects index (app/projects/page.tsx). */
.pb-source .pb-project-card{text-decoration:none;color:inherit}
.pb-source .pb-project-card[hidden],.pb-source [data-project-section][hidden],.pb-source [data-project-empty][hidden],.pb-source [data-clear-search][hidden],.pb-source [data-toggle-filters][hidden]{display:none}
.pb-source .pb-project-title,.pb-source .pb-project-heading,.pb-source .pb-project-side-title{letter-spacing:normal;margin:0}
.pb-source .pb-project-title{margin-bottom:.5rem}
.pb-source .pb-project-side-title{margin-bottom:1rem}
.pb-source .pb-projects [data-project-category]{text-decoration:none}
.pb-source .pb-projects input[type=search]::-webkit-search-cancel-button{display:none}
@media(max-width:1023px){.pb-source .pb-project-filters.is-collapsible{display:none}.pb-source .pb-project-filters.is-collapsible.is-open{display:block}}
/* Long breadcrumb titles truncate instead of widening their grid column on phones. */
.pb-source .grid>*,.pb-source .truncate{min-width:0}
.woocommerce .pb-source .pb-purchase form.cart:has(.pb-colours){flex-wrap:wrap}.pb-source .pb-colours{flex:0 0 100%;display:grid;gap:12px;margin-bottom:4px}.pb-source .pb-colour-field{display:grid;gap:6px;margin:0}.pb-source .pb-colour-field label{font-weight:600}.pb-source .pb-colour-hint{margin:0;font-size:14px;color:var(--muted-foreground,#666)}.pb-source .pb-colour-note{margin:0;padding:10px 12px;border-left:3px solid #ff6b00;background:#fff4ec;font-size:14px;line-height:1.5}.pb-source .pb-colour-note[hidden]{display:none}
.pb-purchase .pb-quote-shipping{margin:12px 0;padding:12px 14px;border:1px solid #f3c69b;border-radius:8px;background:#fff7ef;font-size:14px}.pb-purchase .pb-quote-shipping a{color:#c24e00;font-weight:600}
