@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--paper:#f9f6f0;--ink:#292521;--wine:#4b202d;--line:#d9d2c7;--muted:#675f58}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a77845;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.13}h1{font-size:clamp(52px,5.1vw,83px);letter-spacing:-3px}h2{font-size:clamp(38px,3.5vw,56px);letter-spacing:-1.8px}h3{font-size:27px}em{font-weight:400;color:var(--wine)}.preview{background:var(--wine);color:#f5eadd;display:flex;justify-content:space-between;padding:7px 5%;font-size:10px;letter-spacing:1.6px}.preview span{letter-spacing:.5px}header{padding:26px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.logo{font-family:Georgia,serif;font-size:38px;letter-spacing:-2px;line-height:1}.logo span{display:block;font:8px 'DM Sans',sans-serif;letter-spacing:4px;margin-top:12px;text-align:center}nav{display:flex;gap:34px;align-items:center;font-size:12px}.nav-cta{border-bottom:1px solid var(--wine);padding-bottom:5px;color:var(--wine)}.nav-cta span{margin-left:26px}.menu{display:none}.hero{display:grid;grid-template-columns:48% 52%;min-height:690px}.hero-copy{padding:65px 9% 35px 10.4%;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;line-height:1.5;margin-bottom:25px}.intro{max-width:390px;color:var(--muted);margin-top:26px;font-size:14px}.actions{display:flex;gap:25px;align-items:center;margin-top:30px;flex-wrap:wrap}.button{display:inline-flex;justify-content:space-between;gap:35px;align-items:center;background:var(--wine);border:1px solid var(--wine);color:#fff;padding:16px 23px;font-size:12px}.button:hover{background:#693244}.text-link{font-size:12px;border:0;border-bottom:1px solid currentColor;padding:5px 0;background:transparent;color:var(--wine)}.hero-note{border-top:1px solid var(--line);margin-top:50px;padding-top:20px;max-width:360px}.hero-note span{font-size:8px;letter-spacing:1.7px}.hero-note p{font-family:Georgia,serif;font-size:17px;margin-top:8px;max-width:260px}.hero-image{position:relative}.hero-image img{width:100%;height:100%;object-fit:cover}.hero-image figcaption{position:absolute;bottom:20px;left:25px;right:25px;color:#fff;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px;text-shadow:0 1px 6px #000}.principles{display:flex;justify-content:space-evenly;padding:25px 5%;border-bottom:1px solid var(--line);font:18px Georgia,serif}.principles i{color:#9c7e5b;font-style:normal}.section{padding:90px 7%}.section-top{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}.section-top>p{max-width:345px;font-size:13px;color:var(--muted)}.gallery{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:23px}.interior{padding:0;background:transparent;border:0;color:inherit;text-align:left}.interior img{width:100%;height:340px;object-fit:cover;transition:filter .2s}.interior:hover img{filter:brightness(.9)}.interior div{padding:17px 0}.interior span{font-size:9px;letter-spacing:1.8px}.interior h3{font-size:23px;margin:10px 0}.interior b{float:right;font:20px 'DM Sans',sans-serif;font-weight:400}.interior p{font-size:11px;color:var(--muted)}.micro{font-size:11px;color:var(--muted);margin-top:15px}.style-section{padding:65px 7%;background:#eae5da;display:grid;grid-template-columns:1fr 1fr;gap:12%}.style-section>div>p:not(.eyebrow){max-width:380px;margin-top:25px;color:var(--muted);font-size:13px}.quiz{background:var(--paper);padding:35px}.quiz h3{margin-bottom:23px}.choices{display:grid;gap:10px}.choices button{border:1px solid var(--line);background:transparent;text-align:left;padding:14px 17px;font-size:13px;color:var(--ink)}.choices button:hover{background:#eae5da}.choices span{float:right;font-size:10px}.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.services article{padding:30px 30px 10px 0}.services article+article{border-left:1px solid var(--line);padding-left:30px}.number{font-family:Georgia,serif;color:#958478;font-size:25px}.services .eyebrow{margin:27px 0 12px;font-size:9px}.services article>p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:20px;min-height:50px}.services ul{list-style:none;padding:0;font-size:12px;margin:24px 0}.services li{padding:8px 0;border-bottom:1px solid var(--line)}.process{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:12%}.process>div>p:not(.eyebrow){max-width:330px;margin:24px 0;font-size:13px;color:var(--muted)}.process ol{list-style:none;padding:0;margin:0}.process li{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:22px 0}.process li>span{font-size:12px;color:var(--wine)}.process h3{font-size:24px}.process li p{font-size:13px;color:var(--muted);margin-top:10px}.brief{background:var(--wine);color:var(--paper);display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.brief em{color:#d9bca4}.brief>div>p:not(.eyebrow){max-width:320px;margin-top:25px;font-size:13px;color:#dfcfd1}.brief-note{border-top:1px solid #795360;margin-top:35px;padding-top:20px;font-size:11px;max-width:320px;color:#dfcfd1}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:11px;margin-bottom:16px}input,select,textarea{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #a0828b;color:var(--paper);padding:11px 0;border-radius:0;font-size:12px;outline-offset:4px}input::placeholder,textarea::placeholder{color:#d2bcc3;opacity:1}select option{color:var(--ink);background:var(--paper)}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #e1c5a8}form .button{background:var(--paper);color:var(--wine);margin-top:15px;width:100%}form .button:hover{background:#e7dccd}.optional{color:#ceb9c0}#brief-status{font-size:12px;margin-top:15px}#download{color:#fff}#download[hidden]{display:none}.faq{max-width:1050px;margin:auto}.faq h2{margin-bottom:35px}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{cursor:pointer;font-size:14px}.faq details p{font-size:13px;color:var(--muted);padding-top:15px;max-width:750px}footer{padding:45px 7% 25px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:30px}footer .logo{justify-self:start}footer p{font-size:12px;color:var(--muted)}footer>div{display:flex;justify-content:end;gap:30px;font-size:12px}footer small{grid-column:1/-1;font-size:9px;color:var(--muted);border-top:1px solid var(--line);padding-top:25px;margin-top:20px}dialog{border:0;background:var(--paper);padding:50px;width:min(580px,90vw);color:var(--ink);max-height:90vh}dialog::backdrop{background:#221a19aa}dialog h2{font-size:42px;margin-bottom:25px}dialog p:not(.eyebrow){color:var(--muted);font-size:14px}dialog h3{font-size:22px;margin-top:25px}dialog ul{font-size:13px;padding-left:18px;margin-bottom:30px}.close{position:absolute;right:18px;top:12px;border:0;background:none;font-size:20px}
@media(min-width:1500px){main,header,footer{max-width:1700px;margin:auto}.hero{min-height:760px}}@media(max-width:1000px){nav{gap:20px}.hero-copy{padding-top:45px;padding-bottom:35px}.hero{min-height:610px}h1{font-size:60px}.gallery{gap:15px}.interior img{height:270px}.interior h3{font-size:20px}.style-section{gap:7%}.section{padding:65px 6%}.brief{gap:6%}}@media(max-width:720px){.preview{font-size:8px}.preview span{display:none}header{padding:22px 6%;flex-wrap:wrap}.logo{font-size:32px}.menu{display:block;background:none;border:1px solid var(--line);padding:8px 12px;font-size:11px}nav{display:none;width:100%;padding:25px 0 5px;flex-direction:column;align-items:start}nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 6%}.hero h1{font-size:59px;letter-spacing:-2px}.hero-note{margin-top:30px}.hero-image{height:400px}.principles{flex-wrap:wrap;gap:15px;font-size:14px}.principles i{display:none}.section-top{display:block}.section-top>p{margin-top:25px}.gallery{grid-template-columns:1fr}.interior img{height:340px}.interior h3{font-size:25px}.gallery .interior{margin-bottom:15px}.style-section,.process,.brief{grid-template-columns:1fr;gap:35px}.style-section{padding:50px 6%}.quiz{padding:25px}.services{grid-template-columns:1fr}.services article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}.services article{padding:25px 0}.services .eyebrow{margin-top:15px}.services article>p:not(.eyebrow){min-height:0}footer{grid-template-columns:1fr 1fr}footer p{grid-column:1/-1;grid-row:2}footer>div{gap:15px}dialog{padding:40px 25px}.fields{gap:15px}h2{font-size:42px}.section{padding:55px 6%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Luxury direction: restrained bronze, architectural spacing, image-led concepts. */
:root{--paper:#faf7f1;--wine:#46202a;--line:#d8cebf}.hero{min-height:770px;grid-template-columns:44% 56%}.hero-copy{padding-left:11.4%;padding-right:9%}.hero h1{font-size:clamp(55px,4.8vw,79px);line-height:1.08}.hero-image img{object-position:center}.gallery{grid-template-columns:repeat(3,1fr)}.interior img{height:310px}.interior div>span{color:#826749}.investment{background:#ede7dc;display:grid;grid-template-columns:1fr 1fr;gap:12%}.investment-intro{font-size:15px;color:var(--muted);margin-bottom:25px}.value-row{display:flex;gap:22px;padding:20px 0;border-top:1px solid #d1c7b7}.value-row>span{font-size:11px;color:#826749}.value-row h3{font-size:24px}.value-row p{font-size:13px;color:var(--muted);margin-top:12px}.light{color:#dfcfd1;margin:0 0 20px}.look-image{width:100%;height:310px;object-fit:cover;margin-bottom:28px}.close{background:var(--paper);width:35px;height:35px;z-index:1}dialog{width:min(800px,94vw);padding:35px}dialog .eyebrow{margin-bottom:15px}.skip{position:absolute;z-index:10;left:15px;top:-100px;background:var(--paper);padding:12px}.skip:focus{top:10px}.hero .intro{font-size:14px}.hero-note{margin-top:36px}.interior h3{font-size:24px}#brief-status:empty{display:none}
@media(max-width:1000px){.hero{min-height:700px}.hero h1{font-size:61px}.interior img{height:250px}.interior h3{font-size:21px}.investment{gap:7%}}
@media(max-width:720px){.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:45px 6%}.hero h1{font-size:58px}.hero-image{height:420px}.gallery,.investment{grid-template-columns:1fr}.interior img{height:320px}.interior h3{font-size:26px}.investment{gap:30px}.look-image{height:230px}dialog{padding:25px}dialog h2{font-size:33px}.hero .intro{max-width:440px}}
.collection-filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px}.collection-filters button{border:1px solid var(--line);background:transparent;padding:10px 16px;color:var(--muted);font-size:11px}.collection-filters button span{margin-left:18px;font-size:9px}.collection-filters button[aria-pressed=true]{background:var(--wine);border-color:var(--wine);color:white}.interior[hidden]{display:none}.gallery{row-gap:25px}
.photo-credit{display:block;margin-top:15px;font-size:11px;text-decoration:underline;text-underline-offset:4px;color:var(--wine)}.photo-credits{padding-top:25px;padding-bottom:45px;border-top:1px solid var(--line)}.photo-credits>p:not(.eyebrow){font-size:12px;color:var(--muted)}.photo-credits ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.photo-credits li{font-size:11px;color:var(--muted)}.photo-credits a:hover{text-decoration:underline}.hero-image img{object-position:50% 50%}@media(max-width:720px){.photo-credits ul{grid-template-columns:1fr 1fr}}
/* Portfolio and dimensional interaction */
.hero-image img{object-fit:cover;object-position:center}.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.project-card{border:0;padding:0;background:transparent;text-align:left;color:var(--ink)}.project-image{height:330px;position:relative;overflow:hidden;background:#e8e0d4}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.project-card:hover img,.project-card:focus-visible img{transform:scale(1.035)}.image-open{position:absolute;bottom:12px;right:12px;background:var(--paper);padding:7px 11px;font-size:10px;opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s}.project-card:hover .image-open,.project-card:focus-visible .image-open{opacity:1;transform:none}.project-meta{padding-top:18px}.project-meta>span{font-size:9px;letter-spacing:1.5px;color:#826749}.project-meta h3{font-size:24px;margin:10px 0}.project-meta p{font-size:12px;color:var(--muted)}.spatial-section{display:grid;grid-template-columns:1fr 1.15fr;gap:8%;background:#eae4d9;overflow:hidden}.spatial-copy>p:not(.eyebrow){max-width:360px;margin-top:25px;color:var(--muted);font-size:14px}.spatial-copy .text-link{display:inline-block;margin-top:25px}.spatial-copy .micro{font-size:11px!important}.spatial-stage{height:360px;position:relative;display:grid;place-items:center;perspective:1000px;isolation:isolate;background:radial-gradient(ellipse at 50% 55%,#fff9eb 0%,#e6ddcf 70%);border:1px solid #d7cabb;transition:background .6s}.room-model{--angle:-35deg;--accent:#6a3e61;width:300px;height:240px;position:relative;transform-style:preserve-3d;transform:rotateX(58deg) rotateZ(var(--angle));transition:transform .15s ease-out;filter:drop-shadow(10px 15px 10px #66513a33)}.room-floor{position:absolute;inset:0;background:repeating-linear-gradient(90deg,#c9b89c 0 48px,#ad9b7d 49px 50px);border:1px solid #ad987b;box-shadow:0 0 0 9px #b8a181}.room-wall{position:absolute;transform-style:preserve-3d;background:#f3eadb;border:1px solid #c5b79e;box-shadow:inset 0 -8px 0 #e2d3bd}.back-wall{width:300px;height:150px;transform-origin:top left;transform:rotateX(90deg);top:0;left:0;background:linear-gradient(90deg,#e5d9c4 0 22%,#f8f1e5 22% 78%,#e5d9c4 78%)}.left-wall{width:240px;height:150px;transform-origin:top left;left:0;top:240px;transform:rotateZ(-90deg) rotateX(90deg);background:#eee3d1}.window-grid{position:absolute;left:42px;top:20px;width:150px;height:98px;border:6px solid #413b35;background:linear-gradient(0deg,#a9c7b6,#d3e6e6);box-shadow:inset 0 0 0 1px #413b35}.window-grid:before{content:'';position:absolute;left:48%;height:100%;width:4px;background:#413b35}.wall-art{position:absolute;width:82px;height:65px;left:110px;top:43px;background:linear-gradient(35deg,#d0b183 0 30%,var(--accent) 30% 60%,#f9f5eb 60%);border:4px solid #66543e;transform:translateZ(2px)}.light-line{position:absolute;left:7px;right:7px;bottom:9px;height:3px;background:#d7c2a0;box-shadow:0 0 0 transparent}.room-rug{position:absolute;left:48px;top:100px;width:215px;height:120px;background:#f4ece2;transform:translateZ(1px);border:3px solid #e4d9ca}.prism{width:var(--w);height:var(--d);position:absolute;transform-style:preserve-3d;--object:var(--accent)}.prism i{position:absolute;display:block;transform-style:preserve-3d;background:var(--object);border:1px solid #ffffff22;transition:background .4s}.prism .top{width:var(--w);height:var(--d);transform:translateZ(var(--h));filter:brightness(1.13)}.prism .front{width:var(--w);height:var(--h);top:var(--d);transform-origin:top left;transform:rotateX(90deg);filter:brightness(.85)}.prism .side{width:var(--d);height:var(--h);transform-origin:top left;transform:rotateZ(90deg) rotateX(90deg);filter:brightness(.7)}.sofa{left:72px;top:152px;transform:translateZ(2px)}.sofa-back{left:72px;top:203px;transform:translateZ(2px)}.room-table{left:115px;top:103px;--object:#af9370;transform:translateZ(2px)}.room-desk{left:170px;top:25px;--object:#594433;transform:translateZ(2px)}.model-caption{position:absolute;bottom:15px;left:20px;font-size:8px;letter-spacing:1.8px;color:#6c5e4b}.evening{background:radial-gradient(ellipse at center,#56465d,#282332)}.evening .room-model{filter:brightness(.78) drop-shadow(10px 15px 10px #0005)}.evening .light-line{background:#ffe0a1;box-shadow:0 -10px 30px 13px #ffd58488}.evening .window-grid{background:linear-gradient(#383b59,#76628a)}.evening .model-caption{color:#e7dccb}.model-controls{padding-top:18px}.rotation-label{display:flex;justify-content:space-between;color:var(--ink);font-size:11px;margin:0}.model-controls input[type=range]{width:100%;accent-color:var(--wine);border:none;padding:10px 0;margin:0;background:none}.finish-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.finish-controls button{display:flex;gap:8px;align-items:center;padding:8px 12px;border:1px solid #c5b79e;background:transparent;font-size:11px;color:var(--ink)}.finish-controls button[aria-pressed=true]{border-color:var(--wine);box-shadow:inset 0 0 0 1px var(--wine)}.swatch{display:block;width:12px;height:12px;border-radius:50%}.plum{background:#6a3e61}.ivory{background:#dfd2b8}.olive{background:#647258}.lighting-button{background:transparent;border:0;border-bottom:1px solid #9e8c78;padding:9px 0;margin:12px 22px 0 0;font-size:11px;color:var(--wine)}.lighting-button span{margin-left:20px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}.hero-copy h1{animation:hero-in .8s ease both}.hero-copy .intro{animation:hero-in 1s .12s ease both}@keyframes hero-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.interior{animation:card-in .35s ease}@keyframes card-in{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:none}}.look-image{object-fit:contain;background:#eee8df;height:380px}dialog[open]{animation:dialog-in .25s ease}@keyframes dialog-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.project-grid{grid-template-columns:repeat(2,1fr)}.project-image{height:350px}.spatial-section{gap:5%}.spatial-stage{height:320px}.room-model{scale:.85}}
@media(max-width:720px){.spatial-section{grid-template-columns:1fr;gap:35px}.project-grid{gap:22px 14px}.project-image{height:265px}.project-meta h3{font-size:22px}.spatial-stage{height:350px}.room-model{scale:.85}.image-open{opacity:1;transform:none}.look-image{height:330px}.project-meta p{font-size:11px}}
@media(max-width:400px){.project-image{height:220px}.room-model{scale:.72}.spatial-stage{height:310px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.hero-copy h1,.hero-copy .intro{opacity:1}}
/* Six clipped facets rotate away to reveal the next design. */
.prism-showcase{overflow:hidden;isolation:isolate;background:#342a26}.prism-showcase>img{position:absolute;inset:0}.prism-shards{position:absolute;inset:0;perspective:1100px;pointer-events:none;z-index:1}.prism-shard{position:absolute;inset:0;backface-visibility:hidden;transform-origin:var(--pivot) 50%;animation:prism-turn .95s cubic-bezier(.22,.72,.18,1) var(--delay) both;will-change:transform,opacity}.prism-shard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.prism-shard:after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,#fff6 49%,transparent 72%);opacity:0;animation:prism-glint .95s ease var(--delay) both}.prism-showcase figcaption{z-index:2;bottom:24px;gap:20px}.prism-showcase figcaption span:last-child{text-align:right}.prism-controls{position:absolute;z-index:3;top:20px;right:20px;display:flex;align-items:center;gap:6px;background:#221a19b8;padding:6px;color:#fff;backdrop-filter:none}.prism-controls[hidden]{display:none}.prism-controls button{background:transparent;border:1px solid #ffffff60;color:#fff;min-width:40px;min-height:40px;font-size:11px;padding:8px}.prism-controls button:hover,.prism-controls button:focus-visible{background:#ffffff28}.prism-controls span{font-size:9px;letter-spacing:1px;padding:0 8px}@keyframes prism-turn{0%{transform:translateX(0) rotateY(0deg);opacity:1}70%{opacity:1}100%{transform:translateX(var(--shift)) rotateY(var(--turn));opacity:0}}@keyframes prism-glint{0%,100%{opacity:0}40%{opacity:.65}}@media(max-width:720px){.prism-controls{top:12px;right:12px}.prism-shard{animation-duration:.75s}.prism-showcase figcaption{left:18px;right:18px;font-size:8px}}@media(prefers-reduced-motion:reduce){.prism-shards{display:none}}

/* Preserve uploaded image detail by avoiding enlargement beyond native pixels. */
.prism-showcase{background:#e8e0d4}.prism-showcase>img,.prism-shard img{object-fit:scale-down}.prism-shard{background:#e8e0d4}.project-image img[src*="lensartic-"],.look-image[src*="lensartic-"]{object-fit:scale-down}.project-card:hover img[src*="lensartic-"],.project-card:focus-visible img[src*="lensartic-"]{transform:none}.prism-showcase figcaption{background:#221a19b8;padding:10px;text-shadow:none}

/* Full-frame photography, with restrained tonal definition. */
.prism-showcase>img,.prism-shard img,.project-image img[src*="lensartic-"]{object-fit:cover;filter:contrast(1.045) saturate(1.025)}.prism-showcase{background:#342a26}.prism-shard{background:#342a26}.look-image[src*="lensartic-"]{object-fit:contain}.hero-offer{font-size:11px;color:var(--wine);margin-top:18px;max-width:340px}.hero-offer strong{font-weight:500}.offer-section{background:#eee5d8;display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:center;border-top:1px solid var(--line)}.offer-section h2{margin-bottom:24px}.offer-section>div>p:not(.eyebrow){max-width:420px;font-size:14px;color:var(--muted)}.offer-amount{display:block;font-family:Georgia,serif;font-size:86px;line-height:1;color:var(--wine);margin-bottom:22px}.offer-amount em{font-size:36px;font-weight:400}.offer-action .button{display:flex;justify-content:space-between;max-width:360px}.offer-action .micro{font-size:11px!important;margin-top:18px}.offer-choice{display:flex;align-items:flex-start;gap:10px;line-height:1.5;padding:14px;border:1px solid #a0828b;margin-bottom:16px}.offer-choice input{width:16px;height:16px;flex-shrink:0;margin:2px 0 0;accent-color:#d9bca4}#offer-status:empty{display:none}@media(max-width:720px){.offer-section{grid-template-columns:1fr;gap:30px}.offer-amount{font-size:68px}}

/* Detail images use their natural aspect ratio, without letterbox bands. */
dialog .look-image,dialog .look-image[src*="lensartic-"]{display:block;width:100%;height:auto;max-height:none;object-fit:initial;background:none;margin-bottom:24px}dialog{padding:28px}dialog .close{position:sticky;top:0;float:right;margin:-16px -16px 8px 8px}dialog .look-image{clear:both}.section-cta{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:30px;grid-column:1/-1}.section-cta strong{font-size:11px;letter-spacing:1px;color:var(--wine)}.offer-cta{font-weight:700;font-size:13px!important}.consultation{background:#eee5d8;display:grid;grid-template-columns:1fr 1.2fr;gap:8%}.consultation>div>p:not(.eyebrow){font-size:14px;margin-top:24px;max-width:420px}.consultation input,.consultation select,.consultation textarea{color:var(--ink);border-color:#a39280}.consultation input::placeholder,.consultation textarea::placeholder{color:#776b60}.consultation-note{padding-top:18px;border-top:1px solid var(--line);font-size:11px!important;color:var(--muted)}.consultation .button{background:var(--wine);color:white}.offer-form-line{font-size:11px;font-weight:700;color:var(--wine);margin-top:14px}#consultation-status{font-size:12px;margin-top:15px}#consultation-status:empty{display:none}#consultation-download[hidden]{display:none}.floating-offer{position:fixed;bottom:18px;right:18px;z-index:8;background:var(--wine);color:#fff;padding:13px 20px;box-shadow:0 4px 20px #221a1930;border:1px solid #d9bca4;display:flex;flex-direction:column;gap:5px}.floating-offer span{font-size:11px;font-weight:700}.floating-offer strong{font-size:13px;letter-spacing:.5px}body{padding-bottom:85px}.nav-cta{font-weight:700}@media(max-width:720px){.consultation{grid-template-columns:1fr;gap:28px}.floating-offer{left:12px;right:12px;bottom:12px;flex-direction:row;justify-content:space-between;align-items:center;padding:14px 12px}.floating-offer span{font-size:10px}.floating-offer strong{font-size:11px}dialog{padding:22px}}
/* A restrained spring response for the three service options. */
@keyframes service-bounce{0%{transform:translateY(0) scale(1)}35%{transform:translateY(-10px) scale(1.012)}62%{transform:translateY(3px) scale(.997)}82%{transform:translateY(-3px) scale(1.004)}100%{transform:translateY(0) scale(1)}}
.services article{transform-origin:center bottom}.services article:focus-within,.services article.service-bounce{animation:service-bounce .65s cubic-bezier(.22,.8,.3,1) both}.services article button{transition:color .2s ease}.services article:focus-within button{color:var(--wine)}
@media(hover:hover) and (pointer:fine){.services article:hover{animation:service-bounce .65s cubic-bezier(.22,.8,.3,1) both}}
@media(prefers-reduced-motion:reduce){.services article:hover,.services article:focus-within,.services article.service-bounce{animation:none!important}}
/* Editorial text motion and a restrained invitation to act. */
@keyframes text-arrive{from{opacity:0;transform:translateY(18px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
.text-in-view{animation:text-arrive .85s cubic-bezier(.22,.7,.18,1) both}h2 em{position:relative;display:inline-block}h2 em:after{content:'';position:absolute;bottom:-5px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(.12);transform-origin:left;opacity:.35;transition:transform .65s cubic-bezier(.22,.7,.18,1)}h2.text-in-view em:after,h2:hover em:after{transform:scaleX(1)}
@keyframes invitation-pulse{0%,75%,100%{transform:translateY(0)}82%{transform:translateY(-3px)}89%{transform:translateY(0)}94%{transform:translateY(-1px)}}
@keyframes offer-shimmer{0%,65%{transform:translateX(-180%) skewX(-18deg)}90%,100%{transform:translateX(350%) skewX(-18deg)}}
@keyframes offer-emphasis{0%,70%,100%{transform:scale(1)}82%{transform:scale(1.035)}}
.offer-cta,.floating-offer,.nav-cta{position:relative;isolation:isolate;overflow:hidden;animation:invitation-pulse 5s cubic-bezier(.25,.8,.25,1) infinite}.floating-offer{position:fixed}.offer-cta:after,.floating-offer:after{content:'';position:absolute;pointer-events:none;inset:-30% auto -30% 0;width:35%;background:linear-gradient(90deg,transparent,#fff2,transparent);animation:offer-shimmer 6s ease-in-out infinite;z-index:-1}.offer-amount,.section-cta strong,.offer-form-line{animation:offer-emphasis 5s cubic-bezier(.25,.8,.25,1) infinite;transform-origin:left center}.offer-cta:hover,.offer-cta:focus-visible,.floating-offer:hover,.floating-offer:focus-visible,.nav-cta:hover,.nav-cta:focus-visible{animation-play-state:paused}.offer-cta span,.nav-cta span{display:inline-block;transition:transform .3s cubic-bezier(.2,.8,.2,1)}.offer-cta:hover span,.offer-cta:focus-visible span{transform:translate(3px,-3px)}
.decorative-motion-toggle{position:fixed;bottom:22px;left:18px;z-index:8;background:var(--paper);color:var(--wine);border:1px solid var(--line);padding:9px 12px;font-size:10px}.motion-off *,.motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important}.motion-off .reveal{opacity:1;transform:none}.motion-off h2 em:after{transform:scaleX(1)}
@media(max-width:720px){.decorative-motion-toggle{bottom:74px;left:auto;right:12px;padding:7px 10px}}@media(prefers-reduced-motion:reduce){.text-in-view,.offer-cta,.floating-offer,.nav-cta,.offer-amount,.section-cta strong,.offer-form-line,.offer-cta:after,.floating-offer:after{animation:none!important}h2 em:after{transform:scaleX(1);transition:none}.decorative-motion-toggle{display:none}}
/* Seamless left-to-right offer ribbon; duplicated words are decorative. */
.offer-marquee{display:block;overflow:hidden;background:var(--wine);color:var(--paper);border-top:1px solid #d9bca466;border-bottom:1px solid #d9bca466;padding:17px 0;text-decoration:none}.offer-marquee-track{display:flex;width:max-content;animation:offer-travel-right 24s linear infinite}.offer-marquee-group{display:flex;flex-shrink:0;min-width:100vw;justify-content:space-around}.offer-marquee-group>span{display:flex;align-items:center;gap:28px;white-space:nowrap;padding:0 30px;font-size:18px;font-weight:700;letter-spacing:.3px}.offer-marquee-group i{font-size:20px;color:#d9bca4;font-style:normal;margin-left:20px}.offer-marquee-group b{font-weight:400}.offer-marquee:hover .offer-marquee-track,.offer-marquee:focus-visible .offer-marquee-track{animation-play-state:paused}.offer-marquee:focus-visible{outline:3px solid #b2956d;outline-offset:3px}@keyframes offer-travel-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}@media(max-width:720px){.offer-marquee{padding:14px 0}.offer-marquee-group>span{font-size:14px;padding:0 20px;gap:18px}.offer-marquee-track{animation-duration:28s}}@media(prefers-reduced-motion:reduce){.offer-marquee-track{animation:none!important;width:100%}.offer-marquee-group{min-width:0;width:100%}.offer-marquee-group+ .offer-marquee-group,.offer-marquee-group>span+span{display:none}.offer-marquee-group>span{white-space:normal;text-align:center;justify-content:center;font-size:14px}.offer-marquee-group i{display:none}}

.calendar-booking{background:var(--paper);padding:35px;border:1px solid var(--line)}.calendar-booking h3{font-size:32px;margin-bottom:20px}.calendar-booking>p:not(.eyebrow){font-size:13px;margin:20px 0}.calendar-booking .button{display:flex;justify-content:space-between;gap:20px}.calendar-booking .micro{font-size:11px!important}@media(max-width:720px){.calendar-booking{padding:25px}}

/* Shared navigation and focused page layouts. */
header{padding-left:5%;padding-right:5%}nav{gap:16px}nav a{font-size:11px}nav a[aria-current=page]{color:var(--wine);border-bottom:1px solid var(--wine);padding-bottom:5px}.page-intro{background:#eee7dc;border-bottom:1px solid var(--line);padding-top:65px;padding-bottom:60px}.page-intro h1{font-size:clamp(48px,5vw,76px);line-height:1.08;max-width:900px;margin-bottom:24px}.page-intro>p:last-child{max-width:570px;font-size:15px;color:var(--muted)}.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:35px}.path-grid>a{border:1px solid var(--line);padding:28px;transition:background .3s,transform .3s}.path-grid>a:hover{background:#eee5d8;transform:translateY(-4px)}.path-grid span{font-size:11px;color:var(--wine)}.path-grid h3{font-size:28px;margin:18px 0}.path-grid b{font-size:11px;font-weight:500}.page-paths h2{max-width:700px}@media(max-width:1100px) and (min-width:721px){header{flex-wrap:wrap;gap:20px}nav{width:100%;justify-content:space-between}}@media(max-width:720px){.path-grid{grid-template-columns:1fr 1fr;gap:12px}.path-grid>a{padding:20px}.path-grid h3{font-size:24px}.page-intro{padding-top:40px;padding-bottom:40px}.page-intro h1{font-size:48px}}

/* New spatial tools follow Lensartic's original light editorial design. */
.ivory{background:#eee2cb}.room-model[data-finish=ivory] .sofa i,.room-model[data-finish=ivory] .sofa-back i{border-color:#a18d6e80}.room-model[data-finish=ivory] .wall-art{border-color:#5f4a37}
.lighting-scenarios{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 12px}.lighting-scenarios button,.scale-toggle{background:var(--paper);border:1px solid var(--line);color:var(--ink);padding:10px 14px;font-size:11px;min-height:40px}.lighting-scenarios button[aria-pressed=true],.scale-toggle[aria-pressed=true]{background:var(--wine);color:#fff;border-color:var(--wine)}#save-spatial-look{display:flex;margin-top:20px}.scale-details{background:#f4eee4;border:1px solid var(--line);padding:16px;margin-top:16px}.scale-details[hidden]{display:none}.scale-details p{font-size:11px;color:var(--muted);line-height:1.8}.scale-details p+p{margin-top:10px}
.task-lighting{background:radial-gradient(ellipse at 72% 35%,#efe8d9 0,#817889 48%,#484252 100%)}.task-lighting .room-model{filter:brightness(.88) drop-shadow(10px 15px 10px #0003)}.task-lighting .room-desk{--object:#a99270;filter:brightness(1.45)}.task-lighting .room-desk:after{content:'';position:absolute;inset:-12px;transform:translateZ(55px);background:#fff5d61c;box-shadow:0 0 35px 18px #fff4d14d;pointer-events:none}.task-lighting .window-grid{background:linear-gradient(#7d899d,#c0c5d1)}.task-lighting .model-caption{color:#fff}
.room-dimensions{display:none;position:absolute;inset:0;transform:translateZ(3px);pointer-events:none}.show-scale .room-dimensions{display:block}.dimension-width,.dimension-depth{position:absolute;display:block;border:1px solid #30223880;background:#fffaf3;color:var(--ink);font-size:11px;padding:2px 8px;white-space:nowrap}.dimension-width{top:248px;left:120px}.dimension-depth{left:-52px;top:100px;transform:rotateZ(-90deg)}.show-scale .room-floor{background:repeating-linear-gradient(0deg,transparent 0 19px,#4b202d40 19px 20px),repeating-linear-gradient(90deg,#c9b89c 0 19px,#4b202d40 19px 20px)}.scale-overlay{position:absolute;top:16px;left:16px;display:flex;flex-direction:column;gap:3px;background:#fffaf3;border:1px solid var(--line);padding:12px 15px;z-index:3;font-size:10px;color:var(--ink);pointer-events:none}.scale-overlay strong{font-size:8px;letter-spacing:1px}.scale-overlay[hidden]{display:none}
.materials-section{display:grid;grid-template-columns:1fr 1.2fr;gap:8%;align-items:center;background:var(--paper);border-top:1px solid var(--line)}.materials-section>div>p:not(.eyebrow){margin-top:24px;max-width:410px;font-size:13px;color:var(--muted)}.material-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.material-preview{display:flex;flex-direction:column;text-align:left;padding:0 0 18px;border:1px solid var(--line);overflow:hidden;background:#fffaf3;color:var(--ink)}.material-preview img{width:100%;height:220px;object-fit:cover;transition:transform .5s cubic-bezier(.22,.61,.36,1)}.material-preview:hover img{transform:scale(1.025)}.material-preview>span{font-size:12px;font-weight:600;padding:18px 12px 10px}.material-preview>small{font-size:10px;padding:0 12px;color:var(--muted)}#texture-dialog{width:min(760px,94vw);padding:35px;color:var(--ink)}#texture-dialog h2{font-size:32px;margin-bottom:20px}.texture-close{position:absolute;right:15px;top:12px;background:var(--paper);border:1px solid var(--line);width:34px;height:34px;color:var(--ink)}.texture-viewport{max-height:52dvh;overflow:auto;background:#eee8ed}#texture-large{display:block;width:100%;height:auto;max-height:none}#texture-large.is-zoomed{width:200%;max-width:none}#texture-dialog .text-link{margin:15px 20px 0 0;color:var(--wine)}#texture-dialog p{color:var(--muted)}.texture-attribution{display:flex;flex-wrap:wrap;gap:18px;padding:20px 7%;font-size:10px;color:var(--muted);border-top:1px solid var(--line)}.texture-attribution a{text-decoration:underline}
.active-texture-open{display:flex;align-items:center;gap:15px;width:100%;text-align:left;border:1px solid var(--line);background:var(--paper);padding:10px;margin-top:16px;color:var(--ink)}.active-texture-open img{width:64px;height:64px;object-fit:cover}.active-texture-open span{font-size:12px;font-weight:600}.active-texture-open small{display:block;font-size:10px;font-weight:400;margin-top:5px}
.spatial-brief-summary{border:1px solid #ffffff50;padding:20px;margin-bottom:25px;background:#ffffff0b}.spatial-brief-summary .eyebrow{margin-bottom:10px}.brief .spatial-brief-summary .text-link{color:var(--paper)}
@media(max-width:1000px){.materials-section{grid-template-columns:1fr;gap:35px}.material-preview img{height:240px}}
@media(max-width:720px){.material-preview-grid{grid-template-columns:1fr 1fr}.material-preview img{height:190px}.material-preview:last-child{grid-column:1/-1}.material-preview:last-child img{height:180px}.scale-overlay{top:12px;left:12px;font-size:9px;padding:10px}.lighting-scenarios{gap:6px}.lighting-scenarios button{padding:9px 11px}#texture-dialog{padding:28px 20px}}
@media(prefers-reduced-motion:reduce){.material-preview img{transition:none}}
/* Lensartic: solid brand surfaces. Replace the old liquid-glass block with this. */
:root {
  --wine: #4b202d;
  --lens-card: #fffdf9;
  --lens-ink: #292521;
  --lens-muted: #675f58;
  --lens-border: rgba(74, 30, 44, 0.08);
  --lens-shadow: 0 12px 32px -8px rgba(74, 30, 44, 0.06);
  --lens-radius: 16px;
}

/* Reusable card class plus the site's existing card selectors. */
.lens-card,
.quiz, .calendar-booking, .path-grid > a, .services article,
.model-controls, .project-meta, .interior, .faq details, .process li,
.material-preview, .active-texture-open, .scale-details, .scale-overlay,
.brief form, .spatial-brief-summary, dialog, #texture-dialog {
  background: var(--lens-card);
  color: var(--lens-ink);
  border: 1px solid var(--lens-border);
  border-radius: var(--lens-radius);
  box-shadow: var(--lens-shadow);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.lens-card h2, .lens-card h3, .quiz h3, .calendar-booking h3,
.path-grid h3, .services h3, .project-meta h3, .interior h3,
.faq summary, .process li h3, .material-preview span,
dialog h2, dialog h3, #texture-dialog h2 {
  color: var(--lens-ink);
}
.lens-card p, .quiz p, .calendar-booking p, .path-grid p,
.services article > p, .model-controls p, .project-meta p,
.interior p, .faq details p, .process li p, .material-preview small,
dialog p:not(.eyebrow), dialog li, #texture-dialog p {
  color: var(--lens-muted);
}

/* Signature actions: solid burgundy, crisp white text. */
.lens-button, .button, .offer-cta, .floating-offer, .nav-cta,
.choices button, .finish-controls button, .lighting-scenarios button,
.scale-toggle, .lighting-button, .image-open, .close, .texture-close,
.decorative-motion-toggle, .prism-controls button {
  background: var(--wine);
  color: #ffffff;
  border: 1px solid var(--wine);
  border-radius: var(--lens-radius);
  box-shadow: 0 6px 18px -6px rgba(74, 30, 44, 0.2);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.lens-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 14px 22px; font: inherit; font-size: 12px; cursor: pointer; }
.lens-button:hover, .button:hover, .offer-cta:hover,
.floating-offer:hover, .nav-cta:hover, .choices button:hover,
.prism-controls button:hover { background: #632e40; border-color: #632e40; }
.lens-button:focus-visible, .lens-card:focus-visible { outline: 3px solid #a77845; outline-offset: 4px; }
.finish-controls button[aria-pressed=true],
.lighting-scenarios button[aria-pressed=true],
.scale-toggle[aria-pressed=true] { background: #4b202d; color: #fff; border-color: #d1b89a; box-shadow: 0 0 0 2px #d1b89a; }
.offer-cta:after, .floating-offer:after { display: none; }

/* Layout details retained for the existing page structure. */
.services { border-top: 0; gap: 20px; }
.services article, .services article + article { padding: 30px; border: 1px solid var(--lens-border); }
.project-meta { padding: 18px 20px; margin-top: 12px; }
.project-image, .material-preview img, .spatial-stage, .texture-viewport { border-radius: var(--lens-radius); overflow: hidden; }
.interior { overflow: hidden; }
.interior > div { padding: 20px; }
.process li, .faq details { padding: 22px 24px; margin-bottom: 14px; }
.model-controls { padding: 22px; margin-top: 18px; }
.material-preview { padding: 8px 8px 18px; }
.path-grid > a:hover { background: #f3eee9; }
.nav-cta { padding: 10px 16px; }
.offer-marquee, .prism-controls { background: #4b202d; color: #fff; border: 1px solid rgba(255,255,255,.2); -webkit-backdrop-filter: none; backdrop-filter: none; }
.prism-controls { border-radius: var(--lens-radius); box-shadow: 0 6px 18px rgba(74,30,44,.12); }
.prism-controls span { color: #fff; }
.prism-controls button { border-color: #a47987; box-shadow: none; }
.offer-marquee-group i { color: #f3e5d8; }
header { background: #fffdf9; color: var(--lens-ink); -webkit-backdrop-filter: none; backdrop-filter: none; }

/* Brief form: legible solid fields on an ivory card. */
.brief form { padding: 28px; }
.brief form label, .brief form .optional, .brief form .micro,
.brief form .micro.light, .brief form #brief-status, .brief form a,
.brief form .eyebrow { color: var(--lens-ink); }
.brief form input, .brief form select, .brief form textarea {
  background: #ffffff;
  color: var(--lens-ink);
  border: 1px solid #cfc1c7;
  border-radius: 10px;
  padding: 12px;
}
.brief form input::placeholder, .brief form textarea::placeholder { color: #76676e; }
.brief form select option { background: #ffffff; color: var(--lens-ink); }
.brief form input:focus, .brief form select:focus, .brief form textarea:focus { outline: 2px solid var(--wine); }
.brief form .button { background: var(--wine); color: #fff; }
.brief .spatial-brief-summary .text-link { color: var(--wine); }
.spatial-brief-summary { padding: 20px; }

@media (max-width: 720px) {
  nav.open { background: #fffdf9; color: var(--lens-ink); border: 1px solid var(--lens-border); border-radius: var(--lens-radius); padding: 18px; box-shadow: var(--lens-shadow); }
  .brief form { padding: 20px; }
  .process li, .faq details { padding: 20px; }
}
