[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}section,[id=finKicker]{scroll-margin-top:28px}.skip-link{position:fixed;top:12px;left:12px;z-index:1000;transform:translateY(-180%);padding:12px 20px;background:var(--ink);color:var(--paper)}.skip-link:focus{transform:none}main:focus{outline:none}body .top{gap:32px;justify-content:space-between}body .nav{margin-left:auto;gap:clamp(20px,2.7vw,40px)}body .nav a{min-height:44px;display:flex;align-items:center}body .burger{display:none}.home-menu{border:0;background:var(--paper);color:var(--ink);padding:70px 28px 32px;width:min(90vw,440px)}.home-menu::backdrop{background:#15120db3}.home-menu nav{display:grid;gap:4px}.home-menu nav a{display:block;padding:14px 0;font-size:22px}.menu-close{position:absolute;top:12px;right:12px;border:0;background:transparent;width:44px;height:44px;font-size:32px;cursor:pointer}body .copy{gap:28px}body .copy .lead{font-size:18px;max-width:33ch;line-height:1.55}body .copy .actions{gap:14px}body .copy .btn{padding:0 26px}body .copy .btn:not(.primary){border-color:var(--line-soft)}body .indicator{gap:20px;flex-wrap:wrap;margin-top:12px}body .indicator .line,body .indicator .sep,body #slideTotal,body .stage .caption{display:none}body .indicator .num{font:400 14px/1.4 var(--font-body);letter-spacing:0;text-transform:none;min-height:44px}body .indicator .num:after{content:none}body .replay,body .hero-skip{margin:0;min-height:44px;padding:0;border:0;background:none;font:400 14px/1.4 var(--font-body);text-transform:none;letter-spacing:0;color:var(--ink-2);cursor:pointer}body .replay{display:none}body .is-done .replay{display:inline-block;opacity:1;pointer-events:auto}body .is-done .hero-skip{display:none}body h1 .w{opacity:1;transform:none}body .prc-kicker,.section-kicker{font:400 13px/1.5 var(--font-body);text-transform:uppercase;letter-spacing:.12em}.home-projects{padding:88px 5.6%;background:var(--paper);color:var(--ink)}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-bottom:36px}.section-kicker{color:var(--accent);margin:0 0 20px}.section-heading h2,.workshop-copy h2{margin:0;font:300 clamp(36px,4.5vw,62px)/1.06 var(--font-display);letter-spacing:-.02em}.section-heading>p{max-width:40ch;margin:0 0 4px;font-size:17px;line-height:1.6;color:var(--ink-2)}.concept-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.concept-card{display:block;min-width:0}.concept-card img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;display:block;transition:filter .25s ease}.concept-card:hover img{filter:brightness(1.05)}.concept-card>div{padding:18px 0 24px}.concept-card span{font-size:13px;color:var(--ink-2)}.concept-card h3{font:400 clamp(22px,2vw,30px)/1.2 var(--font-display);margin:6px 0 14px}.concept-card p{font-size:14px;margin:0;color:var(--ink-2);text-decoration:underline;text-underline-offset:5px}.text-link{display:inline-flex;align-items:center;min-height:44px;padding:6px 0;border-bottom:1px solid currentColor;font-size:16px;margin-top:16px}.workshop-overview{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:7%;align-items:center;padding:80px 5.6%;background:#211e1a;color:#eee9e0}.workshop-copy p:not(.section-kicker){font-size:17px;line-height:1.7;max-width:38ch;color:#c6beb1;margin:26px 0 0}.workshop-overview figure{margin:0;min-width:0}.workshop-overview img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}.workshop-overview figcaption{font-size:13px;line-height:1.5;color:#c6beb1;margin-top:12px}.materials-preview{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.materials .materials-preview .sw{border:0;background:transparent;padding:0;text-align:left;cursor:pointer;min-width:0;color:var(--ink);font:inherit;display:block}.materials .materials-preview .sw i{display:block;width:100%;height:auto;aspect-ratio:1;background-size:cover;border-radius:1px}.materials .materials-preview .sw b{display:block;font-size:14px;font-weight:500;margin-top:12px;line-height:1.4}.materials .materials-preview .sw small{display:block;font-size:14px;line-height:1.5;margin-top:3px;color:var(--ink-2)}.material-note{font:400 14px/1.55 var(--font-body);color:var(--ink-2);margin:22px 0 0;max-width:62ch}.catalog-disclosure{margin-top:22px;border-top:1px solid var(--line-soft)}.catalog-disclosure>summary{min-height:56px;padding:18px 0;cursor:pointer;font-size:16px}.materials .toc li{padding:0}.materials .toc button{width:100%;display:flex;justify-content:space-between;gap:10px;padding:10px 0;border:0;background:none;color:inherit;text-align:left;font:inherit;cursor:pointer}.materials .book .sw b{font-size:12px;letter-spacing:0}.materials .book .sw small{font-size:12px;line-height:1.35}.materials .book .struct .sw small{display:none}.materials .book .struct .sw i{aspect-ratio:2.4}.materials .modal{margin:0;max-width:none;max-height:none;width:100vw;height:100dvh;border:0;color:var(--ink)}.materials .modal:not([open]){display:none}.materials .modal[open]{display:flex;justify-content:center;align-items:center}.materials .modal::backdrop{background:transparent}.materials .modal .material-note{color:var(--ink-2)}.materials .modal .actions{margin-top:24px}.materials .url{display:none}body .fin-context{padding:12px 0;margin:22px 0 0;border-top:1px solid var(--fin-line);font-size:15px;color:var(--fin-accent)}body .fin-demo-note{font-size:14px;line-height:1.5;margin:20px 0 0;padding:12px 14px;background:#1a1410b3;border-left:2px solid var(--fin-accent);color:var(--fin-ink)}.fin-controls{border:0;padding:0;margin:0;min-width:0}body .fin-controls:disabled{opacity:.65}body .fin-controls:disabled input,body .fin-controls:disabled button,body .fin-controls:disabled textarea{cursor:not-allowed}body .fin-field label{font-size:16px}body .fin-kicker:focus{outline:none}@media(max-width:1100px){body .top{gap:24px}body .nav{gap:20px}.materials-preview{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}@media(max-width:900px){body .burger{display:grid}body .nav{display:none}body .copy{gap:20px;padding:32px 20px 22px}body .copy .lead{font-size:16px;max-width:36ch}body .copy .btn{font-size:15px;padding:0 18px}body .indicator{margin-top:0;gap:20px}.home-projects{padding:56px 20px}.section-heading{grid-template-columns:1fr;gap:18px;margin-bottom:26px}.section-heading>p{font-size:16px}.section-kicker{font-size:12px;margin-bottom:14px}.concept-grid{grid-template-columns:1fr;gap:12px}.concept-card img{aspect-ratio:4/3}.concept-card>div{padding:16px 0 20px}.concept-card h3{font-size:28px}.workshop-overview{grid-template-columns:1fr;padding:56px 20px;gap:30px}.workshop-copy p:not(.section-kicker){max-width:45ch;font-size:16px;margin-top:20px}.workshop-overview img{aspect-ratio:4/3}body .prc{padding:56px 20px}body .prc-step,body .prc-step.is-final{padding-left:34px;padding-bottom:28px}body .prc-step img{max-height:190px;max-width:85%;object-fit:contain;object-position:left}body .prc-step.is-final img{max-width:78%;max-height:280px;width:auto}body .prc-step figcaption{margin-bottom:14px}body .materials{padding:56px 20px}body .materials .head{gap:20px;margin-bottom:28px}.materials-preview{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 12px}.materials .materials-preview .sw b,.materials .materials-preview .sw small{font-size:13px}.materials .table{padding-bottom:80px}.materials .pager{bottom:29px}body .fin{--fin-mh:330px}body .fin-inner{padding:40px 20px 56px}body .fin-head{padding:0;min-height:0;margin-bottom:32px}body .fin-title{font-size:clamp(40px,10vw,58px);max-width:10ch}body .fin-title span{display:inline}body .fin-title span+span:before{content:" "}body .fin-bg{height:100%;opacity:.35}body .fin-shade{background:linear-gradient(180deg,#1a141080,#1a1410 75%)}body .fin-form{max-width:none}body .fin-field label{font-size:15px}}@media(max-width:390px){.materials-preview{grid-template-columns:repeat(2,minmax(0,1fr))}body .copy .actions{flex-direction:column}body .copy .btn{flex:none;width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}.concept-card img{transition:none}.materials .leaf,.materials .book{transition:none!important}}.prj .prj-count{font-size:36px}.prj .prj-count small{font-size:20px}.prj .prj-pending{margin-top:22px;padding:14px 0 0;border:0}.prj .prj-pending p{margin:0;font-size:15px}.prj .prj-skel{margin-top:12px}.prj .prj-skel .prj-field{padding:12px 0}.prj .prj-skel dd{margin:0}.prj .prj-btn svg,.ws .ws-cta svg{display:none}.prj .prj-foot{display:flex;justify-content:flex-end}.prj-all{display:inline-flex;align-items:center;gap:16px;min-height:44px;border-bottom:1px solid var(--prj-line);font-size:16px;white-space:nowrap}.prj-view[inert]{visibility:hidden}.prj .prj-btn{text-decoration:none}.prj-photo-controls{position:absolute;z-index:5;left:20px;right:20px;bottom:16px;display:flex;align-items:center;justify-content:center;gap:12px;pointer-events:none}.prj-photo-controls[hidden]{display:none}.prj-photo-dots{display:flex;align-items:center;padding:0 8px;background:#141210c7;border-radius:24px;pointer-events:auto}.prj-photo-dots button{display:grid;place-items:center;width:32px;height:44px;padding:0;border:0;background:none}.prj-photo-dots button span{display:block;width:20px;height:3px;background:#fff6;border-radius:2px;transition:background .2s}.prj-photo-dots button[aria-current=true] span,.prj-photo-dots button:hover span{background:#fff}.prj-photo-toggle{width:44px;height:44px;display:grid;place-items:center;flex-shrink:0;padding:0;border:0;border-radius:50%;background:#141210c7;color:#fff;pointer-events:auto}.prj-photo-toggle span{width:12px;height:14px;border-left:4px solid currentColor;border-right:4px solid currentColor}.prj-photo-toggle.is-paused span{width:0;height:0;border:0;border-left:11px solid currentColor;border-top:7px solid transparent;border-bottom:7px solid transparent;margin-left:3px}.prj .prj-photo-controls :focus-visible{outline:2px solid #fff;outline-offset:3px}@media(max-width:680px){.prj-photo-controls{left:12px;right:12px;bottom:12px;gap:8px}.prj-photo-dots button{width:30px}}.prj .prj-field dt{font:400 13px/1.5 var(--font-body);letter-spacing:0;text-transform:none}.prj .prj-clamp2,.prj .prj-clamp3{display:block;overflow:visible}.ws .ws-foot{justify-content:flex-end}.ws .ws-kicker,.prj .prj-kicker{font:400 13px/1.5 var(--font-body);letter-spacing:.12em}.ws .ws-play:disabled{cursor:default;font-size:14px;color:var(--ws-ink-2);text-shadow:none}.ws .ws-play:disabled i{display:none}.ws .ws-cap{justify-content:flex-start}.materials .pf{justify-content:flex-end}@media(max-width:900px){.prj .prj-foot{margin-top:26px;padding-right:0}.ws .ws-foot{align-items:flex-end}.ws .ws-cta{justify-content:flex-end}.ws .ws-lead{font-size:18px}}.prj .prj-budget{margin-top:22px;padding-top:18px;border-top:1px solid var(--prj-line)}.prj-budget>span{font-size:14px;color:#655f56}.prj-budget>p{margin:6px 0 0;font:400 clamp(1.625rem,2.6vw,2.25rem)/1.15 var(--font-display);font-variant-numeric:tabular-nums;white-space:nowrap}.prj-budget>small{display:block;margin-top:8px;font-size:14px;line-height:1.5;color:#655f56}.prj .prj-fields{margin-top:18px}.prj .prj-field dd{font-size:16px}.prj .prj-field dt{font-size:14px;color:#655f56}.budget{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:clamp(36px,8vw,120px);padding:64px 5.6%;background:#f1eee8;color:#1b1916;border-top:1px solid #d6d0c4}.budget-heading,.budget-action{min-width:0}.budget-kicker{margin:0 0 20px;font-size:14px;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;color:#655f56}.budget h2{margin:0;max-width:19ch;font:300 clamp(2.25rem,4vw,3.5rem)/1.08 var(--font-display);letter-spacing:-.01em;text-wrap:balance}.budget-lead{max-width:43ch;margin:0;font-size:17px;line-height:1.65;color:#655f56}.budget-contact{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin-top:24px;padding:13px 26px;border:1px solid #1b1916;background:#1b1916;color:#f4f1ec;font-size:16px;line-height:1.4;text-align:center;text-decoration:none;transition:background .2s}.budget-contact:hover{background:#3b352d}.budget-details{display:block;width:fit-content;max-width:100%;margin-top:16px;color:#655f56;font-size:14px;line-height:1.6;text-underline-offset:4px}.budget-details:hover,.budget-details:focus-visible{color:#1b1916}.budget :focus-visible{outline:2px solid #655f56;outline-offset:5px}@media(max-width:800px){.budget{grid-template-columns:1fr;gap:24px;padding:44px 5.6% 48px}.budget h2{max-width:19ch}.budget-kicker{margin-bottom:16px}.budget-lead{max-width:46ch;font-size:16px}}@media(max-width:480px){.budget{padding:40px 20px 44px}.budget-contact{width:100%}}@media(prefers-reduced-motion:reduce){.budget-contact{transition:none}}.prj{max-width:1800px;margin-inline:auto}.prj-heading-row{display:flex;justify-content:space-between;align-items:center;gap:30px}.prj .prj-stage{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);padding-right:5.6%;gap:clamp(28px,4vw,64px)}.prj .prj-peek{display:none}.prj-project-picker{padding-right:5.6%;margin:-8px 0 42px}.prj-project-picker[hidden]{display:none}.prj-project-picker>p{font-size:13px;color:var(--prj-ink-2);margin:0 0 12px}.prj-project-list{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#b8a590 transparent;padding:3px 3px 10px}.prj-project-list button{display:flex;align-items:center;gap:12px;text-align:left;flex:1 0 158px;min-width:0;max-width:250px;padding:13px 16px;min-height:66px;border:1px solid var(--prj-line);background:transparent;font:400 13px/1.4 var(--prj-body);transition:background .2s,border-color .2s}.prj-project-list button:hover{border-color:#8b7056}.prj-project-list button[aria-pressed=true]{background:#29251f;color:#f4eee4;border-color:#29251f}.prj-picker-no{font:400 11px/1 var(--prj-mono-f);color:#a58b70}.prj-project-list button[aria-pressed=true] .prj-picker-no{color:#ceb596}.prj-nav-label{display:block;font-size:12px;color:var(--prj-ink-2);margin-bottom:5px}.prj-project-count .prj-count{font-size:37px}.prj-project-count .prj-count small{font-size:20px}.prj .prj-navrow{align-items:center}.prj .prj-stack{margin-top:28px}.prj .prj-photo-controls{left:16px;right:16px;bottom:16px;width:max-content;max-width:calc(100% - 32px);margin:auto;padding:4px;background:#f5f0e7f0;color:#27221c;border:1px solid #c8b69e;box-shadow:0 3px 18px #17120d12;gap:0;pointer-events:auto}.prj-photo-arrow{display:grid;place-items:center;width:44px;height:44px;padding:0;background:transparent;border:0;color:inherit}.prj-photo-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.prj-photo-arrow:hover,.prj .prj-photo-toggle:hover{background:#dfd5c7}.prj-photo-count{font:400 12px/1 var(--prj-body);min-width:83px;text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap}.prj .prj-photo-toggle{display:flex;justify-content:center;gap:10px;width:92px;border-radius:0;background:transparent;color:inherit;border-left:1px solid #cbbba5;margin-left:5px}.prj .prj-photo-toggle span{width:9px;height:11px;border-width:3px}.prj .prj-photo-toggle.is-paused span{width:0;height:0;border:0;border-left:9px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent}.prj .prj-photo-toggle b{font:400 12px/1 var(--prj-body)}.prj .prj-photo-controls :focus-visible{outline:2px solid #876342;outline-offset:-3px}.prj-status{margin:20px 5.6% 0 0;font-size:13px;color:#77614c}.prj-status:empty{display:none}.budget-discount{display:flex;gap:14px;align-items:center;font:400 15px/1.5 var(--font-body);margin-top:24px}.budget-discount strong{font:400 30px/1 var(--font-display);color:#917253}@media(max-width:1000px){.prj .prj-stage{grid-template-columns:minmax(0,1.2fr) minmax(250px,1fr)}.prj-project-list button{flex-basis:174px}.prj .prj-media{min-height:560px}}@media(max-width:900px){.prj .prj-stage{grid-template-columns:1fr;padding-right:0;gap:26px}.prj-project-picker{padding-right:0;margin:0 0 28px}.prj-project-list{margin-right:-20px;padding-right:20px}.prj-project-list button{flex:0 0 180px;min-height:60px}.prj-heading-row{align-items:flex-end;gap:18px}.prj-heading-row .prj-all{font-size:13px;gap:8px}.prj .prj-media{min-height:0;height:clamp(340px,80vw,540px)}.prj .prj-navrow{margin-top:0}.prj .prj-stack{margin-top:24px}.prj .prj-photo-controls{bottom:12px;left:10px;right:10px;max-width:calc(100% - 20px)}.prj-photo-count{min-width:70px}.prj .prj-photo-toggle{width:72px;margin-left:2px}.prj .prj-head{padding-right:0}.prj-status{margin-right:0}.budget-discount{font-size:13px}}@media(prefers-reduced-motion:reduce){.prj-project-list button{transition:none}}
