@font-face{font-family:Outfit;src:url(fonts/outfit.woff2) format('woff2');font-weight:700;font-display:swap}@font-face{font-family:DM;src:url(fonts/dm-sans.woff2) format('woff2');font-display:swap}@font-face{font-family:Mono;src:url(fonts/space-mono.woff2) format('woff2');font-weight:400;font-display:swap}
:root{--paper:#FFF4E5;--ink:#292657;--line:rgba(41,38,87,.24);--coral:#FC6849;--mint:#C1EBD4;--peach:#F4AA91}:root[data-theme=dark]{--paper:#292657;--ink:#FFF4E5;--line:rgba(255,244,229,.25)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:DM,sans-serif;line-height:1.3}#grid{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}.skip{position:fixed;top:8px;left:8px;transform:translateY(-150%);z-index:9;background:var(--coral);color:#292657;padding:10px;border-radius:8px}.skip:focus{transform:none}
.masthead{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,64px);border-bottom:1px solid var(--line)}.wordmark{display:block;width:150px;text-decoration:none}.wordmark img,.footer-logo{width:150px;height:auto}.logo-light{display:block}.logo-dark{display:none}:root[data-theme=dark] .logo-light{display:none}:root[data-theme=dark] .logo-dark{display:block}.titleblock{font:10px/1.5 Mono,monospace;display:flex;align-items:center;gap:18px}.theme{border:1px solid var(--ink);border-radius:20px;background:none;color:var(--ink);font:9px Mono;padding:3px 7px 3px 3px;display:flex;gap:6px;align-items:center;cursor:pointer}.theme i{display:block;width:16px;height:16px;border-radius:50%;background:var(--coral)}.theme b{font:inherit}
.hero{min-height:calc(100vh - 80px);display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:clamp(30px,7vw,110px) clamp(20px,7vw,120px);gap:5vw}.kicker{font:10px Mono;letter-spacing:.08em;margin:0 0 20px;color:var(--ink)}h1,h2{font:700 clamp(44px,6.2vw,100px)/.93 Outfit,sans-serif;letter-spacing:-.02em;word-spacing:.06em;margin:0}h1 em,h2 em{font-style:normal;color:var(--coral)}.support{font-size:clamp(17px,2vw,23px);margin:25px 0 42px}.jump{display:inline-flex;gap:16px;border-bottom:1px solid var(--ink);padding-bottom:7px;color:var(--ink);text-decoration:none;font:11px Mono}.jump span{color:var(--coral);font-size:16px}.drawing-wrap{max-width:590px;width:100%;justify-self:center}.drawing{width:100%;overflow:visible;color:var(--ink)}.guides{fill:none;stroke:var(--line);stroke-width:1.25}.guides text,.exploded-dimensions text{fill:var(--ink);stroke:none;font:9px Mono;text-anchor:middle}.dimension{stroke-dasharray:4 5}.plate{pointer-events:none;opacity:0}:root[data-theme=dark] .plate{display:none}.petals{transform:translate(300px,300px)}.petal{stroke:var(--ink);stroke-width:2;stroke-linejoin:round;stroke-dasharray:850;stroke-dashoffset:850;transition:fill-opacity .3s,stroke-opacity .3s,transform .12s,stroke-dashoffset .45s}.dot{opacity:0;transition:opacity .25s}.exploded-dimensions{opacity:0;transition:opacity .15s}.exploded-dimensions path{stroke:var(--coral);stroke-width:1.5;fill:none;marker-start:url(#arrow);marker-end:url(#arrow)}.scrubber{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;font:10px Mono;margin:0 8%}.scrubber input{accent-color:var(--coral);min-height:32px;cursor:ew-resize}
.products{border-top:1px solid var(--line);padding:clamp(50px,9vw,130px) 0 0}.product-intro{padding:0 clamp(20px,7vw,120px);display:grid;grid-template-columns:1fr 1.8fr 1fr;align-items:end}.product-intro p:last-child{font:10px Mono;text-align:right}.sticky{height:76vh;min-height:480px;position:sticky;top:0;display:grid;grid-template-columns:1fr minmax(200px,360px);gap:30px;align-items:center;padding:20px clamp(20px,7vw,120px);background:var(--paper)}.module-frame{height:min(55vw,470px);max-height:68vh;border:1px solid var(--ink);border-radius:24px;position:relative;overflow:hidden;display:grid;place-items:center}.module-frame:before,.module-frame:after{content:"";position:absolute;background:var(--line)}.module-frame:before{height:1px;width:100%;top:50%}.module-frame:after{width:1px;height:100%;left:50%}#module-name{position:absolute;left:28px;top:24px;max-width:calc(100% - 56px);font:700 clamp(26px,3.6vw,52px) Outfit,sans-serif;letter-spacing:-.02em;word-spacing:.06em;z-index:2;color:var(--ink);transition:opacity .2s}.module-geometry{position:relative;width:auto;min-width:0;height:78%;aspect-ratio:1;justify-self:end;align-self:center;margin:0 6% 0 0;left:auto;right:auto;top:auto;bottom:auto;transition:transform .4s}.product-mark{width:100%;height:100%;overflow:visible}.product-mark rect{stroke:var(--ink);stroke-width:2}.product-mark path{stroke-width:2;stroke-linejoin:round}.cross-lock{position:absolute;width:26px;height:26px;border:1px solid var(--coral);border-radius:50%;opacity:0;transition:opacity .2s}.cross-lock:before,.cross-lock:after{content:"";position:absolute;background:var(--coral)}.cross-lock:before{height:1px;width:46px;top:12px;left:-11px}.cross-lock:after{width:1px;height:46px;left:12px;top:-11px}#module-count{position:absolute;right:15px;bottom:12px;font:10px Mono}.inspector{border-left:1px solid var(--line);padding-left:30px;min-height:200px}.inspector h3{font:700 44px Outfit,sans-serif;letter-spacing:-.02em;word-spacing:.06em;margin:0 0 15px}.inspector p:not(.kicker){font-size:16px;max-width:25ch}.inspector a{color:var(--ink);font:10px Mono;border-bottom:1px solid var(--coral);padding-bottom:4px;text-decoration:none}.clover{width:76px;height:76px;margin-top:24px}.clover svg{width:100%;height:100%;display:block}.product-scroll{height:450vh;margin-top:-76vh;position:relative;pointer-events:none}.product-stop{height:20%;display:flex;align-items:center;padding-left:8vw}.product-stop button{pointer-events:auto;font:11px Mono;background:var(--paper);color:var(--ink);border:1px solid var(--ink);border-radius:20px;padding:9px 13px;cursor:pointer}.product-stop button:focus-visible,.theme:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--coral);outline-offset:4px}
.philosophy{border-top:1px solid var(--line);padding:clamp(60px,10vw,150px) clamp(20px,7vw,120px);display:grid;grid-template-columns:1fr 2fr;gap:6vw}.notes{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;font-size:clamp(16px,1.5vw,21px)}.notes p{margin:0}.list{padding:0 clamp(20px,7vw,120px) 90px}.list ul{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.list li{border-bottom:1px solid var(--line);padding:17px 0;display:flex;justify-content:space-between;align-items:center;font:700 clamp(27px,4vw,52px) Outfit,sans-serif;letter-spacing:-.02em;word-spacing:.06em}.list a{color:var(--ink);text-decoration:none}.list small{font:10px Mono;letter-spacing:0;color:var(--coral)}footer{border-top:1px solid var(--line);padding:24px clamp(20px,4vw,64px);font:17px DM;display:flex;align-items:center;gap:6px}#coords{position:fixed;right:24px;bottom:18px;font:10px Mono;pointer-events:none;background:var(--paper);padding:6px;border:1px solid var(--line)}
@media(max-width:700px){.masthead{height:68px}.titleblock>span{display:none}.hero{grid-template-columns:1fr;min-height:auto;padding-top:56px}.drawing-wrap{max-width:420px}.guides text{display:none}.sticky{height:72vh;min-height:500px;grid-template-columns:1fr;padding:10px 20px}.module-frame{height:52vh;max-height:420px}.module-geometry{width:58%;min-width:0}.inspector{border-left:0;border-top:1px solid var(--line);padding:12px 0;min-height:100px}.inspector .kicker,.clover{display:none}.inspector h3{font-size:31px;display:inline;margin-right:10px}.inspector p:not(.kicker){display:inline;font-size:14px}.inspector a{display:block;width:max-content;margin-top:8px}.product-intro{grid-template-columns:1fr;padding-bottom:24px}.product-intro p:last-child{text-align:left;margin:16px 0 0}.product-scroll{height:400vh;margin-top:-72vh}.philosophy{grid-template-columns:1fr}.notes{grid-template-columns:1fr;gap:22px}.list li{font-size:35px}#coords{display:block;right:12px;bottom:12px;font-size:9px}.exploded-dimensions text{display:none}}@media(max-width:760px){.module-geometry{height:62%;justify-self:center;align-self:end;margin:0 0 6% 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.petal{transition:none;stroke-dashoffset:0}.product-scroll{height:auto;margin:0}.sticky{position:relative;height:auto}.product-stop{height:auto;padding:12px 20px}.module-frame{height:350px}.guides{opacity:1}}
footer{border-top:1px solid var(--line);padding:clamp(48px,7vw,100px) clamp(20px,7vw,120px) 72px;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,1.3fr);gap:clamp(48px,8vw,140px)}footer .kicker{margin-bottom:20px}.endorse{display:flex;align-items:center;gap:6px;margin:0;font:17px DM,sans-serif}.footer-tagline{margin:18px 0 0;font:700 clamp(26px,3vw,42px)/1 Outfit,sans-serif;letter-spacing:-.02em;word-spacing:.06em;max-width:15ch;text-wrap:balance}.footer-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 48px;align-content:start}.footer-products{grid-column:span 2}.footer-label{margin:0 0 10px;font:10px Mono,monospace;letter-spacing:.08em}.footer-products ul{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.footer-products li{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,1.6fr);gap:12px;border-bottom:1px solid var(--line);align-items:center}.footer-product-name{font:700 clamp(20px,2vw,30px)/1 Outfit,sans-serif;letter-spacing:-.02em;display:inline-flex;align-items:center;min-height:44px}.footer-product-links{display:flex;flex-wrap:wrap;gap:0 12px}.footer-site,.footer-contact{display:flex;flex-direction:column;align-items:flex-start}.footer-content a{color:var(--ink);text-decoration:none;min-height:44px;display:inline-flex;align-items:center;width:max-content;max-width:100%;overflow-wrap:anywhere}.footer-product-links a{font:10px Mono,monospace}.footer-content a:hover,.footer-content a:focus-visible{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.footer-content a:focus-visible{outline:3px solid var(--coral);outline-offset:3px}.footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;gap:20px;font:10px Mono,monospace}@media(max-width:700px){footer{grid-template-columns:1fr;gap:48px;padding-top:56px}.footer-content{grid-template-columns:1fr;gap:30px}.footer-products{grid-column:auto}.footer-products li{grid-template-columns:1fr;gap:0;padding:4px 0 8px}.footer-product-links{gap:0 16px}.footer-bottom{grid-column:auto;flex-direction:column;gap:8px}.endorse{flex-wrap:wrap}}
