.xd path{fill:none;stroke-linecap:round;stroke-linejoin:round}.xd .ex path{stroke:var(--c4);stroke-width:1.4}.xd .ex path.bd{stroke:var(--c5);stroke-dasharray:.02 .015}.xd .nw path{stroke:var(--c2);stroke-width:2.2}.xd .xh{fill:var(--c2);opacity:.08}@keyframes xdraw{to{stroke-dashoffset:0}}@keyframes xfade{to{opacity:.08}}.js .ts .xd .nw path,.js .tr .xd .nw path{stroke-dasharray:1 1;stroke-dashoffset:1}.js .ts .xd .xh,.js .tr .xd .xh{opacity:0}.js .ts .xd.on .nw path,.js .tr.open .xd .nw path{animation:xdraw 1.1s var(--ease-out) .2s forwards}.js .ts .xd.on .xh,.js .tr.open .xd .xh{animation:xfade .6s ease .9s forwards}.grid-paper{background-color:var(--c10);background-image:linear-gradient(var(--c8) 1px,transparent 1px),linear-gradient(90deg,var(--c8) 1px,transparent 1px);background-size:16px 16px}.js .tcard.drawn.loop .tdraw .nw path{animation:redraw 1.3s var(--ease-out)}.tcard .tfig:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(122,31,61,.07),transparent);transform:translate(-100%);pointer-events:none}.tcard.loop .tfig:after{animation:sweep 1.3s var(--ease-out)}@keyframes sweep{to{transform:translate(100%)}}.ts{display:grid;grid-template-columns:1.25fr 1fr;gap:var(--s9);align-items:start}.ts-sheet{border:1px solid var(--c5);border-radius:var(--r);padding:var(--s5);background-color:var(--c10);box-shadow:var(--shadow)}.ts-panels{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}.ts-panels figure{position:relative;border:1px solid var(--c6);background-color:var(--c10);background-image:linear-gradient(var(--c8) 1px,transparent 1px),linear-gradient(90deg,var(--c8) 1px,transparent 1px);background-size:16px 16px}.ts-panels figcaption,.tr-figs figcaption{position:absolute;left:var(--s4);top:var(--s3);font-size:12px;font-weight:600;color:var(--c4)}.ts-fig{position:relative;aspect-ratio:6/5}.ts-fig svg{position:absolute;inset:12% 6% 4%;width:88%;height:84%;opacity:0;transition:opacity .25s}.ts-fig svg.on{opacity:1}.ts-tb{display:grid;grid-template-columns:1fr 1.7fr auto;margin-top:var(--s4);border:1px solid var(--c4)}.ts-tb span{padding:var(--s2) var(--s4);font-size:12px;color:var(--c4);line-height:1.4}.ts-tb span+span{border-left:1px solid var(--c4)}.ts-tb b{display:block;color:var(--c1);font-weight:700}.ts-tb em{display:block;font:italic 400 var(--text-xl)/1 var(--serif);color:var(--c2)}.ts-tabs{display:grid;gap:var(--s2)}.ts-tabs button{position:relative;overflow:hidden;display:grid;grid-template-columns:36px 1fr;gap:var(--s4);align-items:center;min-height:64px;padding:var(--s4) var(--s5);text-align:left;background:var(--c10);border:1px solid var(--c5);border-radius:var(--r);cursor:pointer;transition:border-color .2s,box-shadow .2s,background .2s}.ts-tabs button:hover{border-color:var(--c4)}.ts-tabs button[aria-selected=true]{border-color:var(--c2);box-shadow:0 0 0 1px var(--c2)}.ts-tabs .n,.tr-h .n,.s3 .n,.bat-tabs .n{font:italic 400 var(--text-sm) var(--serif);color:var(--c2)}.ts-tabs b{display:block;font-weight:600;color:var(--c1)}.ts-tabs small{display:block;font-size:var(--text-xs);color:var(--c4)}.ts-tabs .pg{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--c2);transform:scaleX(0);transform-origin:left}.ts.play [aria-selected=true] .pg{animation:bar 6s linear forwards}.ts:hover .pg,.ts:focus-within .pg{animation-play-state:paused}@keyframes bar{to{transform:scaleX(1)}}.ts-panel{margin-top:var(--s5);padding:var(--s6);background:var(--c8);border-radius:var(--r)}.ts-panel p{font-size:var(--text-base);color:var(--c3);line-height:1.6}.tr-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--s9);align-items:start}.tr-head{position:sticky;top:calc(var(--rv-h) + 110px)}.tr-head .legend{margin-top:var(--s6)}.tr-list{list-style:none;border-top:1px solid var(--c5)}.tr{border-bottom:1px solid var(--c5)}.tr h3{font:inherit;letter-spacing:0}.tr-h{width:100%;display:grid;grid-template-columns:40px 1fr auto 28px;gap:var(--s4);align-items:center;min-height:76px;padding:var(--s5) 0;text-align:left;background:none;border:0;cursor:pointer}.tr-h .tt{font:400 var(--text-xl)/1.2 var(--serif);color:var(--c1);transition:color .2s}.tr-h:hover .tt,.tr.open .tr-h .tt{color:var(--c2)}.tr-h .gd{font-size:var(--text-xs);font-weight:600;color:var(--c4);padding:4px 10px;border:1px solid var(--c5);border-radius:var(--r);white-space:nowrap}.tr-h .pl{position:relative;width:28px;height:28px;border-radius:50%;border:1px solid var(--c5);transition:background .25s,border-color .25s}.tr-h .pl:before,.tr-h .pl:after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;margin:-.75px 0 0 -6px;background:var(--c1);transition:transform .3s var(--ease-out),background .25s}.tr-h .pl:after{transform:rotate(90deg)}.tr.open .pl{background:var(--c2);border-color:var(--c2)}.tr.open .pl:before,.tr.open .pl:after{background:var(--c10)}.tr.open .pl:after{transform:rotate(0)}.tr-b{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease-out)}.tr.open .tr-b{grid-template-rows:1fr}.tr-in{overflow:hidden;min-height:0;display:grid;grid-template-columns:1fr 1.2fr;gap:var(--s6)}.tr-txt,.tr-figs{padding-bottom:var(--s6)}.tr-txt{padding-left:56px}.tr-txt p{font-size:var(--text-base);color:var(--c3);line-height:1.6}.tr-figs{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}.tr-figs figure{position:relative;aspect-ratio:6/5;border:1px solid var(--c6);background-color:var(--c10);background-image:linear-gradient(var(--c8) 1px,transparent 1px),linear-gradient(90deg,var(--c8) 1px,transparent 1px);background-size:16px 16px}.tr-figs svg{position:absolute;inset:14% 6% 4%;width:88%;height:82%}.tr-figs figcaption{top:auto;bottom:var(--s2)}.incl-dw .sheet{border:1px solid var(--c5);border-radius:var(--r);padding:var(--s4);background-color:var(--c10);background-image:linear-gradient(var(--c8) 1px,transparent 1px),linear-gradient(90deg,var(--c8) 1px,transparent 1px);background-size:16px 16px;box-shadow:var(--shadow)}.tdw{width:100%;height:auto}.tdw path{fill:none;stroke-linecap:round;stroke-linejoin:round}.tdw .frame{stroke:var(--c1);stroke-width:1.4}.tdw .base path{stroke:var(--c4);stroke-width:1.3}.tdw .ly path{stroke:var(--c2);stroke-width:1.8}.tdw .ly .ds{stroke-dasharray:.06 .04}.tdw .hf{fill:url(#tdHatch);color:var(--c2);opacity:.45;stroke:none!important}.tdw text{font:500 10px var(--sans);fill:var(--c3)}.tdw .ly text{fill:var(--c2);font-weight:600}.tdw .mid{text-anchor:middle}.tdw .tb .b{font-weight:700;fill:var(--c1)}.tdw .stamp circle{fill:none;stroke:var(--c2);stroke-width:1.6}.tdw .st{font:800 11px var(--sans);fill:var(--c2);text-anchor:middle;letter-spacing:.08em}.tdw .st2{font:600 8px var(--sans);fill:var(--c2);text-anchor:middle}.tdw .ly{transition:opacity .35s}.tdw.has-act .ly{opacity:.16}.tdw.has-act .ly.act{opacity:1}.js .incl-dw .base path,.js .incl-dw .ly path:not(.ds):not(.hf),.js .incl-dw .stamp circle{stroke-dasharray:1 1;stroke-dashoffset:1}.js .incl-dw .ly,.js .incl-dw .tx{opacity:0}.js .incl-dw.drawn .base path{stroke-dashoffset:0;transition:stroke-dashoffset 1.4s var(--ease-out)}.js .incl-dw.drawn .tx{opacity:1;transition:opacity .6s 1s}.js .incl-dw.drawn .ly{opacity:1;transition:opacity .4s var(--dl)}.js .incl-dw.drawn .ly path:not(.ds):not(.hf),.js .incl-dw.drawn .stamp circle{stroke-dashoffset:0;transition:stroke-dashoffset 1s var(--ease-out) var(--dl)}.js .incl-dw.drawn .tdw.has-act .ly{opacity:.16;transition:opacity .35s}.js .incl-dw.drawn .tdw.has-act .ly.act{opacity:1}.tdw .ly[data-k="0"]{--dl:1s}.tdw .ly[data-k="1"]{--dl:1.3s}.tdw .ly[data-k="2"]{--dl:1.6s}.tdw .ly[data-k="3"]{--dl:2.2s}.tdw .ly[data-k="4"]{--dl:1.9s}.tdw .ly[data-k="5"]{--dl:2.5s}.stamp-note{margin-top:var(--s5);font-size:var(--text-sm);color:var(--c4);max-width:44ch}.stamp-note b{color:var(--c1);font-weight:600}.incl-list li{cursor:default;padding:var(--s2);margin:calc(-1 * var(--s2));border-radius:var(--r);transition:background .25s}.incl-list li.on{background:var(--c10)}.incl-list li.on .mic{background:var(--c2);color:var(--c10);border-color:var(--c2)}.incl-list b em{font:italic 400 var(--text-sm) var(--serif);color:var(--c2);margin-right:6px}.steps-sec.s1{background:var(--c9);color:var(--c1)}.s1 .h2{color:var(--c1);margin-bottom:0}.s1-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--s9);align-items:start}.s1-head{align-self:stretch}.s1-sticky{position:sticky;top:calc(var(--rv-h) + 120px)}.s1-count{margin-top:var(--s8);display:flex;align-items:baseline;gap:var(--s2);font-family:var(--serif)}.s1-count b{font-weight:400;font-size:var(--text-6xl);line-height:1;color:var(--c2);font-variant-numeric:tabular-nums}.s1-count span{font-size:var(--text-xl);color:var(--c4)}.s1-list{list-style:none;position:relative;padding-left:76px}.s1-rail{position:absolute;left:23px;top:var(--s6);bottom:var(--s9);width:2px;background:var(--c5)}.s1-rail i{display:block;height:100%;background:var(--c2);transform-origin:top;transform:scaleY(0)}.s1-list li{position:relative;padding:var(--s6) 0 var(--s9);opacity:.35;transition:opacity .4s}.s1-list li.on,html:not(.js) .s1-list li{opacity:1}.s1-ic{position:absolute;left:-76px;top:var(--s6);width:48px;height:48px;border-radius:50%;background:var(--c10);border:1px solid var(--c5);display:grid;place-items:center;color:var(--c4);transition:background .35s,border-color .35s,color .35s,transform .35s var(--ease-out)}.s1-list li.on .s1-ic{background:var(--c2);border-color:var(--c2);color:var(--c10);transform:scale(1.06)}.s1-ic svg,.s2-ic svg,.s3-ic svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.s1 .n{font-size:var(--text-xs);font-weight:600;color:var(--c4)}.s1 h3{font-size:clamp(var(--text-xl),2.6vw,var(--text-3xl));margin:var(--s1) 0 var(--s2)}.s1 p{color:var(--c3);max-width:46ch}.s1 .tag,.s3 .tag{display:inline-block;margin-top:var(--s4);padding:4px 10px;border:1px solid var(--c5);border-radius:var(--r);background:var(--c10);font-size:var(--text-xs);font-weight:600;color:var(--c2)}.s2-top{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:var(--s4);margin-bottom:var(--s8)}.s2-top .h2{margin-bottom:0}.s2-hint{font-size:var(--text-sm);color:var(--c5)}.s2-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4)}.s2-tabs button{text-align:left;min-height:48px;padding:0 0 var(--s2);background:none;border:0;color:var(--c5);font-weight:600;font-size:var(--text-base);cursor:pointer;transition:color .2s}.s2-tabs button:hover,.s2-tabs button[aria-selected=true]{color:var(--c10)}.s2-tabs .n{font:italic 400 var(--text-sm) var(--serif);color:var(--wine-l);margin-right:6px}.s2-tabs .bar{display:block;height:3px;margin-bottom:var(--s4);border-radius:2px;background:#ffffff29;overflow:hidden}.s2-tabs .bar i{display:block;height:100%;background:var(--wine-l);transform:scaleX(0);transform-origin:left}.s2-tabs button.done .bar i,.s2:not(.play) [aria-selected=true] .bar i{transform:none}.s2.play [aria-selected=true] .bar i{animation:bar 5s linear forwards}.s2:hover .bar i,.s2:focus-within .bar i{animation-play-state:paused}.s2-body{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--s9);align-items:center;margin-top:var(--s9)}.s2-ic{width:52px;height:52px;border-radius:var(--r);border:1px solid var(--c3);display:grid;place-items:center;color:var(--wine-l);margin-bottom:var(--s6)}.s2-p h3{font-size:clamp(var(--text-2xl),3.4vw,var(--text-4xl));margin-bottom:var(--s4)}.s2-p h3 em{font-size:.5em;color:var(--wine-l);margin-right:var(--s4);vertical-align:middle}.s2-p p{color:var(--c6);font-size:var(--text-lg);line-height:1.55;max-width:34ch}.s2-p .tag{display:inline-block;margin-top:var(--s6);padding:4px 10px;border:1px solid var(--c3);border-radius:var(--r);font-size:var(--text-xs);font-weight:600;color:var(--c6)}.s2-art{position:relative;aspect-ratio:3/2;border:1px solid rgba(255,255,255,.14);border-radius:var(--r);background-color:#ffffff05;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:24px 24px}.s2-art svg{position:absolute;inset:6% 5% 10%;width:90%;height:84%;overflow:visible}.s2-art path{fill:none;stroke-linecap:round;stroke-linejoin:round}.s2-art .ex path{stroke:#ffffff80;stroke-width:.7}.s2-art text{font:600 6px var(--sans);text-anchor:middle}.s2-art g[class^=l-]{opacity:0;transition:opacity .5s}.l-survey path{stroke:var(--gold);stroke-width:.6}.l-survey text{fill:var(--gold)}.l-survey .pin path{fill:#c8902e2e;stroke-width:.8}.l-survey .pin circle{fill:var(--gold)}.l-design path{stroke:var(--wine-l);stroke-width:.7;stroke-dasharray:2 1.6}.l-design text{fill:var(--wine-l)}.l-stamp circle{fill:none;stroke:var(--wine-l);stroke-width:.7}.l-stamp text{fill:var(--wine-l);font-size:5.2px;font-weight:800;letter-spacing:.05em}.l-build path{stroke:var(--c10);stroke-width:.9;stroke-dasharray:1 1;stroke-dashoffset:1}.l-build .fillw,.l-build .fillr{stroke:none;opacity:0}.l-build .fillw{fill:var(--r-warm)}.l-build .fillr{fill:#ffffff1f}#s2svg[data-stage="0"] .l-survey,#s2svg[data-stage="1"] .l-design,#s2svg[data-stage="2"] .l-design,#s2svg[data-stage="2"] .l-stamp,#s2svg[data-stage="3"] .l-build{opacity:1}.s2-art .pin{opacity:0;transform:translateY(-10px);transition:opacity .5s .2s,transform .7s var(--ease-out) .2s}#s2svg[data-stage="0"] .pin{opacity:1;transform:none}#s2svg[data-stage="3"] .l-build path{animation:xdraw 1.2s var(--ease-out) .1s forwards}#s2svg[data-stage="3"] .l-build .fillw,#s2svg[data-stage="3"] .l-build .fillr{animation:fillw .8s ease .9s forwards}@keyframes fillw{to{opacity:.85}}.s2-cap{position:absolute;left:var(--s5);bottom:var(--s3);font-size:var(--text-xs);color:var(--c5)}.steps-sec.s3{background:var(--c8);color:var(--c1)}.s3 .h2{color:var(--c1);margin-bottom:var(--s8)}.s3-rail{position:relative;height:48px;margin:0 calc(var(--s6) / -2)}.s3-rail:before{content:"";position:absolute;left:calc(50% / var(--n));right:calc(50% / var(--n));top:50%;height:2px;margin-top:-1px;background:var(--c5)}.s3-rail .fill{position:absolute;left:calc(50% / var(--n));top:50%;height:2px;margin-top:-1px;width:calc(var(--i) / var(--n) * 100%);background:var(--c2);transition:width .8s var(--ease-out)}.s3-rail .mk{position:absolute;top:50%;left:calc((var(--i) + .5) / var(--n) * 100%);width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:var(--c2);color:var(--c10);display:grid;place-items:center;box-shadow:0 10px 24px -10px #7a1f3db3;transition:left .8s var(--ease-out)}.s3-rail .mk svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.s3-cards{list-style:none;display:grid;grid-template-columns:repeat(var(--n),1fr);gap:var(--s6);margin-top:var(--s6)}.s3-cards li{padding:var(--s6);background:var(--c10);border:1px solid var(--c5);border-radius:var(--r);transition:transform .45s var(--ease-out),border-color .3s,box-shadow .45s var(--ease-out)}.s3-cards li.on{transform:translateY(-6px);border-color:var(--c2);box-shadow:var(--shadow)}.s3-ic{width:44px;height:44px;border-radius:var(--r);background:var(--c7);color:var(--c2);display:grid;place-items:center;margin-bottom:var(--s5);transition:background .3s,color .3s}.s3-cards li.on .s3-ic{background:var(--c2);color:var(--c10)}.s3 h3{font-size:var(--text-xl);margin:var(--s1) 0 var(--s2)}.s3 p{font-size:var(--text-sm);color:var(--c3);line-height:1.55}.bat-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--s9);align-items:center}.bat-tabs{display:grid;gap:var(--s2);margin:var(--s7) 0 var(--s7)}.bat-tabs button{display:flex;align-items:center;gap:var(--s4);min-height:52px;padding:0 var(--s5);text-align:left;background:var(--c10);border:1px solid var(--c5);border-radius:var(--r);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.bat-tabs button:hover{border-color:var(--c4)}.bat-tabs button[aria-selected=true]{background:var(--c1);border-color:var(--c1);color:var(--c10)}.bat-tabs button[aria-selected=true] .n{color:var(--wine-l)}.is-draw .before{background-color:var(--c10);background-image:linear-gradient(var(--c8) 1px,transparent 1px),linear-gradient(90deg,var(--c8) 1px,transparent 1px);background-size:20px 20px}.is-draw .before svg *{fill:none!important;stroke:var(--c4)!important;stroke-width:1.2px!important}.is-draw .before svg .nw *{fill:var(--c10)!important;stroke:var(--c2)!important;stroke-width:2.2px!important}.is-draw .before svg .nw path[opacity]{fill:none!important;stroke-width:1px!important}@media(max-width:1000px){.ts,.tr-wrap,.s1-grid,.s2-body,.bat-grid{grid-template-columns:1fr}.bat-tabs{grid-template-columns:1fr 1fr;margin:var(--s6) 0}.ts{gap:var(--s6)}.ts-tabs{grid-template-columns:1fr 1fr}.tr-head,.s1-sticky{position:static}.s1-count,.s3-rail{display:none}.s3-cards{grid-template-columns:1fr 1fr;margin-top:0}}@media(max-width:600px){.ts-tabs button{grid-template-columns:1fr;gap:0;padding:var(--s3) var(--s4)}.ts-tabs small{display:none}.ts-tb{grid-template-columns:1fr auto}.ts-tb span:first-child{display:none}.ts-tb span+span{border-left:0}.ts-tb span:last-child{border-left:1px solid var(--c4)}.ts-panels{gap:var(--s2)}.tr-h{grid-template-columns:32px 1fr 28px}.tr-h .gd{display:none}.tr-in{grid-template-columns:1fr;gap:0}.tr-txt{padding-left:0}.s1-list{padding-left:64px}.s1-ic{left:-64px;width:44px;height:44px}.s1-rail{left:21px}.s2-tabs{gap:var(--s2)}.s2-tabs button{font-size:var(--text-sm)}.s2-tabs .n{display:none}.s3-cards{grid-template-columns:1fr}.bat-tabs button{min-height:48px;padding:0 var(--s4);font-size:var(--text-xs)}.bat-side .btn{display:none}}@media(prefers-reduced-motion:reduce){.js .ts .xd .nw path,.js .tr .xd .nw path,.js .incl-dw .base path,.js .incl-dw .ly path,.js .incl-dw .stamp circle,.l-build path{stroke-dashoffset:0!important;animation:none!important}.js .ts .xd .xh,.js .tr .xd .xh{opacity:.08}.js .incl-dw .ly,.js .incl-dw .tx{opacity:1}.l-build .fillw,.l-build .fillr{opacity:.85}}
