:root{--bg:#fbfaf8;--ink:#1d1d1f;--muted:#6e6e73;--line:#e3e1dc;--soft:#f1efea;--accent:#ff6a1f;--blue:#0071e3;--radius:22px;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1,h2,h3,p{margin:0}h1,h2{letter-spacing:-.03em;text-wrap:balance;line-height:1.05}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.nav{z-index:10;background:color-mix(in srgb, var(--bg) 80%, transparent);-webkit-backdrop-filter:saturate(180%)blur(16px);backdrop-filter:saturate(180%)blur(16px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px clamp(16px,4vw,40px);display:flex;position:sticky;top:0}.brand{letter-spacing:-.03em;color:var(--ink);font-size:20px;font-weight:700;text-decoration:none}.btn{background:var(--ink);color:#fff;border:0;border-radius:999px;justify-content:center;align-items:center;padding:14px 26px;font-size:16px;font-weight:600;text-decoration:none;transition:transform .15s,opacity .15s;display:inline-flex}.btn:hover{transform:scale(1.03)}.btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.btn-small{padding:8px 16px;font-size:14px}.btn-ghost{background:var(--soft);color:var(--ink)}.link{color:var(--blue);background:0 0;border:0;padding:8px 4px;font-size:16px;text-decoration:none}.link:hover{text-decoration:underline}.hero{grid-template-columns:1.05fr 1fr;align-items:center;gap:24px;max-width:1200px;margin:0 auto;padding:clamp(32px,7vw,96px) clamp(16px,4vw,40px) 40px;display:grid}.eyebrow{color:var(--accent);margin-bottom:16px;font-weight:600}.hero h1{font-size:clamp(40px,6.4vw,80px);font-weight:700}.lead{max-width:34em;color:var(--muted);margin-top:24px;font-size:clamp(18px,2vw,22px);line-height:1.45}.hero-actions{flex-wrap:wrap;align-items:center;gap:20px;margin-top:32px;display:flex}.hero-3d{background:radial-gradient(circle at 50% 40%,#fff 0%,#f3eee7 70%);border-radius:36px;height:min(62vh,560px);min-height:320px}.band{text-align:center;max-width:820px;margin:0 auto;padding:clamp(56px,10vw,120px) clamp(16px,4vw,40px)}.band h2,.steps h2,.inside h2,.cta h2{font-size:clamp(32px,5vw,56px);font-weight:700}.band p{color:var(--muted);margin-top:24px;font-size:clamp(18px,2vw,21px);line-height:1.55}.gallery{grid-template-columns:1fr 1fr;gap:20px;max-width:1200px;margin:0 auto;padding:0 clamp(16px,4vw,40px);display:grid}.gallery figure{margin:0}.g-wide{grid-column:1/-1}.photo{aspect-ratio:16/9;border-radius:var(--radius);background:var(--soft);overflow:hidden}.photo-tall{aspect-ratio:4/5}.photo img{object-fit:cover;width:100%;height:100%;display:block}.photo-empty{text-align:center;height:100%;color:var(--muted);border:2px dashed var(--line);border-radius:var(--radius);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.photo-empty span{font-weight:600}figcaption{color:var(--muted);margin-top:14px;font-size:17px;line-height:1.4}figcaption strong{color:var(--ink)}.steps,.inside,.cta{text-align:center;max-width:1200px;margin:0 auto;padding:clamp(56px,10vw,120px) clamp(16px,4vw,40px) 0}.steps ol{text-align:left;grid-template-columns:repeat(3,1fr);gap:20px;margin:48px 0 0;padding:0;list-style:none;display:grid}.steps li{border-radius:var(--radius);background:var(--soft);padding:28px}.steps li span{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:700;display:inline-grid}.steps h3{letter-spacing:-.02em;margin:18px 0 8px;font-size:22px}.steps li p{color:var(--muted);line-height:1.5}.chips{flex-wrap:wrap;justify-content:center;gap:10px;margin:36px 0 0;padding:0;list-style:none;display:flex}.chips li{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 20px;font-size:17px}.cta{padding-bottom:clamp(56px,10vw,120px)}.cta .btn{margin-top:32px}.footer{text-align:center;color:var(--muted);border-top:1px solid var(--line);padding:28px 16px;font-size:13px}.cfg{grid-template-columns:minmax(0,1.5fr) minmax(360px,1fr);min-height:calc(100vh - 57px);display:grid}.cfg-view{touch-action:pan-y;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 50% 42%,#fff 0%,#f1ece5 75%);height:calc(100vh - 57px);position:sticky;top:57px}.carousel-ui{text-align:center;justify-content:center;align-items:center;gap:28px;display:flex;position:absolute;bottom:28px;left:0;right:0}.carousel-ui strong{letter-spacing:-.02em;min-width:140px;font-size:20px;display:block}.carousel-ui>button{background:#00000012;border:0;border-radius:50%;width:44px;height:44px;padding-bottom:4px;font-size:26px;line-height:1}.carousel-ui>button:hover{background:#00000021}.dots{justify-content:center;gap:4px;margin-top:6px;display:flex}.dots button{background:0 0;border:0;width:20px;height:20px;padding:0;position:relative}.dots button:after{content:"";background:#0003;border-radius:50%;transition:background .2s;position:absolute;inset:6px}.dots button.is-on:after{background:var(--ink)}.cfg-panel{border-left:1px solid var(--line);background:#fff;flex-direction:column;padding:28px clamp(20px,3vw,44px) 24px;display:flex}.stepper{flex-wrap:wrap;gap:4px 14px;margin:0 0 36px;padding:0;list-style:none;display:flex}.stepper button{color:var(--muted);background:0 0;border:0;align-items:center;gap:6px;padding:4px 0;font-size:13px;display:flex}.stepper button:disabled{cursor:default;opacity:.55}.stepper span{background:var(--soft);border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:inline-grid}.stepper .is-on button{color:var(--ink);font-weight:600}.stepper .is-on span{background:var(--ink);color:#fff}.stepper .is-done span{background:var(--accent);color:#fff}.cfg-step{flex:1;animation:.45s cubic-bezier(.2,.8,.2,1) step-in}@keyframes step-in{0%{opacity:0;transform:translateY(14px)}}.cfg-step h1{font-size:clamp(30px,3.2vw,42px);font-weight:700}.sub{color:var(--muted);margin-top:10px;font-size:17px;line-height:1.45}.optional{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:10px;font-size:13px;font-weight:600}.swatches-block{margin-top:32px}.swatch-label{color:var(--muted);font-size:15px}.swatch-label strong{color:var(--ink)}.swatches{flex-wrap:wrap;gap:14px;margin-top:14px;display:flex}.swatch{outline-offset:3px;border:0;border-radius:50%;outline:2px solid #0000;width:36px;height:36px;padding:0;transition:outline-color .2s,transform .2s;box-shadow:inset 0 2px 4px #0000002e,inset 0 0 0 1px #00000014}.swatch:hover{transform:scale(1.08)}.swatch.is-on{outline-color:var(--blue)}.cards{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-top:28px;display:grid}.cards-small{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.card{text-align:left;background:#fff;border:1px solid #c9c7c2;border-radius:14px;flex-direction:column;gap:4px;padding:16px;transition:border-color .2s,box-shadow .2s;display:flex}.card:hover{border-color:var(--ink)}.card.is-on{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}.card small{color:var(--muted);line-height:1.3}.hint{color:var(--muted);margin-top:18px}.field{flex-direction:column;gap:8px;margin-top:22px;font-size:14px;font-weight:600;display:flex}.field input[type=text]{font:inherit;border:1px solid #c9c7c2;border-radius:12px;padding:15px 16px;font-size:17px;font-weight:400}.field input[type=text]:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #0071e333}.field input[type=file]{font:inherit;font-weight:400}.field small{overflow-wrap:anywhere;font-size:13px;font-weight:400}.ok{color:#1a7f4b}.err{color:#c62828}.summary{margin:28px 0 0}.summary div{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:14px 0;display:flex}.summary dt{color:var(--muted)}.summary dd{text-align:right;overflow-wrap:anywhere;margin:0;font-weight:500}.total{justify-content:space-between;margin-top:22px;font-size:22px;display:flex}.notice{color:#7a4a00;background:#fff4e5;border-radius:12px;margin-top:20px;padding:14px 16px;line-height:1.4}.cfg-actions{background:#fff;align-items:center;gap:14px;margin-top:32px;padding:16px 0 4px;display:flex;position:sticky;bottom:0}.spacer{flex:1}@media (width<=860px){.hero{grid-template-columns:1fr}.hero-3d{height:46vh}.gallery,.steps ol,.cfg{grid-template-columns:1fr}.cfg-view{z-index:5;height:46vh}.cfg-panel{border-left:0;border-top:1px solid var(--line);min-height:calc(54vh - 57px)}.carousel-ui{bottom:12px}}@media (prefers-reduced-motion:reduce){.cfg-step{animation:none}.btn,.swatch{transition:none}}
