.hero-model{margin:0;overflow:hidden;border-radius:20px;background:#eaf0f8;border:1px solid #c3d4eb}.hero-model img,.project-card img,.kit-photo img{width:100%;display:block;aspect-ratio:1.95;object-fit:contain}.hero-model a,.project-card,.kit-photo{color:inherit;text-decoration:none}.hero-model figcaption{padding:15px 20px;display:flex;justify-content:space-between;gap:10px;background:#172b49;color:white;flex-wrap:wrap}.hero-model strong{color:#b9d3ff}.journey{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;background:#172b49;color:white;padding:30px;border-radius:18px}.journey small,.journey p{color:#cedeef}.journey h2{font-size:31px}.journey h3{font-size:21px}.journey p{margin-bottom:0}.project-card{background:white;border-radius:14px;overflow:hidden;border:1px solid #cad6e6;padding-bottom:18px}.project-card small,.project-card h3{display:block;margin:12px 16px 0}.project-card:hover,.kit:focus-within{border-color:#285be8}.project-card:hover h3,.kit-photo:hover h3{color:#285be8}.viewer{background:#e4edf9;border:1px solid #becfe6;padding:16px;border-radius:16px}.viewer canvas{display:block;width:100%;height:auto}.viewer label{margin:8px 0}.viewer input{vertical-align:middle}.steps li{margin:.75em 0}.kit-photo img{border-radius:10px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-block:18px}.filters button[aria-pressed=true]{background:#172b49;color:white}.kit[hidden]{display:none}.kit-photo h3{margin-bottom:10px}.stock-note{font-weight:650;color:#344f70}.catalogform .grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}.catalogform .kit details{margin-top:10px}.catalogform .kit .stock-note{margin-top:auto}#request{background:#edf3ff}.labgrid article{min-width:0}.work svg{max-width:100%}@media(max-width:800px){.journey{grid-template-columns:1fr 1fr}}@media(max-width:510px){.journey{grid-template-columns:1fr}.hero-model figcaption{font-size:10px}.viewer label select{display:block;width:100%}}

.kit-photo img{aspect-ratio:3/2;object-fit:cover}.packing{padding:clamp(14px,3vw,34px);background:#113e30;color:#fff;border-radius:20px}.packing h2{color:#f2f1dd}.packing small,.packing p{color:#d9e8d5}.packing .pack-unit{margin:20px 0;background:#a47a50;padding:8px 10px 12px;border-radius:10px;box-shadow:0 10px 15px #08231955}.pack-unit[hidden]{display:none}.pack-lid{display:flex;align-items:center;gap:16px;padding:10px 14px;background:#164934;border:3px solid #bda077;color:#f6f0de}.pack-lid b{font-size:27px}.pack-tray{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,145px),1fr));gap:8px;padding:9px;background:#d3b78f}.pocket{margin:0;min-width:0;overflow:hidden;background:#e5d5b7;border-radius:10px;box-shadow:inset 1px 2px 5px #836a4c}.pocket>div{display:flex;align-items:center;justify-content:center;height:90px;padding:5px;position:relative;overflow:hidden}.pocket>div:after{content:"";position:absolute;inset:3px;pointer-events:none;border:1px solid #ffffff99;border-radius:9px;background:linear-gradient(125deg,transparent 32%,#fffe 34%,transparent 35%,transparent 65%,#fff6 67%,transparent 71%)}.pocket img{width:0;flex:1;min-width:0;height:100%;object-fit:contain;mix-blend-mode:multiply}.pocket figcaption{padding:6px 8px 10px;font:600 13px/1.3 system-ui;color:#352a1b;letter-spacing:0}.pocket strong{white-space:nowrap}.pocket.waiting img{opacity:0}.pocket.landed img{animation:pack-down .55s ease-out}@keyframes pack-down{from{transform:translateY(-35%) scale(1.45);opacity:0}to{transform:none;opacity:1}}.kit-photo-list{display:grid;grid-template-columns:1fr 1fr;gap:5px}.kit-photo-list figure{margin:0;padding:5px;background:#edf1ed;border-radius:8px}.kit-photo-list img{max-width:100%;height:52px;object-fit:contain}.kit-photo-list figcaption{font:12px/1.3 system-ui;letter-spacing:0}.packing select{max-width:100%}.packing output{min-height:1.6em}
.box-download{display:block;background:#f7ecd9;color:#363328;padding:10px;font-weight:650}.assembly-electric{padding:12px 0}.assembly-electric .current-loop{margin:12px 0;flex-wrap:wrap}
.outcome-hero,.kit-outcome{margin:18px 0;background:white;border:1px solid #ced9e5;border-radius:16px;overflow:hidden}.outcome-hero img,.kit-outcome img{display:block;width:100%;height:auto;max-height:550px;object-fit:contain;background:#edece8}.outcome-hero figcaption,.kit-outcome figcaption{padding:10px 16px}.project-card img{object-fit:cover}

.academy-home{--ink:#142d25;--sage:#ebefe7;--line:#ced9cf;color:var(--ink)}body:has(.academy-home){background:#f8f8f2}body:has(.academy-home) header{background:#f8f8f2;border-color:#d4dbce}body:has(.academy-home) .brand b{background:#173d30}.academy-hero{display:grid;grid-template-columns:.93fr 1.07fr;gap:0;margin:28px 0 0;border-radius:20px;overflow:hidden;background:#112b23;color:#fbf9e9}.academy-hero .intro{padding:clamp(24px,4vw,56px);align-self:center}.academy-hero small{color:#c3e994}.academy-hero h1{font-size:clamp(43px,5.5vw,78px);letter-spacing:-.071em;line-height:.99;margin:22px 0}.academy-hero em{color:#ccf2a9}.academy-hero p{color:#d3e0d4;font-size:17px;line-height:1.48}.academy-hero .actions{margin-top:26px;gap:18px}.academy-hero .primary{background:#c8ef9b;border-color:#c8ef9b;color:#193128}.academy-hero .actions>a:not(.primary){color:#fff}.feature{min-width:0;position:relative;display:block;min-height:340px;overflow:hidden;color:white}.feature img{position:absolute;width:100%;height:100%;object-fit:cover}.feature span{position:absolute;inset:auto 0 0;padding:45px 20px 18px;background:linear-gradient(transparent,#0e1b16d9);display:flex;justify-content:space-between;align-items:center;gap:10px}.feature i{font-style:normal;font-size:13px}.academy-route{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:18px 2px;border-bottom:1px solid var(--line);font-size:14px}.academy-route b{color:#577446}.collection-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:18px}.collection-head a{color:#285c3d}.kit-collection{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(205px,100%),1fr));gap:16px}.compact-kit,.catalogform .kit{padding:0;border-radius:13px;overflow:hidden;background:#fff;border:1px solid #d6ded7;min-width:0}.kit-visual{position:relative;isolation:isolate;aspect-ratio:1.83;overflow:hidden;background:#eaf1f9}.kit-visual a,.kit-visual img{display:block;width:100%;height:100%}.kit-visual img{object-fit:cover}.kit-visual .kit-built{position:absolute;inset:0;opacity:0;transition:opacity .22s ease}.kit-visual.show-built .kit-built,.kit-visual a:focus-visible .kit-built{opacity:1}@media(hover:hover){.compact-kit:hover .kit-built,.kit:hover .kit-built{opacity:1}}.view-swap{position:absolute;right:6px;bottom:6px;border:1px solid #fff9;background:#183c2ce8;color:white;font-size:11px;line-height:1.1;padding:6px 8px;border-radius:20px}.kit-caption{display:flex;align-items:baseline;gap:8px;padding:12px}.kit-caption small{white-space:nowrap;font-size:10px;margin:0!important}.kit-caption a{font-weight:750;line-height:1.15;color:#1c3629;text-decoration:none}.catalogform .grid{grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));align-items:start}.catalogform .kit details{margin:0;padding:0 12px 8px;font-size:13px}.catalogform .kit .stock-note{margin:0;padding:5px 12px;color:#4b5d50;font-size:12px}.catalogform .kit>label{padding:7px 12px;background:#f1f5ee;font-size:13px}.catalogform .kit>label input{width:4em;padding:4px 7px}.case-studio{background:#f0eee6;color:#252e25;border:1px solid #ccc8bb;padding:clamp(16px,3vw,30px);overflow:hidden}.case-studio h2{color:#1b3428;margin:4px 0}.case-studio small{color:#526650}.case-head,.case-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.case-head select{font-size:14px}.case-scene{perspective:950px;display:grid;place-items:center;padding:42px 20px 38px;min-height:280px;isolation:isolate;background:radial-gradient(ellipse at 50% 80%,#a99b7b30,transparent 64%)}.case-shell{position:relative;width:min(68%,450px);max-height:420px;border:9px solid #9d7751;border-bottom:14px solid #775637;border-radius:9px;transform:rotateX(19deg) rotateZ(-5deg);background:#d7bf98;box-shadow:7px 14px 0 -4px #71573a,12px 28px 28px #42301e4d}.case-insert{position:absolute;inset:0;box-shadow:inset 0 3px 6px #76532980}.case-slot{position:absolute;display:grid;place-items:stretch;padding:1px}.case-slot:before{content:"";position:absolute;inset:2px;border-radius:5px;background:#b19771;box-shadow:inset 1px 2px 3px #6c513b75}.case-part{display:flex;position:relative;align-items:center;justify-content:center;min-width:0;min-height:0;opacity:0}.case-part img{width:0;flex:1;min-width:0;height:100%;object-fit:contain;mix-blend-mode:multiply}.case-part.seated{opacity:1;animation:drop-in .46s cubic-bezier(.22,.75,.28,1) var(--lag) backwards}@keyframes drop-in{from{opacity:0;transform:translate(12%,-65%) scale(1.28)}to{opacity:1;transform:none}}.case-cover{position:absolute;inset:-7px;display:grid;align-content:center;justify-items:center;background:repeating-linear-gradient(120deg,#194535 0 2px,#1a4938 2px 4px);color:#f5f3d7;border:3px solid #ad8a63;box-shadow:1px 4px 6px #38251866;transform-origin:50% 0;transition:transform .65s ease,opacity .5s;pointer-events:none}.case-cover b{font-size:clamp(32px,6vw,82px);letter-spacing:-.1em;line-height:1}.case-cover span{font:12px UbuntuMono,monospace;letter-spacing:.09em}.opened .case-cover{transform:rotateX(108deg);opacity:.76}.case-shell.sealed .case-insert:after{content:"";position:absolute;inset:0;background:linear-gradient(125deg,transparent 25%,#fff7 28%,transparent 29%,transparent 63%,#fff5 65%,transparent 69%);pointer-events:none}.case-studio .box-download{background:none;color:#2a4935;padding:0}.case-foot output{color:#314632;font-size:14px}.case-bom{margin-top:16px}.case-bom .kit-photo-list{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.case-bom summary{cursor:pointer}.case-foot button{color:#163a2b}
@media(max-width:720px){.academy-hero{grid-template-columns:1fr}.feature{min-height:220px}.academy-route{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;font-size:12px}.academy-route strong{grid-column:1/-1}.kit-collection,.catalogform .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kit-caption{display:block;padding:8px}.kit-caption a{display:block;font-size:14px}.view-swap{font-size:10px;padding:5px}.case-shell{width:88%}.case-scene{padding:30px 3px;min-height:200px}.catalogform .kit .stock-note{line-height:1.3}.case-head label,.case-head select{max-width:100%}.feature img{object-position:50% 58%}}@media(prefers-reduced-motion:reduce){.case-cover,.kit-visual img{transition:none}.case-part.seated{animation:none}}
.kit-visual.show-default .kit-built{opacity:0}.shop-intro{display:grid;grid-template-columns:1fr .95fr;gap:30px;align-items:center}.shop-intro h1{font-size:clamp(42px,5.2vw,70px)}.shop-intro em{color:#245c40}.shop-intro .primary{background:#174433;border-color:#174433}.shop-intro>a{overflow:hidden;border-radius:16px}.shop-intro img{display:block;width:100%;max-height:330px;object-fit:cover}@media(max-width:640px){.shop-intro{grid-template-columns:1fr;gap:12px}.shop-intro img{height:155px}.shop-intro p{margin:9px 0}.case-foot .box-download{font-size:13px}}
.case-scene{padding-top:clamp(84px,10vw,130px)}.case-studio .case-cover>*{backface-visibility:hidden}

.product-gallery .gallery-image { width:100%; height:clamp(220px,44vw,520px); object-fit:contain; background:#edece8; }
.product-gallery figcaption { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.gallery-options { display:flex; gap:6px; flex-wrap:wrap; }
.gallery-options button { display:flex; align-items:center; gap:6px; padding:4px 8px 4px 4px; background:#fff; color:#213e31; border:1px solid #cccfc9; border-radius:8px; font-size:13px; }
.gallery-options button[aria-pressed=true] { border-color:#236747; background:#e8f1e8; }
.gallery-options button img { width:48px; height:34px; object-fit:cover; border-radius:4px; }
@media(max-width:600px){.gallery-options button{flex-direction:column;padding:4px 8px}.gallery-options button img{width:54px;height:32px}}
