@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap');
:root{--paper:#f6f3ed;--ink:#262820;--muted:#74766a;--line:#dad8ce;--accent:#70634b;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.6 var(--sans)}button,input{font:inherit}button,a,label.button{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,label.button:focus-within,input:focus-visible,.stage:focus-visible{outline:2px solid #77734e;outline-offset:4px}a{color:inherit;text-decoration:none}button{border:0;background:none}button:hover:not(:disabled),a:hover{color:#8b6548}[hidden]{display:none!important}.proofbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 4%;background:#292d25;color:#f8f6ec;font-size:10px;letter-spacing:.12em}.proofbar button{color:inherit;font-size:11px;letter-spacing:0}.masthead{margin:0 4%;padding:27px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-size:20px;letter-spacing:.18em}.wordmark span{display:block;font-size:8px;letter-spacing:.34em;margin-top:3px}.edition{font:18px/1.2 var(--serif);color:var(--muted)}.textbutton{font-size:12px;padding:5px 0;border-bottom:1px solid #aaa89c}.intro{display:flex;justify-content:space-between;align-items:end;padding:45px 0 30px}.intro h1{font:clamp(44px,5.3vw,82px)/1.05 var(--serif);letter-spacing:-.035em;margin:10px 0}.intro>p{font-size:13px;color:var(--muted);margin:0 0 12px}.eyebrow{font-size:9px;letter-spacing:.17em;font-weight:500;margin:0 0 9px}main{max-width:1600px;margin:auto;padding:0 4%}.experience{display:grid;grid-template-columns:250px minmax(0,1fr);gap:34px}.sectiontitle{display:flex;align-items:center;justify-content:space-between;gap:10px}.sectiontitle h2{font:25px/1.2 var(--serif);margin:0}.sectiontitle>span{font-size:9px;letter-spacing:.12em;color:var(--muted)}.selection{border-top:1px solid var(--line);padding-top:20px}.art-card{display:block;text-align:left;width:100%;padding:16px 0;border-bottom:1px solid var(--line)}.art-card .thumb-wrap{height:132px;background:#e9e5dc;padding:15px;display:flex;justify-content:center;align-items:center;position:relative;transition:background .2s}.art-card[aria-pressed=true] .thumb-wrap{background:#deddd1}.art-card img{max-width:100%;max-height:100%;box-shadow:2px 4px 8px #0002}.art-card .selected-dot{position:absolute;right:10px;top:7px;font-size:10px}.art-card strong{font:22px/1.2 var(--serif);display:block;margin-top:12px}.art-card small{display:block;color:var(--muted);font-size:10px;margin:5px 0}.art-card .card-bottom{display:flex;justify-content:space-between;font-size:11px}.sample-note{font-size:10px;color:var(--muted);margin:22px 0 13px}.viewtabs{display:flex;gap:24px;align-items:center;border-bottom:1px solid var(--line);margin-bottom:15px;min-height:42px}.viewtabs button{padding:10px 0;font-size:11px;white-space:nowrap;border-bottom:2px solid transparent}.viewtabs button[aria-pressed=true]{border-color:var(--ink)}.viewtabs .arbutton{margin-left:auto;background:#2c3129;color:#faf8ef;padding:9px 13px;margin-bottom:4px;border-radius:2px;font-size:10px}.stage{position:relative;height:clamp(340px,39vw,565px);background:#e8e4d9;overflow:hidden}.stage #webgl,.stage #webgl canvas,#photo-canvas{width:100%;height:100%;display:block}#webgl canvas{touch-action:none}.stage-label{position:absolute;inset:18px 20px auto;display:flex;justify-content:space-between;gap:10px;pointer-events:none}.stage-label span{font-size:8px;letter-spacing:.1em;background:#faf8f0dd;padding:5px 9px;color:#57584d;backdrop-filter:blur(8px);border-radius:2px}.stage-hint{position:absolute;bottom:10px;left:0;right:0;text-align:center;font-size:10px;pointer-events:none;color:#595b50;background:#f9f7f0bd;width:max-content;max-width:90%;padding:4px 10px;margin:0 auto;border-radius:2px}#loading{position:absolute;inset:0;display:grid;place-items:center;background:#e9e5dc;color:#797568;font-family:var(--serif);font-size:24px}.viewtools{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);gap:10px}.viewtools button{font-size:11px;padding:4px 7px}.control-label{font-size:8px;letter-spacing:.1em;color:var(--muted);margin-right:10px}.actions{display:flex;gap:12px}.artwork-details{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:24px 0}.artwork-details h2{font:37px/1.15 var(--serif);letter-spacing:-.02em;margin:0 0 8px}.artwork-details p:not(.eyebrow){font-size:11px;color:var(--muted);margin:0}.price{text-align:right}.price>span{font-size:19px}.price small{display:block;font-size:9px;color:var(--muted);margin-top:5px}.placement-controls{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:22px;align-items:center;padding:15px 0}.placement-controls fieldset{border:0;padding:0;margin:0;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.placement-controls legend,.height-control,.light-control{font-size:8px;letter-spacing:.1em}.placement-controls legend{margin-bottom:7px}.swatch{width:20px;height:20px;border-radius:50%;border:3px solid var(--paper);outline:1px solid transparent}.swatch[aria-pressed=true]{outline-color:#777267}.swatch.oak{background:#a4825e}.swatch.black{background:#252823}.swatch.ivory{background:#d8d0bd}#frame-label{font-size:9px;color:var(--muted);letter-spacing:0;margin-left:4px}.height-control,.light-control{display:grid;grid-template-columns:1fr auto;gap:4px 8px;flex:1;min-width:120px}.height-control input,.light-control input{grid-column:1;width:100%;accent-color:#777056;height:13px}.placement-controls output{grid-row:2;grid-column:2;font-size:9px;letter-spacing:0}.accuracy{font-size:9px;color:var(--muted);margin:12px 0;max-width:760px}#photo-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column;background:radial-gradient(ellipse at 50% 40%,#f2efe5,#dedbce)}.empty-icon{font:50px var(--serif);color:#908b7b}#photo-empty h3{font:35px var(--serif);margin:10px}#photo-empty p{font-size:12px;color:var(--muted);margin:0 15px 25px}.button{display:inline-block;border:1px solid #bbb8ab;padding:9px 14px;font-size:11px;background:#f8f6ef}.button.dark{background:#2c3129;color:#faf8ef;border-color:#2c3129;cursor:pointer}#photo-tools{padding:12px;background:#eae7dd;display:flex;align-items:center;flex-wrap:wrap;gap:10px}#photo-tools input[type=file]{font-size:10px;max-width:200px}#photo-tools label{font-size:10px}#known-distance{width:65px;border:1px solid #b8b3a4;background:#faf8f1;padding:5px}#calibration-note{font-size:9px;color:#6d6a5e}.saved-section{border-top:1px solid var(--line);margin-top:40px;padding-top:25px}.saved-intro{font-size:11px;color:var(--muted)}.saved-views{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;min-height:70px;margin:22px 0 45px}.saved-empty{grid-column:1/-1;font:22px var(--serif);color:#8d8c80;padding:15px 0}.saved-card{border:1px solid var(--line);padding:18px}.saved-card .eyebrow{font-size:8px}.saved-card h3{font:25px var(--serif);margin:6px 0}.saved-card p{font-size:10px;color:var(--muted);margin:3px 0}.saved-card button{font-size:11px;padding:8px 0 0;text-decoration:underline;margin-right:15px}.process{border-top:1px solid var(--line);padding:30px 0 50px}.process>div{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:25px}.process article>span{font-size:9px;letter-spacing:.1em;color:var(--muted)}.process h3{font:30px var(--serif);margin:12px 0}.process p:not(.eyebrow){font-size:12px;color:var(--muted);max-width:310px}footer{background:#e9e6dc;padding:25px 4%;display:flex;justify-content:space-between;gap:20px;align-items:center}footer>span{font-size:11px;letter-spacing:.15em}footer p,footer a{font-size:10px;color:var(--muted)}dialog{border:0;background:var(--paper);color:var(--ink);padding:40px;width:min(620px,92vw);max-height:85vh;box-shadow:0 25px 100px #0003}dialog::backdrop{background:#20251ec0;backdrop-filter:blur(5px)}dialog h2{font:40px/1.15 var(--serif);margin:10px 0 22px}dialog h3{font:25px var(--serif);margin:22px 0 8px}dialog p,dialog li{font-size:12px;color:#626458}dialog li{margin:7px 0}.dialog-close{position:absolute;right:15px;top:10px;font-size:27px}.dialog-actions{display:flex;gap:12px;margin-top:24px}.brief-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#30362c;color:#fffdf4;padding:12px 22px;font-size:12px;transition:.2s;max-width:90vw;text-align:center;z-index:10}#toast.visible{opacity:1;transform:translate(-50%,0)}#ar-overlay:fullscreen{background:transparent}body.in-ar #stage{position:fixed;inset:0;height:100dvh;z-index:1000;background:transparent}body.in-ar .stage-label,body.in-ar #stage-hint{display:none}#exit-ar{position:absolute;top:25px;right:20px;background:#fff;padding:12px 20px;z-index:5}#ar-instruction{position:absolute;bottom:35px;left:5%;width:90%;background:#fffdf1e8;padding:15px;text-align:center;font-size:12px}#ar-overlay{position:absolute;inset:0;pointer-events:none}#ar-overlay button{pointer-events:auto}
@media(min-width:1600px){.stage{height:565px}}@media(max-width:1100px){.experience{grid-template-columns:210px minmax(0,1fr);gap:22px}.viewtabs{gap:15px}.viewtabs button{font-size:10px}.viewtabs .arbutton{font-size:9px;padding:9px}.stage{height:420px}.placement-controls{gap:13px}.artwork-details h2{font-size:30px}}@media(max-width:760px){.proofbar{font-size:8px;letter-spacing:.04em;flex-wrap:wrap}.proofbar button{font-size:9px}.masthead{padding:22px 0}.wordmark{font-size:16px}.edition{display:none}.masthead .textbutton{font-size:10px}.intro{padding-top:30px;display:block}.intro h1{font-size:57px}.intro>p{font-size:12px;margin:18px 0 0}.desktop{display:none}.experience{display:flex;flex-direction:column;gap:20px}.selection{padding-top:16px}.selection .sectiontitle h2{font-size:23px}#artworks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.art-card{padding:12px 0}.art-card .thumb-wrap{height:98px;padding:12px}.art-card strong{font-size:18px;min-height:43px}.art-card small{font-size:8px}.art-card .card-bottom{font-size:9px;flex-wrap:wrap;gap:2px}.sample-note{font-size:9px;margin:12px 0 5px}.selection>.textbutton{font-size:10px}.stage{height:380px}.viewtabs{gap:14px;flex-wrap:wrap;padding-bottom:5px}.viewtabs .arbutton{font-size:9px;margin-left:auto}.viewtabs button{font-size:10px}.stage-label{inset:12px 10px auto}.stage-label span{font-size:7px;padding:4px 6px;letter-spacing:0}.stage-hint{font-size:8px}.viewtools{flex-wrap:wrap}.viewtools button{font-size:10px;padding:4px}.actions{gap:10px}.control-label{font-size:7px;margin-right:5px}.artwork-details{padding:20px 0}.artwork-details h2{font-size:29px}.price>span{font-size:15px}.price small{font-size:8px}.placement-controls fieldset{width:100%}.height-control,.light-control{min-width:110px}.saved-views{grid-template-columns:1fr}.saved-section{margin-top:25px}.saved-section .sectiontitle h2{font-size:25px}.saved-section .textbutton{font-size:10px}.process>div{grid-template-columns:1fr;gap:15px}.process h3{font-size:27px;margin:6px 0}.process p:not(.eyebrow){max-width:none}footer{align-items:start;flex-direction:column;gap:6px}footer p{margin:0}dialog{padding:30px 24px}dialog h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

#studio-canvas{display:block;width:100%;height:100%;position:absolute;inset:0;touch-action:none}
