:root{
	/* "Steel & Amber" palette (redesign 2026-08-20) */
	--lux-navy:#171B21;
	--lux-navy-dark:#10141A;
	--lux-gold:#E8891C;
	--lux-blue:#2D6CDF;
	--lux-ivory:#EDEFF2;
}
/* Site-wide default font: Inter (updated 2026-08-20, Steel & Amber redesign). Applies to the
   theme/WooCommerce chrome outside the .lux-* design system (which keeps
   its own Barlow Condensed headings via more specific selectors below). */
body, p, li, td, th, dt, dd, label, input, textarea, select, button,
.woocommerce, .woocommerce table, .woocommerce table th, .woocommerce table td,
#main-content, #main-footer{
	font-family:"Inter",sans-serif !important;
}
h1, h2, h3, h4, h5, h6{ font-family:"Inter",sans-serif; }
/* Site header / primary nav — black bg, gold accents (established 2026-08-20) */
#main-header{ background:#171B21 !important; border-bottom:none; }
/* Full-width header bar (established 2026-08-20): the logo+nav row spans
   the full viewport instead of Divi's default boxed 1080px .container,
   with extra top/bottom breathing room for a taller bar. Actual bar
   height is driven by the et_divi menu_height/minimized_menu_height
   options (see import/ scripts) — Divi's own JS reads those, so this
   padding just needs to roughly agree with them. */
