:root{color-scheme:light;font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,Georgia,serif;line-height:1.5;font-weight:400;color:#1f1b17;background:#d8d1ca;text-rendering:optimizeLegibility;font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--shadow-soft: 0 1.2rem 2.8rem rgba(20, 14, 11, .16);--shadow-photo: 0 .75rem 1.8rem rgba(38, 29, 21, .22);--shadow-panel: 0 1.6rem 3rem rgba(15, 12, 10, .18);--wall-note-font: "Segoe Print", "Bradley Hand", "Marker Felt", "Noteworthy", cursive}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:radial-gradient(circle at top,#ffffffa8,#fff0 34%),linear-gradient(180deg,#ddd6cf,#cfc7bf);color:#1e1915}body.body--viewerOpen{overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}a{color:inherit}.app{position:relative;min-height:100svh}.sceneShell{min-height:100svh;padding:clamp(18px,2vw,32px);display:grid;place-items:center}.sceneViewport{width:min(100%,1720px);overflow:visible}.scene{position:relative;width:100%;aspect-ratio:5632 / 3072;border-radius:1.5rem;overflow:hidden;background:#eae5de;box-shadow:var(--shadow-soft)}.scene__bg{position:absolute;inset:0;background-image:var(--scene-bg);background-size:cover;background-position:center center}.scene__wall{position:absolute;inset:0}.wallMenu{position:absolute;left:7.6%;top:10.8%;width:16%;display:grid;gap:.4rem;color:#352f29c2;text-shadow:0 1px 0 rgba(255,255,255,.3)}.wallMenu__title{margin:0;font-family:var(--wall-note-font);font-size:clamp(.92rem,1vw,1.28rem);letter-spacing:.02em}.wallMenu__nav{display:grid;justify-items:start;gap:.12rem}.wallMenu__link{border:0;padding:0;background:transparent;color:inherit;font-family:var(--wall-note-font);font-size:clamp(.84rem,.88vw,1.1rem);letter-spacing:.03em;opacity:.82;transition:opacity .18s ease,transform .18s ease}.wallMenu__link:hover,.wallMenu__link:focus-visible,.wallMenu__link--active{opacity:1;transform:translate(.18rem)}.wallPiece{position:absolute;margin:0;transform:rotate(var(--piece-rotate));transform-origin:center center;transition:transform .26s ease,opacity .22s ease}.wallPiece:hover,.wallPiece:focus-within{transform:rotate(var(--piece-rotate)) translateY(-.18rem)}.wallPiece--hidden{opacity:0;pointer-events:none}.wallPiece__button{width:100%;border:0;padding:0;background:transparent}.wallPiece__frame{display:block;position:relative;background:#f5f1ecfa;box-shadow:var(--shadow-photo)}.wallPiece__frame:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.28);pointer-events:none}.wallPiece__image{width:100%;height:auto}.wallPiece__label{margin-top:.44rem;font-size:clamp(.54rem,.58vw,.8rem);letter-spacing:.1em;text-transform:uppercase;color:#2a2420e0;text-align:left}.siteOverlay{pointer-events:none}.mobileNote,.infoPanel{pointer-events:auto}.mobileNote{position:fixed;left:50%;top:1rem;transform:translate(-50%);margin:0;padding:.46rem .8rem;border-radius:999px;background:#efebe5d1;color:#28221ed9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 .8rem 2rem #19120c29}.infoPanel{position:absolute;left:7.4%;top:21.5%;width:18.5%;padding:1rem 1rem 1.05rem;border-radius:1rem;background:#f4efe985;color:#251f1a;box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.infoPanel__eyebrow{margin:0;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#3a3028c2}.infoPanel__title{margin:.4rem 0 0;font-size:clamp(1.3rem,2vw,1.9rem);line-height:1.08;font-weight:500}.infoPanel__body{margin:.7rem 0 0;color:#2b2520d9}.contactBlock{margin-top:.95rem;display:grid;gap:.9rem}.contactBlock__email{display:inline-block;font-size:.92rem;letter-spacing:.04em}.contactForm{display:grid;gap:.68rem}.contactForm__field{display:grid;gap:.28rem}.contactForm__field span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#3a3028b8}.contactForm__field input,.contactForm__field textarea{width:100%;border:1px solid rgba(81,69,59,.12);border-radius:.9rem;padding:.7rem .82rem;background:#ffffff94;color:#201914;resize:vertical}.contactForm__field input:focus,.contactForm__field textarea:focus,.wallPiece__button:focus-visible,.wallMenu__link:focus-visible,.viewer__close:focus-visible{outline:2px solid rgba(44,38,32,.74);outline-offset:3px}.contactForm__submit{justify-self:start;border:0;border-radius:999px;padding:.72rem 1rem;background:#2a221c;color:#f6f0ea;letter-spacing:.07em;text-transform:uppercase;font-size:.74rem}.viewer{position:fixed;inset:0;z-index:20}.viewer__backdrop{position:absolute;inset:0;border:0;background:linear-gradient(180deg,#0e0b08c7,#0e0b08db),radial-gradient(circle at top,rgba(255,255,255,.08),transparent 36%);opacity:1;transition:opacity .52s cubic-bezier(.22,1,.36,1)}.viewer--closing .viewer__backdrop{opacity:0}.viewer__close{position:fixed;right:clamp(18px,3vw,40px);top:clamp(18px,3vw,34px);z-index:22;border:0;padding:.46rem .72rem;background:transparent;color:#f5efe7f0;font-family:var(--wall-note-font);font-size:clamp(.96rem,1vw,1.2rem);letter-spacing:.02em}.viewer__figure{position:fixed;margin:0;z-index:21;transition:top .7s cubic-bezier(.22,1,.36,1),left .7s cubic-bezier(.22,1,.36,1),width .7s cubic-bezier(.22,1,.36,1),height .7s cubic-bezier(.22,1,.36,1),box-shadow .32s ease;box-shadow:0 1.4rem 3rem #00000042}.viewer__image{width:100%;height:100%;object-fit:contain;background:#f5f1ecfa}.viewer__caption{position:fixed;z-index:22;color:#f8f3edf2;text-align:center;letter-spacing:.14em;text-transform:uppercase;font-size:clamp(.76rem,.85vw,.92rem);opacity:0;transform:translateY(8px);transition:opacity .32s ease .18s,transform .32s ease .18s}.viewer__caption--visible{opacity:1;transform:translateY(0)}@media(max-width:1100px){.sceneViewport{width:min(100%,1480px)}.wallMenu{width:19%}.infoPanel{width:22%;left:7%;top:22.3%}}@media(max-width:720px){.sceneShell{align-items:start;padding:.8rem 0 1.5rem}.sceneViewport{width:100%;overflow-x:auto;padding:2.8rem .8rem 0;scrollbar-width:thin}.scene{width:max(980px,calc(100vw - 1.6rem));border-radius:1rem}.wallMenu{left:7%;top:9.4%;width:22%}.wallPiece__label{font-size:.62rem}.infoPanel{left:5.6%;top:24%;width:25%}.viewer__close{right:.9rem;top:.9rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}.wallPiece,.wallMenu__link,.viewer__backdrop,.viewer__figure,.viewer__caption{transition:none!important}}
