@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#244a37;--paper:#eeebdf;--muted:#7e8475}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid #759849;outline-offset:5px}#studio{position:relative;min-height:720px;height:100svh;overflow:hidden;background:radial-gradient(ellipse at 45% 35%,#f4f1e7,#e7e4d7)}#floor{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab}#floor.cutting{cursor:crosshair}#floor.grabbing{cursor:grabbing}header{position:absolute;top:0;left:0;right:0;padding:28px 42px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.brand,.about-button{pointer-events:auto}.brand{font-size:27px;letter-spacing:-1.3px;font-weight:800;text-decoration:none;color:var(--ink);display:flex;gap:8px;align-items:center}.brand-mark{font-size:47px;font-weight:400;line-height:25px;transform:rotate(-12deg);margin-right:3px}.brand-dot{font-size:6px;align-self:start;padding-top:6px}.header-caption{font-size:9px;font-weight:600;letter-spacing:1.7px;line-height:1.65;margin-left:-75px}.about-button{border:1px solid #aab3a0;padding:12px 15px;background:#f4f2e680;color:var(--ink);font-size:11px;border-radius:3px}.about-button span{margin-left:22px}.hero-copy{position:absolute;top:137px;left:0;right:0;text-align:center;pointer-events:none}.eyebrow{font-size:9px;letter-spacing:2.3px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px}.eyebrow i,.live-dot{height:5px;width:5px;background:#648954;border-radius:50%;display:inline-block}h1{font-family:Manrope,sans-serif;font-size:clamp(42px,4.2vw,66px);font-weight:500;letter-spacing:-3px;line-height:1.04;margin:21px 0 16px}h1 em,h2 em{font-family:Georgia,serif;font-weight:400;color:#69805b;letter-spacing:-2.5px}.hero-copy p{font-size:12px;line-height:1.8;color:#7a8070}.board-label{position:absolute;left:42px;top:365px;display:flex;align-items:center;gap:8px;font-family:monospace;font-size:8px;letter-spacing:1px;pointer-events:none;color:#6b7663}.rule{width:28px;height:1px;background:#b2b8a5;margin:0 3px}.material-card{position:absolute;left:42px;bottom:125px;pointer-events:none;max-width:190px;display:flex;flex-direction:column;gap:8px}.material-eyebrow{font-family:monospace;font-size:8px;letter-spacing:1.3px;color:#8b907f}.material-card strong{font-weight:500;font-size:14px}.material-card #material-detail{font-size:10px;line-height:1.65;color:#7a8371}.gesture-note{position:absolute;right:38px;top:355px;font-family:Georgia,serif;font-style:italic;font-size:14px;color:#8f9680;transform:rotate(6deg);pointer-events:none}.gesture-note svg{width:85px;height:45px;display:block;margin-left:70px;fill:none;stroke:#8f9680;stroke-width:1}.tool-area{position:absolute;bottom:66px;left:50%;transform:translateX(-50%);text-align:center}.hint{font-size:10px;letter-spacing:.3px;color:#737d69;margin-bottom:15px;white-space:nowrap}.toolbar{display:flex;align-items:center;gap:5px;padding:7px;background:#faf9f1ef;border:1px solid #fff;border-radius:11px;box-shadow:0 4px 8px #24351b08,0 14px 32px #24351b12;white-space:nowrap}.tool{height:43px;border:0;background:transparent;border-radius:6px;color:#52624a;display:flex;align-items:center;gap:9px;padding:0 15px;font-size:11px}.tool svg{height:17px;width:17px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round}.tool.active{background:#264a37;color:#f4f2df}.tool:hover:not(.active){background:#e5e9d9}.tool kbd{font-family:inherit;font-size:8px;opacity:.55;border:1px solid currentColor;padding:1px 4px;border-radius:3px;margin-left:6px}.divider{height:22px;width:1px;background:#dfe2d5;margin:0 2px}.spark{font-size:19px;color:#8da069;margin-left:4px}.reset{padding:0 12px}footer{position:absolute;bottom:23px;left:42px;right:42px;display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.5px;color:#89917c;pointer-events:none}.tiny-flower{font-size:15px;margin:0 12px}.footer-right{display:flex;align-items:center}dialog{color:var(--ink);border:1px solid #d1d7c5;background:#f5f2e7;padding:42px;max-width:500px;width:calc(100% - 40px);box-shadow:0 30px 100px #18351f40}dialog::backdrop{background:#18351f55;backdrop-filter:blur(5px)}dialog .eyebrow{justify-content:start;font-size:8px}h2{font-size:49px;line-height:1.06;font-weight:500;letter-spacing:-2px;margin:24px 0}dialog p,dialog li{font-size:12px;line-height:1.85;color:#6b7860}dialog ul{padding-left:16px}dialog li{padding:5px 0}.close{position:absolute;right:17px;top:10px;border:0;background:none;font-size:28px;color:var(--ink)}.start{background:var(--ink);color:#f7f4e7;border:0;padding:13px 24px;margin-top:10px}.dialog-note{font-size:10px!important;border-top:1px solid #d6d9c9;padding-top:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:700px){#studio{min-height:660px}header{padding:23px}.brand{font-size:23px}.brand-mark{font-size:36px}.header-caption{display:none}.about-button{font-size:9px;padding:10px}.about-button span{margin-left:7px}.hero-copy{top:119px}.hero-copy h1{font-size:45px;letter-spacing:-2px}.hero-copy p{font-size:10px}.eyebrow{font-size:7px;letter-spacing:1.7px}.board-label{left:23px;top:320px;font-size:7px}.gesture-note{display:none}.material-card{left:23px;bottom:150px;max-width:135px}.material-card strong{font-size:12px}.material-card #material-detail{font-size:9px}.material-eyebrow{font-size:7px}.tool-area{bottom:66px}.tool{padding:0 11px;gap:6px;font-size:10px}.tool kbd{display:none}.toolbar{gap:2px;padding:6px}.spark{display:none}.hint{font-size:9px}.reset{padding:0 10px}footer{left:23px;right:23px;font-size:6px;letter-spacing:1px}.footer-right{max-width:160px}.tiny-flower{margin:0 8px}.divider{margin:0}dialog{padding:30px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* Green Print identity and contact card */
.brand-logo{display:block;width:245px;height:auto;max-width:100%;mix-blend-mode:multiply}.header-actions{display:flex;gap:9px;pointer-events:auto}.contact-button{background:#244a37;color:#f5f2e7;border-color:#244a37}.contact-logo{display:block;width:270px;max-width:100%;height:auto;mix-blend-mode:multiply;margin:0 0 27px}.contact-details{border-top:1px solid #d3d8c7;padding-top:23px}.contact-label{display:block;font-size:8px;letter-spacing:1.6px;color:#7c876f;margin-bottom:9px}.contact-details address{font-style:normal;font-size:15px;line-height:1.7}.contact-numbers{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0}.contact-numbers a{font-size:15px;color:var(--ink);text-decoration:none;border-bottom:1px solid #b8c1a8;padding-bottom:4px}.location-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px;background:var(--ink);color:#f4f1e4;text-decoration:none;font-size:11px}.location-link:hover{background:#376548}.location-link svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.4}.location-caption{font-size:10px!important;margin-bottom:0}.header-caption{margin-left:0}@media(max-width:850px){.header-caption{display:none}}@media(max-width:700px){.brand-logo{width:190px}.header-actions{gap:6px}.header-actions .about-button{font-size:8px;padding:9px}.header-actions .about-button span{margin-left:3px}.contact-numbers a{font-size:14px}}@media(max-width:460px){header{padding:20px}.brand-logo{width:155px}.header-actions #about-open{font-size:0;padding:8px}.header-actions #about-open span{font-size:13px;margin:0}.hero-copy{top:112px}.contact-numbers{gap:12px}}

.contact-email{margin:0 0 25px}.contact-email a{color:var(--ink);font-size:14px;text-decoration:none;border-bottom:1px solid #b8c1a8;overflow-wrap:anywhere}#paper-view{width:min(760px,calc(100vw - 32px));max-width:760px;max-height:94svh;padding:28px;text-align:center;overflow:auto}#paper-view .eyebrow{justify-content:center}#paper-view h2{font-size:25px;letter-spacing:-.7px;margin:14px 0 20px}#paper-zoom{display:block;max-width:100%;margin:auto}#paper-view-detail{margin:16px 0 8px}#paper-view .zoom-note{font-size:10px;margin:0;color:#89917c}#paper-view[open]{animation:paper-reveal .22s ease-out}@keyframes paper-reveal{from{opacity:0;transform:scale(.94) rotate(-2deg)}to{opacity:1;transform:scale(1) rotate(0)}}@media(prefers-reduced-motion:reduce){#paper-view[open]{animation:none}}
