:root{--bg: #0e0f13;--bg-2: #15171d;--panel: #1a1d24;--panel-2: #21252e;--line: #2b3039;--text: #eef1f6;--muted: #98a0ad;--accent: #d4af37;--accent-2: #6ea8fe;--ok: #4ecb71;--radius: 12px;--shadow: 0 10px 30px rgba(0, 0, 0, .35);font-family:Helvetica Neue,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(1200px 800px at 70% -10%,#1c2030 0%,var(--bg) 55%);color:var(--text);-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer}.hero{min-height:100vh;display:grid;place-items:center;text-align:center;padding:2rem}.hero-inner{max-width:720px}.hero .eyebrow{letter-spacing:.4em;text-transform:uppercase;font-size:.72rem;color:var(--accent);margin-bottom:1.2rem}.hero h1{font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.02;margin:0 0 1rem;font-weight:700;letter-spacing:-.02em}.hero h1 .grad{color:#e6d09a}.hero p{color:var(--muted);font-size:1.12rem;line-height:1.6;margin:0 auto 2.2rem;max-width:560px}.btn-primary{background:#191a1b;color:#f4ead2;border:1px solid rgba(212,175,55,.7);padding:.95rem 1.15rem .95rem 1.45rem;border-radius:7px;font-weight:700;letter-spacing:.035em;font-size:1.02rem;box-shadow:0 12px 26px #00000047,inset 0 1px #ffffff0d;transition:transform .16s ease,background .16s ease,border-color .16s ease}.btn-primary span{display:inline-block;margin-left:1rem;color:var(--accent);transition:transform .16s ease}.btn-primary:hover{transform:translateY(-2px);background:#25231d;border-color:#e2c778}.btn-primary:hover span{transform:translate(3px)}.btn-primary:disabled{opacity:.6;cursor:default;transform:none}.hero-features{display:flex;gap:1.6rem;justify-content:center;margin-top:2.6rem;flex-wrap:wrap;color:var(--muted);font-size:.9rem}.hero-features span:before{content:"◆";color:var(--accent);margin-right:.5rem}.configurator{display:grid;grid-template-columns:1fr 420px;height:100vh;overflow:hidden}@media (max-width: 980px){.configurator{display:flex;flex-direction:column;width:100vw;max-width:100%;height:100%;min-height:0;min-width:0;overflow:hidden}.paid-banner{flex:0 0 auto;margin:10px 14px 0}.stage{flex:0 0 clamp(140px,38%,460px);min-height:0;min-width:0;width:100%}.configurator.stationery-workspace .stage{flex-basis:clamp(260px,46%,520px)}.panel{flex:1 1 auto;min-height:0;min-width:0;width:100%;border-left:0;border-top:1px solid var(--line)}.panel-body{padding:8px 18px 20px;min-width:0;overflow-x:hidden}}.stage{position:relative;overflow:hidden;background:radial-gradient(900px 700px at 50% 30%,#262b38,#0d0e12 70%)}.stage-canvas{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none}.stage canvas{touch-action:none!important}.stage-toolbar{position:absolute;top:16px;left:16px;right:16px;display:flex;gap:8px;align-items:center;z-index:5}.workspace-controls{position:absolute;z-index:6;top:16px;right:16px;display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:#0000007a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.workspace-controls button{min-width:42px;min-height:38px;padding:7px 11px;border:0;border-radius:999px;background:transparent;color:var(--text);font-size:.82rem;font-weight:700}.workspace-controls button:hover,.workspace-controls button:focus-visible{background:var(--accent);color:#201a08;outline:none}.stage-hint{position:absolute;bottom:14px;left:0;right:0;text-align:center;color:var(--muted);font-size:.8rem;pointer-events:none}.side-toggle{display:inline-flex;background:#00000059;border:1px solid var(--line);border-radius:999px;padding:3px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.side-toggle button{background:transparent;border:none;color:var(--muted);padding:6px 16px;border-radius:999px;font-weight:600;font-size:.85rem}.side-toggle button.active{background:var(--accent);color:#201a08}.chip{background:#00000059;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:6px 12px;font-size:.8rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.chip.spin{color:var(--text)}.mobile-help{display:none}.panel{background:var(--bg-2);border-left:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column}.panel-head{padding:20px 22px 8px;flex:0 0 auto;background:var(--bg-2);z-index:2}.panel-head h2{margin:0;font-size:1.05rem;letter-spacing:.02em}.panel-head .brand{color:var(--accent);font-weight:700}.tabs{display:flex;gap:4px;margin-top:14px;border-bottom:1px solid var(--line)}.tabs button{background:none;border:none;color:var(--muted);padding:8px 12px;font-weight:600;font-size:.86rem;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.panel-body{padding:8px 22px 24px;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}@media (max-height: 780px),(max-width: 600px){.panel-head{padding:10px 22px 0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:12px}.panel-head .crumbs{padding-bottom:0}.panel-head .crumbs-trail{display:none}.panel-head h2{font-size:.98rem}.panel-head .tabs{grid-column:1 / -1;margin-top:8px}.summary{padding:10px 22px calc(10px + env(safe-area-inset-bottom))}.summary .summary-list{display:none}}@media (max-width: 600px){.stage{flex-basis:clamp(170px,32%,320px);min-height:0}.configurator.stationery-workspace .stage{flex-basis:clamp(250px,42%,390px)}.stage-toolbar{top:10px;left:10px;right:10px;align-items:stretch}.side-toggle{flex:0 0 auto}.side-toggle button,.side-toggle.panels button{min-height:44px;padding:8px 13px}.interaction-help{flex:1 1 auto;min-width:0;min-height:44px;display:flex;align-items:center;padding:6px 10px;line-height:1.2}.stationery-workspace .stage-toolbar .interaction-help{display:none}.workspace-controls{top:auto;left:10px;right:10px;bottom:34px;display:grid;grid-template-columns:1.25fr .75fr .75fr 1.25fr;border-radius:12px}.workspace-controls button{min-height:44px;padding:8px 6px}.desktop-help{display:none}.mobile-help{display:inline}.stage-hint{bottom:8px;padding:0 14px;font-size:.74rem;line-height:1.25}.panel{position:relative;z-index:1}.panel-head{padding:12px 14px 0}.crumbs{gap:8px}.crumbs-trail{display:none}.crumb-back{min-height:40px;padding-inline:14px}.panel-head h2{font-size:.95rem}.tabs{margin-top:8px}.tabs button{flex:1;min-height:44px;padding:8px 6px;font-size:.78rem}.panel-body{padding:6px 14px 20px}.opt,select,input[type=text],input[type=number],textarea{min-height:44px}.summary{padding:8px 14px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg-2)}.summary-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.summary-actions .btn-share,.summary-actions .btn-finish{width:100%;min-height:48px;margin:0;font-size:.78rem}.price-row{margin-bottom:7px}.btn-finish{min-height:44px}.fold-control{display:none}.side-toggle.panels{width:100%}.side-toggle.panels button{flex:1;padding-inline:5px;font-size:.7rem}}.group{margin:18px 0}.group>label,.group-label{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:8px}.opt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.opt-grid.cols-3{grid-template-columns:repeat(3,1fr)}.opt{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:10px;font-size:.85rem;text-align:left;transition:border-color .12s,background .12s;line-height:1.25}.opt small{display:block;color:var(--muted);font-size:.72rem;margin-top:2px}.opt:hover{border-color:#3a4150}.opt.active{border-color:var(--accent);background:var(--panel-2);box-shadow:inset 0 0 0 1px var(--accent)}.swatch{width:100%;height:22px;border-radius:6px;margin-bottom:6px;border:1px solid rgba(255,255,255,.12)}input[type=text],input[type=number],textarea{width:100%;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:9px 11px;font:inherit;font-size:.9rem}input:focus,textarea:focus{outline:none;border-color:var(--accent-2)}.field{margin-bottom:12px}.field label{display:block;font-size:.78rem;color:var(--muted);margin-bottom:5px}.row{display:flex;gap:10px}.row>*{flex:1}.filedrop{border:1px dashed #3a4150;border-radius:10px;padding:16px;text-align:center;color:var(--muted);font-size:.85rem;background:var(--panel)}.filedrop strong{color:var(--text)}.logo-mode{margin-bottom:12px}.logo-upload-grid{display:grid;gap:12px}.logo-upload-grid.is-split{grid-template-columns:repeat(2,minmax(0,1fr))}.logo-side-upload .field-label{display:block;margin-bottom:7px}.logo-side-upload .filedrop{min-height:96px;display:flex;flex-direction:column;justify-content:center;gap:5px}.logo-remove{margin-top:5px;border:0;background:transparent;color:#ff9d9d;text-decoration:underline;cursor:pointer;font:inherit}.logo-side-upload .filedrop:focus-visible{outline:2px solid var(--accent-2);outline-offset:3px}@media (max-width: 640px){.logo-upload-grid.is-split{grid-template-columns:1fr}}.finish{border:1px solid #3a4150;border-radius:12px;margin-bottom:14px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 70%),var(--panel);box-shadow:0 8px 20px #0000001f}.finish-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 13px;background:var(--panel-2)}.finish-title{flex:1}.finish-title b{display:block;color:var(--accent);font-size:.74rem;letter-spacing:.11em;text-transform:uppercase}.finish-title small{display:block;color:var(--muted);font-size:.74rem;margin-top:2px}.finish-body{padding:3px 13px 13px;border-top:1px solid var(--line)}.finish-order-actions{display:flex;gap:5px}.finish-order-actions button{width:30px;height:30px;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--muted);cursor:pointer}.finish-order-actions button:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.finish-order-actions button:disabled{opacity:.32;cursor:default}.finish-intro{margin:-2px 0 12px;color:var(--muted);font-size:.74rem;line-height:1.45}.finish-reference-gallery{margin:0 0 16px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#ffffff06}.finish-reference-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.finish-reference-heading b{color:var(--text);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.finish-reference-heading span{color:var(--muted);font-size:.68rem}.finish-reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.finish-reference-card{min-width:0;margin:0;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text);text-align:left}button.finish-reference-card:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px)}.finish-reference-card:disabled{cursor:not-allowed;opacity:.58}.finish-reference-card img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;border-bottom:1px solid var(--line)}.finish-reference-card>span,.finish-reference-card figcaption{display:grid;gap:3px;padding:8px}.finish-reference-card b{font-size:.72rem}.finish-reference-card small{min-height:2.6em;color:var(--muted);font-size:.65rem;line-height:1.3}.finish-reference-card em{color:var(--accent);font-size:.62rem;font-style:normal;letter-spacing:.06em;text-transform:uppercase}.finish-reference-card.is-reference em{color:var(--muted)}@media (max-width: 620px){.finish-reference-grid{grid-template-columns:1fr}.finish-reference-card{display:grid;grid-template-columns:108px minmax(0,1fr)}.finish-reference-card img{height:100%;min-height:96px;aspect-ratio:auto;border-right:1px solid var(--line);border-bottom:0}.finish-reference-card small{min-height:0}}.finish-colour-reference{margin-top:7px;color:var(--muted);font-size:.69rem;line-height:1.3}.toggle{width:42px;height:24px;border-radius:999px;background:#333a46;border:none;position:relative;transition:background .15s;flex:0 0 auto}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s}.toggle.on{background:var(--accent)}.toggle.on:after{transform:translate(18px)}.mini-label{font-size:.72rem;color:var(--muted);margin:8px 0 5px}select{width:100%;background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:7px 9px;font:inherit;font-size:.85rem}.swatch-row{display:flex;gap:6px;flex-wrap:wrap}.swatch-btn{width:30px;height:30px;border-radius:8px;border:2px solid transparent}.swatch-btn.active{border-color:var(--text)}.swatch-btn:focus-visible,.finish-order-actions button:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.summary{border-top:1px solid var(--line);background:var(--panel);padding:14px 22px;flex:0 0 auto}.summary-list{font-size:.82rem;color:var(--muted);max-height:96px;overflow-y:auto;margin-bottom:10px;line-height:1.5}.summary-list b{color:var(--text);font-weight:600}.material-opt{align-items:center;text-align:left}.material-copy{display:grid;min-width:0;gap:1px}.material-name{min-width:0;font-weight:600}.material-opt small{display:block;width:100%;margin-left:0}.material-opt .material-supplier{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.material-opt .material-reference{color:var(--muted);font-size:.69rem;line-height:1.2}.material-legend{display:block;margin-top:4px;color:var(--muted);font-weight:400;line-height:1.25}.material-summary{margin-top:3px;font-size:.76rem;line-height:1.35}.price-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.price-row .price{font-size:1.4rem;font-weight:700}.price-row .price small{font-size:.8rem;color:var(--muted);font-weight:400}.btn-finish{width:100%;background:linear-gradient(180deg,#e9c766,var(--accent));color:#201a06;border:none;padding:13px;border-radius:10px;font-weight:700;font-size:1rem;cursor:pointer;transition:filter .15s ease}.btn-finish:hover:not(:disabled){filter:brightness(1.05)}.btn-finish:disabled{opacity:.6;cursor:default}.summary-actions{display:flex;gap:8px;align-items:stretch}.summary-actions .btn-finish{flex:1}.btn-share{white-space:nowrap}.share-link input{width:100%;margin-top:8px;padding:8px 10px;border-radius:8px;border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:.82rem}.paid-banner{position:relative;margin:0 0 12px;padding:12px 40px 12px 14px;border-radius:10px;background:color-mix(in srgb,var(--ok) 16%,transparent);border:1px solid var(--ok);color:var(--text);font-size:.9rem}.paid-close{position:absolute;top:6px;right:8px;background:none;border:none;font-size:1.1rem;line-height:1;color:var(--muted);cursor:pointer}.quote{margin-bottom:12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#0000002e}.quote-head{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.quote-line{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:.82rem;padding:3px 0;color:var(--muted)}.quote-line .ql-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quote-line .ql-amt{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}.quote-total{margin-top:6px;padding-top:8px;border-top:1px solid var(--line);font-size:1rem;font-weight:700;color:var(--text)}.quote-total .ql-name{color:var(--text)}.quote-total small{font-size:.72rem;font-weight:400;color:var(--muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:grid;place-items:center;z-index:50;padding:20px}.modal{background:var(--bg-2);border:1px solid var(--line);border-radius:16px;max-width:560px;width:100%;padding:26px;box-shadow:var(--shadow);max-height:88vh;overflow-y:auto}.modal h2{margin:0 0 6px}.modal .ok-badge{color:var(--ok);font-weight:700}.path{background:#0c0d10;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.82rem;color:var(--accent-2);word-break:break-all;margin:12px 0}.file-list{list-style:none;padding:0;margin:8px 0 0}.file-list li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:.86rem}.file-list li span:first-child{font-family:ui-monospace,Menlo,monospace;color:var(--text)}.file-list li span:last-child{color:var(--muted);text-align:right}.spinner{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:14px auto}@keyframes spin{to{transform:rotate(360deg)}}.err{color:#ff8a8a;font-size:.9rem}.modal-actions{display:flex;gap:10px;margin-top:18px}.btn-ghost{flex:1;background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:11px;font-weight:600}.swatch-row{display:flex;flex-wrap:wrap;gap:6px}.frame-opt{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:8px}.frame-preview{height:72px;background:#f4f2ec;border-radius:5px;display:block}.frame-filters{display:flex;gap:6px;overflow-x:auto;padding:2px 1px 9px;scrollbar-width:thin}.frame-filters button{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);padding:7px 11px;font-size:.68rem;letter-spacing:.035em}.frame-filters button:hover,.frame-filters button.active{border-color:var(--accent);color:var(--text);background:var(--panel-2)}.frame-library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.frame-opt{min-width:0}.frame-copy{display:grid;gap:2px;text-align:left}.frame-copy b{font-family:Didot,Georgia,serif;font-size:.82rem;font-weight:500}.frame-copy small{min-height:2.5em}.frame-copy em{color:var(--accent-2);font-size:.59rem;font-style:normal;letter-spacing:.09em;text-transform:uppercase}.frame-placement{margin:12px 0 2px;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}.frame-placement legend{padding:0 6px;color:var(--text);font-size:.72rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.frame-placement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.frame-placement-grid button{min-width:0;padding:9px 7px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--text);text-align:left}.frame-placement-grid button:hover{border-color:#636b78}.frame-placement-grid button.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.frame-placement-grid b,.frame-placement-grid small{display:block}.frame-placement-grid b{font-size:.72rem}.frame-placement-grid small{margin-top:2px;color:var(--muted);font-size:.62rem}.frame-placement p{margin:8px 1px 0;color:var(--muted);font-size:.66rem;line-height:1.4}.frame-placement-note{display:grid;gap:3px;margin:12px 0 2px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.frame-placement-note b{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.frame-placement-note span{color:var(--muted);font-size:.68rem}@media (max-width:420px){.frame-placement-grid{grid-template-columns:1fr}.frame-placement-grid button{display:flex;justify-content:space-between;gap:8px}}.preset-gallery{margin:10px -5px 25px;padding:18px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));border-radius:15px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel-2) 86%,#b99a62 14%),var(--panel));box-shadow:0 12px 34px #00000021}.preset-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.preset-heading h3{margin:3px 0 4px;font:500 1.22rem/1.1 Didot,Georgia,serif;color:var(--text)}.preset-heading p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.45;max-width:300px}.preset-heading .eyebrow{color:var(--accent-2);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase}.preset-refresh{flex:0 0 auto;border:1px solid color-mix(in srgb,var(--accent) 58%,var(--line));border-radius:999px;background:transparent;color:var(--text);padding:8px 11px;font-size:.68rem;font-weight:650}.preset-refresh:hover{background:var(--panel-2);transform:translateY(-1px)}.preset-refresh span{display:inline-block;margin-right:4px;font-size:.9rem}.preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;animation:preset-arrive .28s ease both}.preset-card{min-width:0;padding:0;overflow:hidden;text-align:left;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--text);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.preset-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 70%,white);box-shadow:0 9px 18px #0000002e}.preset-card.active{border-color:var(--accent-2);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-2) 26%,transparent)}.preset-preview{display:block;width:100%;aspect-ratio:1.6;background:#f7f3e9;border-bottom:1px solid var(--line)}.preset-copy{display:grid;gap:4px;padding:9px}.preset-copy b{font:500 .82rem/1.15 Didot,Georgia,serif}.preset-copy small{color:var(--muted);font-size:.62rem;line-height:1.35;min-height:2.7em}.preset-copy em{color:var(--accent-2);font-style:normal;font-size:.57rem;letter-spacing:.08em;text-transform:uppercase}@keyframes preset-arrive{0%{opacity:.55;transform:translateY(4px)}to{opacity:1;transform:none}}@media (max-width:700px){.preset-heading{align-items:center}.preset-heading p{display:none}.preset-grid{grid-template-columns:1fr}.preset-card{display:grid;grid-template-columns:42% 1fr}.preset-preview{height:100%;border:0;border-right:1px solid var(--line)}.preset-copy small{min-height:0}.frame-library{grid-template-columns:1fr}}.finish-type{flex:1;background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:7px 9px;font:inherit;font-size:.86rem;font-weight:600}.finish-remove{background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:8px;width:34px;flex:0 0 auto;font-size:.8rem}.finish-remove:hover{color:#ff8a8a;border-color:#7a3a3a}.add-finish{width:100%;background:var(--panel);border:1px dashed #3a4150;color:var(--text);border-radius:10px;padding:11px;font-weight:600;margin-top:4px}.add-finish:hover{border-color:var(--accent);color:var(--accent)}.stylebar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}.stylebar select{width:auto;flex:1 1 120px;min-width:110px;padding:6px 8px;font-size:.82rem}.range-control{min-width:0}.range-control-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:7px}.range-control-head label{color:var(--muted);font-size:.76rem}.range-control-head output{color:var(--text);font-size:.78rem;font-variant-numeric:tabular-nums;font-weight:650}.range-control input[type=range]{display:block;width:100%;height:30px;margin:0;padding:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer}.range-control input[type=range]::-webkit-slider-runnable-track{height:5px;border-radius:999px;background:linear-gradient(90deg,var(--accent) 0 var(--range-progress),#343a46 var(--range-progress) 100%)}.range-control input[type=range]::-moz-range-track{height:5px;border-radius:999px;background:#343a46}.range-control input[type=range]::-moz-range-progress{height:5px;border-radius:999px;background:var(--accent)}.range-control input[type=range]::-webkit-slider-thumb{width:18px;height:18px;margin-top:-6.5px;border:2px solid var(--panel-2);border-radius:50%;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:#f1cf6a;box-shadow:0 0 0 1px #f1cf6a59,0 2px 6px #00000059}.range-control input[type=range]::-moz-range-thumb{width:16px;height:16px;border:2px solid var(--panel-2);border-radius:50%;background:#f1cf6a;box-shadow:0 0 0 1px #f1cf6a59,0 2px 6px #00000059}.range-control input[type=range]:focus-visible{outline:2px solid var(--accent-2);outline-offset:4px;border-radius:999px}.logo-size-control{margin-top:12px;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.type-size-control{flex:1 1 150px;padding:3px 8px 2px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.type-size-control .range-control-head{margin-bottom:1px}.type-size-control input[type=range]{height:20px}.sq{width:32px;height:30px;border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:8px;display:inline-flex;align-items:center;justify-content:center}.sq.on{border-color:var(--accent);color:var(--accent);background:var(--panel-2)}.align-group{display:inline-flex;gap:4px}.production-colour-control{margin-top:10px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.production-colour-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:7px}.production-colour-head>span{color:var(--muted);font-size:.76rem}.production-colour-head strong{color:var(--text);font-size:.72rem;font-weight:600;font-variant-numeric:tabular-nums;text-align:right}.production-colour-swatches{display:flex;flex-wrap:wrap;gap:8px}.production-colour-swatches button{width:34px;height:34px;padding:4px;border:1px solid var(--line);border-radius:50%;background:var(--panel-2);cursor:pointer}.production-colour-swatches button span{display:block;width:100%;height:100%;border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 1px #fff2}.production-colour-swatches button.selected{border-color:var(--accent-2);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-2) 35%,transparent)}.production-colour-control p{margin:7px 0 0;color:var(--muted);font-size:.68rem;line-height:1.35}.type-colour-control{flex:1 1 100%;margin-top:2px}.production-colour-swatches button:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.picker{min-height:100vh;background:radial-gradient(1200px 700px at 50% -10%,#fffdf5,#f7f2e4 60%,#f1ead8);color:#2b2622;display:grid;place-items:center;padding:48px 24px 64px}.picker-inner{width:100%;max-width:1120px;text-align:center}.stepper-nav{display:inline-flex;align-items:center;gap:0;margin-bottom:34px}.stepper-nav .step{display:inline-flex;align-items:center;gap:9px;color:#b3a892;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.stepper-nav .step-num{width:24px;height:24px;border-radius:50%;border:1.5px solid #d8cdb2;display:grid;place-items:center;font-size:.78rem;color:#b3a892}.stepper-nav .step.active{color:#7a1f2b}.stepper-nav .step.active .step-num{background:#7a1f2b;border-color:#7a1f2b;color:#fff}.stepper-nav .step.done .step-num{border-color:#7a1f2b;color:#7a1f2b}.stepper-nav .step-sep{width:46px;height:1px;background:#ddd2b8;margin:0 16px}.picker-title{font-family:Didot,Bodoni MT,Georgia,serif;font-size:clamp(2rem,4.4vw,3.1rem);font-weight:500;letter-spacing:-.01em;margin:0 0 12px;color:#241d19}.picker-sub{color:#8c8272;max-width:620px;margin:0 auto 40px;line-height:1.6;font-size:1rem}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}@media (max-width: 900px){.product-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.picker{padding:34px 16px 48px;overflow-x:hidden}.picker-inner{min-width:0}.product-grid{grid-template-columns:1fr;gap:24px}.stepper-nav{width:100%;justify-content:center}.stepper-nav .step{gap:5px;font-size:.66rem;letter-spacing:.05em}.stepper-nav .step:not(.active) .step-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.stepper-nav .step-sep{width:18px;margin:0 7px}.product-meta{display:grid;gap:4px}}.product-card{background:transparent;border:none;padding:0;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:12px}.product-shot{aspect-ratio:4 / 3.2;background:#e3e0d9;border-radius:6px;display:grid;place-items:center;padding:14%;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.product-shot img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 6px 18px #281e1424;border-radius:2px}.product-card:hover .product-shot{transform:translateY(-4px);background:#eceae4;box-shadow:0 14px 30px #3c2d191f}.product-name{color:#7a1f2b;font-size:.86rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.product-blurb{color:#94897a;font-size:.82rem;line-height:1.45;margin-top:3px}.picker-back{margin-top:40px;background:transparent;border:1px solid #d8cdb2;color:#7a6f5c;padding:9px 22px;border-radius:999px;font-weight:600;font-size:.9rem}.picker-back:hover{border-color:#7a1f2b;color:#7a1f2b}.crumb{background:transparent;border:none;color:var(--muted);font-size:.82rem;padding:0 0 6px;cursor:pointer}.crumb:hover{color:var(--accent)}.picker{background:radial-gradient(1200px 760px at 52% -8%,#fffdf8,#f2eadc 58%,#e9dfcf);color:#2b241e}.picker-title{color:#2b241e}.picker-sub{color:#75685d}.stepper-nav .step{color:#948677}.stepper-nav .step-num{border-color:#cdbfae;color:#7c6e61}.stepper-nav .step.active{color:var(--accent)}.stepper-nav .step.active .step-num{background:var(--accent);border-color:var(--accent);color:#201a08}.stepper-nav .step.done .step-num{border-color:var(--accent);color:var(--accent)}.stepper-nav .step-sep{background:#d6c9b8}.product-shot{aspect-ratio:auto;height:232px;overflow:hidden;padding:20px;background:#fffdf8b8;border:1px solid rgba(80,60,43,.18)}.product-shot img{max-width:100%;max-height:100%;box-shadow:0 10px 26px #49331f29}.product-card:hover .product-shot{transform:translateY(-4px);background:#fffdf8;box-shadow:0 16px 34px #49331f2e}.product-name{color:var(--accent)}.product-blurb{color:#75685d}.picker-back{border-color:#c5b6a3;color:#66594e}.picker-back:hover{border-color:var(--accent);color:var(--accent)}.fold-control{display:inline-flex;align-items:center;gap:9px;background:#0006;border:1px solid var(--line);border-radius:999px;padding:6px 15px;font-size:.76rem;color:var(--muted);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.fold-control input[type=range]{width:96px;accent-color:var(--accent)}.side-toggle.panels button{padding:6px 11px;font-size:.78rem}.opt-grid.cols-4{grid-template-columns:repeat(4,1fr)}.field-label{display:block;margin:2px 0 5px;font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.field-hint{margin-top:8px;font-size:.76rem;line-height:1.35;color:var(--muted)}.stepper-nav .step{background:transparent;border:none;padding:0;font:inherit;letter-spacing:.08em;text-transform:uppercase;cursor:default}.stepper-nav .step.clickable{cursor:pointer}.stepper-nav .step.clickable:hover{color:var(--accent)}.stepper-nav .step.clickable:hover .step-num{border-color:var(--accent);color:var(--accent)}.crumbs{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:8px}.crumb-back{background:#ffffff0a;border:1px solid var(--line);color:var(--text);font-size:.8rem;font-weight:600;padding:4px 12px;border-radius:999px;cursor:pointer}.crumb-back:hover{border-color:var(--accent);color:var(--accent)}.crumbs-trail{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;color:var(--muted)}.crumbs-trail button{background:none;border:none;color:var(--muted);font:inherit;padding:0;cursor:pointer}.crumbs-trail button:hover{color:var(--accent);text-decoration:underline}.crumb-sep{color:#4a4f5a}.crumb-current{color:var(--text);font-weight:600}.details-modal{max-width:600px}.details-intro{color:var(--muted);font-size:.88rem;line-height:1.45;margin:2px 0 16px}.details-modal input[type=email],.details-modal input[type=tel]{width:100%;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:9px 11px;font:inherit;font-size:.9rem}.details-modal select{padding:9px 11px;font-size:.9rem;background:var(--panel)}.details-modal [aria-invalid=true]{border-color:#c2564b}.details-modal .row{align-items:flex-end}.details-modal .modal-actions{margin-top:18px}.details-modal .err{margin-top:12px;font-size:.85rem}@media (max-width: 560px){.details-modal .row{flex-direction:column;gap:0}.details-modal .row .field{flex:1 1 auto!important;width:100%}}.order-ref{color:var(--muted);font-size:.9rem;margin:4px 0 0}.order-ref b{color:var(--text);letter-spacing:.02em}.billing-note{margin-top:10px;padding:10px 12px;border:1px solid var(--accent);border-radius:10px;background:#e2b7410f}.billing-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:.85rem;color:var(--muted)}.billing-row em{color:var(--accent);font-style:normal}.billing-total{color:var(--text);font-weight:700;font-size:1.05rem;white-space:nowrap;font-variant-numeric:tabular-nums}.billing-total small{font-size:.7rem;font-weight:400;color:var(--muted)}.technical-review{max-width:560px}.technical-review h2{max-width:470px;line-height:1.15}.technical-review-message{margin:6px 0 18px;color:var(--muted);font-size:.94rem;line-height:1.55}.technical-review-techniques{margin:0 0 18px;padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.technical-review-techniques h3{margin:0 0 7px;color:var(--text);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.technical-review-techniques ul{margin:0;padding-left:18px;color:var(--muted);font-size:.84rem;line-height:1.55}.pf-badge{display:inline-block;padding:4px 12px;border-radius:999px;font-size:.78rem;font-weight:700;margin-bottom:8px}.pf-badge-pass{background:#4ecb7126;color:#7fe0a0}.pf-badge-warn{background:#e2b74126;color:var(--accent)}.pf-badge-fail{background:#ff787826;color:#ff9a9a}.preflight-list{list-style:none;padding:0;margin:0 0 14px;max-height:46vh;overflow-y:auto}.pf{display:flex;gap:11px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:10px;margin-bottom:8px;background:#0000002e}.pf-icon{flex:0 0 22px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.8rem;font-weight:700;margin-top:1px}.pf-pass{border-color:#4ecb7159}.pf-pass .pf-icon{background:#4ecb7133;color:#7fe0a0}.pf-warn{border-color:#e2b74166}.pf-warn .pf-icon{background:#e2b74133;color:var(--accent)}.pf-fail{border-color:#ff787880}.pf-fail .pf-icon{background:#ff787833;color:#ff9a9a}.pf-label{font-weight:600;font-size:.9rem}.pf-detail{color:var(--muted);font-size:.82rem;line-height:1.4;margin-top:2px}.pack-link{color:var(--accent);font-weight:600;font-size:.82rem;text-decoration:none;white-space:nowrap}.pack-link:hover{text-decoration:underline}.reveal-shell{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;overflow-y:auto;background:#ece5d8;color:#241d18}.reveal-intro,.reveal-error{min-height:100%;display:grid;place-content:center;justify-items:center;text-align:center;padding:32px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 44%,#f7f1e6 0,#ded2c0 66%,#cbbca7)}.reveal-grain{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;opacity:.22;background-image:repeating-linear-gradient(112deg,transparent 0 5px,rgba(92,65,38,.08) 6px,transparent 7px 13px);animation:reveal-grain 4s steps(8) both}.reveal-rule{width:min(420px,68vw);height:1px;background:#8d704e;transform-origin:center;animation:reveal-rule 4s cubic-bezier(.22,.8,.22,1) both}.reveal-mark{position:relative;margin:24px 0 13px;font-family:Didot,Times New Roman,serif;font-size:clamp(1.45rem,3vw,2.25rem);letter-spacing:.38em;text-indent:.38em;color:#32271f}.reveal-intro .reveal-mark{animation:reveal-mark 4s ease both}.reveal-intro p{margin:0;color:#715f4e;font-family:Didot,Times New Roman,serif;font-style:italic;letter-spacing:.08em}.reveal-progress{width:180px;height:1px;margin-top:32px;overflow:hidden;background:#533d282e}.reveal-progress span{display:block;height:100%;background:#8d704e;animation:reveal-progress 4s ease-in-out infinite}.reveal-gallery{width:min(1320px,100%);min-height:100%;margin:auto;padding:clamp(22px,4vw,58px)}.reveal-gallery header{display:flex;align-items:baseline;justify-content:space-between;gap:24px;border-bottom:1px solid rgba(77,56,38,.25);margin-bottom:22px}.reveal-gallery header span{color:#786652;font-family:Didot,Times New Roman,serif;font-style:italic}.reveal-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:14px}.reveal-grid figure{margin:0;position:relative;overflow:hidden;background:#d4c6b4}.reveal-grid .primary{grid-row:span 2}.reveal-grid img{display:block;width:100%;height:100%;min-height:230px;object-fit:cover;animation:reveal-photo .8s ease both}.reveal-grid .primary img{min-height:500px}.reveal-grid figcaption{position:absolute;left:13px;bottom:12px;padding:5px 8px;background:#1b140fb8;color:#f7f0e5;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.reveal-disclaimer{max-width:720px;color:#746250;line-height:1.5;font-size:.82rem}.reveal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:18px}.reveal-shell .btn-ghost{color:#42352a;border-color:#42352a59}.reveal-shell .btn-finish{width:auto}.reveal-error{color:#241d18}.reveal-error h2{margin:8px 0;font-family:Didot,Times New Roman,serif;font-weight:400}.reveal-error p{max-width:540px;color:#715f4e;line-height:1.55}@keyframes reveal-rule{0%{transform:scaleX(0);opacity:0}25%,72%{transform:scaleX(1);opacity:1}to{transform:scaleX(.12);opacity:.35}}@keyframes reveal-mark{0%,18%{opacity:0;letter-spacing:.7em}42%,82%{opacity:1;letter-spacing:.38em}to{opacity:.75}}@keyframes reveal-grain{0%{transform:translate3d(-2%,-1%,0)}to{transform:translate3d(2%,1%,0)}}@keyframes reveal-progress{0%{transform:translate(-100%)}55%,to{transform:translate(100%)}}@keyframes reveal-photo{0%{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@media (max-width: 700px){.reveal-gallery{padding:18px}.reveal-grid{grid-template-columns:1fr}.reveal-grid .primary{grid-row:auto}.reveal-grid .primary img,.reveal-grid img{min-height:230px;aspect-ratio:3 / 2}.reveal-actions{flex-direction:column-reverse}.reveal-actions button{width:100%;min-height:48px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal-grain,.reveal-rule,.reveal-mark,.reveal-progress span,.reveal-grid img{animation:none!important}}
