@font-face{font-family:FourLife Sans;src:url(/assets/fonts/inter-latin.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:FourLife Display;src:url(/assets/fonts/montserrat-vf-latin.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}:root{color-scheme:light;--paper-0: #f7f6f2;--paper-1: #efede7;--paper-2: #e1ded6;--paper-3: #cbc7bd;--white: #ffffff;--ink-950: #151613;--ink-900: #1c1d1a;--ink-800: #2a2c27;--ink-700: #3e403a;--ink-600: #595b53;--ink-500: #62655c;--ink-300: #adafa6;--amber-700: #a85124;--amber-600: #ca6a29;--amber-500: #eb9418;--amber-400: #f7b323;--amber-200: #f7ddb0;--amber-100: #fbecd2;--safety-400: #ffd22c;--moss-700: #3f5949;--moss-500: #627b67;--moss-100: #dfe7df;--steel-700: #435f6c;--steel-500: #688692;--steel-100: #dce6e9;--danger-600: #a93f35;--danger-100: #f3dedb;--success-600: #3f704f;--success-100: #dceadd;--text: var(--ink-950);--text-muted: var(--ink-600);--text-inverse: #f6f3eb;--border: rgba(21, 22, 19, .14);--border-strong: rgba(21, 22, 19, .28);--border-inverse: rgba(255, 255, 255, .18);--focus: rgba(80, 123, 145, .42);--gradient-brand: linear-gradient(105deg, #ffd22c 0%, #f5a11d 38%, #dc712f 70%, #d7c49a 100%);--gradient-heat: linear-gradient(100deg, #ffd22c 0%, #f49d1b 42%, #c35d2d 100%);--gradient-dark: linear-gradient(135deg, #151613 0%, #24241f 58%, #34302a 100%);--font-body: "FourLife Sans", Arial, sans-serif;--font-display: "FourLife Display", "FourLife Sans", Arial, sans-serif;--font-mono: "IBM Plex Mono", "JetBrains Mono", ui-monospace, monospace;--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-md: 1.125rem;--fs-lg: 1.375rem;--fs-xl: 1.75rem;--fs-2xl: 2.375rem;--fs-3xl: 3.5rem;--fs-hero: 4.75rem;--lh-tight: 1.04;--lh-heading: 1.12;--lh-body: 1.62;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--radius-xs: 4px;--radius-sm: 7px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(24, 25, 22, .08);--shadow-sm: 0 10px 24px rgba(34, 30, 22, .09);--shadow-md: 0 20px 52px rgba(34, 30, 22, .13);--shadow-lg: 0 34px 90px rgba(19, 19, 16, .2);--shadow-brand: 0 15px 38px rgba(202, 106, 41, .28);--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-smooth: cubic-bezier(.65, 0, .35, 1);--dur-fast: .15s;--dur-base: .26s;--dur-slow: .62s;--container: 1240px;--container-wide: 1500px;--header-height: 76px}@media(max-width:1023px){:root{--fs-3xl: 2.875rem;--fs-hero: 3.75rem;--header-height: 68px}}@media(max-width:639px){:root{--fs-xl: 1.5rem;--fs-2xl: 2rem;--fs-3xl: 2.5rem;--fs-hero: 3rem;--header-height: 64px}}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper-0)}body{margin:0;min-width:320px;color:var(--text);background:var(--paper-0);font-family:var(--font-body);font-size:var(--fs-base);line-height:var(--lh-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body.menu-open,body.dialog-open{overflow:hidden}img,svg,video,canvas{display:block;max-width:100%}button,input,textarea,select{color:inherit;font:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}button{border:0}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p,figure,dl,dd{margin:0}h1,h2,h3,h4{font-family:var(--font-display);line-height:var(--lh-heading);letter-spacing:0}ul,ol{margin:0;padding:0}button,[role=button]{cursor:pointer}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}::selection{color:var(--ink-950);background:var(--amber-200)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:1000;top:10px;left:10px;padding:10px 14px;border-radius:var(--radius-sm);color:var(--text-inverse);background:var(--ink-950);transform:translateY(-160%);transition:transform var(--dur-fast) var(--ease-out)}.skip-link:focus{transform:translateY(0)}.container,.container-wide{width:min(100% - 48px,var(--container));margin-inline:auto}.container-wide{width:min(100% - 48px,var(--container-wide))}.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--amber-700);font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:700;line-height:1.2;text-transform:uppercase}.eyebrow:before{width:26px;height:2px;border-radius:var(--radius-pill);background:currentColor;content:""}.eyebrow.inverse{color:var(--amber-400)}.button{position:relative;display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:10px;padding:0 18px;overflow:hidden;border:1px solid transparent;border-radius:var(--radius-sm);font-size:var(--fs-sm);font-weight:750;line-height:1;transition:color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}.button svg{width:18px;height:18px;stroke-width:1.8;transition:transform var(--dur-base) var(--ease-out)}.button:hover{transform:translateY(-2px)}.button:hover svg[data-lucide=arrow-right],.button:hover svg[data-lucide=arrow-up-right]{transform:translate(2px,-1px)}.button:active{transform:scale(.98)}.button-primary{color:var(--ink-950);background:var(--amber-400);box-shadow:var(--shadow-brand)}.button-primary:hover{background:var(--amber-500)}.button-dark{color:var(--text-inverse);background:var(--ink-950);box-shadow:var(--shadow-sm)}.button-dark:hover{background:var(--ink-800)}.button-light{color:var(--ink-950);background:#ffffffe6;border-color:#ffffffa6;box-shadow:var(--shadow-sm)}.button-outline{color:var(--text);background:transparent;border-color:var(--border-strong)}.button-outline:hover{background:#ffffffb8;border-color:var(--ink-500)}.button-quiet{color:var(--ink-700);background:var(--paper-1);border-color:var(--border)}.button-quiet:hover{background:var(--paper-2)}.button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.42;transform:none;box-shadow:none}.icon-button{display:inline-grid;width:42px;height:42px;flex:0 0 42px;place-items:center;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink-700);background:#ffffffb8;transition:background var(--dur-fast) ease,color var(--dur-fast) ease,border-color var(--dur-fast) ease,transform var(--dur-fast) ease}.icon-button:hover{color:var(--ink-950);background:var(--white);border-color:var(--border-strong);transform:translateY(-1px)}.icon-button svg{width:19px;height:19px;stroke-width:1.8}.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:1.2rem;font-weight:800;line-height:1}.brand-mark{position:relative;display:block;width:50px;height:36px;flex:0 0 50px}.brand-mark:before,.brand-mark:after{position:absolute;inset:0;background-position:center;background-repeat:no-repeat;background-size:contain;content:"";transition:opacity var(--dur-base) ease}.brand-mark:before{background-image:url(/assets/brand/logo-fourlife.svg);opacity:1}.brand-mark:after{background-image:url(/assets/brand/logo-fourlife-light.svg);opacity:0}.brand span span{color:var(--amber-600)}.section-title{max-width:850px;margin-top:18px;font-size:var(--fs-3xl);font-weight:780}.section-lead{max-width:640px;margin-top:20px;color:var(--text-muted);font-size:var(--fs-md)}.gradient-ink{--gradient-ink-image: var(--gradient-brand);position:relative;display:inline-block;color:inherit;-webkit-text-fill-color:currentColor}.gradient-ink:after{position:absolute;inset:0;pointer-events:none;color:transparent;background-image:var(--gradient-ink-image);background-repeat:no-repeat;background-position:left center;background-size:100% 100%;-webkit-background-clip:text;background-clip:text;content:attr(data-text);clip-path:inset(0 100% 0 0);-webkit-text-fill-color:transparent}.gradient-ink.is-lit:after{animation:text-material-reveal 1.35s var(--ease-out) forwards}@keyframes text-material-reveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.reveal{opacity:1;transform:none}.motion-enabled .reveal{opacity:0;transform:translateY(22px);transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out);transition-delay:var(--reveal-delay, 0ms)}.motion-enabled .reveal.from-left{transform:translate(-24px)}.motion-enabled .reveal.from-right{transform:translate(24px)}.motion-enabled .reveal.is-visible{opacity:1;transform:translate(0)}.material-surface{position:relative;isolation:isolate}.material-surface:before{position:absolute;z-index:-1;inset:0;pointer-events:none;background-image:url(/assets/img/responsive/optimized-texture-mineral-v1.webp);background-position:center;background-size:680px auto;content:"";mix-blend-mode:multiply;opacity:.16}body.experience-loading{height:100%;overflow:hidden;overscroll-behavior:none;touch-action:none}html.site-intro-pending,html.config-intro-pending{height:100%;overflow:hidden;overscroll-behavior:none;background:#10110f}html.config-intro-pending{background:#f4f3ee}html.site-intro-pending body:before,html.config-intro-pending body:before,html.site-intro-pending body:after,html.config-intro-pending body:after{position:fixed;visibility:visible;pointer-events:none}html.site-intro-pending body:before,html.config-intro-pending body:before{z-index:3998;inset:0;content:""}html.site-intro-pending body:before{background:#10110f}html.config-intro-pending body:before{background:linear-gradient(#f4f3eed6,#f4f3eed6),url(/assets/img/responsive/optimized-texture-stone-v1.webp) center / 720px auto,#f4f3ee}html.site-intro-pending body:after,html.config-intro-pending body:after{z-index:3999;top:50%;left:50%;width:112px;height:80px;background:url(/assets/brand/logo-fourlife.svg) center / contain no-repeat;content:"";transform:translate(-50%,-50%)}html.site-intro-pending body:after{background-image:url(/assets/brand/logo-fourlife-light.svg);filter:grayscale(1);opacity:.5}html.site-intro-pending body,html.config-intro-pending body{height:100%;overflow:hidden;overscroll-behavior:none;touch-action:none;visibility:hidden}html.site-intro-pending .experience-intro,html.config-intro-pending .experience-intro{visibility:visible}.experience-intro{position:fixed;z-index:4000;inset:0;display:grid;place-items:center;overflow:hidden;opacity:0;visibility:visible;transition:opacity .26s ease}.experience-intro.is-visible{opacity:1}.experience-intro--site{color:var(--white);background:#10110f;transition:opacity .18s ease}.experience-intro--configurator{color:var(--ink-950);background:var(--paper-0);isolation:isolate}.experience-intro--configurator.is-leaving{pointer-events:none;opacity:0}.experience-intro-texture{position:absolute;inset:0;pointer-events:none;background-position:center;background-size:760px auto}.experience-intro--site .experience-intro-texture{display:none}.experience-intro--configurator .experience-intro-texture{background-image:url(/assets/img/responsive/optimized-texture-stone-v1.webp);mix-blend-mode:multiply;opacity:.18}.experience-intro-workspace{position:absolute;z-index:0;display:grid;width:min(92vw,1120px);height:min(68vh,610px);grid-template-columns:minmax(150px,.72fr) minmax(320px,1.56fr) minmax(180px,.86fr);overflow:hidden;border:1px solid rgba(18,19,17,.14);border-radius:var(--radius-md);background:#ffffff7a;box-shadow:0 34px 80px #1414111c;opacity:0;transform:translateY(12px) scale(.985);animation:intro-workspace-arrive .76s .12s var(--ease-out) forwards;transition:opacity .42s ease,transform .68s var(--ease-out)}.experience-intro-workspace span{position:relative;border-right:1px solid rgba(18,19,17,.1)}.experience-intro-workspace span:first-child{background:linear-gradient(#f0efe9db,#f0efe9db),url(/assets/img/responsive/optimized-texture-concrete-v1.webp) center / 620px auto}.experience-intro-workspace span:nth-child(2){background:#ffffffa3}.experience-intro-workspace span:last-child{border-right:0;background:linear-gradient(#f4f3eed1,#f4f3eed1),url(/assets/img/responsive/optimized-texture-stone-v1.webp) center / 660px auto}.experience-intro-workspace span:before,.experience-intro-workspace span:after{position:absolute;right:18px;left:18px;height:1px;background:#12131117;content:""}.experience-intro-workspace span:before{top:64px}.experience-intro-workspace span:after{bottom:74px}.experience-intro--configurator.is-leaving .experience-intro-workspace{opacity:0;transform:translateY(-8px) scale(1.018)}.experience-intro-content{position:relative;z-index:1;display:grid;width:min(82vw,360px);justify-items:center;text-align:center;transition:opacity .36s ease,transform .62s var(--ease-out)}.experience-intro--site .experience-intro-content{width:160px}.experience-intro--site.is-leaving{pointer-events:none;opacity:0}.experience-intro-content--mark{transition:none}.experience-intro-content--mark .experience-intro-mark{position:relative;width:112px;height:80px;animation:none}.intro-mark-base{filter:grayscale(1);opacity:.5}.experience-intro-mark .intro-mark-color{position:absolute;inset:0;clip-path:inset(100% 0 0);animation:intro-brand-fill .65s cubic-bezier(.2,.6,.2,1) forwards}@keyframes intro-brand-fill{to{clip-path:inset(0)}}.experience-intro-content--mark .experience-intro-track{width:92px;height:1px;margin-top:26px;color:#ffffff70}.experience-intro-curtains{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr}.experience-intro-curtain{position:relative;overflow:hidden;background-color:var(--ink-950);background-position:center;background-size:auto,720px auto;transition:transform .56s cubic-bezier(.76,0,.24,1)}.experience-intro-curtain.is-left{border-right:1px solid rgba(247,179,35,.56);background-image:linear-gradient(#0e0f0db3,#0e0f0db3),url(/assets/img/responsive/optimized-texture-asphalt-v1.webp);transform-origin:left}.experience-intro-curtain.is-right{border-left:1px solid rgba(247,179,35,.56);background-image:linear-gradient(#0e0f0dbd,#0e0f0dbd),url(/assets/img/responsive/optimized-texture-concrete-v1.webp);transform-origin:right}.experience-intro-curtain:after{position:absolute;top:0;bottom:0;width:84px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.025),transparent);content:""}.experience-intro-curtain.is-left:after{right:8%}.experience-intro-curtain.is-right:after{left:8%}.experience-intro--site.is-leaving .experience-intro-curtain.is-left{transform:translate(-101%)}.experience-intro--site.is-leaving .experience-intro-curtain.is-right{transform:translate(101%)}.experience-intro-kicker{margin-bottom:22px;color:#ffffff8a;font-family:var(--font-mono);font-size:.65rem;font-weight:700;text-transform:uppercase;opacity:0;transform:translateY(8px);animation:intro-copy-arrive .52s .16s var(--ease-out) forwards}.experience-intro-mark{display:grid;width:66px;height:66px;place-items:center;animation:intro-mark-arrive .72s var(--ease-out) both}.experience-intro-mark img{width:100%;height:100%;object-fit:contain}.experience-intro-name{margin-top:15px;font-family:var(--font-display);font-size:1.62rem;font-weight:790}.experience-intro-manifest{display:grid;width:100%;margin-top:22px;grid-template-columns:1fr 42px 1fr;align-items:center;color:#ffffffc2;font-family:var(--font-display);font-size:.88rem;font-weight:680;opacity:0;animation:intro-copy-arrive .56s .34s var(--ease-out) forwards}.experience-intro-manifest span:first-child{text-align:right}.experience-intro-manifest span:last-child{text-align:left}.experience-intro-manifest i{position:relative;height:1px;margin-inline:10px;background:var(--amber-500)}.experience-intro-manifest i:after{position:absolute;top:50%;right:-1px;width:5px;height:5px;border-top:1px solid var(--amber-500);border-right:1px solid var(--amber-500);content:"";transform:translateY(-50%) rotate(45deg)}.experience-intro--site [data-intro-status]{margin-top:12px;color:#ffffff61;font-family:var(--font-mono);font-size:.62rem;text-transform:uppercase}.experience-intro-name span{color:var(--amber-500)}.experience-intro-content>strong{margin-top:24px;font-size:var(--fs-md)}.experience-intro-track{position:relative;width:100%;height:2px;margin-top:30px;overflow:hidden;background:currentColor;opacity:.22}.experience-intro-track span{position:absolute;inset:0 auto 0 0;width:42%;background:var(--amber-500);animation:intro-track .94s var(--ease-smooth) infinite}.experience-intro-content>small{margin-top:14px;color:currentColor;font-size:var(--fs-xs);opacity:.62}.experience-intro-materials{display:flex;margin-top:24px;gap:8px}.experience-intro-materials img{width:46px;height:46px;border:1px solid rgba(18,19,17,.14);border-radius:var(--radius-xs);object-fit:cover;box-shadow:var(--shadow-xs);opacity:0;transform:translateY(8px);animation:intro-swatch-arrive .42s var(--ease-out) forwards}.experience-intro-materials img:nth-child(1){animation-delay:.26s}.experience-intro-materials img:nth-child(2){animation-delay:.36s}.experience-intro-materials img:nth-child(3){animation-delay:.46s}.experience-intro--configurator .experience-intro-track{margin-top:24px}.experience-intro--site .experience-intro-track{width:min(46vw,190px);margin-top:24px}@keyframes intro-workspace-arrive{to{opacity:1;transform:translateY(0) scale(1)}}@keyframes intro-swatch-arrive{to{opacity:1;transform:translateY(0)}}@keyframes intro-mark-arrive{0%{opacity:0;transform:translateY(10px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes intro-copy-arrive{to{opacity:1;transform:translateY(0)}}@keyframes intro-track{0%{transform:translate(-112%)}to{transform:translate(340%)}}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--success-600);box-shadow:0 0 0 5px #3f704f21}.field{display:grid;gap:8px;color:var(--ink-700);font-size:var(--fs-sm);font-weight:650}.field input,.field textarea,.field select{width:100%;min-height:46px;padding:11px 13px;border:1px solid var(--border);border-radius:var(--radius-sm);outline:0;color:var(--ink-950);background:#ffffffd1;transition:border-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.field textarea{min-height:112px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--steel-500);box-shadow:0 0 0 4px var(--focus)}.field small{color:var(--ink-500);font-weight:500}.check-field{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;color:var(--ink-600);font-size:var(--fs-sm)}.check-field input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--amber-600)}.notice{display:flex;align-items:flex-start;gap:10px;padding:13px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink-600);background:var(--paper-1);font-size:var(--fs-sm);line-height:1.5}.notice svg{width:18px;height:18px;flex:0 0 auto;margin-top:1px}@media(max-width:767px){.container,.container-wide{width:min(100% - 32px,var(--container))}.button{min-height:44px}.experience-intro-workspace{width:calc(100vw - 28px);height:min(72vh,560px);grid-template-columns:.64fr 1.36fr}.experience-intro-workspace span:first-child{display:none}.experience-intro--site .experience-intro-content{width:min(88vw,410px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}.reveal{opacity:1;transform:none}}.site-header{position:fixed;z-index:100;top:0;right:0;left:0;height:var(--header-height);color:var(--text-inverse);transition:color var(--dur-base) ease,background var(--dur-base) ease,border-color var(--dur-base) ease,box-shadow var(--dur-base) ease}.site-header:after{position:absolute;right:0;bottom:0;left:0;height:1px;background:#ffffff2e;content:""}.site-header.is-scrolled,.site-header.header-solid,body.menu-open .site-header{color:var(--text);background:#f7f6f2eb;border-color:var(--border);box-shadow:0 8px 30px #14141114;backdrop-filter:blur(18px)}.site-header.is-scrolled:after,.site-header.header-solid:after,body.menu-open .site-header:after{background:var(--border)}.header-inner{display:grid;width:min(100% - 40px,var(--container-wide));height:100%;margin-inline:auto;grid-template-columns:auto 1fr auto;align-items:center;gap:30px}.site-header:not(.is-scrolled):not(.header-solid) .brand-mark:before{opacity:0}.site-header:not(.is-scrolled):not(.header-solid) .brand-mark:after{opacity:1}body.menu-open .site-header:not(.is-scrolled):not(.header-solid) .brand-mark:before,body.menu-open .site-header .brand-mark:before{opacity:1}body.menu-open .site-header:not(.is-scrolled):not(.header-solid) .brand-mark:after,body.menu-open .site-header .brand-mark:after{opacity:0}.site-header:not(.is-scrolled):not(.header-solid) .brand span span{color:var(--amber-400)}.site-nav{display:flex;align-items:center;justify-content:center;gap:26px}.site-nav>a,.site-services>a{position:relative;padding:8px 0;font-size:.82rem;font-weight:680}.site-nav>a:after,.site-services>a:after{position:absolute;right:0;bottom:2px;left:0;height:2px;border-radius:var(--radius-pill);background:var(--amber-400);content:"";transform:scaleX(0);transform-origin:right;transition:transform var(--dur-base) var(--ease-out)}.site-nav>a:hover:after,.site-nav>a[aria-current=page]:after,.site-services>a:hover:after,.site-services>a[aria-current=page]:after,.site-services>a.is-current-section:after{transform:scaleX(1);transform-origin:left}.header-actions{display:flex;align-items:center;gap:9px}.header-actions .button{min-height:40px;padding-inline:14px}.header-imagine{color:var(--ink-950);background:var(--amber-400);border-color:transparent;box-shadow:var(--shadow-brand)}.site-header.is-scrolled .header-imagine,.site-header.header-solid .header-imagine{border-color:transparent;background:var(--amber-400)}.header-quote{color:inherit;border-color:#ffffff6b;background:#00000024;backdrop-filter:blur(10px)}.site-header.is-scrolled .header-quote,.site-header.header-solid .header-quote{color:var(--ink-900);border-color:var(--border-strong);background:#ffffff8a}.language-switch,.language-switcher{display:inline-flex;height:40px;align-items:center;gap:2px;padding:3px;border:1px solid rgba(255,255,255,.28);border-radius:var(--radius-sm);color:inherit;background:#00000014;font-size:var(--fs-xs);font-weight:750}.language-switch svg{width:14px;height:14px}.language-switcher a{display:grid;min-width:30px;height:32px;padding-inline:5px;place-items:center;border-radius:4px;color:inherit;font-size:.68rem;font-weight:780;opacity:.62}.language-switcher a:hover,.language-switcher a:focus-visible,.language-switcher a[aria-current=page]{background:#ffffff29;opacity:1}.site-header.is-scrolled .language-switcher,.site-header.header-solid .language-switcher{border-color:var(--border);background:#ffffff94}.site-header.is-scrolled .language-switcher a:hover,.site-header.is-scrolled .language-switcher a:focus-visible,.site-header.is-scrolled .language-switcher a[aria-current=page],.site-header.header-solid .language-switcher a:hover,.site-header.header-solid .language-switcher a:focus-visible,.site-header.header-solid .language-switcher a[aria-current=page]{color:var(--paper-0);background:var(--ink-950)}.menu-toggle{display:none;color:inherit;background:#ffffff14;border-color:#ffffff3d}.site-header.is-scrolled .menu-toggle,.site-header.header-solid .menu-toggle{background:#ffffffb8;border-color:var(--border)}.mobile-nav{position:fixed;z-index:99;inset:var(--header-height) 0 0;display:none;max-height:calc(100dvh - var(--header-height));padding:24px max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));color:var(--text);background:var(--paper-0);overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:16px}.mobile-nav.is-open{display:grid;align-content:start;gap:8px}body.menu-open .mobile-nav{z-index:9100}body.menu-open .site-header{z-index:9101}.mobile-language-switch{display:grid;min-height:54px;margin-top:8px;padding:0 12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink-700);background:var(--paper-1);text-align:left}.mobile-language-switch>span{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-sm)}.mobile-language-switch strong{font-size:var(--fs-xs)}.mobile-language-switch svg{width:16px;height:16px}.mobile-language-switch .language-switcher{border-color:var(--border);color:var(--ink-900);background:var(--paper-0)}.mobile-language-switch .language-switcher a:hover,.mobile-language-switch .language-switcher a:focus-visible,.mobile-language-switch .language-switcher a[aria-current=page]{color:var(--paper-0);background:var(--ink-950)}.mobile-nav .mobile-actions{display:grid;gap:10px;margin-top:22px}.scroll-progress{position:fixed;z-index:110;top:0;left:0;width:100%;height:3px;pointer-events:none;transform:scaleX(0);transform-origin:left;background:var(--gradient-heat)}.journey-dock{position:fixed;z-index:92;top:calc(var(--header-height) + 12px);left:max(16px,calc((100vw - var(--container-wide)) / 2));width:max-content;max-width:min(560px,calc(100% - 32px));pointer-events:none;opacity:0;transform:translateY(-8px);transition:opacity .18s ease,transform .24s var(--ease-out)}.journey-dock.is-visible{pointer-events:auto;opacity:1;transform:translateY(0)}.journey-dock-bar{display:flex;width:fit-content;max-width:100%;min-height:44px;align-items:stretch;overflow:hidden;border:1px solid rgba(25,26,23,.16);border-radius:var(--radius-xs);background:#f9f8f4f0;box-shadow:0 10px 28px #1414111a;backdrop-filter:blur(16px)}.journey-trail{min-width:0;padding:0 13px}.journey-trail ol,.journey-trail li{display:flex;min-width:0;align-items:center}.journey-trail ol{min-height:44px;padding-block:4px;flex-wrap:wrap;gap:7px}.journey-trail li{flex:0 1 auto;gap:7px;color:var(--ink-600);font-size:.72rem;overflow-wrap:anywhere}.journey-trail li:last-child{min-width:48px;color:var(--ink-900);font-weight:720}.journey-trail a{display:inline-flex;min-height:32px;align-items:center}.breadcrumb{flex-wrap:wrap;overflow-wrap:anywhere}.breadcrumb a{display:inline-flex;min-height:28px;align-items:center}.journey-trail a:hover{color:var(--amber-700)}.journey-trail svg{width:12px;height:12px;flex:0 0 auto;color:var(--ink-500)}.navigation-groups{display:grid;gap:24px;width:min(100%,var(--container-wide));margin-inline:auto}.navigation-group{min-width:0}.navigation-group h2{margin-bottom:8px;color:var(--ink-600);font-family:var(--font-mono);font-size:.72rem;font-weight:700;line-height:1.5;text-transform:uppercase}.navigation-group ul{list-style:none}.navigation-group a{display:flex;min-width:0;min-height:48px;gap:12px;align-items:center;padding:10px 4px;border-bottom:1px solid var(--border);color:var(--ink-900);font-size:.9rem;font-weight:650;line-height:1.4}.navigation-group a span{min-width:0;flex:1;overflow-wrap:anywhere}.navigation-group a svg{width:16px;height:16px;flex:0 0 16px;color:var(--ink-600)}.navigation-group a:hover,.navigation-group a[aria-current=page]{color:var(--ink-950);background:var(--amber-100)}.navigation-group a[aria-current=page]{border-left:3px solid var(--amber-700);padding-left:9px}.navigation-group a[aria-current=page] span{text-decoration:underline;text-underline-offset:4px}.navigation-group a:focus-visible,.journey-trail a:focus-visible{outline-offset:-3px}.site-services{position:relative;display:flex;align-items:center;gap:2px}.services-toggle{display:grid;width:32px;height:40px;flex:0 0 32px;place-items:center;border-radius:var(--radius-xs);color:inherit;background:transparent}.services-toggle svg{width:16px;height:16px}.services-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.services-toggle:hover,.services-toggle[aria-expanded=true]{background:#80808024}.services-panel{position:absolute;top:calc(100% + 14px);left:0;display:grid;width:min(640px,calc(100vw - 48px));max-height:calc(100dvh - var(--header-height) - 24px);grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:22px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--paper-0);box-shadow:var(--shadow-lg)}@media(min-width:600px)and (max-width:1180px){.navigation-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.mobile-nav .mobile-actions{width:min(100%,640px);grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-language-switch{width:min(100%,640px)}}@media(max-width:599px){.navigation-pages ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}.navigation-pages li{display:flex}.navigation-pages a{flex:1}}body.menu-open .journey-dock,body.experience-loading .journey-dock{pointer-events:none;opacity:0}.site-footer{position:relative;padding:78px 0 34px;overflow:hidden;color:var(--text-inverse);background:var(--ink-950);isolation:isolate}.site-footer:before{position:absolute;z-index:-1;inset:0;background:url(/assets/img/responsive/optimized-texture-asphalt-v1.webp) center / 680px auto;content:"";mix-blend-mode:soft-light;opacity:.13}.site-footer:after{position:absolute;z-index:-1;top:0;right:0;width:min(36vw,560px);height:2px;background:var(--amber-500);content:"";opacity:.72}.footer-grid{position:relative;display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:72px}.footer-brand .brand-mark{width:61px;height:44px;flex-basis:61px}.footer-brand .brand-mark:before{opacity:0}.footer-brand .brand-mark:after{opacity:1}.footer-brand>p{max-width:380px;margin-top:18px;color:#ffffffad}.footer-column{display:grid;align-content:start;gap:10px}.footer-column strong{margin-bottom:10px;color:var(--amber-400);font-family:var(--font-mono);font-size:var(--fs-xs);text-transform:uppercase}.footer-column a,.footer-column span{color:#ffffffb8;font-size:var(--fs-sm)}.footer-column a:hover{color:var(--white);text-decoration:underline;text-underline-offset:4px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:64px;padding-top:22px;border-top:1px solid var(--border-inverse);color:#ffffff7a;font-size:var(--fs-xs)}.footer-bottom nav{display:flex;gap:18px}.footer-private-access{color:#ffffff5c}.footer-private-access:hover,.footer-private-access:focus-visible{color:#ffffffc2}.page-main{min-height:70vh}@media(max-width:1180px){.site-nav,.header-actions .header-quote,.header-actions .language-switch,.header-actions .language-switcher{display:none}.header-inner{grid-template-columns:auto 1fr auto}.menu-toggle{display:inline-grid}}@media(max-width:820px){.journey-dock{display:none}}@media(max-width:767px){.header-inner{width:min(100% - 24px,var(--container));gap:10px}.header-actions .header-imagine{min-height:38px;padding-inline:11px;font-size:.76rem}.header-actions .header-imagine svg{display:none}.footer-grid{grid-template-columns:1fr;gap:38px}.footer-bottom{align-items:flex-start;flex-direction:column}}@media(max-width:430px){.header-imagine-long{display:none}.header-actions .header-imagine{padding-inline:13px}}@media(max-width:350px){.site-header .brand>span:not(.brand-mark){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}}.configurator-body{min-height:100vh;overflow-x:hidden;background:var(--paper-1)}.configurator-body:before{position:fixed;z-index:-1;inset:0;background-image:url(/assets/img/responsive/optimized-texture-concrete-v1.webp);background-position:center;background-size:720px;content:"";opacity:.025;pointer-events:none}.svg-definitions{position:absolute;width:0;height:0;overflow:hidden}.configurator-main{min-height:100vh;padding-top:var(--header-height)}.config-app-header{position:fixed;z-index:100;top:0;right:0;left:0;height:var(--header-height);border-bottom:1px solid var(--border);background:#f7f6f2f0;box-shadow:0 8px 28px #1414110f;backdrop-filter:blur(18px)}.config-app-header-inner{display:grid;width:min(100% - 28px,var(--container-wide));height:100%;margin-inline:auto;grid-template-columns:minmax(210px,1fr) auto minmax(210px,1fr);align-items:center;gap:24px}.app-home,.app-actions,.app-project{display:flex;align-items:center}.app-home{width:fit-content;gap:10px}.app-home>svg{width:18px;height:18px;color:var(--ink-600);transition:transform var(--dur-fast) ease}.app-home:hover>svg{transform:translate(-3px)}.app-project{align-items:center;flex-direction:column;line-height:1.2}.app-project span{color:var(--amber-700);font-family:var(--font-mono);font-size:.62rem;font-weight:750;text-transform:uppercase}.app-project strong{max-width:360px;margin-top:4px;overflow:hidden;font-family:var(--font-display);font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.app-actions{justify-content:flex-end;gap:10px}.app-actions .estimate-button{min-height:42px}.config-language-menu{position:relative;flex:0 0 auto}.config-language-menu summary{display:flex;min-width:58px;min-height:42px;padding:0 10px;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink-700);background:#ffffffb8;font-size:.68rem;font-weight:780;list-style:none;cursor:pointer;transition:border-color var(--dur-fast) ease,background var(--dur-fast) ease}.config-language-menu summary::-webkit-details-marker{display:none}.config-language-menu summary:hover,.config-language-menu summary:focus-visible,.config-language-menu[open] summary{border-color:var(--border-strong);background:var(--white)}.config-language-menu summary svg{width:14px;height:14px;transition:transform var(--dur-fast) ease}.config-language-menu[open] summary svg{transform:rotate(180deg)}.config-language-menu nav{position:absolute;z-index:180;top:calc(100% + 7px);right:0;display:grid;width:72px;padding:4px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);box-shadow:var(--shadow-md)}.config-language-menu a{display:grid;min-height:36px;place-items:center;border-radius:3px;color:var(--ink-600);font-size:.68rem;font-weight:760}.config-language-menu a:hover,.config-language-menu a:focus-visible{color:var(--ink-950);background:var(--paper-1)}.config-language-menu a[aria-current=page]{color:var(--white);background:var(--ink-900)}.tool-bar{position:sticky;z-index:45;top:var(--header-height);display:flex;min-height:70px;align-items:center;justify-content:space-between;gap:24px;padding:10px max(18px,calc((100vw - var(--container-wide)) / 2));border-bottom:1px solid var(--border);background:#f7f6f2f0;box-shadow:0 8px 24px #1c1d1a0a;backdrop-filter:blur(18px)}.tool-bar-copy,.tool-bar-status,.tool-bar-copy>div{display:flex;align-items:center}.tool-bar-copy{gap:12px}.tool-bar-copy>div{align-items:flex-start;flex-direction:column;line-height:1.2}.tool-back{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff94}.tool-back:hover{border-color:var(--border-strong);background:var(--white)}.tool-back svg{width:17px;height:17px}.tool-kicker,.canvas-kicker,.rail-heading>span,.catalog-heading span,.estimate-head span,.estimate-context span,.version-heading span,.category-detail-heading>span{color:var(--ink-500);font-family:var(--font-mono);font-size:.66rem;font-weight:720;line-height:1.2;text-transform:uppercase}.tool-bar-copy strong{margin-top:3px;font-family:var(--font-display);font-size:.94rem}.tool-bar-status{gap:14px}.estimate-button{color:var(--ink-950);background:var(--amber-400);border-color:var(--amber-400);box-shadow:var(--shadow-brand)}.estimate-button:hover{background:var(--amber-500)}.workspace-shell{--workspace-gap: 14px;display:grid;min-height:calc(100vh - var(--header-height));padding:var(--workspace-gap);grid-template-columns:220px minmax(440px,1fr) 330px;grid-template-areas:"rail canvas catalog";gap:var(--workspace-gap);transition:grid-template-columns var(--dur-slow) var(--ease-out)}.workspace-shell.has-image{grid-template-columns:220px minmax(440px,1fr) 330px}.workspace-shell.rail-collapsed{grid-template-columns:68px minmax(440px,1fr) 330px}.project-rail,.canvas-column,.catalog-panel{min-width:0;border:1px solid var(--border);border-radius:var(--radius-md);background:#f7f6f2f2;box-shadow:var(--shadow-xs)}.project-rail{grid-area:rail}.canvas-column{grid-area:canvas}.catalog-panel{grid-area:catalog}@media(min-width:821px){.workspace-shell.catalog-expanded{grid-template-columns:220px minmax(0,1fr);grid-template-areas:"rail stage"}.workspace-shell.rail-collapsed.catalog-expanded{grid-template-columns:68px minmax(0,1fr)}.workspace-shell.catalog-expanded .canvas-column{z-index:1;grid-area:stage;opacity:0;pointer-events:none;transform:translate(-54px);visibility:hidden;transition:opacity .32s ease,transform .48s var(--ease-out),visibility 0s linear .44s}.workspace-shell.catalog-expanded .catalog-panel{position:relative;z-index:2;inset:auto;grid-area:stage;max-height:calc(100vh - var(--header-height) - 28px);box-shadow:var(--shadow-md)}}.project-rail{position:relative;display:flex;min-height:0;flex-direction:column;padding:14px;overflow:hidden auto}.rail-heading{display:flex;min-height:42px;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border)}.rail-heading .icon-button{width:32px;height:32px;flex-basis:32px;background:transparent}.rail-collapsed .project-rail{align-items:center;padding-inline:9px}.rail-collapsed .rail-heading>span,.rail-collapsed .source-thumb,.rail-collapsed .rail-section,.rail-collapsed .rail-progress p{display:none}.rail-collapsed .rail-heading{border:0}.rail-collapsed .rail-collapse svg{transform:rotate(180deg)}.rail-collapsed .rail-progress{margin-top:12px}.rail-collapsed .rail-progress>div{grid-template-columns:32px}.source-thumb{position:relative;margin-top:14px;overflow:hidden;border-radius:var(--radius-sm);background:var(--ink-900);aspect-ratio:4 / 3}.source-thumb img{width:100%;height:100%;object-fit:cover}.source-thumb.is-empty{background:linear-gradient(rgba(21,22,19,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(21,22,19,.045) 1px,transparent 1px),var(--paper-1);background-size:18px 18px}.source-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:7px;color:var(--ink-600);background:transparent;font-size:.68rem;font-weight:720;flex-direction:column}.source-empty svg{width:21px;height:21px;color:var(--amber-700)}.source-thumb:after{position:absolute;inset:42% 0 0;background:linear-gradient(transparent,#11120fc2);content:""}.source-thumb figcaption{position:absolute;z-index:1;right:9px;bottom:8px;left:9px;display:flex;align-items:center;justify-content:space-between;color:var(--white);font-size:.68rem}.source-thumb figcaption span{font-weight:750}.source-thumb figcaption button{padding:2px;color:#ffffffd1;background:transparent;text-decoration:underline;text-underline-offset:3px}.rail-section{margin-top:22px}.project-contact{width:100%;margin-top:14px;padding-inline:8px;gap:8px;font-size:.75rem;white-space:normal}.rail-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--ink-600);font-size:var(--fs-xs);font-weight:750}.rail-section-title small{display:grid;width:22px;height:22px;place-items:center;border-radius:var(--radius-xs);color:var(--ink-700);background:var(--paper-2)}.selected-list{display:grid;gap:7px;margin-top:10px}.empty-selection{padding:11px;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);color:var(--ink-500);font-size:.72rem}.selected-item{display:grid;min-width:0;grid-template-columns:40px minmax(0,1fr) 28px;align-items:center;gap:8px;padding:6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white)}.selected-item img{width:40px;height:40px;border-radius:var(--radius-xs);object-fit:cover}.selected-item span{min-width:0;line-height:1.2}.selected-item strong,.selected-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-item strong{font-size:.72rem}.selected-item small{margin-top:3px;color:var(--ink-500);font-family:var(--font-mono);font-size:.58rem}.selected-item button{display:grid;width:28px;height:28px;place-items:center;border-radius:var(--radius-xs);background:transparent}.selected-item button:hover{color:var(--danger-600);background:var(--danger-100)}.selected-item button svg{width:14px;height:14px}.rail-progress{display:grid;gap:5px;margin-top:auto;padding-top:26px}.rail-progress>div{position:relative;display:grid;min-height:48px;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:9px;color:var(--ink-400, var(--ink-500))}.rail-progress>div:not(:last-child):after{position:absolute;top:39px;bottom:-9px;left:15px;width:1px;background:var(--border);content:""}.rail-progress>div>span{position:relative;z-index:1;display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--paper-0);font-family:var(--font-mono);font-size:.62rem;font-weight:750}.rail-progress p{line-height:1.2}.rail-progress strong,.rail-progress small{display:block}.rail-progress strong{color:var(--ink-600);font-size:.72rem}.rail-progress small{margin-top:3px;color:var(--ink-500);font-size:.62rem}.rail-progress .is-complete>span,.rail-progress .is-active>span{color:var(--ink-950);border-color:var(--amber-400);background:var(--amber-400)}.rail-progress .is-complete strong,.rail-progress .is-active strong{color:var(--ink-950)}.canvas-column{display:flex;min-height:680px;flex-direction:column;padding:14px;transition:opacity .32s ease,transform .48s var(--ease-out),visibility 0s}.canvas-toolbar{display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:16px;padding:0 2px 12px}.canvas-toolbar>div:first-child{display:flex;min-width:0;align-items:flex-start;flex-direction:column}.canvas-toolbar strong{margin-top:3px;overflow:hidden;font-family:var(--font-display);font-size:.92rem;text-overflow:ellipsis;white-space:nowrap}.view-controls{display:flex;align-items:center;gap:5px}.view-control{display:inline-flex;min-height:38px;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink-600);background:#ffffffa3;font-size:.68rem;font-weight:700}.view-control:hover,.view-control[aria-pressed=true]{color:var(--ink-950);border-color:var(--border-strong);background:var(--white)}.view-control[aria-pressed=true]{box-shadow:inset 0 -2px 0 var(--amber-500)}.view-control svg{width:15px;height:15px}.visual-stage{position:relative;display:grid;min-height:520px;flex:1;place-items:center;overflow:hidden;border:1px solid rgba(21,22,19,.22);border-radius:var(--radius-md);background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),#1c1e1b;background-size:36px 36px;box-shadow:inset 0 0 0 1px #ffffff0a,var(--shadow-sm)}.upload-state{position:relative;z-index:2;display:flex;width:min(510px,calc(100% - 48px));align-items:center;padding:38px 40px 32px;overflow:hidden;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-lg);color:var(--white);background:#181916db;box-shadow:var(--shadow-lg);text-align:center;backdrop-filter:blur(16px);flex-direction:column}.upload-material-sample{position:absolute;z-index:-1;inset:0;display:grid;grid-template-columns:repeat(3,1fr);opacity:.14}.upload-material-sample:after{position:absolute;inset:0;background:#121310b8;content:""}.upload-material-sample img{width:100%;height:100%;object-fit:cover}.upload-symbol{display:grid;width:58px;height:58px;place-items:center;border:1px solid rgba(247,179,35,.5);border-radius:var(--radius-md);color:var(--amber-400);background:linear-gradient(135deg,#fff1a626,#b9c2c417 48%,#d86f2f2e);box-shadow:inset 1px 1px #ffffff1f,0 10px 30px #d86f2f1a}.upload-symbol svg{width:25px;height:25px;stroke:url(#ai-metallic);stroke-width:1.6}.upload-eyebrow{margin-top:20px;color:var(--amber-400);font-family:var(--font-mono);font-size:.68rem;font-weight:750;text-transform:uppercase}.upload-state h1{max-width:460px;margin-top:8px;font-size:1.8rem;font-weight:770}.upload-copy{max-width:430px;margin-top:12px;color:#ffffffa6;font-size:var(--fs-sm)}.upload-button{min-width:200px;margin-top:24px}.upload-meta{margin-top:10px;color:#ffffff75;font-size:.65rem}.rights-check,.privacy-check{display:flex;align-items:flex-start;gap:9px;cursor:pointer;text-align:left}.rights-check{margin-top:19px;color:#ffffffb8;font-size:.7rem}.catalog-rights{margin:0 0 10px;padding:9px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink-600);background:var(--paper-1);font-size:.65rem}.rights-check input,.privacy-check input{width:16px;height:16px;flex:0 0 16px;margin:2px 0 0;accent-color:var(--amber-500)}.image-stage,.single-image-view,.split-image-view,.slider-image-view{position:absolute;inset:0}.image-stage:not([hidden]),.category-detail:not([hidden]),.all-products:not([hidden]),.category-list:not([hidden]){animation:content-in .36s var(--ease-out) both}@keyframes content-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.single-image-view,.split-image-view figure{overflow:hidden;background:#11120f}.single-image-view img,.split-image-view img,.slider-image-view>img,.compare-original img{width:100%;height:100%;object-fit:contain}.single-image-view figcaption,.split-image-view figcaption{position:absolute;z-index:2;bottom:14px;left:14px;padding:7px 9px;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-xs);color:var(--white);background:#131411b8;font-family:var(--font-mono);font-size:.62rem;font-weight:700;backdrop-filter:blur(8px)}.split-image-view{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--amber-400)}.split-image-view figure{position:relative}.slider-image-view{--compare-position: 50%;overflow:hidden;background:#11120f}.compare-original{position:absolute;z-index:2;inset:0;overflow:hidden;clip-path:inset(0 calc(100% - var(--compare-position)) 0 0);will-change:clip-path}.compare-original img{object-position:center}.slider-image-view input{position:absolute;z-index:4;inset:0;width:100%;height:100%;margin:0;cursor:ew-resize;opacity:0}.compare-handle{position:absolute;z-index:3;top:0;bottom:0;left:50%;width:2px;pointer-events:none;background:var(--amber-400);transform:translate(-1px)}.compare-handle span{position:absolute;top:50%;left:50%;display:grid;width:42px;height:42px;place-items:center;border:2px solid var(--amber-400);border-radius:var(--radius-sm);color:var(--ink-950);background:var(--amber-400);box-shadow:var(--shadow-sm);transform:translate(-50%,-50%)}.compare-handle svg{width:19px;height:19px}.compare-label{position:absolute;z-index:3;top:14px;padding:6px 8px;border-radius:var(--radius-xs);color:var(--white);background:#121310b3;font-family:var(--font-mono);font-size:.62rem;font-weight:750;transition:opacity var(--dur-fast) ease,visibility var(--dur-fast) ease}.compare-label.before{left:14px}.compare-label.after{z-index:1;right:14px}.compare-label.is-obscured{opacity:0;visibility:hidden}.generation-overlay,.drop-overlay{position:absolute;z-index:10;inset:0;display:flex;align-items:center;justify-content:center;color:var(--white);background:#131411c7;backdrop-filter:blur(14px);flex-direction:column}.generation-overlay:not([hidden]){animation:overlay-in .3s ease both}.generation-overlay{padding:24px;text-align:center;overflow-y:auto}.generation-overlay>*{flex-shrink:0;max-width:100%}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.generation-mark{position:relative;display:grid;width:74px;height:74px;place-items:center}.generation-mark span{position:absolute;inset:0;border:2px solid rgba(255,255,255,.14);border-top-color:var(--amber-400);border-radius:50%;animation:rotate 1.1s linear infinite}.generation-mark svg{width:27px;height:27px;stroke:url(#ai-metallic)}@keyframes rotate{to{transform:rotate(360deg)}}.generation-overlay p{width:100%;max-width:32rem;margin-top:18px;font-family:var(--font-display);font-size:var(--fs-md);font-weight:750;line-height:1.4;overflow-wrap:anywhere;text-wrap:balance}.generation-overlay small{max-width:28rem;margin-top:6px;color:#ffffff8f;font-size:var(--fs-xs);line-height:1.5;text-wrap:balance}.generation-overlay button{margin-top:20px;padding:5px;color:#ffffffb8;background:transparent;font-size:var(--fs-xs);text-decoration:underline;text-underline-offset:4px}.drop-overlay{border:2px dashed var(--amber-400);background:#131411eb}.drop-overlay svg{width:38px;height:38px;color:var(--amber-400)}.drop-overlay strong{margin-top:12px;font-family:var(--font-display)}.canvas-feedback{margin-top:10px;padding:10px 12px;border:1px solid rgba(169,63,53,.2);border-radius:var(--radius-sm);color:var(--danger-600);background:var(--danger-100);font-size:var(--fs-xs);font-weight:650}.canvas-feedback.is-success{color:var(--success-600);border-color:#3f704f33;background:var(--success-100)}.canvas-footnote{display:flex;min-height:42px;align-items:center;justify-content:space-between;gap:20px;padding:10px 2px 0;color:var(--ink-500);font-size:.65rem}.canvas-footnote span{display:inline-flex;align-items:center;gap:6px}.canvas-footnote svg{width:14px;height:14px;color:var(--success-600)}.version-strip{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.version-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.version-heading>div{display:flex;align-items:flex-start;flex-direction:column}.version-heading strong{margin-top:3px;font-family:var(--font-display);font-size:var(--fs-sm)}.version-heading>small{color:var(--ink-500);font-size:var(--fs-xs)}.version-list{display:grid;margin-top:10px;grid-auto-columns:116px;grid-auto-flow:column;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.version-card{position:relative;display:block;padding:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--ink-900);aspect-ratio:4 / 3}.version-card.is-active{border-color:var(--amber-500);box-shadow:0 0 0 2px var(--amber-200)}.version-card img{width:100%;height:100%;object-fit:cover}.version-card span{position:absolute;right:5px;bottom:5px;padding:3px 5px;border-radius:var(--radius-xs);color:var(--white);background:#131411b8;font-family:var(--font-mono);font-size:.55rem}.catalog-panel{position:relative;z-index:20;display:flex;min-height:0;max-height:calc(100vh - var(--header-height) - 28px);flex-direction:column;padding:14px;overflow:hidden;transition:inset var(--dur-slow) var(--ease-out),max-height var(--dur-slow) var(--ease-out),box-shadow var(--dur-slow) var(--ease-out)}.catalog-panel.is-expanded{position:fixed;z-index:80;top:calc(var(--header-height) + 14px);right:14px;bottom:14px;left:248px;max-height:none;box-shadow:var(--shadow-lg)}.workspace-shell.rail-collapsed .catalog-panel.is-expanded{left:82px}.catalog-heading{display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}.catalog-heading>div:first-child{display:flex;min-width:0;align-items:flex-start;flex-direction:column}.catalog-heading strong{margin-top:3px;overflow:hidden;font-family:var(--font-display);font-size:.96rem;text-overflow:ellipsis;white-space:nowrap}.catalog-heading>div:last-child{display:flex;gap:5px}.catalog-heading .icon-button{width:34px;height:34px;flex-basis:34px;background:transparent}.catalog-mobile-close{display:none}.catalog-segment{display:grid;margin-top:12px;padding:3px;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--paper-1)}.catalog-segment button{min-height:34px;border-radius:var(--radius-xs);color:var(--ink-500);background:transparent;font-size:.7rem;font-weight:720}.catalog-segment button.is-active{color:var(--ink-950);background:var(--white);box-shadow:var(--shadow-xs)}.catalog-tools{display:grid;gap:7px;margin-top:9px}.catalog-search{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr) 26px;align-items:center;gap:6px;min-height:40px;padding:0 7px 0 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white)}.catalog-search:focus-within{border-color:var(--steel-500);box-shadow:0 0 0 3px var(--focus)}.catalog-search>svg{width:16px;height:16px;color:var(--ink-500)}.catalog-search input{min-width:0;padding:0;border:0;outline:0;background:transparent;font-size:.7rem}.catalog-search button{display:grid;width:26px;height:26px;place-items:center;border-radius:var(--radius-xs);color:var(--ink-500);background:transparent}.catalog-search button:hover{color:var(--ink-950);background:var(--paper-1)}.catalog-search button svg{width:13px;height:13px}.catalog-selects{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}.catalog-selects select{width:100%;min-height:34px;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius-sm);outline:0;color:var(--ink-600);background:var(--paper-1);font-size:.63rem}.catalog-selects select:focus{border-color:var(--steel-500);box-shadow:0 0 0 3px var(--focus)}.catalog-content{min-height:0;flex:1;margin:12px -5px 0 0;padding-right:5px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.catalog-loading{display:grid;gap:8px}.catalog-loading span{height:64px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--paper-1),var(--paper-2),var(--paper-1));background-size:180% 100%;animation:skeleton 1.4s ease infinite}@keyframes skeleton{to{background-position:-180% 0}}.category-list{display:grid;gap:5px}.category-node{min-width:0}.category-row{display:grid;min-height:66px;width:100%;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff8a;text-align:left;transition:border-color var(--dur-fast) ease,background var(--dur-fast) ease,transform var(--dur-fast) ease}.category-row:hover:not(:disabled){border-color:var(--border-strong);background:var(--white);transform:translate(-2px)}.category-row.is-open{border-color:var(--border-strong);background:var(--white);box-shadow:var(--shadow-xs)}.category-row .category-chevron{width:16px;height:16px;color:var(--ink-500);transition:transform var(--dur-base) var(--ease-out)}.category-row.is-open .category-chevron{transform:rotate(90deg)}.category-products-inline{display:grid;gap:5px;padding:6px 0 8px 48px;animation:accordion-open .32s var(--ease-out) both}@keyframes accordion-open{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.product-card.is-inline{display:grid;min-height:58px;grid-template-columns:58px minmax(0,1fr);align-items:center}.product-card.is-inline img{width:58px;height:58px;aspect-ratio:auto}.product-card.is-inline>span{padding:7px 9px}.catalog-panel.is-expanded .category-products-inline{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));padding-left:48px}.category-row:disabled{cursor:default;opacity:.58}.category-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:var(--radius-sm);color:var(--amber-700);background:var(--amber-100)}.category-icon svg{width:18px;height:18px;stroke-width:1.7}.category-row>span:nth-child(2){min-width:0}.category-row strong,.category-row small{display:block}.category-row strong{font-family:var(--font-display);font-size:.8rem}.category-row small{margin-top:3px;color:var(--ink-500);font-size:.62rem}.category-end{display:inline-flex;min-width:22px;align-items:center;justify-content:flex-end;gap:6px}.category-row .category-selected-dot{display:grid;width:22px;height:22px;place-items:center;border-radius:var(--radius-xs);color:var(--ink-950);background:var(--amber-400)}.category-selected-dot svg{width:13px;height:13px}.catalog-back{display:inline-flex;align-items:center;gap:7px;padding:5px 0;color:var(--ink-600);background:transparent;font-size:var(--fs-xs);font-weight:700}.catalog-back svg{width:14px;height:14px}.category-detail-heading{display:flex;align-items:flex-start;margin-top:14px;flex-direction:column}.category-detail-heading strong{margin-top:3px;font-family:var(--font-display);font-size:var(--fs-lg)}.category-detail-heading small{margin-top:5px;color:var(--ink-500);font-size:var(--fs-xs)}.product-grid{display:grid;margin-top:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.catalog-panel.is-expanded .product-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.product-card{position:relative;min-width:0;padding:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);text-align:left;transition:border-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease,transform var(--dur-fast) ease}.product-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.product-card.is-selected{border-color:var(--amber-500);box-shadow:0 0 0 2px var(--amber-200)}.product-card img{width:100%;background:var(--paper-1);object-fit:cover;aspect-ratio:1 / .72}.product-card>span{display:block;min-width:0;padding:8px}.product-card strong,.product-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-card strong{font-size:.68rem}.product-card small{margin-top:3px;color:var(--ink-500);font-family:var(--font-mono);font-size:.55rem}.product-card .product-check{position:absolute;top:6px;right:6px;display:none;width:25px;height:25px;place-items:center;border:2px solid var(--white);border-radius:var(--radius-xs);color:var(--ink-950);background:var(--amber-400);box-shadow:var(--shadow-xs)}.product-card.is-selected .product-check{display:grid}.product-check svg{width:13px;height:13px}.catalog-empty{padding:24px 14px;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);color:var(--ink-500);background:var(--paper-1);text-align:center;font-size:var(--fs-xs)}.catalog-actions{padding-top:12px;border-top:1px solid var(--border)}.generation-availability{display:flex;align-items:flex-start;gap:10px;margin:0;padding:11px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink-700);background:var(--paper-1)}.generation-availability[hidden],.catalog-rights[hidden]{display:none}.generation-availability>svg{flex:0 0 auto;width:18px;height:18px;margin-top:1px;color:var(--amber-700)}.generation-availability span{display:grid;gap:3px}.generation-availability strong,.generation-availability small{display:block}.generation-availability strong{color:var(--ink-900);font-size:var(--fs-xs)}.generation-availability small{line-height:1.45;font-size:.72rem}.generate-button{width:100%;margin-top:8px;color:var(--ink-800);border-color:var(--border-strong);background:var(--paper-1)}.generate-button:not(:disabled):hover{color:var(--ink-950);border-color:var(--amber-500);background:var(--amber-100)}.mobile-tool-actions{display:none}.panel-backdrop{position:fixed;z-index:140;inset:0;background:#11120f85;backdrop-filter:blur(2px)}.estimate-drawer{display:none;width:100%;min-height:0;padding:6px 2px 2px;background:transparent}.estimate-drawer.is-open{display:block;animation:workspace-mode-in .42s var(--ease-out) both}.estimate-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@keyframes workspace-mode-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.workspace-shell.estimate-mode .visual-stage,.workspace-shell.estimate-mode .canvas-feedback,.workspace-shell.estimate-mode .canvas-footnote,.workspace-shell.estimate-mode .version-strip{display:none}.estimate-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:14px 14px 20px;border-bottom:1px solid var(--border)}.estimate-head h2{max-width:390px;margin-top:7px;font-size:var(--fs-xl)}.estimate-context{display:grid;margin:18px 14px 0;padding:10px;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white)}.estimate-image-placeholder{display:grid;width:70px;height:58px;place-items:center;overflow:hidden;border-radius:var(--radius-xs);color:var(--ink-500);background:var(--paper-1)}.estimate-image-placeholder img{width:100%;height:100%;object-fit:cover}.estimate-image-placeholder svg{width:20px;height:20px}.estimate-context>div:last-child{min-width:0}.estimate-context strong,.estimate-context small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.estimate-context strong{margin-top:4px;font-size:.76rem}.estimate-context small{margin-top:3px;color:var(--ink-500);font-size:.65rem}.estimate-paths{display:grid;margin:14px 14px 0;padding:13px 0;grid-template-columns:minmax(180px,1fr) auto auto;align-items:center;gap:12px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.estimate-paths div span,.estimate-paths div strong{display:block}.estimate-paths div span{color:var(--ink-500);font-size:.66rem}.estimate-paths div strong{margin-top:3px;font-size:.74rem}.estimate-paths a{display:inline-flex;min-height:38px;padding:0 10px;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--ink-800);background:#ffffffbd;font-size:.68rem;font-weight:720}.estimate-paths a:hover{border-color:var(--amber-500);background:var(--amber-100)}.estimate-paths svg{width:15px;height:15px}.estimate-form{display:grid;gap:24px;margin:24px 14px 0;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.estimate-form fieldset{display:grid;gap:13px;margin:0;padding:0;border:0}.estimate-form legend{margin-bottom:12px;font-family:var(--font-display);font-size:var(--fs-sm);font-weight:780}.estimate-form label:not(.privacy-check):not(.estimate-honeypot){display:grid;gap:6px}.estimate-form label>span{color:var(--ink-600);font-size:.68rem;font-weight:700}.estimate-form input,.estimate-form select,.estimate-form textarea{width:100%;min-height:44px;padding:10px 11px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);outline:0;background:var(--white);font-size:var(--fs-sm)}.estimate-form textarea{min-height:88px;resize:vertical}.estimate-form input:focus,.estimate-form select:focus,.estimate-form textarea:focus{border-color:var(--steel-500);box-shadow:0 0 0 3px var(--focus)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.privacy-check{color:var(--ink-600);font-size:.68rem}.privacy-check a{color:currentColor;text-decoration:underline;text-underline-offset:2px}.estimate-note{display:grid;padding:12px;grid-template-columns:22px minmax(0,1fr);gap:9px;border-left:3px solid var(--amber-500);border-radius:var(--radius-xs);color:var(--ink-700);background:var(--amber-100)}.estimate-note,.estimate-submit,.estimate-form-status{grid-column:1 / -1}.estimate-form-status.is-success{color:var(--success-600);font-weight:700}.estimate-form-status.is-error{color:var(--danger-600);font-weight:700}.estimate-note svg{width:18px;height:18px;margin-top:2px}.estimate-note strong,.estimate-note span{display:block;font-size:.68rem}.estimate-note span{margin-top:3px;color:var(--ink-600)}.estimate-submit{width:100%}.estimate-form-status{min-height:20px;color:var(--ink-600);font-size:var(--fs-xs)}.toast{position:fixed;z-index:200;right:20px;bottom:20px;max-width:min(380px,calc(100% - 40px));padding:12px 14px;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-sm);color:var(--white);background:var(--ink-900);box-shadow:var(--shadow-lg);font-size:var(--fs-xs);font-weight:650}.config-tour-launch svg{width:18px;height:18px}.config-tour[hidden]{display:none}.config-tour{position:fixed;z-index:400;inset:0;overflow:hidden}.config-tour.is-guided{pointer-events:none}.config-tour.is-guided .config-tour-popover{pointer-events:auto}.config-tour.is-welcome{background:#0c0d0bc2;backdrop-filter:blur(3px)}.config-tour-spotlight{position:fixed;z-index:1;border:2px solid var(--amber-400);border-radius:var(--radius-sm);box-shadow:0 0 0 9999px #0c0d0bc7,0 0 0 5px #f7b32333;pointer-events:none;transition:top .22s var(--ease-out),left .22s var(--ease-out),width .22s var(--ease-out),height .22s var(--ease-out)}.config-tour-popover{position:fixed;z-index:2;width:min(390px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:24px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm);outline:0;color:var(--ink-950);background:var(--white);box-shadow:var(--shadow-lg)}.config-tour.is-welcome .config-tour-popover{top:50%;left:50%;width:min(650px,calc(100vw - 28px));transform:translate(-50%,-50%)}.config-tour-close{position:absolute;top:12px;right:12px;background:var(--paper-1)}.config-tour-media{display:grid;margin:22px 0 20px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.config-tour-media[hidden]{display:none}.config-tour-media figure{position:relative;min-width:0;aspect-ratio:16 / 9;overflow:hidden;border-radius:var(--radius-xs);background:var(--paper-1)}.config-tour-media img{width:100%;height:100%;object-fit:cover}.config-tour-media figcaption{position:absolute;right:7px;bottom:7px;padding:4px 7px;border-radius:3px;color:var(--white);background:#111210d1;font-size:.62rem;font-weight:720}.config-tour-step{display:block;padding-right:42px;color:var(--amber-700);font-family:var(--font-mono);font-size:.68rem;font-weight:750;text-transform:uppercase}.config-tour-popover h2{max-width:540px;margin-top:9px;padding-right:32px;font-size:var(--fs-xl);line-height:1.18}.config-tour-popover>p{max-width:560px;margin-top:10px;color:var(--text-muted);line-height:1.55}.config-tour-actions{display:flex;margin-top:22px;align-items:center;justify-content:flex-end;gap:8px}.config-tour-actions .button{min-height:42px}.config-tour-actions .is-finish{border-color:var(--border-strong);background:var(--paper-1);box-shadow:var(--shadow-sm)}.config-tour-actions .is-finish:hover{background:var(--paper-2)}@media(prefers-reduced-motion:reduce){.config-tour-spotlight{transition:none}}.config-tour-skip{margin-right:auto;padding:8px 4px;color:var(--ink-600);background:transparent;font-size:var(--fs-xs);font-weight:700;text-decoration:underline;text-underline-offset:3px}.config-tour-open{overflow:hidden}@media(max-width:1320px){.workspace-shell,.workspace-shell.has-image{grid-template-columns:190px minmax(390px,1fr) 300px}.workspace-shell.rail-collapsed{grid-template-columns:64px minmax(390px,1fr) 300px}.workspace-shell.catalog-expanded,.workspace-shell.has-image.catalog-expanded{grid-template-columns:190px minmax(0,1fr)}.workspace-shell.rail-collapsed.catalog-expanded{grid-template-columns:64px minmax(0,1fr)}.catalog-panel.is-expanded{left:218px}.view-control span{display:none}.view-control{width:38px;justify-content:center;padding:0}}@media(max-width:1080px){.workspace-shell,.workspace-shell.has-image,.workspace-shell.rail-collapsed{grid-template-columns:minmax(0,1fr) 290px;grid-template-areas:"canvas catalog"}.project-rail{display:none}.workspace-shell.catalog-expanded,.workspace-shell.has-image.catalog-expanded,.workspace-shell.rail-collapsed.catalog-expanded{grid-template-columns:minmax(0,1fr);grid-template-areas:"stage"}.catalog-panel.is-expanded,.workspace-shell:not(.has-image) .catalog-panel.is-expanded,.workspace-shell.rail-collapsed .catalog-panel.is-expanded{left:14px}}@media(max-width:820px){.config-app-header-inner{width:calc(100% - 22px);grid-template-columns:auto minmax(0,1fr) auto;gap:14px}.app-project{min-width:0;align-items:flex-start}.app-project strong{max-width:100%}.app-actions{display:flex;gap:7px}.app-actions .estimate-button{display:none}.config-language-menu summary{min-width:52px;min-height:40px;padding-inline:8px}.configurator-main{padding-bottom:76px}.tool-bar{min-height:62px;padding-inline:12px}.tool-bar-status .estimate-button{display:none}.workspace-shell,.workspace-shell.has-image,.workspace-shell.rail-collapsed{min-height:auto;padding:8px;grid-template-columns:1fr;grid-template-areas:"canvas"}.canvas-column{min-height:calc(100vh - var(--header-height) - 78px);padding:9px}.canvas-toolbar{align-items:flex-start}.canvas-toolbar>div:first-child{max-width:50%}.canvas-toolbar:has(.view-controls[hidden])>div:first-child{max-width:100%}.canvas-toolbar strong{max-width:100%;font-size:.8rem}.view-controls{flex-wrap:wrap;justify-content:flex-end}.hold-control{display:none}.visual-stage{min-height:480px}.catalog-panel{position:fixed;z-index:150;inset:auto 8px 8px;display:flex;height:90dvh;max-height:90dvh;transform:translateY(calc(100% + 20px));visibility:hidden;box-shadow:var(--shadow-lg);transition:transform .42s var(--ease-out),visibility .42s}.catalog-panel.is-mobile-open{transform:translateY(0);visibility:visible}.catalog-panel.is-expanded,.workspace-shell:not(.has-image) .catalog-panel.is-expanded,.workspace-shell.rail-collapsed .catalog-panel.is-expanded{inset:8px;max-height:none}.catalog-heading [data-expand-catalog]{display:none}.catalog-mobile-close{display:grid}.mobile-tool-actions{position:fixed;z-index:90;right:0;bottom:0;left:0;display:grid;padding:9px 10px max(9px,env(safe-area-inset-bottom));grid-template-columns:.9fr 1.1fr;gap:8px;border-top:1px solid var(--border);background:#f7f6f2f0;box-shadow:0 -10px 30px #1414111a;backdrop-filter:blur(16px)}.mobile-tool-actions .button{min-width:0;padding-inline:10px;font-size:.72rem;white-space:normal}.canvas-footnote{align-items:flex-start;flex-direction:column;gap:4px}}@media(max-width:560px){.config-app-header-inner{gap:9px}.app-home{gap:7px}.app-project span{font-size:.56rem}.app-project strong{font-size:.74rem}.app-actions{gap:5px}.app-actions .config-tour-launch{width:40px;height:40px;min-height:40px;flex-basis:40px}.config-tour-popover{padding:20px}.config-tour.is-welcome .config-tour-popover{width:calc(100vw - 20px)}.config-tour-media{margin-top:24px;grid-template-columns:1fr}.config-tour-popover h2{font-size:1.35rem}.config-tour-popover>p{font-size:.84rem}.config-tour-actions{flex-wrap:wrap}.config-tour-actions .button{flex:1 1 auto}}@media(max-width:560px){.tool-bar-copy strong{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-column{min-height:calc(100vh - var(--header-height) - 70px)}.visual-stage{min-height:430px}.upload-state{width:calc(100% - 20px);padding:32px 20px 26px}.upload-state h1{font-size:1.55rem}.upload-copy{font-size:.78rem}.upload-button{min-width:0;width:100%}.canvas-toolbar>div:first-child{max-width:42%}.canvas-toolbar:has(.view-controls[hidden])>div:first-child{max-width:100%}.view-controls{gap:3px}.view-control,.view-controls .icon-button{width:34px;height:34px;min-height:34px;flex-basis:34px}.split-image-view{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.product-grid,.catalog-panel.is-expanded .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.estimate-drawer{padding:4px 0}.estimate-head h2{font-size:var(--fs-lg)}.field-row,.estimate-form{grid-template-columns:1fr}.estimate-paths{grid-template-columns:1fr 1fr}.estimate-paths div{grid-column:1 / -1}.version-list{grid-auto-columns:104px}}@media(prefers-reduced-motion:reduce){.workspace-shell.has-image .project-rail,.generation-mark span,.catalog-loading span{animation:none}.catalog-panel,.estimate-drawer,.workspace-shell{transition-duration:1ms}.config-tour-spotlight{transition:none}}.local-project-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;font-size:13px}.local-project-controls a,.upload-copy a,.rights-check a{text-decoration:underline}.configurator-body .upload-mobile-copy{display:none}@media(max-width:820px){html:has(.configurator-body.is-empty){scroll-padding-block:16px calc(5.75rem + env(safe-area-inset-bottom))}.configurator-body.is-empty{display:flex;min-height:100svh;flex-direction:column}.configurator-body.is-empty:not(.dialog-open):not(.experience-loading){overflow:visible}.configurator-body.is-empty .config-app-header{position:relative;height:var(--header-height);min-height:var(--header-height);flex:none}.configurator-body.is-empty .config-app-header-inner{display:grid;min-height:var(--header-height);padding-block:0}.configurator-body.is-empty .mobile-tool-actions .button{flex-wrap:wrap;gap:4px 8px}.configurator-body.is-empty .configurator-main{display:flex;flex:1;min-height:0;padding:0 0 calc(4.75rem + env(safe-area-inset-bottom))}.configurator-body.is-empty .workspace-shell{flex:1;min-height:0;padding:8px}.configurator-body.is-empty .canvas-column{min-height:0;padding:10px}.configurator-body.is-empty .canvas-toolbar:has(.view-controls[hidden]),.configurator-body.is-empty .upload-eyebrow,.configurator-body .upload-desktop-copy{display:none}.configurator-body .upload-mobile-copy{display:inline}.configurator-body.is-empty .visual-stage{min-height:0;overflow:visible}.configurator-body.is-empty .upload-state{width:min(380px,100%);padding:20px 16px;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}.configurator-body.is-empty .upload-material-sample{display:none}.configurator-body.is-empty .upload-symbol{width:40px;height:40px}.configurator-body.is-empty .upload-symbol svg{width:24px;height:24px}.configurator-body.is-empty .upload-state h1{margin-top:12px;font-size:1.375rem;line-height:1.25}.configurator-body.is-empty .upload-copy{margin-top:12px;font-size:.8125rem;line-height:1.5;color:#d3d5ce}.configurator-body.is-empty .upload-button{width:100%;min-width:0;min-height:44px;margin-top:20px;font-size:.875rem;white-space:normal}.configurator-body.is-empty .upload-meta{font-size:.75rem;line-height:1.5}.configurator-body.is-empty .canvas-footnote{min-height:0;padding-top:10px;gap:4px;line-height:1.4}.configurator-body.is-empty .local-project-controls{margin-top:4px}}@media(max-width:480px){.app-project{display:none}.config-app-header-inner{grid-template-columns:minmax(0,1fr) auto}}@media(max-width:350px){.config-app-header .brand>span:not(.brand-mark){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}}
