*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#bbaa90}body{overflow-x:hidden}main{min-height:100svh;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,#88765f,#bcab90 28%,#c8b79e 72%,#a19076)}.artwork{position:relative;width:min(100vw,70.6434316svh);line-height:0;box-shadow:0 0 100px #4c392d35}#original{display:block;width:100%;height:auto}canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}canvas.ready{opacity:1}@media(max-aspect-ratio:1054/1492){.artwork{width:100vw}main{background:#bbaa90}}
.atmosphere-controls{position:fixed;bottom:max(18px,env(safe-area-inset-bottom));right:18px;display:flex;align-items:center;gap:7px;z-index:5}.atmosphere-controls button{border:1px solid #f6e8cd80;background:#efe5d2df;color:#493c2b;backdrop-filter:blur(12px);box-shadow:0 2px 15px #33220c16;min-height:42px;padding:9px 15px;border-radius:24px;display:flex;align-items:center;justify-content:center;gap:9px;font:13px/1.4 Georgia,serif;cursor:pointer}.atmosphere-controls button:focus-visible{outline:2px solid #443f23;outline-offset:3px}.atmosphere-controls button[aria-pressed=true]{background:#514e36;color:#fff8e9}.atmosphere-controls #pause-motion{width:42px;padding:9px}.atmosphere-controls button:hover{box-shadow:0 2px 16px #33220c30}@media(max-width:600px){.atmosphere-controls{right:12px;bottom:max(12px,env(safe-area-inset-bottom))}.atmosphere-controls button{font-size:12px;min-height:40px}}
/* Aligned RGBA layers. Static products and typography never deform. */
.artwork{aspect-ratio:1054/1492;overflow:hidden;isolation:isolate;background:#cebea5}.layer{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.background{position:relative;display:block}.cast-shadows{z-index:1;opacity:.45;filter:blur(1.2px);mix-blend-mode:multiply;transform-origin:100% 12%;animation:shadow-breeze 11s ease-in-out infinite alternate}.products{z-index:2}.lettering{z-index:3}.foliage-region{position:absolute;inset:0;z-index:4;pointer-events:none}.foliage-region img{filter:blur(.3px);will-change:transform}.foliage-top{clip-path:inset(0 0 60% 0)}.foliage-middle{clip-path:inset(40% 0 28% 0)}.foliage-bottom{clip-path:inset(72% 0 0 0)}.foliage-top img{transform-origin:0 0;animation:top-breeze 11s ease-in-out infinite alternate}.foliage-middle img{transform-origin:0 48%;animation:middle-breeze 9s ease-in-out infinite alternate;animation-delay:-3s}.foliage-bottom img{transform-origin:0 100%;animation:bottom-breeze 13s ease-in-out infinite alternate;animation-delay:-5s}@keyframes top-breeze{0%{transform:rotate(-.8deg) translateX(-.3%)}50%{transform:rotate(.4deg) translateX(.4%)}100%{transform:rotate(1.3deg) translateX(.8%)}}@keyframes middle-breeze{from{transform:rotate(-1deg) translateX(-.5%)}to{transform:rotate(1.6deg) translateX(.7%)}}@keyframes bottom-breeze{from{transform:rotate(-1.2deg) translateX(-.6%)}to{transform:rotate(1.5deg) translateX(.5%)}}@keyframes shadow-breeze{from{transform:rotate(-1.1deg) translate(-.3%,.1%);opacity:.40}to{transform:rotate(1.4deg) translate(.5%,.35%);opacity:.46}}body.motion-paused .cast-shadows,body.motion-paused .foliage-region img{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.cast-shadows,.foliage-region img{animation:none!important}}
body.page-hidden .cast-shadows,body.page-hidden .foliage-region img{animation-play-state:paused}
.lettering{clip-path:polygon(19% 0,100% 0,100% 100%,19% 100%)}.side-lettering{z-index:3;clip-path:inset(33% 82% 53% 4%);filter:brightness(0) invert(.9) sepia(.18)}
/* Offer title and small in-scene links, kept separate from the bitmap logo. */
.artwork{container-type:inline-size}.lettering{clip-path:inset(0 0 70% 19%)}.lower-lettering{z-index:3;clip-path:inset(39.5% 0 0 19%)}
.offer-navigation{position:absolute;z-index:5;top:30.6%;left:27%;width:53%;text-align:center;line-height:1.2;color:#50301d}.offer-navigation h1{margin:0;font:400 8.2cqw/1.05 Georgia,'Times New Roman',serif;letter-spacing:.1em;text-indent:.1em}.offer-navigation nav{display:flex;justify-content:center;align-items:center;gap:0;margin-top:1.4cqw;border-top:1px solid #755b393b;padding-top:.8cqw}.offer-navigation button{font:500 clamp(10px,2.35cqw,14px)/1.2 Georgia,serif;color:#4a3928;padding:6px 1.35cqw;min-height:30px;background:none;border:0;cursor:pointer;white-space:nowrap;text-underline-offset:4px}.offer-navigation button+button{border-left:1px solid #755b3950}.offer-navigation button:hover{text-decoration:underline;color:#1f2d17}.offer-navigation button:focus-visible{outline:2px solid #59613c;outline-offset:2px}
#offer-cloud{width:min(440px,calc(100vw - 32px));padding:38px 32px 32px;border:1px solid #b9a38390;border-radius:22px;background:#f6eedff5;color:#493a2c;box-shadow:0 24px 100px #26170b55;font:16px/1.7 Georgia,serif;max-height:85svh;overflow:auto}#offer-cloud::backdrop{background:#33271838;backdrop-filter:blur(3px)}#offer-cloud[open]{animation:cloud-in .22s ease-out}.close-cloud{position:absolute;right:12px;top:10px;width:36px;height:36px;border:0;background:transparent;color:#685541;font:28px/1 Arial,sans-serif;cursor:pointer;border-radius:50%}.close-cloud:hover{background:#d9c8ae70}.cloud-label{font:10px/1.4 Arial,sans-serif;letter-spacing:.2em;color:#887658;margin:0 0 16px}#cloud-title{font:400 32px/1.15 Georgia,serif;margin:0 0 18px}#cloud-content p{margin:0 0 18px}#cloud-content p:last-child{margin-bottom:0}.draft-note{font:13px/1.5 Arial,sans-serif;color:#8a7966}.video-link{display:inline-block;background:#4d563b;color:#fff8e9;text-decoration:none;border-radius:6px;padding:11px 17px;font:14px/1.5 Arial,sans-serif}.video-link:hover{background:#354026}#cloud-content ul{padding-left:20px}button:focus-visible,.video-link:focus-visible{outline:2px solid #4d563b;outline-offset:3px}
.foliage-top img{animation-duration:6s}.foliage-middle img{animation-duration:5s}.foliage-bottom img{animation-duration:7s}.cast-shadows{animation-duration:6s}
@keyframes top-breeze{0%{transform:rotate(-2deg) translate(-.8%,-.1%)}50%{transform:rotate(1.1deg) translate(.6%,.3%)}100%{transform:rotate(3.3deg) translate(1.4%,.6%)}}@keyframes middle-breeze{from{transform:rotate(-2.4deg) translateX(-1%)}to{transform:rotate(3deg) translateX(1.5%)}}@keyframes bottom-breeze{from{transform:rotate(-2.7deg) translateX(-1%)}to{transform:rotate(3deg) translateX(1.3%)}}@keyframes shadow-breeze{from{transform:rotate(-2.8deg) translate(-1%,.2%);opacity:.36}to{transform:rotate(3deg) translate(1.3%,.6%);opacity:.49}}@keyframes cloud-in{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){#offer-cloud[open]{animation:none}}
/* Reserve the original tagline row for the three offer links. */
.lower-lettering{clip-path:inset(42% 0 0 19%)}
.offer-navigation button{font-size:clamp(11px,2.45cqw,14px)}
.foliage-region img{scale:1.035}
/* Keep cutout image edges outside the visible frame throughout the full sway. */
.artwork{overflow:hidden;clip-path:inset(0);contain:paint}.foliage-region img{scale:none}.foliage-top img{transform-origin:0 0}.foliage-middle img{transform-origin:0 50%}.foliage-bottom img{transform-origin:0 100%}.cast-shadows{transform-origin:100% 0;scale:1.09}
@keyframes top-breeze{0%{transform:translate(-2.2%,-1.8%) rotate(-1deg) scale(1.10)}50%{transform:translate(-1.5%,-2.3%) rotate(.4deg) scale(1.10)}100%{transform:translate(-2%,-1.7%) rotate(1.2deg) scale(1.10)}}
@keyframes middle-breeze{from{transform:translateX(-2.5%) rotate(-1deg) scale(1.09)}to{transform:translateX(-1.4%) rotate(1deg) scale(1.09)}}
@keyframes bottom-breeze{from{transform:translate(-2.3%,2.5%) rotate(-1.1deg) scale(1.10)}to{transform:translate(-1.2%,2%) rotate(1.1deg) scale(1.10)}}
@keyframes shadow-breeze{from{transform:translate(2%,-2%) rotate(-1.3deg);opacity:.37}to{transform:translate(3%,-1.5%) rotate(1.3deg);opacity:.48}}
main{position:relative}.workshop-film{position:absolute;left:calc(50% + min(35.322svh,50vw) + 28px);top:50%;transform:translateY(-50%);width:clamp(130px,13vw,205px);color:#504431}.film-kicker{font:11px/1.4 Georgia,serif;letter-spacing:.19em;margin:0 0 12px}.workshop-film video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;background:#453b2c;border-radius:5px;box-shadow:0 12px 32px #3e302632}.film-caption{font:italic 18px/1.45 Georgia,serif;margin:14px 0 0}.atmosphere-controls{z-index:6}@media(max-width:1000px){main{flex-direction:column}.workshop-film{position:relative;left:auto;top:auto;transform:none;width:min(220px,52vw);margin:32px auto 100px}.film-caption{text-align:center}.film-kicker{text-align:center}}
/* A small moving image inset into the upright board on the right. */
.board-film{position:absolute;z-index:3;left:77.4%;top:60%;width:14.5%;height:17.6%;padding:.6cqw;border:.45cqw solid #8a582f;border-radius:9% 8% 6% 7%;background:#704323;box-shadow:inset 0 0 1cqw #2e170b, .8cqw .8cqw 1.2cqw #38201165;transform:perspective(550px) rotateY(-12deg) rotateZ(-5deg) skewY(-2deg);transform-origin:50% 90%;cursor:pointer;overflow:hidden;line-height:1;transition:filter .25s,box-shadow .25s}.board-film:hover{filter:brightness(1.08);box-shadow:inset 0 0 1cqw #2e170b,1cqw 1cqw 1.4cqw #38201170}.board-film video{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;border-radius:3px;filter:sepia(.14) saturate(.86)}.board-film-caption{position:absolute;bottom:0;left:0;right:0;padding:1.1cqw .2cqw .65cqw;background:linear-gradient(transparent,#281a0ce8);color:#fff3dc;font:400 1.6cqw/1.3 Georgia,serif;pointer-events:none;white-space:nowrap}.board-film-caption span{font-family:Arial,sans-serif}.board-film:focus-visible{outline:2px solid #fff2d5;outline-offset:3px}#film-dialog{padding:0;border:1px solid #b6a181;border-radius:12px;background:#201d17;box-shadow:0 24px 100px #21170980;width:min(420px,85vw,42svh);max-height:90svh;overflow:visible}#film-dialog::backdrop{background:#211a12b0;backdrop-filter:blur(5px)}#large-film{display:block;width:100%;max-height:85svh;border-radius:12px}.close-film{position:absolute;right:-12px;top:-15px;z-index:2;width:36px;height:36px;border:1px solid #c6b28e;border-radius:50%;background:#f0e4ce;color:#453a28;font:26px/1 Arial;cursor:pointer}
/* Larger frame resting on the lower board, tilted clockwise. */
.board-film{left:65.5%;top:58%;width:23%;height:25.5%;transform:perspective(550px) rotateY(-7deg) rotateZ(8deg);transform-origin:50% 100%;border-width:.65cqw;padding:.7cqw;box-shadow:inset 0 0 1cqw #2e170b,1.1cqw .6cqw .7cqw #38201170,0 1.2cqw 1.3cqw #38201145}.board-film-caption{font-size:2cqw;padding:1.6cqw .3cqw .9cqw}
/* Offer copy stays within the original title area. */
.offer-navigation{top:30.5%;left:24%;width:59%}.offer-navigation h1{font-size:7.5cqw}.offer-subtitle{margin:.65cqw 0 0;font:400 2.5cqw/1.3 Georgia,serif;white-space:nowrap}.offer-navigation nav{margin-top:.9cqw;padding-top:.4cqw}
#offer-cloud{width:min(510px,calc(100vw - 32px));line-height:1.6}.scope-list{list-style:none;padding:0!important;margin:0 0 20px}.scope-list li{margin-bottom:16px}.scope-list strong,.scope-list span{display:block}.scope-list span{margin-top:3px}.offer-note{font:14px/1.55 Georgia,serif;color:#71604c}.estimate-intro{margin-bottom:8px!important}.estimate-total{font:400 46px/1.15 Georgia,serif;letter-spacing:-.03em;margin-bottom:12px!important}.estimate-total span{font-size:24px}.cost-breakdown{margin:22px 0}.cost-breakdown>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid #b9a38360}.cost-breakdown dt{font-size:15px}.cost-breakdown dd{margin:0;white-space:nowrap;font-size:15px}.cost-breakdown small{display:block;font-size:13px;color:#71604c}@media(max-width:420px){#offer-cloud{padding:36px 22px 24px}#cloud-title{font-size:28px}.offer-navigation{left:23%;width:61%}}
/* Move only the leaf ornament; keep the lower caption in place. */
.lower-lettering{clip-path:inset(80% 0 0 19%)}.leaf-ornament{z-index:3;clip-path:inset(42% 40% 53% 45%);transform:translateY(2.4%)}
.cost-subtitle{font:400 21px/1.3 Georgia,serif;margin:24px 0 12px}.optional-costs{font-size:15px}.optional-costs li{margin:7px 0}

.artwork-contact{position:absolute;z-index:5;bottom:1.6%;left:50%;transform:translateX(-50%);color:#453624;font:400 clamp(12px,2.5cqw,15px)/1.5 Georgia,serif;text-decoration:none;text-underline-offset:4px;white-space:nowrap;text-shadow:0 1px 4px #f6eedf}.artwork-contact:hover{text-decoration:underline}.artwork-contact:focus-visible{outline:2px solid #453624;outline-offset:4px}.estimate-total{font-size:clamp(30px,7vw,43px)}

/* Warm film treatment, confined to the framed preview. */
.board-film video{filter:sepia(.27) saturate(.76) contrast(.94) brightness(.96)}
.board-film::after{content:"";position:absolute;inset:.7cqw;pointer-events:none;border-radius:3px;background:linear-gradient(135deg,#f5d39b18,transparent 48%,#75451f18);box-shadow:inset 0 0 2cqw .5cqw #422b2340}
.board-film-caption{z-index:1}
.artwork-contact{font-weight:700;font-size:clamp(14px,2.9cqw,17px);color:#30261b;letter-spacing:.025em;text-shadow:0 1px 3px #fff2d9,0 0 7px #fff2d9}
/* A softly masked copy preserves the shade's grain and woven details. */
.lamp-light{z-index:2;pointer-events:none;filter:brightness(1.38) saturate(1.12);mask-image:radial-gradient(ellipse 10% 13% at 29.5% 55.5%,#000 38%,#0009 70%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 10% 13% at 29.5% 55.5%,#000 38%,#0009 70%,transparent 100%);opacity:.24;animation:lamplight 6.8s ease-in-out infinite}
@keyframes lamplight{0%,100%{opacity:.18}18%{opacity:.43}29%{opacity:.31}43%{opacity:.55}58%{opacity:.29}69%{opacity:.39}82%{opacity:.2}91%{opacity:.33}}
body.motion-paused .lamp-light,body.page-hidden .lamp-light{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.lamp-light{animation:none;opacity:.25}}

.artwork-contact{left:55%}
.board-film video{filter:sepia(.43) saturate(.85) contrast(.94) brightness(.94)}
.artwork{--lamp-rgb:255,173,55}
.lamp-light{filter:brightness(1.8) saturate(1.2);animation:lamp-gentle 4.8s ease-in-out infinite}
.lamp-halo,.lamp-tint{position:absolute;inset:0;z-index:2;pointer-events:none;animation:lamp-gentle 4.8s ease-in-out infinite}
.lamp-halo{background:radial-gradient(ellipse 19% 22% at 27% 55%,rgba(var(--lamp-rgb),.52),rgba(var(--lamp-rgb),.15) 46%,transparent 76%);mix-blend-mode:screen}
.lamp-tint{background:radial-gradient(ellipse 12% 15% at 26% 54%,rgba(var(--lamp-rgb),.8),transparent 85%);mix-blend-mode:color}
@keyframes lamp-gentle{0%,100%{opacity:.28}50%{opacity:.8}}
@keyframes lamp-flicker{0%,100%{opacity:.24}13%{opacity:.95}27%{opacity:.33}42%{opacity:1}57%{opacity:.22}73%{opacity:.82}86%{opacity:.4}}
body.lamp-flicker .lamp-light,body.lamp-flicker .lamp-halo,body.lamp-flicker .lamp-tint{animation-name:lamp-flicker;animation-duration:3.8s}
body.lamp-off .lamp-light{filter:brightness(.45) saturate(.6);opacity:.9;animation:none}
body.lamp-off .lamp-halo,body.lamp-off .lamp-tint{opacity:0;animation:none}
body.motion-paused .lamp-halo,body.motion-paused .lamp-tint,body.page-hidden .lamp-halo,body.page-hidden .lamp-tint{animation-play-state:paused}
.lamp-switch{position:absolute;z-index:5;left:23%;top:65%;padding:.75cqw 1.6cqw;border:1px solid #e2c89780;border-radius:20px;background:#49341be6;color:#fff0cf;font:400 clamp(11px,2.3cqw,14px)/1.3 Georgia,serif;cursor:pointer;box-shadow:0 2px 9px #32201430}
#lamp-dialog{width:min(380px,calc(100vw - 32px));padding:32px;border:1px solid #b9a38390;border-radius:22px;background:#f6eedf;color:#493a2c;font:16px/1.5 Georgia,serif;max-height:85svh;overflow:auto}
#lamp-dialog::backdrop{background:#33271838;backdrop-filter:blur(3px)}#lamp-title{font:400 28px/1.2 Georgia,serif;margin:0 0 20px}#lamp-power{background:#514e36;color:#fff8e9;border:0;border-radius:20px;padding:10px 20px;font:inherit;cursor:pointer}#lamp-dialog fieldset{border:0;border-top:1px solid #b9a38360;margin:24px 0 0;padding:12px 0 0}#lamp-dialog legend{padding-right:10px}#lamp-dialog label{display:block;padding:7px 0;cursor:pointer}#lamp-dialog input{accent-color:#655431;margin-right:8px}
@media(prefers-reduced-motion:reduce){.lamp-light,.lamp-halo,.lamp-tint{animation:none!important;opacity:.55}body.lamp-off .lamp-halo,body.lamp-off .lamp-tint{opacity:0}}

/* Keep the lamp lit; the compact button cycles effects without an overlay. */
body[data-lamp-mode="steady"] .lamp-light,body[data-lamp-mode="steady"] .lamp-halo,body[data-lamp-mode="steady"] .lamp-tint{animation:none;opacity:.65}
body[data-lamp-mode="gentle"] .lamp-light,body[data-lamp-mode="gentle"] .lamp-halo,body[data-lamp-mode="gentle"] .lamp-tint{animation:lamp-gentle 4.8s ease-in-out infinite}
body[data-lamp-mode="fluorescent"] .lamp-light,body[data-lamp-mode="fluorescent"] .lamp-halo,body[data-lamp-mode="fluorescent"] .lamp-tint{animation:tube-flicker 5.6s steps(1,end) infinite}
/* Brief sharp dips, separated by long steady stretches; no rapid strobe. */
@keyframes tube-flicker{0%,100%{opacity:.72}8%{opacity:.06}10%{opacity:.95}28%{opacity:.1}30%{opacity:.8}65%{opacity:.12}68%{opacity:.95}84%{opacity:.62}}
body.motion-paused .lamp-light,body.motion-paused .lamp-halo,body.motion-paused .lamp-tint,body.page-hidden .lamp-light,body.page-hidden .lamp-halo,body.page-hidden .lamp-tint{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){body[data-lamp-mode] .lamp-light,body[data-lamp-mode] .lamp-halo,body[data-lamp-mode] .lamp-tint{animation:none!important;opacity:.65}}

/* Only the hanging willow boughs move; the trunk and wordmark stay fixed. */
.lettering{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%201054%201492%22%3E%3Crect%20width%3D%221054%22%20height%3D%221492%22%20fill%3D%22white%22/%3E%3Cpath%20d%3D%22M575%20128%20L638%20113%20L649%20164%20L627%20222%20L575%20238%20Z%20M695%20122%20L778%20120%20L783%20247%20L696%20252%20L689%20190%20Z%22%20fill%3D%22black%22/%3E%3C/svg%3E");mask-size:100% 100%;mask-mode:luminance}

.logo-branches{z-index:3;pointer-events:none;will-change:transform}
.logo-branches-left{clip-path:polygon(54.554% 8.579%,60.531% 7.574%,61.575% 10.992%,59.488% 14.879%,54.554% 15.952%);transform-origin:60.5% 7.6%;animation:logo-left-breeze 5.7s ease-in-out infinite alternate}
.logo-branches-right{clip-path:polygon(65.939% 8.177%,73.814% 8.043%,74.288% 16.555%,66.034% 16.89%,65.37% 12.735%);transform-origin:66% 8%;animation:logo-right-breeze 6.6s ease-in-out infinite alternate;animation-delay:-2.3s}
@keyframes logo-left-breeze{0%{transform:rotate(-1.4deg) skewX(-.5deg)}50%{transform:rotate(.2deg)}100%{transform:rotate(1.9deg) skewX(.6deg)}}
@keyframes logo-right-breeze{0%{transform:rotate(-1.7deg) skewX(-.6deg)}55%{transform:rotate(.4deg)}100%{transform:rotate(1.4deg) skewX(.5deg)}}
body.motion-paused .logo-branches,body.page-hidden .logo-branches{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.logo-branches{animation:none;transform:none}}

/* A clearer, quicker sway of the hanging branch tips. */
.logo-branches-left{animation-duration:1.65s}
.logo-branches-right{animation-duration:1.95s;animation-delay:-.8s}
@keyframes logo-left-breeze{0%{transform:rotate(-5deg) skewX(-2deg)}45%{transform:rotate(.8deg) skewX(.3deg)}100%{transform:rotate(5.5deg) skewX(2deg)}}
@keyframes logo-right-breeze{0%{transform:rotate(-5.5deg) skewX(-2deg)}55%{transform:rotate(.6deg) skewX(.2deg)}100%{transform:rotate(5deg) skewX(2deg)}}

/* Feather both sides of each cutout to remove hard moving seams. */
.lettering{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%201054%201492%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22soft%22%20x%3D%22-20%25%22%20y%3D%22-20%25%22%20width%3D%22140%25%22%20height%3D%22140%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%224%22/%3E%3C/filter%3E%3C/defs%3E%3Crect%20width%3D%221054%22%20height%3D%221492%22%20fill%3D%22white%22/%3E%3Cpath%20d%3D%22M575%20128%20L638%20113%20L649%20164%20L627%20222%20L575%20238%20Z%20M695%20122%20L778%20120%20L783%20247%20L696%20252%20L689%20190%20Z%22%20fill%3D%22black%22%20filter%3D%22url%28%23soft%29%22/%3E%3C/svg%3E")}
.logo-branches{clip-path:none;mask-size:100% 100%;mask-mode:luminance}
.logo-branches-left{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%201054%201492%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22soft%22%20x%3D%22-20%25%22%20y%3D%22-20%25%22%20width%3D%22140%25%22%20height%3D%22140%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%224%22/%3E%3C/filter%3E%3C/defs%3E%3Crect%20width%3D%221054%22%20height%3D%221492%22%20fill%3D%22black%22/%3E%3Cpath%20d%3D%22M575%20128%20L638%20113%20L649%20164%20L627%20222%20L575%20238%20Z%22%20fill%3D%22white%22%20filter%3D%22url%28%23soft%29%22/%3E%3C/svg%3E");animation-duration:2.2s}
.logo-branches-right{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%201054%201492%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22soft%22%20x%3D%22-20%25%22%20y%3D%22-20%25%22%20width%3D%22140%25%22%20height%3D%22140%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%224%22/%3E%3C/filter%3E%3C/defs%3E%3Crect%20width%3D%221054%22%20height%3D%221492%22%20fill%3D%22black%22/%3E%3Cpath%20d%3D%22M695%20122%20L778%20120%20L783%20247%20L696%20252%20L689%20190%20Z%22%20fill%3D%22white%22%20filter%3D%22url%28%23soft%29%22/%3E%3C/svg%3E");animation-duration:2.6s}
@keyframes logo-left-breeze{0%{transform:rotate(-2.1deg) skewX(-.5deg)}50%{transform:rotate(.2deg)}100%{transform:rotate(2.4deg) skewX(.5deg)}}
@keyframes logo-right-breeze{0%{transform:rotate(-2.4deg) skewX(-.5deg)}50%{transform:rotate(.2deg)}100%{transform:rotate(2.1deg) skewX(.5deg)}}

/* Animate the photographed flame, anchored at the existing candle wick. */
.candle-flame{z-index:3;pointer-events:none;mix-blend-mode:screen;mask-image:radial-gradient(ellipse .65% 1.1% at 39.34% 69.8%,#000 35%,transparent 85%);-webkit-mask-image:radial-gradient(ellipse .65% 1.1% at 39.34% 69.8%,#000 35%,transparent 85%);filter:brightness(1.45) saturate(1.2) drop-shadow(0 0 2px #ffae49);transform-origin:39.34% 70.5%;animation:candle-dance 1.8s ease-in-out infinite}
.candle-glow{position:absolute;inset:0;z-index:3;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(ellipse 3.2% 3.8% at 39.34% 70%,#ffae4d60,transparent 78%);animation:candle-warmth 2.7s ease-in-out infinite}
@keyframes candle-dance{0%,100%{transform:rotate(-3deg) scale(1.15,1.17);opacity:.8}22%{transform:rotate(4deg) scale(1.05,1.33);opacity:1}47%{transform:rotate(-2deg) scale(1.23,1.12);opacity:.75}71%{transform:rotate(5deg) scale(1.08,1.28);opacity:.95}86%{transform:rotate(1deg) scale(1.16,1.2);opacity:.86}}
@keyframes candle-warmth{0%,100%{opacity:.35}37%{opacity:.7}63%{opacity:.45}82%{opacity:.6}}
body.motion-paused .candle-flame,body.motion-paused .candle-glow,body.page-hidden .candle-flame,body.page-hidden .candle-glow{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.candle-flame,.candle-glow{animation:none;opacity:.55}}


/* Both views share one fixed canvas; only light and opacity change on entry. */
.scene-frame{position:relative;width:min(100vw,70.6434316svh);aspect-ratio:1054/1492;isolation:isolate}
.scene-frame .artwork{width:100%;scale:1;transform:none}
.intro-gate{display:none;position:absolute;inset:0;z-index:10;align-items:center;justify-content:center;overflow:hidden;text-align:center;box-shadow:inset 0 0 0 1px #c4a97455}
.intro-wait .intro-gate,.intro-entering .intro-gate{display:flex}
.intro-gate::before{content:"";position:absolute;inset:0;background:#000;pointer-events:none}
.intro-invitation{position:relative;z-index:2;padding:30px;color:#fff2d8;text-shadow:0 2px 16px #241506}
.intro-invitation p{font:12px/1.6 Georgia,serif;letter-spacing:.22em;margin:0 0 20px}
#enter-offer{cursor:pointer;border:1px solid #dbc6a2;border-radius:32px;padding:16px 34px;color:#4b3825;background:linear-gradient(135deg,#faf0db,#e3cdaa);box-shadow:0 8px 35px #25170e45,inset 0 1px 0 #fff9e9;font:400 20px/1.3 Georgia,serif}
#enter-offer:focus-visible{outline:2px solid #fff5dd;outline-offset:6px}
.intro-leaves{position:absolute;inset:0;pointer-events:none}
.intro-leaves-left{opacity:1;filter:brightness(.7)}
.intro-leaves-right{background:url('assets/layers/foliage.png') left center / auto 108% no-repeat;transform:scaleX(-1);opacity:.7;filter:brightness(.65)}
/* Matching copies run the same continuous breeze in the same coordinates. */
.intro-gate .foliage-region{transform:none}
html,body,main{background-color:#000}
main{background:#000}
main::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#88765f,#bcab90 28%,#c8b79e 72%,#a19076);pointer-events:none}
.intro-wait main::before{opacity:0}
.intro-wait .artwork{visibility:hidden;pointer-events:none}
.intro-wait .atmosphere-controls{visibility:hidden}
.intro-entering main::before{animation:reveal-opacity 4.4s ease-in-out both}
.intro-entering .intro-gate{pointer-events:none;animation:gate-finish 4.8s linear both}
.intro-entering .intro-gate::before{animation:veil-away 3.8s ease-in-out both}
.intro-entering .intro-invitation{animation:veil-away .5s ease-out both}
.intro-entering .artwork{animation:scene-light 3.8s ease-out both}
.intro-entering .intro-leaves-right{animation:right-exit 3.3s cubic-bezier(.4,0,.25,1) both}
.intro-entering .intro-leaves-left{animation:left-blend 4.4s ease-in-out both}
.intro-entering .artwork>.foliage-region{animation:leaves-reveal 4.4s ease-in-out both}
.intro-entering .lettering,.intro-entering .offer-navigation{animation:reveal-opacity 1.4s .65s ease-out both}
.intro-entering .board-film{animation:reveal-opacity 1.3s 3.5s ease-out both}
@keyframes gate-finish{0%,99.9%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
@keyframes reveal-opacity{from{opacity:0}to{opacity:1}}
@keyframes veil-away{from{opacity:1}to{opacity:0}}
@keyframes scene-light{from{filter:brightness(0)}to{filter:brightness(1)}}
@keyframes right-exit{0%,12%{transform:scaleX(-1);opacity:.7}100%{transform:scaleX(-1) translateX(-32%);opacity:0}}
@keyframes left-blend{0%{opacity:1;filter:brightness(.7)}45%{opacity:1;filter:brightness(1)}100%{opacity:0;filter:brightness(1)}}
@keyframes leaves-reveal{0%,45%{opacity:0}100%{opacity:1}}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.atmosphere-controls{flex-wrap:wrap;max-width:calc(100vw - 24px);justify-content:flex-end}
.atmosphere-controls #nature-sound,.atmosphere-controls #return-intro{width:42px;height:42px;padding:0;font:22px/1 Georgia,serif}
@media(prefers-reduced-motion:reduce){.intro-entering .artwork,.intro-entering main::before,.intro-entering .artwork>.foliage-region,.intro-entering .board-film,.intro-entering .lettering,.intro-entering .offer-navigation{animation:none}.intro-entering .intro-gate{display:none}}

.artwork-contact{bottom:1.1%;text-align:center}.artwork-contact a{display:block;color:inherit;text-decoration:none}.artwork-contact a:hover{text-decoration:underline}.artwork-contact .contact-phone{font-size:.9em;margin-top:2px}.artwork-contact a:focus-visible{outline:2px solid #453624;outline-offset:3px}

/* One geometry owner: artwork and intro cannot change the frame's dimensions. */
.scene-frame{flex:none;overflow:hidden;box-shadow:0 0 80px #30241835}
.scene-frame::after{content:"";position:absolute;inset:0;z-index:12;pointer-events:none;box-shadow:inset 0 0 0 1px #c4a97455}
.scene-frame .artwork{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;box-shadow:none}
.scene-frame .intro-gate{inset:0;width:100%;height:100%;box-shadow:none}
.artwork-contact{display:flex;flex-direction:column;align-items:center;gap:5px;bottom:1.1%;line-height:1.2}
.artwork-contact a{display:block;width:max-content;padding:2px 5px;line-height:1.2;text-decoration:underline;text-decoration-color:#45362465;text-underline-offset:3px}
.artwork-contact .contact-phone{margin-top:0}

/* Keep the entrance flush with the viewport; reveal contact and controls last. */
html,body{width:100%;min-height:100dvh;background:#000}
main{height:100dvh;min-height:0;overflow:hidden}
.scene-frame{width:min(100vw,70.6434316dvh);max-height:100dvh}
main::before{position:fixed;inset:0}
.intro-wait .artwork-contact,.intro-wait .atmosphere-controls{opacity:0;visibility:hidden}
.intro-entering .artwork-contact,.intro-entering .atmosphere-controls{animation:reveal-opacity .5s 4.6s both}
@media(prefers-reduced-motion:reduce){.intro-entering .artwork-contact,.intro-entering .atmosphere-controls{animation:none}}
