.wpcf7 .screen-reader-response {
position: absolute;
overflow: hidden;
clip: rect(1px, 1px, 1px, 1px);
clip-path: inset(50%);
height: 1px;
width: 1px;
margin: -1px;
padding: 0;
border: 0;
word-wrap: normal !important;
}
.wpcf7 .hidden-fields-container {
display: none;
}
.wpcf7 form .wpcf7-response-output {
margin: 2em 0.5em 1em;
padding: 0.2em 1em;
border: 2px solid #00a0d2; }
.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output {
display: none;
}
.wpcf7 form.sent .wpcf7-response-output {
border-color: #46b450; }
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
border-color: #dc3232; }
.wpcf7 form.spam .wpcf7-response-output {
border-color: #f56e28; }
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
border-color: #ffb900; }
.wpcf7-form-control-wrap {
position: relative;
}
.wpcf7-not-valid-tip {
color: #dc3232; font-size: 1em;
font-weight: normal;
display: block;
}
.use-floating-validation-tip .wpcf7-not-valid-tip {
position: relative;
top: -2ex;
left: 1em;
z-index: 100;
border: 1px solid #dc3232;
background: #fff;
padding: .2em .8em;
width: 24em;
}
.wpcf7-list-item {
display: inline-block;
margin: 0 0 0 1em;
}
.wpcf7-list-item-label::before,
.wpcf7-list-item-label::after {
content: " ";
}
.wpcf7-spinner {
visibility: hidden;
display: inline-block;
background-color: #23282d; opacity: 0.75;
width: 24px;
height: 24px;
border: none;
border-radius: 100%;
padding: 0;
margin: 0 24px;
position: relative;
}
form.submitting .wpcf7-spinner {
visibility: visible;
}
.wpcf7-spinner::before {
content: '';
position: absolute;
background-color: #fbfbfc; top: 4px;
left: 4px;
width: 6px;
height: 6px;
border: none;
border-radius: 100%;
transform-origin: 8px 8px;
animation-name: spin;
animation-duration: 1000ms;
animation-timing-function: linear;
animation-iteration-count: infinite;
}
@media (prefers-reduced-motion: reduce) {
.wpcf7-spinner::before {
animation-name: blink;
animation-duration: 2000ms;
}
}
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
@keyframes blink {
from {
opacity: 0;
}
50% {
opacity: 1;
}
to {
opacity: 0;
}
}
.wpcf7 [inert] {
opacity: 0.5;
}
.wpcf7 input[type="file"] {
cursor: pointer;
}
.wpcf7 input[type="file"]:disabled {
cursor: default;
}
.wpcf7 .wpcf7-submit:disabled {
cursor: not-allowed;
}
.wpcf7 input[type="url"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"] {
direction: ltr;
}
.wpcf7-reflection > output {
display: list-item;
list-style: none;
}
.wpcf7-reflection > output[hidden] {
display: none;
}.popup-template .modal{opacity:0;transition:all .25s ease}.popup-template .modal.is-open{opacity:1;transition:all .25s ease}.is-menu a,.is-menu a:focus,.is-menu a:hover,.is-menu:hover>a{background:0 0!important;outline:0}.is-screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);color:#000;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;word-break:normal}.is-menu,form .is-link-container{position:relative}.is-menu a{line-height:1}.is-menu a::after,.is-menu a::before{display:none!important}.is-menu.default form{max-width:310px}.is-menu.is-dropdown form{display:none;min-width:310px;max-width:100%;position:absolute;right:0;top:100%;z-index:9}.is-menu.full-width-menu form,.is-menu.sliding form{min-width:0!important;overflow:hidden;position:absolute;right:0;top:25%;width:0;z-index:99;padding:0;margin:0}.is-menu.full-width-menu form:not(.is-search-form) input[type=search],.is-menu.full-width-menu form:not(.is-search-form) input[type=text],.is-menu.is-dropdown form:not(.is-search-form) input[type=search],.is-menu.is-dropdown form:not(.is-search-form) input[type=text],.is-menu.sliding form:not(.is-search-form) input[type=search],.is-menu.sliding form:not(.is-search-form) input[type=text],.is-popup-search-form form:not(.is-search-form) input[type=search],.is-popup-search-form form:not(.is-search-form) input[type=text]{background:#fff;color:#000}.is-menu.is-first form{right:auto;left:0}.is-menu.full-width-menu.open .search-close,.is-menu.full-width-menu:not(.open) form,.is-menu.is-dropdown form[style="display: block;"]+.search-close,.is-menu.sliding.open .search-close,.is-menu.sliding:not(.open) form,form:hover+.is-link-container,form:hover>.is-link-container{display:block}.is-form-style-2 .is-search-submit,.is-link-container,.is-menu form .screen-reader-text,.search-close{display:none}.is-menu form label{margin:0;padding:0}.is-menu-wrapper{display:none;position:absolute;right:5px;top:5px;width:auto;z-index:9999}.popup-search-close,.search-close{cursor:pointer;width:20px;height:20px}.is-menu-wrapper.is-expanded{width:100%}.admin-bar .is-menu-wrapper{top:51px}.is-menu-wrapper .is-menu{float:right}.is-menu-wrapper .is-menu form{right:0;left:auto}.gsc-cse-search-menu{max-width:310px;float:right}.gsc-cse-search-menu .cse .gsc-control-cse,.gsc-cse-search-menu .gsc-control-cse{padding:0}.is-menu .search-icon-path{fill:#848484}.search-close{position:absolute;right:-22px;top:33%;z-index:99999}.is-menu.is-first .search-close{right:auto;left:-22px}.is-menu.is-dropdown .search-close{top:calc(100% + 7px)}.popup-search-close{z-index:99999;float:right;position:relative;margin:20px 20px 0 0}#is-popup-wrapper{width:100%;height:100%;position:fixed;top:0;left:0;background:rgba(4,4,4,.91);z-index:999999}.is-popup-search-form form{width:80%;margin:20% auto 0}.is-popup-search-form form.is-ajax-search{margin:10% auto 0}.popup-search-close:after,.search-close:after{border-left:2px solid #848484;content:'';height:20px;left:9px;position:absolute;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.popup-search-close:before,.search-close:before{border-left:2px solid #848484;content:'';height:20px;left:9px;position:absolute;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}.is-highlight{background-color:#ffffb9;color:#222}@media screen and (max-width:910px){.is-menu form{left:0;min-width:50%;right:auto}.is-menu.default form{max-width:100%}.is-menu.full-width-menu.active-search{position:relative}.is-menu-wrapper{display:block}}.is-form-style label,.is-menu.full-width-menu.is-first button.is-search-submit,.is-menu.sliding.is-first button.is-search-submit{display:inline-block!important}form .is-link-container div{position:absolute;width:200px;bottom:-25px;left:5px;z-index:99999;height:auto;line-height:14px;padding:10px 15px}form .is-link-container a{text-decoration:none;font-size:14px;font-weight:100;font-family:arial;box-shadow:none}form .is-link-container a:hover{text-decoration:underline}form .is-link-container a.is-customize-link{margin-left:15px}.is-form-style label{padding:0;vertical-align:middle;margin:0;width:100%;line-height:1}.is-form-style{line-height:1;position:relative;padding:0!important}.is-form-style.is-form-style-3 label{width:calc(100% - 36px)!important}.is-form-style input.is-search-input{background:#fff;background-image:none!important;color:#333;padding:0 12px;margin:0;outline:0!important;font-size:14px!important;height:36px;min-height:0;line-height:1;border-radius:0;border:1px solid #ccc!important;font-family:arial;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-webkit-border-radius:0}.is-form-style input.is-search-input::-ms-clear{display:none;width:0;height:0}.is-form-style input.is-search-input::-ms-reveal{display:none;width:0;height:0}.is-form-style input.is-search-input::-webkit-search-cancel-button,.is-form-style input.is-search-input::-webkit-search-decoration,.is-form-style input.is-search-input::-webkit-search-results-button,.is-form-style input.is-search-input::-webkit-search-results-decoration{display:none}.is-form-style.is-form-style-3 input.is-search-input{border-right:0!important}.is-form-style button.is-search-submit{background:0 0;border:0;box-shadow:none!important;opacity:1;padding:0!important;margin:0;line-height:0;outline:0;vertical-align:middle;width:36px;height:36px}.is-menu.full-width-menu.is-first button.is-search-submit:not([style="display: inline-block;"]),.is-menu.sliding.is-first button.is-search-submit:not([style="display: inline-block;"]){visibility:hidden}.is-form-style .is-search-submit path{fill:#555}.is-form-style input.is-search-submit{text-decoration:none;position:absolute;top:0;right:0;padding:0 10px!important;width:auto}.is-search-icon{width:36px;padding-top:6px!important}.is-search-icon svg{width:22px;display:inline}.is-form-style input.is-search-submit,.is-search-icon{display:inline-block!important;color:#666;background:#ededed;box-shadow:none!important;outline:0;margin:0;font-size:14px!important;border:1px solid #ccc;border-radius:0;line-height:1;height:36px;text-transform:capitalize;vertical-align:middle;-webkit-transition:background-color .1s ease-in-out;-moz-transition:background-color .1s ease-in-out;-o-transition:background-color .1s ease-in-out;transition:background-color .1s ease-in-out;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.is-search-icon:hover,form.is-form-style input.is-search-submit:hover{background:#dcdcdc}@font-face {
font-family: "Montserrat";
font-style: normal;
font-weight: 500 800;
font-display: swap;
src: url(//www.lumixfps.com.au/wp-content/themes/lumixfps-2026/assets/fonts/montserrat-latin-wght.woff2) format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: "Arimo";
font-style: normal;
font-weight: 400 700;
font-display: swap;
src: url(//www.lumixfps.com.au/wp-content/themes/lumixfps-2026/assets/fonts/arimo-latin-wght.woff2) format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: "Arimo";
font-style: italic;
font-weight: 400 700;
font-display: swap;
src: url(//www.lumixfps.com.au/wp-content/themes/lumixfps-2026/assets/fonts/arimo-latin-wght-italic.woff2) format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
} @font-face {
font-family: "Montserrat Fallback";
src: local("Arial"), local("ArialMT"), local("Liberation Sans");
size-adjust: 113.39%;
ascent-override: 85.37%;
descent-override: 22.14%;
line-gap-override: 0%;
}:root { --surface:          #ffffff; --surface-alt:      #f6f6f6; --surface-sunken:   #eaeaea; --ink:              #231f20; --ink-nav:          #231f20; --text:             #575757; --text-muted:       #717171; --line:             #e1e1e1; --line-strong:      #7d7d7d; --lumix-green:      #7ac47f; --lumix-green-deep: #51a356; --on-brand:         #231f20; --lumix-yellow:     #ece53e; --link:             #231f20; --focus:            #231f20;   --font-display: Montserrat, "Montserrat Fallback", "Helvetica Neue", Arial, sans-serif;
--font-text:    Arimo, Arial, "Helvetica Neue", sans-serif; --display-xl-size: 56px;  --display-xl-line: 60px; --display-lg-size: 40px;  --display-lg-line: 46px; --heading-1-size:  30px;  --heading-1-line:  36px; --heading-2-size:  20px;  --heading-2-line:  28px; --eyebrow-size:    13px;  --eyebrow-line:    16px; --nav-size:        14px;  --nav-line:        24px; --button-size:     15px;  --button-line:     20px; --body-lg-size:    18px;  --body-lg-line:    28px; --body-size:       16px;  --body-line:       24px; --body-sm-size:    14px;  --body-sm-line:    20px; --phone-size:      18px;  --phone-line:      24px;  --space-1:  4px; --space-2:  8px; --space-3:  12px; --space-4:  16px; --space-6:  24px; --space-8:  32px; --space-12: 48px; --space-18: 72px; --space-24: 96px;  --radius-sm:   3px; --radius-md:   5px; --radius-lg:   12px; --radius-full: 9999px;  --shadow-sm:   0 1px 2px #231f2014, 0 2px 6px #231f200f; --shadow-lg:   0 12px 32px -8px #231f202e; --focus-ring:  0 0 0 2px #ffffff, 0 0 0 4px #231f20;  --container:     1200px;
--measure:       68ch;
--header-height: 64px; }
@media (min-width: 48em) {
:root { --header-height: 80px; }
} :root {
--gutter:        16px; --grid-gap:      24px; --section-space: clamp(72px, 48px + 5vw, 96px); --container-narrow: 46rem; --error:         #b30000; --ease:      cubic-bezier(0.2, 0.7, 0.2, 1);
--dur-fast:  150ms;
--dur:       200ms;
--dur-slow:  320ms;
--z-sticky-bar: 90;
--z-header:     100;
--z-dropdown:   110;
--z-drawer:     200;
}
@media (min-width: 48em) {
:root { --gutter: 24px; }
}
@media (prefers-reduced-motion: reduce) {
:root { --dur-fast: 0ms; --dur: 0ms; --dur-slow: 0ms; }
}*, *::before, *::after { box-sizing: border-box; }
html {
-webkit-text-size-adjust: 100%;
text-size-adjust: 100%;
scroll-padding-top: calc(var(--header-height) + var(--space-4)); }
@media (prefers-reduced-motion: no-preference) {
html { scroll-behavior: smooth; }
}
body {
margin: 0;
background: var(--surface);
color: var(--text);
font-family: var(--font-text);
font-size: var(--body-size);
line-height: var(--body-line);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
overflow-wrap: break-word;
}
img, picture, video, canvas, svg { display: block; max-width: 100%; }
img, video { height: auto; }
input, button, textarea, select { font: inherit; color: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; } h1, h2, h3, h4, h5, h6 {
margin: 0 0 var(--space-4);
color: var(--ink);
font-family: var(--font-display);
font-weight: 600;
text-wrap: balance;
}
h1, .lx-h1 { font-size: var(--display-lg-size); line-height: var(--display-lg-line); letter-spacing: -0.01em; }
h2, .lx-h2 { font-size: var(--heading-1-size); line-height: var(--heading-1-line); letter-spacing: -0.01em; }
h3, .lx-h3 { font-size: var(--heading-2-size); line-height: var(--heading-2-line); }
h4 { font-size: 18px; line-height: 26px; }
h5, h6 { font-size: var(--body-size); line-height: var(--body-line); }
.lx-display { font-size: var(--display-xl-size); line-height: var(--display-xl-line); font-weight: 700; letter-spacing: -0.02em; }
.lx-h1, .lx-h2, .lx-h3, .lx-display { margin: 0; font-family: var(--font-display); color: var(--ink); } @media (max-width: 47.99em) {
.lx-display { font-size: var(--display-lg-size); line-height: var(--display-lg-line); font-weight: 700; }
h1, .lx-h1 { font-size: 32px; line-height: 38px; }
h2, .lx-h2 { font-size: 26px; line-height: 32px; }
}
p, ul, ol, dl, table, figure, blockquote { margin: 0 0 var(--space-4); }
p { text-wrap: pretty; }
strong, b { font-weight: 700; }
small { font-size: var(--body-sm-size); line-height: var(--body-sm-line); } .lx-eyebrow {
display: flex;
align-items: center;
gap: var(--space-2);
margin: 0 0 var(--space-2);
color: var(--ink);
font-family: var(--font-display);
font-size: var(--eyebrow-size);
line-height: var(--eyebrow-line);
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.lx-eyebrow::before {
content: "";
flex: none;
width: 26px;
height: 3px;
border-radius: var(--radius-full);
background: var(--lumix-green);
}
.lx-lead {
max-width: var(--measure);
margin: var(--space-4) 0 0;
color: var(--text);
font-size: var(--body-lg-size);
line-height: var(--body-lg-line);
} .lx-mark { box-shadow: inset 0 -0.3em 0 var(--lumix-green); }
.text-muted { color: var(--text-muted); }
.text-sm { font-size: var(--body-sm-size); line-height: var(--body-sm-line); } .prose { max-width: var(--measure); }
.prose > * + h2 { margin-top: var(--space-12); }
.prose > * + h3 { margin-top: var(--space-8); }
.prose ul, .content-list { padding-left: 0; list-style: none; }
.prose ul > li, .content-list > li { position: relative; margin-bottom: var(--space-2); padding-left: 1.25em; }
.prose ul > li::before, .content-list > li::before {
content: "";
position: absolute;
left: 0.15em;
top: 0.6em;
width: 8px;
height: 8px;
border-radius: var(--radius-full);
background: var(--lumix-green);
}
.prose ol { padding-left: 1.4em; }
.prose ol > li { margin-bottom: var(--space-2); padding-left: 0.25em; }
.prose ol > li::marker { color: var(--ink); font-weight: 700; }
hr { height: 1px; margin: var(--space-8) 0; border: 0; background: var(--line); } a, .lx-link {
color: var(--link);
text-decoration-line: underline;
text-decoration-color: var(--lumix-green);
text-decoration-thickness: 2px;
text-underline-offset: 4px;
transition: text-decoration-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}
a:hover, .lx-link:hover { text-decoration-color: currentColor; }
.lx-link { font-weight: 700; } .lx-more {
display: inline-flex;
align-items: center;
gap: var(--space-2);
color: var(--link);
font-family: var(--font-display);
font-size: 14px;
line-height: 20px;
font-weight: 700;
letter-spacing: 0.06em;
text-decoration: none;
text-transform: uppercase;
}
.lx-more::after {
content: "";
width: 18px;
height: 2px;
background: var(--lumix-green);
transition: width var(--dur) var(--ease);
}
.lx-more:hover { text-decoration: none; }
.lx-more:hover::after, a:hover .lx-more::after, .lx-card:hover .lx-more::after { width: 30px; } :focus { outline: none; }
:focus-visible {
outline: 2px solid transparent; box-shadow: var(--focus-ring);
border-radius: var(--radius-sm);
}  .visually-hidden,
.screen-reader-text {
position: absolute !important;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0 0 0 0);
white-space: nowrap;
border: 0;
}
.skip-link {
position: absolute;
left: var(--space-4);
top: var(--space-4);
z-index: calc(var(--z-drawer) + 1);
padding: var(--space-3) var(--space-4);
border-radius: var(--radius-md);
background: var(--ink);
color: var(--surface);
font-weight: 700;
transform: translateY(-200%);
}
.skip-link:focus-visible { transform: none; color: var(--surface); } .container {
width: 100%;
max-width: calc(var(--container) + 2 * var(--gutter));
margin-inline: auto;
padding-inline: var(--gutter);
}
.container--narrow { max-width: calc(var(--container-narrow) + 2 * var(--gutter)); }
.section { padding-block: var(--section-space); }
.section--alt { background: var(--surface-alt); }
.section--tight { padding-block: var(--space-12); } .lx-section-heading { max-width: 760px; margin-bottom: var(--space-12); }
.lx-section-heading > :last-child { margin-bottom: 0; }
.lx-section-heading--split { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: var(--space-4) var(--space-8); max-width: none; }
.layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--grid-gap); }
@media (min-width: 64em) {
.layout { grid-template-columns: repeat(12, minmax(0, 1fr)); }
.span-4 { grid-column: span 4; }
.span-5 { grid-column: span 5; }
.span-6 { grid-column: span 6; }
.span-7 { grid-column: span 7; }
.span-8 { grid-column: span 8; }
.span-12 { grid-column: 1 / -1; }
}
.stack > * + * { margin-top: var(--space, var(--space-4)); }
.lx-row { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; } .lx-btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: var(--space-2);
min-height: 48px;
padding: 0 var(--space-6);
border: 1px solid transparent;
border-radius: var(--radius-md);
font-family: var(--font-display);
font-size: var(--button-size);
line-height: var(--button-line);
font-weight: 600;
letter-spacing: 0.06em;
text-align: center;
text-decoration: none;
text-transform: uppercase;
cursor: pointer;
transition: background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}
.lx-btn:hover { text-decoration: none; }
.lx-btn svg { width: 18px; height: 18px; flex: none; }
.lx-btn--primary { background: var(--lumix-green); color: var(--on-brand); }
.lx-btn--primary:hover { background: var(--lumix-green-deep); color: var(--on-brand); }
.lx-btn--secondary { background: var(--surface); color: var(--ink); border-color: var(--line-strong); }
.lx-btn--secondary:hover { border-color: var(--ink); color: var(--ink); }
.lx-btn--sm { min-height: 40px; padding: 0 var(--space-4); font-size: 13px; }
.lx-btn--block { width: 100%; } .lx-btn[disabled], .lx-btn[aria-disabled="true"] { opacity: 0.45; cursor: not-allowed; } .icon-btn {
display: inline-grid;
place-items: center;
width: 44px;
height: 44px;
padding: 0;
border: 1px solid var(--line-strong);
border-radius: var(--radius-md);
background: var(--surface);
color: var(--ink);
transition: border-color var(--dur-fast) var(--ease);
}
.icon-btn:hover { border-color: var(--ink); }
.icon-btn svg { width: 20px; height: 20px; }
.icon-btn--plain { border-color: transparent; } .lx-field { display: flex; flex-direction: column; gap: var(--space-1); margin-bottom: var(--space-6); }
.lx-label, label {
display: block;
color: var(--ink);
font-size: var(--body-sm-size);
line-height: var(--body-sm-line);
font-weight: 700;
}
.lx-help { margin: 0; color: var(--text-muted); font-size: var(--body-sm-size); line-height: var(--body-sm-line); }
.lx-input,
input:is([type="text"], [type="email"], [type="tel"], [type="search"], [type="url"], [type="number"], [type="password"]),
select,
textarea {
display: block;
width: 100%;
height: 48px;
padding: 0 var(--space-3);
border: 1px solid var(--line-strong);
border-radius: var(--radius-sm);
background: var(--surface);
color: var(--ink);
font-size: var(--body-size); line-height: var(--body-line);
}
textarea { height: auto; min-height: 144px; padding: var(--space-3); resize: vertical; }
select {
appearance: none;
padding-right: 40px;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23231f20' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 12px center;
background-size: 18px;
}
::placeholder { color: var(--text-muted); opacity: 1; }
:is(.lx-input, input, select, textarea):focus-visible { border-color: var(--focus); border-radius: var(--radius-sm); }
:is(.lx-input, input, select, textarea)[aria-invalid="true"], .wpcf7-not-valid { border-color: var(--error); border-width: 2px; }
.field-error, .wpcf7-not-valid-tip {
display: flex;
gap: var(--space-2);
align-items: flex-start;
margin-top: var(--space-1);
color: var(--error);
font-size: var(--body-sm-size);
line-height: var(--body-sm-line);
font-weight: 700;
}
input[type="checkbox"], input[type="radio"] { width: 20px; height: 20px; accent-color: var(--ink); }
.check { display: flex; gap: var(--space-3); align-items: flex-start; font-weight: 400; font-size: var(--body-size); line-height: var(--body-line); color: var(--text); }
.check input { flex: none; margin: 2px 0 0; }
fieldset { margin: 0 0 var(--space-6); padding: 0; border: 0; }
legend { margin-bottom: var(--space-3); padding: 0; color: var(--ink); font-family: var(--font-display); font-weight: 600; } .lx-search { display: flex; max-width: 480px; }
.lx-search .lx-input, .lx-search input[type="search"] { flex: 1; min-width: 0; border-right: 0; border-radius: var(--radius-sm) 0 0 var(--radius-sm); }
.lx-search .lx-btn { min-height: 48px; padding: 0 var(--space-4); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; } table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
th, td { padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
thead th { color: var(--ink); font-family: var(--font-display); font-size: var(--body-sm-size); font-weight: 600; border-bottom: 2px solid var(--ink); }
.table-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
.table-scroll > table { min-width: 34rem; margin-bottom: 0; } @media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
}.icon { width: 20px; height: 20px; flex: none; }
.icon--flip { transform: scaleX(-1); } .site-header {
position: sticky;
top: 0;
z-index: var(--z-header);
background: var(--surface);
border-bottom: 1px solid var(--line);
transition: box-shadow var(--dur) var(--ease);
}
.site-header[data-scrolled] { box-shadow: var(--shadow-sm); }
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .site-header { top: 0; } }
.site-header__inner { display: flex; align-items: center; gap: var(--space-4); height: var(--header-height); }
.site-logo { flex: none; display: block; line-height: 0; text-decoration: none; }
.site-logo img { width: auto; height: 40px; }
@media (min-width: 64em) { .site-logo img { height: 48px; } }
.header-actions { display: flex; align-items: center; gap: var(--space-2); margin-left: auto; }
.header-enquire { display: none; }
@media (min-width: 48em) { .header-enquire { display: inline-flex; } }
@media (max-width: 29.99em) { .header-search-btn { display: none; } }  .lx-phone {
display: inline-flex;
align-items: center;
gap: var(--space-2);
color: var(--ink);
font-family: var(--font-text);
font-size: var(--phone-size);
line-height: var(--phone-line);
font-weight: 700;
font-variant-numeric: tabular-nums;
text-decoration: none;
white-space: nowrap;
}
.lx-phone:hover { text-decoration: underline; text-decoration-color: var(--lumix-green); }
.lx-phone i {
display: inline-grid;
place-items: center;
flex: none;
width: 36px;
height: 36px;
border-radius: var(--radius-full);
background: var(--lumix-green);
color: var(--on-brand);
font-style: normal;
}
.lx-phone i svg { width: 16px; height: 16px; }
.lx-phone__label { display: block; color: var(--text-muted); font-size: 12px; line-height: 14px; font-weight: 700; }
.lx-phone__number { display: block; } .lx-phone__text--compact { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (min-width: 85em) {
.lx-phone__text--compact { position: static; width: auto; height: auto; overflow: visible; clip: auto; }
}
.header-phone { min-height: 44px; padding-inline: var(--space-1); border-radius: var(--radius-md); }
.menu-btn {
display: inline-flex;
align-items: center;
gap: var(--space-2);
min-height: 44px;
padding: 0 var(--space-3);
border: 1px solid var(--line-strong);
border-radius: var(--radius-md);
background: var(--surface);
color: var(--ink);
font-family: var(--font-display);
font-size: var(--nav-size);
font-weight: 600;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.menu-btn svg { width: 20px; height: 20px; }
.menu-btn:hover { border-color: var(--ink); } .primary-nav { display: none; }
@media (min-width: 75em) {
.menu-btn { display: none; }
.primary-nav { display: block; align-self: stretch; margin-left: var(--space-6); }
.primary-nav .menu-item-home { display: none; } }
.nav-list { display: flex; align-items: stretch; gap: var(--space-4); height: 100%; margin: 0; padding: 0; list-style: none; }
.nav-item { position: static; display: flex; align-items: center; }
.nav-link {
position: relative;
display: flex;
align-items: center;
height: 100%;
padding: 0 var(--space-1);
color: var(--ink-nav);
font-family: var(--font-display);
font-size: var(--nav-size);
line-height: var(--nav-line);
font-weight: 600;
letter-spacing: 0.06em;
text-decoration: none;
text-transform: uppercase;
white-space: nowrap;
}
.nav-link::after {
content: "";
position: absolute;
left: var(--space-1);
bottom: 20px;
width: 26px;
height: 3px;
border-radius: var(--radius-full);
background: var(--lumix-green);
transform: scaleX(0);
transform-origin: left;
transition: transform var(--dur) var(--ease);
}
.nav-link:hover { color: var(--ink-nav); text-decoration: none; }
.nav-link:hover::after,
.nav-link[aria-current="page"]::after,
.nav-item.is-current-section > .nav-link::after,
.nav-item.is-open > .nav-link::after { transform: scaleX(1); }
.nav-toggle {
display: grid;
place-items: center;
width: 28px;
height: 44px;
padding: 0;
border: 0;
border-radius: var(--radius-sm);
background: transparent;
color: var(--ink);
}
.nav-toggle svg { width: 16px; height: 16px; transition: transform var(--dur) var(--ease); }
.nav-toggle[aria-expanded="true"] svg { transform: rotate(180deg); } .mega {
position: absolute;
top: 100%;
left: 0;
right: 0;
z-index: var(--z-dropdown);
max-height: calc(100dvh - var(--header-height));
overflow-y: auto;
overscroll-behavior: contain;
background: var(--surface);
border-top: 1px solid var(--line);
box-shadow: var(--shadow-lg);
transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.mega.is-entering { opacity: 0; transform: translateY(-6px); }
.mega__inner { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: var(--space-12); padding-block: var(--space-8) var(--space-12); }
.mega__aside {
display: flex;
flex-direction: column;
gap: var(--space-4);
align-self: start;
padding: var(--space-6);
border-radius: var(--radius-lg);
background: var(--surface-alt);
}
.mega__title { margin: 0; color: var(--ink); font-family: var(--font-display); font-size: var(--heading-2-size); line-height: var(--heading-2-line); font-weight: 600; }
.mega__desc { margin: 0; color: var(--text); font-size: var(--body-sm-size); line-height: var(--body-sm-line); }
.mega__feature {
display: flex;
gap: var(--space-3);
align-items: center;
padding: var(--space-3);
border: 1px solid var(--line);
border-radius: var(--radius-lg);
background: var(--surface);
color: var(--ink);
font-family: var(--font-display);
font-size: 15px;
font-weight: 600;
text-decoration: none;
transition: border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);
}
.mega__feature:hover { border-color: var(--line-strong); box-shadow: var(--shadow-lg); }
.mega__feature svg { flex: none; width: 36px; height: 36px; padding: 8px; border-radius: var(--radius-full); background: var(--lumix-green); color: var(--on-brand); }
.mega__label {
display: flex;
align-items: center;
gap: var(--space-2);
margin: 0;
color: var(--ink);
font-family: var(--font-display);
font-size: var(--eyebrow-size);
line-height: var(--eyebrow-line);
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.mega__label::before { content: ""; width: 26px; height: 3px; border-radius: var(--radius-full); background: var(--lumix-green); }
.mega__aside .mega__label { margin-top: var(--space-2); }
.mega__types { margin: 0; padding: 0; list-style: none; }
.mega__types a { display: block; padding: 2px 0; color: var(--text); font-size: var(--body-sm-size); line-height: var(--body-sm-line); text-decoration: none; }
.mega__types a:hover { color: var(--ink); text-decoration: underline; text-decoration-color: var(--lumix-green); }
.mega__head { margin-bottom: var(--space-6); padding-bottom: var(--space-3); border-bottom: 1px solid var(--line); }
.mega__brands { columns: 4 12rem; column-gap: var(--space-8); margin: 0; padding: 0; list-style: none; }
.mega__group { break-inside: avoid; margin-bottom: var(--space-6); }
.mega__brand {
display: inline-block;
padding: 2px 0;
color: var(--ink);
font-family: var(--font-display);
font-size: 15px;
line-height: 22px;
font-weight: 700;
text-decoration: none;
}
.mega__brand:hover { text-decoration: underline; text-decoration-color: var(--lumix-green); }
.mega__sub { margin: var(--space-1) 0 0; padding: 0 0 0 var(--space-3); list-style: none; border-left: 2px solid var(--line); }
.mega__sub a { display: block; padding: 3px 0; color: var(--text); font-size: var(--body-sm-size); line-height: var(--body-sm-line); text-decoration: none; }
.mega__sub a:hover, .mega__sub a[aria-current="page"] { color: var(--ink); text-decoration: underline; text-decoration-color: var(--lumix-green); } .has-dropdown { position: relative; }
.dropdown {
position: absolute;
top: 100%;
left: 0;
z-index: var(--z-dropdown);
min-width: 240px;
margin: 0;
padding: var(--space-2) 0;
list-style: none;
background: var(--surface);
border: 1px solid var(--line);
border-radius: 0 0 var(--radius-lg) var(--radius-lg);
box-shadow: var(--shadow-lg);
}
.dropdown a { display: block; padding: var(--space-2) var(--space-4); color: var(--text); font-size: var(--body-sm-size); text-decoration: none; }
.dropdown a:hover, .dropdown a[aria-current="page"] { background: var(--surface-alt); color: var(--ink); } .search-panel {
position: absolute;
top: 100%;
left: 0;
right: 0;
z-index: var(--z-dropdown);
background: var(--surface);
border-top: 1px solid var(--line);
box-shadow: var(--shadow-lg);
}
.search-panel__inner { padding-block: var(--space-6); } .drawer {
position: fixed;
inset: 0 0 0 auto;
width: min(26rem, 100%);
max-width: 100%;
height: 100dvh;
max-height: 100dvh;
margin: 0;
padding: 0;
border: 0;
background: var(--surface);
color: var(--text);
box-shadow: var(--shadow-lg);
transition: transform var(--dur-slow) var(--ease), overlay var(--dur-slow) allow-discrete, display var(--dur-slow) allow-discrete;
}
.drawer[open] { transform: translateX(0); }
@starting-style { .drawer[open] { transform: translateX(100%); } }
.drawer::backdrop { background: #231f2066; }
.drawer__inner { display: flex; flex-direction: column; height: 100%; }
.drawer__head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); min-height: var(--header-height); padding: 0 var(--space-4); border-bottom: 1px solid var(--line); }
.drawer__logo { display: block; line-height: 0; }
.drawer__logo img { width: auto; height: 36px; }
.drawer__body { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: var(--space-4); }
.drawer__body .lx-search { max-width: none; }
.drawer__foot { display: grid; gap: var(--space-2); padding: var(--space-4); border-top: 1px solid var(--line); background: var(--surface-alt); }
.drawer__foot address { margin: var(--space-1) 0 0; color: var(--text-muted); font-size: var(--body-sm-size); line-height: var(--body-sm-line); font-style: normal; }
.drawer__foot address + address { margin-top: var(--space-3); }
.drawer__foot address strong { color: var(--ink); }
.drawer-nav { margin: var(--space-4) 0 0; padding: 0; list-style: none; }
.drawer-nav ul { margin: 0; padding: 0; list-style: none; }
.drawer-nav li { border-bottom: 1px solid var(--line); }
.drawer-nav ul li { border-bottom: 0; }
.drawer-nav__row { display: flex; align-items: stretch; }
.drawer-nav a {
flex: 1;
display: flex;
align-items: center;
min-height: 48px;
padding: var(--space-2) 0;
color: var(--ink-nav);
font-family: var(--font-display);
font-size: var(--nav-size);
font-weight: 600;
letter-spacing: 0.06em;
text-transform: uppercase;
text-decoration: none;
}
.drawer-nav a[aria-current="page"]::before { content: ""; width: 3px; height: 1.25em; margin-right: var(--space-2); border-radius: var(--radius-full); background: var(--lumix-green); }
.drawer-nav .drawer-sub { padding: 0 0 var(--space-2) var(--space-4); background: var(--surface-alt); }
.drawer-nav .drawer-sub a { min-height: 44px; color: var(--ink); font-family: var(--font-text); font-size: var(--body-size); font-weight: 400; letter-spacing: 0; text-transform: none; }
.drawer-nav .drawer-sub .drawer-sub a { min-height: 40px; color: var(--text); font-size: var(--body-sm-size); }
.drawer-nav__toggle { flex: none; display: grid; place-items: center; width: 48px; border: 0; border-left: 1px solid var(--line); background: transparent; color: var(--ink); }
.drawer-nav__toggle svg { width: 18px; height: 18px; transition: transform var(--dur) var(--ease); }
.drawer-nav__toggle[aria-expanded="true"] svg { transform: rotate(180deg); } .breadcrumbs { margin-bottom: var(--space-4); font-size: var(--body-sm-size); line-height: var(--body-sm-line); }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: var(--space-1) 0; margin: 0; padding: 0; list-style: none; }
.breadcrumbs li { display: inline-flex; align-items: center; color: var(--text-muted); }
.breadcrumbs li + li::before {
content: "";
width: 6px;
height: 6px;
margin: 0 10px;
border-top: 1.5px solid currentColor;
border-right: 1.5px solid currentColor;
transform: rotate(45deg);
}
.breadcrumbs ol > li > span { display: contents; }
.breadcrumbs a { color: var(--text); text-decoration: none; }
.breadcrumbs a:hover { color: var(--ink); text-decoration: underline; text-decoration-color: var(--lumix-green); }
.breadcrumbs [aria-current="page"], .breadcrumbs .breadcrumb_last { color: var(--ink); font-weight: 700; } .site-main { display: block; }
.entry-content { padding-block: var(--space-12); }
.entry-content > .container > :last-child { margin-bottom: 0; }
.entry-media { margin: 0 0 var(--space-8); }
.entry-media img { width: 100%; border-radius: var(--radius-lg); }
.search-again { max-width: 480px; margin-bottom: var(--space-8); }
.page-header { padding-block: var(--space-12); background: var(--surface); border-bottom: 1px solid var(--line); }
.page-header .page-title { margin-bottom: 0; overflow-wrap: anywhere; hyphens: auto; }
.page-header .lx-lead { margin-top: var(--space-4); }
.page-header__meta { margin: var(--space-3) 0 0; color: var(--text-muted); font-size: var(--body-sm-size); line-height: var(--body-sm-line); } .page-header__grid { display: grid; gap: var(--space-8); align-items: center; }
@media (min-width: 64em) { .page-header--image .page-header__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-12); } }
.page-header__media { overflow: hidden; border-radius: var(--radius-lg); background: var(--surface-sunken); }
.page-header__media img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; } .carousel { padding-block: var(--space-8) var(--space-12); background: var(--surface); }
@media (min-width: 64em) { .carousel { padding-block: var(--space-12) var(--space-18); } }
.carousel__slides { display: grid; }
.carousel__slide {
grid-area: 1 / 1;
display: grid;
gap: var(--space-6);
align-content: start;
opacity: 0;
transition: opacity var(--dur-slow) var(--ease);
}
.carousel__slide.is-active { opacity: 1; }
@media (min-width: 48em) {
.carousel__slide.is-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: var(--space-8); }
}
@media (min-width: 64em) { .carousel__slide.is-split { gap: var(--space-12); } }
.carousel__media { overflow: hidden; border-radius: var(--radius-lg); background: var(--surface-sunken); }
.carousel__media img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
@media (min-width: 48em) {
.carousel__media img { aspect-ratio: auto; height: 360px; }
.is-split .carousel__media { order: 2; }
}
@media (min-width: 64em) { .carousel__media img { height: 440px; } }
.carousel__text > :last-child, .carousel__actions > :last-child { margin-bottom: 0; }
.carousel__text :is(h4, h5, h6) {
display: flex;
align-items: center;
gap: var(--space-2);
margin: 0 0 var(--space-4);
color: var(--ink);
font-family: var(--font-display);
font-size: var(--eyebrow-size);
line-height: var(--eyebrow-line);
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.carousel__text :is(h4, h5, h6)::before { content: ""; flex: none; width: 26px; height: 3px; border-radius: var(--radius-full); background: var(--lumix-green); }
.carousel__text :is(h1, h2, h3) {
margin: 0 0 var(--space-6);
color: var(--ink);
font-size: var(--heading-1-size);
line-height: var(--heading-1-line);
font-weight: 700;
letter-spacing: -0.02em;
text-transform: none;
}
.carousel__text :is(h1, h2, h3)::first-letter { text-transform: uppercase; } @media (max-width: 47.99em) { .carousel__text :is(h1, h2, h3) { margin-bottom: var(--space-4); font-size: 24px; line-height: 30px; } }
@media (min-width: 48em) { .carousel__text :is(h1, h2, h3) { font-size: var(--display-lg-size); line-height: var(--display-lg-line); } }
@media (min-width: 75em) { .carousel__text :is(h1, h2, h3) { font-size: var(--display-xl-size); line-height: var(--display-xl-line); } }
.carousel__text p { max-width: 56ch; color: var(--text); font-size: var(--body-lg-size); line-height: var(--body-lg-line); }
.carousel__text p:has(> a), .carousel__actions p:has(> a) { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.carousel__text p:has(> a):not(:first-child) { margin-top: var(--space-8); }
.carousel__controls { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-2); margin-top: var(--space-6); }
.carousel__status { min-width: 56px; margin: 0; color: var(--ink); font-family: var(--font-display); font-size: var(--body-sm-size); font-weight: 600; font-variant-numeric: tabular-nums; text-align: center; }
.carousel__icon-pause { position: relative; width: 12px; height: 14px; }
.carousel__icon-pause::before, .carousel__icon-pause::after { content: ""; position: absolute; top: 0; bottom: 0; width: 4px; border-radius: 1px; background: currentColor; }
.carousel__icon-pause::before { left: 0; }
.carousel__icon-pause::after { right: 0; }
.is-paused .carousel__icon-pause::before { width: 0; height: 0; border-radius: 0; background: none; border-style: solid; border-width: 7px 0 7px 12px; border-color: transparent transparent transparent currentColor; }
.is-paused .carousel__icon-pause::after { display: none; } .lx-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: var(--space-6); }
.lx-card {
position: relative;
display: flex;
flex-direction: column;
gap: var(--space-4);
padding: var(--space-8);
background: var(--surface);
border: 1px solid var(--line);
border-radius: var(--radius-lg);
transition: box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.lx-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-2px); }
@media (prefers-reduced-motion: reduce) { .lx-card:hover { transform: none; } }
.lx-card p { margin: 0; color: var(--text); }
.lx-card .lx-more { margin-top: auto; }
.lx-card__icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: var(--radius-full); background: var(--lumix-green); color: var(--on-brand); }
.lx-card__icon svg { width: 22px; height: 22px; }
.lx-card__media { overflow: hidden; border-radius: var(--radius-lg); background: var(--surface-alt); }
.lx-card__media img { width: 100%; aspect-ratio: 16 / 9; object-fit: contain; mix-blend-mode: multiply; }
.lx-card__link { color: inherit; text-decoration: none; }
.lx-card__link::after { content: ""; position: absolute; inset: 0; border-radius: var(--radius-lg); } .lx-card__link:focus-visible { box-shadow: none; }
.lx-card:has(.lx-card__link:focus-visible) { box-shadow: var(--focus-ring); } .card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: var(--space-6); }
.card {
position: relative;
display: flex;
flex-direction: column;
overflow: hidden;
background: var(--surface);
border: 1px solid var(--line);
border-radius: var(--radius-lg);
transition: box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.card:hover { box-shadow: var(--shadow-lg); transform: translateY(-2px); }
@media (prefers-reduced-motion: reduce) { .card:hover { transform: none; } }
.card:has(.card__title a:focus-visible) { box-shadow: var(--focus-ring); }
.card__body { display: flex; flex-direction: column; flex: 1; gap: var(--space-2); padding: var(--space-6); }
.card__title { margin: 0; color: var(--ink); font-size: var(--heading-2-size); line-height: var(--heading-2-line); }
.card__title a { color: inherit; text-decoration: none; }
.card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.card__title a:focus-visible { box-shadow: none; }
.card__text { margin: 0; color: var(--text); font-size: var(--body-sm-size); line-height: var(--body-sm-line); }
.card__meta { margin: 0; color: var(--text-muted); font-size: var(--body-sm-size); line-height: var(--body-sm-line); }
.card .lx-more { margin-top: auto; padding-top: var(--space-3); }
.card .lx-eyebrow { margin: 0; }
.card:hover .lx-more::after { width: 30px; } .plate { position: relative; display: grid; place-items: center; aspect-ratio: 1; padding: 8%; overflow: hidden; background: var(--surface-alt); }
.plate--wide { aspect-ratio: 4 / 3; }
.plate img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; transition: transform var(--dur-slow) var(--ease); }
@media (prefers-reduced-motion: no-preference) { .card:hover .plate img { transform: scale(1.04); } }
.plate__placeholder { display: grid; place-items: center; width: 100%; height: 100%; color: var(--line-strong); }
.plate__placeholder svg { width: 30%; height: 30%; }
.card__media { aspect-ratio: 16 / 9; overflow: hidden; background: var(--surface-alt); }
.card__media img { width: 100%; height: 100%; object-fit: cover; }
.spec-mini { display: grid; gap: var(--space-1); margin: var(--space-2) 0 0; font-size: var(--body-sm-size); line-height: var(--body-sm-line); }
.spec-mini div { display: flex; justify-content: space-between; gap: var(--space-4); padding-top: var(--space-1); border-top: 1px solid var(--line); }
.spec-mini dt { color: var(--text-muted); }
.spec-mini dd { margin: 0; color: var(--ink); font-weight: 700; font-variant-numeric: tabular-nums; text-align: right; } .product-hero { padding-block: var(--space-6) var(--section-space); }
.product-hero .breadcrumbs { margin-bottom: var(--space-6); }
.product-layout { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "media" "summary" "details"; gap: var(--space-8) var(--space-12); }
@media (min-width: 64em) {
.product-layout { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); grid-template-areas: "media summary" "details summary"; align-items: start; }
}
.product-media { grid-area: media; }
.product-media .plate { border-radius: var(--radius-lg); }
.product-details { grid-area: details; }
.product-details > .lx-h2 { margin: var(--space-12) 0 var(--space-6); }
.product-details > :first-child { margin-top: 0; }
.product-details .table-scroll { margin-top: var(--space-12); }
.product-details .table-scroll > table { min-width: 0; }
.product-summary { grid-area: summary; align-self: start; }
@media (min-width: 64em) { .product-summary { position: sticky; top: calc(var(--header-height) + var(--space-6)); } }
.product-summary .lx-eyebrow a { color: inherit; text-decoration: none; }
.product-summary .lx-eyebrow a:hover { text-decoration: underline; text-decoration-color: var(--lumix-green); }
.product-summary .lx-h1 { margin: 0; }
.key-facts {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 1px;
margin: var(--space-6) 0;
overflow: hidden;
border: 1px solid var(--line);
border-radius: var(--radius-lg);
background: var(--line);
}
.key-facts div { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: var(--space-1); padding: var(--space-4); background: var(--surface); }
.key-facts dt { color: var(--text-muted); font-size: var(--body-sm-size); line-height: var(--body-sm-line); }
.key-facts dd { margin: 0; color: var(--ink); font-family: var(--font-display); font-size: 24px; line-height: 30px; font-weight: 700; font-variant-numeric: tabular-nums; }
.spec-table { font-size: var(--body-sm-size); line-height: var(--body-sm-line); }
.spec-table caption { padding-bottom: var(--space-4); color: var(--ink); font-family: var(--font-display); font-size: var(--heading-1-size); line-height: var(--heading-1-line); font-weight: 600; letter-spacing: -0.01em; text-align: left; }
.spec-table th { width: 45%; color: var(--text); font-family: var(--font-text); font-size: inherit; font-weight: 400; }
.spec-table td { color: var(--ink); font-weight: 700; }
.spec-table tr:nth-child(odd) :is(th, td) { background: var(--surface-alt); }
.spec-table tr:first-child :is(th, td) { border-top: 2px solid var(--ink); }
.enquiry-panel { padding: var(--space-8); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface-alt); }
.enquiry-panel h2 { margin-bottom: var(--space-3); font-size: var(--heading-2-size); line-height: var(--heading-2-line); }
.enquiry-panel p { margin-bottom: var(--space-6); }
.enquiry-panel .stack { --space: var(--space-3); }
.video-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: var(--space-6); } .sticky-enquiry {
position: fixed;
inset: auto 0 0;
z-index: var(--z-sticky-bar);
display: grid;
grid-template-columns: 1fr 1fr;
gap: var(--space-2);
padding: var(--space-2) var(--gutter) calc(var(--space-2) + env(safe-area-inset-bottom));
background: var(--surface);
border-top: 1px solid var(--line);
box-shadow: var(--shadow-lg);
}
.sticky-enquiry .lx-btn { padding-inline: var(--space-3); }
.has-sticky-enquiry { padding-bottom: 72px; } @media (min-width: 64em) { .sticky-enquiry { display: none; } .has-sticky-enquiry { padding-bottom: 0; } } .lx-cta-wrap { padding-block: var(--space-12) var(--section-space); background: var(--surface); }
.lx-cta {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
gap: var(--space-6);
padding: var(--space-12) var(--space-8);
border-radius: var(--radius-lg);
background: var(--lumix-green);
color: var(--on-brand);
}
@media (max-width: 47.99em) { .lx-cta { padding: var(--space-8) var(--space-6); } }
.lx-cta h2 { max-width: 22ch; margin: 0; color: var(--on-brand); font-size: var(--heading-1-size); line-height: var(--heading-1-line); font-weight: 700; letter-spacing: -0.01em; }
.lx-cta p { margin: var(--space-3) 0 0; color: var(--on-brand); }
.lx-cta__actions { gap: var(--space-6); }
.lx-cta .lx-phone { color: var(--on-brand); font-size: 24px; line-height: 32px; }
.lx-cta .lx-phone i { width: 40px; height: 40px; background: var(--on-brand); color: var(--lumix-green); }
.lx-cta .lx-phone i svg { width: 18px; height: 18px; }
.lx-cta .lx-btn--primary { background: var(--on-brand); color: var(--surface); }
.lx-cta .lx-btn--primary:hover { background: #000000; color: var(--surface); }
.lx-cta :focus-visible { box-shadow: 0 0 0 2px var(--lumix-green), 0 0 0 4px var(--ink); } .lx-footer { padding-top: var(--space-18); background: var(--surface-sunken); color: var(--text); font-size: var(--body-sm-size); line-height: var(--body-sm-line); }
.lx-footer__cols { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-8) var(--space-12); }
@media (min-width: 37.5em) { .lx-footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64em) { .lx-footer__cols { grid-template-columns: 1.4fr 1fr 1.3fr 1.1fr; } }
.lx-footer__title {
margin: 0 0 var(--space-4);
color: var(--ink);
font-family: var(--font-display);
font-size: var(--eyebrow-size);
line-height: var(--eyebrow-line);
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.lx-footer__title::after { content: ""; display: block; width: 26px; height: 3px; margin-top: var(--space-2); border-radius: var(--radius-full); background: var(--lumix-green); }
.lx-footer p { margin: 0 0 var(--space-4); color: var(--text); }
.lx-footer__list { display: grid; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.lx-footer a { color: var(--text); text-decoration: none; }
.lx-footer a:hover { color: var(--ink); text-decoration: underline; text-decoration-color: var(--lumix-green); }
.footer-logo { display: inline-block; margin-bottom: var(--space-4); line-height: 0; }
.footer-logo img { width: auto; height: 44px; }
.lx-footer__base {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
gap: var(--space-2) var(--space-8);
margin-top: var(--space-12);
padding-block: var(--space-4) var(--space-6);
border-top: 1px solid var(--line-strong);
}
.lx-footer__base p { margin: 0; }
.lx-footer__base ul { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-6); margin: 0; padding: 0; list-style: none; }
.lx-footer__base a { text-decoration: underline; text-decoration-color: var(--lumix-green); }
.social-links { display: flex; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.social-links a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--radius-full); background: var(--surface); color: var(--ink); transition: background-color var(--dur-fast) var(--ease); }
.social-links a:hover { background: var(--lumix-green); color: var(--on-brand); text-decoration: none; }
.social-links svg { width: 20px; height: 20px; } .nap { margin: 0; font-style: normal; }
.nap__row { display: flex; gap: var(--space-3); align-items: flex-start; margin-bottom: var(--space-4); }
.nap__row > svg { flex: none; width: 20px; height: 20px; margin-top: 1px; color: var(--ink); }
.nap__label { display: block; color: var(--ink); font-weight: 700; }
.nap__note { display: block; color: var(--text); }
.nap a { color: var(--ink); font-weight: 700; }
.nap__phone { font-size: var(--phone-size); line-height: var(--phone-line); } .footer-widgets .widget { margin-bottom: var(--space-6); }
.footer-widgets .widgettitle {
margin: 0 0 var(--space-4);
color: var(--ink);
font-family: var(--font-display);
font-size: var(--eyebrow-size);
line-height: var(--eyebrow-line);
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.footer-widgets .widgettitle::after { content: ""; display: block; width: 26px; height: 3px; margin-top: var(--space-2); border-radius: var(--radius-full); background: var(--lumix-green); }
.footer-widgets input:not([type="submit"]) { height: 44px; margin-bottom: var(--space-2); } .logo-wall { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 180px), 1fr)); gap: var(--space-4); margin: 0; padding: 0; list-style: none; }
.logo-wall li { display: grid; place-items: center; height: 88px; padding: 0 var(--space-4); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); }
.logo-wall img { max-height: 48px; width: auto; object-fit: contain; filter: grayscale(1); transition: filter var(--dur) var(--ease); }
.logo-wall li:hover img { filter: none; } .faq { border-top: 1px solid var(--line); }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--space-4);
min-height: 56px;
padding: var(--space-4) 0;
color: var(--ink);
font-family: var(--font-display);
font-size: var(--heading-2-size);
line-height: var(--heading-2-line);
font-weight: 600;
cursor: pointer;
list-style: none;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after {
content: "";
flex: none;
width: 32px;
height: 32px;
border-radius: var(--radius-full);
background:
linear-gradient(var(--on-brand), var(--on-brand)) center / 12px 2px no-repeat,
linear-gradient(var(--on-brand), var(--on-brand)) center / 2px 12px no-repeat,
var(--lumix-green);
transition: transform var(--dur) var(--ease);
}
.faq details[open] summary::after { transform: rotate(45deg); }
.faq__answer { max-width: var(--measure); padding-bottom: var(--space-6); } .video-facade {
position: relative;
display: block;
width: 100%;
aspect-ratio: 16 / 9;
padding: 0;
overflow: hidden;
border: 0;
border-radius: var(--radius-lg);
background: var(--surface-sunken);
color: var(--ink);
text-align: left;
}
.video-facade img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.video-facade__play {
position: absolute;
top: 50%;
left: 50%;
display: grid;
place-items: center;
width: 72px;
height: 72px;
border-radius: var(--radius-full);
background: var(--lumix-green);
color: var(--on-brand);
transform: translate(-50%, -50%);
transition: transform var(--dur) var(--ease);
}
.video-facade__play svg { width: 28px; height: 28px; margin-left: 4px; }
.video-facade__title {
position: absolute;
left: var(--space-3);
right: var(--space-3);
bottom: var(--space-3);
width: fit-content;
max-width: calc(100% - 2 * var(--space-3));
padding: var(--space-2) var(--space-3);
border-radius: var(--radius-md);
background: var(--surface);
color: var(--ink);
font-family: var(--font-display);
font-size: var(--body-sm-size);
line-height: var(--body-sm-line);
font-weight: 600;
}
.video-facade:hover .video-facade__play { transform: translate(-50%, -50%) scale(1.06); }
.video-embed { aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--radius-lg); }
.video-embed iframe { width: 100%; height: 100%; border: 0; } .notice,
.wpcf7 form .wpcf7-response-output {
display: flex;
gap: var(--space-3);
margin: var(--space-6) 0;
padding: var(--space-4) var(--space-6);
border: 1px solid var(--line-strong);
border-radius: var(--radius-lg);
background: var(--surface-alt);
color: var(--ink);
font-size: var(--body-sm-size);
line-height: var(--body-sm-line);
}
.notice svg { flex: none; width: 20px; height: 20px; }
.notice > :last-child { margin-bottom: 0; }
.notice--success, .wpcf7 form.sent .wpcf7-response-output { border-color: var(--lumix-green-deep); }
.notice--error, .wpcf7 form:is(.invalid, .unaccepted, .payment-required, .failed, .aborted, .spam) .wpcf7-response-output { border: 2px solid var(--error); background: var(--surface); }
.notice--error svg { color: var(--error); } .pagination-nav .nav-links, .wp-pagenavi { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-8); }
.pagination-nav .page-numbers, .wp-pagenavi :is(a, span) {
display: grid;
place-items: center;
min-width: 44px;
height: 44px;
padding: 0 var(--space-3);
border: 1px solid var(--line-strong);
border-radius: var(--radius-md);
background: var(--surface);
color: var(--ink);
font-family: var(--font-display);
font-weight: 600;
text-decoration: none;
}
.pagination-nav a.page-numbers:hover, .wp-pagenavi a:hover { border-color: var(--ink); }
.pagination-nav .page-numbers.current, .wp-pagenavi .current { border-color: var(--lumix-green); background: var(--lumix-green); color: var(--on-brand); }
.pagination-nav .page-numbers.dots { border-color: transparent; background: none; }
.wp-pagenavi .pages { display: none; } .lx-tag {
display: inline-flex;
align-items: center;
padding: 2px var(--space-2);
border-radius: var(--radius-sm);
background: var(--surface-alt);
color: var(--ink);
font-family: var(--font-display);
font-size: 12px;
line-height: 18px;
font-weight: 700;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.lx-tag--brand { background: var(--lumix-green); color: var(--on-brand); }
.lx-tag--new { background: var(--lumix-yellow); color: var(--on-brand); }
.testimonial { margin: 0; padding: var(--space-8); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); }
.testimonial blockquote { margin: 0 0 var(--space-4); color: var(--ink); font-size: var(--body-lg-size); line-height: var(--body-lg-line); }
.testimonial figcaption { color: var(--text-muted); font-size: var(--body-sm-size); }
.testimonial figcaption strong { display: block; color: var(--ink); }
.todo { display: inline-block; padding: 0 var(--space-1); border: 1px dashed var(--line-strong); border-radius: var(--radius-sm); color: var(--text); font-size: var(--body-sm-size); font-weight: 700; }.lx-band,
.entry-content :is(#home-toptext, #home-service, #home-about, #service-items, #about) {
box-shadow: 0 0 0 100vmax var(--band, transparent);
clip-path: inset(0 -100vmax);
background: var(--band, transparent);
} .lx-band { --band: var(--surface-alt); padding-block: var(--section-space); } .alignleft  { float: left;  margin: 0 var(--space-6) var(--space-4) 0; }
.alignright { float: right; margin: 0 0 var(--space-4) var(--space-6); }
.aligncenter { display: block; margin-inline: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text { margin-top: var(--space-2); color: var(--text-muted); font-size: var(--body-sm-size); line-height: var(--body-sm-line); }
@media (max-width: 47.99em) {
.alignleft, .alignright { float: none; margin: 0 0 var(--space-4); }
} .wpb_text_column ul { margin: 0 0 var(--space-4); padding-left: 0; list-style: none; }
.wpb_text_column ul > li { position: relative; margin-bottom: var(--space-2); padding-left: 20px; }
.wpb_text_column ul > li::before {
content: "";
position: absolute;
left: 2px;
top: 8px;
width: 8px;
height: 8px;
border-radius: var(--radius-full);
background: var(--lumix-green);
}
.wpb_text_column ol { margin: 0 0 var(--space-4); padding-left: 1.4em; }
.wpb_text_column ol > li::marker { color: var(--ink); font-weight: 700; } :where(.btn-green, .btn-white, .wpcf7-submit, a.vc_general.vc_btn3) {
--btn-bg: var(--lumix-green);
--btn-fg: var(--on-brand);
--btn-border: var(--lumix-green);
--btn-bg-hover: var(--lumix-green-deep);
--btn-border-hover: var(--lumix-green-deep);
}
:where(.btn-white) {
--btn-bg: var(--surface);
--btn-fg: var(--ink);
--btn-border: var(--line-strong);
--btn-bg-hover: var(--surface);
--btn-border-hover: var(--ink);
}
:is(.btn-green, .btn-white, .wpcf7-submit, a.vc_general.vc_btn3[class*="vc_btn3-color-"]) {
display: inline-flex;
align-items: center;
justify-content: center;
gap: var(--space-2);
min-height: 48px;
margin: 0;
padding: 0 var(--space-6);
border: 1px solid var(--btn-border);
border-radius: var(--radius-md);
background: var(--btn-bg);
background-image: none;
box-shadow: none;
color: var(--btn-fg);
font-family: var(--font-display);
font-size: var(--button-size);
line-height: var(--button-line);
font-weight: 600;
letter-spacing: 0.06em;
text-align: center;
text-decoration: none;
text-transform: uppercase;
cursor: pointer;
transition: background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);
}
:is(.btn-green, .btn-white, .wpcf7-submit, a.vc_general.vc_btn3[class*="vc_btn3-color-"]):hover {
background: var(--btn-bg-hover);
background-image: none;
border-color: var(--btn-border-hover);
color: var(--btn-fg);
text-decoration: none;
}
:is(.btn-green, .btn-white, .wpcf7-submit, a.vc_general.vc_btn3[class*="vc_btn3-color-"]):focus-visible { box-shadow: var(--focus-ring); color: var(--btn-fg); }
a.vc_general.vc_btn3.vc_btn3-block { display: flex; width: 100%; }
.vc_btn3-container { margin-bottom: var(--space-4); } .wpcf7 form p { margin-bottom: var(--space-4); }
.wpcf7 .wpcf7-form-control-wrap { display: block; margin-top: var(--space-1); }
.wpcf7 .wpcf7-spinner { margin: 0 var(--space-2); vertical-align: middle; } .entry-content .wpb_content_element { margin-bottom: var(--space-6); }
.entry-content .vc_row { margin-bottom: var(--space-4); } .entry-content h1 { font-size: var(--heading-1-size); line-height: var(--heading-1-line); }
.entry-content .wpb_text_column > .wpb_wrapper > :last-child { margin-bottom: 0; }
.entry-content .wpb_text_column h6 { margin-bottom: var(--space-4); color: var(--ink); font-family: var(--font-display); font-size: var(--body-lg-size); line-height: var(--body-lg-line); font-weight: 600; letter-spacing: 0; text-transform: none; } .entry-content .wpb_single_image img { border-radius: var(--radius-lg); } .entry-content .vc_separator { margin-block: var(--space-8); }
.entry-content .vc_separator .vc_sep_line { border-top: 1px solid var(--line) !important; } .entry-content .wpb_video_widget .wpb_video_wrapper { border-radius: var(--radius-lg); overflow: hidden; }
.entry-content .wpb_video_wrapper > :is(.video-facade, .video-embed) { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; border-radius: 0; } .entry-content .vc_row:has(> .wpb_column .wpb_video_widget):has(> .wpb_column .wpb_text_column) { display: flex; flex-wrap: wrap; align-items: center; row-gap: var(--space-8); margin-block: var(--space-12); }
.entry-content .vc_row:has(> .wpb_column .wpb_video_widget):has(> .wpb_column .wpb_text_column)::before,
.entry-content .vc_row:has(> .wpb_column .wpb_video_widget):has(> .wpb_column .wpb_text_column)::after { display: none; }
.entry-content .vc_row:has(> .wpb_column .wpb_video_widget) .wpb_text_column ul > li { margin-bottom: var(--space-3); padding-left: 36px; }
.entry-content .vc_row:has(> .wpb_column .wpb_video_widget) .wpb_text_column ul > li::before {
left: 0;
top: 0;
width: 24px;
height: 24px;
background:
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23231f20' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 14px no-repeat,
var(--lumix-green);
} .entry-content .vc_row:has(> .wpb_column .vc_btn3-container):has(> .wpb_column :is(.wpb_single_image, .wpb_gallery)) {
display: flex;
flex-wrap: wrap;
margin-bottom: 0;
}
.entry-content .vc_row:has(> .wpb_column .vc_btn3-container):has(> .wpb_column :is(.wpb_single_image, .wpb_gallery))::before,
.entry-content .vc_row:has(> .wpb_column .vc_btn3-container):has(> .wpb_column :is(.wpb_single_image, .wpb_gallery))::after { display: none; }
.entry-content .wpb_column:has(.vc_btn3-container):has(:is(.wpb_single_image, .wpb_gallery)) { display: flex; margin-bottom: var(--grid-gap); }
.entry-content .wpb_column:has(.vc_btn3-container):has(:is(.wpb_single_image, .wpb_gallery)) > .vc_column-inner { display: flex; width: 100%; }
.entry-content .wpb_column:has(.vc_btn3-container):has(:is(.wpb_single_image, .wpb_gallery)) > .vc_column-inner > .wpb_wrapper {
position: relative;
display: flex;
flex-direction: column;
width: 100%;
overflow: hidden;
background: var(--surface);
border: 1px solid var(--line);
border-radius: var(--radius-lg);
transition: box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.entry-content .wpb_column:has(.vc_btn3-container):has(:is(.wpb_single_image, .wpb_gallery)) > .vc_column-inner > .wpb_wrapper:hover { box-shadow: var(--shadow-lg); }
@media (prefers-reduced-motion: no-preference) {
.entry-content .wpb_column:has(.vc_btn3-container):has(:is(.wpb_single_image, .wpb_gallery)) > .vc_column-inner > .wpb_wrapper:hover { transform: translateY(-2px); }
}
.entry-content .wpb_column:has(.vc_btn3-container):has(:is(.wpb_single_image, .wpb_gallery)) > .vc_column-inner > .wpb_wrapper:has(:focus-visible) { box-shadow: var(--focus-ring); } .entry-content .wpb_column:has(.vc_btn3-container) :is(.wpb_single_image, .wpb_gallery) {
display: grid;
place-items: center;
margin: 0;
padding: 8%;
aspect-ratio: 4 / 3;
background: var(--surface-alt);
}
.entry-content .wpb_column:has(.vc_btn3-container) :is(.wpb_single_image, .wpb_gallery) :is(figure, .vc_single_image-wrapper, a, .wpb_wrapper, .wpb_gallery_slides, ul, li) {
display: contents;
}
.entry-content .wpb_column:has(.vc_btn3-container) :is(.wpb_single_image, .wpb_gallery) img {
width: 100%;
height: 100%;
object-fit: contain;
border-radius: 0;
mix-blend-mode: multiply;
transition: transform var(--dur-slow) var(--ease);
} .entry-content .wpb_column:has(.vc_btn3-container) .wpb_gallery li:not(:first-child) { display: none; }
@media (prefers-reduced-motion: no-preference) {
.entry-content .wpb_column:has(.vc_btn3-container) > .vc_column-inner > .wpb_wrapper:hover :is(.wpb_single_image, .wpb_gallery) img { transform: scale(1.04); }
} .entry-content .wpb_column:has(:is(.wpb_single_image, .wpb_gallery)) .vc_btn3-container {
margin: auto 0 0;
padding: 0;
border-top: 1px solid var(--line);
text-align: left;
}
.entry-content .wpb_column:has(:is(.wpb_single_image, .wpb_gallery)) a.vc_general.vc_btn3[class*="vc_btn3-color-"] {
justify-content: space-between;
width: 100%;
min-height: 56px;
padding: var(--space-3) var(--space-6);
border: 0;
border-radius: 0;
background: var(--surface);
color: var(--ink);
font-size: 16px;
line-height: 22px;
font-weight: 700;
letter-spacing: 0.02em;
text-align: left;
text-transform: none; }
.entry-content .wpb_column:has(:is(.wpb_single_image, .wpb_gallery)) a.vc_general.vc_btn3[class*="vc_btn3-color-"]::after {
content: "";
flex: none;
width: 18px;
height: 3px;
margin-left: var(--space-3);
border-radius: var(--radius-full);
background: var(--lumix-green);
transition: width var(--dur) var(--ease);
} .entry-content .wpb_column:has(:is(.wpb_single_image, .wpb_gallery)) a.vc_general.vc_btn3[class*="vc_btn3-color-"]::before {
content: "";
position: absolute;
inset: 0;
}
.entry-content .wpb_column:has(:is(.wpb_single_image, .wpb_gallery)) a.vc_general.vc_btn3[class*="vc_btn3-color-"]:is(:hover, :focus-visible) {
background: var(--surface);
box-shadow: none;
color: var(--ink);
}
.entry-content .wpb_column:has(:is(.wpb_single_image, .wpb_gallery)) > .vc_column-inner > .wpb_wrapper:hover a.vc_general.vc_btn3[class*="vc_btn3-color-"]::after { width: 30px; } @media (min-width: 48em) {
.entry-content .vc_row:has(> .wpb_column .vc_btn3-container):has(> .wpb_column :is(.wpb_single_image, .wpb_gallery)) { justify-content: center; }
.entry-content .wpb_column:has(.vc_btn3-container):has(:is(.wpb_single_image, .wpb_gallery)):is(.vc_col-sm-6, .vc_col-sm-12) { width: 33.3333%; }
} @media (max-width: 47.99em) { .entry-content :is(.container, .wpb-content-wrapper):has(> .vc_row > .wpb_column .vc_btn3-container) { display: flex; flex-wrap: wrap; align-items: stretch; }
.entry-content :is(.container, .wpb-content-wrapper):has(> .vc_row > .wpb_column .vc_btn3-container) > * { flex: 0 0 100%; min-width: 0; }
.entry-content :is(.container, .wpb-content-wrapper) > .vc_row:has(> .wpb_column .vc_btn3-container):has(> .wpb_column :is(.wpb_single_image, .wpb_gallery)) { display: contents; }
.entry-content :is(.container, .wpb-content-wrapper) > .vc_row > .wpb_column:has(.vc_btn3-container):has(:is(.wpb_single_image, .wpb_gallery)) { flex: 0 0 50%; } .entry-content :is(.container, .wpb-content-wrapper):has(> .vc_row > .wpb_column .vc_btn3-container) > .vc_row:has(.vc_separator):not(:has(.wpb_text_column, .wpb_single_image, .wpb_gallery, .vc_btn3-container)) { display: none; }
.entry-content .wpb_column:has(.vc_btn3-container):has(:is(.wpb_single_image, .wpb_gallery)):is(.vc_col-sm-2, .vc_col-sm-3, .vc_col-sm-4, .vc_col-sm-6) { width: 50%; }
.entry-content .wpb_column:has(.vc_btn3-container):has(:is(.wpb_single_image, .wpb_gallery)) > .vc_column-inner { padding-inline: 6px; }
.entry-content .wpb_column:has(:is(.wpb_single_image, .wpb_gallery)) a.vc_general.vc_btn3[class*="vc_btn3-color-"] { min-height: 48px; padding: var(--space-2) var(--space-3); font-size: 13px; line-height: 18px; }
} .entry-content .vc_images_carousel,
.entry-content .vc_images_carousel :is(.vc_carousel-inner, .vc_carousel-slideline) { width: 100% !important; height: auto !important; overflow: visible; }
.entry-content :is(.vc_images_carousel .vc_carousel-slideline-inner, .logo-carousel-track) {
display: grid !important;
grid-template-columns: repeat(auto-fill, minmax(min(100%, 180px), 1fr));
gap: var(--space-4);
width: auto !important;
transform: none !important;
animation: none !important;
}
@media (max-width: 47.99em) {
.entry-content :is(.vc_images_carousel .vc_carousel-slideline-inner, .logo-carousel-track) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
}
.entry-content .vc_images_carousel .vc_item {
display: grid !important;
place-items: center;
width: auto !important;
height: 88px !important;
padding: 0 var(--space-4);
border: 1px solid var(--line);
border-radius: var(--radius-lg);
background: var(--surface);
}
.entry-content .vc_images_carousel .vc_item img,
.entry-content .logo-carousel-track img { filter: grayscale(1); transition: filter var(--dur) var(--ease); }
.entry-content .vc_images_carousel .vc_item:hover img,
.entry-content .logo-carousel-track img:hover { filter: none; } .entry-content :is(.logo-carousel-track, .vc_images_carousel) :is(img[src*="AF_LOGO"], img[src*="lorenzo-barroso"]),
.entry-content :is(.logo-carousel-track, .vc_images_carousel) :is(img[src*="AF_LOGO"], img[src*="lorenzo-barroso"]):hover { filter: invert(1) grayscale(1); }
.entry-content .vc_images_carousel .vc_item img { max-height: 48px; width: auto; object-fit: contain; border-radius: 0; }
.entry-content .vc_images_carousel :is(.vc_carousel-indicators, .vc_carousel-control) { display: none; }
.entry-content .logo-carousel { overflow: visible !important; padding: 0 !important; }
.entry-content .logo-carousel-track img {
width: 100% !important;
height: 88px !important;
margin: 0 !important;
padding: 20px var(--space-4);
object-fit: contain;
border: 1px solid var(--line);
border-radius: var(--radius-lg);
background: var(--surface);
} .entry-content .section-title { max-width: 760px; margin: 0 0 var(--space-8); color: var(--ink); font-size: var(--display-lg-size); line-height: var(--display-lg-line); font-weight: 600; letter-spacing: -0.01em; text-align: left !important; }
.entry-content .section-title em {
display: flex;
align-items: center;
gap: var(--space-2);
margin-bottom: var(--space-3);
color: var(--ink);
font-size: var(--eyebrow-size);
line-height: var(--eyebrow-line);
font-style: normal;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.entry-content .section-title em::before { content: ""; flex: none; width: 26px; height: 3px; border-radius: var(--radius-full); background: var(--lumix-green); }
.entry-content .section-title br { display: none; }
@media (max-width: 47.99em) {
.entry-content .section-title { font-size: var(--heading-1-size); line-height: var(--heading-1-line); }
} .entry-content--home { padding-top: 0; } .entry-content :is(#home-toptext, #home-service) { --band: var(--surface-alt); margin-bottom: 0; }
.entry-content #home-toptext { padding-top: var(--section-space); }
.entry-content #home-toptext h1 {
max-width: 760px;
margin: 0 0 var(--space-12);
font-size: var(--display-lg-size);
line-height: var(--display-lg-line);
font-weight: 600;
letter-spacing: -0.01em;
text-align: left !important; }
.entry-content #home-toptext h1::before { content: ""; display: block; width: 26px; height: 3px; margin-bottom: var(--space-4); border-radius: var(--radius-full); background: var(--lumix-green); }
@media (max-width: 47.99em) {
.entry-content #home-toptext h1 { margin-bottom: var(--space-8); font-size: var(--heading-1-size); line-height: var(--heading-1-line); }
}
.entry-content #home-service { display: flex; flex-wrap: wrap; row-gap: var(--grid-gap); padding-bottom: var(--section-space); }
.entry-content #home-service::before, .entry-content #home-service::after { display: none; }
.entry-content #home-service > .wpb_column { display: flex; }
.entry-content #home-service > .wpb_column > .vc_column-inner { display: flex; width: 100%; } .entry-content #home-service > .wpb_column > .vc_column-inner > .wpb_wrapper {
position: relative;
display: flex;
flex-direction: column;
gap: var(--space-4);
width: 100%;
padding: var(--space-8);
border: 1px solid var(--line);
border-radius: var(--radius-lg);
background: var(--surface);
transition: box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.entry-content #home-service > .wpb_column > .vc_column-inner > .wpb_wrapper:hover { box-shadow: var(--shadow-lg); }
@media (prefers-reduced-motion: no-preference) {
.entry-content #home-service > .wpb_column > .vc_column-inner > .wpb_wrapper:hover { transform: translateY(-2px); }
}
.entry-content #home-service > .wpb_column > .vc_column-inner > .wpb_wrapper:has(:focus-visible) { box-shadow: var(--focus-ring); }
.entry-content #home-service :is(.wpb_content_element, .wpb_text_column) { margin: 0; }
.entry-content #home-service .wpb_text_column { display: flex; flex: 1; flex-direction: column; }
.entry-content #home-service .wpb_text_column > .wpb_wrapper { display: flex; flex: 1; flex-direction: column; gap: var(--space-4); }
.entry-content #home-service .wpb_single_image {
display: grid;
place-items: center;
height: 180px;
border-radius: var(--radius-lg);
background: var(--surface-alt);
}
.entry-content #home-service .wpb_single_image :is(figure, .vc_single_image-wrapper) { display: contents; }
.entry-content #home-service .wpb_single_image img { max-height: 148px; width: auto; border-radius: 0; mix-blend-mode: multiply; }
.entry-content #home-service :is(h3, p) { margin: 0; text-align: left !important; }
.entry-content #home-service h3 { font-size: var(--heading-2-size); line-height: var(--heading-2-line); font-weight: 600; }
.entry-content #home-service p { color: var(--text); }
.entry-content #home-service p:empty, .entry-content #home-service p:has(> br:only-child) { display: none; }
.entry-content #home-service p:has(> .lx-more, > strong > .lx-more) { margin-top: auto; } .entry-content #home-service .lx-more::before { content: ""; position: absolute; inset: 0; border-radius: var(--radius-lg); }
.entry-content #home-service .lx-more:focus-visible { box-shadow: none; }
.entry-content #home-service > .wpb_column > .vc_column-inner > .wpb_wrapper:hover .lx-more::after { width: 30px; } .entry-content #home-service + .vc_row:has(.vc_separator):not(:has(.wpb_text_column, .wpb_single_image)) { display: none; }
.entry-content #home-service + .vc_row + .vc_row:has(> .wpb_column > .vc_column-inner > .wpb_wrapper > .wpb_single_image:only-child),
.entry-content #home-service + .vc_row:has(> .wpb_column > .vc_column-inner > .wpb_wrapper > .wpb_single_image:only-child) { margin-top: var(--section-space); } .entry-content #home-about { --band: var(--lumix-green-deep); margin-block: var(--section-space) 0; padding-block: var(--space-18); color: var(--on-brand); }
.entry-content #home-about :is(.vc_row, .wpb_content_element) { margin-bottom: 0; }
.entry-content #home-about .wpb_text_column > .wpb_wrapper::before { content: ""; display: block; width: 26px; height: 3px; margin-bottom: var(--space-6); border-radius: var(--radius-full); background: var(--on-brand); }
.entry-content #home-about :is(p, h2, h3, h4) {
max-width: 52rem;
margin: 0;
color: var(--on-brand);
font-family: var(--font-display);
font-size: var(--heading-1-size);
line-height: 38px;
font-weight: 600;
letter-spacing: -0.01em;
text-align: left !important;
}
.entry-content #home-about :is(p, h2, h3, h4) strong { font-weight: inherit; }
@media (max-width: 47.99em) {
.entry-content #home-about { padding-block: var(--space-12); }
.entry-content #home-about :is(p, h2, h3, h4) { font-size: var(--heading-2-size); line-height: var(--heading-2-line); }
}
.entry-content #home-about a { color: var(--on-brand); text-decoration-color: var(--on-brand); }
.entry-content #home-brand-top { margin-top: var(--section-space); } .entry-content #service-items { --band: var(--surface-alt); padding-block: var(--section-space); }
.entry-content #service-items .vc_inner > .wpb_column > .vc_column-inner > .wpb_wrapper:not(:empty) {
height: 100%;
padding: var(--space-8);
border: 1px solid var(--line);
border-radius: var(--radius-lg);
background: var(--surface);
}
.entry-content #service-items .wpb_single_image img { max-height: 112px; width: auto; margin-inline: auto; border-radius: 0; mix-blend-mode: multiply; } .entry-content #about { --band: var(--surface-alt); padding-block: var(--section-space); }
.entry-content .icon-linkedin { display: inline-flex; align-items: center; gap: var(--space-2); font-weight: 700; } .entry-content #contact-top h4 { font-size: var(--heading-2-size); line-height: var(--heading-2-line); }
.entry-content #contact-top :is(p.icon-phone, p.icon-email, p.icon-address) { position: relative; min-height: 36px; padding-left: 48px; padding-top: 6px; }
.entry-content #contact-top :is(p.icon-phone, p.icon-email, p.icon-address)::before {
content: "";
position: absolute;
left: 0;
top: 0;
width: 36px;
height: 36px;
border-radius: var(--radius-full);
background: var(--lx-icon) center / 16px no-repeat, var(--lumix-green);
} .entry-content #contact-top p.icon-address + p.icon-address { min-height: 0; margin-top: calc(-1 * var(--space-4)); padding-top: 0; }
.entry-content #contact-top p.icon-address + p.icon-address::before { display: none; }
.entry-content #contact-top p.icon-phone { --lx-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23231f20' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E"); }
.entry-content #contact-top p.icon-email { --lx-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23231f20' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E"); }
.entry-content #contact-top p.icon-address { --lx-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23231f20' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 0 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.entry-content #contact-top > .wpb_column:last-child > .vc_column-inner > .wpb_wrapper {
padding: var(--space-8);
border: 1px solid var(--line);
border-radius: var(--radius-lg);
background: var(--surface-alt);
}
.entry-content iframe[src*="google.com/maps"] { width: 100%; min-height: 22rem; border-radius: var(--radius-lg); }.lx-section-heading--flush { margin-bottom: 0; }
.lx-section-heading--split > .lx-more { flex: none; margin-bottom: 6px; }
.card-grid--3, .card-grid--4 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); }
@media (min-width: 64em) { .card-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 75em) { .card-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } } .hub-subtitle, .browse-more__title {
display: flex;
align-items: center;
gap: var(--space-2);
margin: 0 0 var(--space-4);
color: var(--ink);
font-family: var(--font-display);
font-size: var(--eyebrow-size);
line-height: var(--eyebrow-line);
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.hub-subtitle::before, .browse-more__title::before { content: ""; flex: none; width: 26px; height: 3px; border-radius: var(--radius-full); background: var(--lumix-green); } .chip-list { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.chip {
display: inline-flex;
align-items: center;
gap: var(--space-2);
min-height: 40px;
padding: 0 var(--space-4);
border: 1px solid var(--line-strong);
border-radius: var(--radius-md);
background: var(--surface);
color: var(--ink);
font-family: var(--font-display);
font-size: 14px;
line-height: 20px;
font-weight: 600;
text-decoration: none;
cursor: pointer;
transition: border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);
}
.chip:hover { border-color: var(--ink); color: var(--ink); text-decoration: none; }
.chip[aria-pressed="true"], .chip[aria-current] { border-color: var(--lumix-green); background: var(--lumix-green); color: var(--on-brand); }
.chip__count { color: var(--text-muted); font-size: 13px; font-variant-numeric: tabular-nums; }
.chip[aria-pressed="true"] .chip__count { color: var(--on-brand); }
.chip-list--sm .chip { min-height: 32px; padding: 0 var(--space-3); font-size: 13px; } .split { display: grid; gap: var(--space-8); }
@media (min-width: 64em) {
.split { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--space-12); }
.split__aside { position: sticky; top: calc(var(--header-height) + var(--space-8)); align-self: start; }
}
.split__note { margin: var(--space-6) 0 var(--space-3); } .faq__q { margin: 0; color: inherit; font: inherit; letter-spacing: inherit; }
@media (max-width: 47.99em) { .faq summary { font-size: 18px; line-height: 26px; } } .home-hero { padding-block: var(--space-8) var(--space-12); background: var(--surface); }
@media (min-width: 64em) { .home-hero { padding-block: var(--space-12) var(--space-18); } }
.home-hero__grid { display: grid; gap: var(--space-8); align-items: center; }
@media (min-width: 64em) { .home-hero__grid { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--space-12); } }
.home-hero__title { margin-top: var(--space-2); }
.home-hero__copy .lx-lead { margin-top: var(--space-6); }
.home-hero__actions { margin-top: var(--space-8); }
.home-hero__call { margin: var(--space-4) 0 0; color: var(--text); font-size: var(--body-sm-size); line-height: var(--body-sm-line); }
.home-hero__call a { font-weight: 700; white-space: nowrap; }
.home-hero__media { overflow: hidden; border-radius: var(--radius-lg); background: var(--surface-sunken); }
.home-hero__media img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
@media (min-width: 64em) { .home-hero__media img { aspect-ratio: 1; } }
.proof {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 1px;
margin: var(--space-12) 0 0;
padding: 0;
list-style: none;
overflow: hidden;
border: 1px solid var(--line);
border-radius: var(--radius-lg);
background: var(--line);
}
@media (min-width: 64em) { .proof { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.proof__item { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-6) var(--space-4); background: var(--surface); }
@media (min-width: 48em) { .proof__item { padding: var(--space-6); } }
.proof__figure { display: block; color: var(--ink); font-family: var(--font-display); font-size: 22px; line-height: 28px; font-weight: 700; letter-spacing: -0.01em; font-variant-numeric: tabular-nums; }
.proof__figure::before { content: ""; display: block; width: 26px; height: 3px; margin-bottom: var(--space-3); border-radius: var(--radius-full); background: var(--lumix-green); }
@media (min-width: 64em) { .proof__figure { font-size: var(--heading-1-size); line-height: var(--heading-1-line); } }
.proof__label { color: var(--text); font-size: var(--body-sm-size); line-height: var(--body-sm-line); } .process-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: var(--space-6); }
@media (min-width: 75em) { .process-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.process-card { display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-6); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); }
.process-card__head { display: flex; gap: var(--space-4); align-items: center; }
.process-card__icon { display: grid; place-items: center; flex: none; width: 48px; height: 48px; border-radius: var(--radius-full); background: var(--lumix-green); color: var(--on-brand); }
.process-card__icon svg { width: 22px; height: 22px; }
.process-card__title { margin: 0; font-size: var(--heading-2-size); line-height: var(--heading-2-line); }
.process-card__title a { color: var(--ink); text-decoration: none; }
.process-card__title a:hover { text-decoration: underline; text-decoration-color: var(--lumix-green); }
.process-card__count { margin: 2px 0 0; color: var(--text-muted); font-size: var(--body-sm-size); line-height: var(--body-sm-line); }
.process-card__types { margin: 0; padding: var(--space-2) 0 0; list-style: none; border-top: 1px solid var(--line); }
.process-card__types a {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--space-3);
min-height: 40px;
color: var(--text);
text-decoration: none;
}
.process-card__types a::after { content: ""; flex: none; width: 12px; height: 2px; border-radius: var(--radius-full); background: var(--line-strong); transition: width var(--dur) var(--ease), background-color var(--dur) var(--ease); }
.process-card__types a:hover { color: var(--ink); }
.process-card__types a:hover::after { width: 20px; background: var(--lumix-green); }
.browse-more { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3) var(--space-6); margin-top: var(--space-12); }
.browse-more__title { margin: 0; } .statement { padding-block: var(--section-space); background: var(--lumix-green-deep); color: var(--on-brand); }
.statement__head { max-width: 760px; margin-bottom: var(--space-12); }
.statement__eyebrow {
display: flex;
align-items: center;
gap: var(--space-2);
margin: 0 0 var(--space-2);
font-family: var(--font-display);
font-size: var(--eyebrow-size);
line-height: var(--eyebrow-line);
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.statement__eyebrow::before { content: ""; width: 26px; height: 3px; border-radius: var(--radius-full); background: var(--on-brand); }
.statement__title { margin: 0; color: var(--on-brand); font-size: var(--heading-1-size); line-height: var(--heading-1-line); font-weight: 700; }
@media (min-width: 64em) { .statement__title { font-size: var(--display-lg-size); line-height: var(--display-lg-line); } }
.statement__text { margin: var(--space-4) 0 0; max-width: var(--measure); color: var(--on-brand); font-size: var(--body-lg-size); line-height: var(--body-lg-line); }
.steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: var(--space-8) var(--space-6); margin: 0; padding: 0; list-style: none; }
.step { padding-top: var(--space-4); border-top: 2px solid var(--on-brand); }
.step__num { display: block; margin-bottom: var(--space-3); font-family: var(--font-display); font-size: 14px; line-height: 20px; font-weight: 700; letter-spacing: 0.06em; font-variant-numeric: tabular-nums; }
.step__title { margin: 0 0 var(--space-2); color: var(--on-brand); font-size: var(--heading-2-size); line-height: var(--heading-2-line); }
.step__title a { color: inherit; text-decoration-color: var(--on-brand); }
.step__title a:hover { text-decoration-thickness: 3px; }
.step p { margin: 0; color: var(--on-brand); }
.statement :focus-visible { box-shadow: 0 0 0 2px var(--lumix-green-deep), 0 0 0 4px var(--ink); } .logo-wall a { display: grid; place-items: center; width: 100%; height: 100%; } .logo-marquee { --marquee-logo-w: 120px; --marquee-logo-h: 60px; --marquee-gap: 40px; }
.logo-marquee__track {
display: flex;
width: max-content;
padding-block: var(--space-5);
animation: logo-marquee var(--marquee-duration, 45s) linear infinite;
}
.logo-marquee { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.logo-marquee__list { display: flex; align-items: center; margin: 0; padding: 0; list-style: none; }
.logo-marquee__list li { flex: none; padding-inline: var(--marquee-gap); }
.logo-marquee__list a { display: block; border-radius: var(--radius-sm); }
.logo-marquee__list img { display: block; width: var(--marquee-logo-w); height: var(--marquee-logo-h); object-fit: contain; }
.logo-marquee__track:hover,
.logo-marquee__track:focus-within,
.logo-marquee.is-paused .logo-marquee__track { animation-play-state: paused; }
@keyframes logo-marquee {
from { transform: translateX(0); }
to { transform: translateX(-50%); }
}
.logo-marquee__controls { display: flex; justify-content: flex-end; }
.logo-marquee__toggle { display: inline-flex; align-items: center; gap: var(--space-2); min-height: 44px; padding: 0 var(--space-2); border: 0; background: none; color: var(--text-muted); font: inherit; font-size: 13px; cursor: pointer; }
.logo-marquee__toggle:hover { color: var(--text); }
.logo-marquee__toggle[hidden] { display: none; }
.logo-marquee__toggle .icon { width: 16px; height: 16px; }
.logo-marquee__play,
.logo-marquee.is-paused .logo-marquee__pause { display: none; }
.logo-marquee.is-paused .logo-marquee__play { display: inline; }
@media (max-width: 47.99em) {
.logo-marquee { --marquee-logo-w: 80px; --marquee-logo-h: 40px; --marquee-gap: 20px; }
} @media (prefers-reduced-motion: reduce) {
.logo-marquee { -webkit-mask-image: none; mask-image: none; }
.logo-marquee__track { width: auto; animation: none; }
.logo-marquee__list { flex-wrap: wrap; justify-content: center; row-gap: var(--space-4); max-width: var(--container, 1200px); margin-inline: auto; }
.logo-marquee__list[aria-hidden="true"], .logo-marquee__controls { display: none; }
} .home-contact__grid { display: grid; gap: var(--space-12); }
@media (min-width: 64em) { .home-contact__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: start; } }
.paths { display: grid; gap: var(--space-3); margin: 0; padding: 0; list-style: none; }
@media (min-width: 48em) { .paths { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.paths li { display: flex; }
.path {
display: flex;
flex: 1;
align-items: center;
gap: var(--space-4);
min-height: 88px;
padding: var(--space-4) var(--space-4) var(--space-4) var(--space-4);
border: 1px solid var(--line);
border-radius: var(--radius-lg);
background: var(--surface);
color: var(--ink);
text-decoration: none;
transition: box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.path:hover { border-color: var(--line-strong); box-shadow: var(--shadow-lg); color: var(--ink); text-decoration: none; transform: translateY(-2px); }
@media (prefers-reduced-motion: reduce) { .path:hover { transform: none; } }
.path__icon { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: var(--radius-full); background: var(--lumix-green); color: var(--on-brand); }
.path__icon svg { width: 20px; height: 20px; }
.path__body { display: flex; flex: 1; flex-direction: column; gap: 2px; min-width: 0; }
.path__title { color: var(--ink); font-family: var(--font-display); font-size: 17px; line-height: 24px; font-weight: 600; }
.path__text { color: var(--text); font-size: var(--body-sm-size); line-height: var(--body-sm-line); }
.path__arrow { width: 20px; height: 20px; color: var(--ink); transition: transform var(--dur) var(--ease); }
.path:hover .path__arrow { transform: translateX(3px); }
.contact-card { padding: var(--space-8); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); }
@media (max-width: 47.99em) { .contact-card { padding: var(--space-6); } }
.contact-card__title { margin: 0 0 var(--space-6); font-size: var(--heading-2-size); line-height: var(--heading-2-line); }
.contact-card__title::before { content: ""; display: block; width: 26px; height: 3px; margin-bottom: var(--space-3); border-radius: var(--radius-full); background: var(--lumix-green); }
.contact-card__phone { margin-bottom: var(--space-6); font-size: 24px; line-height: 32px; }
.contact-card__phone i { width: 44px; height: 44px; }
.contact-card__phone i svg { width: 18px; height: 18px; }
.contact-card__row { display: flex; gap: var(--space-3); align-items: flex-start; margin-bottom: var(--space-4); color: var(--text); }
.contact-card__row > svg { flex: none; width: 20px; height: 20px; margin-top: 2px; color: var(--ink); }
.contact-card__row p { margin: 0; }
.contact-card__row strong { color: var(--ink); }
.contact-card > .lx-btn { margin-top: var(--space-2); }
.contact-card__note { margin: var(--space-3) 0 0; color: var(--text-muted); font-size: var(--body-sm-size); line-height: var(--body-sm-line); }
.contact-card__form .wpcf7 { margin-top: var(--space-4); } .contact-card--brand { border-color: var(--lumix-green); background: var(--lumix-green); color: var(--on-brand); }
.contact-card--brand :is(.contact-card__title, .contact-card__lead, .contact-card__row, .contact-card__row strong, .contact-card__row > svg, .contact-card__note, .text-muted, .lx-phone, .lx-phone__label) { color: var(--on-brand); }
.contact-card__lead { margin: 0 0 var(--space-6); }
.contact-card--brand .contact-card__title::before { background: var(--on-brand); }
.contact-card--brand .lx-phone i { background: var(--on-brand); color: var(--lumix-green); }
.contact-card--brand .lx-btn--primary { background: var(--on-brand); color: var(--surface); }
.contact-card--brand .lx-btn--primary:hover { background: #000000; color: var(--surface); }
.contact-card--brand :focus-visible { box-shadow: 0 0 0 2px var(--lumix-green), 0 0 0 4px var(--ink); } .hub-header .lx-eyebrow { margin-bottom: var(--space-3); }
.hub-stats { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-6); margin: var(--space-6) 0 0; padding: 0; list-style: none; color: var(--text); font-size: var(--body-sm-size); line-height: var(--body-sm-line); }
.hub-stats li { display: flex; align-items: center; gap: var(--space-2); }
.hub-stats li::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: var(--radius-full); background: var(--lumix-green); }
.hub-header__actions { margin-top: var(--space-8); }
.hub-types { padding-bottom: 0; }
.hub-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-4) var(--space-8); margin-bottom: var(--space-8); }
.hub-toolbar .lx-h2 { margin: 0; }
.filter { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.card[hidden] { display: none; }
.empty-state { max-width: 600px; padding: var(--space-8); border: 1px dashed var(--line-strong); border-radius: var(--radius-lg); background: var(--surface); }
.empty-state__title { margin-bottom: var(--space-2); color: var(--ink); font-family: var(--font-display); font-size: var(--heading-2-size); line-height: var(--heading-2-line); font-weight: 600; }
.empty-state .lx-btn { margin-top: var(--space-2); }
.hub-heading { margin-bottom: var(--space-6); }
.compare-table { font-size: var(--body-sm-size); line-height: var(--body-sm-line); }
.compare-table thead th { white-space: nowrap; }
.compare-table tbody th { font-family: var(--font-display); font-weight: 600; }
.compare-table tbody th a { color: var(--ink); }
.compare-table td { color: var(--ink); font-variant-numeric: tabular-nums; }
.compare-table td:not(:nth-child(2)) { white-space: nowrap; }
.compare-table tbody tr:hover :is(th, td) { background: var(--surface-alt); }
.table-note { margin: var(--space-3) 0 0; color: var(--text-muted); font-size: var(--body-sm-size); line-height: var(--body-sm-line); }
.guide { max-width: var(--measure); }
.guide > .lx-h2 { margin-bottom: var(--space-6); } .gallery__main { border-radius: var(--radius-lg); }
.gallery__thumbs { display: flex; gap: var(--space-3); margin: var(--space-3) 0 0; padding: 0 0 var(--space-1); list-style: none; overflow-x: auto; }
.gallery__thumb {
display: block;
width: 80px;
height: 80px;
padding: 6px;
border: 2px solid transparent;
border-radius: var(--radius-md);
background: var(--surface-alt);
transition: border-color var(--dur-fast) var(--ease);
}
.gallery__thumb img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.gallery__thumb:hover { border-color: var(--line-strong); }
.gallery__thumb[aria-current] { border-color: var(--ink); }
.product-summary .chip-list { margin-top: var(--space-6); }
.product-summary .key-facts { margin-top: var(--space-6); }
.product-meta { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-4); margin: var(--space-4) 0 0; color: var(--text-muted); font-size: var(--body-sm-size); line-height: var(--body-sm-line); } .download {
display: flex;
align-items: center;
gap: var(--space-4);
padding: var(--space-4);
border: 1px solid var(--line);
border-radius: var(--radius-lg);
background: var(--surface);
color: var(--ink);
text-decoration: none;
transition: border-color var(--dur-fast) var(--ease), box-shadow var(--dur) var(--ease);
}
.download:hover { border-color: var(--line-strong); box-shadow: var(--shadow-lg); color: var(--ink); text-decoration: none; }
.download__icon { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: var(--radius-md); background: var(--surface-alt); color: var(--ink); }
.download__icon svg { width: 22px; height: 22px; }
.download__body { display: flex; flex: 1; flex-direction: column; gap: 2px; min-width: 0; }
.download__title { color: var(--ink); font-family: var(--font-display); font-size: 16px; line-height: 22px; font-weight: 600; }
.download__meta { color: var(--text-muted); font-size: var(--body-sm-size); line-height: var(--body-sm-line); }
.download__action { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border: 1px solid var(--line-strong); border-radius: var(--radius-md); color: var(--ink); transition: border-color var(--dur-fast) var(--ease); }
.download__action svg { width: 18px; height: 18px; }
.download:hover .download__action { border-color: var(--ink); }
.download--featured { margin: 0 0 var(--space-6); }
.download--featured .download__icon { border-radius: var(--radius-full); background: var(--lumix-green); color: var(--on-brand); }
.download-list { display: grid; gap: var(--space-3); margin: 0; padding: 0; list-style: none; }
@media (min-width: 48em) { .download-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.download-list li { display: flex; }
.download-list .download { flex: 1; } .section-nav {
position: sticky;
top: var(--header-height);
z-index: 5;
margin: 0 0 var(--space-8);
background: var(--surface);
border-bottom: 1px solid var(--line);
}
.admin-bar .section-nav { top: calc(var(--header-height) + 32px); }
@media (max-width: 782px) { .admin-bar .section-nav { top: calc(var(--header-height) + 46px); } }
@media (max-width: 600px) { .admin-bar .section-nav { top: var(--header-height); } }
.section-nav ul { display: flex; gap: var(--space-6); margin: 0; padding: 0; list-style: none; overflow-x: auto; scrollbar-width: none; }
.section-nav ul::-webkit-scrollbar { display: none; }
.section-nav a {
position: relative;
display: inline-flex;
align-items: center;
min-height: 48px;
color: var(--text);
font-family: var(--font-display);
font-size: var(--nav-size);
line-height: var(--nav-line);
font-weight: 600;
letter-spacing: 0.06em;
text-decoration: none;
text-transform: uppercase;
white-space: nowrap;
}
.section-nav a::after { content: ""; position: absolute; left: 0; bottom: -1px; width: 26px; height: 3px; border-radius: var(--radius-full); background: var(--lumix-green); transform: scaleX(0); transform-origin: left; transition: transform var(--dur) var(--ease); }
.section-nav a:hover, .section-nav a[aria-current] { color: var(--ink); }
.section-nav a:hover::after, .section-nav a[aria-current]::after { transform: scaleX(1); }
.product-section > .lx-h2 { margin-bottom: var(--space-6); }
.product-section + .product-section { margin-top: var(--space-12); }
.product-details .product-section .table-scroll { margin-top: 0; }
.feature-list { columns: 2 16rem; column-gap: var(--space-8); }
.feature-list li { break-inside: avoid; }
.entry-content--product { padding-block: var(--space-6) 0; } .mega--catalogue .mega__inner { grid-template-columns: 240px minmax(0, 1fr) 280px; gap: var(--space-8) var(--space-12); }
.mega__processes { columns: 2 13rem; column-gap: var(--space-8); margin: 0; padding: 0; list-style: none; }
.mega__side .mega__label { margin-bottom: var(--space-3); }
.mega__side .mega__types { margin-bottom: var(--space-6); }
.mega__side .mega__types:last-child { margin-bottom: 0; }
.mega__types--cols { columns: 2; column-gap: var(--space-4); }
.mega__types a[aria-current="page"] { color: var(--ink); font-weight: 700; }
.mega__help { margin: var(--space-2) 0 0; color: var(--text); font-size: var(--body-sm-size); line-height: var(--body-sm-line); }
.mega__help a { font-weight: 700; white-space: nowrap; } .sticky-enquiry { grid-template-columns: auto minmax(0, 1fr); } .page-header__actions { margin-top: var(--space-8); }
@media (min-width: 64em) {
.lx-card-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 48em) {
.lx-card-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 75em) {
.lx-card-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.lx-card-grid--4 .lx-card { padding: var(--space-6); }
.steps--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
} .services-page .entry-content--legacy :is(#service-top, #service-items) { display: none; }
.services-page .entry-content--legacy { padding-top: 0; }
.services-page .entry-content--legacy #home-brand-top { margin-top: var(--space-12); }
.check-cols { columns: 2 15rem; column-gap: var(--space-8); margin: 0; }
.check-cols li { break-inside: avoid; }
.order-grid { display: grid; gap: var(--space-12); }
@media (min-width: 64em) { .order-grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: start; } } .howto { display: grid; gap: var(--space-6); margin: 0; padding: 0; list-style: none; counter-reset: howto; }
.howto li { position: relative; min-height: 44px; padding-left: calc(44px + var(--space-4)); }
.howto li::before {
counter-increment: howto;
content: counter(howto);
position: absolute;
left: 0;
top: 0;
display: grid;
place-items: center;
width: 44px;
height: 44px;
border-radius: var(--radius-full);
background: var(--lumix-green);
color: var(--on-brand);
font-family: var(--font-display);
font-size: 18px;
font-weight: 700;
}
.howto__title { margin: 0 0 var(--space-1); padding-top: 9px; font-size: var(--heading-2-size); line-height: var(--heading-2-line); }
.howto p { margin: 0; }
.parts-brands .entry-content--legacy { padding: 0; } .parts-brands .wpb_column:has(.vc_btn3-container) :is(.wpb_single_image, .wpb_gallery) { aspect-ratio: 16 / 9; padding: 5% 12%; background: var(--surface); }
.parts-brands .vc_row:has(.vc_separator):not(:has(.wpb_text_column, .wpb_single_image, .wpb_gallery, .vc_btn3-container)) { display: none; } @media (max-width: 47.99em) {
:is(.services-page, .parts-page) .lx-card-grid { gap: var(--space-3); }
:is(.services-page, .parts-page) .lx-card {
display: grid;
grid-template-columns: 44px minmax(0, 1fr);
align-items: start;
gap: var(--space-1) var(--space-4);
padding: var(--space-4);
}
:is(.services-page, .parts-page) .lx-card__icon { grid-row: 1 / span 3; width: 44px; height: 44px; }
:is(.services-page, .parts-page) .lx-card__icon svg { width: 20px; height: 20px; }
:is(.services-page, .parts-page) .lx-card > :not(.lx-card__icon) { grid-column: 2; }
:is(.services-page, .parts-page) .lx-card .lx-h3 { font-size: 18px; line-height: 26px; }
:is(.services-page, .parts-page) .lx-card p { font-size: var(--body-sm-size); line-height: var(--body-sm-line); }
:is(.services-page, .parts-page) .lx-card .lx-more { margin-top: var(--space-2); }
.page-header__actions .lx-btn { flex: 1 1 100%; }
} :is(.services-page .logo-carousel-track, .services-page .vc_images_carousel .vc_carousel-slideline-inner) {
display: flex !important;
flex-wrap: wrap;
justify-content: center;
gap: var(--space-4);
}
:is(.services-page .logo-carousel-track > img, .services-page .vc_images_carousel .vc_item) {
flex: 0 0 calc((100% - 5 * var(--space-4)) / 6);
min-width: 0;
}
@media (max-width: 63.99em) {
:is(.services-page .logo-carousel-track > img, .services-page .vc_images_carousel .vc_item) { flex-basis: calc((100% - 2 * var(--space-4)) / 3); }
}
@media (max-width: 47.99em) {
:is(.services-page .logo-carousel-track, .services-page .vc_images_carousel .vc_carousel-slideline-inner) { gap: var(--space-3); }
:is(.services-page .logo-carousel-track > img, .services-page .vc_images_carousel .vc_item) { flex-basis: calc((100% - var(--space-3)) / 2); }
}
.services-page .logo-carousel-track > img { padding: 24px 12% !important; }
.services-page .vc_images_carousel .vc_item img { max-height: 40px; max-width: 78%; } :is(.logo-wall, .logo-carousel-track, .vc_images_carousel) img[src*="reiserpack"] { filter: grayscale(1) brightness(0.55); }
:is(.logo-wall, .logo-carousel-track, .vc_images_carousel) img[src*="reiserpack"]:hover { filter: brightness(0.8); } .services-page .entry-content--legacy #home-brand-top { display: none; }
.services-page .entry-content--legacy { padding-block: 0 var(--space-12); }
.services-brands { padding-bottom: var(--space-8); }
.services-brands .lx-section-heading { margin-bottom: var(--space-8); }.wp-pagenavi {
clear: both;
}
.wp-pagenavi a, .wp-pagenavi span {
text-decoration: none;
border: 1px solid #BFBFBF;
padding: 3px 5px;
margin: 2px;
}
.wp-pagenavi a:hover, .wp-pagenavi span.current {
border-color: #000;
}
.wp-pagenavi span.current {
font-weight: bold;
}.left-sidebar {display:none;}
.bolg-listing-con {
max-width: 100%;
width: 100%;
}
.sf-menu > li > a {
padding: 0 0 20px;}
#topslider .slide-content h2 {
font-size: 40px;    }
@media only screen and (max-width: 480px){
#header-logo {
max-width: 170px;
}
#header-phone {
top: 20px;
}
#header-phone .widget p .icon-tel {
font-size: 17px;
}
}