@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#283b34;font-synthesis:none;--bg:#f3f4ed;--surface:#fff;--accent:#355d44;--text:#283b34;--text-muted:#65716a;--border:#d8dfd4;--dark:#202b27;--lime:#d5ed9e;background:#f3f4ed;font-family:DM Sans,system-ui,sans-serif;line-height:1.65}*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-underline-offset:4px}a:hover{color:#152f22}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:4px;outline:3px solid #b28635}h1,h2,h3,.brand{letter-spacing:-.035em;font-family:Manrope,system-ui,sans-serif;line-height:1.2}h1{max-width:900px;margin:.8rem 0 1.4rem;font-size:clamp(2.7rem,6vw,5.2rem);font-weight:500;line-height:1.07}h2{margin:0 0 1rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:600}h3{margin:1.5rem 0 .6rem;font-size:1.1rem}p{margin:.6rem 0 1.2rem}section>p,.hero>p,.page-intro>p{max-width:850px;color:var(--text-muted)}.eyebrow{letter-spacing:.16em;margin:0 0 1rem;font-weight:700;color:var(--accent)!important;font-size:.72rem!important}.site-header{background:var(--dark);color:#f1f4ed}.header-inner{flex-wrap:wrap;align-items:center;gap:32px;max-width:1440px;min-height:92px;margin:auto;padding:18px 36px;display:flex}.brand{color:#f3f4ed;white-space:nowrap;align-items:center;gap:9px;font-size:1.45rem;font-weight:700;text-decoration:none;display:flex}.brand:hover{color:#fff}.brand-mark{background:var(--lime);width:34px;height:34px;color:var(--dark);border-radius:50%;place-items:center;font-family:Georgia,serif;font-size:1.55rem;font-style:italic;display:grid}.brand-sub{letter-spacing:.13em;white-space:normal;color:#a8b4aa;max-width:40px;margin-left:4px;font-family:DM Sans,sans-serif;font-size:.52rem;line-height:1.5}nav{flex:1;justify-content:center;gap:6px;display:flex}nav a{color:#c8d0c8;border-radius:7px;padding:9px 13px;font-size:.85rem;text-decoration:none}nav a[aria-current],nav a:hover{color:var(--lime);background:#334138}.account{align-items:center;gap:10px;font-size:.8rem;display:flex}.account>span:first-child{overflow-wrap:anywhere;max-width:190px}.badge{white-space:nowrap;letter-spacing:.06em;border:1px solid #b2c2a4;border-radius:20px;padding:4px 9px;font-size:.62rem;display:inline-block}.account .badge{color:var(--lime);border-color:#607451}.account form{margin:0}.logout{color:#edf2e7;background:0 0;border:0;border-bottom:1px solid #657764;padding:3px 0}.skip-link{z-index:10;background:#fff;padding:10px;position:absolute;top:-80px;left:10px}.skip-link:focus{top:10px}main{max-width:1240px;min-height:72vh;margin:auto;padding:56px 36px 24px}section{margin:0 0 64px}.hero{border-bottom:1px solid var(--border);margin-bottom:48px;padding:12px 0 56px}.hero>p:not(.eyebrow){max-width:680px;font-size:1.1rem}.hero-actions{flex-wrap:wrap;align-items:center;gap:28px;margin:28px 0 42px;display:flex}.button{background:var(--accent);color:#fff;border:0;border-radius:7px;justify-content:center;align-items:center;gap:24px;padding:13px 22px;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{color:#fff;background:#244732}.text-link{font-size:.9rem;font-weight:600}.spec-strip{flex-wrap:wrap;gap:60px;display:flex}.spec-strip>span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}.spec-strip strong{color:var(--text);letter-spacing:-.03em;font-size:1.5rem;font-weight:500;display:block}.parts-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px;margin-top:24px;display:grid}.part-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px;overflow:hidden}.part-card h3{margin:0 0 12px}.part-card p{color:var(--text-muted);font-size:.94rem}.details{background:#e9ede3;border-radius:9px;margin:22px 0;padding:22px;font-size:.9rem}dl{grid-template-columns:minmax(100px,150px) 1fr;gap:10px 20px;margin:0;display:grid}dt{color:var(--text-muted)}dd{margin:0}.part-card .details{margin:0 -6px -6px;padding:16px}.drawing-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:16px;display:grid}.drawing-card{border:1px solid var(--border);text-align:center;background:#fff;border-radius:10px;padding:16px;overflow:hidden}.drawing-card img{object-fit:contain;width:100%;height:220px;display:block}.drawing-card .label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.drawings{margin-top:28px}.drawings h3{margin-bottom:16px}.model-viewer{color:#e7eee6;background:#202b2b;border:1px solid #3d5149;border-radius:12px;margin:22px 0 0;overflow:hidden}.viewer-top{border-bottom:1px solid #3d5149;justify-content:space-between;gap:15px;padding:13px 18px;font-size:.75rem;display:flex}.viewer-top span:last-child{letter-spacing:.1em;color:#a8b8ad;font-size:.57rem}.viewer-canvas{touch-action:pan-y;min-width:0;height:380px}.viewer-canvas.assembly{height:500px}.viewer-canvas canvas{max-width:100%;display:block}.viewer-status{text-align:center;color:#bfcec0;min-height:32px;padding:5px 16px;font-size:.72rem}.viewer-controls{border-top:1px solid #3d5149;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:12px;display:flex}.viewer-controls button,.animation-controls button{color:#eff5e9;background:#33453a;border:1px solid #5c7062;border-radius:5px;min-height:38px;padding:8px 12px;font-size:.72rem}.viewer-controls button:hover,.animation-controls button:hover{background:#47604e}.viewer-controls a{color:var(--lime);padding:5px;font-size:.72rem}.animation-controls{border-top:1px solid #3d5149;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;padding:16px 18px;display:flex}.animation-controls label{align-items:center;gap:10px;font-size:.78rem;display:flex}.animation-controls input{accent-color:var(--lime);max-width:140px}.animation-controls label span{min-width:32px}.library{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:64px}.library section{margin:0;padding:22px}.library .model-viewer{border-width:1px 0 0;border-radius:0;margin:20px -22px}.part-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.part-heading h2{margin:0;font-size:1.5rem}.part-heading+p{min-height:80px;margin-top:14px}.design-note{background:#e4ebd9;border-left:3px solid #6e8952;border-radius:0 10px 10px 0;padding:28px}.design-note p{font-size:.9rem}.table-wrap{border:1px solid var(--border);background:#fff;border-radius:9px;max-width:100%;margin:18px 0 30px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.88rem}th,td{text-align:left;border-bottom:1px solid var(--border);padding:14px 16px}th{text-transform:uppercase;letter-spacing:.08em;color:#50604f;background:#e5eadd;font-size:.65rem}tr:last-child td{border-bottom:0}td a{white-space:nowrap}.total-line{padding:12px 0;font-size:.88rem}footer{border-top:1px solid var(--border);max-width:1440px;color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin:30px auto 0;padding:28px 36px;font-size:.72rem;display:flex}.footer-brand{color:var(--text);font-size:1.2rem;font-weight:700}.login-layout{grid-template-columns:1.15fr 1fr;align-items:center;gap:80px;min-height:66vh;padding:32px 0 48px;display:grid}.login-intro h1{font-size:clamp(2.7rem,5vw,4.3rem)}.login-intro>p:not(.eyebrow){color:var(--text-muted);max-width:460px}.login-spec{border-top:1px solid var(--border);letter-spacing:.12em;justify-content:space-between;margin-top:46px;padding-top:20px;font-size:.6rem;display:flex}.login-card{border:1px solid var(--border);background:#fff;border-radius:14px;margin:0;padding:36px}.login-card h2{font-size:1.8rem}.login-card>p{font-size:.88rem}.login-card form{margin-top:30px}.login-card label{margin-bottom:8px;font-size:.78rem;font-weight:600;display:block}.login-card input{width:100%;color:var(--text);background:#fafbf7;border:1px solid #bbc6b8;border-radius:6px;margin-bottom:20px;padding:12px}.login-card .button{justify-content:space-between;width:100%;margin-top:8px}.login-hint{color:var(--text-muted);margin:22px 0 0;font-size:.74rem!important}.error{color:#923720;background:#fff0e9;border-radius:6px;padding:12px;font-size:.85rem}@media (width<=1100px){.header-inner{gap:18px}nav{flex-basis:100%;order:3;justify-content:flex-start}.account{margin-left:auto}.login-layout{gap:36px}.spec-strip{gap:32px}}@media (width<=680px){main{padding:32px 18px 10px}.header-inner{gap:15px;padding:16px 18px}.brand-sub{display:none}.account{gap:7px;font-size:.65rem}.account>span:first-child{max-width:95px}.badge{padding:3px 6px}nav{justify-content:space-between;gap:2px}nav a{padding:8px;font-size:.75rem}.hero{padding-top:0}.spec-strip{gap:25px}.spec-strip strong{font-size:1.2rem}.spec-strip>span{font-size:.6rem}.hero-actions{gap:18px}.library{grid-template-columns:1fr}.viewer-canvas,.viewer-canvas.assembly{height:340px}.viewer-top{padding:12px;font-size:.7rem}.animation-controls{gap:12px}.animation-controls input{max-width:100px}.animation-controls label{font-size:.7rem}.login-layout{grid-template-columns:1fr;gap:30px;padding-top:0}.login-intro h1{font-size:2.6rem}.login-spec{display:none}.login-card{padding:24px}.login-intro>p:not(.eyebrow){margin-bottom:0}.part-card{padding:20px}section{margin-bottom:44px}dl{grid-template-columns:100px 1fr;gap:10px}.details{padding:16px}.drawing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.drawing-card{padding:8px}.drawing-card img{height:150px}footer{gap:12px;padding:24px 18px}footer span:last-child{flex-basis:100%}th,td{padding:11px 12px}table{min-width:500px}.design-note{padding:20px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.header-login{background:var(--lime);color:var(--dark);margin-left:auto;padding:11px 20px;font-size:.85rem}.header-login:hover{color:var(--dark);background:#e4f6bc}.landing-hero{border-bottom:1px solid var(--border);grid-template-columns:1.05fr 1fr;align-items:center;gap:48px;padding:12px 0 60px;display:grid}.landing-copy h1{font-size:clamp(3.3rem,6.2vw,5.4rem)}.landing-copy>p:not(.eyebrow){max-width:530px;color:var(--text-muted);font-size:1.06rem}.landing-copy .landing-caption{font-size:.72rem!important}.landing-copy .hero-actions{gap:24px;margin-bottom:28px}.landing-art{background:#e9eddf;border:1px solid #d9e0ce;border-radius:120px 120px 16px 16px;margin:0;padding:35px 24px 26px;overflow:hidden}.art-heading{letter-spacing:.12em;color:#5c7054;justify-content:space-between;gap:12px;padding:22px 14px 0;font-size:.52rem;display:flex}.landing-art img{width:100%;height:auto;display:block}.landing-art figcaption{text-align:center;color:#5b704f;font-family:Georgia,serif;font-size:1.1rem;font-style:italic}.landing-parts>p{max-width:680px}.landing-parts-grid{grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px;display:grid}.landing-part{border:1px solid var(--border);background:#fff;border-radius:12px;padding:24px 20px}.part-number{color:#5b7347;background:#eaf0df;border-radius:50%;place-items:center;width:38px;height:38px;font-size:.75rem;display:grid}.landing-part h3{margin-top:25px;font-size:1.1rem}.landing-part p{color:var(--text-muted);margin-bottom:0;font-size:.9rem}.landing-how{background:#e8ecdf;border-radius:16px;grid-template-columns:1fr 1.2fr;gap:70px;padding:48px;display:grid}.landing-how p{color:var(--text-muted);font-size:.95rem}.landing-steps{counter-reset:step;margin:0;padding:0;list-style:none}.landing-steps li{counter-increment:step;border-bottom:1px solid #ced7c4;margin-bottom:20px;padding:0 0 20px 50px;position:relative}.landing-steps li:last-child{border:0;margin-bottom:0;padding-bottom:0}.landing-steps li:before{content:"0" counter(step);color:#647d50;font-size:.85rem;position:absolute;top:0;left:0}.landing-steps h3{margin:0 0 8px}.landing-steps p{margin:0}.landing-cta{justify-content:space-between;align-items:center;gap:50px;padding:12px 0;display:flex}.landing-cta p:not(.eyebrow){max-width:670px;color:var(--text-muted)}.landing-cta .button{flex-shrink:0}@media (width<=900px){.landing-hero{gap:28px}.landing-parts-grid{grid-template-columns:repeat(2,1fr)}.landing-art{padding:24px 12px}.art-heading{font-size:.45rem}.landing-how{gap:32px;padding:32px}}@media (width<=680px){.landing-hero{grid-template-columns:1fr;padding-bottom:36px}.landing-copy h1{font-size:3.65rem}.landing-art{justify-self:center;width:100%;max-width:440px}.landing-parts-grid{gap:12px}.landing-part{padding:20px 15px}.landing-how{grid-template-columns:1fr;gap:24px;padding:24px}.landing-cta{flex-direction:column;align-items:flex-start;gap:16px}.header-login{padding:9px 16px}.landing-copy .hero-actions{gap:18px}}
