/*!
 * MockFrame device styles
 * Adapted from Marvel devices.css (https://github.com/marvelapp/devices.css)
 * Original work Copyright (c) 2014 Marvelapp — MIT License
 * Modifications Copyright (c) 2026 Mohammed Banani — MIT License
 */
.mockframe{display:inline-block;position:relative;box-sizing:content-box!important}.mockframe .screen{z-index:3;background:#fff;border-radius:1px;width:100%;height:100%;display:block;position:relative;overflow:hidden;box-shadow:0 0 0 3px #111}.mockframe .top-bar,.mockframe .bottom-bar{background:#000;width:100%;height:3px;display:block}.mockframe .middle-bar{background:#000;width:3px;height:4px;position:absolute;top:0;left:90px}.mockframe.iphone8{background:#d9dbdc;border-radius:56px;width:375px;height:667px;padding:105px 24px;box-shadow:inset 0 0 3px #0003}.mockframe.iphone8:before{content:"";z-index:1;background:#f8f8f8;border-radius:50px;width:calc(100% - 12px);height:calc(100% - 12px);position:absolute;top:6px;left:6px}.mockframe.iphone8:after{content:"";z-index:2;border-radius:48px;width:calc(100% - 16px);height:calc(100% - 16px);position:absolute;top:8px;left:8px;box-shadow:inset 0 0 3px #0000001a,inset 0 0 6px 3px #fff}.mockframe.iphone8 .home{z-index:3;background:linear-gradient(135deg,#303233 0%,#b5b7b9 50%,#f0f2f2 69%,#303233 100%);border-radius:100%;width:68px;height:68px;margin-left:-34px;position:absolute;bottom:22px;left:50%}.mockframe.iphone8 .home:before{content:"";background:#f8f8f8;border-radius:100%;width:calc(100% - 8px);height:calc(100% - 8px);position:absolute;top:4px;left:4px}.mockframe.iphone8 .top-bar{background:#bfbfc0;height:14px;position:absolute;top:68px;left:0}.mockframe.iphone8 .bottom-bar{background:#bfbfc0;height:14px;position:absolute;bottom:68px;left:0}.mockframe.iphone8 .sleep{background:#d9dbdc;border-radius:0 2px 2px 0;width:4px;height:66px;position:absolute;top:190px;right:-4px}.mockframe.iphone8 .volume{z-index:0;background:#d9dbdc;border-radius:2px 0 0 2px;width:4px;height:66px;position:absolute;top:188px;left:-4px}.mockframe.iphone8 .volume:before{background:inherit;content:"";border-radius:2px 0 0 2px;width:2px;height:40px;display:block;position:absolute;top:-78px;left:2px}.mockframe.iphone8 .volume:after{background:inherit;content:"";border-radius:2px 0 0 2px;width:4px;height:66px;display:block;position:absolute;top:82px;left:0}.mockframe.iphone8 .camera{z-index:3;background:#3c3d3d;border-radius:100%;width:12px;height:12px;margin-left:-6px;position:absolute;top:24px;left:50%}.mockframe.iphone8 .sensor{z-index:3;background:#3c3d3d;border-radius:100%;width:16px;height:16px;position:absolute;top:49px;left:134px}.mockframe.iphone8 .speaker{z-index:3;background:#292728;border-radius:6px;width:70px;height:6px;margin-left:-35px;position:absolute;top:54px;left:50%}.mockframe.iphone8.gold{background:#f9e7d3}.mockframe.iphone8.gold .top-bar,.mockframe.iphone8.gold .bottom-bar{background:#fff}.mockframe.iphone8.gold .sleep,.mockframe.iphone8.gold .volume{background:#f9e7d3}.mockframe.iphone8.gold .home{background:linear-gradient(135deg,#cebba9 0%,#f9e7d3 50%,#cebba9 100%)}.mockframe.iphone8.black{background:#464646;box-shadow:inset 0 0 3px #000000b3}.mockframe.iphone8.black:before{background:#080808}.mockframe.iphone8.black:after{box-shadow:inset 0 0 3px #0000001a,inset 0 0 6px 3px #212121}.mockframe.iphone8.black .top-bar,.mockframe.iphone8.black .bottom-bar{background:#212121}.mockframe.iphone8.black .volume,.mockframe.iphone8.black .sleep{background:#464646}.mockframe.iphone8.black .camera{background:#080808}.mockframe.iphone8.black .home{background:linear-gradient(135deg,#080808 0%,#464646 50%,#080808 100%)}.mockframe.iphone8.black .home:before{background:#080808}.mockframe.iphone8.landscape{width:667px;height:375px;padding:24px 105px}.mockframe.iphone8.landscape .sleep{border-radius:0 0 2px 2px;width:66px;height:4px;top:100%;right:190px}.mockframe.iphone8.landscape .volume{border-radius:2px 2px 0 0;width:66px;height:4px;top:-4px;left:calc(100% - 254px)}.mockframe.iphone8.landscape .volume:before{border-radius:2px 2px 0 0;width:40px;height:2px;top:2px;left:auto;right:-78px}.mockframe.iphone8.landscape .volume:after{border-radius:2px 2px 0 0;width:66px;height:4px;top:0;left:-82px}.mockframe.iphone8.landscape .top-bar{width:14px;height:100%;top:0;left:calc(100% - 82px)}.mockframe.iphone8.landscape .bottom-bar{width:14px;height:100%;top:0;left:68px}.mockframe.iphone8.landscape .home{margin-top:-34px;margin-left:0;top:50%;left:22px}.mockframe.iphone8.landscape .sensor{top:134px;left:calc(100% - 65px)}.mockframe.iphone8.landscape .speaker{width:6px;height:70px;margin-top:-35px;margin-left:0;top:50%;left:calc(100% - 60px)}.mockframe.iphone8.landscape .camera{margin-top:-5px;margin-left:0;top:50%;left:calc(100% - 32px)}.mockframe.iphone8plus{background:#d9dbdc;border-radius:56px;width:414px;height:736px;padding:112px 26px;box-shadow:inset 0 0 3px #0003}.mockframe.iphone8plus:before{content:"";z-index:1;background:#f8f8f8;border-radius:50px;width:calc(100% - 12px);height:calc(100% - 12px);position:absolute;top:6px;left:6px}.mockframe.iphone8plus:after{content:"";z-index:2;border-radius:48px;width:calc(100% - 16px);height:calc(100% - 16px);position:absolute;top:8px;left:8px;box-shadow:inset 0 0 3px #0000001a,inset 0 0 6px 3px #fff}.mockframe.iphone8plus .home{z-index:3;background:linear-gradient(135deg,#303233 0%,#b5b7b9 50%,#f0f2f2 69%,#303233 100%);border-radius:100%;width:68px;height:68px;margin-left:-34px;position:absolute;bottom:24px;left:50%}.mockframe.iphone8plus .home:before{content:"";background:#f8f8f8;border-radius:100%;width:calc(100% - 8px);height:calc(100% - 8px);position:absolute;top:4px;left:4px}.mockframe.iphone8plus .top-bar{background:#bfbfc0;height:14px;position:absolute;top:68px;left:0}.mockframe.iphone8plus .bottom-bar{background:#bfbfc0;height:14px;position:absolute;bottom:68px;left:0}.mockframe.iphone8plus .sleep{background:#d9dbdc;border-radius:0 2px 2px 0;width:4px;height:66px;position:absolute;top:190px;right:-4px}.mockframe.iphone8plus .volume{z-index:0;background:#d9dbdc;border-radius:2px 0 0 2px;width:4px;height:66px;position:absolute;top:188px;left:-4px}.mockframe.iphone8plus .volume:before{background:inherit;content:"";border-radius:2px 0 0 2px;width:2px;height:40px;display:block;position:absolute;top:-78px;left:2px}.mockframe.iphone8plus .volume:after{background:inherit;content:"";border-radius:2px 0 0 2px;width:4px;height:66px;display:block;position:absolute;top:82px;left:0}.mockframe.iphone8plus .camera{z-index:3;background:#3c3d3d;border-radius:100%;width:12px;height:12px;margin-left:-6px;position:absolute;top:29px;left:50%}.mockframe.iphone8plus .sensor{z-index:3;background:#3c3d3d;border-radius:100%;width:16px;height:16px;position:absolute;top:54px;left:154px}.mockframe.iphone8plus .speaker{z-index:3;background:#292728;border-radius:6px;width:70px;height:6px;margin-left:-35px;position:absolute;top:59px;left:50%}.mockframe.iphone8plus.gold{background:#f9e7d3}.mockframe.iphone8plus.gold .top-bar,.mockframe.iphone8plus.gold .bottom-bar{background:#fff}.mockframe.iphone8plus.gold .sleep,.mockframe.iphone8plus.gold .volume{background:#f9e7d3}.mockframe.iphone8plus.gold .home{background:linear-gradient(135deg,#cebba9 0%,#f9e7d3 50%,#cebba9 100%)}.mockframe.iphone8plus.black{background:#464646;box-shadow:inset 0 0 3px #000000b3}.mockframe.iphone8plus.black:before{background:#080808}.mockframe.iphone8plus.black:after{box-shadow:inset 0 0 3px #0000001a,inset 0 0 6px 3px #212121}.mockframe.iphone8plus.black .top-bar,.mockframe.iphone8plus.black .bottom-bar{background:#212121}.mockframe.iphone8plus.black .volume,.mockframe.iphone8plus.black .sleep{background:#464646}.mockframe.iphone8plus.black .camera{background:#080808}.mockframe.iphone8plus.black .home{background:linear-gradient(135deg,#080808 0%,#464646 50%,#080808 100%)}.mockframe.iphone8plus.black .home:before{background:#080808}.mockframe.iphone8plus.landscape{width:736px;height:414px;padding:26px 112px}.mockframe.iphone8plus.landscape .sleep{border-radius:0 0 2px 2px;width:66px;height:4px;top:100%;right:190px}.mockframe.iphone8plus.landscape .volume{border-radius:2px 2px 0 0;width:66px;height:4px;top:-4px;left:calc(100% - 254px)}.mockframe.iphone8plus.landscape .volume:before{border-radius:2px 2px 0 0;width:40px;height:2px;top:2px;left:auto;right:-78px}.mockframe.iphone8plus.landscape .volume:after{border-radius:2px 2px 0 0;width:66px;height:4px;top:0;left:-82px}.mockframe.iphone8plus.landscape .top-bar{width:14px;height:100%;top:0;left:calc(100% - 82px)}.mockframe.iphone8plus.landscape .bottom-bar{width:14px;height:100%;top:0;left:68px}.mockframe.iphone8plus.landscape .home{margin-top:-34px;margin-left:0;top:50%;left:24px}.mockframe.iphone8plus.landscape .sensor{top:154px;left:calc(100% - 70px)}.mockframe.iphone8plus.landscape .speaker{width:6px;height:70px;margin-top:-35px;margin-left:0;top:50%;left:calc(100% - 65px)}.mockframe.iphone8plus.landscape .camera{margin-top:-5px;margin-left:0;top:50%;left:calc(100% - 29px)}.mockframe.ipad{background:#242324;border-radius:44px;width:576px;height:768px;padding:90px 25px}.mockframe.ipad:before{content:"";background:#1e1e1e;border-radius:40px;width:calc(100% - 8px);height:calc(100% - 8px);display:block;position:absolute;top:4px;left:4px}.mockframe.ipad .camera{background:#3c3d3d;border-radius:100%;width:10px;height:10px;margin-left:-5px;position:absolute;top:44px;left:50%}.mockframe.ipad .top-bar,.mockframe.ipad .bottom-bar{display:none}.mockframe.ipad .home{background:#242324;border-radius:36px;width:50px;height:50px;margin-left:-25px;position:absolute;bottom:22px;left:50%}.mockframe.ipad .home:after{content:"";border:1px solid #ffffff1a;border-radius:4px;width:15px;height:15px;margin-top:-8px;margin-left:-8px;display:block;position:absolute;top:50%;left:50%}.mockframe.ipad.landscape{width:768px;height:576px;padding:25px 90px}.mockframe.ipad.landscape .camera{margin-top:-5px;margin-left:0;top:50%;left:calc(100% - 44px)}.mockframe.ipad.landscape .home{margin-top:-25px;margin-left:0;top:50%;left:22px}.mockframe.ipad.silver{background:#bcbcbc}.mockframe.ipad.silver:before{background:#fcfcfc}.mockframe.ipad.silver .home{background:#fcfcfc;box-shadow:inset 0 0 0 1px #bcbcbc}.mockframe.ipad.silver .home:after{border:1px solid #0003}.mockframe.macbook{background:#bebebe;border-radius:34px;width:960px;height:600px;margin:0 auto;padding:44px 44px 76px}.mockframe.macbook:before{content:"";background:#1e1e1e;border-radius:30px;width:calc(100% - 8px);height:calc(100% - 8px);display:block;position:absolute;top:4px;left:4px}.mockframe.macbook .top-bar{content:"";background:#bebebe;border-bottom-right-radius:90px 18px;border-bottom-left-radius:90px 18px;width:calc(100% + 140px);height:40px;display:block;position:absolute;top:calc(100% - 40px);left:-70px;box-shadow:inset 0 -4px 13px 3px #2229}.mockframe.macbook .top-bar:before{content:"";background:#f0f0f0;border-bottom:2px solid #aaa;border-radius:5px;width:100%;height:24px;display:block;position:relative;top:0;left:0}.mockframe.macbook .top-bar:after{content:"";background:#ddd;border-radius:0 0 20px 20px;width:16%;height:14px;margin-left:auto;margin-right:auto;display:block;position:absolute;top:0;left:0;right:0;box-shadow:inset 0 -3px 10px #999}.mockframe.macbook .bottom-bar{content:"";background:0 0;width:calc(100% + 140px);height:26px;display:block;position:absolute;top:calc(100% - 40px);left:-70px}.mockframe.macbook .bottom-bar:before,.mockframe.macbook .bottom-bar:after{content:"";width:80px;height:calc(100% - 2px);display:block;position:absolute;top:0}.mockframe.macbook .bottom-bar:before{background:linear-gradient(90deg,#747474 0%,#c3c3c3 5%,#ebebeb 14%,#979797 41%,#f0f0f0 80% 100%,#f0f0f0 100%);left:0}.mockframe.macbook .bottom-bar:after{background:linear-gradient(90deg,#f0f0f0 0% 0%,#f0f0f0 20%,#979797 59%,#ebebeb 86%,#c3c3c3 95%,#747474 100%);right:0}.mockframe.macbook .camera{background:#3c3d3d;border-radius:100%;width:10px;height:10px;margin-left:-5px;position:absolute;top:20px;left:50%}.mockframe.macbook .home{display:none}.mockframe.iphone-x{background:#fdfdfd;border-radius:66px;width:375px;height:812px;padding:26px;box-shadow:inset 0 0 11px #000}.mockframe.iphone-x .overflow{border-radius:66px;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.mockframe.iphone-x .shadow{background:radial-gradient(#0009 0%,#fff0 60%);border-radius:100%;width:90px;height:90px;position:absolute}.mockframe.iphone-x .shadow--tl{top:-20px;left:-20px}.mockframe.iphone-x .shadow--tr{top:-20px;right:-20px}.mockframe.iphone-x .shadow--bl{bottom:-20px;left:-20px}.mockframe.iphone-x .shadow--br{bottom:-20px;right:-20px}.mockframe.iphone-x:before{content:"";z-index:1;background:#000;border-radius:61px;width:calc(100% - 10px);height:calc(100% - 10px);position:absolute;top:5px;left:5px}.mockframe.iphone-x .inner-shadow{z-index:1;border-radius:56px;width:calc(100% - 20px);height:calc(100% - 20px);position:absolute;top:10px;left:10px;overflow:hidden;box-shadow:inset 0 0 15px #ffffffa8}.mockframe.iphone-x .inner-shadow:before{content:"";z-index:2;border-radius:200px/112px;width:100%;height:116%;position:absolute;top:-8%;left:0;box-shadow:inset 0 0 20px #fff}.mockframe.iphone-x .screen{box-shadow:none;border-radius:40px}.mockframe.iphone-x .top-bar,.mockframe.iphone-x .bottom-bar{background:#0000001a;width:100%;height:8px;position:absolute;left:0}.mockframe.iphone-x .top-bar{top:80px}.mockframe.iphone-x .bottom-bar{bottom:80px}.mockframe.iphone-x .volume,.mockframe.iphone-x .volume:before,.mockframe.iphone-x .volume:after,.mockframe.iphone-x .sleep{background:#b5b5b5;width:3px;position:absolute}.mockframe.iphone-x .volume{height:32px;top:116px;left:-3px}.mockframe.iphone-x .volume:before{content:"";height:62px;top:62px;left:0}.mockframe.iphone-x .volume:after{content:"";height:62px;top:140px;left:0}.mockframe.iphone-x .sleep{height:96px;top:200px;right:-3px}.mockframe.iphone-x .camera{background:#0d4d71;border-radius:100%;width:6px;height:6px;position:absolute;top:9px;left:154px}.mockframe.iphone-x .speaker{background:#171818;border-radius:6px;width:60px;height:6px;margin-left:-30px;position:absolute;top:9px;left:50%}.mockframe.iphone-x .notch{z-index:4;background:#000;border-bottom-right-radius:24px;border-bottom-left-radius:24px;width:210px;height:30px;margin-left:-105px;position:absolute;top:26px;left:50%}.mockframe.iphone-x .notch:before,.mockframe.iphone-x .notch:after{content:"";width:8px;height:8px;position:absolute;top:0}.mockframe.iphone-x .notch:after{background:radial-gradient(circle at 0 100%,#0000 0 70%,#000 70% 100%);left:-8px}.mockframe.iphone-x .notch:before{background:radial-gradient(circle at 100% 100%,#0000 0 70%,#000 70% 100%);right:-8px}.mockframe.iphone-x.landscape{width:812px;height:375px}.mockframe.iphone-x.landscape .top-bar,.mockframe.iphone-x.landscape .bottom-bar{width:8px;height:100%;top:0}.mockframe.iphone-x.landscape .top-bar{left:80px}.mockframe.iphone-x.landscape .bottom-bar{bottom:auto;left:auto;right:80px}.mockframe.iphone-x.landscape .volume,.mockframe.iphone-x.landscape .volume:before,.mockframe.iphone-x.landscape .volume:after,.mockframe.iphone-x.landscape .sleep{height:3px}.mockframe.iphone-x.landscape .inner-shadow:before{border-radius:112px/200px;width:116%;height:100%;top:0;left:-8%}.mockframe.iphone-x.landscape .volume{width:32px;top:auto;bottom:-3px;left:116px}.mockframe.iphone-x.landscape .volume:before{width:62px;top:0;left:62px}.mockframe.iphone-x.landscape .volume:after{width:62px;top:0;left:140px}.mockframe.iphone-x.landscape .sleep{width:96px;top:-3px;left:200px;right:auto}.mockframe.iphone-x.landscape .camera{top:auto;bottom:154px;left:9px}.mockframe.iphone-x.landscape .speaker{width:6px;height:60px;margin-top:-30px;margin-left:0;top:50%;left:9px}.mockframe.iphone-x.landscape .notch{border-top-right-radius:24px;border-bottom-right-radius:24px;border-bottom-left-radius:0;width:30px;height:210px;margin:-105px 0 0;top:50%;left:26px}.mockframe.iphone-x.landscape .notch:before,.mockframe.iphone-x.landscape .notch:after{left:0}.mockframe.iphone-x.landscape .notch:after{background:radial-gradient(circle at 100% 100%,#0000 0 70%,#000 70% 100%);top:auto;bottom:-8px}.mockframe.iphone-x.landscape .notch:before{background:radial-gradient(circle at 100% 0,#0000 0 70%,#000 70% 100%);top:-8px}.mockframe.iphone17{width:402px;height:874px;box-shadow:inset 0 0 0 .667px var(--mf-b1),inset 0 0 0 1.333px var(--mf-b2),inset 0 0 0 2px var(--mf-b3),inset 0 0 0 2.667px var(--mf-b4),inset 0 0 0 3.333px var(--mf-b5),inset 0 0 0 3.667px var(--mf-b6),inset 0 0 0 4px var(--mf-b7),inset 0 0 0 4.333px var(--mf-b8),inset 0 0 0 4.667px var(--mf-b9),inset 0 0 0 5px var(--mf-b10),inset 0 0 0 5.333px var(--mf-b11),inset 0 0 0 5.667px var(--mf-b12),inset 0 0 3px 8.5px var(--mf-glass);--mf-b1:#333536;--mf-b2:#434445;--mf-b3:#555657;--mf-b4:#656667;--mf-b5:#767778;--mf-b6:#898a8b;--mf-b7:#999a9a;--mf-b8:#a7a8a8;--mf-b9:#999a9b;--mf-b10:#737575;--mf-b11:#4d4e4f;--mf-b12:#353636;--mf-glass:#393939;background:#000;border-radius:78.4px;padding:14.33px 14.67px}.mockframe.iphone17 .screen{box-shadow:none;border-radius:63.5px}.mockframe.iphone17 .dynamic-island{z-index:10;background:#000;border-radius:18px;width:124.67px;height:36px;margin-left:-62.33px;position:absolute;top:28.67px;left:50%}.mockframe.iphone17 .dynamic-island:before,.mockframe.iphone17 .dynamic-island:after{content:"";position:absolute}.mockframe.iphone17 .dynamic-island:before{background:#060606;border-radius:17px;width:78px;height:34px;top:1px;left:.33px}.mockframe.iphone17 .dynamic-island:after{background:#000;border-radius:11px;width:65.67px;height:22px;top:7px;left:6.67px}.mockframe.iphone17 .dynamic-island .camera{top:13px;right:13px;box-shadow:0 0 0 4.5px #0a0d10,0 0 0 12.33px #060606}.mockframe.iphone17:before{background:#0d0d0d;width:85.33px;height:3px;margin-left:-42.67px;top:5.67px}.mockframe.iphone17 .action{height:41.67px;top:185px}.mockframe.iphone17 .volume{height:67.67px;top:257.33px}.mockframe.iphone17 .sleep{height:106.67px;top:280.67px}.mockframe.iphone17.white{--mf-b1:#8e8e8d;--mf-b2:#989796;--mf-b3:#a7a6a5;--mf-b4:#bbbab9;--mf-b5:#cbcbca;--mf-b6:#d8d8d7;--mf-b7:#e1e1e0;--mf-b8:#e8e8e8;--mf-b9:#dfdfde;--mf-b10:#c9c8c8;--mf-b11:#9d9d9c;--mf-b12:#555;--mf-glass:#494949}.mockframe.iphone17.mist-blue{--mf-b1:#5e6c83;--mf-b2:#728198;--mf-b3:#8897af;--mf-b4:#9cabc5;--mf-b5:#aab9d2;--mf-b6:#b7c5dd;--mf-b7:#c1cee4;--mf-b8:#cbd7ea;--mf-b9:#c1cde2;--mf-b10:#a8b6ce;--mf-b11:#818ea2;--mf-b12:#4a4f57;--mf-glass:#494949}.mockframe.iphone17.sage{--mf-b1:#5d694d;--mf-b2:#6e7a5b;--mf-b3:#7a8867;--mf-b4:#869572;--mf-b5:#99a884;--mf-b6:#b0bf9c;--mf-b7:#c1cfae;--mf-b8:#cedbbe;--mf-b9:#bfccad;--mf-b10:#9fad89;--mf-b11:#778365;--mf-b12:#4b5042;--mf-glass:#393939}.mockframe.iphone17.lavender{--mf-b1:#91879c;--mf-b2:#9e95aa;--mf-b3:#b0a6bb;--mf-b4:#beb5ca;--mf-b5:#cac1d5;--mf-b6:#d8d1e1;--mf-b7:#e4deea;--mf-b8:#ece8f1;--mf-b9:#e5e0eb;--mf-b10:#d2cada;--mf-b11:#a49dad;--mf-b12:#57545b;--mf-glass:#494949}.mockframe.iphone17.cosmic-orange{--mf-b1:#c14e23;--mf-b2:#da6837;--mf-b3:#ea824d;--mf-b4:#f59d67;--mf-b5:#fbb885;--mf-b6:#fdcca1;--mf-b7:#fed8b6;--mf-b8:#fee0c5;--mf-b9:#fedfc6;--mf-b10:#f4ba97;--mf-b11:#d3784f;--mf-b12:#a84825;--mf-glass:#535252}.mockframe.iphone17.deep-blue{--mf-b1:#252b3b;--mf-b2:#353b4c;--mf-b3:#444b5e;--mf-b4:#585f73;--mf-b5:#727a90;--mf-b6:#8c93aa;--mf-b7:#9fa6be;--mf-b8:#aeb5cd;--mf-b9:#adb4cc;--mf-b10:#7c8399;--mf-b11:#3d4355;--mf-b12:#212736;--mf-glass:#3b3b3b}.mockframe.iphone17.landscape{width:874px;height:402px;padding:14.67px 14.33px}.mockframe.iphone17.landscape:before{width:3px;height:85.33px;margin:-42.67px 0 0;top:50%;left:5.67px}.mockframe.iphone17.landscape .dynamic-island{width:36px;height:124.67px;margin:-62.33px 0 0;top:50%;left:28.67px}.mockframe.iphone17.landscape .dynamic-island:before{width:34px;height:78px;top:auto;bottom:.33px;left:1px}.mockframe.iphone17.landscape .dynamic-island:after{width:22px;height:65.67px;top:auto;bottom:6.67px;left:7px}.mockframe.iphone17.landscape .dynamic-island .camera{top:13px;left:13px;right:auto}.mockframe.iphone17.landscape .action{width:41.67px;left:185px}.mockframe.iphone17.landscape .volume{width:67.67px;left:257.33px}.mockframe.iphone17.landscape .sleep{width:106.67px;left:280.67px}.mockframe.iphone18pro{width:402px;height:874px;box-shadow:inset 0 0 0 .667px var(--mf-b1),inset 0 0 0 1.333px var(--mf-b2),inset 0 0 0 2px var(--mf-b3),inset 0 0 0 2.667px var(--mf-b4),inset 0 0 0 3.333px var(--mf-b5),inset 0 0 0 4px var(--mf-b6),inset 0 0 0 4.333px var(--mf-b7),inset 0 0 0 4.667px var(--mf-b8),inset 0 0 0 5px var(--mf-b9),inset 0 0 0 5.333px var(--mf-b10),inset 0 0 0 5.667px var(--mf-b11),inset 0 0 0 6.333px var(--mf-b12),inset 0 0 3px 9.3px var(--mf-glass);--mf-b1:#141314;--mf-b2:#161516;--mf-b3:#1b191b;--mf-b4:#222022;--mf-b5:#2e2c2e;--mf-b6:#444144;--mf-b7:#605d60;--mf-b8:#747173;--mf-b9:#747174;--mf-b10:#4f4c4f;--mf-b11:#272527;--mf-b12:#232223;--mf-glass:#3d3d3d;background:#000;border-radius:80.5px;padding:15.67px 15.83px}.mockframe.iphone18pro .screen{box-shadow:none;border-radius:63.6px}.mockframe.iphone18pro .dynamic-island{z-index:10;background:#000;border-radius:18px;width:94px;height:36px;margin-left:-47px;position:absolute;top:30px;left:50%}.mockframe.iphone18pro .dynamic-island .camera{top:13px;right:13px;box-shadow:0 0 0 5.5px #080a0c}.mockframe.iphone18pro:before{background:#020202;width:162px;height:2.33px;margin-left:-81px;top:6.33px}.mockframe.iphone18pro .action{height:41.67px;top:186px}.mockframe.iphone18pro .volume{height:67.67px;top:258.33px}.mockframe.iphone18pro .sleep{height:107px;top:281.67px}.mockframe.iphone18pro.silver{--mf-b1:#727272;--mf-b2:#8c8c8c;--mf-b3:#a4a4a4;--mf-b4:#b9b9b9;--mf-b5:#c9c9c9;--mf-b6:#d7d7d7;--mf-b7:#e2e2e2;--mf-b8:#e8e8e8;--mf-b9:#e8e8e8;--mf-b10:#d4d4d4;--mf-b11:#aaa;--mf-b12:#777;--mf-glass:#3d3d3d}.mockframe.iphone18pro.glacier{--mf-b1:#788598;--mf-b2:#8a97aa;--mf-b3:#9daabe;--mf-b4:#b0bccf;--mf-b5:#bfcada;--mf-b6:#cdd6e5;--mf-b7:#d9e1ed;--mf-b8:#e0e7f1;--mf-b9:#dfe6f0;--mf-b10:#cad4e2;--mf-b11:#a1adbf;--mf-b12:#6f7c8f;--mf-glass:#3d3d3d}.mockframe.iphone18pro.burgundy{--mf-b1:#341d21;--mf-b2:#392024;--mf-b3:#402529;--mf-b4:#4a2c31;--mf-b5:#58373c;--mf-b6:#70494f;--mf-b7:#8d6068;--mf-b8:#a3727a;--mf-b9:#a4737b;--mf-b10:#7e555c;--mf-b11:#503036;--mf-b12:#381f24;--mf-glass:#3d3d3d}.mockframe.iphone18pro.gold{--mf-b1:#797262;--mf-b2:#948c78;--mf-b3:#aea48c;--mf-b4:#c4b99f;--mf-b5:#d3c9b1;--mf-b6:#dfd7c3;--mf-b7:#e8e2d4;--mf-b8:#ede8dc;--mf-b9:#ede8dc;--mf-b10:#ddd4be;--mf-b11:#b4aa91;--mf-b12:#7e7766;--mf-glass:#3d3d3d}.mockframe.iphone18pro.natural-titanium{--mf-b1:#5e5a53;--mf-b2:#69645e;--mf-b3:#77716b;--mf-b4:#8d8780;--mf-b5:#afa89f;--mf-b6:#d0cac1;--mf-b7:#dfd9d0;--mf-b8:#e4ded5;--mf-b9:#dad4cb;--mf-b10:#b6afa7;--mf-b11:#7d7770;--mf-b12:#403c37;--mf-glass:#393939}.mockframe.iphone18pro.landscape{width:874px;height:402px;padding:15.83px 15.67px}.mockframe.iphone18pro.landscape:before{width:2.33px;height:162px;margin:-81px 0 0;top:50%;left:6.33px}.mockframe.iphone18pro.landscape .dynamic-island{width:36px;height:94px;margin:-47px 0 0;top:50%;left:30px}.mockframe.iphone18pro.landscape .dynamic-island .camera{top:13px;left:13px;right:auto}.mockframe.iphone18pro.landscape .action{width:41.67px;left:186px}.mockframe.iphone18pro.landscape .volume{width:67.67px;left:258.33px}.mockframe.iphone18pro.landscape .sleep{width:107px;left:281.67px}:is(.mockframe.iphone17,.mockframe.iphone18pro):before{content:"";border-radius:0 0 2px 2px;position:absolute;left:50%}:is(.mockframe.iphone17,.mockframe.iphone18pro).landscape:before{border-radius:0 2px 2px 0}:is(.mockframe.iphone17,.mockframe.iphone18pro) .dynamic-island .camera{background:radial-gradient(circle at 50% 40%,#3b3a8f 0%,#1f1c63 25%,#0d0b30 50%,#12394a 66%,#0a1118 80%,#05070a 100%);border-radius:50%;width:10px;height:10px;position:absolute}:is(.mockframe.iphone17,.mockframe.iphone18pro) .action,:is(.mockframe.iphone17,.mockframe.iphone18pro) .volume,:is(.mockframe.iphone17,.mockframe.iphone18pro) .sleep{z-index:0;position:absolute}:is(.mockframe.iphone17,.mockframe.iphone18pro) .action,:is(.mockframe.iphone17,.mockframe.iphone18pro) .volume{background:linear-gradient(to left,var(--mf-b1)0%,var(--mf-b3)25%,var(--mf-b4)50%,var(--mf-b6)68%,var(--mf-b8)80%,var(--mf-b10)100%);border-radius:1.5px 0 0 1.5px;width:3px;left:-3px;box-shadow:inset 0 1px .5px #ffffff4d,inset 0 -1px .5px #ffffff4d}:is(.mockframe.iphone17,.mockframe.iphone18pro) .volume:before{content:"";border-radius:inherit;background:inherit;width:100%;height:100%;box-shadow:inherit;position:absolute;top:85.67px;left:0}:is(.mockframe.iphone17,.mockframe.iphone18pro) .sleep{background:linear-gradient(to right,var(--mf-b1)0%,var(--mf-b3)25%,var(--mf-b4)50%,var(--mf-b6)68%,var(--mf-b8)80%,var(--mf-b10)100%);border-radius:0 1.5px 1.5px 0;width:2.67px;right:-2.67px;box-shadow:inset 0 1px .5px #ffffff4d,inset 0 -1px .5px #ffffff4d}:is(.mockframe.iphone17,.mockframe.iphone18pro).landscape .action,:is(.mockframe.iphone17,.mockframe.iphone18pro).landscape .volume{background:linear-gradient(to bottom,var(--mf-b1)0%,var(--mf-b3)25%,var(--mf-b4)50%,var(--mf-b6)68%,var(--mf-b8)80%,var(--mf-b10)100%);border-radius:0 0 1.5px 1.5px;height:3px;top:auto;bottom:-3px;box-shadow:inset 1px 0 .5px #ffffff4d,inset -1px 0 .5px #ffffff4d}:is(.mockframe.iphone17,.mockframe.iphone18pro).landscape .volume:before{top:0;left:85.67px}:is(.mockframe.iphone17,.mockframe.iphone18pro).landscape .sleep{background:linear-gradient(to top,var(--mf-b1)0%,var(--mf-b3)25%,var(--mf-b4)50%,var(--mf-b6)68%,var(--mf-b8)80%,var(--mf-b10)100%);border-radius:1.5px 1.5px 0 0;height:2.67px;top:-2.67px;right:auto;box-shadow:inset 1px 0 .5px #ffffff4d,inset -1px 0 .5px #ffffff4d}:is(.mockframe.iphone17,.mockframe.iphone18pro)>.camera,:is(.mockframe.iphone17,.mockframe.iphone18pro) .top-bar,:is(.mockframe.iphone17,.mockframe.iphone18pro) .bottom-bar,:is(.mockframe.iphone17,.mockframe.iphone18pro) .home,:is(.mockframe.iphone17,.mockframe.iphone18pro) .sensor,:is(.mockframe.iphone17,.mockframe.iphone18pro) .speaker,:is(.mockframe.iphone17,.mockframe.iphone18pro) .sensors,:is(.mockframe.iphone17,.mockframe.iphone18pro) .more-sensors,:is(.mockframe.iphone17,.mockframe.iphone18pro) .inner,:is(.mockframe.iphone17,.mockframe.iphone18pro) .inner-shadow{display:none}.mockframe.ipad-pro{width:512px;height:683px;box-shadow:inset 0 0 0 .5px var(--mf-b1),inset 0 0 0 1px var(--mf-b2),inset 0 0 0 1.75px var(--mf-b3),inset 0 0 0 2.5px var(--mf-b4),inset 0 0 1px 3px var(--mf-glass);--mf-b1:#4a484c;--mf-b2:#736e71;--mf-b3:#3b3739;--mf-b4:#2d2b2e;--mf-glass:#1d1d1d;--mf-btn:linear-gradient(to right,#413e40 0%,#2f2d30 15%,#555358 35%,#77767d 55%,#979397 78%,#333134 100%);background:#000;border-radius:37.25px;padding:22.33px}.mockframe.ipad-pro .screen{box-shadow:none;border-radius:14.4px}.mockframe.ipad-pro .camera{z-index:10;background:radial-gradient(circle at 50% 45%,#2b2d63 0%,#141433 40%,#0b0d12 70%,#08090b 100%);border-radius:50%;width:5px;height:5px;margin-top:-2.5px;position:absolute;top:47%;right:9.4px}.mockframe.ipad-pro .sensor{z-index:10;background:#0e0f12;border-radius:50%;width:1.5px;height:1.5px;position:absolute;top:53%;right:11.4px}.mockframe.ipad-pro .sleep{background:linear-gradient(#333134 0%,#979397 25%,#555358 70%,#413e40 100%);border-radius:1px 1px 0 0;width:30.8px;height:1.5px;position:absolute;top:-1.5px;right:36px}.mockframe.ipad-pro .volume-up,.mockframe.ipad-pro .volume-down{background:var(--mf-btn);border-radius:0 1px 1px 0;width:1.5px;height:25.8px;position:absolute;right:-1.5px}.mockframe.ipad-pro .volume-up{top:50.1px}.mockframe.ipad-pro .volume-down{top:81.4px}.mockframe.ipad-pro.silver{--mf-b1:#9e9fa0;--mf-b2:#cccdce;--mf-b3:#959697;--mf-b4:#818283;--mf-glass:#2e2e2e;--mf-btn:linear-gradient(to right,#8d8e8f 0%,#818283 15%,#b1b2b3 35%,#c0c1c2 55%,#c3c4c5 78%,#646566 100%)}.mockframe.ipad-pro.silver .sleep{background:linear-gradient(#646566 0%,#c3c4c5 25%,#b1b2b3 70%,#8d8e8f 100%)}.mockframe.ipad-pro.landscape{width:683px;height:512px}.mockframe.ipad-pro.landscape .camera{margin:0 0 0 -2.5px;top:9.4px;left:47%;right:auto}.mockframe.ipad-pro.landscape .sensor{top:11.4px;left:53%;right:auto}.mockframe.ipad-pro.landscape .sleep{background:linear-gradient(270deg,#413e40 0%,#555358 30%,#979397 75%,#333134 100%);border-radius:1px 0 0 1px;width:1.5px;height:30.8px;top:36px;left:-1.5px;right:auto}.mockframe.ipad-pro.landscape .volume-up,.mockframe.ipad-pro.landscape .volume-down{background:linear-gradient(#333134 0%,#979397 22%,#77767d 45%,#555358 65%,#2f2d30 85%,#413e40 100%);border-radius:1px 1px 0 0;width:25.8px;height:1.5px;top:-1.5px;right:auto}.mockframe.ipad-pro.landscape .volume-up{left:50.1px}.mockframe.ipad-pro.landscape .volume-down{left:81.4px}.mockframe.ipad-pro.landscape.silver .sleep{background:linear-gradient(270deg,#8d8e8f 0%,#b1b2b3 30%,#c3c4c5 75%,#646566 100%)}.mockframe.ipad-pro.landscape.silver .volume-up,.mockframe.ipad-pro.landscape.silver .volume-down{background:linear-gradient(#646566 0%,#c3c4c5 22%,#c0c1c2 45%,#b1b2b3 65%,#818283 85%,#8d8e8f 100%)}.mockframe.ipad-pro .top-bar,.mockframe.ipad-pro .bottom-bar,.mockframe.ipad-pro .home,.mockframe.ipad-pro .speaker,.mockframe.ipad-pro .sensors,.mockframe.ipad-pro .more-sensors,.mockframe.ipad-pro .inner,.mockframe.ipad-pro .inner-shadow,.mockframe.ipad-pro .volume{display:none}.mockframe.macbook-pro{width:960px;height:624px;box-shadow:inset 0 0 0 .35px var(--mf-b1),inset 0 0 0 .7px var(--mf-b2),inset 0 0 0 1px var(--mf-b3),inset 0 0 0 2.5px var(--mf-b4),inset 0 0 0 6px #232323;--mf-b1:#3a383a;--mf-b2:#807e80;--mf-b3:#656366;--mf-b4:#424043;--mf-base:linear-gradient(to bottom,#b4b2b5 0,#686669 .7px,#5d5b5e 20%,#5f5d60 42%,#4e4c4f 58%,#3c3a3d 68%,#2a282a 78%,#1f1d1f 86%,#2a282b 94%,#3e3c3f 100%);--mf-scoop:linear-gradient(to bottom,#a29fa3 0%,#8f8d90 45%,#747275 100%);--mf-scoop-top:#a29fa3;--mf-foot:linear-gradient(to bottom,#1c1a1c 0%,#3a383b 70%,#2a282b 100%);background:linear-gradient(0deg,#060606 7px,#1d1d1d 34px,#000 34px);border-radius:30.3px 30.3px 0 0;margin:0 auto;padding:17.5px 17.6px 45.4px}.mockframe.macbook-pro .screen{box-shadow:none;border-radius:11.9px 11.9px 0 0}.mockframe.macbook-pro .notch{z-index:4;background:#000;border-radius:0 0 6.3px 6.3px;width:118.1px;height:20.3px;margin-left:-59.05px;position:absolute;top:17.5px;left:50%}.mockframe.macbook-pro .notch:before,.mockframe.macbook-pro .notch:after{content:"";width:3.2px;height:3.2px;position:absolute;top:0}.mockframe.macbook-pro .notch:before{background:radial-gradient(circle at 0 100%,#0000 3.2px,#000 3.2px);left:-3.2px}.mockframe.macbook-pro .notch:after{background:radial-gradient(circle at 100% 100%,#0000 3.2px,#000 3.2px);right:-3.2px}.mockframe.macbook-pro .notch .camera{background:radial-gradient(circle,#2f4f86 0,#1a2440 25%,#0e1012 45%);border-radius:50%;width:6.3px;height:6.3px;margin:-3.15px 0 0 -3.15px;position:absolute;top:5.2px;left:50%}.mockframe.macbook-pro .top-bar{background:var(--mf-base);z-index:5;border-radius:3px 3px 19px 19px;width:calc(100% + 212px);height:42.2px;position:absolute;top:calc(100% - 7px);left:-106px}.mockframe.macbook-pro .top-bar:before{content:"";background:radial-gradient(circle at 0 100%,transparent 9px,var(--mf-scoop-top)9.5px)left top/9px 9px no-repeat,radial-gradient(circle at 100% 100%,transparent 9px,var(--mf-scoop-top)9.5px)right top/9px 9px no-repeat;width:200px;height:9px;margin-left:-100px;position:absolute;top:0;left:50%}.mockframe.macbook-pro .top-bar:after{content:"";background:var(--mf-scoop);border-radius:0 0 9px 9px;width:182px;height:14.9px;margin-left:-91px;position:absolute;top:0;left:50%;box-shadow:inset 0 -1px 1.5px #0000002e}.mockframe.macbook-pro .bottom-bar{background:0 0;width:calc(100% + 80px);height:7px;position:absolute;top:calc(100% + 34.5px);left:-40px}.mockframe.macbook-pro .bottom-bar:before,.mockframe.macbook-pro .bottom-bar:after{content:"";background:var(--mf-foot);border-radius:0 0 5px 5px;width:80px;height:100%;position:absolute;top:0;box-shadow:inset 0 -1px 1px #ffffff1f}.mockframe.macbook-pro .bottom-bar:before{left:0}.mockframe.macbook-pro .bottom-bar:after{right:0}.mockframe.macbook-pro.silver{--mf-b1:#d8d9db;--mf-b2:#b7b8ba;--mf-b3:#9a9b9d;--mf-b4:#9c9d9f;--mf-base:linear-gradient(to bottom,#f0f1f3 0,#d6d7d9 .7px,#d0d1d3 20%,#cecfd1 42%,#c3c4c6 55%,#a8a9ab 64%,#8e8f91 74%,#858688 84%,#9fa0a2 92%,#c9cacc 100%);--mf-scoop:linear-gradient(to bottom,#e6e7e9 0%,#ebeced 50%,#f3f4f6 100%);--mf-scoop-top:#e6e7e9;--mf-foot:linear-gradient(to bottom,#6e6f71 0%,#a3a4a6 70%,#8e8f91 100%)}.mockframe.macbook-pro .home,.mockframe.macbook-pro .volume,.mockframe.macbook-pro .sleep,.mockframe.macbook-pro .sensor,.mockframe.macbook-pro .speaker,.mockframe.macbook-pro .sensors,.mockframe.macbook-pro .more-sensors,.mockframe.macbook-pro .inner-shadow,.mockframe.macbook-pro .inner,.mockframe.macbook-pro>.camera{display:none}.mockframe.pixel10{width:412px;height:924px;box-shadow:inset 0 0 0 .75px #0000004d,inset 0 0 2px 2.5px #ffffff29,inset 0 0 0 6px var(--mf-frame),inset 0 0 3px 7.5px #1c1c1c;--mf-frame:#4a4d4d;background:#000;border-radius:74px;padding:21.5px}.mockframe.pixel10 .screen{box-shadow:none;border-radius:50px}.mockframe.pixel10 .camera{z-index:5;background:radial-gradient(circle,#2a2c3c 0,#15161f 22%,#2b2b2e 38%,#0b0b0c 50%,#000 70%);border-radius:50%;width:28px;height:28px;margin-left:-14px;position:absolute;top:36.5px;left:50%}.mockframe.pixel10 .sleep,.mockframe.pixel10 .volume{background:var(--mf-frame);border-radius:0 2px 2px 0;width:3px;position:absolute;right:-3px;box-shadow:inset -1px 0 1px #fff3,inset 1px 0 1px #00000040}.mockframe.pixel10 .sleep{height:75.3px;top:269.7px}.mockframe.pixel10 .volume{height:131.7px;top:390.6px}.mockframe.pixel10.frost{--mf-frame:#d1d8ed}.mockframe.pixel10.indigo{--mf-frame:#5585e0}.mockframe.pixel10.lemongrass{--mf-frame:#dfe1c3}.mockframe.pixel10.porcelain{--mf-frame:#e8e5e1}.mockframe.pixel10.mint{--mf-frame:#afdbc5}.mockframe.pixel10.rose{--mf-frame:#e8c4c4}.mockframe.pixel10.landscape{width:924px;height:412px}.mockframe.pixel10.landscape .camera{margin:-14px 0 0;top:50%;left:36.5px}.mockframe.pixel10.landscape .sleep,.mockframe.pixel10.landscape .volume{border-radius:2px 2px 0 0;height:3px;top:-3px;right:auto;box-shadow:inset 0 1px 1px #fff3,inset 0 -1px 1px #00000040}.mockframe.pixel10.landscape .sleep{width:75.3px;left:269.7px}.mockframe.pixel10.landscape .volume{width:131.7px;left:390.6px}.mockframe.pixel10 .top-bar,.mockframe.pixel10 .bottom-bar,.mockframe.pixel10 .sensor,.mockframe.pixel10 .speaker,.mockframe.pixel10 .sensors,.mockframe.pixel10 .more-sensors,.mockframe.pixel10 .inner-shadow,.mockframe.pixel10 .home,.mockframe.pixel10 .inner{display:none}.mockframe.galaxy-s25{width:360px;height:780px;box-shadow:inset 0 0 0 .75px #0000004d,inset 0 0 1.5px 1.5px #ffffff24,inset 0 0 0 5.5px var(--mf-frame),inset 0 0 2px 6.5px #1a1a1a;--mf-frame:#3a3e48;background:#000;border-radius:49px;padding:12.5px}.mockframe.galaxy-s25 .screen{box-shadow:none;border-radius:36px}.mockframe.galaxy-s25 .camera{z-index:5;background:radial-gradient(circle,#1e2030 0,#0d0e16 35%,#030304 60%,#000 100%);border-radius:50%;width:16px;height:16px;margin-left:-8px;position:absolute;top:23.5px;left:50%}.mockframe.galaxy-s25 .speaker{z-index:4;background:#0a0a0a;border-radius:0 0 1.5px 1.5px;width:55px;height:1.5px;margin-left:-27.5px;position:absolute;top:5.5px;left:50%}.mockframe.galaxy-s25 .sleep,.mockframe.galaxy-s25 .volume{background:var(--mf-frame);border-radius:0 2px 2px 0;width:2.5px;position:absolute;right:-2.5px;box-shadow:inset -1px 0 1px #ffffff2e,inset 1px 0 1px #00000040}.mockframe.galaxy-s25 .volume{height:109.4px;top:146.7px}.mockframe.galaxy-s25 .sleep{height:59.9px;top:308.9px}.mockframe.galaxy-s25.icy-blue{--mf-frame:#bdc4d5}.mockframe.galaxy-s25.navy{--mf-frame:#283a5e}.mockframe.galaxy-s25.mint{--mf-frame:#bdcfc3}.mockframe.galaxy-s25.silver-shadow,.mockframe.galaxy-s25.silver{--mf-frame:#a7a8ab}.mockframe.galaxy-s25.coral-red{--mf-frame:#ea646b}.mockframe.galaxy-s25.pink-gold{--mf-frame:#e8d7cd}.mockframe.galaxy-s25.phantom-black{--mf-frame:#2a2a2c}.mockframe.galaxy-s25.landscape{width:780px;height:360px}.mockframe.galaxy-s25.landscape .camera{margin:-8px 0 0;top:50%;left:23.5px}.mockframe.galaxy-s25.landscape .speaker{border-radius:0 1.5px 1.5px 0;width:1.5px;height:55px;margin:-27.5px 0 0;top:50%;left:5.5px}.mockframe.galaxy-s25.landscape .sleep,.mockframe.galaxy-s25.landscape .volume{border-radius:2px 2px 0 0;height:2.5px;top:-2.5px;right:auto;box-shadow:inset 0 1px 1px #ffffff2e,inset 0 -1px 1px #00000040}.mockframe.galaxy-s25.landscape .volume{width:109.4px;left:146.7px}.mockframe.galaxy-s25.landscape .sleep{width:59.9px;left:308.9px}.mockframe.galaxy-s25 .top-bar,.mockframe.galaxy-s25 .bottom-bar,.mockframe.galaxy-s25 .sensor,.mockframe.galaxy-s25 .sensors,.mockframe.galaxy-s25 .more-sensors,.mockframe.galaxy-s25 .inner-shadow,.mockframe.galaxy-s25 .home,.mockframe.galaxy-s25 .inner{display:none}.mockframe.iphone-duo{--duo-k1:#4c5564;--duo-k2:#252d3a;--duo-k3:#121821;--duo-k4:#1a202a;--duo-k5:#333d4c;--duo-k6:#b9d1f3;--duo-k7:#a8c3ea;--duo-k8:#90aacf;--duo-k9:#778eaf;--duo-k10:#5f738e;--duo-k11:#45556c;--duo-k12:#2d3949;--duo-k13:#1e2631;--duo-k14:#151b24;--duo-k15:#10161d;--duo-k16:#030406;--duo-k17:#010102;--duo-k18:#1c2028;--duo-k19:#181b21;--duo-k20:#111318;--duo-k21:#0b0d10;--duo-k22:#040506;--duo-k23:#000;--duo-k24:#000;--duo-strip-r:linear-gradient(to left,#495260 .33px,#0b0f14 1px,#050607 1.67px,#030305 2.33px,#232c38 3px,#44546a 3.67px,#5b6f8a 4.33px,#8099bb 5px,#acc5e9 5.67px,#1e232b 6.33px,#000104 7px,#0f1217 7.67px,#1e232b 8.33px,#13161b 9px,#0e1014 9.67px,#0a0c0f 10.33px,#060709 11px,#030304 11.67px,#010101 12.33px,#000 13px,#000 13.67px,#000 14.33px);--duo-strip-b:linear-gradient(to top,#454e5b .33px,#191e25 1px,#111317 1.67px,#090a0d 2.33px,#7d93b3 3px,#8ba4c8 3.67px,#5d708c 4.33px,#3e4c61 5px,#2e394a 5.67px,#1a2029 6.33px,#0b0c0f 7px,#111318 7.67px,#1d2129 8.33px,#13161b 9px,#0e1014 9.67px,#090b0e 10.33px,#060708 11px,#020303 11.67px,#010101 12.33px,#000 13px,#000 13.67px,#000 14.33px);--duo-strip-l:linear-gradient(to right,#26303e .33px,#89a3c7 1px,#262f3c 1.67px,#020305 2.33px,#010203 3px,#000102 3.67px,#000102 4.33px,#000101 5px,#07080a 5.67px,#21252e 6.33px,#14171d 7px,#0f1115 7.67px,#0b0c0f 8.33px,#07080a 9px,#040405 9.67px,#010101 10.33px,#000 11px,#000 11.67px,#000 12.33px,#000 13px);--duo-spine:linear-gradient(to right,#2b3545 .33px,#1a2233 1px,#47556d 1.67px,#7e94b5 2.33px,#6b7d9a 3px,#404b5e 3.67px,#2c3546 4.33px,#212837 5px,#1d2330 5.67px,#1c232f 6.33px,#1c222e 7px,#1b212d 7.67px,#1c222e 8.33px,#1b222e 9px,#1c232f 9.67px,#1e2531 10.33px,#1e2531 11px,#26303f 11.67px);--duo-btn-stops:#25313f 6.2%,#2e3b4d 18.8%,#324156 31.2%,#37475e 43.8%,#3d4f68 56.2%,#4b5f78 68.8%,#a1b7da 81.2%,#03070d 93.8%;--duo-o1:#4f5b72;--duo-o2:#141b27;--duo-o3:#111826;--duo-o4:#252f42;--duo-o5:#46546e;--duo-o6:#637594;--duo-o7:#7d92b9;--duo-o8:#98afda;--duo-o9:#697b9b;--duo-o10:#232c3d;--duo-o11:#03070e;--duo-o12:#141618;--duo-o13:#252628;--duo-o14:#434345;--duo-o15:#414243;--duo-o16:#2f2f31;--duo-o17:#2a2a2c;--duo-o18:#141516;--duo-o-bg:#030303;--duo-hinge-slot:#1e1f20;--duo-hinge-hi:#ceddf7;--duo-wall-l:linear-gradient(to left,#080911 0%,#08090d 14%,#2c3543 29%,#415063 43%,#4e5c71 57%,#5a677d 71%,#626f86 86%,#68758d 100%);--duo-wall-r:linear-gradient(to right,#05060e 0%,#030306 14%,#171d26 29%,#2a3544 43%,#39485f 57%,#65758e 71%,#50627f 86%,#475771 100%);--duo-fold-shade:.22}.mockframe.iphone-duo.star-white{--duo-k1:#6c6d6d;--duo-k2:#616160;--duo-k3:#444442;--duo-k4:#383836;--duo-k5:#41403d;--duo-k6:#6d6a65;--duo-k7:#f8f8f7;--duo-k8:#f7f6f5;--duo-k9:#f2f2f1;--duo-k10:#edecea;--duo-k11:#e2e1df;--duo-k12:#d2d1cc;--duo-k13:#bab8b1;--duo-k14:#a09d95;--duo-k15:#8c8982;--duo-k16:#686661;--duo-k17:#3f3e3d;--duo-k18:#1b1d21;--duo-k19:#3a3f4a;--duo-k20:#25292f;--duo-k21:#1a1d21;--duo-k22:#0c0d0f;--duo-k23:#010101;--duo-k24:#000;--duo-strip-r:linear-gradient(to left,#3f3e3d .33px,#232220 1px,#33312d 1.67px,#474440 2.33px,#908d86 3px,#c7c4be 3.67px,#d7d5d0 4.33px,#e5e4e0 5px,#f1f0ee 5.67px,#746f69 6.33px,#54504c 7px,#333539 7.67px,#3b404b 8.33px,#262930 9px,#1c1f24 9.67px,#14161a 10.33px,#0d0e10 11px,#060708 11.67px,#010202 12.33px,#000 13px,#000 13.67px,#000 14.33px);--duo-strip-b:linear-gradient(to top,#41403f .33px,#292725 1px,#383532 1.67px,#4e4944 2.33px,#d1cfcc 3px,#e5e4e1 3.67px,#d4d2ce 4.33px,#b9b6af 5px,#96938b 5.67px,#65635e 6.33px,#464543 7px,#1d1f23 7.67px,#373c45 8.33px,#25282e 9px,#1b1e23 9.67px,#131418 10.33px,#0b0c0e 11px,#050506 11.67px,#010101 12.33px,#000 13px,#000 13.67px,#000 14.33px);--duo-strip-l:linear-gradient(to right,#4e4d4b .33px,#9a9993 1px,#55534f 1.67px,#d4d2ce 2.33px,#e8e7e5 3px,#ebeae8 3.67px,#ececea 4.33px,#edecea 5px,#2d2c2d 5.67px,#3f4550 6.33px,#282b32 7px,#1e2126 7.67px,#16181c 8.33px,#0e0f11 9px,#070809 9.67px,#020203 10.33px,#000 11px,#000 11.67px,#000 12.33px,#000 13px);--duo-spine:linear-gradient(to right,#615f5e .33px,#53514c 1px,#7f7c75 1.67px,#c5c2bb 2.33px,#97948d 3px,#636159 3.67px,#5a5750 4.33px,#5a574f 5px,#5f5b53 5.67px,#6e6b62 6.33px,#817e74 7px,#969389 7.67px,#a9a69d 8.33px,#b7b4ab 9px,#bfbcb4 9.67px,#bebbb4 10.33px,#b1aea7 11px,#82817c 11.67px);--duo-btn-stops:#83817c 6.2%,#9d998f 18.8%,#a5a298 31.2%,#adaaa0 43.8%,#b6b3aa 56.2%,#cfcdc6 68.8%,#fff 81.2%,#444038 93.8%;--duo-o1:#74726e;--duo-o2:#4e4c46;--duo-o3:#615f59;--duo-o4:#82807a;--duo-o5:#b3b1aa;--duo-o6:#d6d4ce;--duo-o7:#eae8e3;--duo-o8:#f5f4f0;--duo-o9:#dbd9d3;--duo-o10:#837f77;--duo-o11:#23211c;--duo-o12:#1c1d1e;--duo-o13:#363738;--duo-o14:#4c4d4f;--duo-o15:#48494a;--duo-o16:#343536;--duo-o17:#2f3031;--duo-o18:#171819;--duo-o-bg:#040404;--duo-hinge-slot:#212223;--duo-hinge-hi:#dbdbdb;--duo-wall-l:linear-gradient(to left,#26241f 0%,#a3a19a 14%,#eeece6 29%,#f6f4ee 43%,#f8f7f1 57%,#faf8f3 71%,#fbf9f4 86%,#fcfbf6 100%);--duo-wall-r:linear-gradient(to right,#090806 0%,#0e0d09 14%,#97948d 29%,#c2bfb7 43%,#d3d1c9 57%,#dfdcd5 71%,#cbc9c2 86%,#ece9e3 100%)}.mockframe.iphone-duo .duo-device{transform-origin:0 0;position:absolute;top:0;left:0}.mockframe.iphone-duo .screen{z-index:3;box-shadow:none;background:#fff;position:absolute;overflow:hidden}.mockframe.iphone-duo .duo-content{transform-origin:0 0;position:absolute;top:0;left:0}.mockframe.iphone-duo .duo-camera{z-index:5;background:radial-gradient(circle,#0c0c0e 0,#0e0d14 1px,#1d1d46 2px,#15191f 3px,#212129 4px,#14131a 5px,#13121b 9.5px,#010101 10.5px);border-radius:50%;position:absolute}.mockframe.iphone-duo .duo-btn{position:absolute}.mockframe.iphone-duo .duo-btn--side{background:linear-gradient(to right,var(--duo-btn-stops));border-radius:0 1.33px 1.33px 0;width:2.67px;height:112.67px;top:202.33px;right:-2.67px}.mockframe.iphone-duo .duo-btn--vol-up,.mockframe.iphone-duo .duo-btn--vol-down{background:linear-gradient(to top,var(--duo-btn-stops));border-radius:1.33px 1.33px 0 0;width:65.67px;height:2.67px;top:-2.67px}.mockframe.iphone-duo .duo-btn--vol-up{right:207px}.mockframe.iphone-duo .duo-btn--vol-down{right:126px}.mockframe.iphone-duo .duo-spine{background:var(--duo-spine);border-radius:12px 0 0 12px;width:16px;position:absolute;top:6px;bottom:6px;left:0}.mockframe.iphone-duo .duo-panel{box-shadow:inset 0 0 0 .333px var(--duo-k1),inset 0 0 0 .667px var(--duo-k2),inset 0 0 0 1px var(--duo-k3),inset 0 0 0 1.333px var(--duo-k4),inset 0 0 0 1.667px var(--duo-k5),inset 0 0 0 2px var(--duo-k6),inset 0 0 0 2.333px var(--duo-k7),inset 0 0 0 2.667px var(--duo-k8),inset 0 0 0 3px var(--duo-k9),inset 0 0 0 3.333px var(--duo-k10),inset 0 0 0 4px var(--duo-k11),inset 0 0 0 4.667px var(--duo-k12),inset 0 0 0 5.333px var(--duo-k13),inset 0 0 0 6px var(--duo-k14),inset 0 0 0 6.333px var(--duo-k15),inset 0 0 0 7px var(--duo-k16),inset 0 0 0 7.667px var(--duo-k17),inset 0 0 0 8.333px var(--duo-k18),inset 0 0 0 9px var(--duo-k19),inset 0 0 0 9.667px var(--duo-k20),inset 0 0 0 10.667px var(--duo-k21),inset 0 0 0 12px var(--duo-k22),inset 0 0 0 13.667px var(--duo-k23),inset 0 0 0 15.667px var(--duo-k24);background:#000;border-radius:4px 73.97px 73.97px 4px;position:absolute;inset:0 0 0 11.67px}.mockframe.iphone-duo .duo-panel:before,.mockframe.iphone-duo .duo-panel:after{content:"";position:absolute}.mockframe.iphone-duo .duo-panel:before{background:var(--duo-strip-l);width:13.33px;top:6px;bottom:6px;left:0;-webkit-mask-image:linear-gradient(#0000,#000 6px calc(100% - 6px),#0000);mask-image:linear-gradient(#0000,#000 6px calc(100% - 6px),#0000)}.mockframe.iphone-duo .duo-panel:after{background:var(--duo-strip-r);width:14.67px;top:70px;bottom:70px;right:0;-webkit-mask-image:linear-gradient(#0000,#000 24px calc(100% - 24px),#0000);mask-image:linear-gradient(#0000,#000 24px calc(100% - 24px),#0000)}.mockframe.iphone-duo .duo-strip-b{background:var(--duo-strip-b);height:14.67px;position:absolute;bottom:0;left:6px;right:70px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6px calc(100% - 24px),#0000);mask-image:linear-gradient(90deg,#0000,#000 6px calc(100% - 24px),#0000)}.mockframe.iphone-duo .duo-outer .screen{border-radius:7.97px 58.04px 58.04px 7.97px;top:16px;left:25.67px}.mockframe.iphone-duo .duo-outer .duo-camera{width:36px;height:36px;top:45.83px;right:45.67px}.mockframe.iphone-duo .duo-inner .duo-frame{background:var(--duo-o-bg);box-shadow:inset 0 0 0 .667px var(--duo-o1),inset 0 0 0 1.333px var(--duo-o2),inset 0 0 0 1.667px var(--duo-o3),inset 0 0 0 2px var(--duo-o4),inset 0 0 0 2.333px var(--duo-o5),inset 0 0 0 2.667px var(--duo-o6),inset 0 0 0 3px var(--duo-o7),inset 0 0 0 3.333px var(--duo-o8),inset 0 0 0 3.667px var(--duo-o9),inset 0 0 0 4px var(--duo-o10),inset 0 0 0 4.333px var(--duo-o11),inset 0 0 0 4.667px var(--duo-o12),inset 0 0 0 5px var(--duo-o13),inset 0 0 0 6px var(--duo-o14),inset 0 0 0 7px var(--duo-o15),inset 0 0 0 16.667px var(--duo-o16),inset 0 0 0 17.333px var(--duo-o17),inset 0 0 0 18px var(--duo-o18);-webkit-mask-image:conic-gradient(from -49deg at 50% 4.33px,transparent 98deg,#000 0),conic-gradient(from 131deg at 50% calc(100% - 4.33px),transparent 98deg,#000 0);-webkit-mask-composite:source-in;-webkit-mask-image:conic-gradient(from -49deg at 50% 4.33px,transparent 98deg,#000 0),conic-gradient(from 131deg at 50% calc(100% - 4.33px),transparent 98deg,#000 0);-webkit-mask-image:conic-gradient(from -49deg at 50% 4.33px,transparent 98deg,#000 0),conic-gradient(from 131deg at 50% calc(100% - 4.33px),transparent 98deg,#000 0);mask-image:conic-gradient(from -49deg at 50% 4.33px,transparent 98deg,#000 0),conic-gradient(from 131deg at 50% calc(100% - 4.33px),transparent 98deg,#000 0);-webkit-mask-composite:source-in;border-radius:75.11px;position:absolute;inset:0;-webkit-mask-composite:source-in;mask-composite:intersect}.mockframe.iphone-duo .duo-inner .screen{border-radius:53.49px;top:20.67px;left:20.67px}.mockframe.iphone-duo .duo-inner .duo-camera{width:29.5px;height:29.5px;top:47.21px;right:278.2px}.mockframe.iphone-duo .duo-inner .duo-btn--vol-up{right:206.67px}.mockframe.iphone-duo .duo-inner .duo-btn--vol-down{right:125.67px}.mockframe.iphone-duo .duo-hinge{background:var(--duo-hinge-slot);z-index:1;border-radius:1.33px;width:68px;height:2.67px;margin-left:-34px;position:absolute;left:50%}.mockframe.iphone-duo .duo-hinge:before{content:"";background:var(--duo-hinge-hi);width:1.33px;height:2.67px;margin-left:-.67px;position:absolute;left:50%}.mockframe.iphone-duo .duo-hinge--top{top:6.33px}.mockframe.iphone-duo .duo-hinge--top:before{top:-2.67px}.mockframe.iphone-duo .duo-hinge--bottom{bottom:6.33px}.mockframe.iphone-duo .duo-hinge--bottom:before{bottom:-2.67px}.mockframe.iphone-duo .duo-half{transform-origin:0 0;position:absolute;top:0;left:0}.mockframe.iphone-duo .duo-half>.duo-device{position:relative}.mockframe.iphone-duo .duo-wall{z-index:-1;width:50%;position:absolute;top:0;bottom:0}.mockframe.iphone-duo .duo-wall--left{background:var(--duo-wall-l)left/7.1px 100% no-repeat,#080911;border-radius:75.11px 0 0 75.11px;left:-7.1px}.mockframe.iphone-duo .duo-wall--right{background:var(--duo-wall-r)right/7.1px 100% no-repeat,#05060e;border-radius:0 75.11px 75.11px 0;right:-7.1px}.mockframe.iphone-duo .duo-shade{z-index:4;pointer-events:none;border-radius:53.49px;position:absolute;inset:20.67px}.mockframe.iphone-duo .duo-shade--left{background:rgba(0,0,0,var(--duo-fold-shade))}.mockframe.iphone-duo .duo-shade--right{background:linear-gradient(to right,transparent 50%,rgba(0,0,0,calc(var(--duo-fold-shade)*.8))50%,transparent calc(50% + 90px))}.mockframe.iphone-duo .duo-half--left{clip-path:inset(-12px calc(50% - .5px) -12px -12px)}.mockframe.iphone-duo .duo-half--right{clip-path:inset(-12px -12px -12px 50%)}.mockframe.iphone-duo .duo-scene{transform-style:preserve-3d;perspective-origin:50%;position:absolute}.mockframe.iphone-duo .duo-scene .duo-shade,.mockframe.iphone-duo .duo-scene .duo-wall{transition:opacity .9s}.mockframe.iphone-duo .duo-scene--flat .duo-shade,.mockframe.iphone-duo .duo-scene--flat .duo-wall{opacity:0}.mockframe.iphone-duo .duo-leaf{width:50%;height:100%;transform-style:preserve-3d;position:absolute;top:0}.mockframe.iphone-duo .duo-leaf--left{transform-origin:100%;left:0}.mockframe.iphone-duo .duo-leaf--right{transform-origin:0;left:50%}.mockframe.iphone-duo .duo-face{backface-visibility:hidden;width:100%;height:100%;position:absolute;top:0;left:0}.mockframe.iphone-duo .duo-face>.duo-device{top:0}.mockframe.iphone-duo .duo-face--front{clip-path:inset(-12px 0 -12px -12px)}.mockframe.iphone-duo .duo-face--right{clip-path:inset(-12px -12px -12px 0)}.mockframe.iphone-duo .duo-face--right>.duo-device{left:-100%}.mockframe.iphone-duo .duo-face--back{transform:rotateY(180deg)}.mockframe.iphone-duo .duo-face--back>.duo-device{left:-11.67px}.showcase-lead,.phone-note{text-align:center;margin-top:.35rem}.project-grid{gap:.9rem;margin-top:1.1rem;display:grid}.project-card{background:#ffffff8c;border:1px solid #d65c8c47;border-radius:.85rem;padding:.95rem 1rem 1rem}.project-card h3{font-family:var(--serif);letter-spacing:-.03em;text-transform:none;font-size:1.7rem}.card-kicker{color:var(--muted);margin-top:.15rem}.chip-row{flex-wrap:wrap;gap:.35rem;margin-top:.7rem;display:flex}.chip{background:#ffbad659;border-radius:999px;padding:.15rem .5rem;font-size:.82rem;font-weight:650}.card-list{margin-top:.7rem;padding-left:1.1rem}.card-list li+li{margin-top:.28rem}.status-line{margin-top:.7rem;font-size:.98rem}.card-actions{flex-wrap:wrap;gap:.5rem;margin-top:.85rem;display:flex}.card-actions a,.card-actions button,.phone-actions a,.phone-actions button{min-height:2.75rem;color:inherit;cursor:pointer;background:#fff;border:1px solid #d65c8c8c;border-radius:999px;justify-content:center;align-items:center;padding:.45rem .85rem;text-decoration:none;display:inline-flex}.card-actions .primary,.phone-actions .primary{background:#f8d5e4;border-color:#0000;font-weight:700}.phone-screen{color:#fffaf6;background:#1c1918;border-radius:1.6rem;width:min(22rem,100%);margin:1rem auto 0;padding:1.1rem 1rem 1.2rem;box-shadow:inset 0 0 0 2px #ffd6e459}.phone-screen p,.phone-screen a,.phone-screen button{color:#fffaf6}.phone-actions{gap:.55rem;margin-top:.9rem;display:grid}.phone-actions a,.phone-actions button{background:#2c2826;border-color:#ffbad659}.copy-note{text-align:center;color:#ffd0e2;min-height:1.2em;margin-top:.65rem;font-size:.92rem}@media (hover:hover) and (prefers-reduced-motion:no-preference){.paper{transition:box-shadow .4s}.paper:hover{box-shadow:0 3px 6px #00000014,0 16px 28px #00000024,12px 26px 42px #0003,0 42px 70px #0000001a}}@media (prefers-reduced-motion:reduce){.desk-art,.steam,.paper{transition:none;animation:none}.desk-object:hover .desk-art,.desk-object:focus-visible .desk-art{transform:none}}@property --fit{syntax:"<number>";inherits:true;initial-value:1}.desk{height:100dvh;padding:0;overflow:hidden}.desk-world{height:100%;position:relative;overflow:hidden}.desk{padding:0}.desk-scene{--in:min(calc(100cqw / 30), calc(100cqh / 16.8));--ex:calc((100cqw - 30 * var(--in)) / 2);--ey:calc((100cqh - 16.8 * var(--in)) / 2);display:block;position:absolute;inset:0;container-type:size}.desk-world:before,.desk-world:after{content:"";z-index:7;pointer-events:none;position:absolute;inset:0}.desk-world:before{background:radial-gradient(70% 80% at 8% 0,#fff4de33,#0000 70%),radial-gradient(80% 75% at 100% 100%,#341e0c33,#0000 72%)}.desk-world:after{opacity:.32;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0.55 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23g)'/%3E%3C/svg%3E")}.pose{transform-origin:50%;position:absolute;inset:0}.decor{z-index:1;pointer-events:none;position:absolute}.decor svg{width:100%;height:100%;display:block;overflow:visible}.decor-bonsai{z-index:3;left:calc(50% - 14.5 * var(--in) - .4 * var(--ex));top:calc(50% - 7.5 * var(--in) - .4 * var(--ey));width:calc(4.8 * var(--in));height:calc(4.8 * var(--in));--u:calc(4.8 * var(--in) / 480)}.decor-airpods{z-index:2;left:calc(50% - 5.4 * var(--in) - .1 * var(--ex));top:calc(50% - 8.25 * var(--in) - .5 * var(--ey));width:calc(5 * var(--in));height:calc(2.6 * var(--in));filter:drop-shadow(.5px 1px .8px #1e12084d) drop-shadow(calc(.2 * var(--in)) calc(.25 * var(--in)) calc(.12 * var(--in)) #28180a38);transform:rotate(-6deg)}.bonsai-layer{width:100%;height:100%;position:absolute;inset:0}.bonsai-pot{filter:drop-shadow(calc(.04 * var(--in)) calc(.06 * var(--in)) calc(.05 * var(--in)) #1e12084d) drop-shadow(calc(.75 * var(--in)) calc(.95 * var(--in)) calc(.45 * var(--in)) #28180a3d)}.bonsai-canopy{transform-origin:50% 53.3%;filter:drop-shadow(calc(.6 * var(--in)) calc(.8 * var(--in)) calc(.4 * var(--in)) #28180a33);will-change:transform;animation:7s ease-in-out infinite bonsai-sway}.bonsai-canopy-back{animation-duration:5.4s;animation-delay:-2.2s}.bonsai-petal{width:calc(16 * var(--u));height:calc(16 * var(--u));margin:calc(-8 * var(--u)) 0 0 calc(-8 * var(--u));opacity:0;will-change:transform, opacity;background:50%/contain no-repeat;animation:10s linear infinite bonsai-petal;position:absolute;top:0;left:0}@keyframes bonsai-sway{0%,to{transform:rotate(-2.6deg)}50%{transform:rotate(2.8deg) translate(calc(4 * var(--u)), calc(2 * var(--u)))}}@keyframes bonsai-petal{0%{opacity:0;transform:translate(calc(var(--x) * var(--u)), calc(var(--y) * var(--u))) rotate(0deg) scale(1.8)}8%{opacity:1}35%{transform:translate(calc((var(--x) + var(--dx) * .3 + 14) * var(--u)), calc((var(--y) + var(--dy) * .35) * var(--u))) rotate(140deg) scale(1.7, .7)}70%{transform:translate(calc((var(--x) + var(--dx) * .75 - 10) * var(--u)), calc((var(--y) + var(--dy) * .8) * var(--u))) rotate(260deg) scale(1.5, 1.2)}82%{opacity:1;transform:translate(calc((var(--x) + var(--dx)) * var(--u)), calc((var(--y) + var(--dy)) * var(--u))) rotate(310deg) scale(1.4)}to{opacity:0;transform:translate(calc((var(--x) + var(--dx)) * var(--u)), calc((var(--y) + var(--dy)) * var(--u))) rotate(310deg) scale(1.4)}}@media (prefers-reduced-motion:reduce){.bonsai-canopy{animation:none}.bonsai-petal{display:none}}.desk-dim{z-index:8;opacity:0;pointer-events:none;background:#1c120c75;border:0;padding:0;transition:opacity .6s;position:absolute;inset:0}.desk-world.is-lifted .desk-dim{opacity:1;pointer-events:auto}.lift-hit{z-index:4;cursor:pointer;background:0 0;border:0;position:absolute;inset:0}.lift-name{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.lift-hit .tip{top:auto;bottom:calc(100% + .35rem)}.lift-hit .tip:after{border-top-color:#1a1a1a;border-bottom-color:#0000;top:100%;bottom:auto}.lift-hit:hover .tip,.lift-hit:focus-visible .tip{opacity:1;transform:translate(-50%)translateY(0)}.lift-hit:focus-visible{outline-offset:3px;outline:3px solid #e7a8be}.sheet:not(.is-measured) .paper{transition:none}.sheet{z-index:2;left:calc(50% - 9 * var(--in) - .15 * var(--ex));top:calc(50% - 5.1 * var(--in));width:calc(8.5 * var(--in));aspect-ratio:8.5/11;--fit:var(--rest-fit,.28);--doc-w:816px;--page-h:1056;background:0 0;height:auto;position:absolute;overflow:visible}.sheet.is-open{z-index:12;aspect-ratio:auto;--fit:var(--open-fit,1);width:min(max(920px,94dvh)/1.29416,77.27dvh - 1.08178rem,100vw - 1.4rem);height:min(max(920px,94dvh),100dvh - 1.4rem,129.416vw - 1.81183rem);margin:auto;inset:0}.letter-stack{z-index:1;position:absolute;inset:0;overflow:visible}.letter-under{z-index:0;transform-origin:40% 80%;background:#f3eee4;border-radius:1px;position:absolute;inset:0;transform:translate(10px,12px)rotate(.6deg);box-shadow:inset 0 1px #ffffff73,.5px 1px 1px #28180a29}.letter-page{z-index:1;background:var(--paper);border-radius:1px;position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 1px #ffffffb3,.5px 1px 1px #28180a1f}.letter-slice{width:calc(var(--doc-w) * var(--fit));height:calc(var(--page-h) * var(--fit) * 1px);overflow:hidden}.sheet.is-open .letter-stack,.sheet:not(.is-open) .sheet-clip{display:none}.sheet-clip{z-index:1;background:var(--paper);height:100%;box-shadow:none;border-radius:1px;position:relative;overflow:hidden}.sheet.is-open .paper-fit{width:100%;height:auto}.sheet.is-open .paper{width:100%;transform:none}.sheet.is-open .sheet-clip{overscroll-behavior:contain;box-shadow:none;overflow:auto}.sheet .paper{box-shadow:none;border:none}.paper-fit{width:100%;height:auto}.sheet .paper{width:var(--doc-w,816px);transform-origin:0 0;max-width:none;min-height:0;margin:0}.letter-slice .paper{transform:scale(var(--fit)) translateY(calc(var(--page) * var(--page-h) * -1px))}.sheet:not(.is-open) .paper{padding:.58in .62in .5in;font-size:11pt;line-height:1.38}.sheet:not(.is-open) .mast{padding-bottom:.35rem}.sheet:not(.is-open) .mast h1{letter-spacing:-.03em;font-size:22pt;line-height:1}.sheet:not(.is-open) .contact-line{gap:.15rem .4rem;margin-top:.35rem;font-size:10.5pt}.sheet:not(.is-open) .paper section{margin-top:.72rem}.sheet:not(.is-open) .paper h2{letter-spacing:.08em;margin-bottom:.22rem;padding-bottom:.08rem;font-size:11pt}.sheet:not(.is-open) .paper h3{font-size:11.5pt}.sheet:not(.is-open) .paper p,.sheet:not(.is-open) .paper li{font-size:10.5pt;line-height:1.38}.sheet:not(.is-open) .entry+.entry{margin-top:.45rem}.sheet:not(.is-open) .get-in-touch{margin-top:.75rem}.sheet-close{z-index:5;position:absolute;top:.7rem;right:.8rem}.letter-stack .paper *,.letter-stack .paper :after{text-shadow:none!important;animation:none!important}.sheet.is-open .sheet-clip{container-type:inline-size}.sheet.is-open .paper{padding:clamp(2.6rem,5.8cqi,3.4rem) clamp(2.8rem,6.3cqi,3.6rem) clamp(2.8rem,6.3cqi,3.6rem);font-size:clamp(.9rem,2.02cqi,1.2rem);line-height:1.5}.sheet.is-open .mast{padding-bottom:.4rem}.sheet.is-open .mast h1{font-size:max(clamp(2rem,5vw,3rem),min(6.7cqi,3.4rem));line-height:1}.sheet.is-open .contact-line{margin-top:.8rem;font-size:clamp(.9rem,2.02cqi,1.2rem)}.sheet.is-open .paper section{margin-top:1.6rem}.sheet.is-open .paper h2{border-bottom-width:2px;margin-bottom:.6rem;font-size:clamp(.92rem,2.07cqi,1.21rem)}.sheet.is-open .paper h3{font-size:clamp(.98rem,2.2cqi,1.29rem)}.sheet.is-open .get-in-touch{font-size:.94em}.sheet.is-open .entry+.entry{margin-top:1rem}@media (width<=800px){.sheet.is-open .paper{padding:1.6rem 1.2rem 2rem;font-size:.88rem}}.mac,.iphone{position:absolute}.device-scale{width:calc(var(--frame-w) * 1px);height:calc(var(--frame-h) * 1px);transform:scale(var(--scale));transform-origin:0 0;pointer-events:none;position:absolute;top:0;left:0}.iphone.is-open .device-scale{pointer-events:auto}.mac{--frame-w:1212;--frame-h:736;--scale:calc(12.31 * var(--in) / 1040px);--tilt:6deg;--lid:-52deg;--dx:calc(-.973 * var(--in) + .4 * var(--ex));--dy:calc(-1.56 * var(--in));--cam:calc(-1 * var(--dx) / var(--scale)) calc(-1 * var(--dy) / var(--scale));z-index:4;left:calc(50% + var(--dx));top:calc(50% + var(--dy));width:calc(var(--frame-w) * var(--scale) * 1px);height:calc(var(--frame-h) * var(--scale) * 1px)}.mac .mockframe.macbook-pro{margin:0 0 0 108px}.mac-seat{z-index:0;pointer-events:none;width:85.81%;height:100%;transform:rotate(var(--tilt));position:absolute;top:-1.09%;left:7.1%}.mac-seat:before,.mac-seat:after{content:"";border-radius:2.4%/3.4%;position:absolute;inset:0}.mac-seat:before{transform:translate(calc(.05 * var(--in)), calc(.07 * var(--in)));filter:blur(calc(.05 * var(--in)));background:#1e120866}.mac-seat:after{transform:translate(calc(.3 * var(--in)), calc(.3 * var(--in)));filter:blur(calc(.24 * var(--in)));background:#28180a3d}.mac:before{content:"";z-index:0;pointer-events:none;width:114.3%;height:34.44%;transform:rotate(var(--tilt));transform-origin:37.53% 218.5%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 164 30' preserveAspectRatio='none'%3E%3Cfilter id='b' x='-20%25' y='-60%25' width='140%25' height='220%25'%3E%3CfeGaussianBlur stdDeviation='1.8'/%3E%3C/filter%3E%3Cpolygon points='3,25 126,25 158,6 35,6' fill='rgb(40,24,10)' fill-opacity='0.26' filter='url(%23b)'/%3E%3C/svg%3E") 50%/100% 100% no-repeat;position:absolute;top:-26.35%;left:7.09%}.mac.is-open:before,.mac.is-open .mac-seat,.mac.is-open .mac-model,.mac:not(.is-open) .mac-live-frame{display:none}.mac.is-open .mac-rig{display:contents}.mac:not(.is-open) .mac-rig{perspective:7000px;width:1212px;height:736px;perspective-origin:var(--cam)}.mac:not(.is-open) .lift-hit{top:-76%;left:4%;right:-9%}.mac .lift-hit .tip{top:calc(100% + .6rem);bottom:auto}.mac .lift-hit .tip:after{border-top-color:#0000;border-bottom-color:#1a1a1a;top:auto;bottom:100%}.mac-model{--deck:50px;width:1040px;height:736px;transform-style:preserve-3d;transform:rotateZ(var(--tilt));transform-origin:50%;position:absolute;bottom:8px;left:86px}.mac-base{transform-style:preserve-3d;position:absolute;inset:0}.mac-base-top{transform:translateZ(var(--deck));background:linear-gradient(150deg,#f1f2f4 0%,#e7e8ea 45%,#d8d9db 100%);border-radius:26px;position:absolute;inset:0;box-shadow:inset 0 1px #ffffffd9,inset 0 34px 40px -24px #3c3c4033,inset 0 0 0 1px #78787e40}.mac-base-front,.mac-base-left,.mac-base-right{background:linear-gradient(90deg,#a6a7a9,#cfd0d2 50%,#b9babc);position:absolute}.mac-base-front{height:var(--deck);transform-origin:50% 100%;bottom:0;left:26px;right:26px;transform:rotateX(-90deg)}.mac-base-left,.mac-base-right{width:var(--deck);top:26px;bottom:26px}.mac-base-left{transform-origin:0;left:0;transform:rotateY(-90deg)}.mac-base-right{transform-origin:100%;right:0;transform:rotateY(90deg)}.mac-hinge{background:linear-gradient(#1c1c1e 0%,#3a3a3c 42%,#2a2a2c 100%);border-radius:0 0 8px 8px;height:16px;position:absolute;top:0;left:3.2%;right:3.2%;box-shadow:inset 0 3px 4px #00000073}.mac-base-top:before,.mac-base-top:after{content:"";background:radial-gradient(circle,#3c3c4080 1.4px,#0000 1.9px) 0 0/9px 9px;width:4.6%;height:44%;position:absolute;top:7%}.mac-base-top:before{left:2.3%}.mac-base-top:after{right:2.3%}.mac-keys{background:#786e731f;border-radius:8px;grid-template-rows:.55fr 1fr 1fr 1fr 1fr 1fr;gap:7px;height:46%;padding:8px;display:grid;position:absolute;top:6.3%;left:8.5%;right:8.5%;box-shadow:inset 0 1px 3px #3c323740}.mac-key-row{gap:7px;min-height:0;display:flex}.mac-key,.mac-arrows{flex-basis:0;min-width:0}.mac-key{color:#7a3553;font-family:var(--sans);background:linear-gradient(#fcd9e5,#f6bdd1 60%,#efa8c2);border-radius:6px;place-items:center;font-size:21px;font-weight:600;line-height:1;display:grid;position:relative;box-shadow:0 2px #d98aa8,0 3px 4px #78325040,inset 0 1px #ffffffb3}.mac-key small{font-size:14px;font-weight:600}.mac-key.pair{grid-template-rows:auto auto;align-content:center;gap:3px;font-size:17px}.mac-key.fkey,.mac-key.mod{letter-spacing:.02em;font-size:12px;font-weight:600}.mac-key.mod{place-items:end start;padding:0 0 8px 10px}.mac-key.mod.right{place-items:end;padding:0 10px 8px 0}.mac-key.mod small{font-size:15px;position:absolute;top:7px;right:9px}.mac-key.mod.right small{left:9px;right:auto}.mac-key.touch-id:after{content:"";aspect-ratio:1;border:2px solid #7a355373;border-radius:50%;width:46%}.mac-arrows{align-items:flex-end;gap:7px;display:flex}.mac-arrows>.mac-key{flex:1;height:50%;font-size:13px}.mac-arrow-pair{flex:1;grid-template-rows:1fr 1fr;gap:3px;height:100%;display:grid}.mac-arrow-pair .mac-key{font-size:11px}.mac-trackpad{background:linear-gradient(150deg,#dfe0e2,#cfd0d2);border-radius:12px;width:45%;height:39%;position:absolute;bottom:4.6%;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 1px #46464a47,inset 0 1px #ffffff8c}.mac-stickers{pointer-events:none;position:absolute;inset:0}.sticker{filter:drop-shadow(1px 2px 1.5px #281e1e47);position:absolute}.sticker-swirl{width:118px;top:60%;left:7%;transform:rotate(-12deg)}.sticker-ramen{width:150px;top:77%;left:9%;transform:rotate(7deg)}.sticker-bolt{width:84px;top:59%;right:15%;transform:rotate(12deg)}.sticker-blossom{width:122px;top:76%;right:6%;transform:rotate(-9deg)}.mac-lid{width:1040px;height:700px;transform-style:preserve-3d;transform:translateZ(var(--deck)) rotateX(var(--lid));transform-origin:50% 100%;position:absolute;bottom:100%;left:0}.mac-lid-back,.mac-lid-face{border-radius:26px 26px 10px 10px;position:absolute;inset:0}.mac-lid-back{background:linear-gradient(#c5c6c8,#ececee 30%,#b7b8ba);transform:translateZ(-10px)}.mac-lid-face{background:#111113;padding:16px 16px 24px;transform:translateZ(10px);box-shadow:inset 0 0 0 1px #ffffff24,inset 0 0 0 5px #c9cacc}.mac-notch{z-index:2;background:#111113;border-radius:0 0 7px 7px;width:108px;height:18px;position:absolute;top:14px;left:50%;transform:translate(-50%)}.mac-notch:after{content:"";background:radial-gradient(circle,#3d5f92 0%,#15171a 70%);border-radius:50%;width:6px;height:6px;position:absolute;top:5px;left:50%;transform:translate(-50%)}.mac-display{background:#f6f3ee;border-radius:10px 10px 3px 3px;height:100%;position:relative;overflow:hidden}.mac-display:after{content:"";pointer-events:none;background:linear-gradient(118deg,#ffffff57 0%,#ffffff14 32%,#0000 48%);position:absolute;inset:0}.mac-display .mac-home{padding-top:36px}@media (hover:hover) and (prefers-reduced-motion:no-preference){.mac:not(.is-open) .mac-model{transition:transform .35s}.mac:not(.is-open):hover .mac-model{transform:rotateZ(var(--tilt)) translateY(-16px) translateZ(110px)}}.mac.is-open{--scale:max(min(1, calc((100vw - 1.5rem) / 1212px), calc((100dvh - 1.5rem) / 736px)), min(1.6, calc(90vw / 1212px), calc(88dvh / 736px)));z-index:12;margin:auto;inset:0}.iphone{--frame-w:442;--frame-h:912;--scale:calc(3.4 * var(--in) / 442px);z-index:5;left:calc(50% - 13.8 * var(--in) - .45 * var(--ex));top:calc(50% - 1.4 * var(--in) + .4 * var(--ey));width:calc(var(--frame-w) * var(--scale) * 1px);height:calc(var(--frame-h) * var(--scale) * 1px)}.iphone .mockframe.iphone17{margin:4px 0 0 4px}.iphone.is-open{--scale:min(.9, calc((100vw - 1.5rem) / 442px), calc((100dvh - 1.5rem) / 912px));z-index:12;margin:auto;inset:0}.mac .mockframe .screen{background:#f6f3ee}.mac-screen,.iphone-screen{position:absolute;inset:0;overflow:hidden}.mac-screen{color:var(--ink);background:#f6f3ee}.iphone .mockframe .screen{background:#fff6f8}.iphone-screen{border-radius:inherit;color:#2c211c;background:radial-gradient(circle at 12% 0,#ffe3ef,#0000 46%),radial-gradient(circle at 100% 100%,#e4dcff,#0000 42%),#fff8f5;flex-direction:column;height:100%;padding:3.5rem .95rem 1.1rem;display:flex;overflow:hidden}.iphone.is-open .iphone-screen{overscroll-behavior:contain;overflow:auto}.mac.is-open{pointer-events:none}.mac.is-open .mockframe .screen{pointer-events:auto}.mac-preview{z-index:1;pointer-events:none;opacity:1;transform-origin:50% 40%;background:#fffcf7;transition:opacity .5s,transform .5s;position:absolute;inset:0;overflow:hidden}.mac-preview.is-hidden{opacity:0;transform:scale(1.04)}.mac-home{color:#2c211c;background:linear-gradient(#fffaf6 0%,#f4efe8 100%);grid-template-rows:auto 1fr;height:100%;padding:48px 30px 22px;display:grid}.mac-home-bar{justify-content:space-between;align-items:baseline;margin-bottom:18px;display:flex}.mac-home-bar p,.mac-home-bar h2{font-family:var(--serif);margin:0}.mac-home-bar p{color:#9a6678;font-size:22px}.mac-home-bar h2{font-size:40px;line-height:1}.mac-cards{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9a667873 transparent;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:calc(50% - 7px);gap:14px;min-height:0;padding-right:10px;display:grid;overflow-y:auto}.mac-card{background:#fff;border:1px solid #d696aa73;border-radius:18px;flex-direction:column;min-height:0;display:flex;overflow:hidden;box-shadow:0 8px 16px #3c1e280f}.mac-card-art{min-height:0;font-family:var(--serif);flex:1;place-items:center;font-size:64px;line-height:1;display:grid}.tone-tracer .mac-card-art{color:#6a4630;background:linear-gradient(160deg,#fff4d8,#f3d2b5)}.tone-merrynails .mac-card-art{color:#3f6b52;background:linear-gradient(160deg,#e6f5ec,#c9e7d6)}.tone-surfsafe .mac-card-art{color:#2f5577;background:linear-gradient(160deg,#e4f0fb,#c8dcf1)}.tone-fittmm .mac-card-art{color:#8a3d58;background:linear-gradient(160deg,#ffe4ef,#f7c9da)}.tone-blu .mac-card-art{color:#3d4578;background:linear-gradient(160deg,#ece4ff,#d5d8fb)}.tone-drawgorithms .mac-card-art{color:#2b5f58;background:linear-gradient(160deg,#e2f6f2,#c4e8e1)}.mac-card h3,.mac-card p{margin:0}.mac-card h3{font-family:var(--serif);padding:14px 16px 0;font-size:28px;line-height:1.1}.mac-card p{color:#5c463c;padding:6px 16px 16px;font-size:16px;line-height:1.3}.mac-live{z-index:1;overscroll-behavior:contain;color:var(--ink);opacity:0;pointer-events:none;background:#fffcf7;align-content:start;padding:2.2rem 2.6rem 2.6rem;transition:opacity .5s 80ms;display:grid;position:absolute;inset:0;overflow:auto}.mac-live.is-shown{opacity:1;pointer-events:auto}.mac-live>h2,.mac-live>.projects-page{transition:transform .6s cubic-bezier(.2,.7,.2,1) 80ms;transform:translateY(12px)}.mac-live.is-shown>h2,.mac-live.is-shown>.projects-page{transform:none}.mac-live h2,.mac-live .projects-page{width:100%;max-width:44rem;margin-inline:auto}.mac-live h2{font-family:var(--serif);text-align:center;margin-block:0 1.4rem;font-size:2rem;line-height:1.1}.mac-live h2:after{content:"";background:#e8a0b8d9;border-radius:1px;width:3.5rem;height:2px;margin:.5rem auto 0;display:block}.mac-live .mac-project{margin-bottom:1.6rem;padding-bottom:1.4rem}.mac-live .mac-project h3{font-size:1.4rem}.mac-live .mac-kicker{margin-top:.3rem}.mac-live .mac-project p,.mac-live .mac-project li{margin-top:.6rem;font-size:.98rem;line-height:1.6}.mac-live .mac-project ul{margin-top:.7rem;padding-left:1.25rem}.mac-live .mac-project li+li{margin-top:.4rem}.mac-live .mac-links{gap:.55rem;margin-top:1rem}.mac-live .mac-links a,.mac-live .mac-links button{min-height:2.4rem;padding:.4rem 1rem;font-size:.82rem}.mac-project{border-bottom:1px solid #e8a0b88c;margin:0 0 .75rem;padding-bottom:.6rem}.mac-project h3{font-family:var(--serif);margin:0;font-size:1rem;line-height:1.15}.mac-project p,.mac-project li{margin:.28rem 0 0;font-size:.74rem;line-height:1.35}.mac-project ul{margin:.3rem 0 0;padding-left:1rem}.mac-kicker,.mac-status{color:#7a4e5c}.mac-stack{color:#5c463c}.mac-links{flex-wrap:wrap;gap:.35rem;margin-top:.4rem;display:flex}.mac-links a,.mac-links button{color:#3a2a24;min-height:1.85rem;font:600 .68rem/1.2 var(--sans);cursor:pointer;background:#fff;border:1px solid #c478928c;border-radius:999px;justify-content:center;align-items:center;padding:.15rem .5rem;text-decoration:none;display:inline-flex}.mac-links a:hover,.mac-links button:hover,.mac-links a:focus-visible,.mac-links button:focus-visible{background:#f4c3d6}.mac-live .projects-page,.mac-live .about-photos,.mac-live .about-copy,.mac-live .about-heading,.mac-live .about-facts{grid-column:1/-1}.mac-live .about-photos{gap:.35rem;margin-top:.2rem}.mac-live .about-photos img,.mac-live .about-photo-slot{object-position:center 30%;height:72px}.mac-live .about-copy,.mac-live .about-facts,.mac-live .about-heading{font-size:.72rem;line-height:1.35}.mac-live .about-heading{margin:.45rem 0 .15rem}.device-close{z-index:8;position:absolute;top:.45rem;right:.55rem}.mac.is-open .device-close,.iphone.is-open .device-close{top:.55rem;right:.7rem}.iphone.is-open .device-close{color:#fffaf6;background:#1c1918b8;top:3.6rem;right:1.1rem}.phone-kicker{letter-spacing:.14em;text-transform:uppercase;color:#9a6678;margin:0;font-size:.78rem}.phone-top h2{font-family:var(--serif);color:#2c211c;margin:.15rem 0 0;font-size:2.15rem;line-height:1.02}.phone-role{color:#7a4e5c;margin:.35rem 0 .85rem;font-size:.92rem;line-height:1.3}.iphone .phone-actions{flex:1;grid-auto-rows:1fr;gap:.55rem;min-height:0;display:grid}.iphone .phone-actions a,.iphone .phone-actions button{color:#2c211c;text-align:left;cursor:pointer;--tint:#ffe3ef;--edge:#d65c8cbf;background:#ffffffe0;border:1px solid #d696aa66;border-radius:1.05rem;align-items:center;gap:.75rem;min-height:3.1rem;padding:.55rem .75rem;text-decoration:none;transition:transform .15s,background .15s,border-color .15s,box-shadow .15s;display:flex;box-shadow:0 6px 12px #50283c0d}.iphone .phone-actions a:nth-child(2){--tint:#ece4ff;--edge:#5f69b4b3}.iphone .phone-actions a:nth-child(3){--tint:#f3e7da;--edge:#96644699}.phone-icon{color:#8a3d58;background:#ffe3ef;border-radius:.75rem;flex:none;place-items:center;width:2.35rem;height:2.35rem;display:grid}.phone-actions a:nth-child(2) .phone-icon{color:#3d4578;background:#ece4ff}.phone-actions a:nth-child(3) .phone-icon{color:#6a4630;background:#f3e7da}.phone-copy{flex-direction:column;min-width:0;display:flex}.phone-copy strong{font-size:.98rem;line-height:1.15}.phone-copy small{color:#7a6258;margin-top:.12rem;font-size:.72rem;line-height:1.2}.iphone .phone-actions svg{flex:none;width:1.2rem;height:1.2rem}.iphone .phone-actions a:active,.iphone .phone-actions button:active{transform:scale(.98)}.phone-status{letter-spacing:.08em;text-transform:uppercase;color:#fffaf6b8;justify-content:space-between;align-items:center;margin-bottom:.35rem;font-size:.68rem;display:flex}.iphone .phone-actions a:first-child{background:#fff;border-color:#e8a0b8b3}@media (hover:hover){.iphone .phone-actions a:hover,.iphone .phone-actions button:hover{background:var(--tint);border-color:var(--edge);transform:translateY(-2px);box-shadow:0 10px 20px #50283c24,0 0 0 3px #ffbad659}}.iphone .phone-actions a:focus-visible,.iphone .phone-actions button:focus-visible{background:var(--tint);border-color:var(--edge);outline:2px solid var(--edge);outline-offset:2px;box-shadow:0 10px 20px #50283c24,0 0 0 3px #ffbad659}.iphone .phone-actions a:hover .phone-icon,.iphone .phone-actions button:hover .phone-icon,.iphone .phone-actions a:focus-visible .phone-icon,.iphone .phone-actions button:focus-visible .phone-icon{background:#fff}@media (prefers-reduced-motion:reduce){.iphone .phone-actions a:hover,.iphone .phone-actions button:hover{transform:none}}.phone-address{display:none}.iphone .copy-note{text-align:center;color:#7a4e5c;min-height:1.1em;margin:.35rem 0 0;font-size:.78rem}.iphone .copy-note.is-success{color:#8a3d58}.iphone.is-open .device-close{color:#2c211c;background:#fffcf7f0}.badge-seat,.phone-seat{display:none}.badge{z-index:3;left:calc(50% - 10 * var(--in) - .25 * var(--ex));top:calc(50% - 6.2 * var(--in) - .4 * var(--ey));width:calc(3.5 * var(--in));aspect-ratio:1.7;height:auto;position:absolute}.badge.is-open{z-index:12;aspect-ratio:auto;width:min(760px,100vw - 1.5rem);height:min(860px,100dvh - 1.4rem);margin:auto;inset:0}.badge .pose:before,.badge .pose:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#fffaf4,#f6ece2);border:1px solid #b07c8a59;border-radius:.35rem;position:absolute;inset:0}.badge .pose:before{transform:translate(calc(.1 * var(--in)), calc(.12 * var(--in))) rotate(7deg);box-shadow:1px 1px #eee3d7,2px 2px #e7dbcd}.badge .pose:after{transform:translate(calc(-.06 * var(--in)), calc(.08 * var(--in))) rotate(-4deg);box-shadow:1px 1px #efe5d9,2px 2px #e6d9cb,3px 3px #dfd1c1}.badge.is-open .pose:before,.badge.is-open .pose:after{display:none}.badge-card{--blossom:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='%23ffb7d0'%3E%3Cellipse cx='20' cy='9' rx='5' ry='7'/%3E%3Cellipse cx='20' cy='9' rx='5' ry='7' transform='rotate(72 20 20)'/%3E%3Cellipse cx='20' cy='9' rx='5' ry='7' transform='rotate(144 20 20)'/%3E%3Cellipse cx='20' cy='9' rx='5' ry='7' transform='rotate(216 20 20)'/%3E%3Cellipse cx='20' cy='9' rx='5' ry='7' transform='rotate(288 20 20)'/%3E%3C/g%3E%3Ccircle cx='20' cy='20' r='3.2' fill='%23ffe08a'/%3E%3C/svg%3E");background:var(--blossom) 8% 14% / calc(.45 * var(--in)) calc(.45 * var(--in)) no-repeat, var(--blossom) 90% 84% / calc(.37 * var(--in)) calc(.37 * var(--in)) no-repeat, linear-gradient(180deg, #fffdf9, #fff6ef);color:#2c211c;border:1px solid #b07c8a73;border-radius:.35rem;position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 1px #fffc}.badge-face,.badge-live{position:absolute;inset:0}.badge-face{justify-content:center;align-items:center;gap:calc(.11 * var(--in));padding:calc(.18 * var(--in)) calc(.23 * var(--in));text-align:center;background:0 0;flex-direction:column;transition:opacity .25s;display:flex}.badge-kicker{font-family:var(--sans);font-size:calc(.2 * var(--in));letter-spacing:.16em;text-transform:uppercase;color:#9a6678;margin:0}.badge-face.is-hidden{opacity:0;pointer-events:none}.badge-name{font-family:var(--serif);font-size:calc(.36 * var(--in));white-space:nowrap;letter-spacing:-.03em;margin:0;line-height:1.05}.badge-rule{background:#e7a8be;width:42%;height:1px}.badge-role{font-family:var(--sans);font-size:calc(.17 * var(--in));letter-spacing:.12em;white-space:nowrap;text-transform:uppercase;color:#7a4e5c;margin:0;font-weight:600;line-height:1.25}.badge-live{overscroll-behavior:contain;opacity:0;pointer-events:none;background:#fffcf7;padding:1.35rem 1.2rem 1.6rem;transition:opacity .25s;overflow:auto}.badge-live.is-shown{opacity:1;pointer-events:auto}.badge-live h2{font-family:var(--serif);text-align:center;margin:0 2.2rem .2rem 0;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.05}.badge-live .about-photos img,.badge-live .about-photo-slot{height:clamp(140px,22vh,220px)}.badge-live .about-copy,.badge-live .about-facts,.badge-live .about-heading{text-align:left;font-size:.98rem}.badge-live{padding:2rem 2.4rem 2.6rem}.badge-live>*{max-width:40rem;margin-inline:auto}.badge-live .about-copy{margin-top:.7rem;line-height:1.65}.badge-live .about-lead{margin-top:1.2rem;font-size:1.12rem}.badge-live .about-heading{font-family:var(--serif);letter-spacing:-.01em;text-transform:none;margin-top:1.7rem;margin-bottom:0;font-size:1.3rem}.badge-live .about-facts{margin-top:.7rem;padding-left:1.2rem;line-height:1.6;list-style:outside;display:block}.badge-live .about-facts li+li{margin-top:.4rem}.badge-live .about-closing{margin-top:1.8rem}@media (width<=800px){.badge-live{padding:1.4rem 1.2rem 1.8rem}}.close.badge-close,.close.sheet-close,.close.device-close{background:#fffcf7f5;border:1px solid #c4789259;border-radius:999px;min-width:4.4rem;min-height:2.4rem;padding:.35rem .7rem;box-shadow:0 4px 10px #28180a1f}.close.badge-close:hover,.close.sheet-close:hover,.close.device-close:hover,.close.badge-close:focus-visible,.close.sheet-close:focus-visible,.close.device-close:focus-visible{background:#fff0f6}.mac.is-open .mac-live{padding-top:.4rem;top:3.2rem}.mac.is-open .mac-screen{background:#fffcf7}.sheet.is-open .pose{background:var(--paper)}.sheet.is-open .sheet-clip{height:calc(100% - 3.2rem);margin-top:3.2rem}.sheet.is-open .sheet-clip .paper{padding-top:.4rem}.badge.is-open .badge-live{padding-top:.4rem;top:3.2rem}.badge-close{z-index:6;position:absolute;top:.65rem;right:.7rem}.desk-fallback{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:0;padding:0;position:absolute;overflow:hidden}.desk-fallback:focus-within{z-index:30;left:.6rem;top:max(.5rem, env(safe-area-inset-top));clip:auto;white-space:normal;flex-wrap:wrap;gap:.35rem;width:max-content;height:auto;display:flex;overflow:visible}.desk-fallback button{color:#3a2a24;min-height:2.25rem;font-size:.75rem;font-weight:600;line-height:1;font-family:var(--sans);cursor:pointer;background:#fffcf7f5;border:0;border-radius:999px;padding:.2rem .75rem;box-shadow:0 6px 14px #28180a1f}.desk-fallback button:focus-visible{outline-offset:2px;outline:2px solid #e7a8be}.desk-world.is-lifted .sheet:not(.is-open),.desk-world.is-lifted .mac:not(.is-open),.desk-world.is-lifted .iphone:not(.is-open),.desk-world.is-lifted .badge:not(.is-open){pointer-events:none}@media (aspect-ratio>=4/5) and (aspect-ratio<=11/10){.desk-scene{--in:min(calc(100cqw / 23), calc(100cqh / 28.4));--ex:calc((100cqw - 23 * var(--in)) / 2);--ey:calc((100cqh - 28.4 * var(--in)) / 2)}.mac:not(.is-open){--tilt:3deg;--dx:calc(-7.173 * var(--in));--dy:calc(-7.02 * var(--in) - .4 * var(--ey))}.decor-bonsai{left:calc(50% - 11.2 * var(--in) - .5 * var(--ex));top:calc(50% - 8.8 * var(--in) - .2 * var(--ey))}.badge:not(.is-open){left:calc(50% + 7.1 * var(--in) + .5 * var(--ex));top:calc(50% - 6.6 * var(--in) - .2 * var(--ey))}.iphone:not(.is-open){left:calc(50% - 9.9 * var(--in) - .5 * var(--ex));top:calc(50% + 4.7 * var(--in) + .4 * var(--ey))}.sheet:not(.is-open){left:calc(50% - 5.1 * var(--in));top:calc(50% + 2.4 * var(--in) + .4 * var(--ey))}.decor-airpods{left:calc(50% + 5.3 * var(--in) + .5 * var(--ex));top:calc(50% + 7 * var(--in) + .4 * var(--ey));transform:rotate(80deg)}}@media (width<=800px),(aspect-ratio<=4/5){.desk-scene{--in:min(calc(100cqw / 14.4), calc(100cqh / 29))}.decor{display:none}.mac.is-open{width:calc(100vw - 1.5rem);height:calc(100dvh - 1.5rem)}.mac.is-open .device-scale,.mac.is-open .mac-live-frame,.mac.is-open .mockframe.macbook-pro,.mac.is-open .mockframe .screen{width:100%;height:100%}.mac.is-open .device-scale{transform:none}.mac.is-open .mockframe.macbook-pro{box-shadow:none;background:0 0;border-radius:.6rem;margin:0;padding:0}.mac.is-open .mockframe .screen{border-radius:.6rem;overflow:hidden}.mac.is-open .mockframe .notch,.mac.is-open .mockframe .top-bar,.mac.is-open .mockframe .bottom-bar{display:none}.mac-live{padding:1.3rem 1.2rem 1.8rem}.mac-live h2{margin-bottom:1rem;font-size:1.7rem}.mac:not(.is-open){--tilt:-3deg;--dx:calc(-7.173 * var(--in));--dy:calc(-7.39 * var(--in))}.sheet:not(.is-open){left:calc(50% - 6.6 * var(--in));top:calc(50% + 2 * var(--in))}.iphone:not(.is-open){left:calc(50% + 2.6 * var(--in));top:calc(50% + 2.4 * var(--in))}.badge:not(.is-open){left:calc(50% + 2.3 * var(--in));top:calc(50% + 10.2 * var(--in))}}@media (prefers-reduced-motion:reduce){.sheet,.mac,.iphone,.badge,.badge-face,.badge-live,.mac-screen,.screen-preview,.mac-preview,.mac-live,.mac-live>h2,.mac-live>.projects-page,.desk-dim,.iphone .phone-actions a,.iphone .phone-actions button{transition:none}.mac-preview.is-hidden,.mac-live>h2,.mac-live>.projects-page{transform:none}}@media print{.desk,.desk-world{perspective:none;height:auto;overflow:visible}.mac,.iphone,.badge,.desk-fallback,.letter-stack,.desk-dim,.lift-hit,.sheet-close,.device-close{display:none}.sheet .sheet-clip{width:auto;height:auto;display:block;position:static;overflow:visible}.paper-fit,.sheet .paper{width:auto;height:auto;overflow:visible;transform:none}.sheet,.sheet.is-open{filter:none;width:auto;height:auto;position:static;overflow:visible;transform:none}.sheet-clip,.sheet.is-open .sheet-clip{height:auto;box-shadow:none;overflow:visible}}.welcome{z-index:40;background:radial-gradient(at 50% 42%,#e9c2e929 0%,#0000 46%),radial-gradient(at 50% 38%,#453a5b 0%,#2e2543 46%,#1c1228 100%);width:100vw;height:100dvh;transition:opacity .7s;position:fixed;top:0;left:0;overflow:hidden}.welcome-leave{opacity:0;pointer-events:none}.welcome-petals{width:100%;height:100%;position:absolute;inset:0}.welcome-copy{z-index:6;pointer-events:none;place-items:center;padding:1.5rem;display:grid;position:absolute;inset:0}.welcome-title{text-align:center;font-family:var(--serif);letter-spacing:.045em;color:#f9ebf8;text-shadow:0 0 12px #e9c2e9f2,0 0 28px #b58bc4bf,0 0 60px #f1c4de73;margin:0;font-size:clamp(2rem,6.4vw,5.6rem);font-weight:650;line-height:.96}.welcome-stack{position:relative}.welcome-bloom{filter:drop-shadow(0 0 6px #e9c2e973);width:clamp(76px,9vw,120px);margin-top:clamp(1.25rem,4.5vh,3rem);transition:filter .8s;animation:.6s both bloom-in;position:absolute;top:100%;left:50%;translate:-50%}.welcome-bloom svg{width:100%;height:auto;animation:10s linear infinite bloom-spin;display:block;overflow:visible}.bloom-outline{fill:#e9c2e90f;stroke:#e9c2e96b;stroke-width:1.2px}.bloom-petal{opacity:0;transform-box:fill-box;transform-origin:50% 100%;transition:transform .6s cubic-bezier(.34,1.56,.64,1),opacity .3s;transform:scale(.15)}.bloom-petal.is-open{opacity:1;transform:none}.bloom-petal path{fill:url(#welcome-petal-fill)}.bloom-petal .bloom-vein{fill:none;stroke:#bc537459;stroke-width:1px;stroke-linecap:round}.bloom-heart{fill:#f0cfa8}.welcome-bloom.is-full{filter:drop-shadow(0 0 16px #f1c4dee6)}.welcome-bloom.is-full svg{animation:10s linear infinite bloom-spin,.9s bloom-pop}@keyframes bloom-in{0%{opacity:0}}@keyframes bloom-spin{to{rotate:1turn}}@keyframes bloom-pop{50%{transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.welcome-bloom,.bloom-petal{transition:none}.welcome-bloom,.welcome-bloom svg,.welcome-bloom.is-full svg{animation:none}}html.has-star-cursor,html.has-star-cursor *{cursor:none!important}.star-cursor-layer{z-index:80;pointer-events:none;width:0;height:0;position:fixed;top:0;left:0;overflow:visible}.cursor-star{color:#ff7eb3;width:18px;height:18px;margin:-9px 0 0 -9px;position:fixed;top:0;left:0}.cursor-star svg{width:100%;height:100%;display:block}.cursor-star-lead{color:#ffd4e6;width:30px;height:30px;margin:-15px 0 0 -15px}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#1c1c1c;--muted:#3d3d3d;--paper:#fffcf7;--desk:#2a2724;--rule:#1c1c1c;--serif:"Source Serif 4", "Palatino Linotype", Palatino, serif;--sans:"Source Sans 3", "Segoe UI", sans-serif;--mono:"Cascadia Code", Consolas, ui-monospace, monospace}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100dvh;margin:0}#root{z-index:1;position:relative}html{overflow-x:clip}html:has(.welcome){overflow:hidden}body{color:var(--ink);font-family:var(--sans);background-color:#c4a06a;font-size:1.2rem;line-height:1.45}body:before{content:"";z-index:0;pointer-events:none;background-color:#c4a06a;background-image:url(./oak-desk-DrW_w9Ik.webp);background-position:50%;background-repeat:no-repeat;background-size:cover;width:100vw;height:100dvh;position:fixed;top:0;left:0}html,.modal,.feedback-modal{scrollbar-width:thin;scrollbar-color:#ffbad647 transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffbad647;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#ffbad680}::-webkit-scrollbar-button{width:0;height:0;display:none}h1,h2,h3,p,ul,ol,dl,dd{margin:0}button,a{font:inherit}::selection{color:#1c1c1c;background:#ffe08a}:focus-visible{outline-offset:3px;outline:2px solid #1c1c1c}.desk{width:100%;max-width:100%;min-height:100dvh}.paper{--petal:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='%23e8a0b8' fill-opacity='0.16'%3E%3Cellipse cx='20' cy='9' rx='5' ry='7'/%3E%3Cellipse cx='20' cy='9' rx='5' ry='7' transform='rotate(72 20 20)'/%3E%3Cellipse cx='20' cy='9' rx='5' ry='7' transform='rotate(144 20 20)'/%3E%3Cellipse cx='20' cy='9' rx='5' ry='7' transform='rotate(216 20 20)'/%3E%3Cellipse cx='20' cy='9' rx='5' ry='7' transform='rotate(288 20 20)'/%3E%3C/g%3E%3Ccircle cx='20' cy='20' r='2.4' fill='%23e8c98a' fill-opacity='0.14'/%3E%3C/svg%3E");background-color:var(--paper);background-image:var(--petal), var(--petal), var(--petal), var(--petal), var(--petal), var(--petal), var(--petal), var(--petal), var(--petal), var(--petal), var(--petal), var(--petal), var(--petal), var(--petal), var(--petal), var(--petal);width:min(1240px,100%);color:var(--ink);overflow-wrap:break-word;background-position:94% 5%,4% 8%,74% 13%,18% 20%,88% 27%,40% 33%,7% 39%,96% 45%,58% 51%,22% 57%,80% 63%,5% 70%,46% 77%,91% 83%,28% 89%,66% 95%;background-repeat:no-repeat;background-size:84px,48px,64px,76px,44px,60px,92px,52px,40px,72px,48px,80px,44px,68px,56px,40px;border:1px solid #5a412814;margin:0 auto;padding:clamp(1.6rem,4.5vw,4.75rem) clamp(1.2rem,5vw,5rem) clamp(2rem,5vw,4.5rem);box-shadow:0 2px 4px #00000014,0 10px 20px #0000001f,8px 20px 35px #0000002e,0 35px 60px #00000014}.mast{padding-bottom:1.6rem}.mast h1{font-family:var(--serif);letter-spacing:-.045em;text-align:center;text-wrap:balance;max-width:100%;font-size:clamp(1.8rem,9vw,7.8rem);font-weight:650;line-height:.92}.contact-line{flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem .7rem;margin-top:clamp(1.25rem,3vw,2.4rem);font-size:clamp(1rem,2vw,1.7rem);display:flex}.dot{color:#6d6a64}.paper section{margin-top:2.1rem}.paper h2{border-bottom:3px solid var(--rule);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.75rem;padding-bottom:.22rem;font-size:clamp(1.15rem,2vw,1.7rem);font-weight:700}.paper h3{font-size:clamp(1.25rem,2vw,1.7rem);font-weight:700;line-height:1.25}.paper h3 .hot,.contact-line a[href*=linkedin\.com],.get-in-touch-button.hot{text-shadow:0 0 6px #ffa8cc8c,0 0 14px #ff96c447;border-bottom-color:#d65c8ce6;position:relative}.paper h3 .hot:after,.contact-line a[href*=linkedin\.com]:after,.get-in-touch-button.hot:after{content:attr(data-glow);padding:inherit;color:#0000;text-shadow:0 0 10px #ffa8cc,0 0 22px #ff8cbecc,0 0 36px #ffbad673;opacity:0;pointer-events:none;will-change:opacity;animation:2.8s ease-in-out infinite project-glow;position:absolute;inset:0}.paper h3 .hot:hover:after,.paper h3 .hot:focus-visible:after,.contact-line a[href*=linkedin\.com]:hover:after,.contact-line a[href*=linkedin\.com]:focus-visible:after,.get-in-touch-button.hot:hover:after,.get-in-touch-button.hot:focus-visible:after{opacity:0;animation:none}@keyframes project-glow{0%,to{opacity:0}50%{opacity:1}}.tagline{font-weight:600}.stack-inline{color:var(--muted);font-size:.92em;font-style:italic;font-weight:400}.skill-line+.skill-line{margin-top:.28rem}.entry-head .place,.entry-head .dates{white-space:nowrap;flex:none}.entry+.entry{margin-top:1.15rem}.entry-head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.dates,.place,.stack{color:var(--muted)}.dates{color:var(--ink);font-weight:700}.role{margin-top:.15rem}.stack{margin-top:.2rem;font-size:.98em}.project-links{margin-top:.15rem;font-size:.95em;font-weight:600}.project-links a{color:#a03f66;text-underline-offset:.18em}.skills,.bullets,.steps{padding-left:1.2rem}.skills li+li,.bullets li+li,.steps li+li{margin-top:.28rem}.hot-wrap{display:inline;position:relative}.hot{color:inherit;cursor:pointer;background:0 0;border:none;border-bottom:1px dotted #1c1c1c8c;border-radius:.12em;padding:0 .05em;text-decoration:none}.hot:hover,.hot:focus-visible,.name-button:hover,.name-button:focus-visible{color:#1c1c1c;text-shadow:0 0 8px #ffa8ccf2,0 0 18px #ff96c4d9,0 0 34px #ffc4dcbf;background:#ffbad68c}.tip{z-index:5;color:#fff;letter-spacing:0;text-transform:none;opacity:0;pointer-events:none;background:#1a1a1a;border-radius:.45rem;width:max-content;max-width:min(16rem,100vw - 2rem);padding:.45rem .65rem;font-size:.95rem;font-weight:650;line-height:1.25;transition:opacity .14s,transform .14s;position:absolute;top:calc(100% + .5rem);left:50%;transform:translate(-50%)translateY(6px);box-shadow:0 12px 28px #00000047}.tip:after{content:"";border:6px solid #0000;border-bottom-color:#1a1a1a;margin-left:-6px;position:absolute;bottom:100%;left:50%}.hot-wrap:hover .tip,.hot-wrap:focus-within .tip{opacity:1;transform:translate(-50%)translateY(0)}.name-wrap{display:inline-block}.name-button{font:inherit;letter-spacing:inherit;color:inherit;white-space:normal;cursor:pointer;background:0 0;border:none;max-width:100%;padding:0}.name-wrap .tip{top:auto;bottom:calc(100% + .4rem);left:50%;transform:translate(-50%)translateY(6px)}.name-wrap .tip:after{border-top-color:#1a1a1a;border-bottom-color:#0000;margin-left:-6px;top:100%;bottom:auto;left:50%}.name-wrap:hover .tip,.name-wrap:focus-within .tip{transform:translate(-50%)translateY(0)}.about-modal .about-copy,.about-modal .about-facts{text-align:center;margin-top:.9rem;font-size:1.15rem;line-height:1.5}.modal h3.about-heading{letter-spacing:-.03em;text-align:center;text-transform:none;margin-top:1.7rem;margin-bottom:.15rem;font-size:1.35rem}.about-facts{text-align:center;gap:.7rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.about-closing{margin-top:1.4rem}.get-in-touch{text-align:center;margin-top:2.4rem;font-size:.92rem}.get-in-touch-button{font-size:inherit}.closing-note{--blossom:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='%23ffb7d0'%3E%3Cellipse cx='20' cy='9' rx='5' ry='7'/%3E%3Cellipse cx='20' cy='9' rx='5' ry='7' transform='rotate(72 20 20)'/%3E%3Cellipse cx='20' cy='9' rx='5' ry='7' transform='rotate(144 20 20)'/%3E%3Cellipse cx='20' cy='9' rx='5' ry='7' transform='rotate(216 20 20)'/%3E%3Cellipse cx='20' cy='9' rx='5' ry='7' transform='rotate(288 20 20)'/%3E%3C/g%3E%3Ccircle cx='20' cy='20' r='3.2' fill='%23ffe08a'/%3E%3C/svg%3E");--star:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff6fb' d='M12 0l1.7 8.3L22 12l-8.3 1.7L12 24l-1.7-8.3L2 12l8.3-1.7z'/%3E%3C/svg%3E");background-color:#2a1e26db;background-image:var(--star), var(--star), var(--star), var(--blossom), var(--blossom);color:#fffaf6;text-align:center;background-position:10px 10px,calc(100% - 12px) 12px,12px calc(100% - 12px),8px 28px,calc(100% - 8px) calc(100% - 28px);background-repeat:no-repeat;background-size:11px,14px,9px,22px,18px;border:none;width:90%;max-width:550px;margin:0;padding:clamp(20px,4vw,32px);font-size:1rem;line-height:1.5;box-shadow:0 18px 40px #00000073}.feedback-modal{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:100%;overflow-y:auto}.feedback-title{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.feedback-close{box-shadow:none;color:#fffaf6;background:0 0;border:none;margin:1.25rem 0 0 auto;padding:.25rem 0;font-size:1rem;font-weight:600;line-height:1;display:block}.feedback-close:hover,.feedback-close:focus-visible{color:#fffaf6;text-shadow:0 0 8px #ffa8ccf2,0 0 16px #ffc4dcbf;background:0 0}.feedback-modal .send-note{color:#fffaf6;box-shadow:none;background:0 0;border-color:#fffaf6b3;justify-self:center}.feedback-modal .send-note:hover{color:#fffaf6;background:#ffbad638}.closing-note p+p{margin-top:1.15rem}.closing-note .feedback-form,.closing-note .field{text-align:left}.closing-note .feedback-grid{grid-template-columns:1fr}.closing-note .field input,.closing-note .field textarea{color:#1c1c1c;background:#fffcf7f0;border-color:#fffaf6bf}.closing-note .field-error{color:#ffd0e2}.feedback-form{gap:1.15rem;margin-top:1.5rem;display:grid}.feedback-grid{grid-template-columns:1fr;gap:1.15rem;display:grid}.field{gap:.45rem;display:grid}.field label{font-weight:700}.field input,.field textarea{width:100%;color:inherit;font:inherit;background:#fff;border:1px solid #1c1c1c;padding:.65rem .75rem;font-size:1rem}.field textarea{resize:vertical;min-height:8.5rem}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#8d2430}.field-error{color:#8d2430;font-size:1rem}.send-note{color:#fffcf7;background:#1c1c1c;border:1px solid #1c1c1c;justify-self:start;padding:.5rem 1rem;font-weight:700}.send-note:hover{color:#1c1c1c;background:#fffcf7}.about-photos{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.15rem;display:grid}.about-photos picture{display:block}.about-photos img,.about-photo-slot{object-fit:cover;object-position:center 20%;background:#efe8df;width:100%;height:clamp(220px,32vw,340px);display:block}@media (width<=640px){.about-photos{grid-template-columns:1fr}.about-photos img,.about-photo-slot{height:280px}}.modal-backdrop{z-index:20;box-sizing:border-box;width:100vw;height:100dvh;padding:max(.75rem, env(safe-area-inset-top)) max(.75rem, env(safe-area-inset-right)) max(.75rem, env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));background:#16120ea8;justify-content:safe center;align-items:safe center;display:flex;position:fixed;top:0;left:0;overflow:hidden}.modal{--blossom:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='%23ffb7d0'%3E%3Cellipse cx='20' cy='9' rx='5' ry='7'/%3E%3Cellipse cx='20' cy='9' rx='5' ry='7' transform='rotate(72 20 20)'/%3E%3Cellipse cx='20' cy='9' rx='5' ry='7' transform='rotate(144 20 20)'/%3E%3Cellipse cx='20' cy='9' rx='5' ry='7' transform='rotate(216 20 20)'/%3E%3Cellipse cx='20' cy='9' rx='5' ry='7' transform='rotate(288 20 20)'/%3E%3C/g%3E%3Ccircle cx='20' cy='20' r='3.2' fill='%23ffe08a'/%3E%3C/svg%3E");overscroll-behavior:contain;-webkit-overflow-scrolling:touch;width:min(920px,100%);max-height:100%;padding:clamp(1.2rem,3vw,2.1rem);padding-bottom:max(1.5rem, env(safe-area-inset-bottom));overflow-wrap:break-word;background-color:var(--paper);background-image:var(--blossom), var(--blossom), var(--blossom);color:var(--ink);background-position:8px 8px,calc(100% - 8px) calc(100% - 8px),10px calc(100% - 10px);background-repeat:no-repeat;background-size:34px,28px,22px;border:1px solid #ffb0cce6;scroll-padding-block:1.25rem;overflow:auto;box-shadow:0 30px 80px #00000073,0 0 0 5px #ffd6e447}.modal-top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.modal-top h2{flex:1;min-width:0;max-width:100%}.modal-top .close{flex:none}.about-modal .modal-top{text-align:center;display:block;position:relative}.about-modal .modal-top h2{text-align:center;font-size:2rem;line-height:1.1}.about-modal .close{position:absolute;top:.2rem;right:0}.modal h2{font-family:var(--serif);letter-spacing:-.04em;overflow-wrap:break-word;font-size:clamp(2.6rem,11vw,5.2rem);font-weight:650;line-height:1.02}.modal h3{letter-spacing:.12em;text-transform:uppercase;margin:1.35rem 0 .45rem;font-size:1.05rem}.modal p,.steps,.stack-list{font-size:1.05rem}.close,.text-button,.key,.repo-link{cursor:pointer}.text-button{background:0 0;border:1px solid #1c1c1c;padding:.4rem .7rem}.close{box-shadow:none;color:inherit;background:0 0;border:none;padding:0;font-size:.68rem;font-weight:600;line-height:1}.close:hover,.close:focus-visible{color:inherit;text-shadow:0 0 8px #ffa8ccf2,0 0 16px #ffc4dcbf;background:0 0}.text-button:hover,.key:hover,.repo-link:hover{color:#fffcf7;background:#1c1c1c}.steps{gap:.45rem;padding-left:1.2rem;display:grid}.stack-list{gap:.55rem;display:grid}.stack-list div{grid-template-columns:10.5rem 1fr;gap:.75rem;display:grid}.stack-list dt{font-weight:700}.stack-list dd{color:var(--muted);margin:0}.demo-lead{color:var(--muted);margin-bottom:.8rem}.clip-group+.clip-group{margin-top:.7rem}.clip-label{letter-spacing:.08em;text-transform:uppercase;margin-bottom:.35rem;font-size:.78rem;font-weight:700}.clip-list{flex-wrap:wrap;gap:.45rem;display:flex}.clip{cursor:pointer;overflow-wrap:anywhere;background:0 0;border:1px solid #1c1c1c;padding:.4rem .65rem}.clip[aria-pressed=true],.clip:hover{color:#fffcf7;background:#1c1c1c}.demo-video{aspect-ratio:16/9;margin-top:.85rem;object-fit:contain;background:#111;width:min(100%,1.77778*min(28rem,70dvh));height:auto;margin-inline:auto;display:block}.demo-video.is-recording{aspect-ratio:auto;width:min(100%,46rem);max-height:74dvh}.desktop{background:linear-gradient(#cfc8bc,#cfc8bc) 0 0/100% 1.6rem no-repeat,#e7e1d6;border:1px solid #b7b0a4;min-height:15rem;padding:.85rem;position:relative}.desktop:before{content:"";height:.7rem;display:block}.window{background:#fff;border:1px solid #d5d0c8;box-shadow:0 10px 24px #3c2e1e1f}.window-bar{color:#5c574f;background:#f3efe7;justify-content:space-between;gap:1rem;padding:.35rem .7rem;font-size:.82rem;display:flex}.window pre,.shot{font-family:var(--mono);white-space:pre-wrap;margin:0;padding:.85rem .9rem 1rem;font-size:.82rem;line-height:1.45;overflow-x:auto}.desktop.capturing .window{animation:.7s flash}.desktop.frozen{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.desktop.frozen:after{content:"";pointer-events:none;background:#14100c52;position:absolute;inset:0}.freeze-hint{z-index:2;color:#f7f3ea;text-align:center;pointer-events:none;background:#1d1b19;border-radius:999px;width:max-content;max-width:calc(100% - 1.4rem);margin:0;padding:.4rem .7rem;font-size:.8rem;font-weight:600;position:absolute;bottom:.7rem;left:50%;transform:translate(-50%)}.freeze-box{z-index:1;pointer-events:none;background:#ffffff2e;border:2px solid #f4a7c3;position:absolute;box-shadow:0 0 0 1px #14100c80}.prompt-field{margin-top:.75rem;display:block}.prompt-field span{color:#c8c0b4;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.3rem;font-size:.78rem;font-weight:700;display:block}.prompt-field textarea{color:#f7f3ea;width:100%;font:inherit;resize:vertical;background:#2a2724;border:1px solid #5a534c;border-radius:.35rem;padding:.55rem .65rem}.prompt-chips{flex-wrap:wrap;gap:.4rem;margin-top:.55rem;display:flex}.prompt-chips button{color:#e8e1d6;cursor:pointer;background:0 0;border:1px solid #5a534c;border-radius:999px;padding:.3rem .65rem;font-size:.82rem}.prompt-chips button[aria-pressed=true]{color:#fff;border-color:#f4a7c3}.prompt-chips button:disabled{cursor:default;opacity:.6}.reply-note{color:#c8c0b4;margin-top:.75rem;font-size:.88rem}.demo-status,.demo-kicker,.reply-label,.saved-prompt span{letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:700}.demo-status{margin-top:.75rem}.tracer-panel{color:#f7f3ea;background:#1d1b19;margin-top:.75rem;padding:.85rem}.demo-kicker{color:#ffd15a}.tracer-bar{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.tracer-chip{color:#e8e1d6;border:1px solid #5a534c;border-radius:999px;padding:.2rem .6rem;font-size:.8rem}.tracer-check{color:#f7f3ea;cursor:pointer;align-items:center;gap:.5rem;margin-top:.65rem;font-size:.92rem;display:flex}.tracer-check input{accent-color:#f4a7c3;width:1rem;height:1rem}.modal .tracer-status{color:#ffd0e2;margin-top:.6rem;font-size:.9rem}.tracer-turn+.tracer-turn{border-top:1px solid #3a3531;margin-top:.9rem;padding-top:.9rem}.modal .tracer-you{background:#2f2a27;border-radius:.6rem;margin-top:.6rem;padding:.5rem .7rem;font-size:.95rem}.tracer-you span{color:#c8c0b4}.tracer-link{color:#f4a7c3;cursor:pointer;background:0 0;border:0;margin-top:.4rem;padding:0;font-size:.85rem;text-decoration:underline}.tracer-follow{gap:.5rem;margin-top:.9rem;display:flex}.tracer-follow input{color:#f7f3ea;min-width:0;font:inherit;background:#2a2724;border:1px solid #5a534c;border-radius:.35rem;flex:1;padding:.5rem .65rem}.tracer-follow button{color:#1d1b19;cursor:pointer;background:#f4a7c3;border:1px solid #f4a7c3;border-radius:.35rem;padding:.45rem .9rem;font-weight:700}.tracer-follow input:focus-visible,.tracer-follow button:focus-visible,.tracer-link:focus-visible,.tracer-check input:focus-visible{outline-offset:2px;outline:2px solid #ffd15a}.modal .tracer-note{margin-top:.85rem}.saved-prompt{margin-top:.45rem}.saved-prompt span,.reply-label{color:#c8c0b4;margin-bottom:.2rem;display:block}.shot{color:#f3efe6;background:#111;margin-top:.65rem}.reply-label{margin-top:.75rem}.reply{white-space:pre-line;font-size:1.02rem}.demo-controls{flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:.85rem;display:flex}.key{background:#fff;border:1px solid #1c1c1c;padding:.55rem .8rem;font-weight:700;box-shadow:0 3px #1c1c1c}.key:hover{box-shadow:none;transform:translateY(2px)}.repo-line{margin-top:1rem}.repo-link{color:inherit;text-underline-offset:.18em;overflow-wrap:anywhere;font-weight:700}@keyframes flash{0%,to{filter:none}35%{filter:brightness(2.4)}}@media (width<=720px){body{font-size:1.05rem}.paper h2{letter-spacing:.08em}.paper h3{font-size:1.15rem}.entry-head,.stack-list div{grid-template-columns:1fr;display:grid}.entry-head{gap:.1rem}.paper{padding-inline:1rem}.feedback-grid{grid-template-columns:1fr}.modal-backdrop{padding-inline:max(1rem, env(safe-area-inset-left)) max(1rem, env(safe-area-inset-right))}.modal{padding-inline:1.15rem}.modal h2{font-size:clamp(2.35rem,12vw,3.4rem)}.modal h3{letter-spacing:.06em}.clip,.key,.text-button{padding:.65rem .85rem}.close{min-height:2.75rem;padding:.45rem .15rem;font-size:1rem}.window-bar{flex-wrap:wrap}.tip{max-width:70vw}}@media (prefers-reduced-motion:reduce){.tip,.desktop.capturing .window,.key:hover,.closing-note,.paper h3 .hot,.contact-line a[href*=linkedin\.com],.get-in-touch-button.hot,.paper h3 .hot:after,.contact-line a[href*=linkedin\.com]:after,.get-in-touch-button.hot:after{transition:none;animation:none;transform:none}}@media print{body{background:#fff}.desk{padding:0}body:before{display:none}.paper{box-shadow:none;width:auto}.tip,.modal-backdrop{display:none}}
