:root{--color-ink:#1a1a1a;--color-ink-soft:#444;--color-surface:#faf9f7;--color-elevated:#fff;--color-placeholder:#f1f0ec;--color-muted:#999;--color-faint:#ccc;--color-line:#e8e8e8;--color-line-soft:#f0f0f0;--color-hover:#f3f2ef;--color-danger:#c00;--space-xs:6px;--space-sm:12px;--space-md:20px;--space-lg:32px;--space-xl:56px;--ease-gallery:cubic-bezier(.25, .1, .25, 1);--dur-fast:.3s;--dur-base:.4s;--dur-slow:.6s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px;overflow-x:hidden}body{color:#1a1a1a;background-color:var(--color-surface);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:300;line-height:1.7;overflow-x:hidden}h1,h2,h3,h4{letter-spacing:.12em;text-transform:uppercase;font-weight:200}h1{letter-spacing:.35em;font-size:clamp(1.8rem,4vw,3.2rem);font-weight:100}h2{letter-spacing:.3em;font-size:clamp(1rem,1.8vw,1.3rem);font-weight:200}h3{letter-spacing:.2em;font-size:clamp(.65rem,1vw,.75rem);font-weight:300}p{color:#1a1a1a;font-size:clamp(.9rem,1.1vw,1.05rem);font-weight:300;line-height:1.9}a{color:#1a1a1a;text-decoration:none;position:relative}.text-link{letter-spacing:.2em;text-transform:uppercase;cursor:pointer;color:#1a1a1a;background:0 0;border:none;padding:0;font-family:Inter,sans-serif;font-size:.75rem;font-weight:300;display:inline-block;position:relative}.text-link:after{content:"";background-color:#1a1a1a;width:0;height:1px;transition:width .6s;position:absolute;bottom:-2px;left:0}.text-link:hover:after{width:100%}.text-link--btn{border:1px solid #1a1a1a;padding:12px 28px;transition:background-color .4s,color .4s}.text-link--btn:after{display:none}.text-link--btn:hover{color:#fff;background-color:#1a1a1a}.section-padding{padding:clamp(80px,14vh,180px) clamp(24px,6vw,120px)}.section-padding-large{padding:clamp(120px,20vh,280px) clamp(24px,6vw,120px)}@media (width<=768px){.section-padding{padding:64px 20px}.section-padding-large{padding:76px 20px}}::selection{color:#fff;background-color:#1a1a1a}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--color-surface)}::-webkit-scrollbar-thumb{background:#d0d0d0}::-webkit-scrollbar-thumb:hover{background:#1a1a1a}img{max-width:100%;height:auto;display:block}.separator{background-color:#e8e8e8;border:none;width:100%;height:1px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.navbar{z-index:1000;background-color:#0000;border-bottom:1px solid #0000;transition:background-color .4s,border-color .4s;position:fixed;top:0;left:0;right:0}.navbar--scrolled{-webkit-backdrop-filter:blur(12px);background-color:#faf9f7f2;border-bottom-color:#f0f0f0}.navbar__progress{transform-origin:0;will-change:transform;background-color:#1a1a1a;width:100%;height:1px;position:absolute;bottom:0;left:0;transform:scaleX(0)}.navbar__inner{justify-content:space-between;align-items:center;max-width:100%;padding:20px clamp(24px,6vw,120px);display:flex}.navbar__logo{letter-spacing:.35em;color:#1a1a1a;text-transform:uppercase;font-size:.72rem;font-weight:200;text-decoration:none}.navbar__links{gap:36px;display:flex}.navbar__link{font-size:.68rem}.navbar__link--active:after{width:100%}.navbar__actions{align-items:center;gap:20px;display:flex}.navbar__cart{color:#1a1a1a;align-items:center;transition:opacity .3s;display:flex;position:relative}.navbar__cart:hover{opacity:.5}.navbar__cart-count{color:#fff;background-color:#1a1a1a;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:.55rem;font-weight:400;line-height:1;display:flex;position:absolute;top:-6px;right:-8px}.navbar__hamburger{cursor:pointer;z-index:1001;background:0 0;border:none;width:24px;height:16px;display:none;position:relative}.navbar__hamburger-line{background-color:#1a1a1a;width:24px;height:1px;transition:transform .3s,opacity .3s;display:block;position:absolute;left:0}.navbar__hamburger-line:first-child{top:4px}.navbar__hamburger-line:last-child{bottom:4px}.navbar__hamburger-line.open:first-child{top:50%;transform:rotate(45deg)}.navbar__hamburger-line.open:last-child{bottom:50%;transform:rotate(-45deg)}.navbar__mobile-menu{z-index:999;background-color:#fff;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.navbar__mobile-links{flex-direction:column;align-items:center;gap:32px;display:flex}.navbar__mobile-link{letter-spacing:.2em;text-transform:uppercase;color:#1a1a1a;padding-right:.2em;font-size:1.1rem;font-weight:200;text-decoration:none;transition:opacity .3s}.navbar__mobile-link:hover{opacity:.5}@media (width<=768px){.navbar__links{display:none}.navbar__hamburger{display:block}}.footer{background-color:var(--color-surface)}.footer__content{flex-direction:column;gap:48px;padding-top:clamp(40px,6vh,80px);padding-bottom:clamp(40px,6vh,80px);display:flex}.footer__top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px 40px;display:flex}.footer__brand{letter-spacing:.35em;color:#1a1a1a;white-space:nowrap;font-size:.7rem;font-weight:200}.footer__links{flex-wrap:wrap;align-items:center;gap:18px 28px;display:flex}.footer__bottom{border-top:1px solid var(--color-line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;padding-top:28px;display:flex}.footer__copyright{color:#ccc;letter-spacing:.08em;font-size:.6rem;font-weight:300}.footer__legal{flex-wrap:wrap;align-items:center;gap:10px 22px;display:flex}.footer__legal-link{letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);transition:color var(--dur-fast) ease;font-size:.6rem;font-weight:300}.footer__legal-link:hover{color:var(--color-ink)}@media (width<=768px){.footer__top{flex-direction:column;align-items:center;gap:24px}.footer__links{flex-direction:column;align-items:center;gap:16px}}.hero{background-color:var(--color-surface);flex-direction:column;justify-content:center;align-items:center;width:100%;height:100svh;min-height:560px;padding:0 20px;display:flex;position:relative;overflow:hidden}.hero__thread{pointer-events:none;z-index:0;width:100vw;height:100vw;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero__thread-line{fill:none;stroke:#1a1a1a;stroke-width:.8px;opacity:.16;stroke-linecap:round;stroke-linejoin:round}.hero__thread-line--soft{opacity:.08}.hero__logo-wrap{z-index:2;pointer-events:none;justify-content:center;align-items:center;width:min(18vw,32vh);height:min(18vw,32vh);display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero__logo{object-fit:contain;width:100%;height:100%;display:block}.hero__content{background:var(--color-surface);box-shadow:0 0 28px 14px var(--color-surface);text-align:center;z-index:2;border-radius:4px;flex-direction:column;align-items:center;gap:12px;width:max-content;max-width:90vw;padding:6px 24px;display:flex;position:absolute;top:calc(50% + min(9vw,16vh) + 20px);left:50%;transform:translate(-50%)}.hero__title{letter-spacing:.4em;text-transform:uppercase;color:#1a1a1a;margin:0 -.4em 0 0;font-size:clamp(1.6rem,4vw,2.8rem);font-weight:100;line-height:1.15}.hero__subtitle{letter-spacing:.25em;text-transform:uppercase;color:#999;white-space:nowrap;margin:0 -.25em 0 0;font-size:clamp(.65rem,.9vw,.74rem);font-weight:300;line-height:1.4}.hero__actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:8px;display:flex}.hero__btn{letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border-radius:2px;padding:10px 20px;font-size:.65rem;text-decoration:none;transition:all .3s}.hero__btn--primary{color:#fff;background-color:#1a1a1a;border:1px solid #1a1a1a}.hero__btn--primary:hover{background-color:#333}.hero__btn--secondary{color:#1a1a1a;background:0 0;border:1px solid #ccc}.hero__btn--secondary:hover{background:#0000000a;border-color:#1a1a1a}.hero__scroll-indicator{z-index:2;justify-content:center;align-items:center;display:flex;position:absolute;bottom:clamp(20px,3.5vh,40px);left:50%;transform:translate(-50%)}.hero__scroll-line{background-color:#1a1a1a;width:1px;height:clamp(28px,4.5vh,48px);animation:2.4s infinite scrollPulse}@keyframes scrollPulse{0%,to{opacity:.2;transform-origin:top;transform:scaleY(.6)}50%{opacity:.8;transform-origin:top;transform:scaleY(1)}}@media (width<=768px){.hero__logo-wrap{width:76px;height:76px}.hero__content{gap:8px;padding:4px 14px;top:calc(50% + 50px)}.hero__title{letter-spacing:.24em;margin-right:-.24em;font-size:1.38rem}.hero__subtitle{letter-spacing:.12em;margin-right:-.12em;font-size:.56rem}}@media (height<=560px){.hero__scroll-indicator{display:none}}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size:12px;--rc-drag-handle-mobile-size:24px;--rc-drag-handle-bg-colour:#0003;--rc-drag-bar-size:6px;--rc-border-color:#ffffffb3;--rc-focus-color:#08f}.ReactCrop{cursor:crosshair;max-width:100%;display:inline-block;position:relative}.ReactCrop *,.ReactCrop :before,.ReactCrop :after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{max-height:inherit;overflow:hidden}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{max-width:100%;max-height:inherit;display:block}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px);position:absolute;inset:0}.ReactCrop__crop-selection{cursor:move;position:absolute;top:0;left:0;transform:translate(0)}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";border:1px solid var(--rc-border-color);opacity:.3;position:absolute;inset:-1px}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed #fff}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){color:#fff;background-image:linear-gradient(90deg,#fff 50%,#444 50%),linear-gradient(90deg,#fff 50%,#444 50%),linear-gradient(#fff 50%,#444 50%),linear-gradient(#fff 50%,#444 50%);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:10px 1px,10px 1px,1px 10px,1px 10px;animation:1s linear infinite marching-ants}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";background-color:#fff6;display:block;position:absolute}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6667%}.ReactCrop__drag-handle{width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color);position:absolute}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{cursor:nw-resize;top:0;left:0;transform:translate(-50%,-50%)}.ReactCrop .ord-n{cursor:n-resize;top:0;left:50%;transform:translate(-50%,-50%)}.ReactCrop .ord-ne{cursor:ne-resize;top:0;right:0;transform:translate(50%,-50%)}.ReactCrop .ord-e{cursor:e-resize;top:50%;right:0;transform:translate(50%,-50%)}.ReactCrop .ord-se{cursor:se-resize;bottom:0;right:0;transform:translate(50%,50%)}.ReactCrop .ord-s{cursor:s-resize;bottom:0;left:50%;transform:translate(-50%,50%)}.ReactCrop .ord-sw{cursor:sw-resize;bottom:0;left:0;transform:translate(-50%,50%)}.ReactCrop .ord-w{cursor:w-resize;top:50%;left:0;transform:translate(-50%,-50%)}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{width:100%;height:var(--rc-drag-bar-size);top:0;left:0;transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{width:var(--rc-drag-bar-size);height:100%;top:0;right:0;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{width:100%;height:var(--rc-drag-bar-size);bottom:0;left:0;transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{width:var(--rc-drag-bar-size);height:100%;top:0;left:0;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media (pointer:coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}.slider-help{overflow:hidden}.slider-help__inner{flex-direction:column;gap:10px;padding:10px 0 2px;display:flex}.slider-help__text{color:var(--color-ink-soft);margin:0;font-size:.66rem;font-weight:300;line-height:1.6}.slider-help__pair{grid-template-columns:1fr 1fr;gap:8px;display:grid}.slider-help__figure{flex-direction:column;gap:5px;margin:0;display:flex}.slider-help__figure img{aspect-ratio:1;object-fit:cover;background:var(--color-surface);border:1px solid var(--color-line-soft);width:100%;display:block}.slider-help__figure figcaption{letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);text-align:center;font-size:.58rem;font-weight:300}.brush-tip{background:var(--color-surface);border:1px solid var(--color-line);align-items:center;gap:14px;width:100%;max-width:580px;padding:12px;display:flex}.brush-tip__demo{flex:none;width:92px;height:92px;position:relative;overflow:hidden}.brush-tip__demo img{object-fit:cover;filter:grayscale()contrast(1.05);width:100%;height:100%;display:block}.brush-tip__mark{pointer-events:none;background:radial-gradient(closest-side,#c65c3cf2,#c65c3c00);border-radius:50%;width:34%;height:20%;margin-top:-10%;margin-left:-17%;position:absolute}.brush-tip__brush{pointer-events:none;border:1.5px solid #ffffffe6;border-radius:50%;width:15%;height:15%;margin-top:-7.5%;margin-left:-7.5%;position:absolute;box-shadow:0 0 0 1px #00000059}.brush-tip__demo--sliders{background:var(--color-placeholder);flex-direction:column;justify-content:center;gap:14px;padding:0 10px;display:flex}.brush-tip__track{background:var(--color-faint);height:2px;display:block;position:relative}.brush-tip__knob{background:var(--color-ink);border-radius:50%;width:10px;height:10px;margin:-5px 0 0 -5px;position:absolute;top:50%}.brush-tip__body{flex-direction:column;gap:8px;min-width:0;display:flex}.brush-tip__text{color:var(--color-ink-soft);margin:0;font-size:.68rem;font-weight:300;line-height:1.6}.brush-tip__actions{align-items:center;gap:12px;display:flex}.brush-tip__action,.brush-tip__dismiss{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--color-ink);background:var(--color-ink);color:#fff;cursor:pointer;padding:6px 10px;font-family:Inter,sans-serif;font-size:.6rem;font-weight:300;transition:opacity .25s}.brush-tip__action:hover{opacity:.82}.brush-tip__dismiss{color:var(--color-muted);background:0 0;border-color:#0000;padding:6px 2px}.brush-tip__dismiss:hover{color:var(--color-ink)}@media (width<=520px){.brush-tip{flex-direction:column;align-items:flex-start}}.room-preview__overlay{-webkit-backdrop-filter:blur(8px);z-index:1200;background:#000000d9;justify-content:center;align-items:center;padding:clamp(12px,2.5vw,28px);display:flex;position:fixed;inset:0}.room-preview__dialog{background:#fff;border-radius:4px;flex-direction:column;width:100%;max-width:960px;max-height:94vh;display:flex;overflow:hidden;box-shadow:0 24px 64px #0006}.room-preview__header{background:#fff;border-bottom:1px solid #ecebe8;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.room-preview__header-titles h3{letter-spacing:.12em;text-transform:uppercase;color:#1a1a1a;margin:0;font-size:.92rem;font-weight:400}.room-preview__title-sub{color:#888;font-size:.72rem;font-weight:300}.room-preview__mode-tabs{background:#f2f1ed;border-radius:4px;gap:6px;padding:3px;display:flex}.room-preview__mode-tab{cursor:pointer;color:#666;background:0 0;border:none;border-radius:3px;padding:6px 14px;font-size:.74rem;font-weight:400;transition:all .2s}.room-preview__mode-tab--active{color:#1a1a1a;background:#fff;font-weight:500;box-shadow:0 2px 6px #00000014}.room-preview__close{color:#888;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1.8rem;line-height:1;transition:color .2s}.room-preview__close:hover{color:#1a1a1a}.room-preview__camera-stage{aspect-ratio:16/10;-webkit-user-select:none;user-select:none;touch-action:none;background:#000;justify-content:center;align-items:center;width:100%;min-height:380px;max-height:60vh;display:flex;position:relative;overflow:hidden}.room-preview__camera-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.room-preview__ar-instruction{-webkit-backdrop-filter:blur(4px);color:#fff;z-index:10;pointer-events:none;text-align:center;background:#0f0f0fbf;border-radius:20px;max-width:90%;padding:6px 14px;font-size:.72rem;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0003}.room-preview__ar-art-wrap{z-index:20;cursor:grab;touch-action:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%}.room-preview__ar-art-wrap--dragging{cursor:grabbing}.room-preview__ar-art-disc{border-radius:50%;width:100%;height:100%;transition:box-shadow .2s;position:relative;box-shadow:0 24px 48px #0000008c,0 6px 16px #00000059,inset 0 0 0 2px #fff3}.room-preview__ar-art-wrap--dragging .room-preview__ar-art-disc{box-shadow:0 32px 64px #000000b3,0 10px 24px #00000073}.room-preview__ar-art-img{object-fit:cover;pointer-events:none;border-radius:50%;width:100%;height:100%;display:block}.room-preview__ar-badge{color:#fff;white-space:nowrap;letter-spacing:.08em;pointer-events:none;background:#0f0f0fd9;border-radius:10px;padding:2px 8px;font-size:.62rem;position:absolute;bottom:-22px;left:50%;transform:translate(-50%)}.room-preview__camera-fallback{color:#fff;z-index:5;background:#181818;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.room-preview__camera-message{text-align:center;max-width:400px}.room-preview__camera-icon{margin-bottom:12px;font-size:2.2rem;display:block}.room-preview__camera-message h4{margin:0 0 8px;font-size:1.05rem;font-weight:400}.room-preview__camera-message p{color:#bbb;margin:0;font-size:.8rem;line-height:1.6}.room-preview__spinner{border:3px solid #fff3;border-top-color:#fff;border-radius:50%;width:32px;height:32px;margin:0 auto 16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.room-preview__stage{aspect-ratio:16/10;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:380px;max-height:60vh;transition:background-color .4s;display:flex;position:relative;overflow:hidden}.room-preview__wall--white{background-color:#f3f1ec}.room-preview__wall--grey{background-color:#d8d6d1}.room-preview__wall--sage{background-color:#bac2bb}.room-preview__wall--dark{background-color:#272829}.room-preview__light-spot{pointer-events:none;z-index:1;background:radial-gradient(at top,#ffffff73 0%,#fff0 70%);width:700px;height:500px;position:absolute;top:-100px}.room-preview__art-frame{aspect-ratio:1;z-index:4;border-radius:50%;width:30%;max-width:220px;margin-bottom:70px;position:relative;box-shadow:0 20px 40px #0000003d,0 4px 10px #0000001f,inset 0 0 0 1px #00000026}.room-preview__art-img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.room-preview__dimension-tag{color:#fff;letter-spacing:.1em;white-space:nowrap;background:#000000b3;border-radius:10px;padding:2px 8px;font-size:.6rem;font-weight:300;position:absolute;bottom:-22px;left:50%;transform:translate(-50%)}.room-preview__furniture{z-index:3;flex-direction:column;align-items:center;display:flex;position:absolute;bottom:0;left:0;right:0}.room-preview__sideboard{background:#22201e;border-radius:2px 2px 0 0;width:65%;max-width:480px;height:65px;position:relative;box-shadow:0 12px 30px #0000004d}.room-preview__sideboard-top{background:#383431;border-radius:2px;height:4px;position:absolute;top:-4px;left:-4px;right:-4px}.room-preview__sideboard-vase{background:#eae6df;border-radius:10px 10px 4px 4px;width:22px;height:36px;position:absolute;top:-36px;left:36px;box-shadow:-4px 6px 12px #0000002e}.room-preview__sideboard-books{background:#9a958e;border-radius:2px;width:40px;height:16px;position:absolute;top:-16px;right:48px}.room-preview__floor{background:#a39688;border-top:1px solid #00000026;width:100%;height:24px}.room-preview__footer{background:#faf9f6;border-top:1px solid #ecebe8;padding:14px 24px}.room-preview__ar-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.room-preview__distance-control{align-items:center;gap:12px;display:flex}.room-preview__control-label{letter-spacing:.05em;color:#555;white-space:nowrap;font-size:.72rem}.room-preview__range-slider{accent-color:#1a1a1a;cursor:pointer;width:130px}.room-preview__ar-actions{align-items:center;gap:14px;display:flex}.room-preview__studio-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.room-preview__color-picker{align-items:center;gap:12px;display:flex}.room-preview__color-buttons{gap:8px;display:flex}.room-preview__color-btn{cursor:pointer;border:2px solid #0000;border-radius:50%;width:24px;height:24px;transition:transform .2s,border-color .2s}.room-preview__color-btn:hover{transform:scale(1.15)}.room-preview__color-btn--active{border-color:#1a1a1a;transform:scale(1.15)}.room-preview__scale-hint{color:#888;font-size:.68rem;font-weight:300}.room-preview__snapshot-overlay{z-index:1300;background:#000000d9;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.room-preview__snapshot-box{background:#fff;border-radius:4px;flex-direction:column;width:100%;max-width:720px;display:flex;overflow:hidden}.room-preview__snapshot-header{border-bottom:1px solid #ecebe8;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.room-preview__snapshot-header h4{margin:0;font-size:.92rem;font-weight:400}.room-preview__snapshot-img{object-fit:contain;background:#000;width:100%;max-height:65vh;display:block}.room-preview__snapshot-footer{border-top:1px solid #ecebe8;justify-content:flex-end;align-items:center;gap:14px;padding:14px 20px;display:flex}@media (width<=680px){.room-preview__header{flex-direction:column;align-items:flex-start}.room-preview__mode-tabs{width:100%}.room-preview__mode-tab{text-align:center;flex:1}.room-preview__ar-controls{flex-direction:column;align-items:stretch}.room-preview__distance-control,.room-preview__ar-actions{justify-content:space-between}}.photo-tips__overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#0f0f0fa6;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.photo-tips__dialog{background:#fff;border:1px solid #00000014;border-radius:4px;flex-direction:column;width:100%;max-width:620px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 24px 48px #0003}.photo-tips__header{background:#fafafa;border-bottom:1px solid #ececec;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 28px 18px;display:flex}.photo-tips__tag{text-transform:uppercase;letter-spacing:.12em;color:#777;margin-bottom:6px;font-size:.65rem;font-weight:500;display:inline-block}.photo-tips__title{letter-spacing:-.01em;color:#111;margin:0 0 6px;font-size:1.25rem;font-weight:400}.photo-tips__subtitle{color:#666;margin:0;font-size:.82rem;line-height:1.5}.photo-tips__close{color:#888;cursor:pointer;background:0 0;border:none;border-radius:2px;padding:4px 8px;font-size:1.5rem;line-height:1;transition:color .15s}.photo-tips__close:hover{color:#111}.photo-tips__content{flex-direction:column;gap:20px;padding:24px 28px;display:flex;overflow-y:auto}.photo-tips__grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=580px){.photo-tips__grid{grid-template-columns:1fr}}.photo-tips__card{background:#f8f8f7;border:1px solid #eaeae8;border-radius:3px;gap:12px;padding:14px 16px;display:flex}.photo-tips__card-icon{color:#222;flex-shrink:0;font-size:1.15rem;line-height:1.2}.photo-tips__card-body h4{color:#111;margin:0 0 4px;font-size:.82rem;font-weight:500}.photo-tips__card-body p{color:#555;margin:0;font-size:.74rem;line-height:1.55}.photo-tips__notice{color:#2d4a37;background:#f3f6f4;border-left:3px solid #3b6e4c;border-radius:0 3px 3px 0;padding:14px 16px;font-size:.78rem;line-height:1.6}.photo-tips__notice-badge{text-transform:uppercase;letter-spacing:.08em;color:#2f593e;margin-bottom:4px;font-size:.68rem;font-weight:600}.photo-tips__notice p{margin:0}.photo-tips__email-box{color:#4a3e33;background:#faf8f5;border:1px dashed #d4c9bd;border-radius:3px;align-items:flex-start;gap:14px;padding:14px 16px;font-size:.78rem;line-height:1.6;display:flex}.photo-tips__email-icon{color:#8c6f4d;flex-shrink:0;margin-top:1px;font-size:1.1rem}.photo-tips__email-box strong{color:#332b24;margin-bottom:2px;font-size:.8rem;display:block}.photo-tips__email-box p{margin:0}.photo-tips__email-link{color:#1a1a1a;text-underline-offset:2px;font-weight:600;text-decoration:underline}.photo-tips__footer{background:#fafafa;border-top:1px solid #ececec;justify-content:flex-end;align-items:center;gap:14px;padding:16px 28px;display:flex}.photo-tips__action-btn{padding:8px 18px;font-size:.76rem}.photo-tips__close-btn{color:#666;font-size:.76rem}.generator{background-color:var(--color-surface);border-bottom:1px solid var(--color-line-soft);justify-content:center;display:flex;position:relative}.generator__container{flex-direction:column;gap:clamp(32px,5vw,48px);width:100%;max-width:1120px;display:flex}.generator__header{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:800px;margin:0 auto;display:flex}.generator__heading{letter-spacing:.22em;text-transform:uppercase;color:var(--color-ink);font-size:clamp(1.3rem,2.4vw,2rem);font-weight:200}.generator__layout{grid-template-columns:340px 1fr;align-items:start;gap:clamp(32px,5vw,64px);display:grid}.generator__controls-card{background:var(--color-elevated);border:1px solid var(--color-line-soft);flex-direction:column;gap:24px;padding:clamp(20px,3vw,28px);display:flex}.generator__section-box{border-bottom:1px solid var(--color-line-soft);flex-direction:column;gap:14px;padding-bottom:20px;display:flex}.generator__section-box:last-of-type{border-bottom:none;padding-bottom:0}.generator__box-label{letter-spacing:.15em;text-transform:uppercase;color:var(--color-ink);font-size:.68rem;font-weight:400}.generator__upload{aspect-ratio:16/10;border:1px dashed var(--color-line);background:var(--color-surface);justify-content:center;align-items:center;width:100%;transition:all .3s;display:flex;position:relative;overflow:hidden}.generator__upload:hover{border-color:var(--color-ink)}.generator__upload--has-image{border-style:solid;border-color:var(--color-line);aspect-ratio:1;border-radius:50%;max-width:180px;margin:0 auto}.generator__upload--editing{aspect-ratio:auto;border-radius:0;max-width:100%;padding:8px;overflow:visible}.generator__upload-empty{cursor:pointer;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:100%;height:100%;padding:16px;display:flex}.generator__upload-main-text{letter-spacing:.08em;color:var(--color-ink);font-size:.78rem;font-weight:400}.generator__upload-hint{color:var(--color-muted);font-size:.62rem;font-weight:300;line-height:1.4}.generator__upload-preview{width:100%;height:100%;display:block}.generator__inline-crop{max-width:100%;display:block}.generator__crop-image{max-width:100%;max-height:320px;display:block}.generator__upload-btn{text-align:center;width:100%}.generator__image-actions{justify-content:space-between;align-items:center;display:flex}.text-link--danger{color:var(--color-danger)!important}.text-link--danger:after{background-color:var(--color-danger)!important}.generator__slider-labelrow{align-items:center;gap:6px;display:flex}.generator__help-toggle{border:1px solid var(--color-line);width:15px;height:15px;color:var(--color-muted);cursor:pointer;background:0 0;border-radius:50%;flex:none;padding:0;font-family:Inter,sans-serif;font-size:.55rem;line-height:1;transition:all .25s}.generator__help-toggle:hover{border-color:var(--color-ink);color:var(--color-ink)}.generator__help-toggle--on{background:var(--color-ink);border-color:var(--color-ink);color:#fff}.generator__slider{flex-direction:column;gap:8px;display:flex}.generator__slider-header{justify-content:space-between;align-items:baseline;display:flex}.generator__slider-label{letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted);font-size:.65rem;font-weight:300}.generator__slider-note{text-transform:none;letter-spacing:.04em;opacity:.75}.generator__slider-value{color:var(--color-ink);font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:400}.generator__range{appearance:none;cursor:pointer;background:#e4e3df;outline:none;width:100%;height:2px}.generator__range::-webkit-slider-thumb{appearance:none;border:1.5px solid var(--color-ink);cursor:pointer;background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .2s,background-color .2s}.generator__range::-webkit-slider-thumb:hover{background:var(--color-ink);transform:scale(1.2)}.generator__slider-hint{color:var(--color-muted);letter-spacing:.05em;justify-content:space-between;font-size:.58rem;font-weight:300;display:flex}.generator__paint-layer{pointer-events:none;width:100%;height:100%;transition:opacity .25s;display:block;position:absolute;inset:0}.generator__paint-layer--active{pointer-events:auto;cursor:crosshair;touch-action:none}.generator__stage-row{justify-content:center;align-items:flex-start;gap:16px;width:100%;display:flex}.generator__tools{flex-direction:column;flex:none;gap:6px;width:96px;padding-top:4px;display:flex}.generator__tool{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-ink-soft);cursor:pointer;text-align:center;padding:7px 6px;font-family:Inter,sans-serif;font-size:.6rem;font-weight:300;transition:all .25s}.generator__tool:hover:not(:disabled){border-color:var(--color-ink);color:var(--color-ink)}.generator__tool--on{background:var(--color-ink);color:#fff;border-color:var(--color-ink)}.generator__tool--quiet{padding:5px 6px;font-size:.55rem}.generator__tool:disabled{opacity:.35;cursor:default}.generator__tool-row{gap:6px;display:flex}.generator__tool-row .generator__tool{flex:1;padding:6px 0;font-size:.85rem;line-height:1}.generator__tool-slider{flex-direction:column;gap:6px;padding:4px 0 8px;display:flex}.generator__tool-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);font-variant-numeric:tabular-nums;font-size:.55rem;font-weight:300}.generator__generate-wrap{flex-direction:column;gap:8px;display:flex}.generator__rerun-hint{letter-spacing:.14em;text-transform:uppercase;color:#c65c3c;align-self:center;font-size:.6rem;font-weight:400}.generator__rerun-hint:after{content:" ↓"}.generator__generate-btn--due{animation:1.8s ease-in-out infinite generator-due;color:#fff!important;background:#c65c3c!important;border-color:#c65c3c!important}@keyframes generator-due{0%,to{box-shadow:0 0 #c65c3c8c}70%{box-shadow:0 0 0 10px #c65c3c00}}.generator__reload{z-index:5;color:#fff;cursor:pointer;background:#c65c3c;border:none;border-radius:50%;width:40px;height:40px;font-size:1.15rem;line-height:1;animation:1.8s ease-in-out infinite generator-due;position:absolute;top:-6px;right:-6px;box-shadow:0 3px 10px #00000038}.generator__reload:disabled{opacity:.5;animation:none}.generator__advanced-toggle{letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--color-ink);background:var(--color-surface);width:100%;max-width:580px;color:var(--color-ink);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:12px;font-family:Inter,sans-serif;font-size:.64rem;font-weight:400;transition:all .25s;display:flex}.generator__advanced-toggle:hover{background:var(--color-ink);color:#fff}.generator__advanced-plus{border:1px solid;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:.7rem;line-height:1;display:inline-flex}.generator__versions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.generator__version-btn{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-ink-soft);cursor:pointer;padding:7px 12px;font-family:Inter,sans-serif;font-size:.6rem;font-weight:300;transition:all .25s}.generator__version-btn:hover{border-color:var(--color-ink);color:var(--color-ink)}.generator__version-btn--keep{background:var(--color-ink);border-color:var(--color-ink);color:#fff}.generator__version-badge{z-index:2;color:#fff;letter-spacing:.12em;text-transform:uppercase;pointer-events:none;background:#1a1a1ad1;padding:5px 12px;font-size:.58rem;font-weight:300;position:absolute;top:14px;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.generator__generate-btn--due{animation:none}}.generator__generate-btn{text-align:center;width:100%;padding:14px 18px!important}.text-link--btn-outline{color:var(--color-ink)!important;border:1px solid var(--color-ink)!important;background:0 0!important}.generator__error{color:var(--color-danger);text-align:center;margin:0;font-size:.72rem}.generator__stage{flex-direction:column;align-items:center;gap:20px;display:flex}.generator__canvas-holder{justify-content:center;width:100%;max-width:580px;display:flex;position:relative}.generator__canvas-wrapper{aspect-ratio:1;border:1px solid var(--color-line);background:#fff;border-radius:50%;width:100%;max-width:580px;position:relative;overflow:hidden;box-shadow:0 16px 40px #0000000d}.generator__nail-ring{pointer-events:none;z-index:2;border:1px dashed #0000001f;border-radius:50%;position:absolute;inset:6px}.generator__canvas-overlay{text-align:center;z-index:1;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:40px;display:flex;position:absolute;inset:0}.generator__canvas-overlay--clickable{cursor:pointer}.generator__idle-logo{opacity:.85;width:48%;max-width:180px}.generator__canvas-prompt{color:var(--color-muted);max-width:320px;font-size:.75rem;font-weight:300;line-height:1.6}.generator__canvas-view{transform-origin:50%;will-change:transform;position:absolute;inset:0}.generator__canvas{width:100%;height:100%;display:block}.generator__progress{flex-direction:column;gap:8px;width:100%;max-width:460px;display:flex}.generator__progress-bar{background:#e8e7e3;border-radius:2px;width:100%;height:3px;overflow:hidden}.generator__progress-fill{background:var(--color-ink);height:100%;transition:width .2s linear}.generator__progress-info{color:var(--color-muted);letter-spacing:.08em;justify-content:space-between;align-items:center;font-size:.68rem;font-weight:300;display:flex}.generator__progress-pct{color:var(--color-ink);font-variant-numeric:tabular-nums;font-weight:500}.generator__result-box{background:var(--color-elevated);border:1px solid var(--color-line);margin-top:12px;padding:clamp(24px,4vw,44px)}.generator__result-content{text-align:center;flex-direction:column;align-items:center;gap:16px;max-width:840px;margin:0 auto;display:flex}.generator__result-title{letter-spacing:.15em;text-transform:uppercase;color:var(--color-ink);font-size:clamp(1.1rem,1.8vw,1.4rem);font-weight:200}.generator__result-text{color:var(--color-ink-soft);max-width:600px;font-size:.88rem;font-weight:300;line-height:1.7}.generator__result-cards{text-align:left;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(16px,2.5vw,24px);width:100%;margin-top:16px;display:grid}.generator__result-card{background:var(--color-surface);border:1px solid var(--color-line-soft);border-radius:2px;flex-direction:column;justify-content:space-between;gap:14px;padding:clamp(20px,2.5vw,28px);display:flex}.generator__result-card--diy{background:#fcfcfb;border-color:#d6d6d2}.generator__result-card--physical{border-color:var(--color-ink);background:#fff;box-shadow:0 8px 24px #0000000f}.generator__card-info-note{color:#555;border-left:2px solid var(--color-ink);background:#f4f4f2;border-radius:0 2px 2px 0;margin-top:4px;padding:8px 10px;font-size:.72rem;line-height:1.5}.generator__tips-btn{border:1px dashed var(--color-line-soft);color:var(--color-ink-soft);cursor:pointer;background:0 0;border-radius:2px;justify-content:center;align-items:center;gap:6px;width:100%;padding:8px 12px;font-size:.72rem;transition:all .2s;display:inline-flex}.generator__tips-btn:hover{border-color:var(--color-ink);color:var(--color-ink);background:var(--color-hover)}.generator__card-tag{letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted);align-self:flex-start;font-size:.6rem;font-weight:400}.generator__card-tag--highlight{color:#fff;background:var(--color-ink);border-radius:2px;padding:2px 8px}.generator__result-card h4{letter-spacing:.06em;color:var(--color-ink);margin:0;font-size:.95rem;font-weight:400}.generator__result-card p{color:var(--color-ink-soft);margin:0;font-size:.78rem;font-weight:300;line-height:1.6}.generator__card-actions{flex-direction:column;align-items:flex-start;gap:10px;margin-top:8px;display:flex}.generator__card-price-row{flex-direction:column;gap:2px;margin-top:4px;display:flex}.generator__card-price{letter-spacing:.05em;color:var(--color-ink);font-size:1.3rem;font-weight:300}.generator__card-shipping{color:var(--color-muted);font-size:.65rem;font-weight:300}.generator__order-btn{text-align:center;width:100%;margin-top:6px}@media (width<=860px){.generator__layout{grid-template-columns:1fr;gap:32px}.generator__controls-card{order:2}.generator__section-box--settings{order:1}.generator__section-box--upload{order:2}.generator__generate-wrap{order:3}.generator__stage{order:1}.generator__result-cards{grid-template-columns:1fr}.generator__stage-row{flex-direction:column;align-items:center}.generator__tools{flex-flow:wrap;justify-content:center;width:100%;max-width:580px}.generator__tool-slider{flex:140px;min-width:140px;padding:0}.generator__generate-wrap{z-index:4;padding:10px 0 calc(10px + env(safe-area-inset-bottom,0px));background:var(--color-elevated);border-top:1px solid var(--color-line-soft);margin:0 -20px -20px;padding-left:20px;padding-right:20px;position:sticky;bottom:0}}.before-after{background-color:var(--color-surface);border-bottom:1px solid var(--color-line-soft);justify-content:center;display:flex;overflow:hidden}.before-after__container{flex-direction:column;gap:clamp(24px,3.5vw,36px);width:100%;max-width:1040px;display:flex}.before-after__header{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.before-after__eyebrow{letter-spacing:.3em;text-transform:uppercase;color:var(--color-muted);font-size:.7rem;font-weight:300}.before-after__heading{letter-spacing:.22em;text-transform:uppercase;color:var(--color-ink);font-size:clamp(1.2rem,2.2vw,1.8rem);font-weight:200}.before-after__subtitle{color:var(--color-ink-soft);max-width:620px;font-size:clamp(.85rem,1.1vw,.95rem);font-weight:300;line-height:1.7}.before-after__tabs{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.before-after__tab{letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--color-line);background:var(--color-elevated);color:var(--color-ink-soft);cursor:pointer;padding:8px 16px;font-family:Inter,sans-serif;font-size:.68rem;font-weight:300;transition:all .25s}.before-after__tab:hover{border-color:var(--color-ink);color:var(--color-ink)}.before-after__tab--active{background:var(--color-ink);color:#fff;border-color:var(--color-ink)}.before-after__labels-bar{justify-content:space-between;align-items:center;width:100%;max-width:540px;margin:0 auto;padding:0 4px;display:flex}.before-after__label-tag{letter-spacing:.1em;text-transform:uppercase;color:var(--color-ink);align-items:center;gap:8px;font-size:.7rem;font-weight:400;display:inline-flex}.before-after__label-dot{border-radius:50%;width:7px;height:7px}.before-after__label-dot--dark{background-color:#1a1a1a}.before-after__label-dot--thread{background-color:#777;border:1px solid #1a1a1a}.before-after__stage-wrapper{justify-content:center;width:100%;display:flex}.before-after__stage{aspect-ratio:1;border:1px solid var(--color-line);cursor:ew-resize;-webkit-user-select:none;user-select:none;touch-action:none;background:#fff;border-radius:50%;width:100%;max-width:540px;position:relative;overflow:hidden;box-shadow:0 20px 48px #00000014}.before-after__layer{width:100%;height:100%;position:absolute;inset:0}.before-after__layer--artwork{z-index:1;background:#fff}.before-after__layer--original{z-index:2;background:#fff}.before-after__image{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.before-after__handle-line{z-index:10;pointer-events:none;background:#fff;width:2px;position:absolute;top:0;bottom:0;transform:translate(-50%);box-shadow:0 0 14px #0006}.before-after__handle-btn{color:#1a1a1a;background:#fff;border:1px solid #00000014;border-radius:50%;justify-content:center;align-items:center;gap:3px;width:38px;height:38px;font-size:1rem;font-weight:300;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 16px #00000040}.before-after__footer{text-align:center;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:540px;margin:0 auto;padding-top:8px;display:flex}.before-after__work-info{color:var(--color-ink-soft);text-align:center;font-size:.85rem}.before-after__buttons{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;display:flex}@media (width<=768px){.before-after__stage,.before-after__labels-bar{max-width:340px}.before-after__label-tag{font-size:.62rem}.before-after__footer{gap:14px;max-width:340px}.before-after__buttons{flex-direction:column;align-items:stretch;gap:12px;width:100%}.before-after__buttons a,.before-after__buttons button{text-align:center}}@media (width<=420px){.before-after__stage,.before-after__labels-bar,.before-after__footer{max-width:290px}}.portfolio{background-color:var(--color-surface);flex-direction:column;align-items:center;display:flex}.portfolio__header{text-align:center;flex-direction:column;align-items:center;gap:16px;margin-bottom:clamp(80px,14vh,160px);display:flex}.portfolio__eyebrow{letter-spacing:.35em;text-transform:uppercase;color:#999;font-size:.7rem;font-weight:300}.portfolio__heading{letter-spacing:-.01em;color:#1a1a1a;margin:0;font-size:clamp(2rem,4.5vw,3.4rem);font-weight:200;line-height:1.1}.portfolio__rule{transform-origin:50%;background:#1a1a1a;width:56px;height:1px;margin-top:16px}.portfolio__list{flex-direction:column;gap:clamp(96px,18vh,200px);width:100%;max-width:1180px;display:flex}.portfolio__work{grid-template-columns:1.25fr 1fr;align-items:center;gap:clamp(40px,6vw,96px);padding:0 clamp(16px,4vw,48px);display:grid;position:relative}.portfolio__work--reverse{grid-template-columns:1fr 1.25fr}.portfolio__work--reverse .portfolio__image-col{order:2}.portfolio__work--reverse .portfolio__meta-col{text-align:right;order:1}.portfolio__work--reverse .portfolio__specs{justify-content:flex-end}.portfolio__work--reverse .portfolio__index:before{display:none}.portfolio__work--reverse .portfolio__index:after{content:"";vertical-align:middle;background:#1a1a1a;width:32px;height:1px;margin-left:16px;display:inline-block}.portfolio__image-col{width:100%}.portfolio__image-frame{background:#fafafa;width:100%;line-height:0;position:relative;overflow:hidden}.portfolio__image-frame:after{content:"";pointer-events:none;border:1px solid #0000000a;position:absolute;inset:0}.portfolio__image{aspect-ratio:1;object-fit:cover;width:100%;height:auto;transition:transform .9s,filter .9s;display:block}.portfolio__image-frame:hover .portfolio__image{filter:brightness(1.03);transform:scale(1.02)}.portfolio__meta-col{flex-direction:column;gap:24px;display:flex}.portfolio__index{letter-spacing:.2em;color:#1a1a1a;font-variant-numeric:tabular-nums;align-items:center;font-size:.7rem;font-weight:300;display:inline-flex}.portfolio__index:before{content:"";vertical-align:middle;background:#1a1a1a;width:32px;height:1px;margin-right:16px;display:inline-block}.portfolio__title{letter-spacing:-.005em;color:#1a1a1a;margin:0;font-size:clamp(1.4rem,2.4vw,2rem);font-weight:300;line-height:1.2}.portfolio__desc{color:#555;max-width:36ch;margin:0;font-size:clamp(.85rem,1.05vw,.95rem);font-weight:300;line-height:1.7}.portfolio__work--reverse .portfolio__desc{margin-left:auto}.portfolio__specs{border-top:1px solid #eee;flex-wrap:wrap;gap:32px;margin:16px 0 0;padding-top:24px;display:flex}.portfolio__spec{flex-direction:column;gap:6px;margin:0;display:flex}.portfolio__spec dt{letter-spacing:.2em;text-transform:uppercase;color:#999;margin:0;font-size:.6rem;font-weight:300}.portfolio__spec dd{color:#1a1a1a;font-variant-numeric:tabular-nums;margin:0;font-size:.85rem;font-weight:300}.portfolio__cta{text-align:center;margin-top:clamp(80px,14vh,160px)}@media (width<=860px){.portfolio__work,.portfolio__work--reverse{grid-template-columns:1fr;gap:32px;padding:0}.portfolio__work--reverse .portfolio__image-col,.portfolio__work--reverse .portfolio__meta-col{order:unset;text-align:left}.portfolio__work--reverse .portfolio__desc{margin-left:0}.portfolio__work--reverse .portfolio__specs{justify-content:flex-start}.portfolio__work--reverse .portfolio__index:after{display:none}.portfolio__work--reverse .portfolio__index:before{content:"";vertical-align:middle;background:#1a1a1a;width:32px;height:1px;margin-left:0;margin-right:16px;display:inline-block}.portfolio__list{gap:clamp(64px,12vh,120px)}.portfolio__specs{gap:24px}}.reviews{background-color:var(--color-surface);border-bottom:1px solid var(--color-line-soft);justify-content:center;display:flex}.reviews__container{flex-direction:column;gap:clamp(40px,6vw,64px);width:100%;max-width:1100px;display:flex}.reviews__header{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.reviews__eyebrow{letter-spacing:.3em;text-transform:uppercase;color:var(--color-muted);font-size:.7rem;font-weight:300}.reviews__heading{letter-spacing:.25em;text-transform:uppercase;color:var(--color-ink);font-size:clamp(1.2rem,2.2vw,1.8rem);font-weight:200}.reviews__summary{align-items:center;gap:12px;margin-top:6px;display:flex}.reviews__summary-text{letter-spacing:.08em;color:var(--color-ink-soft);font-size:.75rem;font-weight:300}.star-rating{gap:3px;display:inline-flex}.star-rating__star{color:#d8d8d8;cursor:default;background:0 0;border:none;padding:0;font-size:1.1rem;line-height:1;transition:color .2s,transform .2s}.star-rating__star--filled{color:#1a1a1a}.star-rating--interactive .star-rating__star{cursor:pointer;padding:0 3px;font-size:1.4rem}.star-rating--interactive .star-rating__star:hover{color:#1a1a1a;transform:scale(1.2)}.reviews__grid{grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,36px);display:grid}.reviews__card{background:var(--color-elevated);border:1px solid var(--color-line-soft);flex-direction:column;justify-content:space-between;gap:20px;padding:clamp(24px,3vw,36px);transition:transform .3s,box-shadow .3s;display:flex}.reviews__card:hover{transform:translateY(-3px);box-shadow:0 10px 28px #0000000a}.reviews__card-header{justify-content:space-between;align-items:center;display:flex}.reviews__card-date{letter-spacing:.08em;color:var(--color-muted);text-transform:uppercase;font-size:.65rem;font-weight:300}.reviews__card-text{color:var(--color-ink);font-size:clamp(.85rem,1vw,.92rem);font-style:italic;font-weight:300;line-height:1.8}.reviews__card-author{border-top:1px solid var(--color-line-soft);flex-direction:column;gap:2px;padding-top:14px;display:flex}.reviews__author-name{letter-spacing:.06em;color:var(--color-ink);font-size:.8rem;font-weight:400}.reviews__author-city{color:var(--color-muted);font-size:.68rem;font-weight:300}.reviews__verified-badge{letter-spacing:.06em;color:#2e7d32;margin-top:2px;font-size:.62rem;font-weight:300}.reviews__actions{justify-content:center;display:flex}.reviews__modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.reviews__modal{border:1px solid var(--color-line);background:#fff;width:100%;max-width:520px;padding:clamp(24px,4vw,40px);position:relative;box-shadow:0 20px 48px #00000029}.reviews__modal-header{justify-content:space-between;align-items:baseline;margin-bottom:24px;display:flex}.reviews__modal-header h3{letter-spacing:.18em;text-transform:uppercase;color:var(--color-ink);font-size:1rem;font-weight:200}.reviews__modal-close{color:var(--color-muted);cursor:pointer;background:0 0;border:none;font-size:1.6rem;line-height:1;transition:color .2s}.reviews__modal-close:hover{color:var(--color-ink)}.reviews__form{flex-direction:column;gap:18px;display:flex}.reviews__form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.reviews__form-group{flex-direction:column;gap:6px;display:flex}.reviews__form-label{letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted);font-size:.68rem;font-weight:300}.reviews__form-input,.reviews__form-textarea{border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-ink);outline:none;padding:10px 14px;font-family:Inter,sans-serif;font-size:.85rem;font-weight:300;transition:border-color .25s}.reviews__form-input:focus,.reviews__form-textarea:focus{border-color:var(--color-ink)}.reviews__form-textarea{resize:vertical;line-height:1.6}.reviews__form-error{color:var(--color-danger);font-size:.72rem}.reviews__form-actions{justify-content:flex-end;align-items:center;gap:16px;margin-top:8px;display:flex}.reviews__modal-success{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:32px 0;display:flex}.reviews__success-icon{color:#2e7d32;font-size:2.2rem}.reviews__modal-success h4{letter-spacing:.12em;font-size:1.1rem;font-weight:200}.reviews__modal-success p{color:var(--color-muted);font-size:.85rem}@media (width<=860px){.reviews__grid{grid-template-columns:1fr;gap:20px}.reviews__form-row{grid-template-columns:1fr}}.faq{background-color:var(--color-surface);border-bottom:1px solid var(--color-line-soft);justify-content:center;display:flex}.faq__container{flex-direction:column;gap:clamp(36px,5vw,56px);width:100%;max-width:860px;display:flex}.faq__header{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.faq__eyebrow{letter-spacing:.3em;text-transform:uppercase;color:var(--color-muted);font-size:.7rem;font-weight:300}.faq__heading{letter-spacing:.22em;text-transform:uppercase;color:var(--color-ink);font-size:clamp(1.2rem,2.2vw,1.8rem);font-weight:200}.faq__subtitle{color:var(--color-ink-soft);max-width:600px;font-size:clamp(.85rem,1.1vw,.95rem);font-weight:300;line-height:1.7}.faq__list{border-top:1px solid var(--color-line);flex-direction:column;display:flex}.faq__item{border-bottom:1px solid var(--color-line-soft);transition:background-color .25s}.faq__item--open{background-color:var(--color-elevated)}.faq__question{text-align:left;cursor:pointer;background:0 0;border:none;outline:none;justify-content:space-between;align-items:center;gap:20px;width:100%;padding:clamp(18px,2.5vw,26px) 16px;transition:color .2s;display:flex}.faq__question-text{letter-spacing:.04em;color:var(--color-ink);font-family:Inter,sans-serif;font-size:clamp(.92rem,1.15vw,1.05rem);font-weight:300;line-height:1.5}.faq__item--open .faq__question-text{font-weight:400}.faq__toggle-icon{color:var(--color-ink);flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:1.4rem;font-weight:200;line-height:1;transition:transform .3s;display:flex}.faq__answer{overflow:hidden}.faq__answer-inner{padding:0 16px clamp(20px,3vw,28px)}.faq__answer-inner p{color:var(--color-ink-soft);margin:0;font-size:clamp(.85rem,1.05vw,.92rem);font-weight:300;line-height:1.85}.faq__image-wrap{border:1px solid var(--color-line-soft);background:#fff;border-radius:6px;width:100%;max-width:600px;margin-top:18px;overflow:hidden;box-shadow:0 4px 16px #0000000a}.faq__answer-img{width:100%;height:auto;display:block}.cookie-banner{z-index:9999;background:#fafafa;border-top:1px solid #e8e8e8;justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;animation:.4s ease-out cookieSlideUp;display:flex;position:fixed;bottom:0;left:0;right:0}@keyframes cookieSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.cookie-banner__main{flex:1;min-width:0}.cookie-banner__text{color:#666;margin:0;font-size:.78rem;font-weight:300;line-height:1.4}.cookie-banner__details-toggle{font:inherit;color:#1a1a1a;text-underline-offset:2px;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.cookie-banner__details{border-top:1px solid #ececec;flex-direction:column;gap:6px;margin-top:12px;padding-top:10px;display:flex}.cookie-banner__option{color:#444;cursor:pointer;align-items:center;gap:8px;font-size:.75rem;font-weight:300;display:flex}.cookie-banner__option input[type=checkbox]{accent-color:#1a1a1a}.cookie-banner__option--disabled{cursor:not-allowed;color:#999}.cookie-banner__actions{flex-shrink:0;gap:10px;display:flex}.cookie-banner__btn{cursor:pointer;border:none;font-family:Inter,sans-serif;font-size:.72rem;font-weight:400;transition:all .2s}.cookie-banner__btn--decline{color:#999;text-underline-offset:2px;background:0 0;padding:6px 12px;text-decoration:underline}.cookie-banner__btn--decline:hover{color:#666}.cookie-banner__btn--accept{color:#fff;letter-spacing:.04em;background:#1a1a1a;padding:8px 20px}.cookie-banner__btn--accept:hover{background:#333}@media (width<=600px){.cookie-banner{flex-direction:column;align-items:stretch;gap:12px;padding:16px 20px}.cookie-banner__actions{justify-content:flex-end}}.cart-toast{z-index:1200;background:var(--color-elevated);border:1px solid #1a1a1a;align-items:center;gap:20px;max-width:calc(100vw - 32px);padding:14px 22px;display:flex;position:fixed;bottom:clamp(16px,4vw,32px);right:clamp(16px,4vw,32px);box-shadow:0 8px 30px #00000014}.cart-toast__msg{letter-spacing:.08em;text-transform:uppercase;color:#1a1a1a;font-size:.72rem;font-weight:300}.cart-toast__link{letter-spacing:.14em;text-transform:uppercase;color:#1a1a1a;white-space:nowrap;border-bottom:1px solid #1a1a1a;padding-bottom:1px;font-size:.68rem;font-weight:400}@media (width<=480px){.cart-toast{justify-content:space-between;left:16px;right:16px}}.fadenwerke-app{background-color:var(--color-surface);width:100%;min-height:100vh}.page-loader{justify-content:center;align-items:center;min-height:60vh;display:flex}.page-loader__bar{background-color:var(--color-line);width:120px;height:1px;position:relative;overflow:hidden}.page-loader__bar:after{content:"";background-color:var(--color-ink);width:40%;animation:page-loader-slide 1.1s var(--ease-gallery) infinite;position:absolute;inset:0}@keyframes page-loader-slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}
