:root {
  --graphite: #1b1e20;
  --lime: #d6ff57;
  --lime-hover: #c1ef3f;
  --ink: #1b1e20;
  --muted: #626a64;
  --line: #dde2d7;
  --paper: #f5f6f2;
  --white: #fff;
  --radius: 20px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 30px; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 16px/1.6 Arial, Helvetica, sans-serif; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { touch-action: manipulation; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; }
button:disabled { opacity: .45; cursor: not-allowed; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid #779b00; outline-offset: 5px; }
h1, h2, h3, p { margin: 0; }
h1, h2, h3 { line-height: 1.06; letter-spacing: -.055em; }
em { font-style: normal; }
.announcement { background: var(--graphite); color: #d0d4cd; text-align: center; padding: 9px 20px; font-size: .875rem; }
header, footer { max-width: 1440px; margin: auto; padding: 28px 5%; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.logo { display: block; font-size: 2.25rem; font-weight: 900; letter-spacing: -.075em; line-height: .95; }
.logo span { display: block; font-size: .875rem; letter-spacing: .035em; line-height: 1.4; margin-left: 2px; }
nav { display: flex; gap: 28px; font-size: .875rem; }
nav a, .text-link { text-underline-offset: 6px; }
nav a:hover, .text-link:hover { text-decoration: underline; }
.header-actions { display: flex; align-items: center; gap: 25px; }
.order-link { display: inline-flex; align-items: center; gap: 8px; font-size: .875rem; }
.order-link span { display: inline-flex; justify-content: center; align-items: center; min-width: 25px; height: 25px; padding: 0 6px; background: #e8ece1; border-radius: 50%; font-size: .75rem; font-weight: 700; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 16px 25px; background: var(--lime); color: var(--graphite); border: 1px solid transparent; border-radius: 10px; font-size: 1rem; font-weight: 700; transition: background .15s, transform .15s; }
.button:hover:not(:disabled) { background: var(--lime-hover); transform: translateY(-2px); }
.button.small { min-height: 44px; padding: 12px 20px; font-size: .875rem; }
.button.secondary { background: transparent; color: var(--ink); border-color: var(--line); }
.button.secondary:hover:not(:disabled) { background: #eef1e8; }
.hero { max-width: 1376px; margin: 12px auto 0; padding: 48px; display: grid; grid-template-columns: 1.05fr 1fr; gap: 48px; background: var(--graphite); color: white; border-radius: 28px; }
.eyebrow { font-size: .75rem; font-weight: 700; letter-spacing: .08em; display: flex; align-items: center; gap: 10px; line-height: 1.5; }
.hero .eyebrow { color: #ccd3c5; }
.square { width: 8px; height: 8px; background: var(--lime); flex-shrink: 0; }
h1 { font-size: clamp(3.5rem, 6.2vw, 6rem); margin: 32px 0 24px; letter-spacing: -.065em; }
.hero h1 em { color: var(--lime); }
.hero-copy > p { max-width: 400px; color: #c3c8c0; font-size: 1rem; line-height: 1.7; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin-top: 30px; }
.text-link { font-size: .875rem; }
.hero .text-link { color: #fff; }
.hero-meta { display: flex; flex-wrap: wrap; gap: 22px 40px; border-top: 1px solid #3e4540; padding-top: 24px; margin-top: 35px; font-size: .875rem; color: #adb6a8; }
.hero-meta strong { display: block; color: #fff; font-size: 1.3rem; font-weight: 600; }
.hero-visual { position: relative; align-self: stretch; overflow: hidden; min-height: 520px; background: #e7e8e2; border-radius: 20px; }
.hero-visual img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.image-label { position: absolute; left: 20px; top: 20px; background: var(--lime); color: var(--ink); border-radius: 5px; padding: 10px 14px; font-size: .75rem; font-weight: 700; letter-spacing: .07em; }
.visual-caption { position: absolute; left: 0; right: 0; bottom: 0; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding: 22px; background: rgba(255,255,255,.95); color: var(--ink); font-size: .75rem; }
.ticker { max-width: 1376px; margin: 16px auto 0; display: flex; justify-content: space-around; align-items: center; overflow: hidden; gap: 30px; padding: 22px; border: 1px solid var(--line); border-radius: 14px; white-space: nowrap; font-size: 1.2rem; font-weight: 700; letter-spacing: -.02em; }
.ticker b { color: #739400; font-weight: 400; }
.section { max-width: 1440px; margin: auto; padding: 90px 5%; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 35px; margin-bottom: 34px; }
h2 { font-size: clamp(2.5rem, 4vw, 4rem); margin-top: 18px; }
.section-heading > p { color: var(--muted); font-size: 1rem; max-width: 340px; }
.filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }
.chip { background: transparent; padding: 11px 20px; border: 1px solid var(--line); border-radius: 30px; font-size: .875rem; }
.chip:hover { border-color: var(--ink); }
.chip.active { background: var(--ink); color: #fff; border-color: var(--ink); }
.products { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.products article { position: relative; padding: 28px; border: 1px solid var(--line); background: var(--white); border-radius: var(--radius); display: flex; flex-direction: column; min-height: 320px; transition: transform .15s, border-color .15s; }
.products article:hover { transform: translateY(-4px); border-color: #9ea994; }
.products article[hidden] { display: none; }
.products article:first-child { background: var(--lime); border-color: var(--lime); }
.products article:nth-child(2) { background: var(--graphite); border-color: var(--graphite); color: #fff; }
.products article:nth-child(2) p, .products article:nth-child(2) .tags, .products article:nth-child(2) .product-top { color: #c1c8bc; }
.products article:nth-child(2) .product-action { color: var(--lime); border-color: #42493e; }
.product-top { display: flex; justify-content: space-between; align-items: center; color: var(--muted); font-size: .75rem; letter-spacing: .05em; margin-bottom: 38px; }
.product-top > span:first-child { font-size: 1.2rem; font-weight: 600; letter-spacing: -.04em; }
h3 { font-size: 1.8rem; margin-bottom: 14px; letter-spacing: -.045em; }
.products p { font-size: .875rem; color: var(--muted); max-width: 280px; }
.products article:first-child p, .products article:first-child .tags, .products article:first-child .product-top { color: #3e4a21; }
.tags { color: var(--muted); font-size: .875rem; margin: 24px 0; }
.product-action { padding: 16px 0 0; background: transparent; border: 0; border-top: 1px solid var(--line); text-align: left; font-size: .875rem; font-weight: 700; color: var(--ink); margin-top: auto; }
.products article:first-child .product-action { border-color: #abc944; }
.calculator { display: grid; grid-template-columns: 1fr 1.35fr; gap: 45px 70px; border-top: 1px solid var(--line); align-items: start; }
.calc-intro h2 em { display: inline; }
.calc-intro > p { color: var(--muted); margin: 25px 0; max-width: 330px; }
.note { font-size: .875rem; color: var(--muted); border-left: 3px solid #a3c932; padding: 8px 14px; max-width: 420px; }
#calc-form { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); padding: 30px; min-width: 0; }
.form-heading { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin-bottom: 25px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.form-meta { font-size: .75rem; color: var(--muted); }
.fields { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 20px; }
label { display: block; font-size: .875rem; font-weight: 600; min-width: 0; }
input:not([type=checkbox]), select, textarea { display: block; width: 100%; min-height: 50px; margin-top: 9px; border: 1px solid var(--line); border-radius: 8px; background: #fafbf8; color: var(--ink); padding: 13px 12px; }
select { font-size: .875rem; }
textarea { resize: vertical; }
input[type=checkbox] { accent-color: #1b1e20; width: 20px; height: 20px; margin: 0; flex-shrink: 0; }
.check { display: flex; align-items: center; gap: 12px; margin: 25px 0; font-weight: 400; }
.upload { border: 1px dashed #a4b292; border-radius: 12px; padding: 18px; background: #f5f8ef; margin-top: 20px; }
.upload input { font-size: .875rem; border: none; background: transparent; padding: 8px 0 0; min-height: 30px; }
input[type=file]::file-selector-button { border: 1px solid var(--line); border-radius: 5px; padding: 7px 10px; background: #fff; color: var(--ink); font: inherit; margin-right: 10px; cursor: pointer; }
.photo-preview { display: flex; flex-wrap: wrap; gap: 10px; margin: 15px 0; }
.photo-preview:empty { margin: 0; }
.photo-preview img { width: 72px; height: 90px; object-fit: contain; background: white; border: 1px solid var(--line); border-radius: 3px; }
.photo-preview.bordered img { padding: 8px 8px 18px; }
.total { display: flex; justify-content: space-between; align-items: end; flex-wrap: wrap; gap: 20px; border-top: 1px solid var(--line); padding: 25px 0; margin: 20px 0 5px; }
.total span { font-size: .875rem; color: var(--muted); }
output { display: block; font-size: 3rem; line-height: 1.1; margin-top: 10px; font-weight: 700; letter-spacing: -.045em; }
.form-hint { font-size: .875rem; color: var(--muted); margin-top: 14px; }
.form-hint:empty { display: none; }
.order-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.order-actions .button { flex: 1; padding-left: 16px; padding-right: 16px; white-space: nowrap; font-size: .875rem; }
.order-panel { margin-top: 25px; background: #f3f6ed; border: 1px solid var(--line); padding: 20px; border-radius: 12px; }
.order-panel[hidden] { display: none; }
.order-panel h3 { font-size: 1.4rem; }
.order-panel ul { list-style: none; margin: 0; padding: 0; }
.order-panel li { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px 16px; padding: 16px 0; border-bottom: 1px solid var(--line); font-size: .875rem; }
.order-panel li strong, .order-panel li div span { display: block; }
.order-panel li div span { color: var(--muted); margin-top: 4px; }
.order-panel li button { grid-column: 1/-1; justify-self: start; padding: 4px 0; border: none; background: transparent; color: var(--muted); text-decoration: underline; text-underline-offset: 3px; font-size: .875rem; }
.order-total { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 20px; }
.order-total output { font-size: 1.8rem; margin: 0; }
.order-total span { font-size: .875rem; }
.price-details { grid-column: 1/-1; border-top: 1px solid var(--line); padding-top: 25px; }
.price-details summary { cursor: pointer; font-weight: 600; }
.price-scroll { overflow-x: auto; margin-top: 20px; border-radius: 12px; border: 1px solid var(--line); }
.price-details table { width: 100%; border-collapse: collapse; background: #fff; font-size: .875rem; }
.price-details caption { text-align: left; padding: 16px; }
.price-details th, .price-details td { padding: 13px 16px; text-align: left; border-bottom: 1px solid var(--line); }
.price-details th { background: #e9efdd; }
.price-details tr:last-child td { border: 0; }
.process { background: #e9eddf; border-radius: 28px; max-width: 1376px; }
.steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 30px; margin-top: 45px; }
.steps > div { padding-top: 20px; border-top: 1px solid #c3cdb5; }
.steps > div > span { display: inline-flex; padding: 5px 12px; background: var(--white); border-radius: 6px; font-size: .875rem; font-weight: 700; }
.steps h3 { font-size: 1.3rem; letter-spacing: -.035em; margin: 25px 0 14px; }
.steps p { font-size: .875rem; color: var(--muted); }
.guide { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; }
.guide > div > p { color: var(--muted); margin-top: 25px; }
.faqs details { border-bottom: 1px solid var(--line); padding: 22px 0; }
.faqs summary { cursor: pointer; font-weight: 600; line-height: 1.5; }
.faqs p { color: var(--muted); font-size: .875rem; margin-top: 16px; }
.closing { max-width: 1376px; margin: auto; border-radius: 28px; background: var(--graphite); color: #fff; text-align: center; padding: 75px 20px; }
.closing .eyebrow { justify-content: center; color: #c3c8bc; }
.closing h2 { font-size: clamp(3.2rem,6vw,5.8rem); margin: 25px 0 35px; }
.closing em { color: var(--lime); }
footer { padding-top: 45px; padding-bottom: 45px; color: var(--muted); font-size: .875rem; flex-wrap: wrap; }
footer .logo { color: var(--ink); font-size: 2rem; }
dialog { border: 1px solid var(--line); padding: 32px; max-width: 590px; width: calc(100% - 32px); max-height: 90vh; overflow: auto; border-radius: 20px; color: var(--ink); background: #fff; }
dialog::backdrop { background: rgba(16,20,17,.7); backdrop-filter: blur(3px); }
.dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.dialog-head h2 { font-size: 2rem; margin: 0; }
.dialog-head button { border: 0; background: #f0f3e9; border-radius: 8px; font-size: 1.7rem; padding: 0 10px; color: var(--ink); }
.dialog-head + p { color: var(--muted); font-size: .875rem; margin: 20px 0; }
dialog label { margin: 20px 0; }
dialog .note { margin: 20px 0; }
#saved { color: var(--ink); font-size: .875rem; margin-top: 15px; }
@media(min-width: 1600px) { .hero { gap: 65px; padding: 55px; } }
@media(max-width: 1450px) { .hero, .ticker, .process, .closing { margin-left: 24px; margin-right: 24px; } }
@media(max-width: 1100px) {
  header, footer { gap: 20px; } nav { gap: 18px; } .header-actions { gap: 16px; }
  .hero { padding: 35px; gap: 30px; } .hero-visual { min-height: 500px; }
  .calculator { gap: 40px; } #calc-form { padding: 25px; } .fields { grid-template-columns: 1fr; }
  .guide { gap: 40px; } .products article { padding: 24px; }
}
@media(max-width: 800px) {
  header { flex-wrap: wrap; padding: 24px; } nav { order: 3; width: 100%; justify-content: space-between; flex-wrap: wrap; }
  .hero { grid-template-columns: 1fr; padding: 35px; gap: 35px; } h1 { font-size: clamp(3.5rem,10vw,5rem); }
  .hero-visual { min-height: 420px; } .hero-copy > p { max-width: 530px; }
  .ticker { justify-content: start; font-size: 1rem; padding: 18px 22px; }
  .products { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .section { padding: 65px 5%; } .section-heading { display: block; } .section-heading > p { margin-top: 20px; }
  .calculator { grid-template-columns: 1fr; } .calc-intro > p { max-width: 500px; } .fields { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .steps { grid-template-columns: repeat(2,minmax(0,1fr)); } .guide { grid-template-columns: 1fr; gap: 30px; }
  .process { padding: 45px 30px; } .closing { padding: 65px 20px; }
}
@media(max-width: 520px) {
  header { gap: 20px; padding: 22px 20px; } .logo { font-size: 2rem; }
  .header-actions { gap: 14px; } .header-actions .small { padding: 12px 14px; } .order-link { font-size: .875rem; }
  nav { gap: 12px; font-size: .875rem; }
  .hero, .ticker, .process, .closing { margin-left: 12px; margin-right: 12px; border-radius: 20px; }
  .hero { padding: 25px; } .hero .eyebrow { font-size: .75rem; letter-spacing: .025em; }
  h1 { font-size: clamp(2.8rem,11vw,4rem); margin-top: 25px; }
  .hero-actions { gap: 20px; } .hero-visual { min-height: 310px; } .visual-caption { padding: 16px; }
  .hero-meta { gap: 24px; } .image-label { left: 16px; top: 16px; }
  .section { padding: 55px 20px; } h2 { font-size: 2.6rem; }
  .products { grid-template-columns: 1fr; } .products article { min-height: 285px; }
  .fields { grid-template-columns: 1fr; } #calc-form { padding: 20px; } .form-heading { flex-wrap: wrap; }
  .order-actions { flex-direction: column; } .order-actions .button { width: 100%; }
  .order-panel { padding: 16px; } .order-total { flex-wrap: wrap; } output { font-size: 2.7rem; }
  .steps { gap: 24px; } .steps h3 { font-size: 1.2rem; } .process { padding: 40px 25px; }
  .price-details th, .price-details td { padding: 12px; }
  dialog { padding: 25px; } .dialog-head h2 { font-size: 1.75rem; }
  footer { padding: 35px 20px; gap: 25px; }
}
@media(max-width: 360px) { .header-actions { gap: 8px; } .order-link { font-size: .75rem; } .steps { grid-template-columns: 1fr; } .hero { padding: 20px; } .hero-visual { min-height: 270px; } }
@media(prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
.photo-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:20px; font-size:.875rem; }
.photo-controls[hidden] { display:none; }
.photo-controls button,.photo-card-actions button { background:transparent; border:0; padding:8px 0; font-size:.8rem; text-decoration:underline; text-underline-offset:3px; color:var(--ink); }
.photo-preview { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.photo-card { min-width:0; padding:14px; border:1px solid var(--line); border-radius:12px; background:var(--paper); }
.photo-frame { display:flex; align-items:center; justify-content:center; height:200px; padding:12px; background:#e6eadf; border-radius:8px; margin-bottom:12px; }
.photo-frame canvas { max-width:100%; max-height:100%; width:auto; height:auto; box-shadow:0 2px 12px #1b1e201a; }
.photo-card > strong { display:block; font-size:.875rem; overflow-wrap:anywhere; }
.photo-dimensions { color:var(--muted); font-size:.75rem; }
.photo-quality { font-size:.75rem; margin:8px 0; }
.photo-quality[data-tone=good] { color:#38601b; }
.photo-quality[data-tone=medium] { color:#75570b; }
.photo-quality[data-tone=low],.missing-photos { color:#96452b !important; }
.photo-card-controls { display:grid; grid-template-columns:65px minmax(0,1fr); gap:8px; }
.photo-card-controls label,.photo-positions label { font-size:.75rem; }
.photo-card-controls input,.photo-card-controls select { padding:8px 5px; font-size:.75rem; min-height:40px; }
.photo-positions { margin-top:12px; }
.photo-positions[hidden] { display:none; }
.photo-positions input[type=range] { padding:0; min-height:24px; accent-color:#779b00; }
.photo-card-actions { display:flex; flex-wrap:wrap; gap:8px 15px; margin-top:8px; }
.attached-photos { overflow-wrap:anywhere; }
input[readonly] { background:#edf2e3; }
@media(max-width:1100px) and (min-width:801px), (max-width:520px) { .photo-preview { grid-template-columns:1fr; } .photo-controls { flex-wrap:wrap; } }
.photo-drop { padding:24px; border:1px dashed #99aa7d; border-radius:14px; margin:22px 0 12px; background:#f4f8eb; }
.photo-drop.drag-over { background:#e1f5b4; border-color:var(--ink); }
.photo-drop .upload { margin:0; background:var(--lime); }
.photo-drop p { font-size:.875rem; margin:14px 0 8px; }
.photo-workspace { padding:18px; margin:18px 0; border:1px solid var(--line); border-radius:12px; }
.photo-workspace[hidden],.photo-pagination[hidden],progress[hidden],.photo-tool-button[hidden],.photo-rejections[hidden] { display:none; }
.photo-toolbar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.photo-toolbar label { font-size:.8rem; }
.photo-selection-bar,.photo-pagination { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:15px 0; font-size:.8rem; }
.photo-selection-bar button,.photo-pagination button,.photo-tool-button { border:1px solid var(--line); border-radius:8px; background:white; color:var(--ink); padding:10px 12px; font-size:.8rem; }
.photo-selection-bar button:first-of-type { background:#eaf3d6; }
.photo-bulk summary,.photo-card summary,.photo-rejections summary { cursor:pointer; font-size:.8rem; padding:10px 0; }
.photo-bulk .photo-toolbar { margin-top:14px; }
.photo-select { display:flex; align-items:start; gap:8px; overflow-wrap:anywhere; font-size:.8rem; margin-bottom:12px; }
.photo-select input { flex-shrink:0; margin-top:3px; accent-color:#759a13; }
.photo-frame { height:150px; }
.photo-pagination { justify-content:space-between; }
.photo-rejections ul { max-height:220px; overflow:auto; font-size:.8rem; padding-left:20px; }
progress { display:block; width:100%; height:12px; margin:14px 0; accent-color:#8eb329; }
@media(max-width:520px) { .photo-toolbar { grid-template-columns:1fr; } .photo-workspace,.photo-drop { padding:14px; } }

.resume-orders,.resume-files { border:1px solid var(--line); padding:18px; margin:20px 0; border-radius:12px; background:#f4f8eb; }
.resume-orders[hidden],.resume-files[hidden],#resume-missing[hidden] { display:none; }
.draft-card { display:block; text-align:left; width:100%; padding:14px; border:1px solid var(--line); border-radius:9px; background:white; margin:10px 0; color:var(--ink); }
.draft-card strong,.draft-card span { display:block; overflow-wrap:anywhere; }
.draft-card strong { font-size:.85rem; }
.draft-card span { font-size:.8rem; color:var(--muted); margin-top:8px; }
.resume-files p,.resume-files li { font-size:.8rem; line-height:1.5; }
.resume-files .upload { margin:16px 0; }
.resume-files ul { max-height:220px; overflow:auto; padding-left:20px; }
.resume-files summary { cursor:pointer; margin-top:16px; font-size:.85rem; }
@media(max-width:520px) { .resume-orders,.resume-files { padding:14px; } }

.duplex-panel{margin:20px 0;padding:22px;border:1px solid #cbdba7;border-radius:16px;background:#f2f7e7}.duplex-panel[hidden]{display:none}.duplex-panel h3{font-size:1.4rem;margin:0 0 12px}.duplex-panel>p{font-size:.875rem}.duplex-pairs{display:grid;gap:14px;margin-top:18px}.duplex-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px;background:white;border:1px solid var(--line);border-radius:12px}.duplex-pair>strong{grid-column:1/-1}.duplex-pair label{font-size:.8rem}.duplex-pair select{max-width:100%}.photo-card-controls label[hidden]{display:none}@media(max-width:520px){.duplex-panel{padding:14px}.duplex-pair{grid-template-columns:1fr}.duplex-panel .photo-pagination{flex-wrap:wrap}}

/* Guided order preparation */
.flow-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0;margin:0 0 28px;font-size:.75rem;color:var(--muted)}
.flow-steps li{padding:12px 8px;border-bottom:3px solid var(--line);overflow-wrap:anywhere}
.flow-steps li.active{border-color:#83a521;color:var(--ink);font-weight:700;background:#f0f7df;border-radius:8px 8px 0 0}
.flow-steps li.done{border-color:var(--graphite);color:var(--ink)}
.flow-options{display:grid;gap:14px;margin:22px 0}
.flow-option{display:block;text-align:left;width:100%;padding:22px;border:1px solid var(--line);border-radius:14px;background:#fafbf8;color:var(--ink)}
.flow-option[aria-pressed=true]{border:2px solid var(--graphite);padding:21px;background:var(--lime)}
.flow-option strong,.flow-option span,.flow-option small{display:block}
.flow-option strong{font-size:1.1rem}.flow-option span{font-size:.875rem;margin-top:10px;line-height:1.65}.flow-option small{font-size:.75rem;margin-top:14px}
.flow-navigation{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.flow-navigation .button{font-size:.875rem;padding:16px 20px}
#flow-choice h3,#flow-upload h3,#flow-review h3{font-size:1.5rem}
#flow-studio-review>p{font-size:.875rem;color:var(--muted);margin:14px 0}
#flow-choice[hidden],#flow-upload[hidden],#flow-review[hidden],#flow-studio-review[hidden],#flow-self-settings[hidden],#flow-pricing[hidden],#flow-back[hidden],#flow-next[hidden],#legacy-brief[hidden],.photo-card details[hidden],#flow-crop-hint[hidden]{display:none!important}
#flow-project summary{font-size:.875rem;cursor:pointer;margin:18px 0}
.photo-card>button{padding:7px 0;border:0;background:transparent;text-decoration:underline;color:var(--muted);font-size:.8rem}
@media(max-width:520px){.flow-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.flow-navigation .button{width:100%}.flow-option{padding:18px}.flow-option[aria-pressed=true]{padding:17px}}

.flow-success{padding:24px;border:1px solid #bfd390;border-radius:16px;background:#f1f7e6}.flow-success[hidden]{display:none!important}.flow-success p{font-size:.875rem;margin:16px 0;overflow-wrap:anywhere}.flow-success .button{margin-top:8px}

.hero-visual img.hero-robot-photo { object-position: center 28%; }
