/* Open House · the visitor's key, working light and paper workshop. */
:root{--atelier-ease:cubic-bezier(.19,1,.22,1);--key-cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 34 34'%3E%3Cpath d='M4 4l14 14M8 8l4-4M12 12l4-4' fill='none' stroke='%23fffaf2' stroke-width='5' stroke-linejoin='round'/%3E%3Cpath d='M4 4l14 14M8 8l4-4M12 12l4-4' fill='none' stroke='%23a13228' stroke-width='2.4' stroke-linecap='round'/%3E%3Ccircle cx='24' cy='24' r='8' fill='%23a13228' stroke='%23fffaf2' stroke-width='1.5'/%3E%3Ccircle cx='24' cy='24' r='3' fill='%23f7f0e7'/%3E%3C/svg%3E") 4 4;--key-action:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='32' viewBox='0 0 36 32'%3E%3Cpath d='M3 16h14M8 16v-5m5 5v-5' fill='none' stroke='%23fffaf2' stroke-width='5'/%3E%3Cpath d='M3 16h14M8 16v-5m5 5v-5' fill='none' stroke='%23a13228' stroke-width='2.5' stroke-linecap='round'/%3E%3Crect x='18' y='7' width='15' height='18' rx='6' fill='%23a13228' stroke='%23fffaf2' stroke-width='1.5'/%3E%3Ccircle cx='25.5' cy='16' r='3' fill='%23f7f0e7'/%3E%3C/svg%3E") 3 16}
::selection{background:#a13228;color:#fffaf2}html{scrollbar-color:#ad7560 var(--paper);scrollbar-width:thin}::-webkit-scrollbar{width:9px}::-webkit-scrollbar-track{background:var(--paper)}::-webkit-scrollbar-thumb{background:#ad7560;border:2px solid var(--paper);border-radius:9px}
@media(hover:hover) and (pointer:fine) and (forced-colors:none){
  html.atelier-ready,html.atelier-ready body{cursor:var(--key-cursor),default}
  .atelier-ready :is(a,button,summary,select,label,[role=button],[role=tab],[role=checkbox],[role=radio],input[type=checkbox],input[type=radio],input[type=button],input[type=submit],input[type=reset],input[type=range]):where(:not(:disabled):not([aria-disabled=true])),
  .atelier-ready :is(a,button,summary,label,[role=button],[role=tab],[role=checkbox],[role=radio]):where(:not(:disabled):not([aria-disabled=true])) *{cursor:var(--key-action),pointer!important}
  .atelier-ready :is(input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]):not([type=reset]):not([type=range]):not([type=date]):not([type=time]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=color]):not([type=file]),textarea,[contenteditable=true],[contenteditable=plaintext-only],[contenteditable=true] *,[contenteditable=plaintext-only] *):not(:disabled):not([aria-disabled=true]){cursor:text!important}
  .atelier-ready input:is([type=date],[type=time],[type=datetime-local],[type=month],[type=week],[type=color],[type=file]){cursor:auto!important}
  .atelier-ready :disabled,.atelier-ready [aria-disabled=true],.atelier-ready [aria-disabled=true] *{cursor:not-allowed!important}
}

