*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#fbfaf6;color:#202c26;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #764bce;outline-offset:4px}.notice{background:#243f31;color:white;text-align:center;padding:10px;font-size:12px;letter-spacing:.3px}header{display:flex;align-items:center;justify-content:space-between;padding:23px 6%;border-bottom:1px solid #dddcd3;gap:25px}.brand{font-size:31px;font-weight:900;letter-spacing:-2px;line-height:.9}.brand span{display:block;letter-spacing:3px;font-size:11px;margin-top:7px;font-weight:600}nav{display:flex;gap:32px;font-size:14px}.cart-button{border:1px solid #bbbeb5;border-radius:40px;background:transparent;padding:12px 17px;font-size:13px}.cart-button span{display:inline-block;background:#253f31;color:white;border-radius:50%;padding:4px 7px;margin-left:9px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:610px;margin:0 6%;gap:5%;align-items:center;padding:55px 0 70px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;margin:0 0 23px}h1{font-size:clamp(50px,5.8vw,84px);line-height:.99;letter-spacing:-4px;margin:0 0 24px;font-weight:800}h1 em{font-style:normal;color:#744bd0}p{line-height:1.7}.hero-copy>p:not(.eyebrow){max-width:410px;color:#627066;font-size:15px}.actions{display:flex;gap:24px;align-items:center;margin:30px 0}.button{display:inline-block;border:0;border-radius:30px;background:#243f31;color:#fff;padding:16px 24px;font-size:14px;font-weight:600}.text-link{font-size:13px;border-bottom:1px solid #6b746b;padding-bottom:4px}.small{font-size:12px!important;color:#68716b!important;line-height:1.5}.hero-art{min-height:460px;position:relative;overflow:hidden;background:#e5e3f1;border-radius:6px;display:flex;align-items:center;justify-content:center;background-image:radial-gradient(ellipse at 50% 90%,#c9c4e1,transparent 55%)}.art-label{position:absolute;top:27px;left:27px;font-size:10px;letter-spacing:2px}.printed{font-size:clamp(48px,6.6vw,99px);font-weight:900;color:#805ad6;letter-spacing:-7px;position:relative;transform:rotate(-12deg) skewY(4deg);text-shadow:1px 1px #6842a7,2px 2px #6842a7,3px 3px #6842a7,4px 4px #6842a7,5px 5px #6842a7,6px 6px #6842a7,7px 7px #6842a7,8px 8px #6842a7,9px 9px #6842a7,10px 10px #6842a7,12px 20px 12px #aaa1bf}.printed span{position:absolute;inset:8px -7px -12px -7px;z-index:-1;-webkit-text-stroke:16px #276d51;color:#276d51;text-shadow:12px 18px 9px #989299}.mini-print{position:absolute;bottom:92px;right:45px;transform:rotate(12deg);background:#eb936f;color:#f7f0d9;font-size:26px;font-weight:900;letter-spacing:-1px;border-radius:12px;padding:10px 18px;box-shadow:3px 7px #c86d49,6px 15px 12px #b5aabd}.art-tag{position:absolute;bottom:30px;left:25px;background:#fbfaf6;border-radius:30px;padding:13px 17px;font-size:12px}.art-note{position:absolute;right:14px;top:15px;color:#625a78;font-size:10px}.collection{padding:55px 6% 80px;border-top:1px solid #dddcd3}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:35px}h2{font-size:clamp(32px,3.7vw,50px);line-height:1.08;letter-spacing:-2px;margin:0}.section-heading>p{font-size:14px;color:#68716b}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.product-art{height:290px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;border-radius:5px}.product-art small{position:absolute;bottom:12px;right:13px;font-size:10px;color:#575f58}.text-art{background:#e6eddc}.text-art>span{font-weight:900;font-size:90px;letter-spacing:-7px;color:#754cc6;transform:rotate(-12deg);text-shadow:2px 4px #563795,4px 8px #563795,6px 12px #563795,10px 20px 10px #b5bea9}.key-art{background:#f3e4d8}.key-body{background:#e37f54;color:#fff1d5;border:7px solid #c56b44;border-radius:16px;padding:13px 20px;font-weight:900;font-size:45px;transform:rotate(-18deg);box-shadow:5px 7px #ac5e3b,12px 22px 12px #cdbeb0}.key-ring{position:absolute;left:calc(50% - 120px);top:83px;width:63px;height:63px;border:7px solid #96978f;border-radius:50%;box-shadow:inset 2px 2px #fff,2px 3px #bbb9b2}.fidget-art{background:#e7e5ef}.fidget{display:flex;gap:6px;transform:rotate(-20deg)}.fidget i{display:block;width:40px;height:85px;background:#68997a;border-radius:13px;box-shadow:3px 6px #315f49,9px 18px 10px #b8b4c0}.fidget i:nth-child(2n){background:#8764ca;box-shadow:3px 6px #563689,9px 18px 10px #b8b4c0}.product-meta{display:flex;justify-content:space-between;align-items:center;margin-top:15px}.product-meta h3{font-size:17px;margin:0}.product-meta button,.product-meta>a{border:1px solid #ccd0c7;background:transparent;border-radius:50%;width:32px;height:32px;font-size:21px;text-align:center;line-height:30px}.products article>p{font-size:13px;color:#68716b;margin:7px 0}.custom{background:#e9ede4;padding:70px 8%;display:grid;grid-template-columns:1fr 1fr;gap:10%}.custom>div>p:not(.eyebrow){font-size:14px;max-width:390px;color:#68716b}.live-preview{font-size:62px;font-weight:900;letter-spacing:-3px;padding:45px 15px;overflow-wrap:anywhere;color:#764bce;text-shadow:3px 5px #217c58,5px 8px #217c58;line-height:1.15}.custom form{background:#fbfaf6;border-radius:7px;padding:30px;display:flex;flex-direction:column;gap:12px}.custom label,.custom legend{font-size:13px;font-weight:600}input,select{width:100%;border:1px solid #ccd0c6;border-radius:5px;padding:13px;background:white;color:#202c26}fieldset{border:0;margin:12px 0;padding:0}legend{margin-bottom:12px}.color-select{display:grid;grid-template-columns:1fr 1fr;gap:13px}.color-select select{margin-top:8px}.price-note{font-size:13px}.story{padding:80px 8%;text-align:center}.story>p:not(.eyebrow){max-width:510px;margin:24px auto;color:#68716b;font-size:14px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:55px;text-align:left}.steps b{font-size:13px;color:#754bc7}.steps h3{font-size:17px}.steps p{font-size:13px;color:#68716b}footer{background:#243f31;color:#f7f8ef;padding:38px 6%;display:flex;justify-content:space-between;align-items:center;gap:20px}footer p,footer>span{font-size:12px}dialog{border:0;border-radius:12px;padding:28px;width:560px;max-width:calc(100% - 28px);max-height:85vh;color:#202c26;background:#fbfaf6}dialog::backdrop{background:#15271f88}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.dialog-top h2{font-size:28px;letter-spacing:-1px}.dialog-top button{font-size:30px;border:0;background:transparent}.cart-row{padding:18px 0;border-bottom:1px solid #dddcd3}.cart-row p{font-size:12px;margin:6px 0;color:#68716b}.quantity{display:flex;align-items:center;gap:12px;margin-top:10px}.quantity button{border:1px solid #ccd0c6;background:white;border-radius:4px;padding:5px 10px}.quantity .remove{margin-left:auto;font-size:12px}.checkout-note{margin-top:28px;font-size:14px}.checkout-note p{font-size:13px;color:#68716b}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#243f31;color:white;border-radius:30px;padding:14px 24px;font-size:13px;opacity:0;pointer-events:none;z-index:5}#toast.show{opacity:1}@media(max-width:800px){header{flex-wrap:wrap;padding:20px 5%;gap:20px}nav{order:3;width:100%;justify-content:center;gap:25px;font-size:13px}.hero{grid-template-columns:1fr;margin:0 5%;padding:40px 0;gap:35px}.hero-art{min-height:330px}.printed{font-size:85px}h1{font-size:65px}.hero-copy>p:not(.eyebrow){max-width:100%}.section-heading{align-items:flex-start;gap:20px}.section-heading>p{max-width:155px}.products{grid-template-columns:1fr}.product-art{height:290px}.custom{grid-template-columns:1fr;gap:25px;padding:45px 5%}.custom form{padding:25px}.live-preview{padding:25px 10px}.steps{grid-template-columns:1fr;gap:15px;margin-top:30px}footer{flex-wrap:wrap}.collection{padding:40px 5%}.story{padding:45px 5%}.actions{gap:20px;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.catalog-tools{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:18px}.catalog-tools>label{font-size:12px;max-width:310px;width:100%}.catalog-tools input{margin-top:8px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{border:1px solid #ccd0c6;background:transparent;border-radius:30px;padding:11px 16px;font-size:12px}.filters button.active{background:#243f31;color:white;border-color:#243f31}.catalog-photo{border:0;background:#f1f0ec;padding:0;width:100%}.catalog-photo img{width:100%;height:100%;object-fit:contain}.products{row-gap:36px}#productPhoto{width:100%;height:300px;object-fit:contain;background:#f1f0ec;margin:20px 0;border-radius:6px}#productVariant{margin:9px 0}#productDescription{font-size:14px}@media(max-width:800px){.catalog-tools{align-items:stretch;flex-direction:column}.catalog-tools>label{max-width:100%}}
.custom.configurator{display:block;padding:70px 6%;background:#eeeee7}.config-heading{margin-bottom:32px}.config-heading>p:last-child{max-width:570px;color:#68716b;font-size:15px}.config-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:45px;align-items:start}.preview-column{min-width:0;position:sticky;top:25px}.preview-stage{background:#e3dfef;border-radius:12px;overflow:hidden;border:1px solid #d3cedf;background-image:radial-gradient(ellipse at 50% 90%,#cbc4dd,transparent 60%)}.preview-topline{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;font-size:10px;letter-spacing:1.5px;gap:10px}.preview-badge{border:1px solid #b5acc9;border-radius:20px;padding:7px 10px;letter-spacing:0}.preview-floor{min-height:300px;display:flex;justify-content:center;align-items:center;padding:40px 30px;overflow:hidden}.configurator .live-preview{font-size:74px;padding:0;margin:0;width:max-content;max-width:none;white-space:pre;letter-spacing:-2px;color:var(--letter-color);-webkit-text-stroke:7px var(--base-color);paint-order:stroke fill;text-shadow:1px 2px var(--base-color),2px 4px var(--base-color),3px 6px var(--base-color),4px 8px var(--base-color),5px 10px var(--base-color),6px 12px var(--base-color),12px 24px 16px #75697d55;transform:scale(var(--preview-scale,1));transform-origin:center center;line-height:1.3;flex-shrink:0}.angled .live-preview{transform:scale(var(--preview-scale,1)) rotate(-8deg) skewY(4deg)}.preview-toolbar{display:flex;justify-content:center;gap:8px;padding:18px;background:#ffffff50}.preview-toolbar button{border:0;border-radius:24px;padding:10px 17px;background:transparent;font-size:12px;color:#4c465d}.preview-toolbar button[aria-pressed=true]{background:#fbfaf6;color:#202c26;box-shadow:0 2px 5px #0000000a}.preview-caption{font-size:12px;line-height:1.6;color:#68716b;margin:14px 2px}.inspiration{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:23px 0}.inspiration>span{font-size:12px;margin-right:5px;color:#68716b}.inspiration button{border:1px solid #c6ccc0;background:#fbfaf6;border-radius:20px;font-size:11px;padding:9px 13px}.design-summary{padding:23px;border:1px solid #d0d4c9;border-radius:10px}.design-summary h3{font-size:14px;margin:0 0 17px}.design-summary dl{margin:0;font-size:13px}.design-summary dl>div{display:flex;justify-content:space-between;gap:25px;margin:10px 0}.design-summary dt{color:#68716b}.design-summary dd{margin:0;text-align:right;font-weight:600;overflow-wrap:anywhere}.configurator .config-form{padding:30px;gap:0;border:1px solid #d9ddd3;border-radius:12px;background:#fbfaf6}.config-form .config-step{margin:0;padding:0 0 25px;border-bottom:1px solid #e0e2d9;min-width:0}.config-step+.config-step{margin-top:25px}.config-step>legend{font-size:15px;font-weight:700;margin-bottom:20px;display:flex;align-items:center;gap:10px;line-height:1.4;float:left;width:100%}.config-step>legend+*{clear:both}.config-step>legend>span{display:inline-flex;align-items:center;justify-content:center;background:#e9e6f1;color:#6948aa;min-width:28px;height:28px;border-radius:50%;font-size:10px}.config-step>label{display:block;font-size:12px;color:#68716b;margin-bottom:8px}.configurator #name{font-size:20px;padding:15px;font-weight:600}.input-footer{display:flex;justify-content:space-between;gap:15px;font-size:11px;margin-top:9px;color:#68716b}.input-footer .over-limit{color:#a53524;font-weight:700}.field-error{color:#a53524;font-size:12px;margin:10px 0 0}.style-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.style-option{position:relative;border:1px solid #d2d5cb;padding:13px 7px 12px;border-radius:7px;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;text-align:center}.style-option input,.swatch input{position:absolute;width:1px;height:1px;margin:0;padding:0;clip-path:inset(50%);overflow:hidden;opacity:0}.style-option:has(input:checked){border:2px solid #744bd0;background:#f0edf7;padding:12px 6px 11px}.style-option:has(input:focus-visible),.swatch:has(input:focus-visible){outline:3px solid #764bce;outline-offset:3px}.style-sample{font-size:29px;font-weight:800;line-height:1.2}.style-option>span:not(.style-sample){font-size:12px}.style-option>small{font-size:9px;color:#68716b}.font-bold{font-family:Arial,Helvetica,sans-serif}.font-round{font-family:'Trebuchet MS',Arial,sans-serif}.font-serif{font-family:Georgia,serif}.font-mono{font-family:'Courier New',monospace}.config-form fieldset.palette{margin:0 0 22px;padding:0}.palette legend{font-size:12px;font-weight:400;display:flex;justify-content:space-between;width:100%;margin-bottom:13px;color:#68716b}.palette legend strong{font-weight:600;color:#202c26}.swatches{display:flex;gap:16px;justify-content:space-between}.swatch{display:flex;flex-direction:column;align-items:center;position:relative;cursor:pointer;gap:8px;min-width:38px}.color-dot{background:var(--swatch);display:block;width:33px;height:33px;border-radius:50%;border:1px solid #0002;position:relative}.color-name{font-size:10px;color:#68716b}.swatch:has(input:checked) .color-dot{outline:2px solid #243f31;outline-offset:4px}.swatch:has(input:checked) .color-name{font-weight:700;color:#243f31}.swap-button{border:0;background:#eceee5;color:#243f31;border-radius:20px;font-size:12px;padding:10px 15px}.config-order{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:23px 0}.config-order>div:first-child{max-width:100px}.config-order label{display:block;margin-bottom:7px;font-size:12px}.config-order input{padding:10px 12px}.config-price{text-align:right;display:flex;flex-direction:column;gap:6px}.config-price span{font-size:12px;color:#68716b}.config-price strong{font-size:15px}.config-form>.button{width:100%}.reset-button{border:0;background:none;color:#68716b;text-decoration:underline;text-underline-offset:3px;padding:15px;font-size:12px}.config-form>p.small{margin:0;text-align:center;font-size:11px!important}.design-confirmation{border:1px solid #bfcebd;border-radius:6px;background:#e9f0e5;padding:14px;font-size:12px;color:#243f31}.configurator [hidden]{display:none!important}@media(max-width:1000px){.config-layout{gap:24px}.configurator .config-form{padding:23px}.style-options{grid-template-columns:repeat(2,minmax(0,1fr))}.style-option{padding:13px}.style-option:has(input:checked){padding:12px}.swatches{gap:10px}}@media(max-width:800px){.custom.configurator{padding:45px 5%}.config-layout{grid-template-columns:1fr}.preview-column{position:static}.preview-floor{min-height:240px}.preview-topline{padding:18px}.style-options{grid-template-columns:repeat(4,minmax(0,1fr))}.style-option>small{font-size:8px}.configurator .config-form{padding:23px}}@media(max-width:420px){.style-options{grid-template-columns:repeat(2,minmax(0,1fr))}.style-option>small{font-size:10px}}
.configurator .topper-preview{display:flex;flex-direction:column;align-items:center;position:relative;line-height:.91;padding-bottom:105px;-webkit-text-stroke:3px var(--base-color);text-shadow:1px 1px var(--base-color),2px 2px var(--base-color),3px 3px var(--base-color),5px 8px 7px #75697d55;letter-spacing:-4px}.topper-preview>span:not(.topper-stem){position:relative;z-index:1}.topper-preview #topperLine2{margin-top:-3px}.topper-stem{width:12px;height:117px;display:block;background:var(--base-color);position:absolute;bottom:0;left:calc(50% - 6px);clip-path:polygon(0 0,100% 0,100% 90%,50% 100%,0 90%);box-shadow:2px 2px #0002}.configurator .preview-floor{min-height:370px}.configurator .second-label{margin-top:17px;margin-bottom:8px}.configurator #secondLine{font-size:20px;font-weight:600;padding:15px}.configurator .live-preview{font-weight:700}@media(max-width:800px){.configurator .preview-floor{min-height:330px}}
#topperViewer.has-3d{height:400px;min-height:400px;padding:0;position:relative;display:block}#topperViewer canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}#topperViewer canvas:active{cursor:grabbing}.viewer-status{font-size:11px;color:#68716b;margin:12px 2px 0}.preview-toolbar{flex-wrap:wrap}.has-3d #preview{display:none!important}@media(max-width:800px){#topperViewer.has-3d{height:350px;min-height:350px}}
.size-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.size-grid label{font-size:12px;color:#68716b}.size-grid input,.size-grid select{margin-top:8px}.zoom-tools{display:flex;justify-content:center;gap:8px;padding:0 15px 17px;background:#ffffff50}.zoom-tools button{border:1px solid #bfb6cd;background:#fbfaf6;border-radius:20px;padding:8px 13px;font-size:12px}.zoom-tools button:first-child,.zoom-tools button:nth-child(2){font-size:17px;min-width:38px}.preview-toolbar button{padding:9px 12px}.config-step .size-grid+ .small{font-size:11px!important}.configurator .preview-column{top:15px}@media(max-width:400px){.size-grid{grid-template-columns:1fr}.preview-toolbar{gap:3px}}

/* Clear shop entry points and a three-step topper configurator. */
.shop-choices{display:grid;gap:12px;margin:28px 0}.shop-choice{display:grid;gap:8px;position:relative;border:1px solid #ccd0c6;border-radius:12px;padding:20px 20px 20px 58px;background:#fffdf8;transition:border-color .15s}.shop-choice:hover{border-color:#744bd0}.shop-choice strong{font-size:17px;display:flex;justify-content:space-between;gap:12px}.shop-choice>span:last-child{font-size:12px;color:#68716b}.choice-icon{position:absolute;left:18px;top:22px;font-size:12px;color:#744bd0;font-weight:700}.custom-choice{background:#eee8f7;border-color:#d4c7e9}.color-heading{font-weight:600;font-size:13px;margin:26px 0 18px}.format-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.format-option{display:flex;position:relative;flex-direction:column;align-items:center;gap:9px;border:1px solid #d2d5cb;border-radius:8px;padding:18px 7px;cursor:pointer;text-align:center}.format-option input{position:absolute;width:1px;height:1px;opacity:0;clip-path:inset(50%);padding:0}.format-option:has(input:checked){border-color:#744bd0;box-shadow:inset 0 0 0 1px #744bd0;background:#f0edf7}.format-option:has(input:focus-visible){outline:3px solid #764bce;outline-offset:3px}.format-option strong{font-size:15px}.format-option span{font-size:12px;font-weight:400}.format-option small{font-size:10px;color:#68716b;font-weight:400}.technical-summary{border-top:1px solid #d0d4c9;padding-top:14px;margin-top:16px}.technical-summary summary{font-size:12px;cursor:pointer;color:#68716b}.technical-summary summary:focus-visible{outline:3px solid #764bce;outline-offset:4px}.hero{padding-top:40px;padding-bottom:50px}.hero h1{font-size:clamp(48px,5vw,72px)}@media(max-width:800px){.hero h1{font-size:56px}.hero-art{display:none}.hero{min-height:0}.shop-choices{grid-template-columns:1fr 1fr}.shop-choice{padding:20px}.choice-icon{position:static}.shop-choice strong{font-size:16px}.config-layout{display:flex;flex-direction:column}.preview-column,.config-form{width:100%}}@media(max-width:500px){.shop-choices{grid-template-columns:1fr}.shop-choice{padding:18px 18px 18px 53px}.choice-icon{position:absolute;left:18px;top:21px}.format-options{gap:6px}.format-option{padding:16px 4px}.format-option span{font-size:11px}}

.print-download{padding:18px 0}.print-download .button{width:100%}.print-download summary{font-size:12px;cursor:pointer}.print-download summary:focus-visible{outline:3px solid #764bce;outline-offset:4px}

@font-face{font-family:Allura;src:url('vendor/fonts/allura.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}.font-script{font-family:Allura,cursive;font-weight:400;font-size:38px}.style-options{grid-template-columns:repeat(3,minmax(0,1fr))}.swatches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 10px}.style-option small{min-height:12px}@media(max-width:420px){.style-options{grid-template-columns:repeat(2,minmax(0,1fr))}}

.product-kind-choice{max-width:430px;margin:0 0 28px}.product-kind-choice label{display:block;font-size:13px;font-weight:600;margin-bottom:10px}.product-kind-choice select{font-weight:600;padding:16px}.configurator .keychain-preview{padding-bottom:0}.keychain-preview .topper-stem{display:none}.keychain-preview:before{content:'';position:absolute;left:-25px;top:38%;width:18px;height:18px;border:6px solid var(--base-color);border-radius:50%}

/* Use the approved logo pixels as a horizontal lockup without redrawing the mark. */
.brand-logo{display:flex;align-items:center;gap:9px;flex-shrink:0;width:195px;height:82px;background:#fff;border-radius:8px;padding:6px;overflow:hidden;line-height:normal;letter-spacing:normal}.brand-logo>span{display:block;position:relative;overflow:hidden;margin:0;padding:0;flex-shrink:0;letter-spacing:normal}.brand-logo .brand-mark{width:62px;height:68px}.brand-logo .brand-name{width:112px;height:61px}.brand-logo img{position:absolute;display:block;max-width:none;object-fit:fill}.brand-mark img{width:96px;height:144px;left:-18px;top:-21px}.brand-name img{width:142px;height:213px;left:-15px;top:-130px}header{padding-top:12px;padding-bottom:12px}@media(max-width:420px){.brand-logo{width:176px;gap:4px;padding:4px}.brand-logo .brand-mark{width:56px}.brand-logo .brand-name{width:108px}.cart-button{padding:10px 12px}}
@media(max-width:420px){header{gap:8px}.brand-logo{width:164px;height:72px}.brand-logo .brand-mark{width:54px;height:60px}.brand-logo .brand-name{width:94px;height:52px}.brand-mark img{width:84px;height:126px;left:-16px;top:-18.5px}.brand-name img{width:120px;height:180px;left:-13px;top:-110px}.cart-button{font-size:12px;padding:8px}.cart-button span{margin-left:5px}}

/* Prominent original logo on the landing page, including mobile. */
.hero-art.hero-brand{display:flex;background:#fff;min-height:500px;border:1px solid #e5e5df;border-radius:16px;padding:0}.hero-brand>img{display:block;width:100%;height:500px;object-fit:contain;max-width:100%}@media(max-width:800px){.hero-art.hero-brand{display:flex;min-height:300px;order:-1}.hero-brand>img{height:300px}.hero{gap:25px}}
#checkout{width:min(620px,94vw)}.checkout-line{display:grid;grid-template-columns:1fr auto;gap:8px;border-bottom:1px solid #ddd;padding:14px 0}.checkout-line small{grid-column:1/-1;color:#626762}.totals{display:grid;grid-template-columns:1fr auto;gap:14px;margin:24px 0}.totals dd{margin:0;text-align:right}#customerFields{border:0;padding:0;margin:24px 0}#customerFields legend{font-weight:700;margin-bottom:16px}#customerFields label{display:block;margin-bottom:14px}#customerFields input{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:12px;border:1px solid #c9cdc5;border-radius:10px;font:inherit}.address-grid{display:grid;grid-template-columns:1fr 2fr;gap:12px}#checkoutMessage{padding:16px;background:#f1eee7;border-radius:12px;line-height:1.5}#payButton{width:100%}#orderNumber{overflow-wrap:anywhere}button:disabled{cursor:not-allowed;opacity:.55}

.photo-pending{background:#eeeae1;color:#727268;font:inherit;min-height:180px;padding:24px}#productPhoto[hidden]{display:none}

.product-gallery{display:flex;gap:10px;overflow-x:auto;margin:12px 0}.product-gallery[hidden]{display:none}.product-gallery button{padding:0;border:1px solid #ccc;border-radius:8px;overflow:hidden;flex:0 0 74px}.product-gallery img{display:block;width:74px;height:74px;object-fit:contain;background:white}

.custom-price-guide{background:#f2efe6;border-radius:14px;padding:18px;margin:18px 0}.custom-price-guide p{line-height:1.6}.config-price{display:flex;flex-direction:column;gap:6px}#customPriceTotal{font-size:14px}

#frontColors,#baseColors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-height:330px;overflow-y:auto;padding:8px;gap:10px;border:1px solid #ddd;border-radius:12px;scrollbar-gutter:stable}.swatch .color-name{overflow-wrap:anywhere;font-size:11px;line-height:1.35}.swatch:focus-within{outline:2px solid #244c47;outline-offset:2px}@media(max-width:480px){#frontColors,#baseColors{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* Connected letter clicker: one housing, separately pressable keys. */
.clicker-custom{display:block;scroll-margin-top:30px;padding-inline:6%}
.clicker-custom>p:not(.eyebrow){max-width:720px;color:#5b675e}
.clicker-layout{display:grid;grid-template-columns:1fr;gap:30px;margin-top:30px}
.clicker-preview-area{min-width:0;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;border-radius:24px;background:radial-gradient(ellipse at 50% 35%,#fafaf7,#eaece6 85%);border:1px solid #dde1d8;padding:28px 24px 20px}
.clicker-strip-scroll{position:relative;overflow:hidden;width:100%;height:220px;flex:none}
.clicker-letter-grid{position:absolute;left:50%;top:50%;display:flex;flex-wrap:nowrap;gap:9px;width:max-content;min-width:110px;padding:15px 17px;border:1px solid color-mix(in srgb,var(--body) 78%,#333);border-radius:18px;transform:translate(-50%,-50%) scale(var(--fit-scale,1));transform-origin:center;background:linear-gradient(175deg,color-mix(in srgb,var(--body) 93%,white),var(--body));box-shadow:0 2px 0 #fff6 inset,0 -2px 0 #0001 inset,0 10px 0 color-mix(in srgb,var(--body) 75%,#333),0 19px 20px #1b242729}
.clicker-model{position:relative;width:76px;height:74px;flex:0 0 76px;margin:0;padding:0;background:transparent;border:0;border-radius:12px}
.clicker-switch{position:absolute;width:24px;height:24px;left:26px;top:25px;background:#333;border-radius:8px}
.clicker-key{position:absolute;inset:3px;display:grid;place-items:center;border-radius:11px;color:var(--body);font:bold 28px system-ui;transform:translateY(-6px);background:linear-gradient(150deg,color-mix(in srgb,var(--cap) 88%,white),var(--cap) 58%,color-mix(in srgb,var(--cap) 92%,black));border:1px solid color-mix(in srgb,var(--cap) 78%,black);box-shadow:0 6px 0 color-mix(in srgb,var(--cap) 64%,#333),0 8px 5px #0002,inset 0 2px 2px #ffffff55;text-shadow:0 1px 1px #0002;transition:transform .09s ease,box-shadow .09s ease}
.clicker-model:active .clicker-key,.clicker-model.pressed .clicker-key{transform:translateY(-1px);box-shadow:0 1px 0 color-mix(in srgb,var(--cap) 64%,#333),inset 0 2px 2px #fff3}
.clicker-model:focus-visible{outline-offset:4px}
#clickerForm{width:100%;max-width:700px;margin:0 auto}
#clickerForm label{display:block;font-weight:600;margin:12px 0 0}
#clickerColorSamples{display:flex;gap:12px;margin-top:8px}
#clickerColorSamples span{width:32px;height:32px;border-radius:50%;border:1px solid #aaa}
#clickerTextCount{display:block;text-align:right}
#clickerCount{font-weight:600;margin:0 0 10px}
#clickerText[aria-invalid="true"]{border-color:#b65036}

/* Shared finishing: clear hierarchy, resilient narrow layouts and keyboard access. */
[hidden]{display:none!important}
.skip-link{position:fixed;top:10px;left:10px;transform:translateY(-180%);z-index:100;background:#243f31;color:white;padding:14px 20px;border-radius:8px}
.skip-link:focus{transform:none}
main{overflow-x:clip}
.hero-facts{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:24px;color:#526156;font-size:12px}
.hero-facts span::before{content:'✓';margin-right:6px;color:#744bd0}
.catalog-status{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:20px 0;color:#5e6861;font-size:12px}
#catalogCount{font-weight:700;color:#243f31;margin-right:auto}
#priceRetry,.back-to-cart{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;color:#3c5847;padding:10px 0}
.products article{min-width:0}
.products h3{line-height:1.35}
.product-meta{gap:12px}
.product-meta button{flex-shrink:0;width:40px;height:40px}
.catalog-photo{border:1px solid #e2e2d9;border-radius:16px;transition:border-color .18s,box-shadow .18s}
.catalog-photo:hover{border-color:#9b87be;box-shadow:0 8px 25px #293e2e0a}
#emptyCatalog{padding:30px;background:#f0eee7;border-radius:14px}
#clearSearch{display:block;margin-top:12px;background:none;border:0;padding:10px 0;cursor:pointer}
.design-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0 20px}
.design-shortcuts>button,.design-shortcuts>a{display:grid;grid-template-columns:28px 1fr;gap:6px 10px;padding:20px;text-align:left;background:#fbfaf6;border:1px solid #d4d7cd;border-radius:14px;color:#243f31}
.design-shortcuts span{grid-row:1/3;color:#744bd0;font-size:12px;font-weight:700;padding-top:3px}
.design-shortcuts strong{font-size:16px}
.design-shortcuts small{font-size:12px;color:#657067;line-height:1.5}
.design-shortcuts [aria-pressed="true"]{border-color:#744bd0;background:#eee8f7;box-shadow:inset 0 0 0 1px #744bd0}
.product-kind-choice{margin-top:16px}
.cart-summary{display:flex;justify-content:space-between;gap:20px;padding-top:20px;font-weight:700}
.cart-summary dd{margin:0;text-align:right;white-space:nowrap}
.cart-row strong,.checkout-line span,.checkout-line small{overflow-wrap:anywhere;min-width:0}
.quantity button,.dialog-top button{min-height:44px;min-width:44px}
.product-gallery button[aria-pressed="true"]{border:2px solid #744bd0}
.back-to-cart{margin-top:10px;font-size:13px}
body:has(dialog[open]){overflow:hidden}
dialog{overscroll-behavior:contain;scrollbar-gutter:stable}
#toast{max-width:calc(100vw - 32px);width:max-content;text-align:center;box-shadow:0 8px 30px #0002}
.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;padding:75px 6%;border-bottom:1px solid #dedfd6;background:#f6f4ed}
.faq-list details{border-bottom:1px solid #d7dbd0;padding:20px 0}
.faq-list details:first-child{padding-top:0}
.faq-list summary{font-size:16px;font-weight:600;cursor:pointer;line-height:1.5;padding:8px 0}
.faq-list p{font-size:14px;color:#5d685f;margin-bottom:4px}
summary:focus-visible{outline:3px solid #764bce;outline-offset:5px}
@media(min-width:801px) and (max-width:1100px){nav{gap:16px}.config-layout{gap:24px}.custom form{padding:22px}.design-shortcuts>button,.design-shortcuts>a{padding:16px 12px}}
@media(min-width:541px) and (max-width:800px){.products{grid-template-columns:repeat(2,minmax(0,1fr))}.product-art{height:250px}}
@media(max-width:800px){.hero-art.hero-brand{order:0;min-height:230px}.hero-brand>img{height:230px}.hero h1{font-size:clamp(43px,9vw,65px)}.preview-column{position:static}.faq{grid-template-columns:1fr;gap:30px;padding:45px 5%}.design-shortcuts{gap:8px}.design-shortcuts>button,.design-shortcuts>a{padding:14px 10px;grid-template-columns:1fr}.design-shortcuts span{grid-row:auto}.design-shortcuts strong{font-size:14px}.design-shortcuts small{font-size:11px}input,select{font-size:16px}.clicker-custom{padding:45px 5%}}
@media(max-width:480px){.clicker-preview-area{padding:20px 8px 14px}.clicker-preview-area>.small{padding-inline:10px}dialog{padding:20px}.section-heading{display:block}.section-heading>p{max-width:none}.preview-toolbar{flex-wrap:wrap}.checkout-line{grid-template-columns:minmax(0,1fr) auto;gap:8px}.custom form{padding:20px 16px}.brand-logo{flex-shrink:1}nav{gap:16px}.cart-button{white-space:nowrap}.totals{font-size:13px;gap:12px}.address-grid{grid-template-columns:1fr}footer{justify-content:center;text-align:center}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* The Strak sample and fallback use the same font source as the 3D outlines. */
@font-face{font-family:'TRIDO Strak';src:url('vendor/fonts/strak.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
.font-mono{font-family:'TRIDO Strak',Arial,sans-serif;font-weight:400;letter-spacing:0}
.live-preview.strak-preview{font-weight:400;letter-spacing:0}

.delivery-choice{padding:18px;background:#eeeee7;border-radius:12px;margin:20px 0}.delivery-choice legend{font-size:14px;font-weight:600;padding-top:16px}.delivery-choice label{display:flex;align-items:center;gap:12px;min-height:44px;font-size:14px}.delivery-choice input{width:18px;height:18px;accent-color:#243f31;flex-shrink:0}#addressFields{margin:0;padding:0}

/* Collection controls and editable saved designs. */
.catalog-sort{display:flex;align-items:center;gap:12px;font-size:13px}.catalog-sort select{max-width:230px}#productSort{min-height:44px;border:1px solid #cbd0c6;border-radius:10px;background:#fff;padding:10px 12px;color:#243f31}.palette-search{display:block;font-size:12px;margin:12px 0 6px}.palette-search input{margin-top:6px;min-height:44px}.swatches [hidden]{display:none!important}.product-quantity{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:18px 0}.product-quantity input{max-width:95px}.product-quantity .price-note{margin:0}.edit-notice{padding:12px 16px;border-left:3px solid #764bce;background:#f2edf9;border-radius:6px;font-size:14px}.cart-row .quantity{flex-wrap:wrap;gap:8px}.cart-row .quantity button{min-height:40px}.cart-row .quantity button:nth-last-child(2){width:auto;padding-inline:12px}#cartSave,#cartContinue{width:100%;min-height:44px;margin:8px 0;border:1px solid #cbd0c6;border-radius:10px;padding:10px;background:transparent;color:#243f31;font:inherit;cursor:pointer}#productGallery button[aria-pressed=true]{outline:3px solid #764bce;outline-offset:2px}footer nav{display:flex;flex-wrap:wrap;gap:16px}footer button{background:none;border:0;color:inherit;font:inherit;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:4px}#privacy{max-width:620px}#privacy p{font-size:14px;line-height:1.7}#privacy .reset-button{min-height:44px}button:disabled{cursor:not-allowed}#cartIssue{margin:14px 0;color:#8b352b}#frontColorCount:empty,#baseColorCount:empty{display:none}@media(max-width:540px){.catalog-sort{width:100%;justify-content:space-between}.catalog-sort select{max-width:65%}.product-quantity{gap:12px}.cart-row .quantity .remove{margin-left:0}footer nav{justify-content:center}}

#stlReady[hidden]{display:none}#stlReady{margin-top:10px;text-align:center;background:#764bce;color:white}

@font-face{font-family:'TRIDO Retro';src:url('vendor/fonts/retro.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
.font-retro{font-family:'TRIDO Retro',cursive;font-weight:400}.style-options{grid-template-columns:repeat(3,minmax(0,1fr))}

.clicker-key{inset:0;font-family:var(--clicker-font,"TRIDO Strak",Arial,sans-serif);font-weight:400;font-size:34px}

.brand-approved{display:block;flex:0 0 auto;width:220px;line-height:0;background:#fff;border-radius:8px;overflow:hidden}.brand-approved img{display:block;width:100%;height:auto}@media(max-width:500px){.brand-approved{width:160px}}

.hero-brand img{width:90%;height:auto;max-height:420px;object-fit:contain}

#clickerPerKeyColors{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:16px 0;padding:14px;border:1px solid #d9dfd8;border-radius:12px}
