.configurator{background:#fff9ed}
.configurator-intro{max-width:760px}
.configurator-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:5vw;align-items:start;margin-top:50px}
.configurator-step{border-top:2px solid #111;padding:30px 0 36px}
.configurator-step h3{font-size:clamp(25px,3vw,38px);letter-spacing:-.035em;margin:0 0 8px}
.configurator-step .step-no{display:inline-block;font-size:13px;letter-spacing:.15em;vertical-align:middle;margin-right:14px}
.configurator-step>p{font-size:16px;margin:0 0 22px}
.product-photo{display:block;width:min(100%,520px);height:auto;max-height:310px;object-fit:contain;background:#fff;margin:8px 0 22px}
.alphabet-photo{width:min(100%,650px);max-height:260px}
.currency-choices{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.currency-choices button{font:inherit;font-size:14px;min-height:44px;padding:9px 14px;border:1px solid #111;background:#fff;cursor:pointer}
.currency-choices button[aria-pressed=true]{background:#111;color:#fff}
.size-options{display:flex;gap:9px;flex-wrap:wrap}
.choice,.filter-choice{background:#fff;border:1px solid #111;color:#111;cursor:pointer;font:inherit;padding:11px 15px;min-height:44px}
.choice[aria-pressed=true],.filter-choice[aria-pressed=true]{background:#111;color:#fff}
.choice:hover,.filter-choice:hover{box-shadow:inset 0 0 0 2px #111}
.name-field{display:block;font-size:13px;text-transform:uppercase;font-weight:700;letter-spacing:.12em;margin-bottom:12px}
.name-entry{display:block;width:min(100%,430px);border:1px solid #111;border-radius:0;background:#fff;color:#111;font:700 24px Arial,Helvetica,sans-serif;letter-spacing:.08em;padding:14px 16px;text-transform:uppercase}
.name-help{font-size:14px!important;margin:10px 0 18px!important}
.rainbow-preview{display:flex;flex-wrap:wrap;gap:4px;min-height:55px;align-items:center}
.rainbow-preview span{display:inline-grid;place-items:center;width:38px;height:44px;border:2px solid #111;border-radius:4px;background:#fff;font-size:25px;font-weight:900;text-shadow:1px 1px #111}
.rainbow-preview span:nth-child(6n+1){color:#ff5751}.rainbow-preview span:nth-child(6n+2){color:#f0a914}.rainbow-preview span:nth-child(6n+3){color:#31a86f}.rainbow-preview span:nth-child(6n+4){color:#3683c9}.rainbow-preview span:nth-child(6n+5){color:#ad62b9}.rainbow-preview span:nth-child(6n){color:#e7669e}
.patch-filters{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 18px}
.filter-choice{font-size:13px;padding:8px 13px}
.patch-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.patch-choice{text-align:left;display:flex;flex-direction:column;width:100%;height:100%;padding:0;background:#fff;border:2px solid transparent;cursor:pointer;color:#111;font:inherit}
.patch-choice[aria-pressed=true]{border-color:#111;background:#f4c869}
.patch-choice:hover{border-color:#666}
.patch-photo{display:block;width:100%;height:170px;background:#fff url('assets/patch-studio-grid.png') no-repeat;background-size:300% 300%}
.patch-details{display:flex;flex-direction:column;gap:6px;padding:14px;flex:1}
.patch-details strong{font-size:16px}.patch-details small{font-size:13px;line-height:1.35}
.patch-price{font-weight:700;margin-top:auto;padding-top:10px}
.configurator-summary{position:sticky;top:105px;background:#111;color:#fff;padding:30px}
.configurator-summary h3{font-size:32px;line-height:1;margin:0 0 25px;letter-spacing:-.03em}
.summary-row{border-top:1px solid #555;padding:15px 0;display:flex;justify-content:space-between;gap:20px;font-size:15px;line-height:1.4}
.summary-row span:last-child{text-align:right}
.summary-total{font-size:21px;font-weight:700;color:#f4c869}
.configurator-summary .btn{background:#f4c869;color:#111;white-space:normal;text-align:center;line-height:1.4;width:100%;margin-top:24px}
.configurator-summary .summary-note{font-size:13px;line-height:1.5;color:#ddd;margin:18px 0 0}
.configurator button:focus-visible,.configurator input:focus-visible,.configurator a:focus-visible{outline:3px solid #c76500;outline-offset:3px}
.story-founder{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center;margin-top:7vw;padding-top:7vw;border-top:1px solid #ddd}
.story-founder>img{display:block;width:100%;max-height:620px;object-fit:cover}
.story-founder .btn{margin-top:10px}
@media(max-width:800px){.story-founder{grid-template-columns:1fr;margin-top:14vw;padding-top:14vw}}
@media(max-width:960px){.configurator-layout{grid-template-columns:1fr}.configurator-summary{position:static}.patch-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.patch-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.patch-photo{height:120px}.patch-details{padding:10px}.patch-details strong{font-size:14px}.rainbow-preview span{width:32px;height:38px;font-size:21px}.configurator-layout{margin-top:30px}}
