:root {
  color-scheme: dark;
  --ink: #f1f1ed;
  --muted: #a2a39c;
  --paper: #111210;
  --plum: #c8f169;
  --plum-dark: #0b0c0a;
  --lilac: #a8c95b;
  --peach: #d4a35f;
  --line: #30322b;
  --serif: "Space Grotesk", Arial, sans-serif;
  --sans: "Space Grotesk", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }

.site-header { height: 82px; padding: 0 7.2%; display: flex; align-items: center; justify-content: space-between; background: var(--paper); }
.wordmark { display: inline-flex; align-items: center; gap: 10px; color: var(--plum); font-size: 12px; font-weight: 700; letter-spacing: .13em; white-space: nowrap; }
.wordmark-icon { font-size: 25px; color: #a786b4; line-height: 1; }
.wordmark-co { font-weight: 500; color: #8d7b94; }
.main-nav { display: flex; align-items: center; gap: 37px; margin-left: 5%; color: #655e68; font-size: 13px; }
.main-nav a, .site-footer a { transition: color .2s ease; }
.main-nav a:hover, .site-footer a:hover { color: #9a77a8; }
.header-cta { padding: 11px 16px; border: 1px solid #dcd3df; border-radius: 4px; color: var(--plum); font-size: 12px; font-weight: 600; }
.header-cta span { margin-left: 9px; }

.hero { min-height: 565px; display: grid; grid-template-columns: 1fr 1.02fr; align-items: center; overflow: hidden; background: #f2edf2; }
.hero-copy { padding: 72px 8% 70px 14%; position: relative; z-index: 1; }
.eyebrow { display: flex; align-items: center; gap: 10px; color: #937d9b; font-size: 10px; font-weight: 700; letter-spacing: .19em; }
.eyebrow-line { display: inline-block; width: 23px; height: 1px; background: #af91bc; }
h1, h2 { margin: 22px 0 17px; font-family: var(--serif); font-weight: 500; letter-spacing: -.04em; line-height: 1.12; }
h1 { max-width: 530px; font-size: clamp(43px, 5.1vw, 69px); }
h1 em, h2 em { color: #91749d; font-weight: 500; }
.hero-description { max-width: 415px; margin: 0; color: #716a74; font-size: 14px; line-height: 1.9; }
.hero-actions { display: flex; align-items: center; gap: 27px; margin-top: 30px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; border: 0; border-radius: 4px; padding: 14px 19px; font-size: 12px; font-weight: 600; cursor: pointer; transition: transform .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: #fff; background: var(--plum); }
.button-primary:hover { background: #4c3a58; }
.text-link { color: #65516e; font-size: 12px; font-weight: 600; }
.text-link span { padding-left: 5px; }
.hero-note { margin-top: 48px; color: #847b86; font-size: 11px; letter-spacing: .02em; }
.note-sparkle { margin-right: 8px; color: #ac8db7; }
.hero-art { height: 100%; min-height: 565px; position: relative; overflow: hidden; background: linear-gradient(145deg, #22251e, #171815 72%); }
.hero-art::before { position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 42%, rgba(200,241,105,.12), transparent 55%); content: ""; }
.printer-rig { position: absolute; top: 50%; left: 50%; width: 360px; height: 390px; transform: translate(-50%, -50%); filter: drop-shadow(12px 18px 13px rgba(0,0,0,.35)); }
.printer-rig::before, .printer-rig::after { position: absolute; top: 33px; bottom: 54px; z-index: 1; width: 17px; border: 1px solid #626957; border-radius: 4px; background: linear-gradient(90deg, #393e35, #879078 42%, #454b40); content: ""; }
.printer-rig::before { left: 24px; }
.printer-rig::after { right: 24px; }
.printer-spool { position: absolute; top: 5px; right: 36px; z-index: 2; display: grid; width: 75px; height: 75px; place-items: center; border: 8px solid #a8cf50; border-radius: 50%; background: repeating-radial-gradient(circle, #d8f57a 0 2px, #9fc747 3px 5px); box-shadow: inset 0 0 0 4px #39412b, 0 4px 9px rgba(0,0,0,.35); }
.printer-spool span { width: 20px; height: 20px; border: 5px solid #30362a; border-radius: 50%; background: #171a14; }
.printer-filament { position: absolute; top: 78px; right: 69px; width: 3px; height: 37px; background: #c8f169; transform: rotate(35deg); transform-origin: top right; }
.printer-crossbar { position: absolute; top: 34px; left: 32px; z-index: 2; width: 296px; height: 17px; border: 1px solid #66705a; border-radius: 3px; background: linear-gradient(180deg, #a3ad91, #51594a 55%, #30352d); }
.printer-gantry { position: absolute; top: 91px; left: 48px; z-index: 2; width: 264px; height: 15px; border: 1px solid #77816a; border-radius: 3px; background: linear-gradient(180deg, #bdc7a7, #626b57 55%, #343a30); }
.printer-head { position: absolute; top: 76px; left: 145px; z-index: 3; width: 70px; height: 84px; }
.printer-head-body { position: absolute; inset: 0 0 20px; border: 1px solid #727a68; border-radius: 5px 5px 3px 3px; background: repeating-linear-gradient(0deg, transparent 0 7px, rgba(0,0,0,.28) 8px 9px), linear-gradient(90deg, #42483e, #b0b9a0 28%, #555d4d 70%, #343a32); box-shadow: inset 0 4px 7px rgba(255,255,255,.16); }
.printer-nozzle { position: absolute; bottom: 7px; left: 21px; width: 28px; height: 26px; background: linear-gradient(90deg, #68705f, #d0d5c2 45%, #626a59); clip-path: polygon(0 0, 100% 0, 59% 100%, 41% 100%); }
.printer-extrusion { position: absolute; bottom: -19px; left: 33px; width: 4px; height: 23px; background: #c8f169; }
.printer-bed { position: absolute; top: 278px; left: 46px; z-index: 2; width: 268px; height: 19px; border: 1px solid #7e8969; border-radius: 3px; background: linear-gradient(180deg, #ccd5b7, #737e61 55%, #3c4335); box-shadow: 0 11px 18px rgba(0,0,0,.35); }
.printer-print { position: absolute; top: 180px; left: 141px; z-index: 2; width: 78px; height: 98px; border: 1px solid #879853; border-radius: 18px 18px 4px 4px / 11px 11px 4px 4px; background: repeating-linear-gradient(0deg, #859b4f 0 4px, #c0e267 4px 6px); box-shadow: inset 0 8px 9px rgba(255,255,255,.12), 0 7px 11px rgba(0,0,0,.25); }
.printer-base { position: absolute; bottom: 33px; left: 15px; width: 330px; height: 23px; border: 1px solid #58614f; border-radius: 4px; background: linear-gradient(180deg, #737e67, #343a31); box-shadow: inset 0 5px 5px rgba(255,255,255,.12); }
.art-caption { position: absolute; right: 7%; bottom: 5%; color: rgba(222,239,190,.72); font-family: "Space Mono", monospace; font-size: 8px; font-weight: 700; letter-spacing: .2em; }

.section-wrap { padding: 105px 10% 95px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.section-heading h2, .story-copy h2 { margin: 19px 0 10px; font-size: clamp(36px, 4vw, 51px); }
.section-intro { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.button-outline { flex-shrink: 0; border: 1px solid #cfc3d3; color: var(--plum); background: transparent; }
.button-outline:hover { background: #f3eef4; }
.button-outline span { font-size: 17px; font-weight: 400; }
.shop-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 39px 0 22px; border-bottom: 1px solid var(--line); }
.filter-list { display: flex; flex-wrap: wrap; gap: 25px; }
.filter-button { position: relative; padding: 0 0 12px; border: 0; color: #89818c; background: transparent; font-size: 11px; cursor: pointer; }
.filter-button[aria-pressed="true"] { color: var(--plum); font-weight: 700; }
.filter-button[aria-pressed="true"]::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: #9b7da6; content: ""; }
.listing-note { color: #9b8da0; font-size: 10px; white-space: nowrap; }
.listing-note span { margin-right: 5px; color: #c2a5bf; }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; }
.empty-state { grid-column: 1 / -1; padding: 65px 20px 71px; border: 1px dashed #d9cedc; text-align: center; }
.empty-state-icon { color: #b493bf; font-size: 30px; }
.empty-state h3 { margin: 13px 0 8px; font-family: var(--serif); font-size: 24px; font-weight: 500; }
.empty-state p { max-width: 390px; margin: 0 auto 18px; color: var(--muted); font-size: 12px; line-height: 1.7; }
.product-card { min-width: 0; background: #fff; }
.product-image { position: relative; display: grid; height: 255px; overflow: hidden; place-items: center; background: linear-gradient(145deg, #f1eaf0, #e4d8e6); }
.product-image::before { position: absolute; width: 180px; height: 180px; border: 1px solid rgba(140,111,151,.25); border-radius: 50%; content: ""; }
.product-image::after { position: absolute; width: 230px; height: 110px; border: 1px solid rgba(140,111,151,.23); border-radius: 50%; transform: rotate(-30deg); content: ""; }
.product-image img { z-index: 1; width: 100%; height: 100%; object-fit: cover; }
.product-placeholder { z-index: 1; display: grid; width: 105px; height: 125px; place-items: center; border-radius: 45% 45% 16% 16%; color: #fffaf5; background: repeating-linear-gradient(0deg, rgba(79,57,88,.08) 0px, rgba(79,57,88,.08) 1px, transparent 1px, transparent 5px), linear-gradient(145deg, #d8bdd0, #9e84a9); box-shadow: 12px 18px 23px rgba(77,52,82,.15); font-family: var(--serif); font-size: 30px; }
.product-card:nth-child(3n + 2) .product-image { background: linear-gradient(145deg, #efe5df, #e6d2c8); }
.product-card:nth-child(3n + 2) .product-placeholder { background: repeating-linear-gradient(0deg, rgba(79,57,88,.08) 0px, rgba(79,57,88,.08) 1px, transparent 1px, transparent 5px), linear-gradient(145deg, #e5c6b5, #c08e8e); }
.product-card:nth-child(3n) .product-image { background: linear-gradient(145deg, #e5e6e2, #ccd4cd); }
.product-card:nth-child(3n) .product-placeholder { background: repeating-linear-gradient(0deg, rgba(79,57,88,.08) 0px, rgba(79,57,88,.08) 1px, transparent 1px, transparent 5px), linear-gradient(145deg, #c2d0c6, #7d998d); }
.product-details { padding: 17px 17px 19px; }
.product-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #9a899f; font-size: 9px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.product-details h3 { margin: 10px 0 7px; font-family: var(--serif); font-size: 20px; font-weight: 500; }
.product-description { min-height: 38px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.7; }
.product-bottom { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 17px; padding-top: 13px; border-top: 1px solid #f0ebf0; }
.product-price { font-size: 14px; font-weight: 700; }
.order-link { color: #765f81; font-size: 10px; font-weight: 700; }
.order-link:hover { text-decoration: underline; }
.delete-product { position: absolute; top: 10px; right: 10px; z-index: 2; padding: 7px 9px; border: 1px solid rgba(255,255,255,.8); border-radius: 3px; color: #57485d; background: rgba(255,255,255,.88); font-size: 10px; cursor: pointer; }
.storage-note { margin: 18px 0 0; color: #a098a0; font-size: 10px; text-align: right; }

.story-section { display: grid; grid-template-columns: 1fr 1fr; min-height: 490px; background: #f0ebf1; }
.story-art { position: relative; min-height: 440px; overflow: hidden; background: linear-gradient(145deg, #d8ccd9, #c8b5ce); }
.story-art::before { position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 42%, rgba(255,255,255,.46), transparent 58%); content: ""; }
.story-ring { position: absolute; top: 15%; left: 20%; width: 60%; height: 65%; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; transform: rotate(-23deg); }
.printer-nozzle-art { position: absolute; top: 7%; left: 50%; width: 250px; height: 320px; transform: translateX(-50%); filter: drop-shadow(13px 17px 12px rgba(0,0,0,.28)); }
.filament-feed { position: absolute; top: 0; left: calc(50% - 3px); width: 6px; height: 75px; border-radius: 4px; background: linear-gradient(90deg, #839c42, #d0f26b 48%, #9cbd4f); }
.nozzle-coupler { position: absolute; top: 57px; left: calc(50% - 48px); width: 96px; height: 37px; border: 1px solid #4c534b; border-radius: 5px; background: linear-gradient(90deg, #424943, #aeb3a3 24%, #555c53 52%, #c2c5b4 78%, #454b44); box-shadow: inset 0 5px 5px rgba(255,255,255,.28), inset 0 -6px 6px rgba(0,0,0,.3); }
.nozzle-body { position: absolute; top: 83px; left: calc(50% - 63px); width: 126px; height: 95px; border: 1px solid #53594d; border-radius: 7px 7px 4px 4px; background: repeating-linear-gradient(180deg, transparent 0 8px, rgba(0,0,0,.42) 9px 12px), linear-gradient(90deg, #474e45, #c2c5b5 22%, #656c60 49%, #d5d5c7 73%, #4b5149); box-shadow: inset 0 8px 8px rgba(255,255,255,.2), inset 0 -9px 12px rgba(0,0,0,.38); }
.nozzle-heater-block { position: absolute; top: 164px; left: calc(50% - 77px); width: 154px; height: 63px; border: 1px solid #846b39; border-radius: 4px; background: linear-gradient(90deg, #72592d, #d8b75e 20%, #a98743 50%, #e6c76f 78%, #6d552d); box-shadow: inset 0 6px 7px rgba(255,255,255,.2), inset 0 -7px 9px rgba(0,0,0,.34); }
.nozzle-heater-block::before, .nozzle-heater-block::after { position: absolute; top: 25px; width: 7px; height: 7px; border: 1px solid rgba(30,31,24,.7); border-radius: 50%; background: #ddd09a; content: ""; }
.nozzle-heater-block::before { left: 10px; }
.nozzle-heater-block::after { right: 10px; }
.nozzle-tip { position: absolute; top: 224px; left: calc(50% - 32px); width: 64px; height: 47px; background: linear-gradient(90deg, #535a50, #d1d2c3 35%, #787e70 70%, #454b43); clip-path: polygon(0 0, 100% 0, 58% 100%, 42% 100%); }
.nozzle-extrusion { position: absolute; top: 267px; left: calc(50% - 2px); width: 4px; height: 35px; background: linear-gradient(90deg, #8ea947, #d4f475 50%, #9fbe53); }
.print-sample { position: absolute; top: 288px; left: calc(50% - 57px); width: 114px; height: 40px; border-radius: 48% 48% 9px 9px / 35% 35% 9px 9px; background: repeating-linear-gradient(0deg, #8a9a64 0 4px, #b9d36f 4px 6px); box-shadow: inset 0 8px 9px rgba(255,255,255,.18), 0 11px 13px rgba(0,0,0,.24); }
.story-art span { position: absolute; bottom: 7%; left: 9%; color: rgba(67,50,73,.7); font-size: 8px; font-weight: 700; letter-spacing: .18em; }
.story-copy { align-self: center; max-width: 535px; padding: 70px 14%; }
.story-copy h2 { margin-bottom: 23px; }
.story-copy > p:not(.eyebrow) { color: #756e78; font-size: 12px; line-height: 1.9; }
.story-copy .text-link { display: inline-block; margin-top: 13px; }
.contact-banner { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 60px 10%; color: #fff; background: var(--plum); }
.contact-banner .eyebrow { color: #c4aecb; }
.contact-banner .eyebrow-line { background: #c4aecb; }
.contact-banner h2 { margin: 13px 0 0; font-size: clamp(29px, 3vw, 39px); }
.contact-banner h2 em { color: #d0b5d0; }
.button-light { flex-shrink: 0; color: var(--plum); background: #f5eff5; }
.button-light:hover { background: #e8dce9; }
.site-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 27px 7.2%; color: #847c87; font-size: 10px; }
.site-footer p { margin: 0; }
.footer-wordmark { color: var(--plum); font-size: 10px; }
.footer-wordmark .wordmark-icon { font-size: 20px; }

.listing-dialog { width: min(100% - 32px, 510px); max-height: min(90vh, 800px); padding: 0; border: 0; border-radius: 7px; color: var(--ink); background: var(--paper); box-shadow: 0 25px 90px rgba(35,24,39,.24); }
.listing-dialog::backdrop { background: rgba(31,24,34,.58); backdrop-filter: blur(3px); }
.listing-dialog form { padding: 30px 34px 34px; }
.dialog-heading { display: flex; align-items: start; justify-content: space-between; margin-bottom: 20px; }
.dialog-heading h2 { margin: 10px 0 0; font-size: 34px; }
.close-button { width: 33px; height: 33px; border: 1px solid var(--line); border-radius: 50%; color: #65566c; background: transparent; font-size: 22px; line-height: 1; cursor: pointer; }
.listing-dialog label { display: block; margin: 14px 0 7px; color: #554c59; font-size: 11px; font-weight: 700; }
.listing-dialog input, .listing-dialog select, .listing-dialog textarea { width: 100%; padding: 11px 12px; border: 1px solid #ded5e0; border-radius: 3px; outline: none; color: var(--ink); background: #fff; font-size: 12px; }
.listing-dialog textarea { resize: vertical; }
.listing-dialog input:focus, .listing-dialog select:focus, .listing-dialog textarea:focus { border-color: #9b7da6; box-shadow: 0 0 0 2px rgba(155,125,166,.14); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.label-optional { color: #9b929c; font-weight: 400; }
.form-hint { margin: 6px 0 0; color: #89818a; font-size: 10px; }
.form-error { min-height: 16px; margin: 8px 0 2px; color: #a44747; font-size: 11px; }
.submit-button { width: 100%; margin-top: 8px; }

@media (max-width: 800px) {
  .site-header { padding: 0 5%; }
  .main-nav { gap: 18px; margin-left: 0; }
  .header-cta { padding: 10px 11px; font-size: 10px; }
  .hero-copy { padding-left: 9%; }
  .hero-art, .hero { min-height: 500px; }
  .section-wrap { padding: 80px 6%; }
  .product-grid { gap: 15px; }
  .product-image { height: 210px; }
  .story-copy { padding: 55px 10%; }
  .contact-banner { padding: 50px 6%; }
}
@media (max-width: 600px) {
  .site-header { height: 69px; }
  .wordmark { gap: 6px; font-size: 10px; letter-spacing: .1em; }
  .wordmark-icon { font-size: 22px; }
  .main-nav { display: none; }
  .header-cta { padding: 9px; }
  .hero { grid-template-columns: 1fr; }
  .hero-copy { padding: 64px 8% 30px; }
  h1 { font-size: clamp(43px, 12vw, 60px); }
  .hero-description { font-size: 13px; }
  .hero-note { margin-top: 28px; }
  .hero-art { min-height: 360px; }
  .printer-rig { transform: translate(-50%, -50%) scale(.78); }
  .section-wrap { padding: 69px 6% 63px; }
  .section-heading { align-items: start; flex-direction: column; gap: 18px; }
  .section-heading h2, .story-copy h2 { font-size: 39px; }
  .shop-toolbar { align-items: start; flex-direction: column; gap: 14px; margin-top: 31px; }
  .filter-list { gap: 17px; }
  .listing-note { margin: 0 0 11px; }
  .product-grid { grid-template-columns: 1fr; gap: 17px; }
  .product-image { height: 260px; }
  .product-description { min-height: 0; }
  .story-section { grid-template-columns: 1fr; }
  .story-art { min-height: 330px; }
  .story-copy { padding: 53px 8% 61px; }
  .contact-banner { align-items: start; flex-direction: column; padding: 45px 8%; }
  .site-footer { align-items: start; flex-direction: column; padding: 27px 6%; }
}

body { background: #111210; }
.site-header { background: #111210; }
.wordmark, .wordmark-co { color: #f1f1ed; }
.wordmark-icon { color: #c8f169; }
.main-nav { color: #b2b3ac; }
.main-nav a:hover, .site-footer a:hover { color: #c8f169; }
.header-cta { border-color: #4b503c; color: #c8f169; }
.header-cta:hover { background: #20231a; }

.hero { background: #191a16; }
.hero-copy { background: linear-gradient(115deg, #191a16 75%, rgba(25,26,22,.9)); }
.eyebrow { color: #c8f169; font-family: "Space Mono", monospace; font-size: 9px; }
.eyebrow-line { background: #c8f169; }
h1, h2 { letter-spacing: -.055em; font-weight: 600; }
h1 em, h2 em { color: #c8f169; font-style: normal; font-weight: 600; }
.hero-description, .section-intro, .story-copy > p:not(.eyebrow) { color: #b0b0a9; }
.button { border-radius: 2px; }
.button-primary { color: #151710; background: #c8f169; }
.button-primary:hover { background: #d7ff80; }
.text-link { color: #c8f169; }
.hero-note { color: #aaa99f; }
.note-sparkle { color: #c8f169; }

.section-wrap { background: #111210; }
.button-outline { border-color: #515744; color: #c8f169; }
.button-outline:hover { background: #22251c; }
.shop-toolbar { border-color: #30322b; }
.filter-button { color: #a2a39c; }
.filter-button[aria-pressed="true"] { color: #c8f169; }
.filter-button[aria-pressed="true"]::after { background: #c8f169; }
.listing-note { color: #a2a39c; }
.listing-note span { color: #c8f169; }
.empty-state { border-color: #42463a; }
.empty-state-icon { color: #c8f169; }
.empty-state h3 { font-weight: 600; }
.product-card { border: 1px solid #2d2f29; background: #191a17; }
.product-image { background: radial-gradient(ellipse at center, #33372b, #20221d 70%); }
.product-image::before, .product-image::after { border-color: rgba(200,241,105,.2); }
.product-placeholder { background: repeating-linear-gradient(0deg, rgba(255,255,255,.08) 0px, rgba(255,255,255,.08) 1px, transparent 1px, transparent 5px), linear-gradient(145deg, #b0bc97, #616a50); box-shadow: 12px 18px 23px rgba(0,0,0,.3); }
.product-card:nth-child(3n + 2) .product-image { background: radial-gradient(ellipse at center, #3d3428, #24211b 70%); }
.product-card:nth-child(3n + 2) .product-placeholder { background: repeating-linear-gradient(0deg, rgba(255,255,255,.08) 0px, rgba(255,255,255,.08) 1px, transparent 1px, transparent 5px), linear-gradient(145deg, #d5b780, #816744); }
.product-card:nth-child(3n) .product-image { background: radial-gradient(ellipse at center, #2e3831, #1c221e 70%); }
.product-card:nth-child(3n) .product-placeholder { background: repeating-linear-gradient(0deg, rgba(255,255,255,.08) 0px, rgba(255,255,255,.08) 1px, transparent 1px, transparent 5px), linear-gradient(145deg, #a5b4a9, #53675b); }
.product-meta { color: #c8f169; font-family: "Space Mono", monospace; font-size: 8px; }
.product-details h3 { font-weight: 600; }
.product-bottom { border-color: #30322b; }
.order-link { color: #c8f169; }
.delete-product { border-color: #505347; color: #e8ebdf; background: rgba(25,26,23,.92); }
.storage-note { color: #8e9088; }

.story-section { background: #1a1b17; }
.story-art { background: radial-gradient(ellipse at 50% 40%, #343a2d, #22241e 75%); }
.story-art::before { background: radial-gradient(ellipse at 50% 42%, rgba(200,241,105,.12), transparent 58%); }
.story-ring { border-color: rgba(200,241,105,.24); }
.printer-nozzle-art { filter: drop-shadow(13px 17px 12px rgba(0,0,0,.42)); }
.story-art span { color: rgba(222,239,190,.72); font-family: "Space Mono", monospace; }
.story-copy { background: #1a1b17; }
.contact-banner { background: #c8f169; color: #171910; }
.contact-banner .eyebrow, .contact-banner .eyebrow-line { color: #3f4b2b; background-color: #526335; }
.contact-banner h2 em { color: #4e5b35; }
.button-light { color: #c8f169; background: #171910; }
.button-light:hover { background: #2a2d21; }
.site-footer { color: #a2a39c; background: #111210; }
.footer-wordmark { color: #f1f1ed; }
.footer-wordmark .wordmark-icon { color: #c8f169; }

.listing-dialog { color: #f1f1ed; background: #191a17; }
.close-button { border-color: #41443a; color: #c8f169; }
.listing-dialog label { color: #d1d1c9; }
.listing-dialog input, .listing-dialog select, .listing-dialog textarea { border-color: #44463d; color: #f1f1ed; background: #111210; }
.listing-dialog input:focus, .listing-dialog select:focus, .listing-dialog textarea:focus { border-color: #c8f169; box-shadow: 0 0 0 2px rgba(200,241,105,.14); }
.form-hint, .label-optional { color: #a2a39c; }
.form-error { color: #ff8b7e; }

.custom-section { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 8%; padding: 100px 10%; background: #191a16; }
.custom-copy h2 { margin: 21px 0 18px; font-size: clamp(38px, 4.3vw, 55px); }
.custom-copy > p:not(.eyebrow) { max-width: 450px; color: #b0b0a9; font-size: 13px; line-height: 1.9; }
.file-formats { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.file-formats span { padding: 7px 9px; border: 1px solid #44483a; color: #c8f169; font-family: "Space Mono", monospace; font-size: 9px; letter-spacing: .04em; }
.custom-upload-panel { padding: 27px; border: 1px solid #383b31; background: #111210; }
.upload-label { display: block; margin: 0 0 9px; color: #c8f169; font-family: "Space Mono", monospace; font-size: 9px; letter-spacing: .12em; }
.file-picker { position: relative; display: flex; min-height: 86px; align-items: center; gap: 14px; padding: 14px; border: 1px dashed #555a47; background: #191a16; cursor: pointer; }
.file-picker:hover { border-color: #c8f169; }
.file-picker-icon { display: grid; width: 39px; height: 39px; flex: 0 0 auto; place-items: center; border: 1px solid #454a38; color: #c8f169; font-size: 22px; }
.file-picker-text { display: grid; min-width: 0; gap: 5px; color: #f1f1ed; font-size: 12px; }
.file-picker-text strong { font-weight: 600; }
.file-picker-text > span { overflow: hidden; color: #a2a39c; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.file-picker-action { margin-left: auto; color: #c8f169; font-family: "Space Mono", monospace; font-size: 9px; }
.file-picker input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; clip-path: inset(50%); }
.file-picker:focus-within { outline: 2px solid #c8f169; outline-offset: 2px; }
.custom-upload-panel textarea { display: block; width: 100%; padding: 11px 12px; border: 1px solid #44463d; border-radius: 2px; outline: none; color: #f1f1ed; background: #191a16; font: inherit; font-size: 12px; resize: vertical; }
.custom-upload-panel textarea:focus { border-color: #c8f169; box-shadow: 0 0 0 2px rgba(200,241,105,.14); }
.custom-upload-panel textarea::placeholder { color: #81837a; }
.upload-notes-label { margin-top: 19px; }
.upload-file-label { margin-top: 19px; }
.upload-label > span { color: #85877c; }
.upload-notice { margin: 15px 0; color: #a2a39c; font-size: 10px; line-height: 1.7; }
.custom-email-link[aria-disabled="true"] { color: #999c8c; background: #33352e; cursor: not-allowed; }
.custom-email-link[aria-disabled="false"] { color: #151710; background: #c8f169; }
.upload-error { min-height: 0; margin: 8px 0 0; color: #ff8b7e; font-size: 11px; }
.remove-file-button { margin-top: 8px; padding: 0; border: 0; color: #c8f169; background: transparent; font-size: 10px; text-decoration: underline; cursor: pointer; }

@media (max-width: 800px) {
  .custom-section { gap: 35px; padding: 80px 6%; }
}
@media (max-width: 600px) {
  .custom-section { grid-template-columns: 1fr; gap: 28px; padding: 68px 6%; }
  .custom-copy h2 { font-size: 40px; }
  .custom-upload-panel { padding: 19px; }
  .file-picker { gap: 10px; padding: 11px; }
  .file-picker-action { font-size: 8px; }
}
