[hidden]{display:none!important}
.wood-shavings{position:fixed;inset:0;z-index:18;overflow:hidden;pointer-events:none;contain:strict}
.wood-shaving{position:absolute;top:0;display:block;opacity:0;pointer-events:none;animation:wood-fall 4s linear both;will-change:transform,opacity}
.wood-shaving svg{display:block;width:100%;height:100%}
.dialog-open .wood-shavings{visibility:hidden}
@keyframes wood-fall{
  0%{opacity:0;transform:translate3d(0,var(--shaving-y),0) rotate(var(--shaving-turn))}
  12%{opacity:.78}
  75%{opacity:.62}
  100%{opacity:0;transform:translate3d(var(--shaving-drift),calc(var(--shaving-y) + var(--shaving-travel)),0) rotate(var(--shaving-end-turn))}
}
@media(prefers-reduced-motion:reduce){.wood-shavings{display:none}.wood-shaving{animation:none}}
html{scroll-padding-top:35px}
.hero-invitations{display:flex;align-items:center;gap:25px;flex-wrap:wrap}
.hero-direct{color:var(--paper);font-size:11px;text-decoration:underline;text-underline-offset:5px}
.hero-print,.little-print{translate:var(--lean-x,0px) var(--lean-y,0px);transition:translate .7s ease-out}
.hero-copy{animation:arrive .9s both}
.hero-visual{animation:arrive 1.1s .1s both}
@keyframes arrive{from{opacity:.2;translate:0 18px}to{opacity:1;translate:0 0}}
.workbench{padding:85px 0 90px;background:#efeee3;overflow:hidden}
.bench-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin:42px 0 45px}
.bench-heading h2{font-size:clamp(48px,5vw,73px)}
.bench-heading>p{max-width:280px;font-size:13px;margin:0 0 5px;line-height:1.85}
.bench-layout{display:grid;grid-template-columns:1.4fr 1fr;align-items:stretch;box-shadow:0 12px 45px #443a1e0b;scroll-margin-top:12px}
.bench-scene{position:relative;display:flex;align-items:center;justify-content:center;min-height:510px;background:radial-gradient(ellipse at var(--light-x,50%) var(--light-y,40%),#ffffff90,transparent 60%),#e4e2cf;overflow:hidden;border:1px solid #57582714;color:var(--olive)}
.bench-scene:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#57582725 .8px,transparent .8px);background-size:22px 22px;pointer-events:none}
.scene-corner{position:absolute;left:27px;top:25px;font-size:8px;font-weight:600;letter-spacing:1.5px}
.creation{width:100%;height:auto;position:relative;overflow:visible;isolation:isolate}
.drawing-lines{opacity:.23}
.object-shadow{opacity:.08;transform-origin:center;transition:opacity .8s,transform .8s;transform:scale(.75)}
.wood-face{fill:url(#board-grain)}
[data-finish=burnt] .wood-face{fill:url(#board-grain-dark)}
[data-finish=fire] .wood-face{fill:url(#board-grain-fire)}
.wood-piece{transform-box:fill-box;transform-origin:center;transition:transform 1.15s cubic-bezier(.22,1,.36,1),filter .45s;filter:drop-shadow(0 10px 6px #443a1e20)}
.piece-back{transform:translate(-30px,-78px) rotate(7deg)}
.piece-front{transform:translate(-65px,10px) rotate(-9deg)}
.piece-side{transform:translate(63px,0) rotate(15deg)}
.bench-layout:not([data-step="0"]) .wood-piece{transform:translate(0,0) rotate(0);filter:drop-shadow(0 4px 2px #443a1e10)}
.bench-layout:not([data-step="0"]) .object-shadow{opacity:.13;transform:scale(1)}
.plant-life{transform-origin:360px 270px;transform:scale(.3);opacity:0;transition:transform 1.4s cubic-bezier(.22,1,.36,1),opacity .7s}


[data-step="3"] .plant-life{transform:scale(1);opacity:1}
.scene-footer{position:absolute;left:28px;right:28px;bottom:55px;display:flex;justify-content:space-between;align-items:center;gap:25px}
.scene-hand{font:26px/1.15 var(--hand);transform:rotate(-3deg);max-width:260px}
.scene-count{font-size:9px;letter-spacing:2px;white-space:nowrap}
.scene-caption{position:absolute;bottom:20px;left:28px;font-size:8px;opacity:.7}
.bench-controls{background:var(--paper);padding:36px 36px 28px;display:flex;flex-direction:column;align-items:start;min-width:0}
.bench-steps{display:flex;width:100%;align-items:center;margin-bottom:35px}
.bench-steps button{width:40px;height:40px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:none;color:var(--olive);font-size:11px;transition:background .2s,border-color .2s}
.bench-steps button[aria-pressed=true]{background:var(--olive);color:var(--lime);border-color:var(--olive)}
.bench-steps button:hover{border-color:var(--olive)}
.bench-steps>span{flex:1;height:1px;background:var(--line);margin-inline:9px}
.bench-story{min-height:190px}
.bench-story .eyebrow{font-size:9px;margin:0 0 12px}
.bench-story h3{font:43px/1.08 var(--serif);letter-spacing:-.8px;margin:0 0 18px}
.bench-story>p:last-child{font-size:13px;line-height:1.85;margin:0}
.bench-next,.bench-invite{width:100%;margin-top:auto;font-size:12px;gap:15px}
.bench-reset{background:none;border:0;border-bottom:1px solid var(--line);padding:0 0 3px;margin-top:16px;color:var(--olive);font-size:11px;align-self:center}
.bench-hint{font-size:9px;margin:13px auto 0;opacity:.7}
.finish-picker{padding:0;border:0;margin:14px 0 22px;width:100%}
.finish-picker legend{font-size:10px;margin-bottom:12px}
.finish-picker>div{display:flex;gap:8px}
.finish-picker button{border:1px solid transparent;padding:7px 6px;background:none;color:var(--olive);flex:1;font-size:10px;display:flex;align-items:center;flex-direction:column;gap:7px;border-radius:3px}
.finish-picker button[aria-pressed=true]{border-color:var(--olive);background:#57582708}
.swatch{display:block;width:28px;height:28px;border-radius:50%;box-shadow:inset 0 0 0 1px #443a1e33}
.swatch.natural{background:#bc8a56 url('assets/wood-grain.svg') center/160px 20px}
.swatch.burnt{background:#403125}.swatch.fire{background:repeating-linear-gradient(8deg,#a75e2d 0 5px,#40291d 6px 8px,#be8c53 10px 14px)}
.personal-invite{position:relative;background:var(--olive);color:var(--paper);padding:85px 0 90px;overflow:hidden}
.personal-invite:before{content:'';position:absolute;inset:-200px auto auto -230px;width:750px;height:750px;background:url('assets/tree-rings.svg') center/contain;opacity:.1;pointer-events:none}
.invite-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
.personal-invite .eyebrow{font-size:9px;color:var(--lime)}
.personal-invite h2{margin-top:25px;font-size:76px}
.personal-invite h2 em{color:var(--lime)}
.invite-intro{font-size:13px;line-height:1.9;margin-top:26px}
.invite-scribble{font:29px/1.2 var(--hand);display:block;transform:rotate(-5deg);margin-top:30px;color:var(--lime)}
.invitation-card{padding:35px;background:var(--paper);color:var(--olive);position:relative;box-shadow:7px 10px 0 #2e301e30}
.invitation-card:before{content:'';position:absolute;top:-13px;left:calc(50% - 48px);width:96px;height:28px;background:#d0d785a8;transform:rotate(-4deg)}
.intention-choices{display:flex;flex-direction:column}
.intention-choices button{display:flex;align-items:flex-start;gap:16px;border:0;border-bottom:1px solid var(--line);background:none;padding:20px 10px;color:var(--olive);text-align:left;transition:background .2s,padding .2s;border-radius:2px}
.intention-choices button:first-child{border-top:1px solid var(--line)}
.intention-num{font-size:12px;font-weight:700;opacity:.65;margin-top:3px;letter-spacing:1px}
.intention-body{display:flex;flex-direction:column;gap:5px;flex:1}
.intention-body strong{font-size:18px;font-weight:600;line-height:1.25;color:var(--olive)}
.intention-body small{font-size:13.5px;font-weight:400;line-height:1.5;color:var(--olive);opacity:.85}
.intention-arrow{margin-left:auto;font-size:24px;line-height:1;align-self:center;opacity:.7;padding-left:10px}
.intention-choices button:hover,.intention-choices button[aria-pressed=true]{background:#d0d7212e;padding-inline:14px}
.intention-choices button[aria-pressed=true]{font-weight:600}
.invitation-empty{font:25px/1.3 var(--hand);margin:25px 0 0;opacity:.8}
.personal-response{padding-top:26px;animation:arrive .4s both}
.personal-response .eyebrow{color:var(--olive);font-size:8px}
.personal-response h3{font:35px/1.08 var(--serif);margin:10px 0 14px}
.personal-response p:not(.eyebrow){font-size:12px;line-height:1.8}
.personal-response .button{width:100%;font-size:12px;margin-top:12px}
.invitation-course-link{font-size:11px;display:block;text-align:center;margin-top:15px;text-decoration:underline;text-underline-offset:4px}
.photo-dialog #photo-story{max-width:700px;font-size:14px;line-height:1.8;margin:20px 0 6px;color:#f7f6eed9;white-space:pre-line}
.photo-dialog>img{max-height:62vh}
.visit-nav{position:fixed;z-index:25;bottom:22px;left:50%;translate:-50% 20px;background:var(--paper);color:var(--olive);box-shadow:0 5px 24px #25270f24;border:1px solid #57582725;border-radius:40px;display:flex;align-items:center;gap:5px;padding:7px 11px;opacity:0;visibility:hidden;transition:opacity .25s,translate .25s,visibility .25s;overflow:hidden;max-width:calc(100% - 28px);isolation:isolate}
.visit-nav[data-visible=true]{opacity:1;translate:-50% 0;visibility:visible}
.visit-label{font:19px/1 var(--hand);padding:0 12px 0 8px;white-space:nowrap;opacity:.7}
.visit-nav a{font-size:10px;padding:9px 14px;border-radius:22px;white-space:nowrap;transition:background .2s}
.visit-nav a[aria-current=location]{background:var(--olive);color:var(--paper)}
.visit-nav a:hover{background:#d0d72155;color:var(--olive)}
.visit-progress{position:absolute;bottom:0;left:0;width:var(--visit-progress,0%);height:3px;background:var(--lime);z-index:-1}
.dialog-open .visit-nav{visibility:hidden;opacity:0}
.enrollment{padding:70px 0 85px;background:#efeee3}
.enrollment-layout{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(0,1.5fr);align-items:start;gap:65px;margin-top:45px}
.enrollment-copy{position:sticky;top:40px;padding-top:22px}
.enrollment-copy .eyebrow{font-size:9px;margin:0 0 23px}
.enrollment-copy h2{font-size:clamp(48px,4.5vw,65px)}
.enrollment-copy>p:not(.eyebrow){font-size:13px;line-height:1.85;max-width:300px;margin:25px 0}
.enrollment-note{display:block;font:28px/1.2 var(--hand);transform:rotate(-4deg);margin:30px 0 40px}
.enrollment-fallback{font-size:10px;gap:12px}
.enrollment-fallback:focus-visible{outline-color:var(--olive)}
.enrollment-panel{min-width:0;align-self:center;width:100%;background:var(--paper);box-shadow:0 12px 30px #443a1e12;border-top:8px solid transparent;border-image:url('assets/wood-grain.svg') 12 stretch}
.enrollment-panel[open]{align-self:start}
.enrollment-toggle{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:22px;padding:28px 30px;cursor:pointer;color:var(--olive)}
.enrollment-toggle::-webkit-details-marker{display:none}
.enrollment-toggle>span:first-child{min-width:0;font-size:17px;font-weight:550;line-height:1.4}
.enrollment-toggle small{display:block;font-size:11px;font-weight:400;line-height:1.6;margin-top:9px}
.enrollment-toggle-icon{display:grid;place-items:center;flex-shrink:0;width:43px;height:43px;background:var(--lime);border-radius:50%;font-size:27px;line-height:1;transition:transform .2s}
.enrollment-toggle:hover{background:#d0d72116}
.enrollment-toggle:focus-visible{outline:3px solid var(--olive);outline-offset:4px}
.enrollment-close-label,.enrollment-panel[open] .enrollment-open-label{display:none}
.enrollment-panel[open] .enrollment-close-label{display:inline}
.enrollment-panel[open] .enrollment-toggle-icon{transform:rotate(45deg)}
.enrollment-frame{min-width:0;padding:12px;background:#b47f48 url('assets/wood-grain.svg') center/720px 80px;box-shadow:0 12px 30px #443a1e17}
.enrollment-frame iframe{display:block;width:100%;height:1280px;border:0;background:var(--paper)}
@media(max-width:1000px){.enrollment-layout{gap:30px;grid-template-columns:minmax(200px,.7fr) minmax(0,1.5fr)}.enrollment-copy h2{font-size:49px}.enrollment-frame{padding:8px}}
@media(max-width:800px){.enrollment-layout{grid-template-columns:1fr;gap:32px}.enrollment-copy{position:static;padding:0}.enrollment-copy h2{font-size:56px}.enrollment-copy h2 br{display:none}.enrollment-copy h2 em{display:block}.enrollment-copy>p:not(.eyebrow){max-width:480px}.enrollment-note{margin:24px 0}.enrollment-frame{max-width:720px;width:100%;justify-self:center}}
@media(max-width:540px){.enrollment{padding:50px 0}.enrollment-layout{margin-top:30px}.enrollment .section-kicker>span:last-child{display:none}.enrollment-copy h2{font-size:47px}.enrollment-copy>p:not(.eyebrow){font-size:12px}.enrollment-note{font-size:26px}.enrollment-panel{margin-inline:-12px;width:calc(100% + 24px)}.enrollment-toggle{padding:22px 18px;gap:15px}.enrollment-toggle>span:first-child{font-size:15px}.enrollment-toggle small{font-size:10px}.enrollment-toggle-icon{width:36px;height:36px;font-size:25px}.enrollment-frame{padding:5px;max-width:none}.enrollment-frame iframe{height:1550px}}
.site-footer{padding-bottom:100px}
.will-reveal{opacity:.25;translate:0 16px;transition:opacity .7s,translate .7s}
.will-reveal.is-revealed{opacity:1;translate:0 0}
.personal-invite :focus-visible{outline-color:var(--lime)}
.invitation-card :focus-visible,.bench-controls :focus-visible{outline-color:var(--olive)}
@media(min-width:1600px){.bench-scene{min-height:570px}.bench-controls{padding:45px}.bench-story{min-height:210px}.bench-story h3{font-size:48px}}
@media(max-width:1150px){.bench-heading{gap:30px}.bench-heading h2{font-size:57px}.bench-heading>p{max-width:230px}.bench-layout{grid-template-columns:1.25fr 1fr}.bench-controls{padding:28px}.bench-story h3{font-size:37px}.bench-story{min-height:210px}.bench-scene{min-height:520px}.invite-grid{gap:50px}.personal-invite h2{font-size:65px}.invitation-card{padding:28px}.intention-choices button{font-size:12px}.hero-invitations{gap:16px}.hero-direct{font-size:10px}}
@media(max-width:800px){.workbench{padding:60px 0}.bench-heading{display:block;margin:32px 0}.bench-heading h2{font-size:58px}.bench-heading>p{max-width:450px;margin-top:25px}.bench-layout{grid-template-columns:1fr}.bench-scene{min-height:390px}.creation{max-width:660px}.bench-controls{padding:30px;min-height:365px}.bench-steps{max-width:360px;margin-bottom:25px}.bench-story{min-height:0;margin-bottom:25px;max-width:500px}.bench-story h3{font-size:40px}.bench-next,.bench-invite{max-width:400px;margin-top:0}.bench-hint,.bench-reset{margin-left:0;align-self:start}.finish-picker{max-width:300px;margin-top:0}.personal-invite{padding:65px 0}.invite-grid{gap:40px;grid-template-columns:1fr 1.05fr}.personal-invite h2{font-size:56px}.invitation-card{padding:22px}.intention-choices button{font-size:11px;gap:9px}.invite-scribble{font-size:25px}.personal-response h3{font-size:31px}.personal-response .button{font-size:10px;padding:15px}.invitation-empty{font-size:23px}}
@media(max-width:540px){.hero-invitations{gap:20px}.hero-invitations .button{padding:17px 24px;gap:40px}.hero-direct{font-size:10px}.hero-copy{padding-bottom:24px}.hero .eyebrow{font-size:7px;letter-spacing:1.15px}.workbench{padding-block:50px}.bench-heading h2{font-size:46px;letter-spacing:-1px}.bench-heading>p{font-size:12px}.bench-scene{min-height:325px;margin:0 -10px}.creation{width:110%;max-width:none;flex-shrink:0}.scene-corner{top:20px;left:20px;font-size:6px;letter-spacing:1px}.scene-footer{left:20px;right:20px;bottom:43px;gap:10px}.scene-hand{font-size:22px;max-width:225px}.scene-count{font-size:7px;letter-spacing:1px}.scene-caption{left:20px;bottom:17px;font-size:7px}.bench-controls{margin:0 -10px;padding:25px 22px;min-height:390px}.bench-story{margin-bottom:25px}.bench-story h3{font-size:38px}.bench-story>p:last-child{font-size:12px}.bench-steps{margin-bottom:28px}.bench-steps button{width:35px;height:35px;font-size:10px}.bench-steps>span{margin-inline:8px}.bench-next,.bench-invite{font-size:11px}.bench-hint{font-size:9px}.personal-invite{padding-block:50px}.invite-grid{grid-template-columns:1fr;gap:40px}.personal-invite h2{font-size:61px}.invite-intro{font-size:12px}.invite-scribble{font-size:26px;margin-top:20px}.invitation-card{padding:25px}.intention-choices button{font-size:12px;gap:13px}.personal-response .button{font-size:12px;padding:18px}.personal-response h3{font-size:36px}.visit-nav{bottom:12px;gap:1px;padding:6px;max-width:calc(100% - 20px)}.visit-label{display:none}.visit-nav a{font-size:9px;padding:10px 13px}.site-footer{padding-bottom:90px}.photo-dialog #photo-story{font-size:12px;margin-top:20px}.photo-dialog>img{max-height:55vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-copy,.hero-visual,.personal-response{animation:none}.hero-print,.little-print{translate:0 0!important}.wood-piece,.plant-life,.object-shadow,.visit-nav,.will-reveal{transition:none}.will-reveal{opacity:1;translate:0 0}}
