
:root{--cream:#f3ebdd;--paper:#faf6ed;--forest:#17372d;--ink:#17201b;--orange:#f04b2f;--muted:#5b665b;--line:#d6d7ca;--error:#a12b20;--serif:"Iowan Old Style","Palatino Linotype",Baskerville,Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}
[hidden]{display:none!important}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.45}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--forest);outline-offset:4px}
.wrap{width:min(100% - 80px,1340px);margin-inline:auto}.config-header{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:100px;border-bottom:1px solid var(--line)}.brand{font-size:1.5rem;letter-spacing:.13em;font-weight:700}.config-header nav{display:flex;gap:30px;font-size:.85rem}.config-header nav a{padding:12px 0}.config-header nav a:hover{text-decoration:underline;text-underline-offset:6px}.config-header nav span{padding-left:12px}
.skip-link{position:absolute;left:16px;top:-80px;z-index:20;padding:14px;background:var(--forest);color:white}.skip-link:focus{top:12px}
.config-intro{display:grid;grid-template-columns:1.4fr .6fr;align-items:end;gap:50px;padding-block:54px 44px}.eyebrow{margin:0 0 17px;color:var(--muted);font-weight:700;font-size:.69rem;letter-spacing:.15em;text-transform:uppercase}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.045em}h1{margin:0;font-size:clamp(3.1rem,5.5vw,5.7rem);line-height:1}h1 em{color:var(--forest);font-weight:500}.config-intro>p{margin:0 0 4px;max-width:330px;font-size:1rem;line-height:1.7;color:var(--muted)}
fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-weight:700;font-size:1rem;margin-bottom:20px;padding:0}legend>span{font-size:.72rem;color:var(--muted);margin-right:15px;font-weight:400}
.product-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.product-option,.style-options label,.motif-options label,.mode-options label{position:relative;cursor:pointer}.product-option input,.style-options input,.motif-options input,.mode-options input{position:absolute;width:1px;height:1px;opacity:0}.product-content{display:flex;align-items:center;gap:17px;min-height:92px;padding:10px 18px 10px 10px;border:1px solid var(--line);background:#fffdf8;transition:border-color .16s,background .16s}.product-content img{width:92px;height:65px;object-fit:cover}.product-content strong{display:block;font-size:.95rem;line-height:1.35}.product-content small{display:block;margin-top:6px;font-size:.73rem;color:var(--muted)}.selection-tick{margin-left:auto;visibility:hidden;color:var(--forest)}.product-option input:checked+.product-content{border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest);background:#eef0e6}.product-option input:checked+.product-content .selection-tick{visibility:visible}.product-option input:focus-visible+.product-content,.style-options input:focus-visible+span,.motif-options input:focus-visible+span,.mode-options input:focus-visible+span{outline:3px solid var(--forest);outline-offset:4px}
.config-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,75px);margin-top:40px;align-items:start}.preview-pane{position:sticky;top:22px;min-width:0}.preview-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.preview-top p{margin:0}.live-label{font-size:.72rem;color:var(--forest)}.live-label::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--forest);margin-right:7px;vertical-align:2px}.preview-stage{position:relative;background:var(--cream);overflow:hidden;border-radius:3px}.preview-stage svg{display:block;width:100%;height:auto;aspect-ratio:3/2}.engraving{fill:#492b18;opacity:.88;mix-blend-mode:multiply}.engraving text{font-family:Georgia,serif;font-size:82px}.zoom-button{position:absolute;right:14px;bottom:14px;border:1px solid #d6d7ca;background:rgba(250,246,237,.96);padding:10px 13px;min-height:40px;font-size:.73rem;border-radius:999px}.zoom-button span{margin-left:14px}.zoom-button:hover{background:white}.preview-copy{margin-top:23px}.preview-copy h2{font-size:2.25rem;line-height:1.05;margin:0 0 9px}.preview-copy>p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.6}.preview-note{font-size:.71rem;line-height:1.65;color:var(--muted);max-width:550px;margin:20px 0}.preview-promise{border-top:1px solid var(--line);padding-top:19px}.preview-promise strong{font-size:.8rem}.preview-promise p{font-size:.75rem;line-height:1.65;color:var(--muted);margin:8px 0 0;max-width:450px}.preview-names-control{display:flex;align-items:center;gap:14px;margin-top:20px;font-size:.8rem}.preview-names-control select{flex:1;min-width:0}
.control-section{border-top:1px solid var(--line);padding-top:26px;margin-bottom:28px}.control-section>legend{float:left;width:100%;margin:0 0 23px}.control-section>legend+*{clear:both}.control-section:first-child{border-top:0;padding-top:0}.mode-options{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#e9ebdf;padding:4px;border-radius:7px;margin-bottom:25px}.mode-options span{display:flex;align-items:center;justify-content:center;min-height:40px;padding:8px;text-align:center;border-radius:4px;font-size:.8rem}.mode-options input:checked+span{background:var(--paper);box-shadow:0 1px 4px #17201b16;font-weight:700}
.field{margin-top:22px}.field>label,.label-row label{font-size:.86rem;font-weight:700}.label-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:10px}.optional{font-size:.73rem;font-weight:400;color:var(--muted);margin-left:5px}.required{color:var(--forest)}.counter{font-size:.7rem;color:var(--muted);white-space:nowrap}input[type=text],input[type=date],textarea,select{display:block;width:100%;border:1px solid #929c8a;background:#fffdf8;padding:13px 14px;min-height:48px;border-radius:4px;color:var(--ink);font-size:1rem}input::placeholder,textarea::placeholder{color:#788073;opacity:1}textarea{resize:vertical;line-height:1.6;max-height:330px}.field>label+input,.field>label+textarea{margin-top:10px}.hint{margin:9px 0 0;color:var(--muted);font-size:.73rem;line-height:1.6}.field-error{margin:8px 0 0;color:var(--error);font-size:.78rem;line-height:1.5}input[aria-invalid=true],textarea[aria-invalid=true]{border:2px solid var(--error)}.checkbox-line{display:flex;align-items:center;gap:10px;min-height:44px;margin-top:12px;font-size:.8rem;cursor:pointer}.checkbox-line input{width:18px;height:18px;accent-color:var(--forest);margin:0}
.mini-fieldset{margin-top:22px}.mini-fieldset>legend{font-size:.83rem;margin-bottom:12px}.style-options,.motif-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.style-options label>span{display:flex;flex-direction:column;align-items:center;gap:8px;min-height:91px;padding:13px 10px;border:1px solid var(--line);border-radius:4px;background:#fffdf8}.style-options b{font-size:1.8rem;line-height:1;font-weight:400}.style-options small{font-size:.72rem}.font-classic{font-family:Georgia,serif}.font-clear{font-family:Arial,sans-serif}.font-elegant{font-family:Georgia,serif;font-style:italic}.style-options input:checked+span,.motif-options input:checked+span{background:#eef0e6;border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest)}.motif-options label>span{display:flex;align-items:center;justify-content:center;gap:8px;min-height:49px;border:1px solid var(--line);border-radius:4px;font-size:.8rem;background:#fffdf8}.motif-options svg{fill:currentColor;width:18px;height:18px}
.quantity-section{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px 22px;border-top:1px solid var(--line);padding-block:24px}.quantity-section label{font-size:.85rem;font-weight:700}.quantity-section .hint{margin-top:6px}.quantity-section .field-error{grid-column:1/-1}.stepper{display:flex;height:46px;border:1px solid #929c8a;border-radius:4px;background:#fffdf8;overflow:hidden}.stepper button{border:0;background:transparent;width:39px;font-size:1.2rem}.stepper button:hover{background:#eef0e6}.stepper input{width:52px;text-align:center;border:0;border-inline:1px solid var(--line);background:transparent;border-radius:0;appearance:textfield;-moz-appearance:textfield}.stepper input::-webkit-inner-spin-button,.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.extras{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.extras summary{cursor:pointer;font-size:.84rem;font-weight:700;min-height:25px}.extras summary span{font-size:.72rem;color:var(--muted);font-weight:400;margin-left:10px}.extras[open]{padding-bottom:25px}.form-error{padding:13px 15px;background:#f7e5df;color:var(--error);border-radius:4px;line-height:1.5;font-size:.82rem;margin:20px 0}
.request-bar{margin-top:25px;display:flex;align-items:center;justify-content:space-between;gap:16px}.request-total strong{display:block;font-size:.9rem}.request-total span{display:block;margin-top:6px;color:var(--muted);font-size:.72rem}.request-actions{display:flex;gap:8px}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;border:1px solid var(--forest);border-radius:4px;min-height:51px;padding:14px 20px;font-weight:700;font-size:.84rem;line-height:1.3}.button-primary{background:var(--forest);color:var(--paper)}.button-primary:hover{background:#264d3e}.button-primary:focus-visible{outline-color:var(--orange)}.button-primary span{font-size:1.2rem}.button-outline{background:var(--paper);color:var(--forest)}#mobile-preview{display:none}.request-note{font-size:.72rem;line-height:1.65;color:var(--muted);margin:16px 0 0}
.config-bottom{margin-block:80px 55px;padding-top:28px;border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.2fr;column-gap:80px}.config-bottom h2{font-size:2.5rem;margin:0;grid-row:1/4}.config-bottom details{padding:18px 0;border-bottom:1px solid var(--line)}.config-bottom summary{cursor:pointer;font-size:.87rem;font-weight:700;line-height:1.5}.config-bottom p{color:var(--muted);font-size:.84rem;line-height:1.7;margin-bottom:0}.config-footer{padding-block:24px 35px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;font-size:.74rem;color:var(--muted)}.config-footer>div{display:flex;gap:24px}.config-footer a:hover{text-decoration:underline;text-underline-offset:5px}.fallback-message{padding:25px;background:var(--cream);line-height:1.7}.fallback-message a{text-decoration:underline}
dialog{border:0;border-radius:8px;background:var(--paper);color:var(--ink);padding:30px;width:calc(100% - 32px);max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 24px 100px #102a2245}dialog::backdrop{background:#102a22a3;backdrop-filter:blur(4px)}.dialog-heading{display:flex;align-items:start;justify-content:space-between;gap:25px}.dialog-heading h2{font-size:2.7rem;line-height:1;margin:0}.dialog-heading .eyebrow{margin-bottom:13px}.close-button{width:40px;height:40px;border:1px solid var(--line);background:var(--paper);border-radius:50%;font-size:1.6rem;line-height:1;flex-shrink:0}.close-button:hover{background:var(--cream)}.zoom-dialog{max-width:1050px}.zoom-dialog h2{font-size:2.1rem}#zoom-content{margin-top:22px}#zoom-content svg{display:block;width:100%;height:auto}.request-dialog{max-width:570px}.dialog-intro{color:var(--muted);font-size:.87rem;line-height:1.7;margin:21px 0}.summary-product{display:flex;justify-content:space-between;gap:20px;align-items:baseline;padding-block:18px;border-top:1px solid var(--line)}.summary-product strong{font-size:1.1rem}.summary-product span{font-size:.85rem}.summary-names{display:flex;flex-wrap:wrap;gap:8px;max-height:180px;overflow:auto;margin-bottom:20px;padding:2px}.summary-names span{display:block;padding:8px 11px;border-radius:4px;background:#e9ebdf;overflow-wrap:anywhere;font-size:.85rem;line-height:1.5}.summary-details{display:grid;grid-template-columns:100px 1fr;gap:10px 18px;font-size:.8rem;line-height:1.6;margin:0;padding-bottom:20px;border-bottom:1px solid var(--line)}.summary-details dt{color:var(--muted)}.summary-details dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.summary-tools{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:19px}.summary-tools button,.back-to-design{border:0;background:transparent;padding:10px 0;text-decoration:underline;text-underline-offset:5px;font-size:.77rem;min-height:42px}.status-message{font-size:.76rem;color:var(--forest);line-height:1.5;min-height:1.5em;margin:5px 0 12px}.email-request{width:100%;justify-content:space-between}.dialog-footnote{font-size:.72rem;line-height:1.7;color:var(--muted);margin:14px 0 5px}.back-to-design{display:block;margin:auto}.long-request-note{margin-top:20px;background:#e9ebdf;padding:15px;border-radius:4px;font-size:.82rem;line-height:1.6}.long-request-note p{margin:7px 0 0;color:var(--muted)}#manual-copy{margin-top:15px}#manual-copy label{display:block;font-size:.77rem;margin-bottom:10px}#request-text{font-size:.8rem}
@media(max-width:1100px){.product-content{gap:10px;padding-right:12px}.product-content img{width:68px;height:56px}.product-content strong{font-size:.85rem}.product-content small{font-size:.68rem}.selection-tick{font-size:.8rem}.config-layout{gap:32px;grid-template-columns:1fr 1fr}.request-bar{align-items:start;flex-direction:column}.request-actions,.request-actions .button{width:100%}.config-intro{gap:30px}.config-intro>p{font-size:.9rem}}
@media(max-width:820px){.wrap{width:calc(100% - 36px)}.config-header{min-height:82px;gap:20px}.brand{font-size:1.2rem}.config-header nav{font-size:.75rem}.config-header nav a:last-child{display:none}.config-intro{grid-template-columns:1fr;gap:20px;padding-block:38px 32px}.config-intro h1{font-size:clamp(2.7rem,8.9vw,4.6rem)}.config-intro>p{max-width:450px}.product-options{gap:8px}.product-content{padding:6px;flex-direction:column;gap:8px;text-align:center;min-height:132px;position:relative}.product-content img{width:100%;height:64px}.product-content strong{font-size:.76rem}.product-content small{display:none}.selection-tick{position:absolute;top:8px;right:8px;background:var(--paper);border-radius:50%;width:19px;height:19px;line-height:19px;font-size:.7rem}.config-layout{grid-template-columns:1fr;margin-top:27px;gap:32px}.preview-pane{position:static}.preview-copy{margin-top:18px}.preview-copy h2{font-size:2rem}.preview-note{margin-bottom:0}.preview-promise{display:none}.controls-pane{max-width:none}.preview-stage{max-height:none}.preview-top{margin-bottom:12px}.control-section>legend{font-size:1.05rem}.controls-pane .control-section:first-child{border-top:1px solid var(--line);padding-top:27px}.request-bar{position:fixed;z-index:6;bottom:0;left:0;right:0;margin:0;padding:13px 18px calc(13px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -6px 24px #17201b08;gap:10px;flex-direction:row;align-items:center}.request-total{max-width:32%;flex-shrink:0}.request-total strong{font-size:.78rem;line-height:1.4}.request-total span{font-size:.65rem}.request-actions{width:auto;flex:1;justify-content:flex-end}.request-actions .button{width:auto;min-height:45px;padding:10px 13px;font-size:.75rem;gap:14px}#mobile-preview{display:inline-flex}.request-note{margin-top:23px}.config-bottom{grid-template-columns:1fr;gap:20px;margin-block:50px 35px}.config-bottom h2{grid-row:auto;font-size:2.2rem}.config-bottom details{padding-top:0}.config-footer{flex-direction:column;gap:15px;padding-bottom:125px}.config-footer>div{flex-wrap:wrap;gap:12px 25px}dialog{padding:23px;max-height:calc(100dvh - 24px)}.dialog-heading h2{font-size:2.3rem}.zoom-dialog h2{font-size:1.7rem}.dialog-intro{margin-block:17px;font-size:.83rem}.summary-details{grid-template-columns:85px 1fr;gap:10px 14px}.extras summary span{font-size:.68rem}.quantity-section{gap:12px}.preview-names-control select{font-size:1rem}}
@media(max-width:390px){.request-total{display:none}.request-actions{width:100%}.request-actions .button-primary{flex:1}.brand{font-size:1.05rem;letter-spacing:.1em}.config-header nav{font-size:.7rem}.mode-options span{font-size:.75rem}.product-content strong{font-size:.7rem}.product-content{min-height:115px}.product-content img{height:54px}.preview-top .eyebrow{font-size:.65rem}.live-label{font-size:.67rem}.label-row{gap:8px}.label-row label{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
