/* the dwg studio - shared styles */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap');
:root{--paper:#F5F4EF;--ink:#16181D;--muted:#5D6168;--line:#DEDCD3;--soft:#ECEAE3;--blue:#2E5BFF;--blue2:#1E45E0;--orange:#E4572E;--white:#fff}
*{box-sizing:border-box}
html,body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,sans-serif}
a{color:var(--ink)}a:hover{color:var(--blue)}
.wrap{min-height:100vh;display:flex;flex-direction:column}
header.top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:18px clamp(16px,4vw,48px);border-bottom:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo span{font:700 19px 'Space Grotesk',sans-serif;letter-spacing:-.02em}
nav.main{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px;font-size:14px;font-weight:500}
nav.main a{text-decoration:none}nav.main a.on{color:var(--blue)}
.pill{padding:10px 16px;border:1px solid var(--ink);border-radius:999px;background:transparent;font:500 14px Inter,sans-serif;color:var(--ink);cursor:pointer;text-decoration:none}
.btn{border:0;border-radius:999px;background:var(--blue);color:#fff;font:600 15px Inter,sans-serif;padding:14px 22px;min-height:48px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.btn:hover{background:var(--blue2);color:#fff}.btn[disabled]{opacity:.5;cursor:default}
.ghost{border:1px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font:600 15px Inter,sans-serif;padding:13px 20px;min-height:48px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.ghost:hover{background:var(--ink);color:var(--paper)}
.eyebrow{margin:0;font:500 13px 'JetBrains Mono',monospace;letter-spacing:.12em;color:var(--muted)}
h1.big{margin:0;font:700 clamp(38px,6vw,76px)/1.02 'Space Grotesk',sans-serif;letter-spacing:-.035em}
h1.mid{margin:0;font:700 clamp(32px,4.5vw,58px)/1.05 'Space Grotesk',sans-serif;letter-spacing:-.03em}
.lead{margin:0;font-size:18px;line-height:1.5;color:var(--muted)}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}
.dark{background:var(--ink);color:var(--paper);border-radius:18px;padding:18px}
.mono{font-family:'JetBrains Mono',monospace}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
input[type=text],input[type=email],input[type=tel]{border:1px solid #C9C7BF;border-radius:12px;font:400 15px Inter,sans-serif;padding:12px 14px;min-height:46px;color:var(--ink);background:#fff;width:100%}
input:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.dark input{background:#22252B;border-color:var(--muted);color:var(--paper)}
.chip{border:1px solid var(--paper);background:transparent;color:var(--paper);border-radius:999px;padding:10px 16px;min-height:44px;font:500 14px Inter,sans-serif;cursor:pointer}
.chip:hover,.chip.on{background:var(--paper);color:var(--ink)}
.err{color:var(--orange);font-size:14px;margin:0}
.wall{fill:none;stroke:var(--ink);stroke-width:7;stroke-dasharray:1400;stroke-dashoffset:1400;animation:draw 2.2s ease-out forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.loop .wall{stroke-width:9;animation:drawloop 4.8s ease-in-out infinite}
.loop .d2{animation-delay:.3s}.loop .d3{animation-delay:.6s}
@keyframes drawloop{0%{stroke-dashoffset:1400}45%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:0;opacity:0}}
.loop .furn{fill:none;stroke:var(--muted);stroke-width:2.4;animation:fadeloop 4.8s ease-in-out infinite}
@keyframes fadeloop{0%,50%{opacity:0}62%,88%{opacity:1}100%{opacity:0}}
.pulse{animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,100%{opacity:.35}50%{opacity:1}}
.feedline{animation:rise .45s ease-out both;display:flex;gap:10px;font:400 13px/1.45 'JetBrains Mono',monospace}
@keyframes rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
footer.foot{padding:28px clamp(16px,4vw,48px);border-top:1px solid var(--line);font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between}
footer.foot a{color:var(--muted)}
[hidden]{display:none !important}
