:root { color-scheme: light; --ink:#1f2a2d; --teal:#214f55; --paper:#fffaf4; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:#f4efe5; font:17px/1.65 "Trebuchet MS",sans-serif; }
a { color:var(--teal); text-underline-offset:3px; }
a:focus-visible,button:focus-visible { outline:3px solid #c96d42; outline-offset:4px; }
header { background:var(--teal); padding:20px max(20px,calc((100% - 1000px)/2)); color:white; }
header>a { color:white; font-size:1.4rem; font-weight:bold; }
nav { display:flex; flex-wrap:wrap; gap:12px 22px; margin-top:12px; }
header nav a { color:white; }
main { max-width:1000px; margin:32px auto; padding:0 24px 48px; }
h1 { font-family:Georgia,serif; font-size:clamp(2rem,5vw,3.2rem); line-height:1.15; }
h2 { font-size:1.2rem; line-height:1.35; margin:0 0 12px; }
.intro { font-size:1.15rem; }
.notice { border-left:4px solid #c96d42; padding:16px; background:var(--paper); }
.job-label-reminder { color:#b42318; }
.steps { padding-left:30px; }
.steps li,main>section { padding:24px; margin:20px 0; background:var(--paper); border:1px solid #ddd6cb; border-radius:14px; scroll-margin-top:20px; }
.steps li::marker { font-weight:bold; color:var(--teal); }
p { margin:10px 0; }
.contents { display:grid; padding:20px; background:var(--paper); }
.cards,.labels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:24px; }
.card { display:grid; gap:8px; padding:22px; background:var(--paper); border:1px solid #ddd6cb; border-radius:14px; text-decoration:none; }
.card span { font-size:.9rem; }
.label { text-align:center; padding:20px; background:white; border:1px dashed #888; break-inside:avoid; }
.label img { display:block; width:190px; max-width:100%; margin:auto; }
.label small { display:block; overflow-wrap:anywhere; font-size:11px; }
button { padding:12px 20px; background:var(--teal); color:white; border:0; border-radius:8px; font:inherit; cursor:pointer; }
#guideSearch { margin-top:20px; }
.guide-search label { display:block; font-size:.9rem; margin-bottom:6px; }
.guide-search__field { display:flex; gap:8px; }
.guide-search input { min-width:0; flex:1; border:1px solid #ffffff66; border-radius:10px; padding:12px 16px; font:inherit; color:var(--ink); background:#fffaf4; }
.guide-search button { background:#fffaf4; color:var(--teal); border:1px solid #ffffff66; }
.guide-search__results { margin-top:12px; padding:16px; border-radius:12px; background:var(--paper); color:var(--ink); max-height:340px; overflow-y:auto; }
.guide-search__results ul { padding:0; margin:0; list-style:none; }
.guide-search__results li { padding:12px 0; border-top:1px solid #ddd6cb; }
.guide-search__results a { color:var(--teal); display:block; }
.guide-search__results small { color:#566260; }
.printer-photo { width:100%; height:180px; object-fit:contain; background:white; }
.photo-note { color:#566260; font-size:.92rem; }
.start-flow main { max-width:1100px; }
.eyebrow { text-transform:uppercase; letter-spacing:.08em; font-size:.8rem; color:var(--teal); }
.printer-picker { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:24px 0; }
.printer-choice { display:grid; grid-template-rows:170px 1fr; border:1px solid #d8d4ca; border-radius:16px; background:var(--paper); overflow:hidden; color:var(--ink); text-decoration:none; }
.printer-choice img { width:100%; height:170px; object-fit:contain; background:white; padding:12px; }
.printer-choice div { padding:16px; display:grid; gap:5px; }
.printer-choice span,.printer-choice small { color:#566260; font-size:.85rem; }
.printer-choice:hover,.stage-choice:hover { border-color:var(--teal); box-shadow:0 4px 18px #214f5517; }
.machine-context { display:flex; align-items:center; gap:16px; border-bottom:1px solid #d8d4ca; padding-bottom:18px; margin-bottom:24px; }
.machine-context img { width:64px; height:64px; object-fit:contain; border-radius:8px; background:white; }
.machine-context div { flex:1; }
.machine-context span { display:block; color:#566260; font-size:.9rem; }
.machine-context>a { font-size:.9rem; }
.stage-choices { display:grid; gap:14px; margin:24px 0; }
.stage-choice { display:grid; padding:22px; gap:8px; color:var(--ink); background:var(--paper); text-decoration:none; border:1px solid #d8d4ca; border-radius:14px; }
.stage-choice strong { font-size:1.2rem; }
.choice-cta { color:var(--teal); font-weight:bold; }
.flow-progress { display:flex; justify-content:space-between; gap:12px; font-size:.9rem; }
progress { width:100%; accent-color:var(--teal); height:8px; margin:16px 0; }
main>section.current-step { padding:clamp(20px,4vw,36px); margin-top:10px; }
.current-step h1 { font-size:clamp(1.65rem,4vw,2.4rem); margin-top:0; }
.current-step p { max-width:70ch; font-size:1.1rem; }
h1:focus { outline:none; }
.flow-actions { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; margin:24px 0; }
.flow-actions a { min-height:48px; padding:12px 22px; border-radius:10px; }
.flow-primary { background:var(--teal); color:white; font-weight:bold; text-decoration:none; }
.flow-back { background:white; }
.step-links { display:grid; gap:12px; margin-top:20px; }
.step-help { font-size:.95rem; }
@media(max-width:760px) { .printer-picker { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .printer-choice { grid-template-rows:140px 1fr; } .printer-choice img { height:140px; } }
@media(max-width:420px) { .machine-context { flex-wrap:wrap; } .machine-context>a { margin-left:80px; } .printer-choice div { padding:12px; } }
@media(max-width:600px) { .cards,.labels { grid-template-columns:1fr; } main { padding:0 16px 32px; } .steps li { padding:18px; } }
@media print { @page { margin:12mm; } header,h1,.no-print { display:none; } body { background:white; font-size:12px; } main { margin:0; padding:0; } .labels { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10mm; margin:0; } .label img { width:40mm; } .label { padding:5mm; } }
