:root{--paper:#fff;--paper-deep:#f3f1ec;--ink:#2b2118;--ink-soft:#5a4a38;--ink-faint:#8a755a;--rule:#cbb184;--rule-soft:#ddc79e;--terracotta:#2e6048;--terracotta-deep:#1f4231;--sage:#6d8a48;--ochre:#dd901c;--slate:#3f5a72;--gilt:#b9842a;--shadow:0 1px 0 rgba(43,33,24,.06);--display:"Fraunces","Playfair Display",Georgia,serif;--body:"EB Garamond",Georgia,"Times New Roman",serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body,html{margin:0;padding:0;color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{min-height:100vh;flex-direction:column;background:var(--paper)}#root,.page{display:flex}.page{flex:1 1;flex-direction:column;align-items:center;padding:clamp(22px,4vw,56px);gap:28px}.masthead{position:-webkit-sticky;position:sticky;top:0;z-index:20;width:100%;background:hsla(40,55%,96%,.82);backdrop-filter:saturate(1.1) blur(10px);-webkit-backdrop-filter:saturate(1.1) blur(10px);border-bottom:1px solid var(--rule-soft);box-shadow:0 1px 0 rgba(154,123,63,.18),0 8px 22px -18px rgba(43,33,24,.5);animation:masthead-in .56s cubic-bezier(.2,.7,.2,1) both}@keyframes masthead-in{0%{opacity:0;transform:translateY(-10px)}}.masthead__inner{width:min(100%,1180px);margin:0 auto;padding:14px clamp(18px,4vw,40px);display:flex;align-items:center;gap:18px}.masthead__brand{display:inline-flex;align-items:center;gap:13px;text-decoration:none;color:inherit;margin-right:auto}.masthead__emblem{width:46px;height:46px;flex:none;filter:drop-shadow(0 2px 4px rgba(31,66,49,.18));transition:transform .28s cubic-bezier(.2,.7,.2,1)}.masthead__brand:hover .masthead__emblem{transform:rotate(-4deg) scale(1.04)}.masthead__wordmark{display:flex;flex-direction:column;line-height:1}.masthead__name{font-family:var(--display);font-weight:600;font-size:23px;letter-spacing:.01em;color:var(--ink)}.masthead__nav{display:flex;align-items:center;gap:6px}.masthead__link{position:relative;font-family:var(--body);font-size:16px;color:var(--ink-soft);text-decoration:none;padding:7px 12px;border-radius:3px;transition:color .16s ease,background .16s ease}.masthead__link:hover{color:var(--ink);background:rgba(31,66,49,.07)}.masthead__cta{font-family:var(--body);font-size:16px;white-space:nowrap;text-decoration:none;color:var(--paper);background:var(--terracotta);border:1px solid var(--terracotta-deep);padding:9px 18px;border-radius:3px;box-shadow:0 8px 18px -10px rgba(31,66,49,.7);transition:background .16s ease,transform .16s ease,box-shadow .16s ease}.masthead__cta:hover{transform:translateY(-1px);box-shadow:0 12px 22px -10px rgba(31,66,49,.75)}.masthead__cta.is-active,.masthead__cta:hover{background:var(--terracotta-deep)}.masthead__link.is-active{color:var(--terracotta-deep)}.masthead__link.is-active:after{content:"";position:absolute;left:12px;right:12px;bottom:1px;height:2px;border-radius:2px;background:var(--terracotta)}@media (max-width:560px){.masthead__link{font-size:15px;padding:7px 9px}}.toolbar{width:min(100%,1180px);display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;background:hsla(0,0%,100%,.6);border:1px solid var(--rule-soft);border-radius:4px}.toolbar__label{font-family:var(--display);font-feature-settings:"smcp";font-variant:small-caps;letter-spacing:.05em;font-size:15px;color:var(--ink-soft);margin-right:auto}.toolbar button,.toolbar select{font-family:var(--body);font-size:15px;color:var(--ink);background:var(--paper);border:1px solid var(--rule-soft);border-radius:3px;padding:8px 13px;cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.toolbar select:hover{border-color:var(--rule)}.toolbar button{color:var(--paper);background:var(--terracotta);border-color:var(--terracotta-deep);font-size:15px}.toolbar button:hover:not(:disabled){background:var(--terracotta-deep)}.toolbar button:disabled{opacity:.55;cursor:not-allowed}.toolbar select option{color:#2b2118}.builder{width:min(100%,820px)}.builder,.builder__form{display:flex;flex-direction:column}.builder__form{color:var(--ink);gap:28px}.builder__intro h2{font-family:var(--display);font-size:clamp(38px,5vw,52px);line-height:1.05;margin:-12px 0 28px;color:var(--ink)}.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.steps__item{position:relative;display:flex;align-items:center;gap:14px;padding:12px 0}.steps__item:not(:last-child):before{content:"";position:absolute;left:17px;top:calc(50% + 15px);bottom:-15px;width:2px;background:rgba(31,66,49,.16)}.steps__num{flex:none;min-width:36px;height:30px;padding:0 10px;display:grid;place-items:center;border-radius:999px;background:var(--terracotta);color:var(--paper);font-family:var(--display);font-feature-settings:"smcp";font-variant:small-caps;letter-spacing:.04em;font-weight:600;font-size:15px;box-shadow:0 2px 7px rgba(31,66,49,.28)}.steps__text{font-size:16px;line-height:1.3;color:var(--ink)}.builder__intro code{background:var(--paper-deep);padding:1px 5px;border-radius:3px;font-size:15px}.builder__group{border:1px solid var(--rule-soft);border-radius:4px;padding:20px;margin:0;display:flex;flex-direction:column;gap:18px}.builder__group legend{font-family:var(--display);font-feature-settings:"smcp";font-variant:small-caps;letter-spacing:.04em;font-size:19px;color:var(--terracotta-deep);padding:0 6px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field__label{font-size:16px;font-weight:600;color:var(--ink-soft);font-feature-settings:"smcp";font-variant:small-caps;letter-spacing:.03em}.field__optional{font-size:12px;font-weight:600;font-feature-settings:normal;font-variant:normal;letter-spacing:.02em;text-transform:lowercase;color:var(--ink-faint);margin-left:6px}.field__hint{font-size:14px;color:var(--ink-faint)}.field input{font-family:var(--body);font-size:18px;color:var(--ink);background:var(--paper);border:1px solid var(--rule-soft);border-radius:3px;padding:11px 14px;width:100%;transition:border-color .14s ease,box-shadow .14s ease}.field input:focus{outline:none;border-color:var(--terracotta);box-shadow:0 0 0 3px rgba(46,96,72,.14)}.field__select{font-family:var(--body);font-size:18px;color:var(--ink);background:var(--paper);border:1px solid var(--rule-soft);border-radius:3px;padding:11px 14px;width:100%;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease}.field__select:focus{outline:none;border-color:var(--terracotta);box-shadow:0 0 0 3px rgba(46,96,72,.14)}.uploader{display:flex;flex-direction:column;gap:12px}.uploader__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));grid-gap:10px;gap:10px}.uploader__item{position:relative;aspect-ratio:1;border-radius:4px;overflow:hidden;border:1px solid var(--rule-soft);background:var(--paper-deep)}.uploader__item img{width:100%;height:100%;object-fit:cover;display:block}.uploader__remove{position:absolute;top:5px;right:5px;width:24px;height:24px;display:grid;place-items:center;font-size:18px;line-height:1;color:var(--paper);background:rgba(43,33,24,.72);border:none;border-radius:50%;cursor:pointer;transition:background .14s ease}.uploader__remove:hover{background:var(--terracotta-deep)}.dropzone{position:relative;display:flex;align-items:center;justify-content:center;min-height:132px;padding:20px;border:2px dashed var(--rule);border-radius:4px;background:var(--paper);cursor:pointer;text-align:center;transition:border-color .14s ease,background .14s ease}.dropzone:focus-visible,.dropzone:hover{outline:none;border-color:var(--terracotta);background:rgba(46,96,72,.06)}.dropzone.is-dragging{border-color:var(--terracotta);border-style:solid;background:rgba(46,96,72,.12)}.dropzone--full{cursor:default;opacity:.65}.dropzone__prompt{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--ink-soft);font-size:16px;line-height:1.4;pointer-events:none}.dropzone__icon{font-size:34px;color:var(--terracotta-deep)}.years{display:flex;flex-direction:column;gap:10px}.field-check{display:flex;align-items:center;gap:8px;font-size:16px;color:var(--ink-soft);cursor:pointer}.field-check input{width:17px;height:17px;accent-color:var(--terracotta);cursor:pointer}.field__error{font-size:14px;color:var(--terracotta-deep)}.field input[aria-invalid=true]{border-color:var(--terracotta);box-shadow:0 0 0 3px rgba(46,96,72,.14)}.field input:disabled{background:var(--paper-deep);color:var(--ink-faint);cursor:not-allowed}.field-row{display:flex;gap:12px}.field-row .field{flex:1 1}.field-row .field--narrow{flex:0 0 96px}.address{border:1px solid var(--rule-soft);border-left:3px solid var(--rule);border-radius:3px;padding:14px;display:flex;flex-direction:column;gap:12px;background:var(--paper-deep)}.address__head{display:flex;align-items:center;justify-content:space-between}.address__num{font-family:var(--display);font-feature-settings:"smcp";font-variant:small-caps;letter-spacing:.04em;font-size:17px;color:var(--ink-soft)}.address__remove{font-family:var(--body);font-size:15px;color:var(--terracotta-deep);background:none;border:none;cursor:pointer;padding:2px 4px}.address__remove:hover{text-decoration:underline}.builder__add{align-self:flex-start;font-family:var(--body);font-size:16px;color:var(--terracotta-deep);background:none;border:1px dashed var(--rule);border-radius:3px;padding:11px 18px;cursor:pointer;transition:background .14s ease,border-color .14s ease}.builder__add:hover:not(:disabled){background:rgba(46,96,72,.06);border-color:var(--terracotta)}.builder__add:disabled{opacity:.5;cursor:not-allowed}.builder__add-wrap{align-self:flex-start;display:inline-flex}.builder__actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.builder__actions button{font-family:var(--body);font-size:18px;color:var(--paper);background:var(--terracotta);border:1px solid var(--terracotta-deep);border-radius:3px;padding:13px 26px;cursor:pointer;transition:background .14s ease}.builder__actions button:hover:not(:disabled){background:var(--terracotta-deep)}.builder__actions button:disabled{opacity:.5;cursor:not-allowed}.builder__hint{font-size:15px;color:var(--ink-faint)}.builder__preview-toggle{font-family:var(--body);font-size:16px;color:var(--terracotta-deep);background:none;border:1px solid var(--rule);border-radius:3px;padding:12px 20px;cursor:pointer;transition:background .14s ease,border-color .14s ease,opacity .14s ease}.builder__preview-toggle:hover:not(:disabled){background:rgba(46,96,72,.06);border-color:var(--terracotta)}.builder__preview-toggle:disabled{opacity:.45;cursor:not-allowed}.builder__preview-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.builder__preview-collapse{font-family:var(--body);font-size:14px;color:var(--ink-soft);background:none;border:none;cursor:pointer;padding:2px 4px}.builder__preview-collapse:hover{color:var(--terracotta-deep);text-decoration:underline}.builder__preview{display:flex;flex-direction:column;gap:14px;padding-top:6px;border-top:1px solid var(--rule-soft)}.builder__preview-label{margin:0;font-family:var(--display);font-feature-settings:"smcp";font-variant:small-caps;letter-spacing:.05em;font-size:15px;color:var(--ink-soft)}.builder__preview-scale{width:100%;max-width:460px;margin:0 auto}.builder__preview-empty{border:1px dashed var(--rule);border-radius:4px;padding:48px 24px;text-align:center;color:var(--ink-faint);font-family:var(--body);font-size:16px}.builder__subtotal{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid var(--rule-soft)}.builder__subtotal-label{font-family:var(--display);font-feature-settings:"smcp";font-variant:small-caps;letter-spacing:.05em;font-size:17px;color:var(--ink-soft)}.builder__subtotal-price{font-family:var(--display);font-weight:600;font-size:26px;color:var(--ink)}.sizes{display:flex;flex-wrap:wrap;gap:12px}.size{flex:1 1 200px;display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid var(--rule-soft);border-radius:4px;cursor:pointer;transition:border-color .15s,background .15s}.size.is-selected,.size:hover{border-color:var(--terracotta)}.size.is-selected{background:var(--paper-deep)}.size input{position:absolute;opacity:0;pointer-events:none}.size__label{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:16px;font-weight:600;color:var(--ink)}.size__badge{font-family:var(--display);font-feature-settings:"smcp";font-variant:small-caps;letter-spacing:.04em;font-size:13px;font-weight:600;color:var(--paper);background:var(--terracotta);padding:2px 8px;border-radius:999px}.builder__breakdown{display:flex;flex-direction:column;gap:10px}.builder__line{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.builder__line-label{display:flex;flex-direction:column;gap:2px;font-size:16px;color:var(--ink)}.builder__line-label small{font-size:13px;color:var(--ink-soft)}.builder__line-amt{font-size:16px;color:var(--ink);white-space:nowrap}.builder__breakdown .builder__subtotal{margin-top:4px}.builder--wizard{width:min(100%,1080px)}.wizard{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-gap:40px;gap:40px;align-items:start}.wizard--solo{grid-template-columns:minmax(0,560px);justify-content:center}.wizard--solo .wizard__form{padding-top:0}.wizard__preview{position:-webkit-sticky;position:sticky;top:24px;display:flex;flex-direction:column;gap:12px;animation:preview-pop .32s cubic-bezier(.2,.7,.2,1) both}@keyframes preview-pop{0%{opacity:0;transform:scale(.96)}}.wizard__form{gap:24px;padding-top:32px}.wizard__progress{list-style:none;margin:0;padding:0;display:flex;gap:8px}.wizard__step{flex:1 1}.wizard__step-btn{width:100%;display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 2px 0;background:none;border:none;border-top:3px solid var(--rule-soft);color:var(--ink-faint);font-family:var(--body);cursor:pointer;transition:color .14s ease,border-color .14s ease}.wizard__step-btn:disabled{cursor:default}.wizard__step.is-current .wizard__step-btn,.wizard__step.is-done .wizard__step-btn{color:var(--ink);border-top-color:var(--terracotta)}.wizard__step-num{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;border:1px solid;font-size:14px;font-weight:600}.wizard__step.is-current .wizard__step-num{background:var(--terracotta);border-color:var(--terracotta);color:var(--paper)}.wizard__step.is-done .wizard__step-num{background:var(--terracotta-deep);border-color:var(--terracotta-deep);color:var(--paper)}.wizard__step-label{font-size:13px;font-feature-settings:"smcp";font-variant:small-caps;letter-spacing:.03em}.wizard__panel{gap:20px;min-height:320px}.wizard__head,.wizard__panel{display:flex;flex-direction:column}.wizard__head{gap:8px}.wizard__title{margin:0;font-family:var(--display);font-size:clamp(26px,3.4vw,34px);line-height:1.1;color:var(--ink)}.wizard__sub{margin:0;font-size:16px;line-height:1.45;color:var(--ink-soft)}.wizard__addresses{display:flex;flex-direction:column;gap:14px}.wizard__addresses .builder__add-wrap{margin-top:10px}.address--summary{flex-direction:row;align-items:center;gap:14px;cursor:pointer;background:var(--paper);transition:border-color .14s ease,background .14s ease}.address--summary:focus-visible,.address--summary:hover{outline:none;border-left-color:var(--terracotta);background:var(--paper-deep)}.address__summary-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1}.address__summary-line{font-size:16px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.address__summary-sub{font-size:14px;color:var(--ink-soft)}.address__summary-edit{font-family:var(--body);font-size:15px;font-feature-settings:"smcp";font-variant:small-caps;letter-spacing:.03em;color:var(--terracotta-deep)}.wizard__recap{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.wizard__recap li{display:flex;justify-content:space-between;gap:12px;font-size:16px;color:var(--ink)}.wizard__recap li span:first-child{color:var(--ink-soft)}.wizard__actions{display:flex;align-items:center;gap:12px}.wizard__continue{margin-left:auto;font-family:var(--body);font-size:18px;color:var(--paper);background:var(--terracotta);border:1px solid var(--terracotta-deep);border-radius:3px;padding:13px 26px;cursor:pointer;transition:background .14s ease}.wizard__continue:hover:not(:disabled){background:var(--terracotta-deep)}.wizard__continue:disabled{opacity:.5;cursor:not-allowed}@media (max-width:860px){.wizard{grid-template-columns:1fr;gap:24px}.wizard__preview{position:static}.wizard__form{padding-top:0}.wizard__step-label{display:none}}@media print{@page{margin:12mm}#root{background:none}.page{padding:0}.builder__form,.builder__preview-label,.masthead,.toolbar{display:none}.poster{width:100%;box-shadow:none}}