/* Three fluid layout variants share the same native interactions. */
.template-view { display: none; }
@media (min-width:1200px) { .template-view[data-view="desktop"] { display:block; } }
@media (min-width:810px) and (max-width:1199.98px) { .template-view[data-view="tablet"] { display:block; } }
@media (max-width:809.98px) { .template-view[data-view="mobile"] { display:block; } }
html { scroll-behavior:smooth; }
body { margin:0; }
html[data-theme="dark"] body { background:#000; }
html[data-theme="light"] body { background:#fff; }
[data-map-placeholder] { display:flex !important; align-items:center; justify-content:center; min-height:260px; padding:32px; background:var(--token-01972dde-96b7-4e6f-97dc-b422e64bf151,#1a1815); color:var(--token-b7bf1a71-7940-4d55-9962-fa791d7a02f8,#b0aaa2); text-align:center; font:inherit; border:1px solid currentColor; }
[data-placeholder-link] { cursor:default; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Interaction states for the standalone reusable website. */
html[data-theme="dark"] { --template-nav-surface: #e0d6c7; --template-nav-text: #171614; --template-menu-surface: #1c1a17; --template-menu-text: #fff; }
html[data-theme="light"] { --template-nav-surface: #1c1a17; --template-nav-text: #fff; --template-menu-surface: #f6f4ef; --template-menu-text: #171614; }
[hidden] { display: none !important; }
[data-theme-toggle], [data-menu-toggle], [data-blog-filter] { -webkit-tap-highlight-color: transparent; }
[data-theme-toggle]:focus-visible, [data-menu-toggle]:focus-visible, [data-blog-filter]:focus-visible,
[data-slideshow] button:focus-visible { outline: 2px solid #f7b74a !important; outline-offset: 4px; }
[data-theme-toggle] { transition: background-color .25s ease; }
[data-menu-toggle] { cursor: pointer; }
[data-menu-toggle] > :first-child { position: relative; background: none !important; mask: none !important; }
[data-menu-toggle] > :first-child::before,
[data-menu-toggle] > :first-child::after { content: ""; position: absolute; left: 15%; width: 70%; height: 1.5px; border-radius: 2px; background: #171614; transition: transform .2s ease, top .2s ease; }
[data-menu-toggle] > :first-child::before { top: 36%; }
[data-menu-toggle] > :first-child::after { top: 64%; }
[data-menu-toggle].menu-is-open > :first-child::before { top: 50%; transform: rotate(45deg); }
[data-menu-toggle].menu-is-open > :first-child::after { top: 50%; transform: rotate(-45deg); }
[data-placeholder-link] { cursor: default; }
.iw-6yiIS:hover .iw-fvuvd3, .iw-6yiIS:focus-visible .iw-fvuvd3 { opacity: 1 !important; }
.iw-6yiIS:hover .iw-zxcpnr, .iw-6yiIS:focus-visible .iw-zxcpnr { opacity: 1 !important; }
[data-slideshow] button { -webkit-tap-highlight-color: transparent; }
[data-slideshow] button:active:not(:disabled) { transform: scale(.88); }
[data-slideshow] button:disabled { cursor: default; }
[data-slideshow] .ss-copy { flex: 0 0 auto; }
[data-form-status] { display: block; flex: 1 0 100%; width: 100%; color: inherit; font: inherit; font-size: 14px; line-height: 1.5; margin: 12px 0 0; }
[data-mobile-menu]:not([hidden]) { position: fixed; inset: 78px 15px auto; z-index: 10001; display: flex; flex-direction: column; align-items: center; gap: 36px; padding: 32px; max-height: calc(100dvh - 100px); overflow-y: auto; border-radius: 4px; background: var(--template-menu-surface); color: var(--template-menu-text); box-shadow: 0 12px 40px #0003; }
[data-mobile-menu] a { color: inherit; font: inherit; text-decoration: none; }
[data-mobile-menu] [data-menu-close] { position: absolute; top: 8px; right: 12px; padding: 4px; border: 0; background: none; color: inherit; cursor: pointer; }
.site-header--scrolled .iw-1lw5zz8 { background: var(--template-nav-surface) !important; transition: background-color .3s ease, width .3s ease; }
.site-header--hero:not(.site-header--scrolled) .iw-1lw5zz8 { background: transparent !important; }
.site-header--hero:not(.site-header--scrolled) .iw-fvuvd3 *,
.site-header--hero:not(.site-header--scrolled) [data-iw-name="Logo"] * { color: #fff !important; }
.site-header--hero:not(.site-header--scrolled) [style*="--1yxmk0u"] { --1yxmk0u: #fff !important; }
.site-header--scrolled .iw-fvuvd3 p, .site-header--scrolled [data-iw-name="Logo"] p,
.site-header--scrolled [data-iw-name="Logo"] h1, .site-header--scrolled [data-iw-name="Logo"] h2,
.site-header--scrolled [data-iw-name="Logo"] h3 { color: var(--template-nav-text) !important; }
.site-header--scrolled [style*="--1yxmk0u"] { --1yxmk0u: var(--template-nav-text) !important; }
.site-header--scrolled .iw-fvuvd3 *, .site-header--scrolled [data-iw-name="Logo"] * { color: var(--template-nav-text) !important; }
[data-blog-filter] .iw-12ov0u5 { background: var(--token-01972dde-96b7-4e6f-97dc-b422e64bf151, #f6f4ef) !important; }
[data-blog-filter] .iw-s56e3w p { color: var(--token-b7bf1a71-7940-4d55-9962-fa791d7a02f8, #666) !important; }
[data-blog-filter].blog-filter--active .iw-12ov0u5 { background: var(--token-46d4d331-6df3-40eb-a5c3-27121bfef506, #171614) !important; }
[data-blog-filter].blog-filter--active .iw-s56e3w p { color: var(--token-1a740a90-4e25-48d7-ad4c-88411bc0bc49, #fff) !important; }
@media (prefers-reduced-motion: reduce) {
  [data-slideshow] *, [data-menu-toggle], .site-header--scrolled .iw-1lw5zz8 { transition-duration: 0s !important; animation-duration: 0s !important; }
}
/* Homepage client sections share the existing typography, spacing and palette. */
html[data-theme="dark"] { --client-text:#f7f7f7; --client-muted:#aaa7a0; --client-surface:#171614; --client-border:#ffffff26; }
html[data-theme="light"] { --client-text:#171614; --client-muted:#66635e; --client-surface:#f6f4ef; --client-border:#17161426; }
[data-section] { scroll-margin-top:110px; }
.client-section { width:100%; padding:90px 50px; box-sizing:border-box; color:var(--client-text); }
.client-section-inner { width:100%; max-width:1340px; margin:0 auto; display:grid; grid-template-columns:1fr 1.1fr; gap:80px; align-items:start; }
.client-section-heading { max-width:520px; }
.client-eyebrow { display:inline-block; padding:6px 9px; border-radius:4px; background:#f7b74a; color:#171614; font:600 12px/1.1 "Geist",sans-serif; }
.client-section h2 { color:inherit; font:500 48px/1.05 "Cabinet Grotesk",sans-serif; letter-spacing:-1.5px; text-transform:uppercase; margin:22px 0; }
.client-section p { color:var(--client-muted); font:400 16px/1.65 "Geist",sans-serif; margin:0; }
.client-areas-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.client-area-link { display:flex; justify-content:space-between; gap:16px; align-items:center; padding:22px; border:1px solid var(--client-border); background:var(--client-surface); color:var(--client-text); text-decoration:none; font:500 17px/1.4 "Geist",sans-serif; border-radius:4px; }
.client-area-link span { color:#f7b74a; font-size:24px; }
.client-area-link:hover { border-color:#f7b74a; }
.client-faq { border-bottom:1px solid var(--client-border); }
.client-faq:first-child { border-top:1px solid var(--client-border); }
.client-faq summary { cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:24px; list-style:none; padding:24px 0; font:500 19px/1.4 "Geist",sans-serif; }
.client-faq summary::-webkit-details-marker { display:none; }
.client-faq summary span { font-size:26px; color:#f7b74a; transition:transform .2s; }
.client-faq[open] summary span { transform:rotate(45deg); }
.client-faq p { padding:0 40px 24px 0; }
.client-contact { width:calc(100% - 100px); max-width:1340px; margin:0 auto; color:var(--client-text); }
.client-contact > .iw-1426d0i { padding-top:70px; }
.client-lightbox { width:min(1100px,94vw); max-width:94vw; max-height:94dvh; padding:48px 16px 16px; border:1px solid #ffffff40; border-radius:5px; background:#171614; color:#fff; }
.client-lightbox::backdrop { background:#000d; }
.client-lightbox img { display:block; max-width:100%; max-height:78dvh; width:auto; height:auto; margin:auto; object-fit:contain; }
.client-lightbox-close { position:absolute; top:7px; right:12px; background:none; color:white; border:0; font:32px/1 sans-serif; cursor:pointer; padding:4px; }
@media(min-width:1200px) { [data-client-navigation] { gap:28px !important; } }
@media(max-width:1199.98px) { .client-section { padding:70px 30px; } .client-section-inner { gap:40px; } .client-section h2 { font-size:40px; } .client-contact { width:calc(100% - 60px); } }
@media(max-width:809.98px) { .client-section { padding:60px 15px; } .client-section-inner { grid-template-columns:1fr; gap:32px; } .client-section h2 { font-size:36px; letter-spacing:-1px; } .client-areas-grid { gap:12px; } .client-area-link { padding:18px 14px; font-size:15px; } .client-contact { width:calc(100% - 30px); } .client-contact > .iw-1426d0i { padding-top:50px; } [data-client-navigation] { max-height:calc(100dvh - 110px); overflow-y:auto !important; } }

/* Agreed header call action, replacing the colour switch. */
.factory-call {display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;background:#f7b74a;color:#171614!important;border-radius:4px;padding:12px 16px;text-decoration:none;font:600 14px/1.2 "Geist",sans-serif;flex-shrink:0;}
@media(max-width:809.98px){.factory-call{font-size:11px;padding:10px 8px;}[data-iw-name="Logo"]{min-width:0!important;flex-shrink:1!important;}[data-iw-name="Logo"] h3{white-space:normal!important;font-size:17px!important;line-height:1.1!important;}}

/* The call action occupies the original header CTA space. */
.iw-SQEA9 .iw-p07kqx{width:auto;position:relative;z-index:2;}
@media(max-width:809.98px){.iw-SQEA9 .iw-42jbll{max-width:125px;} .iw-SQEA9 .iw-p07kqx{gap:0;} .factory-brand-name{font-size:17px!important;line-height:1.1!important;}}