#main-header .container.et_menu_container{ display:flex; align-items:center; width:100% !important; max-width:100% !important; padding:32px 40px !important; box-sizing:border-box; }
#main-header .logo_container{ position:static !important; width:auto !important; height:auto !important; display:flex; align-items:center; padding-right:26px; flex:0 0 auto; }
#main-header #logo{ max-height:68px !important; height:auto !important; width:auto !important; margin:0 !important; object-fit:contain; }
#main-header.et-fixed-header #logo{ max-height:44px !important; }
#main-header.et-fixed-header .container.et_menu_container{ padding-top:14px !important; padding-bottom:14px !important; }
/* Text wordmark logo (replaces image logo, established 2026-08-20) */
.lux-text-logo{ display:inline-flex; align-items:baseline; text-decoration:none; font-family:"Barlow Condensed",sans-serif; font-weight:700; letter-spacing:.01em; text-transform:uppercase; font-size:2.2rem; line-height:1; white-space:nowrap; }
.lux-text-logo-1{ color:#fff; }
.lux-text-logo-2{ color:var(--lux-gold); }
#main-header.et-fixed-header .lux-text-logo{ font-size:1.6rem; }
/* Header row layout (updated 2026-08-20): logo left / nav menu centered in
   the remaining space / "Get A Quote" + search pinned to the far right.
   "Get A Quote" is a normal WP menu item (last <li> in #top-menu, class
   lux-menu-btn) so it's pulled out of flex flow via position:absolute
   rather than moved in the menu itself — #top-menu keeps a matching
   padding-right reserve so the centered items don't run under it. Cart
   icon removed per request. */
#et-top-navigation{ position:relative; background:transparent; flex:1 1 auto; width:auto !important; padding-top:0 !important; display:flex; align-items:center; }
#top-menu-nav{ flex:1 1 auto; display:flex; }
#et-top-navigation #top-menu{ display:flex; align-items:center; justify-content:center; flex:1 1 auto; margin:0; padding-right:230px; }
#et-top-navigation #top-menu > li{ display:flex; align-items:center; height:100%; position:relative; }
/* Divi's default dropdown offset (top:-32px) assumed the old, much larger
   nav-link padding-bottom we zeroed out above to fix vertical centering —
   re-anchor first-level dropdowns to sit right under the (now taller) li
   instead of drifting upward. Nested (2nd-level) flyouts are left alone,
   they position relative to their own parent li, not this taller row. */
#et-top-navigation #top-menu > li > ul.sub-menu{ top:100% !important; }
#et-top-navigation #top-menu > li > a{ display:flex !important; align-items:center; height:100%; color:#fff !important; font-family:"Inter",sans-serif; font-weight:700; font-size:1.05rem !important; padding-top:0 !important; padding-bottom:0 !important; }
#et-top-navigation #top-menu > li > a:hover,
#et-top-navigation #top-menu > li.current-menu-item > a,
#et-top-navigation #top-menu > li.current_page_item > a,
#et-top-navigation #top-menu > li.current-menu-ancestor > a{ color:var(--lux-gold) !important; }
#et-top-navigation #top-menu li ul.sub-menu{ background:#10141A !important; border-top:2px solid var(--lux-gold); }
#et-top-navigation #top-menu li ul.sub-menu li a{ color:#fff !important; font-size:.85rem; font-weight:700; }
#et-top-navigation #top-menu li ul.sub-menu li a:hover{ color:var(--lux-gold) !important; background:rgba(232,137,28,.08) !important; }
#et-top-navigation #top-menu li.lux-menu-btn{ position:absolute; right:56px; top:50%; transform:translateY(-50%); margin:0; }
#et-top-navigation #top-menu li.lux-menu-btn > a{ background:var(--lux-gold) !important; color:var(--lux-navy-dark) !important; font-weight:700; padding:10px 22px !important; border-radius:100px; }
#et-top-navigation #top-menu li.lux-menu-btn > a:hover{ opacity:.88; color:var(--lux-navy-dark) !important; }
/* Cart icon removed */
#et-top-navigation > a.et-cart-info{ display:none !important; }
/* Search icon pinned far right, in line with logo/nav/quote button */
#et-top-navigation > #et_top_search{ position:absolute; right:0; top:50%; transform:translateY(-50%); }
#et-top-navigation .et-search-icon,
#et-top-navigation #et_top_search .et-search-icon{ color:#fff; }
#et-top-navigation #et_top_search .et-search-icon:hover{ color:var(--lux-gold); }

/* Custom footer replaces Divi's default #main-footer (established 2026-08-20) */
#main-footer{ display:none !important; }
.lux-footer{ background:#171B21; padding:60px 0 0; font-family:"Inter",sans-serif; }
.lux-footer-wrap{ max-width:1180px; margin:0 auto; padding:0 24px; }
.lux-footer-top{ display:grid; grid-template-columns:1.3fr 1fr 1fr 1.3fr; gap:30px; padding-bottom:50px; }
.lux-footer-logo{ font-size:1.6rem; margin-bottom:20px; }
.lux-footer-socials{ display:flex; gap:12px; }
.lux-footer-socials a{ width:38px; height:38px; border-radius:6px; background:#fff; color:#111; display:flex; align-items:center; justify-content:center; text-decoration:none; transition:background .15s ease; }
.lux-footer-socials a:hover{ background:var(--lux-gold); }
.lux-footer-col h4{ color:#fff; font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; font-weight:700; margin:0 0 22px; font-family:"Inter",sans-serif; }
.lux-footer-col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:20px; }
.lux-footer-col ul li a{ color:#fff; text-decoration:none; font-weight:600; font-size:.95rem; }
.lux-footer-col ul li a:hover{ color:var(--lux-gold); }
.lux-footer-col p{ color:#d8dbe0; font-size:.88rem; line-height:1.7; margin:0 0 14px; }
.lux-footer-col p a{ color:#d8dbe0; text-decoration:none; }
.lux-footer-col p a:hover{ color:var(--lux-gold); }
.lux-footer-rule{ border-top:1px solid rgba(255,255,255,.15); }
.lux-footer-bottom{ display:flex; align-items:center; justify-content:center; gap:40px; flex-wrap:wrap; padding:28px 0; }
.lux-footer-bottom a{ color:#fff; font-weight:700; font-size:.9rem; text-decoration:none; }
.lux-footer-bottom a:hover{ color:var(--lux-gold); }
.lux-footer-dmca{ background:#2a2a2a; color:#bcd94a; font-weight:700; font-size:.72rem; letter-spacing:.05em; padding:6px 12px; border-radius:3px; }
.lux-footer-copy{ text-align:center; color:#9aa0aa; font-size:.85rem; margin:0; padding:0 0 28px; }
@media (max-width:900px){ .lux-footer-top{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .lux-footer-top{ grid-template-columns:1fr; } }

.lux{ font-family:"Inter",sans-serif; color:#1c1f26; }
.lux h1,.lux h2,.lux h3{ font-family:"Barlow Condensed",sans-serif; font-weight:700; letter-spacing:.01em; text-transform:uppercase; }
.lux-wrap{ max-width:1180px; margin:0 auto; padding:0 24px; }
.lux-eyebrow{ display:inline-block; letter-spacing:.15em; text-transform:uppercase; font-size:13px; font-weight:600; color:var(--lux-blue); margin-bottom:10px; }
.lux-section{ padding:80px 0; }
.lux-head{ text-align:center; max-width:640px; margin:0 auto 48px; }
.lux-head h2{ font-size:clamp(1.6rem,3vw,2.3rem); color:var(--lux-navy); margin:0 0 14px; }
.lux-head p{ color:#5b6472; line-height:1.6; margin:0; }
.lux-btn{ display:inline-flex; align-items:center; gap:8px; padding:16px 34px; border-radius:100px; font-weight:600; text-decoration:none; font-size:.95rem; transition:transform .15s ease; }
.lux-btn-gold{ background:var(--lux-gold); color:var(--lux-navy-dark); }
.lux-btn-gold:hover{ transform:translateY(-2px); }
.lux-btn-outline{ background:transparent; color:#fff; border:1px solid rgba(255,255,255,.5); }
.lux-btn-outline:hover{ border-color:var(--lux-blue); transform:translateY(-2px); }

/* Breadcrumb */
.lux-crumbs{ font-size:.82rem; color:#8891a0; padding:16px 0; }
.lux-crumbs a{ color:var(--lux-blue); text-decoration:none; }
.lux-crumbs a:hover{ text-decoration:underline; }

/* Hero (homepage + category pages) */
.lux-hero{ position:relative; min-height:600px; display:flex; align-items:center; color:#fff; padding:70px 24px; background-size:cover; background-position:center; }
.lux-hero-inner{ max-width:1180px; margin:0 auto; width:100%; }
.lux-hero-badge{ display:inline-block; letter-spacing:.18em; text-transform:uppercase; font-size:.72rem; color:var(--lux-gold); border:1px solid rgba(232,137,28,.5); padding:6px 14px; border-radius:999px; margin-bottom:22px; }
.lux-hero h1{ font-size:clamp(2.1rem,4.3vw,3.4rem); line-height:1.1; margin:0 0 20px; max-width:800px; color:#fff; }
.lux-hero p{ font-size:1.05rem; color:#dbe1ea; max-width:700px; margin:0 0 20px; line-height:1.6; }
.lux-hero-list{ list-style:none; margin:0 0 32px; padding:0; display:flex; flex-direction:column; gap:8px; max-width:700px; }
.lux-hero-list li{ position:relative; padding-left:20px; font-size:1rem; color:#dbe1ea; line-height:1.55; }
.lux-hero-list li::before{ content:"\2022"; position:absolute; left:0; color:#dbe1ea; }
.lux-hero-ctas{ display:flex; gap:16px; flex-wrap:wrap; }
.lux-hero-cat{ min-height:420px; }

/* Quick access grid (fullwidth, hover-zoom product cards) */
.lux-quick{ background:#fff; padding:70px 0; }
.lux-quick .lux-head h2{ font-size:clamp(1.7rem,3.2vw,2.4rem); color:#111318; }
.lux-quick .lux-head p{ max-width:760px; }
.lux-quick-wrap{ max-width:1800px; margin:0 auto; padding:0 40px; }
.lux-quick-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:34px 30px; }
.lux-quick-card{ text-decoration:none; display:block; text-align:center; }
.lux-quick-thumb{ background:#fff; border:1px solid #e6e8ec; border-radius:4px; aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; overflow:hidden; box-shadow:0 4px 14px rgba(23,27,33,.08); margin-bottom:16px; }
.lux-quick-thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.lux-quick-card:hover .lux-quick-thumb img{ transform:scale(1.05); }
.lux-quick-label{ font-weight:700; color:#111318; font-size:1.05rem; }
@media (max-width:900px){ .lux-quick-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .lux-quick-grid{ grid-template-columns:1fr; } }

/* CTA strip (fullwidth gold bar) */
.lux-cta-strip{ background:var(--lux-gold); padding:56px 24px; text-align:center; }
.lux-cta-strip h2{ color:#fff; font-size:clamp(1.5rem,3vw,2.1rem); margin:0 0 26px; }
.lux-btn-navy{ display:inline-block; background:var(--lux-navy-dark); color:#fff; font-weight:600; font-size:.95rem; padding:16px 34px; border-radius:6px; text-decoration:none; transition:background .15s ease; }
.lux-btn-navy:hover{ background:#10141A; }
.lux-btn-gold-rect{ display:inline-block; background:var(--lux-gold); color:#fff; font-weight:600; font-size:.88rem; padding:13px 26px; border-radius:5px; text-decoration:none; transition:opacity .15s ease; }
.lux-btn-gold-rect:hover{ opacity:.88; }

/* Industry grid */
.lux-industry{ padding:80px 0 90px; text-align:center; }
.lux-industry .lux-head{ margin-bottom:56px; }
.lux-industry .lux-head h2{ color:#111318; font-size:clamp(1.7rem,3.2vw,2.4rem); }
.lux-industry-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:56px 40px; margin-bottom:48px; }
.lux-industry-card{ display:flex; flex-direction:column; align-items:center; }
.lux-industry-icon{ width:100%; max-width:340px; aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
.lux-industry-icon img{ width:100%; height:100%; object-fit:contain; }
.lux-industry-label{ font-family:"Inter",sans-serif; font-weight:700; font-size:1.15rem; color:#111318; }
@media (max-width:900px){ .lux-industry-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .lux-industry-grid{ grid-template-columns:1fr; } }

/* Category/landing page header (compact hero with breadcrumb) */
.lux-pagehead{ position:relative; background-size:cover; background-position:center; padding:46px 24px 54px; text-align:center; color:#fff; }
.lux-pagehead-crumbs{ font-size:.85rem; margin-bottom:16px; }
.lux-pagehead-crumbs a{ color:var(--lux-gold); text-decoration:none; font-weight:600; }
.lux-pagehead-crumbs a:hover{ text-decoration:underline; }
.lux-pagehead-crumbs .sep{ margin:0 8px; color:#c7cedb; }
.lux-pagehead-crumbs .current{ color:#fff; font-weight:700; }
.lux-pagehead h1{ font-size:clamp(1.9rem,3.6vw,2.6rem); margin:0; color:#fff; }

/* Page intro block (image + text) */
.lux-intro{ padding:70px 0; background:#fff; }
.lux-intro-grid{ display:grid; grid-template-columns:minmax(0,460px) 1fr; gap:60px; align-items:center; }
.lux-intro-photo img{ width:100%; border-radius:4px; display:block; }
.lux-intro-text h2{ font-family:"Inter",sans-serif; font-weight:700; font-size:clamp(1.3rem,2.4vw,1.6rem); color:#111318; margin:0 0 18px; line-height:1.35; }
.lux-intro-text p{ color:#444; line-height:1.75; font-size:.92rem; margin:0 0 16px; }
.lux-intro-text p:last-child{ margin-bottom:0; }
@media (max-width:860px){ .lux-intro-grid{ grid-template-columns:1fr; } }

/* Industries served (checkmark card grid) */
.lux-served{ background:#eeeeec; padding:60px 0 70px; text-align:center; }
.lux-served .lux-head{ margin-bottom:40px; }
.lux-served .lux-head h2{ color:#111318; font-size:clamp(1.7rem,3.2vw,2.4rem); }
.lux-served-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; text-align:left; }
.lux-served-card{ background:#fff; padding:32px 30px; }
.lux-served-card i{ font-size:26px; color:#111318; margin-bottom:20px; display:block; }
.lux-served-card h3{ font-family:"Inter",sans-serif; font-weight:700; font-size:1rem; color:#111318; margin:0 0 14px; }
.lux-served-card p{ font-size:.88rem; color:#444; line-height:1.6; margin:0; }
@media (max-width:900px){ .lux-served-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .lux-served-grid{ grid-template-columns:1fr; } }

/* Production process */
.lux-process{ background:#fff; padding-top:70px; }
.lux-process .lux-head{ margin-bottom:0; }
.lux-process-band{ background:#eeeeec; padding:40px 24px 60px; margin-top:40px; }
.lux-process-card{ background:#fff; max-width:1180px; margin:0 auto; padding:40px 36px; }
.lux-process-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:34px 26px; }
.lux-process-item{ text-align:center; }
.lux-process-item img{ width:100%; aspect-ratio:4/3; object-fit:cover; display:block; margin-bottom:14px; border-radius:2px; }
.lux-process-item span{ font-size:.88rem; color:#222; }
@media (max-width:900px){ .lux-process-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .lux-process-grid{ grid-template-columns:1fr; } }

/* Solutions tabs (custom vs standard, with before/after compare slider) */
.lux-solutions{ padding:80px 0 90px; }
.lux-solutions .lux-head{ text-align:center; margin-bottom:34px; }
.lux-solutions .lux-head h2{ color:#111318; font-size:clamp(1.7rem,3.2vw,2.4rem); }
.lux-solutions-tabs{ display:flex; justify-content:center; gap:0; margin-bottom:56px; }
.lux-solutions-tab{ border:none; cursor:pointer; font-family:"Inter",sans-serif; font-weight:700; font-size:.92rem; color:#fff; background:#c9cdd2; padding:14px 32px; }
.lux-solutions-tab.active{ background:var(--lux-gold); }
.lux-solutions-panel{ display:none; }
.lux-solutions-panel.active{ display:grid; }
.lux-solutions-panel{ grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.lux-solutions-text h3{ font-family:"Inter",sans-serif; font-weight:700; font-size:1.05rem; color:#111318; margin:0 0 20px; }
.lux-solutions-text p{ color:#444; line-height:1.75; font-size:.92rem; margin:0; }
.lux-solutions-media{ width:100%; }
.lux-solutions-media img{ width:100%; display:block; }
@media (max-width:860px){ .lux-solutions-panel.active{ grid-template-columns:1fr; } .lux-solutions-panel.active .lux-solutions-media{ order:-1; } }

/* Before/after compare slider */
.lux-compare{ position:relative; width:100%; aspect-ratio:4/3; overflow:hidden; background:#f0f0ee; touch-action:none; }
.lux-compare img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; background:#f0f0ee; pointer-events:none; user-select:none; }
.lux-compare-before{ clip-path:inset(0 calc(100% - var(--pos,50%)) 0 0); }
.lux-compare-divider{ position:absolute; top:0; bottom:0; left:var(--pos,50%); width:2px; background:#fff; transform:translateX(-50%); pointer-events:none; }
.lux-compare-handle{ position:absolute; top:50%; left:var(--pos,50%); width:38px; height:38px; border-radius:50%; background:#fff; box-shadow:0 2px 10px rgba(0,0,0,.25); display:flex; align-items:center; justify-content:center; transform:translate(-50%,-50%); cursor:ew-resize; color:#333; font-size:.8rem; }

/* Paginated product grid (category pages) */
.lux-prodgrid-wrap{ max-width:1180px; margin:0 auto; padding:60px 24px 80px; }
.lux-prodgrid-heading{ text-align:center; font-family:"Barlow Condensed",sans-serif; font-size:clamp(1.7rem,3.2vw,2.4rem); color:#111318; margin:0 0 50px; }
.lux-prodgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:34px 30px; margin-bottom:44px; }
.lux-prodgrid-card{ text-decoration:none; display:block; text-align:center; }
.lux-prodgrid-thumb{ aspect-ratio:4/3; border-radius:4px; overflow:hidden; background:#eee; margin-bottom:14px; }
.lux-prodgrid-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.lux-prodgrid-label{ font-family:"Inter",sans-serif; font-weight:700; font-size:.92rem; color:#111318; line-height:1.4; }
.lux-prodgrid-pagination{ display:flex; justify-content:center; gap:18px; align-items:center; }
.lux-prodgrid-pagination a, .lux-prodgrid-pagination span{ font-weight:700; font-size:.95rem; text-decoration:none; }
.lux-prodgrid-pagination a{ color:var(--lux-blue); }
.lux-prodgrid-pagination a:hover{ text-decoration:underline; }
.lux-prodgrid-pagination span.current{ color:#111318; }
@media (max-width:900px){ .lux-prodgrid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .lux-prodgrid{ grid-template-columns:1fr; } }

/* Case study grid (image + title + Read More card) */
.lux-casegrid-wrap{ max-width:1180px; margin:0 auto; padding:0 24px; }
.lux-casegrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:35px 30px; margin-bottom:44px; }
.lux-casegrid-card{ background:#fff; border-radius:4px; overflow:hidden; box-shadow:0 2px 10px rgba(0,0,0,.06); }
.lux-casegrid-thumb{ aspect-ratio:16/9; background:#eee; }
.lux-casegrid-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.lux-casegrid-body{ padding:20px; }
.lux-casegrid-title{ display:block; font-family:"Barlow Condensed",sans-serif; font-size:1rem; line-height:1.4; color:#111318; text-decoration:none; margin-bottom:14px; min-height:2.8em; }
.lux-casegrid-title:hover{ color:var(--lux-blue); }
.lux-casegrid-more{ font-size:.86rem; font-weight:600; color:var(--lux-blue); text-decoration:none; }
.lux-casegrid-more:hover{ text-decoration:underline; }
@media (max-width:900px){ .lux-casegrid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .lux-casegrid{ grid-template-columns:1fr; } }

/* Quote form */
.lux-quote{ background:#eef1f4; padding:70px 0; }
.lux-quote-grid{ display:grid; grid-template-columns:370px 1fr; gap:70px; align-items:start; }
.lux-quote-photo img{ width:100%; display:block; border-radius:2px; }
.lux-quote-caption{ text-align:center; font-size:.92rem; color:#333; margin:16px 0 22px; }
.lux-quote-signoff{ text-align:center; }
.lux-quote-signoff .lux-quote-name{ font-size:.92rem; color:#222; margin-bottom:6px; }
.lux-quote-signoff .lux-quote-sig{ font-family:"Dancing Script",cursive; font-size:2rem; color:#111; }
.lux-quote-heading{ text-align:center; margin-bottom:34px; }
.lux-quote-heading h2{ font-family:"Inter",sans-serif; font-weight:800; font-size:clamp(1.5rem,2.8vw,2rem); color:var(--lux-navy); margin:0 0 10px; }
.lux-quote-heading p{ color:#5b6472; font-size:.95rem; margin:0; }
.lux-quote-form label{ display:block; font-weight:600; font-size:.88rem; color:#111318; margin-bottom:8px; }
.lux-quote-form .req{ color:#e0483e; }
.lux-quote-field{ margin-bottom:22px; }
.lux-quote-form input[type=text], .lux-quote-form input[type=email], .lux-quote-form input[type=tel], .lux-quote-form textarea{ width:100%; border:1px solid #d3d8de; border-radius:5px; padding:12px 14px; font-size:.9rem; font-family:"Inter",sans-serif; background:#fff; box-sizing:border-box; }
.lux-quote-form textarea{ min-height:110px; resize:vertical; }
.lux-quote-form .iti{ width:100%; }
.lux-quote-honeypot{ position:absolute; left:-9999px; opacity:0; height:0; }
.lux-quote-submit{ display:inline-block; background:var(--lux-blue); color:#fff; font-weight:600; font-size:.92rem; padding:14px 30px; border:none; border-radius:5px; cursor:pointer; }
.lux-quote-submit:hover{ opacity:.9; }
.lux-quote-submit:disabled{ opacity:.6; cursor:default; }
.lux-quote-msg{ margin:0 0 18px; font-size:.88rem; padding:12px 14px; border-radius:5px; display:none; }
.lux-quote-msg.show{ display:block; }
.lux-quote-msg.ok{ background:#e5f6ea; color:#1e7a3a; }
.lux-quote-msg.err{ background:#fdecea; color:#b3261e; }
@media (max-width:860px){ .lux-quote-grid{ grid-template-columns:1fr; } .lux-quote-photo{ max-width:320px; margin:0 auto; } }

/* FAQ accordion */
.lux-faq{ padding:80px 0 90px; }
.lux-faq .lux-head{ text-align:center; margin-bottom:50px; max-width:100%; }
.lux-faq .lux-head h2{ color:#111318; font-size:clamp(1.7rem,3.2vw,2.4rem); }
.lux-faq-columns{ display:grid; grid-template-columns:1fr 1fr; gap:36px; }
.lux-faq-col{ background:#f2f4f6; padding:34px 36px; }
.lux-faq-item{ border-bottom:1px solid #ccd0d6; padding-bottom:20px; margin-bottom:20px; }
.lux-faq-item:last-child{ border-bottom:none; margin-bottom:0; padding-bottom:0; }
.lux-faq-q{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; width:100%; background:none; border:none; text-align:left; cursor:pointer; padding:0; font-family:"Inter",sans-serif; font-weight:700; font-size:.95rem; color:#111318; }
.lux-faq-item.open .lux-faq-q{ color:var(--lux-gold); }
.lux-faq-icon-closed, .lux-faq-icon-open{ flex:0 0 auto; font-size:.7rem; margin-top:4px; color:inherit; }
.lux-faq-icon-open{ display:none; }
.lux-faq-item.open .lux-faq-icon-closed{ display:none; }
.lux-faq-item.open .lux-faq-icon-open{ display:inline; }
.lux-faq-a{ display:none; margin-top:16px; }
.lux-faq-item.open .lux-faq-a{ display:block; }
.lux-faq-a p{ font-size:.88rem; color:#333; line-height:1.65; margin:0 0 14px; text-align:left; }
.lux-faq-a p:last-child{ margin-bottom:0; }
@media (max-width:900px){ .lux-faq-columns{ grid-template-columns:1fr; } .lux-faq-col{ padding:28px 24px; } }

/* Discover More Options (plain-text link list, no real anchors) */
.lux-more{ padding:70px 0 90px; }
.lux-more-col{ max-width:700px; margin:0 auto; }
.lux-more-col h2{ text-align:center; color:#111318; font-size:clamp(1.5rem,2.8vw,2rem); margin:0 0 22px; }
.lux-more-col > p{ color:#222; font-size:.92rem; line-height:1.7; margin:0 0 20px; }
.lux-more-col h4{ font-family:"Inter",sans-serif; font-weight:700; font-size:.95rem; color:#111318; margin:0 0 8px; }
.lux-more-col ul{ margin:0 0 20px; padding-left:20px; }
.lux-more-col li{ font-size:.9rem; color:#333; line-height:1.9; }
.lux-more-link-text{ color:#333; }

/* FAQ (single column, narrow, closed by default) */
.lux-faq2{ padding:70px 0 90px; }
.lux-faq2 .lux-head{ text-align:center; margin-bottom:36px; max-width:100%; }
.lux-faq2 .lux-head h2{ color:#111318; font-size:clamp(1.7rem,3.2vw,2.4rem); margin:0 0 14px; }
.lux-faq2 .lux-head p{ color:#333; font-size:.92rem; margin:0; }
.lux-faq2-list{ max-width:560px; margin:0 auto; }
.lux-faq2-top-rule{ border-top:2px solid var(--lux-navy); margin-bottom:0; }
.lux-faq2-item{ border-bottom:1px solid #222; padding:18px 0; }
.lux-faq2-q{ display:flex; align-items:flex-start; justify-content:space-between; gap:14px; width:100%; background:none; border:none; text-align:left; cursor:pointer; padding:0; font-family:"Inter",sans-serif; font-weight:700; font-size:.92rem; color:#111318; }
.lux-faq2-icon-closed, .lux-faq2-icon-open{ flex:0 0 auto; font-size:.7rem; margin-top:4px; }
.lux-faq2-icon-closed{ color:var(--lux-navy); }
.lux-faq2-icon-open{ color:var(--lux-gold); display:none; }
.lux-faq2-item.open .lux-faq2-icon-closed{ display:none; }
.lux-faq2-item.open .lux-faq2-icon-open{ display:inline; }
.lux-faq2-a{ display:none; margin-top:14px; }
.lux-faq2-item.open .lux-faq2-a{ display:block; }
.lux-faq2-a p{ font-size:.88rem; color:#333; line-height:1.65; margin:0; text-align:left; }

/* Testimonials */
.lux-testimonials{ padding:80px 0 90px; text-align:center; }
.lux-testimonials .lux-head{ margin-bottom:50px; }
.lux-testimonials .lux-head h2{ color:#111318; font-size:clamp(1.7rem,3.2vw,2.4rem); }
.lux-testimonials-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.lux-testimonial-card{ background:#f0f0ee; padding:40px 32px 34px; }
.lux-testimonial-avatar{ width:110px; height:110px; border-radius:50%; overflow:hidden; margin:0 auto 26px; }
.lux-testimonial-avatar img{ width:100%; height:100%; object-fit:cover; display:block; }
.lux-testimonial-quote{ font-size:.92rem; color:#333; line-height:1.65; margin:0 0 24px; }
.lux-testimonial-quote strong{ font-weight:700; }
.lux-testimonial-name{ font-weight:700; color:#111318; font-size:1.02rem; display:block; margin-bottom:6px; }
.lux-testimonial-role{ font-size:.82rem; color:#5b6472; }
@media (max-width:900px){ .lux-testimonials-grid{ grid-template-columns:1fr; } }

/* Case studies grid */
.lux-cases{ padding:80px 0 90px; text-align:center; }
.lux-cases .lux-head{ margin-bottom:50px; }
.lux-cases .lux-head h2{ color:#111318; font-size:clamp(1.7rem,3.2vw,2.4rem); }
.lux-cases-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:34px 30px; margin-bottom:44px; }
.lux-cases-card{ text-align:center; }
.lux-cases-thumb{ aspect-ratio:4/3; border-radius:4px; overflow:hidden; background:#eee; margin-bottom:16px; }
.lux-cases-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.lux-cases-label{ font-family:"Inter",sans-serif; font-weight:700; font-size:.95rem; color:#111318; line-height:1.45; display:block; }
@media (max-width:900px){ .lux-cases-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .lux-cases-grid{ grid-template-columns:1fr; } }

/* Certifications */
.lux-certs{ background:#eeeeec; padding:80px 0; text-align:center; }
.lux-certs .lux-head{ margin-bottom:50px; }
.lux-certs .lux-head h2{ color:#111318; font-size:clamp(1.7rem,3.2vw,2.4rem); }
.lux-certs-row{ display:flex; align-items:center; justify-content:center; gap:70px; flex-wrap:wrap; }
.lux-certs-row img{ height:130px; width:auto; max-width:150px; object-fit:contain; }
@media (max-width:600px){ .lux-certs-row{ gap:40px; } .lux-certs-row img{ height:100px; } }

/* Durability feature grid */
.lux-durability{ padding:80px 0 90px; text-align:center; }
.lux-durability-alt{ background:#eeeeec; }
.lux-durability .lux-head{ margin-bottom:56px; }
.lux-durability .lux-head h2{ color:#111318; font-size:clamp(1.7rem,3.2vw,2.4rem); }
.lux-durability-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:56px 40px; margin-bottom:48px; max-width:960px; margin-left:auto; margin-right:auto; }
.lux-durability-card i{ font-size:32px; color:var(--lux-gold); margin-bottom:18px; display:block; }
.lux-durability-card h3{ font-family:"Inter",sans-serif; font-weight:700; font-size:1.05rem; color:#111318; margin:0 0 10px; }
.lux-durability-card p{ font-size:.88rem; color:#5b6472; line-height:1.6; margin:0; max-width:280px; margin-left:auto; margin-right:auto; }
@media (max-width:780px){ .lux-durability-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .lux-durability-grid{ grid-template-columns:1fr; } }

/* Factory numbers (dark section) */
.lux-factory{ background:#171B21; padding:90px 0; }
.lux-factory .lux-wrap{ max-width:1180px; }
.lux-factory h2{ color:#fff; text-align:center; font-size:clamp(1.7rem,3.2vw,2.4rem); margin:0 0 56px; }
.lux-factory-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:30px; text-align:center; margin-bottom:56px; }
.lux-factory-stat{ padding-top:18px; border-top:1px solid rgba(255,255,255,.4); }
.lux-factory-stat-num{ font-family:"Barlow Condensed",sans-serif; font-size:clamp(1.7rem,2.6vw,2.3rem); color:#fff; }
.lux-factory-stat-label{ font-size:.9rem; color:#c7cedb; margin-top:10px; }
.lux-factory-text p{ color:#c7cedb; line-height:1.7; margin:0 0 18px; font-size:.95rem; }
.lux-factory-text p:last-child{ margin-bottom:0; }
@media (max-width:780px){ .lux-factory-stats{ grid-template-columns:1fr 1fr; } }

/* Stats band */
.lux-stats{ background:var(--lux-navy); padding:44px 0; }
.lux-stats-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:20px; text-align:center; }
.lux-stat-num{ font-family:"Barlow Condensed",sans-serif; font-size:2.4rem; color:var(--lux-gold); }
.lux-stat-label{ font-size:.82rem; color:#b9c2d0; text-transform:uppercase; letter-spacing:.06em; margin-top:6px; }

/* Category tiles */
.lux-cat-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.lux-cat-grid.lux-cat-grid-3{ grid-template-columns:repeat(3,1fr); }
.lux-cat-card{ position:relative; border-radius:10px; overflow:hidden; aspect-ratio:16/10; text-decoration:none; display:block; }
.lux-cat-card img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.lux-cat-card:hover img{ transform:scale(1.06); }
.lux-cat-card::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(7,20,38,.92) 0%, rgba(7,20,38,.08) 55%); }
.lux-cat-label{ position:absolute; left:0; right:0; bottom:0; padding:26px 30px; z-index:2; }
.lux-cat-label .name{ font-family:"Barlow Condensed",sans-serif; font-size:1.5rem; color:#fff; display:block; }
.lux-cat-label .count{ font-size:.85rem; color:var(--lux-gold); font-weight:600; }

/* Product grid */
.lux-products{ background:var(--lux-ivory); padding:80px 0; }
.lux-products.lux-products-white{ background:#fff; }
.lux-prod-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:26px; }
.lux-prod-card{ background:#fff; border-radius:10px; overflow:hidden; box-shadow:0 2px 10px rgba(23,27,33,.08); text-decoration:none; color:inherit; display:flex; flex-direction:column; transition:box-shadow .2s ease, transform .2s ease; }
.lux-prod-card:hover{ box-shadow:0 12px 28px rgba(23,27,33,.16); transform:translateY(-4px); }
.lux-prod-thumb{ aspect-ratio:4/3; overflow:hidden; background:#eee; }
.lux-prod-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.lux-prod-body{ padding:16px 18px 20px; }
.lux-prod-cat{ font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; color:var(--lux-gold); font-weight:700; margin-bottom:6px; display:block; }
.lux-prod-body h3{ font-family:"Inter",sans-serif; font-size:.95rem; line-height:1.4; margin:0 0 10px; font-weight:600; color:var(--lux-navy); }
.lux-prod-cta{ font-size:.82rem; color:var(--lux-blue); font-weight:600; }
.lux-view-all{ text-align:center; margin-top:46px; }

/* Company story */
.lux-story{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.lux-story img{ width:100%; border-radius:10px; display:block; }
.lux-story h2{ font-size:clamp(1.5rem,3vw,2.1rem); color:var(--lux-navy); margin:14px 0 16px; }
.lux-story p{ color:#5b6472; line-height:1.7; margin:0 0 16px; }

/* Icon feature grid (dark or light) */
.lux-why{ background:var(--lux-navy); padding:80px 0; }
.lux-why .lux-head h2{ color:#fff; } .lux-why .lux-head p{ color:#b9c2d0; } .lux-why .lux-eyebrow{ color:var(--lux-gold); }
.lux-how{ background:#fff; padding:80px 0; }
.lux-icon-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:30px; }
.lux-icon-card{ text-align:center; padding:6px 10px; }
.lux-icon-circle{ width:64px; height:64px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 18px; }
.lux-icon-card h3{ font-family:"Inter",sans-serif; font-size:1.02rem; margin:0 0 10px; font-weight:600; }
.lux-icon-card p{ font-size:.88rem; line-height:1.6; margin:0; }

/* CTA band */
.lux-cta-wrap{ padding:70px 24px; }
.lux-cta-band{ background:linear-gradient(120deg, var(--lux-navy) 0%, var(--lux-navy-dark) 100%); color:#fff; text-align:center; border-radius:14px; margin:0 auto; max-width:1180px; padding:64px 32px; }
.lux-cta-band h2{ font-size:clamp(1.5rem,3vw,2.1rem); margin:0 0 16px; color:#fff; }
.lux-cta-band p{ color:#c7cedb; max-width:560px; margin:0 auto 32px; line-height:1.6; }

@media (max-width:780px){
	.lux-story{ grid-template-columns:1fr; }
	.lux-cat-grid{ grid-template-columns:1fr; }
	.lux-cat-grid.lux-cat-grid-3{ grid-template-columns:1fr; }
}

/* Table of contents (collapsible, anchor-jump) */
.lux-toc{ background:#f0f0ee; border:1px solid #d8d8d4; border-radius:6px; }
.lux-toc-header{ display:flex; align-items:center; justify-content:space-between; width:100%; background:none; border:none; cursor:pointer; padding:22px 28px; font-family:"Barlow Condensed",sans-serif; font-size:1.05rem; color:#111318; text-align:left; }
.lux-toc-header .lux-toc-chevron{ transition:transform .2s ease; font-size:.9rem; }
.lux-toc.collapsed .lux-toc-header .lux-toc-chevron{ transform:rotate(180deg); }
.lux-toc-body{ border-top:1px solid #d8d8d4; padding:20px 28px 26px; }
.lux-toc.collapsed .lux-toc-body{ display:none; }
.lux-toc-body ul{ list-style:none; margin:0; padding:0; columns:1; }
.lux-toc-body li{ margin:0 0 12px; }
.lux-toc-body li:last-child{ margin-bottom:0; }
.lux-toc-body li::before{ content:"\25CF"; font-size:.5em; color:#111318; vertical-align:middle; margin-right:12px; }
.lux-toc-link{ color:#111318; text-decoration:none; font-size:.98rem; }
.lux-toc-link:hover{ color:var(--lux-blue); }

/* Numbered process/step grid (Services page) */
.lux-steps-label{ display:inline-block; color:var(--lux-gold); font-family:"Barlow Condensed",sans-serif; font-size:1.3rem; border-bottom:3px solid var(--lux-gold); padding-bottom:10px; margin:0 0 40px; }
.lux-steps-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.lux-steps-card{ background:#eeeeec; padding:34px 26px; text-align:center; }
.lux-steps-icon{ width:56px; height:56px; border-radius:50%; background:var(--lux-gold); color:#fff; display:flex; align-items:center; justify-content:center; margin:0 auto 20px; font-size:1.2rem; }
.lux-steps-card h3{ font-family:"Inter",sans-serif; font-weight:700; font-size:1rem; color:#111318; margin:0 0 14px; }
.lux-steps-card p{ font-size:.88rem; color:#444; line-height:1.6; margin:0; }
@media (max-width:900px){ .lux-steps-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .lux-steps-grid{ grid-template-columns:1fr; } }

/* Service card row (photo + caption / bullet feature list / description) — Services page */
.lux-servcard{ background:#fff; border-radius:6px; padding:30px 32px; display:grid; grid-template-columns:220px 1fr 1.6fr; gap:36px; align-items:start; margin-bottom:34px; }
.lux-servcard:last-child{ margin-bottom:0; }
.lux-servcard-media img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:4px; display:block; margin-bottom:14px; }
.lux-servcard-media-placeholder{ width:100%; aspect-ratio:4/3; border-radius:4px; margin-bottom:14px; background:#f2ece1; display:flex; align-items:center; justify-content:center; }
.lux-servcard-media-placeholder i{ width:64px; height:64px; border-radius:50%; background:var(--lux-gold); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.6rem; }
.lux-servcard-caption{ font-weight:700; font-size:.98rem; color:#111318; text-align:center; }
.lux-servcard-features ul{ list-style:disc; margin:0; padding-left:18px; }
.lux-servcard-features li{ font-size:.92rem; color:#1c1f26; line-height:1.5; margin-bottom:10px; }
.lux-servcard-features li:last-child{ margin-bottom:0; }
.lux-servcard-desc p{ font-size:.94rem; color:#333; line-height:1.7; margin:0 0 16px; }
.lux-servcard-desc p:last-child{ margin-bottom:0; }
@media (max-width:900px){ .lux-servcard{ grid-template-columns:1fr; } }

/* Light (white background) stats row variant of lux-factory-stats — About page */
.lux-stats-light{ padding:70px 0 0; }
.lux-stats-light .lux-factory-stats{ margin-bottom:0; }
.lux-stats-light .lux-factory-stat{ border-top:1px solid #111318; }
.lux-stats-light .lux-factory-stat-num{ color:#111318; }
.lux-stats-light .lux-factory-stat-label{ color:#1c1f26; font-weight:600; }

/* Scroll-progress vertical timeline (About page) */
.lux-timeline-section{ background:#f0f0ee; padding:80px 0 90px; }
.lux-timeline-section h2{ text-align:center; font-size:clamp(1.5rem,2.8vw,2.1rem); color:#111318; margin:0 0 60px; }
.lux-timeline{ position:relative; }
.lux-timeline-track,.lux-timeline-fill{ position:absolute; left:50%; top:0; width:3px; transform:translateX(-50%); }
.lux-timeline-track{ height:100%; background:#d8d8d4; }
.lux-timeline-fill{ height:0; background:var(--lux-gold); transition:height .1s linear; }
.lux-timeline-item{ display:grid; grid-template-columns:1fr 84px 1fr; align-items:center; margin-bottom:36px; }
.lux-timeline-item:last-child{ margin-bottom:0; }
.lux-timeline-card{ position:relative; background:#fff; border:1px solid #e2e2de; border-radius:8px; padding:20px 24px; box-shadow:0 2px 6px rgba(0,0,0,.05); }
.lux-timeline-card h3{ font-family:"Inter",sans-serif; font-weight:700; font-size:.98rem; color:#111318; margin:0 0 10px; }
.lux-timeline-card p{ font-size:.86rem; color:#444; line-height:1.6; margin:0; }
.lux-timeline-left .lux-timeline-card{ grid-column:1; text-align:right; }
.lux-timeline-right .lux-timeline-card{ grid-column:3; text-align:left; }
.lux-timeline-marker-col{ grid-column:2; display:flex; align-items:center; justify-content:center; gap:8px; position:relative; z-index:1; }
.lux-timeline-left .lux-timeline-marker-col{ flex-direction:row; }
.lux-timeline-right .lux-timeline-marker-col{ flex-direction:row-reverse; }
.lux-timeline-dot{ width:38px; height:38px; border-radius:50%; background:#fff; border:2px solid #111318; color:#111318; display:flex; align-items:center; justify-content:center; font-size:.95rem; transition:background .25s ease,border-color .25s ease,color .25s ease; flex:0 0 auto; }
.lux-timeline-dot.active{ background:var(--lux-gold); border-color:var(--lux-gold); color:#fff; }
.lux-timeline-year{ font-family:"Barlow Condensed",sans-serif; font-size:.98rem; color:#111318; transition:color .25s ease; white-space:nowrap; }
.lux-timeline-year.active{ color:var(--lux-gold); }
@media (max-width:780px){
	.lux-timeline-item{ grid-template-columns:60px 1fr; margin-bottom:28px; }
	.lux-timeline-track,.lux-timeline-fill{ left:30px; }
	.lux-timeline-marker-col{ grid-column:1; grid-row:1; flex-direction:column !important; gap:4px; }
	.lux-timeline-left .lux-timeline-card,.lux-timeline-right .lux-timeline-card{ grid-column:2; grid-row:1; text-align:left; }
}

/* Expert/team card grid (photo + overlay label bar + caption) — About page */
.lux-experts{ background:#f0f0ee; padding:70px 0 80px; }
.lux-experts h2{ text-align:center; font-size:clamp(1.5rem,2.8vw,2.1rem); color:#111318; margin:0 0 44px; }
.lux-experts-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
.lux-expert-photo{ position:relative; border-radius:2px; overflow:hidden; }
.lux-expert-photo img{ width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.lux-expert-label{ position:absolute; left:0; right:0; bottom:0; background:rgba(23,27,33,.88); color:#fff; text-align:center; font-weight:700; font-size:.85rem; padding:10px 8px; }
.lux-expert-text{ font-size:.86rem; color:var(--lux-navy); line-height:1.6; text-align:center; margin:16px 0 0; }
@media (max-width:900px){ .lux-experts-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .lux-experts-grid{ grid-template-columns:1fr; } }

/* World map with country pins — About page */
.lux-worldmap-section{ padding:70px 0 90px; }
.lux-worldmap{ position:relative; width:100%; }
.lux-worldmap img{ width:100%; display:block; }
.lux-map-pin{ position:absolute; transform:translate(-50%,-100%); display:flex; flex-direction:column; align-items:center; }
.lux-map-pin-flag{ width:30px; height:30px; border-radius:50%; background:#fff; border:2px solid #fff; box-shadow:0 1px 4px rgba(0,0,0,.35); display:flex; align-items:center; justify-content:center; font-size:15px; overflow:hidden; line-height:1; }
.lux-map-pin-point{ width:0; height:0; border-left:6px solid transparent; border-right:6px solid transparent; border-top:9px solid #fff; margin-top:-2px; filter:drop-shadow(0 1px 1px rgba(0,0,0,.25)); }
.lux-map-ocean-label{ position:absolute; font-size:.72rem; letter-spacing:.08em; color:#8a8a86; font-weight:700; text-transform:uppercase; text-align:center; }
@media (max-width:560px){ .lux-experts-grid{ grid-template-columns:1fr; } }
