/* 3D printing uses the existing blue site design. */
.print-page{overflow-wrap:break-word}
.print-page [hidden]{display:none!important}
.print-main>.v-crumbs{margin-top:.5rem;margin-bottom:0}
.print-main .print-intro{padding-top:1.3rem}
.print-back{display:inline-block;font-size:.85rem;text-decoration:none;margin-bottom:1.2rem}
.print-hero{display:grid;grid-template-columns:1.18fr 1fr;background:#101d34;border-radius:1.5rem;overflow:hidden;box-shadow:var(--vv-shadow-lg)}
.print-hero-copy{padding:clamp(1.5rem,3.5vw,2.5rem);align-self:center}
.print-hero h1{color:#fff;font-size:clamp(2.5rem,5vw,3.8rem);line-height:1.06;letter-spacing:-.04em;margin:.8rem 0 1rem}
.print-hero h1 span{color:#85b7ff}
.print-hero-copy>p:not(.kicker){color:#d0daeb;max-width:31rem;font-size:1rem;line-height:1.7;margin-bottom:1.3rem}
.print-hero .kicker{margin-bottom:0}
.print-hero .cta-row{gap:.8rem 1.2rem}
.print-hero .btn-invert{font-size:.95rem}
.print-promise{font-size:.76rem;color:#bed0ea;line-height:1.6}
.print-hero-image{margin:0;position:relative;min-height:21rem;background:#253649}
.print-hero-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.print-hero-image figcaption{position:absolute;bottom:1rem;left:1rem;right:1rem;padding:.6rem .8rem;border-radius:.6rem;background:rgba(9,20,37,.91);color:#edf4ff;font-size:.72rem;display:flex;gap:.6rem;align-items:center}
.print-photo-dot{display:block;flex:0 0 .4rem;height:.4rem;background:#8ab9ff;border-radius:50%}
.print-specs{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.5rem 0 0;padding:0 0 1.2rem;border-bottom:1px solid var(--vv-border)}
.print-specs>div+div{padding-left:1rem;border-left:1px solid var(--vv-border)}
.print-specs dt{color:var(--pico-muted-color);font-size:.72rem;margin-bottom:.45rem}
.print-specs dd{margin:0;font-size:1.05rem;font-weight:700;letter-spacing:-.025em}
.print-specs small{font-size:.75em;font-weight:400}
.print-size-note{font-size:.8rem;color:var(--pico-muted-color);margin:.9rem 0 0}
.print-inquiry{display:block;max-width:44rem;margin:0 auto;scroll-margin-top:6rem}
.print-inquiry-info{margin-bottom:1.5rem}
.print-inquiry-info h1{font-size:clamp(1.8rem,3.6vw,2.4rem);font-weight:800;line-height:1.2;letter-spacing:-.03em;margin:0 0 .8rem}
.print-inquiry-info p{color:var(--pico-muted-color);font-size:1rem;line-height:1.7;margin:0 0 .5rem}
.print-inquiry-info .print-reassurance{font-size:.9rem;margin-bottom:0}
.print-main>.print-help{max-width:44rem;margin:0 auto 1.5rem;font-size:.85rem;color:var(--pico-muted-color);line-height:1.7}
.print-help a{overflow-wrap:anywhere}
.print-form-card { padding: clamp(1.2rem, 2.5vw, 2rem); border: 1px solid var(--vv-border); background: var(--vv-card-bg); box-shadow: var(--vv-shadow); border-radius: 1.2rem; min-width: 0; }
.print-form-card form, .print-fields { margin: 0; padding: 0; border: 0; min-width: 0; }
.print-required { font-size: .7rem; color: var(--pico-muted-color); margin: 0 0 1.2rem; }
.print-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
.print-fields label { font-size: .85rem; font-weight: 600; }
.print-fields label small { font-size: .75rem; color: var(--pico-muted-color); font-weight: 400; }
.print-fields input:not([type="checkbox"]), .print-fields select, .print-fields textarea { font-size: .9rem; margin-top: .35rem; border-radius: .6rem; }
.print-fields input:not([type="checkbox"]), .print-fields select { height: 2.8rem; }
.print-fields textarea { min-height: 7rem; }
.print-file-zone { border: 1px dashed var(--pico-primary); border-radius: .8rem; padding: 1.2rem; margin: 0 0 1.2rem; background: var(--vv-chip-bg); transition: background .15s; }
.print-file-zone.drag-over { outline: 3px solid var(--pico-primary); }
.print-file-zone label { display: block; margin: 0; }
.print-file-zone label span { display: block; font-weight: 400; font-size: .75rem; margin-top: .25rem; }
.print-file-zone input[type="file"] { height: auto; max-width: 100%; padding: 0; margin: .8rem 0; font-size: .75rem; background: none; border: 0; }
.print-file-zone small { color: var(--pico-muted-color); font-size: .7rem; display: block; line-height: 1.55; }
#file-selection { margin: .5rem 0 0; font-size: .75rem; font-weight: 600; overflow-wrap: anywhere; }
#file-selection:empty { display: none; }
.print-consent { display: flex; gap: .7rem; align-items: flex-start; margin: .6rem 0 1rem; }
.print-consent input[type="checkbox"] { flex: 0 0 1.1rem; margin: .2rem 0 0; }
.print-consent > span { font-size: .75rem; font-weight: 400; line-height: 1.6; }
.print-privacy { font-size: .68rem; line-height: 1.7; color: var(--pico-muted-color); margin-bottom: 1.3rem; }
#print-submit { width: 100%; margin-bottom: 0; font-size: .86rem; padding: .9rem .6rem; border-radius: .65rem; }
#print-submit span { margin-left: .5rem; }
.print-form-promise { text-align: center; font-size: .7rem; color: var(--pico-muted-color); margin: .8rem 0 0; }
.print-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.print-upload-state { margin-top: 1rem; }
.print-upload-state > div { display: flex; justify-content: space-between; gap: 1rem; font-size: .8rem; }
.print-upload-state progress { margin: .5rem 0; width: 100%; height: .6rem; }
.print-upload-state p { font-size: .75rem; color: var(--pico-muted-color); margin: 0; }
.print-status { padding: 1.1rem; margin-bottom: 1.2rem; border-radius: .7rem; font-size: .85rem; border: 1px solid var(--vv-border); scroll-margin-top: 7rem; }
.print-status.is-error { border-color: #dc5e58; background: color-mix(in srgb, #dc5e58 7%, var(--vv-card-bg)); }
.print-status.is-success { border-color: #319877; background: color-mix(in srgb, #319877 8%, var(--vv-card-bg)); margin: 0; }
.print-status ul { margin: .5rem 0 0; padding-left: 1rem; }
.print-status h3 { font-size: 1.2rem; }
.print-status p:last-child { margin-bottom: 0; }

.print-fields:disabled{opacity:.65}
.print-fields:disabled button{cursor:wait}
.print-process h2{font-size:1.7rem;font-weight:800;margin:0 0 1.2rem}
.print-process ol{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;list-style:none;padding:0;margin:0}
.print-process li{display:flex;align-items:start;gap:.8rem;list-style:none;margin:0;padding:0}
.print-process li>span{display:grid;place-items:center;width:2rem;height:2rem;flex:0 0 2rem;border-radius:50%;background:var(--vv-chip-bg);color:var(--pico-primary);font-size:.85rem;font-weight:800}
.print-process h3{font-size:1.05rem;margin:0 0 .4rem}
.print-process li p{font-size:.85rem;color:var(--pico-muted-color);line-height:1.65;margin:0}
.print-next-step{text-align:center;margin-top:2rem}
.print-next-step .btn-main{font-size:1rem;margin-bottom:0}
.print-next-step>p{font-size:.8rem;color:var(--pico-muted-color);margin:.7rem 0 0}
.print-document { max-width: 45rem; margin: 2.5rem auto 4rem; }
.print-document h1 { font-size: clamp(2rem, 5vw, 3rem); letter-spacing: -.04em; }
.print-document h2 { font-size: 1.25rem; margin-top: 2rem; }
.print-document p, .print-document li { font-size: .95rem; line-height: 1.8; }
.print-document .print-updated { font-size: .75rem; color: var(--pico-muted-color); }

@media(max-width:1000px){.print-specs{grid-template-columns:1fr 1fr;gap:1.2rem}.print-specs>div:nth-child(3){padding-left:0;border-left:0}.print-process ol{gap:1rem}.print-hero{grid-template-columns:1.1fr .9fr}}
@media(max-width:650px){.print-hero{grid-template-columns:1fr;border-radius:1rem}.print-hero-image{min-height:15rem}.print-hero-image img{object-position:center 45%}.print-hero-copy{padding:1.5rem 1.4rem}.print-hero h1{font-size:2.6rem}.print-hero-copy>p:not(.kicker){font-size:.95rem}.print-hero .cta-row{align-items:start;flex-direction:column}.print-specs dd{font-size:.9rem}.print-specs dt{font-size:.7rem}.print-inquiry-info h1{font-size:1.9rem}.print-inquiry-info p{font-size:.95rem}.print-inquiry-info .print-reassurance{font-size:.85rem}.print-form-grid{grid-template-columns:1fr}.print-form-card{padding:1.1rem}.print-fields input:not([type=checkbox]),.print-fields select,.print-fields textarea{font-size:1rem}.print-file-zone{padding:.9rem}.print-file-zone input[type=file]{font-size:.75rem}.print-process ol{grid-template-columns:1fr;gap:1.2rem}.print-process h2{font-size:1.5rem}.print-next-step .btn-main{width:100%;font-size:.95rem}.print-consent>span{font-size:.8rem}.print-privacy{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.print-page *{scroll-behavior:auto;transition:none}}
