@font-face{font-family:Arabella;src:url('assets/fonts/arabella/Arabella-Terminal-Regular.woff2') format('woff2');font-display:swap}
:root{font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:#f6f3ec;font-synthesis:none;--ink:#382f45;--paper:#f6f3ec;--line:#d9d4ca;--muted:#625d66}*{box-sizing:border-box}html{scroll-padding-top:110px}body{margin:0}a{color:inherit}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}[hidden]{display:none!important}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #80678c;outline-offset:4px}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:white;padding:12px}.skip-link:focus{top:10px}
.commerce-main{max-width:1180px;margin:auto;padding:154px 40px 90px;min-height:calc(100svh - 312px)}.commerce-main.narrow{max-width:730px}.eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.8px;margin:0 0 16px}.intro{max-width:660px;margin-bottom:38px}h1,h2{font-family:Arabella,cursive;font-weight:400;line-height:1.12;letter-spacing:0}h1{font-size:clamp(52px,6vw,76px);margin:12px 0 22px}h2{font-size:38px;margin:0 0 16px}h3{font-size:19px;font-weight:550;margin:0 0 10px}p{line-height:1.7;margin:0 0 14px}.muted,.hint{color:var(--muted)}.hint{font-size:13px;line-height:1.65}.intro>p:last-child{font-size:17px;color:var(--muted)}.notice{padding:17px 20px;background:#e9e1ed;border:1px solid #d6c8dc;border-radius:9px;font-size:14px;line-height:1.6;margin-bottom:22px}.notice.error{background:#f5e4dc;border-color:#d6a994;color:#6f2e21}.notice.success{background:#e7ecdc;border-color:#bac59d}.notice a{font-weight:600}.commerce-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:42px;align-items:start}.form-section{border:0;border-top:1px solid var(--line);padding:28px 0 32px;margin:0;min-width:0}.form-section legend{float:left;width:100%;padding:0;margin:0 0 22px;font-size:17px;font-weight:600}.form-section legend~*{clear:both}.step{display:inline-grid;place-items:center;border:1px solid var(--ink);border-radius:50%;width:28px;height:28px;font-size:12px;margin-right:10px}.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.product{position:relative;display:block;border:1px solid #bfb8bc;border-radius:8px;padding:18px 14px;cursor:pointer;min-height:144px}.product:has(input:checked){border:2px solid var(--ink);padding:17px 13px;background:#ebe3ef}.product input{margin:0 0 18px;accent-color:var(--ink);width:17px;height:17px}.product-name{display:block;font-size:15px;font-weight:550}.product-price{display:block;font-size:26px;margin-top:8px;letter-spacing:-.8px}.product.digital{grid-column:1/-1;min-height:0;display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;padding:17px}.product.digital:has(input:checked){padding:16px}.product.digital input{margin:0}.product.digital .product-price{margin:0;font-size:23px}.product.digital .hint{grid-column:2/4;margin:0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:500}.field.full{grid-column:1/-1}input:not([type=checkbox],[type=radio],[type=file]),select{min-width:0;width:100%;padding:13px 12px;background:#fffdf8;color:var(--ink);border:1px solid #bfb8bc;border-radius:7px;font-size:16px;font-weight:400;min-height:48px}.file-input{display:block;width:100%;font-size:14px;line-height:1.5;padding:18px 14px;border:1px dashed #9d919e;border-radius:6px;background:#fffdf8}.file-input::file-selector-button{border:1px solid var(--ink);border-radius:4px;background:var(--ink);color:var(--paper);padding:10px 14px;font:inherit;margin-right:12px;cursor:pointer}.file-list{list-style:none;padding:0;margin:16px 0}.file-row{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.file-row img{width:44px;height:44px;object-fit:cover;border-radius:4px}.file-info{flex:1;min-width:0;font-size:14px;overflow-wrap:anywhere}.file-info small{display:block;color:var(--muted);margin-top:3px}.remove-file{border:1px solid var(--line);background:none;border-radius:50%;min-width:36px;height:36px;font-size:20px}.check{display:flex;align-items:flex-start;gap:12px;line-height:1.65;font-size:14px;margin:16px 0}.check input{flex-shrink:0;width:18px;height:18px;margin:4px 0 0;accent-color:var(--ink)}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:13px 21px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);border-radius:99px;text-decoration:none;font-size:15px;font-weight:500;line-height:1.4}.button:hover{background:#594168}.button.secondary{background:transparent;color:var(--ink)}.button.secondary:hover{background:#eae3e9}.button.full{width:100%}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:22px}.summary{position:sticky;top:122px;padding:25px;border:1px solid var(--line);border-radius:12px;background:#eee8df}.summary h2{font-size:34px}.summary dl{margin:20px 0}.summary dl>div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #d3ccbf;font-size:14px}.summary dd{margin:0;text-align:right;font-weight:500}.summary .summary-price{font-size:22px}.summary .hint{margin-bottom:0}.auth-card{padding:30px;border:1px solid var(--line);border-radius:12px;background:#fffdf8}.auth-card .field{margin-top:18px}.divider{display:flex;align-items:center;gap:15px;margin:28px 0;color:var(--muted);font-size:12px}.divider:before,.divider:after{content:'';height:1px;flex:1;background:var(--line)}.account-user{overflow-wrap:anywhere}.auth-card .button{width:100%}.orders-list{display:grid;gap:22px}.order-card{border:1px solid var(--line);border-radius:12px;padding:26px;background:#fffdf8;scroll-margin-top:122px}.order-card:target{outline:2px solid #9b82aa;outline-offset:3px}.order-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.order-heading h2{font-family:'DM Sans',Arial,sans-serif;font-size:20px;font-weight:550;margin:0 0 8px}.badge{padding:5px 10px;border-radius:30px;background:#ebe3ef;font-size:12px;white-space:nowrap}.order-details{display:flex;flex-wrap:wrap;gap:24px;margin:22px 0}.order-details div{min-width:100px}.order-details dt{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.7px}.order-details dd{margin:6px 0 0;font-size:14px}.order-card .hint{margin:10px 0 0}.empty-state{padding:44px 30px;text-align:center;border:1px dashed #b5a9b6;border-radius:8px}.privacy-note{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.loading{font-size:14px;color:var(--muted);padding:25px 0}.link-button{background:none;border:0;text-decoration:underline;text-underline-offset:4px;padding:8px 0;font-size:14px;color:var(--ink)}
/* Match the original landing page's Arabella proportions and action controls. */
:is(.commerce-main,.relief-main) :is(h1,h2){font-kerning:normal;font-variant-ligatures:common-ligatures contextual;width:calc(100% / .9);max-width:none;scale:.9 1.2;transform-origin:left center}
.order-heading h2{width:auto;scale:none}
.button{max-width:100%;text-align:center;overflow-wrap:anywhere}
.button>span{min-width:0}
@media(max-width:560px){.form-section>h2,.auth-card h2,.empty-state h2{font-size:clamp(28px,8.7vw,38px);text-wrap:balance}.summary h2{font-size:clamp(28px,8vw,34px)}}
/* The same camera and banana keep physical sizes directly comparable. */
.size-guide-note{max-width:550px;margin-bottom:20px}
.size-guide-note strong{color:var(--ink);font-weight:550}
.product-details{display:contents}
.digital-addon{grid-column:1/-1;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:12px;padding:17px;margin:0 0 8px;border:1px dashed #bfb0c7;border-radius:8px;cursor:pointer}
.digital-addon:has(input:checked){background:#ebe3ef;border-style:solid;border-color:#80678c}
.digital-addon:has(input:focus-visible){outline:3px solid #80678c;outline-offset:4px}
.digital-addon input{width:18px;height:18px;margin:0;accent-color:var(--ink)}
.digital-addon-copy{display:grid;gap:3px}
.digital-addon-title{font-size:14px;font-weight:550}
.digital-addon-copy .hint{font-size:12px}
.digital-addon-price{white-space:nowrap;font-size:16px;font-weight:550}
.summary dl>.summary-total{border-bottom:0;font-weight:600;align-items:center}
.summary dd{flex-shrink:0;max-width:55%;overflow-wrap:normal}
.summary-total dd{font-size:22px;white-space:nowrap}
@media(max-width:560px){.digital-addon{gap:10px;padding:15px 12px;align-items:start}.digital-addon input{margin-top:2px}.digital-addon-price{font-size:14px}.digital-addon-copy .hint{grid-column:1/-1}}
.product.physical,.product.physical:has(input:checked){padding:0;overflow:hidden;min-height:0}
.product.physical:has(input:checked){border-width:1px;box-shadow:inset 0 0 0 1px var(--ink)}
.product.physical input{position:absolute;top:12px;right:12px;margin:0;z-index:1}
.product-visual{display:block;width:100%;height:auto;aspect-ratio:5/4;object-fit:contain;background:#f6f3ec;border-bottom:1px solid var(--line)}
.product.physical .product-details{display:block;padding:16px 14px 18px}
.product.physical .product-price{margin-top:6px}
.product.physical:has(input:focus-visible){outline:3px solid #80678c;outline-offset:4px}
@media(hover:hover) and (pointer:fine){.product.physical:not(:has(input:checked)):hover{border-color:#80678c;background:#f1ece4}}
@media(max-width:560px){.products{grid-template-columns:1fr}.product.physical{display:grid;grid-template-columns:45% 1fr;align-items:center}.product.physical .product-visual{border-bottom:0;border-right:1px solid var(--line)}.product.physical .product-name{font-size:15px}.product.physical .product-details{padding:24px 16px}.product.physical .product-price{font-size:26px}}
/* Restore the original scan drop area inside the order form. */
.relief-order-products{grid-template-columns:1fr}.relief-choice .product-visual{aspect-ratio:1;max-height:460px}.relief-order-context{grid-column:1/-1}.relief-order-context .hint{margin:6px 0}.relief-choice .product-name{line-height:1.6}
.scan-file-input{position:absolute;width:1px;height:1px;margin:-1px;clip:rect(0,0,0,0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.scan-dropzone{min-height:197px;padding:23px 16px 22px;border:1px dashed #b9a7cf;background:#e8e1ef;border-radius:15px;display:flex;align-items:center;justify-content:center;flex-direction:column;cursor:pointer;text-align:center;color:#382f45;transition:background .2s,border-color .2s,box-shadow .2s}
.scan-add-icon{width:43px;height:43px;margin-bottom:11px}
.scan-drop-title{font-size:18px;font-weight:500;letter-spacing:-.025em}
.scan-drop-link{margin-top:6px;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.scan-file-hint{margin-top:17px;font-size:12px;color:#655670;line-height:1.6}
.scan-privacy{margin:12px 0 16px;text-align:center;text-wrap:balance}
.scan-privacy a{text-underline-offset:3px}
.scan-dropzone.is-dragging,.scan-file-input:focus-visible+.scan-dropzone{background:#ddd2ec;border-color:#80629f;box-shadow:inset 0 0 0 1px #80629f}
.scan-file-input:focus-visible+.scan-dropzone{outline:3px solid #80678c;outline-offset:4px}
.scan-file-input:disabled+.scan-dropzone{cursor:not-allowed}
.scan-file-input:disabled+.scan-dropzone .scan-drop-link{color:#655670;text-decoration:none}
.scan-availability{margin-top:12px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
.file-row[data-upload-state]{--upload-fill:#80678c;align-items:flex-start;border:1px solid var(--line);border-radius:8px;padding:14px;margin:10px 0;background:#fffdf8}
.file-row[data-upload-state] img,.file-type{flex:0 0 44px;width:44px;height:44px}
.file-type{display:grid;place-items:center;align-self:flex-start;padding:4px;border:1px solid #d6c8dc;border-radius:7px;background:#eee7f2;color:#594565;font-size:10px;font-weight:600;line-height:1.2;text-align:center;overflow-wrap:anywhere;text-transform:uppercase}
.file-name{display:block;font-weight:550;line-height:1.45;overflow-wrap:anywhere}
.file-info .file-meta{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.5;font-variant-numeric:tabular-nums}
.file-info .file-status{display:block;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.5;font-weight:500;overflow-wrap:anywhere}
.file-row[data-upload-state=uploading],.file-row[data-upload-state=confirming]{border-color:#b4a0c1;background:#f8f4fa}
.file-row[data-upload-state=uploading] .file-status,.file-row[data-upload-state=confirming] .file-status{color:#594565}
.file-row[data-upload-state=uploaded]{--upload-fill:#4e7155;border-color:#bbcbb9}
.file-row[data-upload-state=uploaded] .file-status{color:#35543d}
.file-row[data-upload-state=error],.file-row[data-upload-state=uncertain]{--upload-fill:#a76148;border-color:#d6a994;background:#fbf1eb}
.file-row[data-upload-state=error] .file-status,.file-row[data-upload-state=uncertain] .file-status{color:#773b2a}
.file-row[data-upload-state] .remove-file{flex:0 0 36px;align-self:flex-start;line-height:1}
.file-progress,.upload-total-progress{display:block;width:100%;max-width:100%;height:7px;border:0;border-radius:99px;overflow:hidden;appearance:none;accent-color:var(--upload-fill,#80678c);background:#ddd6e2}
.file-progress{margin:9px 0 2px}
.file-progress::-webkit-progress-bar,.upload-total-progress::-webkit-progress-bar{border-radius:99px;background:#ddd6e2}
.file-progress::-webkit-progress-value,.upload-total-progress::-webkit-progress-value{border-radius:99px;background:var(--upload-fill,#80678c)}
.file-progress::-moz-progress-bar,.upload-total-progress::-moz-progress-bar{border-radius:99px;background:var(--upload-fill,#80678c)}
.upload-panel{--upload-fill:#80678c;margin:18px 0;padding:18px;border:1px solid #d6c8dc;border-radius:10px;background:#eee7f2}
.upload-heading-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:12px}
.upload-heading-row h3{min-width:0;margin:0;font-size:16px;line-height:1.45;overflow-wrap:anywhere}
#upload-percent{flex-shrink:0;font-size:22px;font-weight:550;line-height:1.3;font-variant-numeric:tabular-nums}
.upload-total-progress{height:9px;margin:0 0 11px}
.upload-panel .upload-detail{margin:0;overflow-wrap:anywhere}
.upload-panel[data-state=complete]{--upload-fill:#4e7155;background:#e8ede4;border-color:#bbcbb9}
.upload-panel[data-state=complete] .upload-heading-row{color:#35543d}
.upload-panel[data-state=error]{--upload-fill:#a76148;background:#f8eae2;border-color:#d6a994}
.upload-panel[data-state=error] .upload-heading-row{color:#773b2a}
@media(max-width:380px){.file-row[data-upload-state]{gap:9px;padding:11px}.file-row[data-upload-state] img,.file-type{flex-basis:36px;width:36px;height:36px}.upload-panel{padding:14px}.upload-heading-row{gap:10px}.upload-heading-row h3{font-size:15px}}
@media(forced-colors:active){.file-row[data-upload-state],.file-type,.upload-panel{border-color:CanvasText}.file-progress,.upload-total-progress{appearance:auto;forced-color-adjust:auto}.file-progress::-webkit-progress-value,.upload-total-progress::-webkit-progress-value{background:Highlight}.file-progress::-moz-progress-bar,.upload-total-progress::-moz-progress-bar{background:Highlight}.file-progress::-webkit-progress-bar,.upload-total-progress::-webkit-progress-bar{background:Canvas}}
#file-error{margin-top:16px;overflow-wrap:anywhere}
@media(hover:hover) and (pointer:fine){.scan-file-input:not(:disabled)+.scan-dropzone:hover{background:#ddd2ec;border-color:#80629f;box-shadow:inset 0 0 0 1px #80629f}}
@media(max-width:540px){.scan-dropzone{min-height:185px}}
@media(prefers-reduced-motion:reduce){.scan-dropzone{transition:none}}
@media(forced-colors:active){.scan-dropzone{border-color:ButtonText}.scan-file-input:disabled+.scan-dropzone{color:GrayText;border-color:GrayText}.scan-dropzone.is-dragging{outline:3px solid Highlight}}
@media(max-width:850px){.commerce-layout{grid-template-columns:1fr;gap:0}.summary{position:static;grid-row:1;margin-bottom:32px}.summary dl{display:block;margin:10px 0}.summary h2{margin-bottom:8px}.summary .hint{max-width:600px}}
@media(max-width:560px){.commerce-main{padding:114px 22px 60px}.intro h1{font-size:clamp(38px,11vw,54px);line-height:1.08;text-wrap:balance}.button{font-size:14px;min-height:50px}.intro{margin-bottom:28px}.intro>p:last-child{font-size:16px}.products{gap:8px}.product{padding:14px 10px;min-height:140px}.product:has(input:checked){padding:13px 9px}.product-name{font-size:13px}.product-price{font-size:23px}.fields{grid-template-columns:1fr}.field.full{grid-column:auto}.auth-card{padding:23px}.order-card{padding:20px}.order-heading{display:block}.order-heading .badge{display:inline-block;margin-top:10px}.summary{padding:20px}.file-input{font-size:12px}.file-input::file-selector-button{padding:9px}.actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Keep controls and dynamic order content usable with keyboard, zoom and high contrast. */
input:not([type=checkbox],[type=radio],[type=file]),select,.product,.digital-addon,.remove-file{border-color:#877a8c}
.scan-dropzone{border-color:#80678c}
.product:has(input:focus-visible),.notice[tabindex="-1"]:focus,.order-card:focus-visible{outline:3px solid #80678c;outline-offset:4px}
.product.digital{grid-template-columns:22px minmax(0,1fr) auto}
.order-heading>div,.summary dl>div,.summary dt,.summary dd{min-width:0}
.order-card,.summary,.notice,.product-name{overflow-wrap:anywhere}
.remove-file,.file-row[data-upload-state] .remove-file{min-width:44px;height:44px;flex-basis:44px}
.saved-scans summary{cursor:pointer;min-height:44px;padding:10px 0;line-height:1.5}
.saved-scans summary:focus-visible{outline:3px solid #80678c;outline-offset:4px}
.check input{outline-offset:3px}
@media(max-width:380px){.digital-addon{grid-template-columns:18px minmax(0,1fr)}.digital-addon-price{grid-column:2}.product.digital .product-price{font-size:20px}}
@media(forced-colors:active){input:not([type=checkbox],[type=radio],[type=file]),select,.product,.digital-addon,.remove-file{border-color:ButtonText}.product:has(input:checked),.digital-addon:has(input:checked){outline:2px solid Highlight;outline-offset:-3px}.product:has(input:focus-visible),.notice[tabindex="-1"]:focus,.order-card:focus-visible,.saved-scans summary:focus-visible{outline-color:Highlight}}
