/* Existing General Sans assets; correct weight and case-sensitive file names.
   This stylesheet is loaded exclusively by the new page. */
@font-face { font-family:'General Sans'; src:url('../fonts/generalsans-regular.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'General Sans'; src:url('../fonts/generalsans-medium.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:'General Sans'; src:url('../fonts/generalsans-semibold.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; }
/* Luxura / Construim pentru tine. All selectors are scoped to this page.
   Breakpoints: 992 navigation; 1024 / 700h cinematic stage; 767 mobile. */
.lx-build-page { --lx-ink:var(--primary-color); --lx-orange:var(--accent-secondary-color); --lx-muted:var(--text-color); --lx-line:#04061824; background:#fff; line-height:1.6; font-weight:400; }
.lx-build-page *, .lx-build-page *::before, .lx-build-page *::after { box-sizing:border-box; }
.lx-build-page [hidden] { display:none !important; }
.lx-build-page :where(main, .lx-footer) a { color:inherit; }
.lx-build-page a:focus-visible, .lx-build-page button:focus-visible { outline:2px solid var(--lx-orange); outline-offset:6px; }
.lx-build-page button { font:inherit; }
.lx-build-page h1, .lx-build-page h2, .lx-build-page h3 { letter-spacing:-.045em; font-weight:500; }
.lx-build-page h2 { font-size:clamp(2.2rem,4.2vw,4.2rem); line-height:1.09; }
.lx-build-page h2 span { color:#707078; }
.lx-build-page p { margin:0 0 1.25rem; }
.lx-build-page .lx-wrap { width:calc(100% - 100px); max-width:1440px; margin-inline:auto; }
.lx-build-page .lx-section { padding-block:110px; }
.lx-build-page .lx-eyebrow { color:var(--lx-ink); font-size:.75rem; line-height:1.6; letter-spacing:.13em; font-weight:600; margin-bottom:28px; }
.lx-build-page .lx-eyebrow > span { display:inline-block; width:7px; height:7px; background:var(--lx-orange); margin-right:9px; border-radius:50%; }
.lx-build-page .lx-skip { position:fixed; top:10px; left:12px; z-index:999; transform:translateY(-200%); background:white; color:var(--lx-ink); padding:12px 20px; border-radius:8px; }
.lx-build-page .lx-skip:focus { transform:translateY(0); }
.lx-build-page :where(main) .btn-default { line-height:1.4; font-size:.875rem; text-transform:none; white-space:normal; }
.lx-build-page :where(main) .btn-default:hover { color:#fff; background:var(--lx-orange); }
.lx-build-page :where(main) .btn-default::after { background:var(--lx-orange); }
/* Reuse the site's navbar; reserve its height above the page and 3D tour. */
.lx-build-page .main-header { position:relative; top:auto; margin-top:60px; line-height:1em; }
.lx-build-page .navbar-brand img { height:auto; }
@media(max-width:991px) {
 .lx-build-page .main-header { margin-top:0; }
 .lx-build-page:not(.lx-nav-ready) .main-menu { display:block; flex-basis:100%; }
 .lx-build-page:not(.lx-nav-ready) .navbar .container { flex-wrap:wrap; }
 .lx-build-page:not(.lx-nav-ready) .main-menu .navbar-nav { flex-direction:column; gap:0; }
 .lx-build-page:not(.lx-nav-ready) .navbar-toggle { display:none; }
}
.lx-build-page .lx-hero { display:grid; grid-template-columns:1.05fr 1fr; gap:56px; padding-top:35px; padding-bottom:34px; align-items:stretch; }
.lx-build-page .lx-hero-copy { padding:35px 0 26px; }
.lx-build-page .lx-hero h1 { font-size:clamp(2.15rem,3.2vw,3.15rem); line-height:1.14; color:#707078; max-width:650px; }
.lx-build-page .lx-hero h1 em { color:var(--lx-ink); font-size:1.28em; font-style:normal; display:block; margin-top:7px; }
.lx-build-page .lx-hero-intro { max-width:470px; font-size:1rem; line-height:1.75; margin:28px 0 30px; }
.lx-build-page .lx-actions { display:flex; gap:25px; flex-wrap:wrap; align-items:center; }
.lx-build-page .lx-primary { background:var(--lx-orange); }
.lx-build-page .lx-primary::after { background:var(--lx-ink); }
.lx-build-page .lx-phone { font-size:.8rem; display:flex; align-items:center; gap:5px; flex-wrap:wrap; }
.lx-build-page .lx-phone strong { font-weight:500; color:var(--lx-ink); }
.lx-build-page .lx-phone > span { font-size:1.3rem; margin-left:6px; }
.lx-build-page .lx-explore { display:inline-flex; align-items:center; gap:16px; margin-top:52px; font-size:.875rem; color:var(--lx-ink); }
.lx-build-page .lx-explore small { display:block; font-size:.75rem; color:var(--lx-muted); margin-top:2px; }
.lx-build-page .lx-circle-arrow { width:42px; height:42px; border:1px solid var(--lx-line); border-radius:50%; display:grid; place-items:center; font-size:1.2rem; }
.lx-build-page .lx-hero-photo { position:relative; border-radius:18px; overflow:hidden; min-height:600px; background:var(--lx-ink); }
.lx-build-page .lx-hero-photo > img { position:absolute; inset:0; height:100%; width:100%; object-fit:cover; object-position:54% 50%; }
.lx-build-page .lx-hero-photo::after { content:''; position:absolute; inset:40% 0 0; background:linear-gradient(transparent,#040618a6); pointer-events:none; }
.lx-build-page .lx-hero-photo figcaption { position:absolute; bottom:32px; left:30px; right:30px; z-index:1; display:flex; align-items:end; justify-content:space-between; color:#fff; }
.lx-build-page .lx-hero-photo figcaption span { font-size:.75rem; letter-spacing:.13em; }
.lx-build-page .lx-hero-photo figcaption strong { display:block; font-size:1.4rem; letter-spacing:-.02em; font-weight:500; margin-top:8px; }
.lx-build-page .lx-hero-photo figcaption a { width:46px; height:46px; display:grid; place-items:center; border:1px solid #ffffff7a; border-radius:50%; font-size:1.5rem; }
.lx-build-page .lx-photo-corner { position:absolute; width:30px; height:30px; z-index:2; border-color:#ffffff9e; border-style:solid; }
.lx-build-page .lx-photo-corner-a { top:24px; left:24px; border-width:1px 0 0 1px; }
.lx-build-page .lx-photo-corner-b { top:24px; right:24px; border-width:1px 1px 0 0; }
.lx-build-page .lx-photo-side { position:absolute; top:60px; right:25px; color:#fff; writing-mode:vertical-rl; letter-spacing:.18em; font-size:.75rem; }
.lx-build-page .lx-hero-foot { border-block:1px solid var(--lx-line); display:flex; justify-content:space-between; align-items:center; gap:20px; padding-block:22px; font-size:.8rem; }
.lx-build-page .lx-hero-foot > span:first-child { font-size:.75rem; letter-spacing:.1em; }
.lx-build-page .lx-hero-foot a { color:var(--lx-ink); }
.lx-build-page .lx-hero-foot a span { padding-left:20px; }
.lx-build-page .lx-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:60px; margin-bottom:50px; }
.lx-build-page .lx-section-heading .lx-eyebrow { margin-bottom:22px; }
.lx-build-page .lx-section-heading > p, .lx-build-page .lx-section-heading > div:last-child:not(:first-child) { max-width:390px; }
.lx-build-page .lx-section-heading > p { font-size:.95rem; line-height:1.75; margin-bottom:4px; }
.lx-build-page .lx-options { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.lx-build-page .lx-option { display:flex; flex-direction:column; padding:30px; border:1px solid var(--lx-line); border-radius:16px; background:#fff; transition:transform .25s,border-color .25s; }
.lx-build-page .lx-option:hover { transform:translateY(-5px); border-color:var(--lx-orange); }
.lx-build-page .lx-option-top { display:flex; justify-content:space-between; align-items:center; padding-bottom:42px; }
.lx-build-page .lx-option-top > span { font-size:.875rem; color:var(--lx-muted); }
.lx-build-page .lx-option-top img { object-fit:contain; }
.lx-build-page .lx-option h3 { font-size:1.75rem; margin-bottom:20px; }
.lx-build-page .lx-option p { font-size:.94rem; line-height:1.7; flex:1; max-width:310px; }
.lx-build-page .lx-option-link { display:flex; justify-content:space-between; gap:14px; align-items:center; padding-top:28px; font-size:.8rem; font-weight:500; color:var(--lx-ink); }
.lx-build-page .lx-option-link > span { font-size:1.5rem; }
.lx-build-page .lx-option-featured { background:var(--lx-ink); border-color:var(--lx-ink); color:#bec0cd; }
.lx-build-page .lx-option-featured h3, .lx-build-page .lx-option-featured .lx-option-link { color:#fff; }
.lx-build-page .lx-option-featured .lx-option-top > span { color:#a9aab8; }
.lx-build-page .lx-option-featured img { filter:brightness(0) invert(1); }
.lx-build-page .lx-story { display:grid; grid-template-columns:1fr 1fr; gap:100px; padding-top:25px; padding-bottom:120px; align-items:center; }
.lx-build-page .lx-story-photo { position:relative; border-radius:16px; overflow:hidden; }
.lx-build-page .lx-story-photo img { width:100%; height:570px; object-fit:cover; }
.lx-build-page .lx-story-photo figcaption { position:absolute; bottom:25px; left:25px; padding:8px 12px; border-radius:4px; background:#040618cc; color:white; font-size:.75rem; letter-spacing:.1em; }
.lx-build-page .lx-story-copy > p:not(.lx-eyebrow) { font-size:.95rem; max-width:470px; }
.lx-build-page .lx-story-copy h2 { margin-bottom:30px; }
.lx-build-page .lx-text-link { display:inline-flex; align-items:center; gap:24px; padding-block:9px; border-bottom:1px solid currentColor; font-size:.85rem; color:var(--lx-ink); }
.lx-build-page .lx-text-link > span { font-size:1.2rem; }
.lx-build-page .lx-process { background:var(--lx-ink); color:#b8bbc9; padding-block:100px 55px; border-radius:22px; margin-inline:14px; }
.lx-build-page .lx-process h2, .lx-build-page .lx-process h3, .lx-build-page .lx-process .lx-eyebrow, .lx-build-page .lx-process .lx-text-link { color:white; }
.lx-build-page .lx-process h2 span { color:#8d90a3; }
.lx-build-page .lx-process-heading { margin-bottom:55px; }
.lx-build-page .lx-process-heading > div:last-child p { font-size:.95rem; }
.lx-build-page .lx-process .lx-wrap { width:calc(100% - 80px); }
.lx-build-page .lx-process-layout { display:grid; grid-template-columns:1.5fr 1fr; gap:7%; align-items:start; }
.lx-build-page .lx-stage-sticky { position:sticky; top:32px; }
.lx-build-page .lx-scene-head { border-top:1px solid #ffffff25; padding-top:22px; display:flex; justify-content:space-between; gap:15px; font-size:.75rem; letter-spacing:.1em; }
.lx-build-page .lx-scene-head i { display:inline-block; width:5px; height:5px; background:var(--lx-orange); margin-right:8px; }
.lx-build-page .lx-scene-head b { font-weight:400; color:#fff; }
.lx-build-page .lx-scene-frame { position:relative; width:100%; aspect-ratio:1.4; max-height:64vh; isolation:isolate; }
.lx-build-page .lx-scene-poster, .lx-build-page .lx-canvas-host { position:absolute; inset:0; width:100%; height:100%; }
.lx-build-page .lx-scene-poster { object-fit:contain; }
.lx-build-page .lx-canvas-host { opacity:0; }
.lx-build-page .lx-canvas-host canvas { display:block; width:100%; height:100%; }
.lx-build-page .lx-scene-ready .lx-canvas-host { opacity:1; }
.lx-build-page .lx-scene-ready .lx-scene-poster { visibility:hidden; }
.lx-build-page .lx-scene-axis { position:absolute; bottom:25px; left:2px; font-size:.75rem; line-height:1.25; opacity:.65; }
.lx-build-page .lx-scene-view { position:absolute; bottom:24px; right:0; font-size:.75rem; letter-spacing:.1em; }
.lx-build-page .lx-scene-caption { display:flex; justify-content:space-between; gap:20px; font-size:.85rem; color:#fff; margin-block:12px; }
.lx-build-page .lx-stage-progress { background:#ffffff20; height:2px; }
.lx-build-page .lx-stage-progress > span { display:block; width:100%; height:100%; transform:scaleX(.111); transform-origin:left; background:var(--lx-orange); }
.lx-build-page .lx-stage-nav { display:flex; justify-content:space-between; margin-top:14px; }
.lx-build-page .lx-stage-nav a { display:grid; place-items:center; min-width:40px; min-height:40px; font-size:.72rem; color:#8d90a3; border-radius:4px; }
.lx-build-page .lx-stage-nav a[aria-current] { background:#ffffff12; color:white; box-shadow:inset 0 -2px var(--lx-orange); }
.lx-build-page .lx-scene-note { font-size:.75rem; color:#9295a8; line-height:1.65; max-width:560px; margin-top:14px; margin-bottom:6px; }
.lx-build-page .lx-static-toggle { padding:5px 0; border:0; background:transparent; color:#c7c9d3; font-size:.73rem; text-decoration:underline; text-underline-offset:4px; }
.lx-build-page .lx-stage-list { min-width:0; }
.lx-build-page .lx-stage { min-height:64vh; display:flex; justify-content:center; flex-direction:column; position:relative; padding:65px 0; scroll-margin-top:50px; }
.lx-build-page .lx-stage:last-child { min-height:85vh; }
.lx-build-page .lx-stage-text { border-top:1px solid #ffffff22; padding-top:22px; }
.lx-build-page .lx-stage-number { display:block; color:var(--lx-orange); font-size:2.4rem; line-height:1.2; letter-spacing:-.05em; margin-bottom:35px; }
.lx-build-page .lx-stage .lx-eyebrow { font-size:.75rem; text-transform:uppercase; margin-bottom:12px; }
.lx-build-page .lx-stage h3 { font-size:clamp(1.65rem,2.3vw,2.4rem); line-height:1.18; max-width:420px; margin-bottom:22px; }
.lx-build-page .lx-stage p:not(.lx-eyebrow) { font-size:.95rem; max-width:370px; line-height:1.75; }
.lx-build-page .lx-stage-tags { display:block; color:#9598aa; font-size:.75rem; padding-top:8px; }
.lx-build-page .lx-mobile-stage { display:none; }
.lx-build-page .lx-process-outro { display:flex; align-items:center; justify-content:space-between; gap:35px; padding-top:45px; border-top:1px solid #ffffff25; }
.lx-build-page .lx-process-outro > span { font-size:.75rem; letter-spacing:.12em; }
.lx-build-page .lx-process-outro p { margin:0; font-size:1.1rem; color:#a1a4b7; }
.lx-build-page .lx-process-outro strong { color:white; font-weight:400; }
.lx-build-page .btn-highlighted { background:#fff; color:var(--lx-ink); }
.lx-build-page .btn-highlighted::before { filter:brightness(0); }
.lx-build-page .btn-highlighted:hover { color:var(--lx-ink); }
.lx-build-page .lx-services { display:grid; grid-template-columns:1fr 1fr; column-gap:70px; }
.lx-build-page .lx-service { display:flex; align-items:start; gap:22px; padding-block:29px; border-top:1px solid var(--lx-line); }
.lx-build-page .lx-service > span:first-child { font-size:.75rem; color:#707078; padding-top:4px; }
.lx-build-page .lx-service h3 { font-size:1.2rem; letter-spacing:-.02em; }
.lx-build-page .lx-service p { font-size:.875rem; margin:8px 0 0; }
.lx-build-page .lx-service-plus { margin-left:auto; font-size:1.6rem; font-weight:300; }
.lx-build-page .lx-promise { background:var(--bg-color); border-radius:18px; padding:65px; }
.lx-build-page .lx-promise h2 { font-size:clamp(2.5rem,4.7vw,4.7rem); }
.lx-build-page .lx-promise h2 span { color:var(--lx-ink); }
.lx-build-page .lx-promise-bottom { margin-top:50px; padding-top:30px; border-top:1px solid var(--lx-line); display:flex; justify-content:space-between; gap:60px; }
.lx-build-page .lx-promise-bottom p { margin:0; max-width:465px; font-size:.94rem; }
.lx-build-page .lx-promise-bottom .lx-promise-line { font-size:1.2rem; color:var(--lx-ink); }
.lx-build-page .lx-start-steps { list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:30px; padding:0; margin:0; }
.lx-build-page .lx-start-steps li { border-top:1px solid var(--lx-line); padding-top:22px; }
.lx-build-page .lx-start-steps li > span { font-size:.8rem; color:var(--lx-orange); }
.lx-build-page .lx-start-steps h3 { font-size:1.35rem; margin:30px 0 16px; max-width:230px; }
.lx-build-page .lx-start-steps p { font-size:.875rem; line-height:1.75; }
.lx-build-page .lx-contact { background:var(--lx-ink); border-radius:20px; padding:65px; display:grid; grid-template-columns:1.25fr 1fr; align-items:center; gap:60px; color:#b8bbc9; }
.lx-build-page .lx-contact h2 { color:white; font-size:clamp(2.2rem,3.3vw,3.3rem); margin-bottom:28px; }
.lx-build-page .lx-contact h2 span { color:#9699ad; }
.lx-build-page .lx-contact .lx-eyebrow { color:#bec0cd; font-size:.75rem; }
.lx-build-page .lx-contact-copy > p:not(.lx-eyebrow) { max-width:500px; font-size:.95rem; }
.lx-build-page .lx-contact .lx-actions { margin-top:28px; }
.lx-build-page .lx-contact .lx-text-link { color:white; }
.lx-build-page .lx-contact-details { border-left:1px solid #ffffff26; padding-left:50px; }
.lx-build-page .lx-contact-details > span { display:block; font-size:.75rem; letter-spacing:.15em; margin-bottom:30px; }
.lx-build-page .lx-contact-details .lx-big-phone { display:flex; justify-content:space-between; align-items:center; gap:15px; color:white; font-size:clamp(1.75rem,2.6vw,2.5rem); letter-spacing:-.045em; white-space:nowrap; }
.lx-build-page .lx-big-phone > span { color:var(--lx-orange); }
.lx-build-page .lx-contact-details p { font-size:.85rem; margin:15px 0 30px; }
.lx-build-page .lx-contact-details > a:last-child { font-size:.875rem; border-bottom:1px solid #ffffff50; }
.lx-build-page .lx-footer { padding-block:40px; display:flex; align-items:center; gap:32px; font-size:.75rem; }
.lx-build-page .lx-footer > a:first-child img { object-fit:contain; max-height:54px; width:140px; }
.lx-build-page .lx-footer p { margin:0; }
.lx-build-page .lx-footer nav { display:flex; flex-wrap:wrap; gap:24px; margin-left:auto; }
.lx-build-page .lx-back-top { color:var(--lx-ink); }
.lx-build-page .lx-back-top span { padding-left:12px; }
.lx-build-page section[id], .lx-build-page main[id] { scroll-margin-top:calc(var(--lx-nav-height, 108px) + 20px); }
/* Explicit simple mode also covers missing WebGL or failed dynamic imports. */
.lx-build-page .lx-process.lx-simple .lx-process-layout { display:block; }
.lx-build-page .lx-process.lx-simple .lx-stage-sticky { display:none; }
.lx-build-page .lx-process.lx-simple .lx-stage { display:grid; grid-template-columns:1fr 1.2fr; gap:35px; min-height:0; padding-block:35px; align-items:center; }
.lx-build-page .lx-process.lx-simple .lx-mobile-stage { display:block; width:100%; height:auto; }
@media (min-width:1600px) { .lx-build-page .lx-hero-photo { min-height:680px; } }
@media (max-width:1180px) {
 .lx-build-page .lx-wrap { width:calc(100% - 64px); }
 .lx-build-page .lx-hero { gap:30px; }
 .lx-build-page .lx-hero-copy { padding-top:18px; }
 .lx-build-page .lx-hero-photo { min-height:550px; }
 .lx-build-page .lx-hero h1 { font-size:2.25rem; }
 .lx-build-page .lx-hero .lx-actions { gap:18px; }
 .lx-build-page .lx-explore { margin-top:30px; }
 .lx-build-page .lx-story { gap:55px; }
 .lx-build-page .lx-story-photo img { height:510px; }
 .lx-build-page .lx-contact { padding:45px; gap:35px; }
 .lx-build-page .lx-contact-details { padding-left:30px; }
}
@media (max-width:1023px), (max-height:699px) {
 .lx-build-page .lx-process-layout { display:block; }
 .lx-build-page .lx-stage-sticky { display:none; }
 .lx-build-page .lx-stage { display:grid; grid-template-columns:1fr 1.2fr; gap:30px; align-items:center; min-height:0; padding-block:35px; }
 .lx-build-page .lx-stage:last-child { min-height:0; }
 .lx-build-page .lx-mobile-stage { display:block; width:100%; height:auto; }
}
@media (max-width:1023px) {
 .lx-build-page .lx-section { padding-block:80px; }
 .lx-build-page .lx-hero h1 { font-size:2rem; }
 .lx-build-page .lx-hero-photo { min-height:570px; }
 .lx-build-page .lx-section-heading { gap:30px; }
 .lx-build-page .lx-section-heading > p { max-width:300px; }
 .lx-build-page .lx-option { padding:23px; }
 .lx-build-page .lx-option h3 { font-size:1.4rem; }
 .lx-build-page .lx-option p { font-size:.875rem; }
 .lx-build-page .lx-option-link { font-size:.75rem; }
 .lx-build-page .lx-story { gap:40px; padding-top:0; }
 .lx-build-page .lx-story-photo img { height:550px; }
 .lx-build-page .lx-process { padding-block:70px 45px; }
 .lx-build-page .lx-process-outro { flex-wrap:wrap; }
 .lx-build-page .lx-process-outro > span { width:100%; }
 .lx-build-page .lx-services { column-gap:30px; }
 .lx-build-page .lx-promise { padding:45px; }
 .lx-build-page .lx-contact { grid-template-columns:1fr; }
 .lx-build-page .lx-contact-details { border-left:0; padding:30px 0 0; border-top:1px solid #ffffff26; }
 .lx-build-page .lx-contact-details > span { margin-bottom:10px; }
 .lx-build-page .lx-contact-details .lx-big-phone { justify-content:flex-start; font-size:2.25rem; }
 .lx-build-page .lx-contact-details p { margin-bottom:15px; }
 .lx-build-page .lx-footer { flex-wrap:wrap; gap:20px; }
 .lx-build-page .lx-footer nav { margin-left:0; }
 .lx-build-page .lx-back-top { margin-left:auto; }
}
@media (max-width:767px) {
 .lx-build-page .lx-wrap { width:calc(100% - 40px); }
 .lx-build-page .lx-hero { display:flex; flex-direction:column; padding-top:22px; gap:30px; }
 .lx-build-page .lx-hero-copy { padding:0; }
 .lx-build-page .lx-hero .lx-eyebrow { font-size:.75rem; margin-bottom:24px; }
 .lx-build-page .lx-hero h1 { font-size:clamp(1.75rem,7.4vw,2.6rem); max-width:550px; }
 .lx-build-page .lx-hero h1 em { font-size:1.18em; }
 .lx-build-page .lx-hero-intro { font-size:1rem; margin-block:25px; }
 .lx-build-page .lx-hero .lx-actions { gap:16px; }
 .lx-build-page .lx-explore { margin-top:26px; }
 .lx-build-page .lx-hero-photo { min-height:0; aspect-ratio:1.18; border-radius:12px; }
 .lx-build-page .lx-hero-photo > img { object-position:55% 50%; }
 .lx-build-page .lx-hero-photo figcaption { bottom:22px; left:22px; right:22px; }
 .lx-build-page .lx-hero-photo figcaption strong { font-size:1.2rem; }
 .lx-build-page .lx-hero-foot { flex-wrap:wrap; gap:10px; padding-block:20px; }
 .lx-build-page .lx-hero-foot > span:nth-child(2) { display:none; }
 .lx-build-page .lx-hero-foot a { width:100%; font-size:.75rem; }
 .lx-build-page .lx-section { padding-block:65px; }
 .lx-build-page .lx-eyebrow { font-size:.75rem; margin-bottom:20px; }
 .lx-build-page .lx-section-heading { display:block; margin-bottom:30px; }
 .lx-build-page .lx-section-heading > p, .lx-build-page .lx-section-heading > div:last-child:not(:first-child) { margin-top:22px; max-width:100%; }
 .lx-build-page .lx-options { grid-template-columns:1fr; gap:14px; }
 .lx-build-page .lx-option { padding:26px; }
 .lx-build-page .lx-option-top { padding-bottom:20px; }
 .lx-build-page .lx-option h3 { font-size:1.7rem; }
 .lx-build-page .lx-option h3 br { display:none; }
 .lx-build-page .lx-option p { font-size:1rem; max-width:100%; }
 .lx-build-page .lx-option-link { font-size:.875rem; padding-top:12px; }
 .lx-build-page .lx-story { display:flex; flex-direction:column-reverse; gap:30px; padding-top:0; }
 .lx-build-page .lx-story-copy { width:100%; }
 .lx-build-page .lx-story-copy h2 br:nth-child(2) { display:none; }
 .lx-build-page .lx-story-copy > p:not(.lx-eyebrow) { font-size:1rem; }
 .lx-build-page .lx-story-photo { width:100%; }
 .lx-build-page .lx-story-photo img { height:auto; aspect-ratio:1.15; object-position:center; }
 .lx-build-page .lx-process { margin-inline:0; border-radius:16px; padding-top:60px; }
 .lx-build-page .lx-process .lx-wrap { width:calc(100% - 40px); }
 .lx-build-page .lx-process-heading { margin-bottom:30px; }
 .lx-build-page .lx-process-heading > div:last-child p { font-size:1rem; }
 .lx-build-page .lx-process .lx-stage, .lx-build-page .lx-process.lx-simple .lx-stage { display:flex; flex-direction:column; align-items:stretch; gap:6px; padding:22px 0; min-height:0; }
 .lx-build-page .lx-stage-text { padding-top:24px; }
 .lx-build-page .lx-stage-number { font-size:1.8rem; margin-bottom:22px; }
 .lx-build-page .lx-stage h3 { font-size:1.9rem; }
 .lx-build-page .lx-stage p:not(.lx-eyebrow) { font-size:1rem; max-width:100%; }
 .lx-build-page .lx-stage .lx-mobile-stage { aspect-ratio:1.45; object-fit:contain; }
 .lx-build-page .lx-process-outro { gap:20px; padding-top:30px; }
 .lx-build-page .lx-process-outro p { font-size:1.1rem; }
 .lx-build-page .lx-services { grid-template-columns:1fr; }
 .lx-build-page .lx-service { gap:18px; padding-block:24px; }
 .lx-build-page .lx-service h3 { font-size:1.2rem; }
 .lx-build-page .lx-service p { font-size:.95rem; }
 .lx-build-page .lx-promise { padding:30px 25px; }
 .lx-build-page .lx-promise h2 { font-size:clamp(2rem,8vw,2.8rem); }
 .lx-build-page .lx-promise-bottom { flex-direction:column; gap:22px; margin-top:30px; padding-top:25px; }
 .lx-build-page .lx-promise-bottom p { font-size:1rem; }
 .lx-build-page .lx-start-steps { grid-template-columns:1fr; gap:24px; }
 .lx-build-page .lx-start-steps li { display:grid; grid-template-columns:36px 1fr; column-gap:15px; padding-top:22px; }
 .lx-build-page .lx-start-steps h3 { margin:0 0 10px; max-width:none; font-size:1.25rem; }
 .lx-build-page .lx-start-steps p { grid-column:2; font-size:1rem; margin:0; }
 .lx-build-page .lx-contact { padding:32px 25px; gap:28px; border-radius:14px; }
 .lx-build-page .lx-contact h2 { font-size:2rem; }
 .lx-build-page .lx-contact h2 br { display:none; }
 .lx-build-page .lx-contact-copy > p:not(.lx-eyebrow) { font-size:1rem; }
 .lx-build-page .lx-contact-details .lx-big-phone { font-size:clamp(1.55rem,7vw,2.25rem); }
 .lx-build-page .lx-footer { font-size:.75rem; padding-block:30px; }
 .lx-build-page .lx-footer nav { width:100%; justify-content:space-between; gap:15px; }
 .lx-build-page .lx-back-top { margin-left:0; }
 .lx-build-page .lx-desktop-break { display:none; }
}
@media (prefers-reduced-motion:reduce) {
 .lx-build-page *, .lx-build-page *::before, .lx-build-page *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
 .lx-build-page .lx-option:hover { transform:none; }
 .lx-build-page .lx-process-layout { display:block; }
 .lx-build-page .lx-stage-sticky { display:none; }
 .lx-build-page .lx-stage { min-height:0; display:grid; grid-template-columns:1fr 1.2fr; gap:30px; padding-block:35px; align-items:center; }
 .lx-build-page .lx-stage:last-child { min-height:0; }
 .lx-build-page .lx-mobile-stage { display:block; width:100%; }
}

/* In the absence of JS, expose each static stage alongside its text. */
.lx-build-page:not(.lx-js) .lx-process-layout { display:block; }
.lx-build-page:not(.lx-js) .lx-stage-sticky { display:none; }
.lx-build-page:not(.lx-js) .lx-stage { min-height:0; display:grid; grid-template-columns:1fr 1.2fr; gap:30px; padding-block:35px; align-items:center; }
.lx-build-page:not(.lx-js) .lx-mobile-stage { display:block; width:100%; }
@media(max-width:767px) { .lx-build-page:not(.lx-js) .lx-stage { display:flex; flex-direction:column; align-items:stretch; } }
/* The same live tour is enhanced on phones, tablets and desktop. Static stages
   remain available for reduced motion, explicit simple mode and WebGL failure. */
.lx-build-page .lx-tour-intro, .lx-build-page .lx-active-story { display:none; }
.lx-build-page .lx-process.lx-cinematic { --lx-tour-ink:#dde0ea; --lx-tour-muted:#a8aec0; --lx-tour-line:#ffffff30; padding-top:0; background:var(--lx-ink); }
.lx-build-page .lx-cinematic > .lx-wrap { width:100%; max-width:none; }
.lx-build-page .lx-cinematic .lx-process-heading { display:none; }
.lx-build-page .lx-cinematic .lx-process-layout { display:block; height:900svh; position:relative; }
.lx-build-page .lx-cinematic .lx-stage-sticky { display:block; position:sticky; top:var(--lx-nav-height, 108px); height:calc(100svh - var(--lx-nav-height, 108px)); width:100%; overflow:hidden; isolation:isolate; color:var(--lx-tour-ink); }
.lx-build-page .lx-cinematic .lx-scene-frame { position:absolute; inset:0; height:100%; width:100%; max-height:none; aspect-ratio:auto; z-index:-1; }
.lx-build-page .lx-cinematic .lx-scene-head { position:absolute; top:40px; left:42px; right:42px; border-top:0; border-bottom:1px solid var(--lx-tour-line); padding:0 0 18px; color:var(--lx-tour-ink); }
.lx-build-page .lx-cinematic .lx-scene-head b { color:inherit; }
.lx-build-page .lx-cinematic .lx-scene-axis { left:auto; right:44px; bottom:110px; color:var(--lx-tour-ink); }
.lx-build-page .lx-cinematic .lx-scene-view { right:44px; bottom:86px; color:var(--lx-tour-muted); }
.lx-build-page .lx-cinematic .lx-tour-intro { display:block; position:absolute; top:50%; left:50%; width:80%; text-align:center; transform:translate(-50%,-50%); pointer-events:none; }
.lx-build-page .lx-tour-intro > span { font-size:.75rem; letter-spacing:.16em; }
.lx-build-page .lx-tour-intro > p { font-size:clamp(3rem,7.5vw,7.5rem); line-height:1.02; letter-spacing:-.055em; font-weight:500; color:#fff; margin:28px 0; }
.lx-build-page .lx-tour-intro small { font-size:1rem; color:#adb3c7; }
.lx-build-page .lx-cinematic .lx-scene-caption { position:absolute; left:42px; right:42px; bottom:35px; margin:0; font-size:.75rem; color:var(--lx-tour-ink); }
.lx-build-page .lx-cinematic .lx-stage-progress { position:absolute; left:42px; right:42px; bottom:22px; background:var(--lx-tour-line); }
.lx-build-page .lx-cinematic .lx-stage-nav { position:absolute; left:42px; top:130px; margin:0; flex-direction:column; gap:5px; }
.lx-build-page .lx-cinematic .lx-stage-nav a { min-width:36px; min-height:36px; width:36px; font-size:.75rem; color:var(--lx-tour-muted); border-radius:0; border-left:1px solid var(--lx-tour-line); background:transparent; }
.lx-build-page .lx-cinematic .lx-stage-nav a[aria-current] { color:var(--lx-tour-ink); border-left:2px solid var(--lx-orange); box-shadow:none; }
.lx-build-page .lx-cinematic .lx-active-story { display:block; position:absolute; left:100px; bottom:115px; width:295px; color:var(--lx-tour-ink); padding:15px 0; pointer-events:none; }
.lx-build-page .lx-active-story > span { display:block; color:var(--lx-orange); font-size:.75rem; margin-bottom:12px; }
.lx-build-page .lx-active-story h3 { color:var(--lx-tour-ink); font-size:1.65rem; margin-bottom:12px; letter-spacing:-.025em; }
.lx-build-page .lx-active-story p { color:var(--lx-tour-muted); font-size:.9rem; line-height:1.7; margin:0; }
.lx-build-page .lx-cinematic .lx-scene-note { position:absolute; right:42px; bottom:51px; margin:0; max-width:350px; font-size:.75rem; color:var(--lx-tour-muted); text-align:right; }
.lx-build-page .lx-cinematic .lx-static-toggle { position:absolute; right:42px; top:83px; color:var(--lx-tour-muted); font-size:.75rem; }
.lx-build-page .lx-cinematic .lx-stage-list { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.lx-build-page .lx-cinematic .lx-mobile-stage { display:none; }
.lx-build-page .lx-cinematic .lx-process-outro { padding:45px 50px 0; margin-top:0; }
.lx-build-page .lx-cinematic.is-light { --lx-tour-ink:#040618; --lx-tour-muted:#4e5260; --lx-tour-line:#04061830; }
.lx-build-page .lx-cinematic.is-light .lx-active-story { background:linear-gradient(90deg,#f3f3f3ed,#f3f3f3c9 80%,transparent); padding:18px; margin-left:-18px; border-radius:8px; }
@media (min-width:1600px) { .lx-build-page .lx-cinematic .lx-active-story { width:335px; bottom:145px; } }
@media(prefers-reduced-motion:reduce) {
 .lx-build-page .lx-process.lx-cinematic .lx-process-layout { height:auto; }
}

/* Legible CTA contrast and tour controls. */
.lx-build-page :where(main) .btn-default { color:#fff; }
.lx-build-page .lx-primary, .lx-build-page .btn-highlighted { color:var(--lx-ink); }
.lx-build-page .lx-primary::before { filter:brightness(0); }
.lx-build-page .lx-primary:hover { color:#fff; }
.lx-build-page .lx-primary:hover::before { filter:none; }
.lx-build-page .lx-option p, .lx-build-page .lx-story-copy > p:not(.lx-eyebrow), .lx-build-page .lx-section-heading > p, .lx-build-page .lx-service p, .lx-build-page .lx-start-steps p, .lx-build-page .lx-contact-copy > p:not(.lx-eyebrow) { font-size:1rem; }
.lx-build-page .lx-tour-nav-label, .lx-build-page .lx-tour-skip { display:none; }
.lx-build-page .lx-cinematic .lx-stage-nav a { display:flex; align-items:center; gap:15px; width:180px; padding-left:14px; text-align:left; justify-content:start; }
.lx-build-page .lx-cinematic .lx-tour-nav-label { display:inline; font-size:.875rem; }
.lx-build-page .lx-cinematic .lx-stage-nav a[aria-current] .lx-tour-nav-label { font-weight:600; }
.lx-build-page .lx-cinematic .lx-active-story { width:320px; }
.lx-build-page .lx-active-story p { font-size:1rem; line-height:1.6; }
.lx-build-page .lx-cinematic .lx-tour-skip { display:flex; gap:14px; align-items:center; position:absolute; right:42px; top:82px; min-height:44px; font-size:.8rem; color:var(--lx-tour-ink); }
.lx-build-page .lx-cinematic .lx-static-toggle { top:127px; min-height:44px; }

/* Live 3D on touch screens. A dedicated central viewport leaves room for the
   stage controls and copy; native touch scrolling continues over the canvas. */
.lx-build-page .lx-systems-key { display:none; }
.lx-build-page .lx-cinematic.is-systems .lx-systems-key { display:flex; position:absolute; right:42px; bottom:155px; gap:15px; flex-wrap:wrap; max-width:270px; justify-content:flex-end; color:var(--lx-tour-ink); font-size:.75rem; }
.lx-build-page .lx-systems-key span { display:flex; gap:6px; align-items:center; }
.lx-build-page .lx-systems-key i { display:block; width:7px; height:7px; border-radius:50%; background:var(--pipe-color); }
@media(max-width:1023px) {
 .lx-build-page .lx-process.lx-cinematic { margin-inline:0; border-radius:0; }
 .lx-build-page .lx-cinematic .lx-process-layout { height:1000svh; }
 .lx-build-page .lx-cinematic .lx-scene-head { top:22px; left:20px; right:20px; font-size:.65rem; letter-spacing:.07em; padding-bottom:12px; }
 .lx-build-page .lx-cinematic .lx-tour-skip { right:20px; top:55px; min-height:40px; font-size:.75rem; }
 .lx-build-page .lx-cinematic .lx-static-toggle { left:20px; right:auto; top:55px; min-height:40px; font-size:.75rem; }
 .lx-build-page .lx-cinematic .lx-stage-nav { top:104px; left:16px; right:16px; flex-direction:row; justify-content:space-between; gap:0; overflow-x:auto; scrollbar-width:none; overscroll-behavior-x:contain; }
 .lx-build-page .lx-cinematic .lx-stage-nav::-webkit-scrollbar { display:none; }
 .lx-build-page .lx-cinematic .lx-stage-nav a { width:auto; min-width:40px; min-height:44px; padding:0 8px; justify-content:center; border-left:0; border-bottom:1px solid var(--lx-tour-line); }
 .lx-build-page .lx-cinematic .lx-stage-nav a[aria-current] { border-left:0; border-bottom:2px solid var(--lx-orange); }
 .lx-build-page .lx-cinematic .lx-tour-nav-label { display:none; }
 .lx-build-page .lx-cinematic .lx-scene-frame { inset:145px 0 248px; height:auto; width:100%; }
 .lx-build-page .lx-cinematic .lx-tour-intro { top:42%; width:90%; }
 .lx-build-page .lx-cinematic .lx-tour-intro > p { font-size:clamp(2.4rem,8.5vw,4rem); margin-block:20px; }
 .lx-build-page .lx-cinematic .lx-tour-intro small { font-size:.85rem; }
 .lx-build-page .lx-cinematic .lx-active-story { left:24px; right:24px; bottom:95px; width:auto; padding:0; margin:0; background:none; }
 .lx-build-page .lx-cinematic.is-light .lx-active-story { margin:0; padding:0; background:none; }
 .lx-build-page .lx-cinematic .lx-active-story > span { margin-bottom:6px; }
 .lx-build-page .lx-cinematic .lx-active-story h3 { font-size:1.45rem; margin-bottom:8px; }
 .lx-build-page .lx-cinematic .lx-active-story p { font-size:.875rem; line-height:1.5; max-width:560px; }
 .lx-build-page .lx-cinematic .lx-scene-axis, .lx-build-page .lx-cinematic .lx-scene-view { display:none; }
 .lx-build-page .lx-cinematic .lx-scene-note { right:24px; left:24px; bottom:47px; text-align:left; max-width:none; font-size:.65rem; line-height:1.35; }
 .lx-build-page .lx-cinematic .lx-scene-caption { left:24px; right:24px; bottom:20px; font-size:.65rem; }
 .lx-build-page .lx-cinematic .lx-stage-progress { left:24px; right:24px; bottom:12px; }
 .lx-build-page .lx-cinematic .lx-process-outro { padding:35px 24px 0; }
 .lx-build-page .lx-cinematic.is-systems .lx-systems-key { right:24px; left:24px; bottom:263px; justify-content:center; max-width:none; gap:8px 14px; font-size:.65rem; }
}
@media(max-width:374px) {
 .lx-build-page .lx-cinematic .lx-scene-head { font-size:.58rem; left:16px; right:16px; }
 .lx-build-page .lx-cinematic .lx-active-story h3 { font-size:1.25rem; }
 .lx-build-page .lx-cinematic .lx-active-story p { font-size:.8rem; }
 .lx-build-page .lx-cinematic .lx-scene-frame { bottom:230px; }
 .lx-build-page .lx-cinematic.is-systems .lx-systems-key { bottom:245px; }
}
/* Portrait phones give the animation the remaining screen height. Content
   rows size themselves, so longer stage descriptions never cover the model. */
@media(max-width:767px) and (orientation:portrait) {
 .lx-build-page .lx-cinematic .lx-stage-sticky { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto 40px 44px minmax(0,1fr) auto; gap:6px 0; padding:12px 16px 20px; }
 .lx-build-page .lx-cinematic .lx-scene-head { position:static; grid-column:1 / -1; grid-row:1; padding:0 0 10px; gap:8px; letter-spacing:.03em; }
 .lx-build-page .lx-cinematic .lx-static-toggle { position:static; grid-column:1; grid-row:2; justify-self:start; min-height:40px; }
 .lx-build-page .lx-cinematic .lx-tour-skip { position:static; grid-column:2; grid-row:2; justify-self:end; min-height:40px; gap:8px; }
 .lx-build-page .lx-cinematic .lx-stage-nav { position:static; grid-column:1 / -1; grid-row:3; min-width:0; }
 .lx-build-page .lx-cinematic .lx-scene-frame { position:relative; inset:auto; grid-column:1 / -1; grid-row:4; width:calc(100% + 32px); height:100%; min-height:0; margin-inline:-16px; }
 .lx-build-page .lx-cinematic .lx-active-story { position:static; grid-column:1 / -1; grid-row:5; padding:0 8px; }
 .lx-build-page .lx-cinematic.is-light .lx-active-story { padding:0 8px; }
 .lx-build-page .lx-cinematic .lx-active-story > span, .lx-build-page .lx-cinematic .lx-scene-note, .lx-build-page .lx-cinematic .lx-scene-caption { display:none; }
 .lx-build-page .lx-cinematic .lx-active-story h3 { font-size:1.25rem; margin-bottom:6px; }
 .lx-build-page .lx-cinematic .lx-active-story p { font-size:.8rem; }
 .lx-build-page .lx-cinematic .lx-stage-progress { left:24px; right:24px; bottom:8px; }
 .lx-build-page .lx-cinematic .lx-tour-intro { top:44%; }
 .lx-build-page .lx-cinematic.is-systems .lx-systems-key { position:relative; inset:auto; grid-column:1 / -1; grid-row:4; align-self:end; margin:0 0 8px; z-index:1; pointer-events:none; }
}
@media(max-height:600px) and (orientation:landscape) {
 .lx-build-page .lx-cinematic .lx-scene-head { top:15px; left:20px; right:20px; padding-bottom:10px; font-size:.65rem; }
 .lx-build-page .lx-cinematic .lx-scene-frame { inset:45px 8px 45px 235px; width:auto; height:auto; }
 .lx-build-page .lx-cinematic .lx-stage-nav { top:auto; bottom:20px; left:20px; right:20px; flex-direction:row; }
 .lx-build-page .lx-cinematic .lx-stage-nav a { min-height:44px; }
 .lx-build-page .lx-cinematic .lx-active-story { top:110px; bottom:auto; left:20px; right:auto; width:220px; }
 .lx-build-page .lx-cinematic .lx-active-story h3 { font-size:1.1rem; }
 .lx-build-page .lx-cinematic .lx-active-story p { font-size:.75rem; }
 .lx-build-page .lx-cinematic .lx-tour-skip { top:52px; }
 .lx-build-page .lx-cinematic .lx-static-toggle { top:52px; }
 .lx-build-page .lx-cinematic .lx-scene-caption, .lx-build-page .lx-cinematic .lx-scene-note { display:none; }
 .lx-build-page .lx-cinematic .lx-tour-intro { top:47%; }
 .lx-build-page .lx-cinematic .lx-tour-intro > p { font-size:2.5rem; margin:10px 0; }
 .lx-build-page .lx-cinematic.is-systems .lx-systems-key { bottom:65px; left:260px; right:20px; }
}
