.gallery{background:#142821;color:#edf0df}.gallery-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;border-bottom:1px solid #ffffff1c}.gallery-header .brand-icon{border-color:#a9bd8c}.gallery-header .brand small{color:#9aac93}.gallery-header nav{display:flex;gap:26px;font-size:12px}.gallery-header a{text-decoration:none}.gallery-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;max-width:none;padding:0;min-height:calc(100dvh - 88px)}.stage{position:relative;min-height:740px;overflow:hidden;background:radial-gradient(ellipse at 50% 65%,#335346,#142821 70%)}#three-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;outline-offset:-5px}.stage-heading{position:absolute;top:45px;left:5vw;z-index:1;pointer-events:none}.stage-heading h1{font-size:clamp(37px,4.7vw,66px);line-height:1.2;font-weight:400;letter-spacing:-2px;margin-bottom:20px}.stage-heading h1 span{color:#aec990}.stage-heading .eyebrow{color:#a4ba98;font-size:10px}.stage-heading p:last-child{font-size:12px;color:#a6b9a1}.stage-caption{position:absolute;bottom:25px;left:5vw;right:25px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:10px;letter-spacing:1px;color:#bbcbb1;pointer-events:none}.stage-caption span:last-child{margin-left:auto}.live-dot{width:6px;height:6px;background:#b5d88b;border-radius:50%}.stage-number{position:absolute;right:28px;top:36px;font:italic 90px/1 Georgia,serif;color:#c5d4b515;pointer-events:none}.gallery-controls{background:#f0f0e6;color:#263d33;padding:30px 25px;overflow:auto}.gallery-controls .eyebrow{font-size:9px;margin-bottom:16px}.gallery-controls h2{font-size:26px;letter-spacing:-1px;margin-bottom:20px}.gallery-controls .field{margin-top:15px;font-size:12px}.gallery-controls select{font-size:12px}.material-field{margin:22px 0 12px;border:0;padding:0}.material-field legend{font-size:12px;margin-bottom:10px}.swatches{display:flex;gap:6px}.swatches button{display:flex;flex-direction:column;gap:6px;border:1px solid transparent;background:transparent;flex:1;font-size:10px;padding:8px 4px;min-height:60px}.swatches .selected{border-color:#6c8360;background:#e2e7d8}.swatches i{display:block;width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 4px #ffffff22}.range-label{display:flex!important;justify-content:space-between;flex-wrap:wrap;gap:0}.range-label output{font-size:11px;font-weight:400;color:#6a7d61}.range-label input[type=range]{width:100%;padding:0;background:none;border:0;accent-color:#526f44;height:20px;margin:8px 0}.gallery-actions,.view-buttons{display:flex;gap:8px;margin-top:20px}.gallery-actions button,.view-buttons button{flex:1;font-size:11px;padding:8px;min-height:36px}.view-buttons{margin-top:8px}.gallery-controls .quiet{margin-top:10px;font-size:11px}.design-note{border-top:1px solid #cdd5c3;margin-top:23px;padding-top:20px}.design-note span{font-size:10px;color:#788c68}.design-note h3{font-size:15px;margin:10px 0}.design-note p{font-size:12px;color:#65745c;margin-bottom:0}.gallery-disclaimer{font-size:10px;line-height:1.8;color:#78866d;margin:22px 0 0}#webgl-fallback{position:absolute;inset:40% 10% auto;background:#e7ecd9;color:#243b31;padding:28px;border-radius:12px;z-index:2}#webgl-fallback h2{font-size:22px}#webgl-fallback p{font-size:14px}
@media(min-width:1500px){.gallery-layout{grid-template-columns:minmax(0,1fr) 380px}.gallery-controls{padding:40px}}
@media(max-width:900px){.gallery-layout{grid-template-columns:minmax(0,1fr) 285px}.gallery-controls{padding:22px 18px}.stage-heading{top:30px;left:25px}.stage-heading h1{font-size:39px}.stage-caption{left:25px}.stage-caption span:last-child{margin-left:0}.stage-number{font-size:65px}.gallery-header nav{gap:15px}}
@media(max-width:650px){.gallery-header{height:auto;padding:18px 20px;gap:15px;flex-wrap:wrap}.gallery-header nav{font-size:11px}.gallery-layout{grid-template-columns:1fr}.stage{min-height:600px;height:78dvh;max-height:760px}.stage-heading h1{font-size:36px}.gallery-controls{padding:28px 24px}.gallery-controls h2 br{display:none}.swatches button{flex-direction:row;justify-content:center;gap:12px}.gallery-disclaimer{font-size:11px}}