.hero-intro h1 span{width:max-content;position:relative}.hero-intro h1 span::after{content:'';position:absolute;bottom:-.04em;left:0;width:100%;height:2px;background:var(--brick);transform:scaleX(0);transform-origin:left;opacity:.65;transition:transform .65s var(--atelier-ease)}.hero-intro h1 span:hover::after{transform:scaleX(1)}
.hero-cta{position:relative;overflow:hidden}.hero-cta::before,.button-primary::after{content:'';position:absolute;inset:-100% -20%;background:linear-gradient(115deg,transparent 42%,#fff3dc24 49%,transparent 56%);transform:translateX(-90%);pointer-events:none}.button-primary{position:relative;overflow:hidden}.button-primary:hover::after{transform:translateX(90%);transition:transform .85s var(--atelier-ease)}.hero-cta:hover .icon:first-child{transform:rotate(-9deg)}.hero-cta .icon:first-child{transition:transform .35s var(--atelier-ease)}
.scene-trace{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}.trace-ghost{stroke:#ac6544;stroke-width:1.1;stroke-dasharray:2 8;opacity:.32}.trace-progress{stroke:url(#trace-ink);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--walk-progress,0));opacity:.78}.walk-key{filter:drop-shadow(0 3px 2px #57371b22);opacity:0;transition:opacity .5s}.atelier-ready .walk-key{opacity:1}.room-outlines path{stroke:#f4dbad;opacity:0;stroke-dasharray:500;stroke-dashoffset:500;transition:opacity .35s,stroke-dashoffset 1.1s var(--atelier-ease)}.room-outlines path.is-room-active{opacity:.95;stroke-dashoffset:0}.workshop-light{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .65s;background:radial-gradient(ellipse 24% 15% at var(--light-x,68%) var(--light-y,25%),#fff0c170,transparent 75%);mix-blend-mode:screen;clip-path:polygon(49% 5%,93% 6%,96% 20%,80% 25%,72% 54%,98% 58%,98% 76%,6% 85%,15% 69%,24% 54%,33% 35%,39% 15%)}.workshop-canvas.is-looking .workshop-light{opacity:.64}.scene-art[data-selected-room] .workshop-light{opacity:.53}
.welcome-sign{position:absolute;left:86.2%;top:6.2%;width:clamp(62px,6.2vw,89px);z-index:5;pointer-events:auto;padding:0 0 4px;background:none;color:var(--paper);transform-origin:50% 0;transform:rotate(var(--sign-angle,-4deg));transition:transform .7s var(--atelier-ease);filter:drop-shadow(3px 5px 3px #39221622)}.sign-string{display:block;height:28px;position:relative;margin:auto;width:56%}.sign-string::before,.sign-string::after{content:'';position:absolute;width:62%;height:1px;background:#845c42;top:15px}.sign-string::before{left:0;transform:rotate(-31deg)}.sign-string::after{right:0;transform:rotate(31deg)}.sign-string::after{transform-origin:right}.sign-string::before{transform-origin:left}.sign-board{display:flex;align-items:center;flex-direction:column;justify-content:center;position:relative;border:3px double #ebd5b2;border-radius:3px;background:#9c3329;padding:7px 7px 3px;box-shadow:inset 0 0 0 2px #6b211b}.sign-small{font-size:6px;letter-spacing:.14em;font-weight:700;white-space:nowrap}.sign-board strong{font-size:25px;letter-spacing:.02em;line-height:1.1;margin-top:2px}.reception-bell{fill:none;stroke:#f4e0bf;stroke-width:2;stroke-linecap:round;width:28px;height:21px;margin-top:2px}.welcome-sign:hover,.welcome-sign:focus-visible{--sign-angle:5deg}.bell-plunger{transform-origin:center;transition:transform .16s}.welcome-sign.is-ringing .bell-plunger{transform:translateY(3px)}.welcome-sign:focus-visible{outline-offset:8px}.welcome-note{position:absolute;left:68%;top:11.4%;z-index:20;width:25%;max-width:290px;padding:25px 22px 20px;background:#fffaf2;border:1px solid #bd9b77;box-shadow:4px 5px 0 #edddc5,9px 11px 23px #4a301f25;transform:rotate(2deg);pointer-events:auto;animation:note-open .7s var(--atelier-ease)}.welcome-note::before{content:'';position:absolute;top:-11px;left:69%;width:20px;height:20px;background:#fffaf2;border-top:1px solid #bd9b77;border-left:1px solid #bd9b77;transform:rotate(45deg)}.welcome-note p{font-size:19px;line-height:1.4;letter-spacing:-.03em}.welcome-note strong{font-size:26px}.welcome-note .text-button{font-size:12px;margin-top:12px;gap:6px}.welcome-note .text-button .icon{width:15px;height:15px}.welcome-dismiss{position:absolute;right:5px;top:3px;display:grid;place-items:center;width:28px;height:28px;font-size:20px;background:transparent;color:#775747}.welcome-note-roof{display:block;width:31px;height:10px;border-left:2px solid var(--brick);border-top:2px solid var(--brick);transform:skewY(-15deg);margin-bottom:10px}
html:not(.atelier-ready) .welcome-sign,html:not(.atelier-ready) .scene-trace,html:not(.atelier-ready) .workshop-light{display:none}
.scene-hotspot{transition:background .3s,transform .55s var(--atelier-ease),color .3s,box-shadow .4s}.scene-hotspot.is-active{box-shadow:0 0 0 5px #fff8ed70,0 5px 16px #71432833}.hotspot-ring{transition:transform .7s var(--atelier-ease),opacity .7s}.scene-hotspot:hover .hotspot-ring,.scene-hotspot:focus-visible .hotspot-ring{transform:scale(1.3);opacity:.45}.scene-hotspot>.icon{transition:transform .45s var(--atelier-ease)}.scene-hotspot.is-active>.icon{transform:rotate(45deg)}
.service-extra{border-radius:2px;border-color:#c8ad8c;box-shadow:5px 5px 0 #e6d2b9,8px 8px 0 #bda288,18px 22px 44px #49341d28;padding:30px 25px 25px;max-height:75svh;overflow:visible;animation:folio-open .6s var(--atelier-ease)}.service-extra::before{content:'';position:absolute;top:-9px;left:19px;width:83px;height:12px;border-radius:5px 5px 0 0;background:#a13228;box-shadow:inset 0 3px 0 #bf6c55}.service-extra h3{padding-right:13px}.service-close{position:absolute;right:5px;top:4px;width:27px;height:27px;background:transparent;display:grid;place-items:center;color:#8b6350;z-index:9}.service-close .icon{width:15px;height:15px}.service-close span{display:none}.service-close:hover{background:#eedac4}.service-scene{border-radius:1px;isolation:isolate;border:5px solid #f0e4d4;outline:1px solid #dac5ad;aspect-ratio:1.18}.service-scene img{transition:transform .85s var(--atelier-ease);transform-origin:var(--photo-x,50%) var(--photo-y,50%);will-change:auto}.service-scene.is-exploring img,.service-scene[data-zoomed=true] img{transform:scale(1.48)}.service-scene::before,.service-scene::after{content:'';position:absolute;inset:0 auto 0 0;width:50%;background:#e9d8c1;z-index:4;pointer-events:none;transform-origin:left;transform:scaleX(0)}.service-scene::after{left:50%;transform-origin:right;background:#dfc9ac}.service-item[open] .service-scene::before{animation:shutter-open .75s .06s var(--atelier-ease) both}.service-item[open] .service-scene::after{animation:shutter-open .85s .11s var(--atelier-ease) both}.photo-corners{position:absolute;inset:15px;z-index:2;pointer-events:none;opacity:0;transition:opacity .4s}.photo-corners i{position:absolute;width:16px;height:16px;border:1px solid #fff8eb}.photo-corners i:nth-child(1){left:0;top:0;border-right:0;border-bottom:0}.photo-corners i:nth-child(2){right:0;top:0;border-left:0;border-bottom:0}.photo-corners i:nth-child(3){left:0;bottom:0;border-right:0;border-top:0}.photo-corners i:nth-child(4){right:0;bottom:0;border-left:0;border-top:0}.service-scene:hover .photo-corners,.service-scene:focus-within .photo-corners{opacity:.8}.photo-zoom{position:absolute;bottom:8px;right:8px;z-index:5;display:flex;align-items:center;gap:6px;min-height:34px;padding:7px 9px;background:#fff9eee8;color:#652d23;border:1px solid #d0b694;border-radius:2px;font-size:10px;box-shadow:0 2px 6px #3c211321}.photo-zoom svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6}.photo-zoom[aria-pressed=true]{background:var(--brick);color:#fffaf2}.service-item[open] .service-icon{box-shadow:inset 0 0 0 4px #a13228,inset 0 0 0 5px #fff5df70}.service-icon{position:relative}.service-icon::after{content:'';position:absolute;inset:-6px;border:1px dashed #b58865;border-radius:50%;opacity:0;transform:rotate(-40deg);transition:opacity .35s,transform 1.1s var(--atelier-ease)}.service-item summary:hover .service-icon::after,.service-item[open] .service-icon::after{opacity:.75;transform:rotate(0)}
.story-stop .short-rule{position:relative}.story-stop .short-rule::after{content:'';width:6px;height:6px;border:1px solid var(--brick);position:absolute;right:-9px;top:-2px;transform:rotate(45deg);transition:transform .7s var(--atelier-ease)}.story-stop:hover .short-rule::after{transform:translateX(12px) rotate(135deg)}.story-stop h2{transition:transform .6s var(--atelier-ease)}.story-stop:hover h2{transform:translateX(3px)}.plan-steps li{--step-delay:0s}.plan-steps li:nth-child(2){--step-delay:.16s}.plan-steps li:nth-child(3){--step-delay:.32s}.step-number{position:relative}.step-number::after{content:'';position:absolute;inset:-5px;border:1px solid #f7e5cfaa;border-radius:50%;transform:scale(.6);opacity:0;transition:transform .7s var(--atelier-ease),opacity .4s}.plan-steps li:hover .step-number::after{transform:scale(1);opacity:1}.atelier-entered .plan-steps li{animation:step-place .7s var(--step-delay) var(--atelier-ease) both}.plan-steps h3{position:relative;display:inline-block}.plan-steps h3::after{content:'';position:absolute;left:0;bottom:-3px;right:0;height:1px;background:#f7e5cf;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--atelier-ease)}.plan-steps li:hover h3::after{transform:scaleX(1)}
.keys-wrap{display:block;border:0;background:none;color:inherit;padding:0;cursor:pointer;isolation:isolate}.keys-wrap .keys-art{transform:rotate(calc(-7deg + var(--key-tilt,0deg)));transition:transform .8s var(--atelier-ease),filter .8s;transform-origin:51% 61%}.keys-wrap:hover .keys-art,.keys-wrap:focus-visible .keys-art{transform:translateY(-8px) rotate(calc(-2deg + var(--key-tilt,0deg)));filter:drop-shadow(0 18px 12px #5e311020)}.keys-wrap:active .keys-art{transform:translateY(-2px) rotate(-5deg)}.keys-caption{line-height:1.4}.key-tray-action{display:flex;align-items:center;justify-content:center;gap:12px;position:relative;font-size:11px;font-weight:700;color:var(--brick);margin-top:20px;letter-spacing:.02em}.key-tray-action .icon{width:16px;height:16px;transition:transform .5s var(--atelier-ease)}.keys-wrap:hover .key-tray-action .icon{transform:translateX(6px)}.visit-section{margin-top:24px}
.footer-brand .brand-roof{transition:transform .7s var(--atelier-ease)}.footer-brand:hover .brand-roof{transform:translateY(-7px) rotate(-3deg)}.back-top{transition:transform .6s var(--atelier-ease),background .3s}.back-top:hover{transform:translateY(-5px)}.motion-toggle{background:none;color:#d4bda8;display:inline-flex;align-items:center;gap:8px;font-size:10px;padding:0;white-space:nowrap}.motion-toggle-mark{display:block;width:13px;height:13px;border:1px solid #ad8e75;border-radius:50%;position:relative}.motion-toggle-mark::before,.motion-toggle-mark::after{content:'';position:absolute;width:1px;height:5px;top:3px;background:currentColor}.motion-toggle-mark::before{left:4px}.motion-toggle-mark::after{right:4px}.motion-toggle[aria-pressed=true] .motion-toggle-mark::before{width:0;height:0;border-top:3px solid transparent;border-bottom:3px solid transparent;border-left:4px solid currentColor;background:none;top:2px;left:4px}.motion-toggle[aria-pressed=true] .motion-toggle-mark::after{display:none}.motion-toggle:disabled{cursor:default;opacity:.75}.site-footer .footer-bottom>.motion-toggle{display:inline-flex}
.visit-dialog{background-color:#fcf7ef;background-image:linear-gradient(90deg,transparent 17px,#b1674924 17px,#b1674924 18px,transparent 18px)}.visit-dialog[open]{animation:paper-arrive .5s var(--atelier-ease)}.review-symbol{border:1px dashed #b99068}.review-list dt{font-size:11px;letter-spacing:.03em;text-transform:uppercase}.draft-status{border:1px dashed #bda17f;border-radius:2px}.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{background:#fffdf8;border-color:#a13228;box-shadow:0 3px 0 #a132281c}.form-grid label:focus-within{color:#8c3025}
@keyframes note-open{from{opacity:0;transform:translateY(-9px) rotate(-4deg) scale(.96)}to{opacity:1;transform:translateY(0) rotate(2deg) scale(1)}}@keyframes folio-open{from{opacity:0;transform:translateX(-13px) rotate(-1deg)}to{opacity:1;transform:translateX(0) rotate(0)}}@keyframes shutter-open{from{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes step-place{from{opacity:.6;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes paper-arrive{from{opacity:0;transform:translateY(22px) rotate(-1deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@media(max-width:1100px) and (min-width:901px){.welcome-note{padding:18px 17px}.welcome-note p{font-size:16px}.welcome-note strong{font-size:22px}.welcome-note .text-button{font-size:11px}.service-extra{gap:0 15px;width:61vw;padding:27px 19px 21px}.service-extra h3{font-size:18px}.service-extra p{font-size:14px}.service-extra>.text-button{font-size:12px}.sign-board strong{font-size:21px}}
@media(max-width:900px){.welcome-sign{left:75%;top:7%;width:62px}.sign-board{padding:6px 4px 3px}.sign-board strong{font-size:20px}.sign-small{font-size:5px}.sign-string{height:19px}.sign-string::before,.sign-string::after{top:9px}.reception-bell{width:23px;height:17px}.welcome-note{left:42%;top:19%;width:47%;max-width:300px;padding:20px 18px}.welcome-note p{font-size:15px}.welcome-note strong{font-size:23px}.welcome-note .text-button{font-size:11px}.walk-key>circle{r:25px}.trace-progress{stroke-width:2.8}.trace-ghost{stroke-width:1.5}.service-extra{padding:23px 0 25px;box-shadow:none;background:transparent;max-height:none;overflow:visible;animation:folio-open .5s var(--atelier-ease)}.service-extra::before{display:none}.service-extra h3{padding:0}.service-close{position:relative;inset:auto;width:auto;min-height:44px;height:auto;display:flex;align-items:center;gap:7px;padding:7px 10px 7px 0;margin-top:14px;background:none;font-size:12px}.service-close span{display:inline}.welcome-dismiss{width:38px;height:38px}.service-scene{aspect-ratio:3/2;margin-bottom:23px;border-width:6px;box-shadow:4px 5px 0 #e0cab0}.photo-zoom{font-size:11px;min-height:44px;padding:9px 11px}.keys-wrap{margin:15px 0 -5px -10px}.key-tray-action{justify-content:flex-start;padding-left:42px;margin-top:12px;font-size:11px}.visit-section{margin:0;padding-top:15px}.keys-caption{max-width:240px}.site-footer .footer-bottom>.motion-toggle{width:max-content;margin-top:3px}}
@media(max-width:379px){.welcome-sign{width:55px;left:75%}.sign-board strong{font-size:18px}.welcome-note{left:39%;width:51%}.welcome-note .text-button{font-size:10px}.welcome-note strong{font-size:21px}.service-extra h3{font-size:21px}}
html.motion-off{scroll-behavior:auto!important}html.motion-off *,html.motion-off *::before,html.motion-off *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html.motion-off .walk-key{display:none}html.motion-off .workshop-light{display:none}html.motion-off .trace-progress{stroke-dashoffset:0;opacity:.3}html.motion-off .service-scene.is-exploring img{transform:none}html.motion-off .service-scene[data-zoomed=true] img{transform:scale(1.48)}html.motion-off .welcome-sign{transform:rotate(-4deg)}html.motion-off .keys-wrap:hover .keys-art{transform:rotate(-7deg)}
@media(prefers-reduced-motion:reduce){.walk-key,.workshop-light{display:none}.trace-progress{stroke-dashoffset:0;opacity:.3}.service-scene.is-exploring img{transform:none}.service-scene[data-zoomed=true] img{transform:scale(1.48)}.welcome-sign{transform:rotate(-4deg)}}
@media(forced-colors:active){html.atelier-ready,html.atelier-ready body{cursor:default}.atelier-ready a,.atelier-ready button,.atelier-ready summary{cursor:pointer}.scene-trace,.workshop-light{display:none}.welcome-sign{filter:none}.sign-board,.welcome-note,.service-extra{border:1px solid CanvasText}.photo-zoom{background:Canvas;color:ButtonText}}

@media(min-width:500px) and (max-width:900px){.welcome-sign{left:85%}}
