/* Stack Foundry: sunlit Bauhaus modules, hard-edged colour fields, tool dock and architectural assembly. */
:root{--terra:#d85c41;--yellow:#f1bd37;--blue:#244ec7;--spruce:#285b4b;--bone:#f4f0e8;--graph:#20211f;--white:#fff;--line:rgba(32,33,31,.25);--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--graph);background:var(--bone);font:400 17px/1.55 "DM Sans",sans-serif;overflow-x:hidden}button,input,select,textarea{font:inherit}a,button{color:inherit}a{text-decoration:none}img{display:block;width:100%;height:auto}.build-label{margin:0;font:500 .66rem "Roboto Mono",monospace;letter-spacing:.08em;text-transform:uppercase}.foundry-header{position:sticky;top:0;z-index:100;display:grid;grid-template-columns:auto 1fr auto;align-items:center;min-height:70px;background:var(--bone);border-bottom:1px solid var(--graph)}.brand{display:flex;align-items:center;gap:.7rem;height:70px;padding:0 1.2rem;border-right:1px solid var(--graph);font:700 1.12rem "Bricolage Grotesque",sans-serif}.brand img{width:38px;height:38px;object-fit:contain}.foundry-header>p{display:flex;justify-content:space-between;margin:0;padding:0 2rem;font:500 .66rem "Roboto Mono",monospace;text-transform:uppercase}.header-contact{display:flex;align-items:center;gap:.8rem;height:70px;padding:0 1.3rem;color:var(--white);background:var(--terra);font-weight:700}.mobile-tools{display:none}.tool-dock{position:fixed;z-index:90;left:50%;bottom:14px;display:flex;padding:6px;background:var(--graph);transform:translateX(-50%);box-shadow:0 18px 40px rgba(0,0,0,.25)}.tool-dock button,.tool-dock a{display:grid;justify-items:center;gap:.2rem;min-width:90px;padding:.65rem;border:0;border-right:1px solid #555;color:var(--bone);background:transparent;font-size:.7rem}.tool-dock a{color:var(--graph);background:var(--yellow)}.tool-dock i{font-size:1rem}.foundry-hero{position:relative;display:grid;grid-template-columns:.78fr 1.22fr;min-height:760px;background:var(--bone)}.hero-placard{display:flex;justify-content:center;flex-direction:column;padding:6vw;border-right:1px solid var(--graph)}.hero-placard h1,.bench-intro h2,.composer>header h2,.joint-copy h2,.delivery-copy h2,.quality-wall h2,.operation-bench h2,.maintenance h2,.bench-questions h2,.handoff h2{margin:1rem 0;font:600 clamp(3.4rem,6vw,7.2rem)/.86 "Bricolage Grotesque",sans-serif;letter-spacing:-.065em}.hero-placard>p:not(.build-label){max-width:590px}.hero-actions{display:flex;gap:.7rem;margin:2rem 0}.hero-actions a,.hero-actions button{min-height:52px;padding:0 1rem;border:1px solid var(--graph);background:transparent;font-weight:700}.hero-actions a{color:var(--white);background:var(--blue)}.hero-placard dl{display:grid;grid-template-columns:1fr 1fr;margin:1.2rem 0 0;border-top:1px solid var(--graph)}.hero-placard dl div{padding:1rem 1rem 0 0}.hero-placard dt{font:500 .62rem "Roboto Mono",monospace;text-transform:uppercase}.hero-placard dd{margin:.3rem 0 0;font-weight:600}.foundry-hero>figure{position:relative;margin:0;background:var(--yellow)}.foundry-hero>figure img{height:100%;min-height:760px;object-fit:cover}.foundry-hero figcaption{position:absolute;right:0;bottom:0;display:grid;min-width:320px;padding:1rem 1.2rem;color:var(--white);background:var(--spruce)}.foundry-hero figcaption span{font:500 .62rem "Roboto Mono",monospace}.pegboard{position:absolute;left:0;bottom:0;width:14%;height:90px;background:radial-gradient(circle,var(--graph) 1.3px,transparent 1.4px) 0 0/14px 14px}.bench-intro{padding:8rem 4vw}.bench-intro>p,.bench-intro>h2{max-width:1260px;margin-left:auto;margin-right:auto}.bench-grid{display:grid;grid-template-columns:1.1fr .8fr 1.1fr;max-width:1320px;margin:4rem auto 0}.bench-grid article{display:flex;min-height:410px;padding:2rem;flex-direction:column;border:1px solid var(--graph)}.bench-grid article:nth-child(2){transform:translateY(45px)}.bench-grid .terracotta{background:var(--terra)}.bench-grid .yellow{background:var(--yellow)}.bench-grid .blue{color:var(--white);background:var(--blue)}.bench-grid article>span{font:500 .65rem "Roboto Mono",monospace}.bench-grid article>i{margin:auto 0;font-size:3rem}.bench-grid h3{margin:0 0 .8rem;font:600 2rem/1 "Bricolage Grotesque",sans-serif}.composer{padding:8rem 4vw;color:var(--white);background:var(--spruce)}.composer>header{display:grid;grid-template-columns:.35fr 1fr .55fr;gap:3rem;align-items:end;max-width:1320px;margin:auto}.composer>header h2{margin:0}.composer-board{display:grid;grid-template-columns:.36fr 1.1fr .8fr;max-width:1320px;margin:4rem auto 0;background:var(--bone)}.layer-tools{display:grid;background:var(--yellow)}.layer-tools button{display:grid;grid-template-columns:40px 1fr;align-content:center;min-height:120px;padding:1rem;border:0;border-bottom:1px solid var(--graph);text-align:left;background:transparent}.layer-tools button.active{color:var(--white);background:var(--blue)}.layer-tools span,.layer-tools small{font:500 .6rem "Roboto Mono",monospace}.layer-tools small{grid-column:2}.composer-board figure{position:relative;margin:0;padding:1.2rem;background:var(--bone)}.composer-board figure img{height:100%;min-height:650px;object-fit:cover}.composer-board figcaption{position:absolute;left:2rem;bottom:2rem;display:grid;padding:.8rem 1rem;color:var(--graph);background:var(--yellow)}.composer-board figcaption span{font:500 .6rem "Roboto Mono",monospace}.layer-note{display:flex;justify-content:center;flex-direction:column;padding:3rem;color:var(--graph);background:var(--terra)}.layer-note h3{margin:1rem 0;font:600 clamp(2.4rem,3.5vw,4.2rem)/.94 "Bricolage Grotesque",sans-serif}.layer-note dl{margin:2rem 0}.layer-note dl div{padding:.8rem 0;border-top:1px solid rgba(32,33,31,.5)}.layer-note dt{font:500 .6rem "Roboto Mono",monospace;text-transform:uppercase}.layer-note dd{margin:.3rem 0 0;font-weight:600}.layer-note a{width:max-content;border-bottom:2px solid var(--graph);font-weight:700}.joint-room{display:grid;grid-template-columns:.72fr 1.1fr .52fr}.joint-room figure{position:relative;margin:0}.joint-room figure img{height:100%;min-height:760px;object-fit:cover}.joint-room figcaption{position:absolute;left:1rem;bottom:1rem;padding:.7rem;color:var(--graph);background:var(--yellow);font:500 .6rem "Roboto Mono",monospace;text-transform:uppercase}.joint-copy{padding:7rem 5vw;background:var(--bone)}.joint-list{margin-top:3rem}.joint-list article{display:grid;grid-template-columns:50px .6fr 1fr;gap:1rem;padding:1rem 0;border-top:1px solid var(--line)}.joint-list span{font:500 .65rem "Roboto Mono",monospace;color:var(--terra)}.joint-list h3,.joint-list p{margin:0}.delivery-yard{display:grid;grid-template-columns:.95fr 1.05fr;background:var(--terra)}.delivery-copy{padding:7rem 5vw}.delivery-copy>p:not(.build-label){max-width:650px}.shelf{display:grid;grid-template-columns:1fr 1fr;margin-top:3rem;border-top:1px solid var(--graph)}.shelf article{padding:1rem;border-right:1px solid var(--graph);border-bottom:1px solid var(--graph)}.shelf span{font:500 .62rem "Roboto Mono",monospace}.shelf strong{display:block;margin:.4rem 0;font-size:1.3rem}.delivery-yard>figure{position:relative;margin:0;padding:2rem;background:var(--yellow)}.delivery-yard>figure img{height:100%;min-height:750px;object-fit:cover}.delivery-yard figcaption{position:absolute;right:2rem;bottom:2rem;display:grid;padding:1rem;color:var(--white);background:var(--spruce)}.delivery-yard figcaption span{font:500 .62rem "Roboto Mono",monospace}.quality-wall{padding:8rem 4vw;background:var(--blue);color:var(--white)}.quality-wall>header{display:grid;grid-template-columns:.4fr 1fr;gap:3rem;max-width:1320px;margin:auto}.quality-wall h2{margin:0}.quality-wall>figure{max-width:1320px;margin:3rem auto 0}.quality-wall>figure img{max-height:620px;object-fit:cover}.quality-bays{display:grid;grid-template-columns:repeat(4,1fr);max-width:1320px;margin:auto;color:var(--graph);background:var(--bone)}.quality-bays article{padding:1.5rem;border-right:1px solid var(--graph)}.quality-bays span{font:500 .62rem "Roboto Mono",monospace;color:var(--terra)}.quality-bays h3{font:600 1.5rem "Bricolage Grotesque",sans-serif}.operation-bench{display:grid;grid-template-columns:1.15fr .85fr;background:var(--bone)}.operation-bench figure{margin:0}.operation-bench figure img{height:100%;min-height:680px;object-fit:cover}.operation-bench>div{padding:7rem 5vw}.operation-bench li{padding:.7rem 0;border-top:1px solid var(--line)}.maintenance{display:grid;grid-template-columns:.65fr .85fr .5fr;background:var(--yellow)}.maintenance-copy{padding:6rem 4vw}.maintenance figure{margin:0;padding:2rem}.maintenance figure img{height:100%;min-height:570px;object-fit:cover}.maintenance aside{display:flex;justify-content:center;flex-direction:column;padding:2rem;color:var(--white);background:var(--spruce)}.maintenance aside h3{font:600 2rem "Bricolage Grotesque",sans-serif}.maintenance aside a{width:max-content;border-bottom:2px solid var(--yellow);font-weight:700}.bench-questions{display:grid;grid-template-columns:.68fr 1.32fr;padding:8rem 4vw;background:var(--bone)}.bench-questions>header{padding-right:4vw}.bench-questions label{display:flex;gap:.7rem;margin-top:2rem;padding:1rem;border:1px solid var(--graph)}.bench-questions input{width:100%;border:0;outline:0;background:transparent}.bench-questions>div{border-top:1px solid var(--graph)}.bench-questions details{border-bottom:1px solid var(--graph)}.bench-questions summary{display:grid;grid-template-columns:55px 1fr 20px;align-items:center;min-height:88px;list-style:none;cursor:pointer;font-weight:650}.bench-questions summary::-webkit-details-marker{display:none}.bench-questions summary span{font:500 .62rem "Roboto Mono",monospace;color:var(--terra)}.bench-questions summary i{position:relative;width:16px;height:16px}.bench-questions summary i:before,.bench-questions summary i:after{content:"";position:absolute;top:7px;width:16px;height:2px;background:var(--blue)}.bench-questions summary i:after{transform:rotate(90deg)}.bench-questions details[open] i:after{transform:rotate(0)}.bench-questions details p{padding:0 2rem 1.4rem 55px}.faq-empty a{border-bottom:1px solid}.handoff{display:grid;grid-template-columns:.9fr .55fr 1fr;background:var(--spruce);color:var(--white)}.handoff>figure{position:relative;margin:0}.handoff>figure img{height:100%;min-height:750px;object-fit:cover}.handoff figcaption{position:absolute;left:1rem;bottom:1rem;padding:.7rem;color:var(--graph);background:var(--yellow);font:500 .6rem "Roboto Mono",monospace}.handoff-copy{padding:6rem 2rem}.handoff-copy>a{display:inline-block;margin-top:1rem;border-bottom:1px solid}.handoff form{align-self:center;margin:3rem;padding:1rem;color:var(--graph);background:var(--bone)}.handoff label{display:grid;gap:.3rem;padding:.85rem;font:500 .64rem "Roboto Mono",monospace;text-transform:uppercase}.handoff input,.handoff select,.handoff textarea{width:100%;border:0;border-bottom:1px solid var(--graph);border-radius:0;outline:0;background:transparent;font:400 16px "DM Sans",sans-serif}.handoff input,.handoff select{height:42px}.handoff label>small{display:none;color:#a02424;font-family:"DM Sans",sans-serif;text-transform:none}.handoff label.invalid>small,.handoff .consent.invalid small{display:block}.handoff .consent{grid-template-columns:auto 1fr;font:400 .88rem "DM Sans",sans-serif;text-transform:none}.handoff .consent input{width:18px;height:18px}.handoff form>button{width:100%;min-height:52px;border:0;color:var(--white);background:var(--terra);font-weight:700}.success{padding:1rem;background:var(--yellow)}footer{display:grid;grid-template-columns:1fr 1fr auto auto;gap:2rem;align-items:center;padding:2rem 4vw 6rem;color:var(--white);background:var(--graph)}.footer-brand{display:flex;align-items:center;gap:.7rem;font:700 1.1rem "Bricolage Grotesque",sans-serif}.footer-brand img{width:36px;height:36px}.footer-brand+p{margin:0}footer nav{display:flex;gap:1rem}footer nav a{border-bottom:1px solid rgba(255,255,255,.4)}.cookie-dock{position:fixed;right:10px;bottom:84px;z-index:110;display:flex;gap:.35rem;padding:.4rem;background:var(--graph)}.cookie-dock button,.cookie-dock a{padding:.55rem .65rem;border:0;color:var(--graph);background:var(--yellow);font:500 .62rem "Roboto Mono",monospace}.reveal{opacity:1;transform:none}@media(prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(22px);transition:opacity .5s var(--ease),transform .5s var(--ease)}.reveal.visible{opacity:1;transform:none}}@media(max-width:900px){.foundry-header{grid-template-columns:1fr auto auto}.foundry-header>p{display:none}.brand{border:0}.mobile-tools{display:block;width:52px;height:52px;border:0;background:var(--yellow)}.tool-dock{top:70px;right:0;bottom:auto;left:0;display:none;grid-template-columns:repeat(5,1fr);transform:none;box-shadow:none}.tool-dock.open{display:grid}.tool-dock button,.tool-dock a{min-width:0;border-bottom:1px solid #555}.foundry-hero,.composer>header,.composer-board,.joint-room,.delivery-yard,.quality-wall>header,.operation-bench,.maintenance,.bench-questions,.handoff{grid-template-columns:1fr}.hero-placard{padding:5rem 1rem}.hero-placard h1{font-size:4rem}.foundry-hero>figure img{min-height:auto;aspect-ratio:4/3}.pegboard{display:none}.bench-intro,.composer,.quality-wall,.bench-questions{padding:5rem 1rem}.bench-grid{grid-template-columns:1fr}.bench-grid article:nth-child(2){transform:none}.composer>header{gap:1rem}.layer-tools{grid-template-columns:1fr 1fr}.layer-tools button{min-height:95px}.composer-board figure img{min-height:auto;aspect-ratio:4/3}.layer-note,.joint-copy,.delivery-copy,.operation-bench>div,.maintenance-copy,.handoff-copy{padding:4rem 1rem}.joint-room figure img,.delivery-yard>figure img,.operation-bench figure img,.maintenance figure img,.handoff>figure img{min-height:auto;aspect-ratio:4/3}.core{display:none}.quality-bays{grid-template-columns:1fr 1fr}.quality-bays article{border-bottom:1px solid var(--graph)}.maintenance aside{min-height:280px}.bench-questions>header{padding:0 0 2rem}.handoff form{margin:1rem 1rem 4rem}footer{grid-template-columns:1fr;padding:2rem 1rem 6rem}.cookie-dock{right:8px;bottom:8px}.tool-dock~main{} }@media(max-width:540px){.brand span{font-size:.95rem}.header-contact{padding:0 .9rem}.hero-placard h1,.bench-intro h2,.composer>header h2,.joint-copy h2,.delivery-copy h2,.quality-wall h2,.operation-bench h2,.maintenance h2,.bench-questions h2,.handoff h2{font-size:3.25rem}.hero-actions{flex-direction:column}.hero-placard dl{grid-template-columns:1fr}.quality-bays{grid-template-columns:1fr}.layer-note{padding:2rem 1rem}.joint-list article{grid-template-columns:35px 1fr}.joint-list p{grid-column:2}.shelf{grid-template-columns:1fr}.handoff form{margin-right:1.5rem}.cookie-dock{left:8px;justify-content:flex-end}}
