*{margin:0;padding:0;box-sizing:border-box}body{line-height:1.6}:root,[data-theme=dark]{--bg: #0e0d0b;--bg-elev: #15140f;--bg-card: #f6f2e9;--bg-card-ink: #181613;--bg-card-muted: #5b554a;--bg-card-rule: rgba(20, 17, 14, .18);--ink: #ebe6da;--ink-2: #c6c0b1;--ink-3: #8a8576;--ink-4: #4f4c44;--rule: rgba(235, 230, 218, .1);--rule-strong: rgba(235, 230, 218, .18);--accent: #b08a4a;--accent-ink: #efe1c4;--accent-soft: rgba(176, 138, 74, .12);--ok: #6f9a6a;--ok-soft: rgba(111, 154, 106, .14);--warn: #c9a14a;--warn-soft: rgba(201, 161, 74, .14);--danger: #c06a55;--danger-soft: rgba(192, 106, 85, .14);--native-control-scheme: dark;--shadow-card: 0 0 0 1px rgba(255, 255, 255, .035), 0 1px 2px rgba(0, 0, 0, .32), 0 8px 20px -10px rgba(0, 0, 0, .68);--shadow-card-hover: 0 0 0 1px rgba(255, 255, 255, .05), 0 2px 4px rgba(0, 0, 0, .34), 0 12px 28px -12px rgba(0, 0, 0, .72)}[data-theme=light]{--bg: #f3efe6;--bg-elev: #ebe6db;--bg-card: #fbf8f1;--bg-card-ink: #181613;--bg-card-muted: #5b554a;--bg-card-rule: rgba(20, 17, 14, .18);--ink: #1c1a16;--ink-2: #4a463d;--ink-3: #75705f;--ink-4: #a39d8b;--rule: rgba(28, 26, 22, .1);--rule-strong: rgba(28, 26, 22, .2);--accent: #8a6630;--accent-ink: #4d3a1d;--accent-soft: rgba(138, 102, 48, .12);--ok: #2d6a4f;--ok-soft: rgba(45, 106, 79, .12);--warn: #8a6630;--warn-soft: rgba(138, 102, 48, .12);--danger: #8b3a2b;--danger-soft: rgba(139, 58, 43, .12);--native-control-scheme: light;--shadow-card: 0 0 0 1px rgba(45, 38, 28, .035), 0 1px 2px rgba(45, 38, 28, .07), 0 7px 18px -10px rgba(45, 38, 28, .2);--shadow-card-hover: 0 0 0 1px rgba(45, 38, 28, .045), 0 2px 4px rgba(45, 38, 28, .09), 0 11px 24px -11px rgba(45, 38, 28, .24)}:root{--ff-display: "Cormorant Garamond", "EB Garamond", "Playfair Display", Georgia, serif;--ff-body: "Lora", "EB Garamond", Georgia, "Times New Roman", serif;--ff-ui: "Inter Tight", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--r-xs: 4px;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--s-9: 96px;--container-width: 1320px;--container-narrow: 800px;--header-height: 64px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}:root{--color-primary: var(--ink);--color-primary-light: var(--ink-2);--color-secondary: var(--accent);--color-secondary-light: var(--accent-ink);--color-accent: var(--accent);--color-accent-light: var(--accent-ink);--color-text: var(--ink);--color-text-light: var(--ink-2);--color-text-muted: var(--ink-3);--color-text-inverse: var(--bg);--color-bg: var(--bg);--color-bg-alt: var(--bg-elev);--color-bg-card: var(--bg-elev);--color-bg-dark: var(--bg);--color-border: var(--rule);--color-border-dark: var(--rule-strong);--color-border-light: var(--rule);--color-success: var(--ok);--color-success-bg: var(--ok-soft);--color-warning: var(--warn);--color-warning-bg: var(--warn-soft);--color-error: var(--danger);--color-error-bg: var(--danger-soft);--color-info: var(--accent);--color-info-bg: var(--accent-soft);--spacing-xs: var(--s-2);--spacing-sm: var(--s-4);--spacing-md: var(--s-5);--spacing-lg: var(--s-6);--spacing-xl: var(--s-7);--spacing-2xl: var(--s-8);--font-serif: var(--ff-display);--font-sans: var(--ff-ui);--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--radius-sm: var(--r-sm);--radius-md: var(--r-md);--radius-lg: var(--r-lg);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: var(--shadow-card)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--ff-ui);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;min-height:100vh}button{font-family:inherit}a{color:inherit;text-decoration:none}button,a,[role=button]{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,[role=button]{-webkit-user-select:none;user-select:none}button:focus:not(:focus-visible),a:focus:not(:focus-visible),[role=button]:focus:not(:focus-visible){outline:none}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent-soft);color:var(--ink)}.serif{font-family:var(--ff-body)}.display{font-family:var(--ff-display);letter-spacing:-.01em}.ui{font-family:var(--ff-ui)}.cyr{font-feature-settings:"locl" 1}.muted{color:var(--ink-3)}.center{text-align:center}.container{max-width:var(--container-width);margin:0 auto;padding:0 var(--s-5);width:100%}.container-narrow{max-width:var(--container-narrow);margin:0 auto;padding:0 var(--s-5);width:100%}.spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.5}50%{opacity:.85}}.skeleton{animation:pulse 1.6s ease-in-out infinite;background:var(--bg-elev);border-radius:var(--r-sm)}.nav{position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--bg) 88%,transparent);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border-bottom:1px solid var(--rule)}.nav-row{display:flex;align-items:center;gap:var(--s-5);height:64px}.brand{display:flex;align-items:center;gap:10px;font-family:var(--ff-display);font-size:24px;font-weight:600;letter-spacing:-.01em;color:var(--ink);text-decoration:none;cursor:pointer}.brand-mark{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink-3);border-radius:50%;font-family:var(--ff-display);font-style:italic;font-size:16px;color:var(--ink)}.nav-links{display:flex;gap:4px;align-items:center;font-family:var(--ff-ui);font-size:13px;margin-left:var(--s-4)}.nav-link{padding:8px 12px;border-radius:999px;color:var(--ink-2);text-decoration:none;cursor:pointer;font-weight:500;letter-spacing:.01em;border:0;background:transparent;font-family:var(--ff-ui);font-size:13px;white-space:nowrap;transition:color .15s,background .15s}.nav-link:hover{color:var(--ink);background:var(--rule)}.nav-link.active{color:var(--ink);background:var(--rule-strong)}.nav-link.back-link{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;line-height:1}.back-link-icon{flex:0 0 auto}.nav-spacer{flex:1}@media (max-width: 860px){.nav-links{display:none}}.search-btn{display:flex;align-items:center;gap:8px;padding:8px 12px 8px 10px;background:var(--bg-elev);border:1px solid var(--rule);border-radius:999px;color:var(--ink-3);font-size:13px;font-family:var(--ff-ui);cursor:pointer;min-width:220px}.search-btn:hover{border-color:var(--rule-strong);color:var(--ink-2)}.search-btn kbd{margin-left:auto;font-family:var(--ff-ui);font-size:11px;padding:2px 6px;background:var(--bg);border:1px solid var(--rule);border-radius:4px;color:var(--ink-3)}@media (max-width: 1280px){.search-btn{min-width:0}.search-btn span,.search-btn kbd{display:none}}@media (max-width: 1100px){.nav .brand-wordmark{display:none}.nav .brand{gap:0}}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 36px;background:var(--bg-elev);border:1px solid var(--rule);border-radius:999px;color:var(--ink-2);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.icon-btn:hover{color:var(--ink);border-color:var(--rule-strong)}.cta{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:var(--ink);color:var(--bg);border-radius:999px;font-size:13px;font-weight:600;font-family:var(--ff-ui);border:0;cursor:pointer;letter-spacing:.01em;text-decoration:none}.cta:hover{background:var(--ink-2)}.cta:disabled{opacity:.5;cursor:not-allowed}.cta.ghost{background:transparent;color:var(--ink);border:1px solid var(--rule-strong)}.cta.ghost:hover{background:var(--rule)}.cta.danger{background:var(--danger);color:#fff}.cta.danger:hover{background:var(--danger);opacity:.88}.hero{padding:var(--s-7) 0 var(--s-6);border-bottom:1px solid var(--rule)}.hero h1{font-family:var(--ff-display);font-weight:500;font-size:clamp(40px,5vw,64px);line-height:1.05;letter-spacing:-.02em;margin:0 0 var(--s-3);color:var(--ink)}.hero .lede{font-family:var(--ff-body);font-size:18px;color:var(--ink-2);max-width:620px;line-height:1.55;margin:0}.hero .meta{display:flex;gap:var(--s-4);align-items:center;margin-top:var(--s-5);font-family:var(--ff-ui);font-size:12px;color:var(--ink-3);letter-spacing:.02em;text-transform:uppercase;flex-wrap:wrap}.hero .meta span+span:before{content:"·";margin-right:var(--s-4);color:var(--ink-4)}.filter-bar{position:sticky;top:64px;z-index:40;background:color-mix(in oklab,var(--bg) 92%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--rule);padding:var(--s-4) 0}.filter-row{display:flex;gap:var(--s-3);align-items:center;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;background:var(--bg-elev);border:1px solid var(--rule);border-radius:999px;font-size:12.5px;color:var(--ink-2);cursor:pointer;font-family:var(--ff-ui);font-weight:500;letter-spacing:.01em;transition:all .15s;white-space:nowrap}.chip:hover{color:var(--ink);border-color:var(--rule-strong)}.chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chip:disabled{opacity:.55;cursor:wait}.chip .count{font-size:11px;color:var(--ink-3);font-variant-numeric:tabular-nums}.chip.on .count{color:color-mix(in oklab,var(--bg) 70%,var(--ink))}.filter-divider{width:1px;height:20px;background:var(--rule);margin:0 var(--s-2)}.filter-select{appearance:none;padding:7px 28px 7px 12px;background:var(--bg-elev);border:1px solid var(--rule);border-radius:999px;color:var(--ink-2);font-size:12.5px;font-family:var(--ff-ui);font-weight:500;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%238a8576' d='M0 0h10L5 6z'/></svg>");background-repeat:no-repeat;background-position:right 10px center}.filter-select:hover{color:var(--ink)}.grid-wrap{padding:var(--s-6) 0 var(--s-9)}.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;grid-auto-flow:row dense;gap:var(--s-4);align-items:stretch}[data-density=comfy] .bento{gap:var(--s-5)}[data-density=compact] .bento{gap:var(--s-3)}.cell{position:relative;height:100%;display:flex}.cell>.card{flex:1;width:100%}.cell.full{grid-column:span 4}.cell.half{grid-column:span 2}.cell.quarter{grid-column:span 1}@media (max-width: 1100px){.bento{grid-template-columns:repeat(4,1fr)}.cell.full,.cell.half{grid-column:span 4}.cell.quarter{grid-column:span 2}}@media (max-width: 640px){.bento{grid-template-columns:repeat(2,1fr);gap:var(--s-3)}.cell.full,.cell.half{grid-column:span 2}.cell.quarter{grid-column:span 1}}.card{position:relative;background:var(--bg-card);color:var(--bg-card-ink);border-radius:2px;box-shadow:var(--shadow-card);overflow:hidden;cursor:default;transition:transform .2s ease,box-shadow .2s ease;font-family:var(--ff-body)}.cell[role=button] .card{cursor:pointer}.cell[role=button] .card:hover{transform:translateY(-1px);box-shadow:var(--shadow-card-hover)}.card-type-tag{position:absolute;top:var(--s-3);right:var(--s-3);font-family:var(--ff-ui);font-size:9.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--bg-card-muted);background:#0000000a;padding:4px 8px;border-radius:2px;z-index:5;pointer-events:none}.card-footer{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;font-family:var(--ff-ui);font-size:9px;line-height:1.2;letter-spacing:.1em;text-transform:uppercase;color:var(--bg-card-muted);padding:8px 14px 9px;border-top:1px solid var(--bg-card-rule);background:var(--bg-card)}.card-size-label{color:var(--bg-card-ink);font-weight:600}.card-pad-full{padding:56px 64px}.card-pad-half{padding:36px 40px 48px}.card-pad-quarter{padding:24px 24px 40px}@media (max-width: 700px){.card-pad-full{padding:32px 28px 44px}.card-pad-half{padding:24px 20px 40px}.card-pad-quarter{padding:18px 16px 36px}}.photo{background:#d8d2c5;filter:grayscale(1) contrast(.95);display:block;object-fit:cover}.photo.color{filter:none}.religious-symbol{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;line-height:0;vertical-align:middle}.religious-symbol>svg{display:block;max-width:100%;max-height:100%}.life-dates{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;width:100%;max-width:560px;margin-left:auto;margin-right:auto;color:var(--bg-card-ink)}.life-date{min-width:0;font-weight:500;font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap}.life-date-birth{padding-right:12px;text-align:right}.life-date-death{padding-left:12px;text-align:left}.life-dates-none .life-date-birth{padding-right:6px}.life-dates-none .life-date-death{padding-left:6px}.tpl-classic .frame-rule{border:2px solid var(--bg-card-ink);padding:6px;border-radius:1px}.tpl-bordered .frame-rule{border:1px solid var(--bg-card-ink);padding:4px;outline:1px solid var(--bg-card-ink);outline-offset:4px;border-radius:1px}.tpl-minimal .frame-rule{border:none}.tpl-ornate .frame-rule{border:1px solid var(--bg-card-ink);padding:8px;position:relative;border-radius:1px}.tpl-ornate .frame-rule:before,.tpl-ornate .frame-rule:after{content:"";position:absolute;left:4px;right:4px;height:3px;border-top:1px solid var(--bg-card-ink);border-bottom:1px solid var(--bg-card-ink)}.tpl-ornate .frame-rule:before{top:4px}.tpl-ornate .frame-rule:after{bottom:4px}.divider{height:1px;background:var(--bg-card-rule);margin:var(--s-3) 0}.tiny-cap{font-family:var(--ff-ui);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--bg-card-muted)}.section{padding:var(--s-7) 0}.section-title{font-family:var(--ff-display);font-weight:500;font-size:28px;letter-spacing:-.01em;margin:0 0 var(--s-5);color:var(--ink)}.form-group{display:block;margin-bottom:var(--s-5)}.form-label{display:block;font-family:var(--ff-ui);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-bottom:8px}.form-label .req{color:var(--accent);margin-left:2px}.form-input,.form-textarea,.form-select{width:100%;padding:12px 14px;background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--r-md);color:var(--ink);font-family:var(--ff-body);font-size:15px;outline:none;transition:border-color .15s,background .15s}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--accent);background:var(--bg)}.form-input:is([type=date],[type=time],[type=datetime-local],[type=month]){color-scheme:var(--native-control-scheme)}.form-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.82}.form-textarea{resize:vertical;min-height:100px;line-height:1.55}.form-helper{font-family:var(--ff-ui);font-size:11px;color:var(--ink-3);margin-top:6px;display:flex;justify-content:space-between}.photo-source-picker{min-width:0}.photo-source-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-2);margin-bottom:var(--s-3)}.photo-source-option{display:flex;min-width:0;min-height:76px;padding:8px;align-items:center;gap:9px;appearance:none;background:var(--bg);border:1px solid var(--rule);border-radius:var(--r-md);color:var(--ink-2);cursor:pointer;font-family:var(--ff-ui);font-size:11px;font-weight:600;line-height:1.3;text-align:left}.photo-source-option:hover{border-color:var(--rule-strong)}.photo-source-option.on{background:var(--accent-soft);border-color:var(--accent);color:var(--ink)}.photo-source-option img{width:42px;height:56px;flex:0 0 auto;border-radius:2px;filter:grayscale(1);object-fit:cover}.photo-source-option>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.photo-source-icon{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border:1px solid var(--rule-strong);border-radius:50%;color:var(--ink-3);font-size:20px;font-weight:400}@media (max-width: 640px){.photo-source-options{grid-template-columns:1fr}.photo-source-option{min-height:52px}.photo-source-option img{width:34px;height:44px}}.obituary-reference-field{position:relative}.obituary-reference-results{position:absolute;z-index:30;top:calc(100% - 18px);left:0;right:0;overflow:hidden;background:var(--bg-elev);border:1px solid var(--rule-strong);border-radius:var(--r-md);box-shadow:0 18px 42px #00000047}.obituary-reference-result{display:flex;flex-direction:column;gap:3px;width:100%;padding:11px 14px;appearance:none;background:transparent;border:0;border-bottom:1px solid var(--rule);color:var(--ink);text-align:left;cursor:pointer}.obituary-reference-result:last-child{border-bottom:0}.obituary-reference-result:hover,.obituary-reference-result:focus-visible{background:var(--accent-soft);outline:none}.obituary-reference-result span{font-family:var(--ff-display);font-size:16px;font-weight:600}.obituary-reference-result small{color:var(--ink-3);font-size:11px}.obituary-reference-message{display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:12px 14px;color:var(--ink-3);font-size:12px;text-align:center}.obituary-reference-selected{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:10px 12px;background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--r-md)}.obituary-reference-selected div{display:flex;flex-direction:column;gap:2px;min-width:0}.obituary-reference-selected strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.obituary-reference-selected span{color:var(--ink-3);font-size:11px}.submit-options{padding-top:var(--s-7);padding-bottom:var(--s-7)}.submit-type-grid{display:flex;gap:var(--s-3);margin-bottom:var(--s-7);flex-wrap:wrap}.submit-type-heading{display:none}.submit-type-card{flex:1 1 240px;padding:20px 24px;appearance:none;background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--r-lg);color:var(--ink);cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.submit-type-card.on{background:var(--accent-soft);border-color:var(--accent)}.submit-size-heading{font-family:var(--ff-ui);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-bottom:var(--s-4)}.submit-size-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-4)}.submit-size-toolbar .submit-size-heading{margin-bottom:0}.currency-switcher{display:inline-flex;align-items:center;gap:4px}.currency-switcher .chip{min-width:48px;justify-content:center;padding:5px 10px;font-size:11px}.pricing-error{display:flex;align-items:center;justify-content:center;gap:var(--s-2);margin-top:var(--s-3);color:var(--danger);font-size:12px}.pricing-error .nav-link{color:inherit}.submit-size-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--s-4)}.submit-size-helper{display:none}.submit-continue{display:flex;justify-content:flex-end;margin-top:var(--s-7)}.submit-form{padding-top:var(--s-6);padding-bottom:var(--s-9)}.submit-form-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:var(--s-5)}.submit-order-summary{display:flex;align-items:center;gap:var(--s-3)}.submit-order-description{color:var(--ink-3);font-family:var(--ff-ui);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.submit-order-price{color:var(--ink);font-family:var(--ff-display);font-size:14px;font-weight:700}.submit-photo-row{display:flex;align-items:flex-start;gap:12px}.submit-photo-preview{width:96px;height:120px;flex:0 0 96px;overflow:hidden;background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--r-sm)}.submit-photo-upload{flex:1;min-width:0}.submit-photo-hint{margin:8px 0 0;color:var(--ink-3);font-size:11px}.submit-photo-color{display:flex;align-items:center;gap:8px;margin:10px 0 0 108px;color:var(--ink-2);font-size:12px;cursor:pointer}.submit-pay-action{display:flex;justify-content:flex-end;margin-top:var(--s-6)}.size-card{width:100%;background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--r-lg);padding:var(--s-5);color:var(--ink);cursor:pointer;text-align:left;appearance:none;transition:border-color .15s,background .15s}.size-card.on{border-color:var(--accent);background:var(--accent-soft)}.size-card-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--s-4)}.size-card-chars{font-size:12px;color:var(--ink-3)}.size-card-foot{display:flex;align-items:baseline;justify-content:space-between}.size-card-selected{font-size:12px;color:var(--accent);font-weight:600}.size-card .price{font-family:var(--ff-display);font-size:32px;font-weight:500;color:var(--ink)}.size-card .label{font-family:var(--ff-ui);font-size:12px;font-weight:600;color:var(--ink-3);letter-spacing:.05em;text-transform:uppercase}.size-label-mobile{display:none}@media (hover: hover){.submit-type-card:hover,.size-card:hover{border-color:var(--rule-strong)}.submit-type-card.on:hover,.size-card.on:hover{border-color:var(--accent)}}@media (max-width: 600px){.submit-hero .container,.submit-options{padding-left:16px;padding-right:16px}.submit-options{padding-top:var(--s-5);padding-bottom:var(--s-6)}.submit-type-grid{display:grid;grid-template-columns:1fr;gap:var(--s-3);margin-bottom:var(--s-6)}.submit-type-heading{display:block;margin-bottom:10px;font-family:var(--ff-ui);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.submit-type-card{width:100%;padding:16px 18px}.submit-type-card .display{font-family:var(--ff-ui);font-size:18px!important;letter-spacing:0}.submit-size-heading,.submit-size-toolbar{margin-bottom:var(--s-3)}.submit-size-toolbar .submit-size-heading{margin-bottom:0}.submit-size-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3)}.size-card{min-width:0;padding:10px 8px;display:flex;flex-direction:column}.size-card-head{flex-direction:column-reverse;align-items:center;justify-content:flex-end;gap:10px;margin-bottom:7px}.size-card-copy{min-width:0;text-align:center}.size-card-head svg{width:50px;height:36px}.size-card-chars,.size-card-selected{display:none}.size-card .label{font-size:10px;line-height:1.25;letter-spacing:.025em;white-space:nowrap}.size-label-desktop{display:none}.size-label-mobile{display:inline}.size-card-foot{margin-top:auto;display:block;text-align:center}.size-card .price{font-family:var(--ff-ui);font-size:26px;font-weight:600;line-height:1}.size-card .price span{font-size:16px!important}.submit-size-helper{display:block;margin-top:10px;font-size:11px;color:var(--ink-3)}.submit-continue{margin-top:var(--s-6)}.submit-continue .cta{width:100%;justify-content:center;min-height:48px}}.tpl-thumb{background:var(--bg-card);color:var(--bg-card-ink);aspect-ratio:4 / 3;border-radius:var(--r-sm);border:2px solid transparent;cursor:pointer;transition:border-color .15s,transform .15s;position:relative;overflow:hidden}.tpl-thumb:hover{transform:translateY(-1px)}.tpl-thumb.on{border-color:var(--accent)}.tpl-thumb-name{font-family:var(--ff-ui);font-size:11px;color:var(--ink-3);margin-top:6px;text-align:center}.preview-stage{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--r-lg);padding:var(--s-5);position:sticky;top:80px;max-height:calc(100vh - 100px);overflow:auto}.preview-stage-label{display:flex;justify-content:space-between;align-items:center;font-family:var(--ff-ui);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-bottom:var(--s-4)}.submit-mobile-preview{display:none}.manage-page{padding-top:var(--s-7);padding-bottom:var(--s-9)}.manage-header{display:flex;justify-content:space-between;gap:var(--s-4);align-items:flex-start;flex-wrap:wrap;margin-bottom:var(--s-5)}.manage-status-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-2);color:var(--ink-3)}.manage-countdown{margin:var(--s-2) 0 0;color:var(--accent);font-family:var(--ff-ui);font-size:17px;font-weight:600;line-height:1.4}.manage-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);gap:var(--s-7);align-items:start}.manage-editor{min-width:0}.manage-editor .panel>h2{margin:0 0 var(--s-4)}.manage-readonly-notice{margin-bottom:var(--s-4)}.manage-feedback{margin:0 0 var(--s-4);padding:11px 14px;border:1px solid transparent;border-radius:var(--r-md);font-family:var(--ff-ui);font-size:13px;font-weight:500;line-height:1.45}.manage-feedback-error{background:var(--danger-soft);border-color:color-mix(in oklab,var(--danger) 28%,transparent);color:var(--danger)}.manage-feedback-success{background:var(--ok-soft);border-color:color-mix(in oklab,var(--ok) 28%,transparent);color:var(--ok)}.manage-select-group{position:relative}.manage-select-group .form-input{appearance:none;padding-right:44px}.manage-select-group:after{content:"";position:absolute;right:18px;bottom:19px;width:6px;height:6px;border-right:1.5px solid var(--ink-3);border-bottom:1.5px solid var(--ink-3);pointer-events:none;transform:rotate(45deg)}.manage-preview{min-width:0}.manage-preview-note{font-size:10px;color:var(--ink-4)}.manage-preview-paper{padding:var(--s-4);border-radius:var(--r-md);background:var(--bg)}@media (max-width: 980px){.manage-layout{grid-template-columns:minmax(0,1fr);gap:var(--s-5)}.manage-preview{position:static;order:-1;max-height:none}}@media (max-width: 640px){.manage-page{padding-top:var(--s-5)}.manage-header{margin-bottom:var(--s-4)}.manage-countdown{font-size:15px}.manage-preview{padding:var(--s-4)}.manage-preview-paper{padding:var(--s-2)}.manage-preview .bento{grid-template-columns:1fr}.manage-preview .cell.full,.manage-preview .cell.half,.manage-preview .cell.quarter{grid-column:span 1}}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-family:var(--ff-ui);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.neutral{background:var(--rule);color:var(--ink-3)}.panel{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--r-lg);padding:var(--s-5)}.search-overlay{position:fixed;inset:0;background:#0000008c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:200;display:flex;align-items:flex-start;justify-content:center;padding:80px 20px}.search-modal{width:100%;max-width:640px;background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--r-lg);overflow:hidden;box-shadow:0 32px 80px #00000080}.search-input{width:100%;padding:18px 20px;background:transparent;border:0;border-bottom:1px solid var(--rule);color:var(--ink);font-family:var(--ff-body);font-size:18px;outline:none}.nav{padding-top:env(safe-area-inset-top,0px)}.mobile-task-header{display:none}.bottom-tabs{display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;align-items:stretch;padding:8px 6px calc(8px + env(safe-area-inset-bottom,0px));background:color-mix(in oklab,var(--bg) 86%,transparent);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border-top:1px solid var(--rule)}.bottom-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:0;cursor:pointer;padding:4px 2px;color:var(--ink-4);font-family:var(--ff-ui);font-size:10px;font-weight:600;letter-spacing:.01em}.bottom-tab svg{display:block}.bottom-tab.on{color:var(--ink)}.bottom-tab.submit{color:var(--accent)}@media (max-width: 768px){.nav.nav-mobile-task-hidden{display:none}.mobile-task-header{display:block;position:sticky;top:0;z-index:50;padding-top:env(safe-area-inset-top,0px);background:color-mix(in oklab,var(--bg) 88%,transparent);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border-bottom:1px solid var(--rule)}.mobile-task-header-row{min-height:64px;display:flex;align-items:center;gap:12px;padding:0 16px}.mobile-task-header h1{margin:0;font-family:var(--ff-ui);font-size:21px;font-weight:650;line-height:1.2;letter-spacing:-.015em}.mobile-task-back{width:38px;height:38px;flex:0 0 38px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--rule);border-radius:50%;background:var(--bg-elev);color:var(--ink-2);cursor:pointer}.mobile-task-back:active{background:var(--rule)}.submit-hero h1,.submit-form-back{display:none}.submit-form-toolbar{justify-content:flex-start}.submit-order-summary{width:100%;min-height:50px;justify-content:space-between;padding:11px 14px;background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--r-md)}.submit-order-description{min-width:0;font-size:10px;letter-spacing:.055em}.submit-order-price{flex:0 0 auto;font-family:var(--ff-ui);font-size:17px;font-weight:650}.submit-photo-row{align-items:center;padding:10px;background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--r-md)}.submit-photo-preview{width:58px;height:72px;flex-basis:58px}.submit-photo-upload{display:flex;flex-direction:column;align-items:flex-start}.submit-photo-hint{margin-top:7px;font-size:10px}.submit-photo-color{margin-left:0}.preview-stage-desktop{display:none}.submit-mobile-preview{display:block;margin-top:var(--s-6)}.submit-mobile-preview-label{display:flex;align-items:center;gap:12px;margin-bottom:var(--s-4);color:var(--ink-3);font-family:var(--ff-ui);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.submit-mobile-preview-label:before,.submit-mobile-preview-label:after{content:"";height:1px;flex:1;background:var(--rule)}.submit-mobile-preview-paper{width:100%;max-width:320px;margin:0 auto}.submit-mobile-preview .bento{grid-template-columns:1fr}.submit-mobile-preview .cell.full,.submit-mobile-preview .cell.half,.submit-mobile-preview .cell.quarter{grid-column:span 1}.submit-pay-action .cta{width:100%;min-height:48px;justify-content:center}.bottom-tabs{display:flex}.nav-desktop-only{display:none!important}body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}.site-footer{display:none}.hero{padding:var(--s-5) 0 var(--s-4)}.hero h1{font-size:clamp(30px,8vw,40px)}.hero .lede{font-size:15px}.hero .home-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:0;align-items:stretch}.hero .home-stats span{display:flex;min-width:0;align-items:center;justify-content:center;padding:0 6px;text-align:center;line-height:1.3}.hero .home-stats span+span{border-left:1px solid var(--rule)}.hero .home-stats span+span:before{content:none}.search-btn{min-width:0}}.filterbar-mobile{display:none}@media (max-width: 768px){.filter-bar{display:none}.filterbar-mobile{display:flex;align-items:center;gap:8px;position:sticky;top:calc(64px + env(safe-area-inset-top,0px));z-index:40;padding:10px 16px;background:color-mix(in oklab,var(--bg) 92%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--rule)}}.filterbar-mobile .filter-count{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:600}.sheet-scrim{position:fixed;inset:0;z-index:200;background:#00000080;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:flex-end;animation:sheetScrimIn .2s ease}@keyframes sheetScrimIn{0%{opacity:0}to{opacity:1}}.sheet{width:100%;background:var(--bg-elev);border-top-left-radius:22px;border-top-right-radius:22px;border-top:1px solid var(--rule-strong);padding:10px 18px calc(28px + env(safe-area-inset-bottom,0px));max-height:82vh;overflow-y:auto;animation:sheetUp .26s cubic-bezier(.2,.7,.2,1)}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-grip{width:38px;height:4px;border-radius:999px;background:var(--ink-4);margin:4px auto 14px}.sheet h3{font-family:var(--ff-display);font-size:20px;font-weight:600;margin:0 0 14px;color:var(--ink)}.sheet-label{display:block;font-family:var(--ff-ui);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin:16px 0 8px}.sheet-chiprow{display:flex;flex-wrap:wrap;gap:8px}@media (max-width: 520px){.bento{grid-template-columns:1fr;grid-auto-rows:max-content;gap:var(--s-4);align-items:start}.cell.full,.cell.half,.cell.quarter{grid-column:span 1;height:auto;align-self:start}.cell.full>.card{min-height:clamp(480px,145vw,620px)}.cell.half>.card{min-height:clamp(340px,103vw,450px)}.cell.quarter>.card{min-height:clamp(240px,70vw,310px)}.cell>.tpl-centered{display:flex;flex-direction:column}.cell>.tpl-centered>[class^=card-pad-]{display:flex;flex:1;flex-direction:column;justify-content:center}.cell>.tpl-centered .centered-card{width:100%}}.toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%);padding:14px 20px;background:var(--ink);color:var(--bg);font-family:var(--ff-ui);font-size:13px;border-radius:999px;z-index:300;box-shadow:0 16px 48px #0006;animation:toastIn .25s ease-out}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.detail-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-5)}.detail-action-message{min-height:1.5em;margin:var(--s-2) 0 0;color:var(--ink-3);font-family:var(--ff-ui);font-size:12px;text-align:center}@media (max-width: 520px){.detail-actions{align-items:stretch}.detail-actions .cta{flex:1 1 calc(50% - var(--s-3));justify-content:center}.detail-actions .cta:not(.ghost){flex-basis:100%}}.print-view{min-height:100vh;padding:28px 20px 56px;background:#ddd8ce}.print-toolbar{position:sticky;top:16px;z-index:20;display:flex;justify-content:flex-end;gap:10px;width:min(210mm,100%);margin:0 auto 20px}.print-status{padding:64px 20px;color:var(--ink-2);text-align:center}.print-sheet{width:min(210mm,100%);min-height:297mm;margin:0 auto;padding:12mm;background:#fff;box-shadow:0 20px 70px #18140f2e}.print-sheet .card-render-print{width:100%;min-height:273mm;height:auto}.print-sheet .card-render-print>.card{min-height:273mm;box-shadow:none}@page{size:A4 portrait;margin:0}@media print{html,body,#root{width:210mm;min-height:297mm;background:#fff!important}.print-view{min-height:297mm;padding:0;background:#fff}.print-toolbar,.print-status{display:none!important}.print-sheet{width:210mm;height:297mm;min-height:297mm;margin:0;padding:12mm;box-shadow:none;overflow:hidden}.print-sheet .card-render-print,.print-sheet .card-render-print>.card{width:100%;height:273mm;min-height:273mm;max-height:273mm;break-inside:avoid;page-break-inside:avoid}.print-sheet,.print-sheet *{-webkit-print-color-adjust:exact;print-color-adjust:exact}}h1,h2,h3,h4,h5,h6{font-family:var(--ff-display);line-height:1.2;color:var(--ink)}._uploader_1mj5r_1{margin-bottom:var(--spacing-sm)}._dropZone_1mj5r_5{border:2px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg);text-align:center;cursor:pointer;transition:all var(--transition-fast);background:var(--color-bg)}._dropZone_1mj5r_5:hover,._active_1mj5r_16{border-color:var(--color-secondary);background:var(--color-bg-alt)}._fileInput_1mj5r_21{display:none}._icon_1mj5r_25{font-size:2rem;margin-bottom:var(--spacing-xs)}._text_1mj5r_30{color:var(--color-text);font-size:var(--font-size-sm)}._mobileText_1mj5r_35{display:none}._hint_1mj5r_39{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:.25rem}._error_1mj5r_45{color:var(--color-error);font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}@media (max-width: 768px){._compactOnMobile_1mj5r_52{margin:0}._compactOnMobile_1mj5r_52 ._dropZone_1mj5r_5{display:inline-flex;align-items:center;min-height:36px;padding:7px 12px;border:1px solid var(--rule-strong);border-radius:999px;background:transparent;text-align:left}._compactOnMobile_1mj5r_52 ._dropZone_1mj5r_5:hover,._compactOnMobile_1mj5r_52 ._active_1mj5r_16{background:var(--rule);border-color:var(--rule-strong)}._compactOnMobile_1mj5r_52 ._icon_1mj5r_25,._compactOnMobile_1mj5r_52 ._desktopText_1mj5r_74,._compactOnMobile_1mj5r_52 ._hint_1mj5r_39{display:none}._compactOnMobile_1mj5r_52 ._mobileText_1mj5r_35{display:block;margin:0;color:var(--ink-2);font-family:var(--ff-ui);font-size:12px;font-weight:600;line-height:1}}._manager_eqojx_1{margin-top:var(--spacing-sm)}._grid_eqojx_5{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--spacing-sm);margin-top:var(--spacing-sm)}._item_eqojx_12{position:relative;border:2px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-bg)}._primary_eqojx_20{border-color:var(--color-accent)}._thumb_eqojx_24{width:100%;height:120px;object-fit:cover;display:block}._badge_eqojx_31{position:absolute;top:4px;left:4px;background:var(--color-accent);color:#fff;font-size:var(--font-size-xs);padding:1px 6px;border-radius:var(--radius-sm)}._itemActions_eqojx_42{display:flex;gap:2px;padding:4px;justify-content:center;background:var(--color-bg-alt)}._itemActions_eqojx_42 button{background:var(--color-bg-card);border:1px solid var(--color-border);padding:2px 8px;cursor:pointer;font-size:var(--font-size-xs);border-radius:var(--radius-sm);transition:background var(--transition-fast)}._itemActions_eqojx_42 button:hover{background:var(--color-bg-alt)}._deleteBtn_eqojx_64{color:var(--color-error)!important}._error_eqojx_68{color:var(--color-error);font-size:var(--font-size-sm);margin:var(--spacing-xs) 0}._hint_eqojx_74{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-xs);text-align:center}._pagination_16a4p_1{display:flex;align-items:center;justify-content:center;gap:.25rem;padding:var(--spacing-lg) 0;flex-wrap:wrap}._btn_16a4p_10,._pageBtn_16a4p_11{background:var(--color-bg-card);border:1px solid var(--color-border);color:var(--color-text);padding:.5rem .75rem;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);transition:all var(--transition-fast)}._btn_16a4p_10:hover:not(:disabled),._pageBtn_16a4p_11:hover:not(._active_16a4p_23){background:var(--color-bg-alt);border-color:var(--color-border-dark)}._btn_16a4p_10:disabled{opacity:.4;cursor:not-allowed}._active_16a4p_23{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}._ellipsis_16a4p_39{padding:0 .5rem;color:var(--color-text-muted)}@media (max-width: 640px){._btn_16a4p_10{font-size:var(--font-size-xs);padding:.4rem .5rem}._pageBtn_16a4p_11{padding:.4rem .6rem}}
