.gal-track{view-timeline-name:--gal;min-height:100svh;position:relative}.gal-pin{justify-content:center;align-items:center;min-height:100svh;padding:clamp(96px,12vh,140px) 24px clamp(64px,8vh,110px);display:flex;position:relative;overflow:clip}.gal-grid{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);align-items:center;gap:clamp(32px,4vw,72px);width:100%;max-width:1320px;display:grid}@media (max-width:820px){.gal-pin{flex-direction:column;justify-content:flex-start;align-items:stretch;padding:88px 20px 18px}.gal-grid{flex:1;grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr);align-content:stretch;gap:12px;min-height:0}.gal-pin .gal-display{font-size:clamp(32px,9.6vw,40px)}.gal-pin .gal-sub{margin-top:14px;font-size:15px}.gal-pin .gal-ctas{margin-top:20px}.gal-grid .gal-stage{min-height:27vh}.gal-pin .gal-bridge{margin-top:10px;font-size:13px}.gal-pin .gal-audiences{margin-top:18px;font-size:9px;position:static}}.gal-audiences,.mockup-note{font-family:var(--ff-sans), system-ui, sans-serif}@media (prefers-reduced-motion:no-preference){.js .gal-track{height:480vh}@media (max-width:820px){.js .gal-track{height:300vh}}.js .gal-pin{height:100svh;min-height:0;position:sticky;top:0}}.gal-content{z-index:2;text-align:left;position:relative}.gal-display{letter-spacing:-.04em;color:#1a1712;text-wrap:balance;margin-top:22px;font-size:clamp(44px,4.7vw,76px);font-weight:900;line-height:1}.gal-sub{color:#6a6355;max-width:46ch;margin:24px 0 0;font-size:clamp(16px,1.35vw,19px);line-height:1.6}.gal-ctas{flex-wrap:wrap;justify-content:flex-start;gap:14px;margin-top:32px;display:flex}.gal-bridge{color:#8a8172;margin-top:18px;font-size:14px;line-height:1.5}.gal-chip{font-family:var(--ff-mono), ui-monospace, monospace;letter-spacing:.04em;color:#6a6355;background:#faf7f0;border:1px solid #ddd4c4;border-radius:999px;margin-top:30px;padding:9px 18px;font-size:12px;display:inline-block}.gal-chip span{white-space:nowrap;vertical-align:bottom;max-width:68ch;display:inline-block;overflow:hidden}.gal-chip .chip-short{max-width:42ch;display:none}@media (max-width:820px){.gal-chip .chip-full{display:none}.gal-chip .chip-short{display:inline-block}}@media (prefers-reduced-motion:no-preference){.js .gal-chip{animation:gal-rise-in .5s var(--ease) 1.65s both}.js .gal-chip .chip-full{animation:1.45s steps(60,end) 1.9s both gal-type}.js .gal-chip .chip-short{animation:1s steps(38,end) 1.9s both gal-type-short}}@keyframes gal-type{0%{max-width:0}to{max-width:68ch}}@keyframes gal-type-short{0%{max-width:0}to{max-width:42ch}}@media (max-width:820px){.gal-chip{margin-top:14px;padding:7px 12px;font-size:10.5px}}@media (max-height:720px){.gal-chip,.gal-pin .gal-bridge{display:none}.gal-grid .gal-stage{min-height:0}.gal-browser{width:min(86vw,34vh)}}@media (max-height:820px){.gal-pin .gal-audiences{display:none}}.gal-audiences{z-index:2;text-align:center;font-family:var(--ff-mono), ui-monospace, monospace;letter-spacing:.16em;color:#6a6355;font-size:11px;font-weight:500;position:absolute;inset:auto 24px 18px}.gal-stage{z-index:1;pointer-events:none;justify-content:center;align-self:stretch;align-items:center;min-height:clamp(360px,56vh,620px);display:flex;position:relative}.gal-browser{aspect-ratio:943/617;filter:drop-shadow(18px 30px 30px #28201442);width:min(100%,clamp(340px,36vw,620px));position:relative}.gal-browser>img{width:100%;height:auto;position:absolute;inset:0}.gal-cursor{z-index:6;--w1x:-30vw;--w1y:-34vh;--w2x:-13.5vw;--w2y:-33vh;--w3x:-27vw;--w3y:6vh;--w4x:-15vw;--w4y:-20vh;--w5x:-2vw;--w5y:-30vh;--w6x:-5.5vw;--w6y:-13vh;width:clamp(48px,4.6vw,82px);position:absolute;bottom:4%;right:-2%}.gal-cursor img{filter:drop-shadow(10px 16px 16px #2820144d);width:100%;height:auto;display:block}.mockup-shell{--grain-strength:.03}.mockup-shell:before{content:"";z-index:60;pointer-events:none;opacity:var(--grain-strength);background-image:url(/mockup/grain.png);background-repeat:repeat;position:fixed;inset:0}.forge-stage{overflow:visible}@media (prefers-reduced-motion:no-preference){.js .forge-stage{animation:gal-rise-in .7s var(--ease) .95s both}}.forge-poster{width:100%;height:auto;transition:opacity .3s ease-out}.forge-canvas{width:100%;height:100%;position:absolute;inset:0}.forge-stage:has(.forge-canvas.live) .forge-poster{opacity:0}.mockup-shell section[id]{scroll-margin-top:96px}.mockup-shell input,.mockup-shell textarea,.mockup-shell label{scroll-margin-top:100px}.mockup-shell #contact{padding-top:clamp(140px,16vh,200px)}@media (max-width:820px){.mockup-shell #contact{padding-top:84px}}.mockup-shell .nav-glass{background:#faf7f0fb}.forge-screen{left:calc(var(--fx,0px) + var(--fw,100px) * .33);top:calc(var(--fy,0px) + var(--fh,100px) * .285);width:calc(var(--fw,100px) * .39);height:calc(var(--fh,100px) * .39);border-radius:calc(var(--fw,100px) * .004);pointer-events:none;position:absolute;overflow:hidden}.fs-slides{width:100%;height:100%;translate:var(--slide-x,0px) 0;display:flex;position:absolute;inset:0}.fs-slide{object-fit:cover;flex:0 0 100%;width:100%;height:100%}.forge-caption{z-index:7;letter-spacing:.08em;text-transform:uppercase;color:#1715128c;white-space:nowrap;pointer-events:none;background:#f2ebdfe0;border-radius:999px;padding:4px 12px;font-size:12px;position:absolute;bottom:2.5%;left:50%;translate:-50%}@media (max-width:820px){.forge-stage{flex-direction:column;justify-content:center;gap:6px}.forge-caption{align-self:center;padding:4px 10px;font-size:12px;position:static;bottom:auto;left:auto;translate:none}}@media (prefers-reduced-motion:no-preference){.js .forge-caption{opacity:0;transition:opacity .32s var(--ease)}.js .forge-stage[data-deck="1"] .forge-caption{opacity:1}.js .forge-screen .fs-slides{opacity:0;visibility:hidden;transition:opacity .32s var(--ease), visibility 0s linear .32s}.js .forge-stage[data-deck="1"] .fs-slides{opacity:1;visibility:visible;transition:opacity .32s var(--ease), visibility 0s}}.gal-piece{z-index:4;display:block;position:absolute}.gal-piece img,.gal-piece .gm-photo{width:100%;height:100%;position:absolute;inset:0}.gal-piece-nav{filter:drop-shadow(8px 12px 14px #28201438);--sx:4vw;--sy:-26vh;--sr:-5deg;background:url(/mockup/gal2/module-nav.webp) 50%/100% 100% no-repeat;width:54%;height:17.6%;top:16%;left:7%}.gm-mark{aspect-ratio:2;border:1.5px solid #1a1712bf;border-radius:50%;width:5%;position:absolute;top:50%;left:7%;translate:0 -50%}.gm-word{letter-spacing:-.01em;color:#1a1712;font-size:clamp(8px,.78vw,12px);font-weight:700;position:absolute;top:50%;left:14%;translate:0 -50%}.gm-links{letter-spacing:.02em;color:#1a17128c;white-space:nowrap;font-size:clamp(7px,.62vw,10px);font-style:normal;font-weight:500;position:absolute;top:50%;right:7%;translate:0 -50%}.gal-piece-block{filter:drop-shadow(10px 16px 18px #28201438);--sx:-6vw;--sy:27vh;--sr:4deg;background:url(/mockup/gal2/module-panel.webp) 50%/100% 100% no-repeat;width:54%;height:58%;top:36%;left:7%}.gm-h{letter-spacing:-.01em;color:#1a1712;font-size:clamp(9px,.85vw,13px);font-weight:700;position:absolute;top:12%;left:10%}.gm-ln{background:#1a171221;border-radius:99px;height:4.5%;font-style:normal;position:absolute;left:10%}.gm-ln1{width:62%;top:26%}.gm-ln2{width:44%;top:35%}.gm-img{border-radius:6px;width:82%;height:30%;position:absolute;top:56%;left:9%;overflow:clip}.gp-hill{aspect-ratio:1;background:#6a635538;border-radius:12%;width:58%;position:absolute;bottom:-42%;left:-4%;transform:rotate(45deg)}.gp-sun{aspect-ratio:1;background:#6a635566;border-radius:50%;width:11%;position:absolute;top:14%;right:10%}.gal-piece-form{filter:drop-shadow(10px 16px 18px #2820143d);--sx:6vw;--sy:27vh;--sr:7deg;background:url(/mockup/gal2/module-form.webp) 50%/100% 100% no-repeat;width:28%;height:61%;top:24%;left:65%}.gal-piece-form .gm-h{font-size:clamp(8px,.72vw,11px);top:12%;left:13%}.gm-field{color:#1a171273;font-size:clamp(7px,.62vw,10px);font-style:normal;font-weight:500;position:absolute;left:17%}.gm-field:first-of-type{top:27.5%}.gm-field:nth-of-type(2){top:48.5%}.gm-submit{letter-spacing:.01em;color:#f2ebdf;justify-content:center;align-items:center;width:74%;height:11%;font-size:clamp(7px,.68vw,11px);font-weight:600;display:flex;position:absolute;top:64%;left:13%}.gal-slot{z-index:3;opacity:0;border:1.5px dashed #1a171238;border-radius:8px;position:absolute}.gal-slot:after{content:"";border-radius:inherit;opacity:0;border:1.5px solid #1a171280;position:absolute;inset:-1.5px}.gal-slot-nav{border-radius:99px;width:54%;height:17.6%;top:16%;left:7%}.gal-slot-block{border-radius:10px;width:54%;height:58%;top:36%;left:7%}.gal-slot-form{border-radius:10px;width:28%;height:61%;top:24%;left:65%}@media (max-width:820px){.gal-browser{width:min(86vw,420px,40vh)}.gal-cursor{--w1x:-46vw;--w1y:-20vh;--w2x:-30vw;--w2y:-24vh;--w3x:-50vw;--w3y:0vh;--w4x:-32vw;--w4y:-15vh;--w5x:-12vw;--w5y:-22vh;--w6x:-14vw;--w6y:-10vh;width:11vw;bottom:2%;right:0}.gal-piece-nav{--sx:6vw;--sy:-10vh;--sr:-5deg}.gal-piece-block{--sx:-8vw;--sy:7vh;--sr:4deg}.gal-piece-form{--sx:8vw;--sy:7vh;--sr:7deg}}.gal-w{vertical-align:bottom;margin-bottom:-.08em;padding-bottom:.08em;display:inline-block;overflow:clip}.gal-wi{display:inline-block}@media (prefers-reduced-motion:no-preference){.js .gal-wi{animation:gal-word-rise .75s var(--ease) both}}@keyframes gal-word-rise{0%{transform:translateY(112%)}to{transform:none}}@media (prefers-reduced-motion:no-preference){.js .gal-in{animation:gal-rise-in .65s var(--ease) both}.js .gal-in-kicker{animation-delay:0s}.js .gal-in-sub{animation-delay:.62s}.js .gal-in-ctas{animation-delay:.78s}}@keyframes gal-rise-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){.js .gal-browser img{animation:gal-fly-right .95s var(--ease) .4s both}.js .gal-cursor img{animation:gal-fly-top .95s var(--ease) .9s both}}@keyframes gal-fly-right{0%{opacity:0;transform:translate(22vw)rotate(6deg)}70%{opacity:1;transform:translate(-1.2vw)rotate(-1deg)}to{opacity:1;transform:none}}@keyframes gal-fly-left{0%{opacity:0;transform:translate(-20vw)rotate(-14deg)}70%{opacity:1;transform:translate(1vw)rotate(2deg)}to{opacity:1;transform:none}}@keyframes gal-fly-bl{0%{opacity:0;transform:translate(-12vw,16vh)rotate(-10deg)}70%{opacity:1;transform:translate(.8vw,-1vh)}to{opacity:1;transform:none}}@keyframes gal-fly-br{0%{opacity:0;transform:translate(14vw,14vh)rotate(9deg)}70%{opacity:1;transform:translate(-1vw,-1vh)}to{opacity:1;transform:none}}@keyframes gal-fly-top{0%{opacity:0;transform:translate(6vw,-18vh)rotate(20deg)}70%{opacity:1;transform:translate(-.6vw,1.2vh)}to{opacity:1;transform:none}}.js .gal-cursor img{animation:gal-fly-top .95s var(--ease) .9s both}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.js .gal-cursor{animation-name:gal-collect;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--gal;animation-range:cover 26% cover 74%}.js .gal-piece{animation-name:gal-piece-in,gal-dock;animation-duration:.6s, auto;animation-timing-function:var(--ease), linear;animation-delay:1.3s,0s;animation-fill-mode:both,both;animation-timeline:auto,--gal}.js .gal-piece-nav{animation-range:normal,cover 30% cover 38%}.js .gal-piece-block{animation-range:normal,cover 43% cover 51%}.js .gal-piece-form{animation-range:normal,cover 56% cover 64%}.js .gal-stage:not(.forge-stage){animation-name:gal-stage-out;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--gal;animation-range:cover 71% cover 74%}.js .gal-slot{animation-name:gal-slot-life;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--gal}.js .gal-slot-nav{animation-range:cover 30% cover 38%}.js .gal-slot-block{animation-range:cover 43% cover 51%}.js .gal-slot-form{animation-range:cover 56% cover 64%}.js .gal-slot:after{animation-name:gal-slot-flash;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--gal}.js .gal-slot-nav:after{animation-range:cover 30% cover 38%}.js .gal-slot-block:after{animation-range:cover 43% cover 51%}.js .gal-slot-form:after{animation-range:cover 56% cover 64%}.js .gal-ripple{animation-name:gal-ring2;animation-duration:auto;animation-timing-function:linear;animation-iteration-count:1;animation-delay:0s;animation-fill-mode:both;animation-timeline:--gal;animation-range:cover 64% cover 68%}.js .gal-glow,.js .gp-sun{animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--gal;animation-range:cover 66% cover 72%}.js .gal-glow{animation-name:gal-power}.js .gp-sun{animation-name:gal-brighten-sun}}}@keyframes gal-piece-in{0%{opacity:0}to{opacity:1}}@keyframes gal-dock{0%{transform:translate(var(--sx), var(--sy)) rotate(var(--sr))}55%{transform:translate(calc(var(--sx) / 2.2), calc(var(--sy) / 2.2)) rotate(calc(var(--sr) / 2)) scale(1.06)}90%{transform:translateY(.4vh)scale(1.02)}to{transform:none}}@keyframes gal-collect{0%,4.2%{transform:none}8.3%{transform:translate(var(--w1x), var(--w1y))}25%{transform:translate(var(--w2x), var(--w2y))}35.4%{transform:translate(var(--w3x), var(--w3y))}52.1%{transform:translate(var(--w4x), var(--w4y))}62.5%{transform:translate(var(--w5x), var(--w5y))}79.2%{transform:translate(var(--w6x), var(--w6y)) scale(1)}80.6%{transform:translate(var(--w6x), calc(var(--w6y) + .6vh)) scale(.88)}83.3%{transform:translate(var(--w6x), var(--w6y))}to{transform:none}}@keyframes gal-slot-life{0%{opacity:1}86%{opacity:1}to{opacity:0}}@keyframes gal-slot-flash{0%,80%{opacity:0}90%{opacity:1}to{opacity:0}}@keyframes gal-power{0%{opacity:0}60%{opacity:.5}to{opacity:.3}}@keyframes gal-brighten-sun{0%{opacity:.5}to{opacity:.95}}@keyframes gal-ring2{0%{opacity:0;transform:scale(.45)}12%{opacity:.9;transform:scale(.55)}to{opacity:0;transform:scale(2.2)}}.gal-glow{z-index:5;pointer-events:none;opacity:0;background:radial-gradient(70% 60% at 50% 42%,#fff4d6e6,#fff4d600 75%);border-radius:4%;width:94%;height:91.5%;position:absolute;top:4.5%;left:3%}.gal-ripple{aspect-ratio:1;opacity:0;pointer-events:none;border:2px solid #1a171280;border-radius:50%;width:60%;position:absolute;top:50%;left:50%;translate:-50% -50%}@keyframes gal-stage-out{0%{opacity:1}to{opacity:0}}.mockup-note{z-index:1;font-family:var(--ff-mono), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:#6a6355;text-align:center;background:#e9e1d3;border-block:1px solid #ddd4c4;padding:13px clamp(24px,5.5vw,96px);font-size:11px;font-weight:500;position:relative}.ghost-wrap{pointer-events:none;position:absolute;inset:0;overflow:clip visible}.ghost-word{letter-spacing:-.04em;white-space:nowrap;color:#1a17120d;font-size:min(11.5vw,185px);font-weight:900;line-height:1;position:absolute;top:0;left:50%;translate:-50% -50%}.ghost-word-sm{font-size:min(11vw,175px);top:calc(25svh - 206px)}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.ghost-wrap .ghost-word-sm{animation-name:ghost-drift-ltr;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--auto;animation-range:cover cover 14%}}}@keyframes ghost-drift-ltr{0%{transform:translate(-10vw)}to{transform:none}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.ghost-word{animation-name:ghost-drift;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:cover cover 40%}}}@keyframes ghost-drift{0%{transform:translate(10vw)}to{transform:none}}.print{text-decoration:none;display:block}.print-frame{box-shadow:var(--shadow);background:#fffdf8;border:10px solid #16130f;padding:12px;display:block}.print-a .print-frame{transform:rotate(-1.1deg)}.print-b .print-frame{transform:rotate(.9deg)}.print-meta{flex-direction:column;gap:6px;margin-top:20px;padding:0 4px;display:flex}.print-title{letter-spacing:-.02em;color:#1a1712;font-size:24px;font-weight:700;line-height:1.2}.print-line{color:#4f4a3f;font-size:17px;line-height:1.55}.js .reveal.reveal-card{transform:translateY(20px)scale(.975)}.reveal.reveal-card.in{transform:none}.mockup-shell #how .js .reveal,.js .mockup-shell #how .reveal{transform:translate(-26px)}.mockup-shell #how .reveal.in{transform:none}.auto-track{view-timeline-name:--auto;min-height:100svh;position:relative}.auto-pin{align-items:center;min-height:100svh;padding-block:clamp(72px,8vh,112px);display:flex;position:relative;overflow:clip}@media (prefers-reduced-motion:no-preference) and (min-width:1024px){.js .auto-track{height:190vh}.js .auto-pin{height:100svh;min-height:0;position:sticky;top:0}}.auto-stage{box-shadow:var(--shadow);border:1px solid #ddd4c4;border-radius:18px;position:relative;overflow:hidden}.auto-stage img{width:100%;height:auto;display:block}.auto-before{opacity:0;position:absolute;inset:0}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.js .auto-before{animation-name:auto-clear;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--auto;animation-range:cover 47% cover 63%}@media (max-width:1023px){.js .auto-before{animation-range:cover 36% cover 74%}}}}@keyframes auto-clear{0%{opacity:1}to{opacity:0}}.seal{max-width:210px;margin-top:30px;display:inline-block;position:relative}.seal img{filter:drop-shadow(10px 18px 18px #28201447);width:100%;height:auto;display:block}.seal-tick{border-bottom:2.5px solid #a9812f;border-right:2.5px solid #a9812f;width:14px;height:14px;position:absolute;bottom:10%;right:-18px;transform:none}.js .reveal .seal-tick{opacity:0}.reveal.in .seal-tick{animation:force-in .32s var(--ease) .5s forwards}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.mockup-shell .demo-stage{animation-name:demo-parallax;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:cover}}}@keyframes demo-parallax{0%{transform:translateY(3vh)}to{transform:translateY(-3vh)}}.mockup-shell .demo-stage{width:min(660px,100%)}@media (prefers-reduced-motion:reduce){.film2-cap{opacity:0!important}.film2-cap-3{opacity:1!important;transform:none!important}.ghost-word,.mockup-shell .demo-stage{animation:none!important;transform:none!important}.auto-track{height:auto}.auto-before{opacity:0!important;animation:none!important}.seal-tick,.js .reveal .seal-tick{opacity:1!important;transform:none!important}.reveal.reveal-card,.mockup-shell #how .reveal{transform:none!important}.gal-track{height:auto}.gal-stage,.gal-browser img,.gal-cursor,.gal-cursor img,.gal-chip,.gal-chip span,.gal-in,.gal-wi,.gal-piece{opacity:1!important;max-width:none!important;animation:none!important;transform:none!important}.gal-slot,.gal-ripple,.gal-glow{opacity:0!important;animation:none!important}}
