.bespoke-simulator .bespoke-header{position:relative;background:#f7f4ee;border-bottom:1px solid #ddd8cb}
.bespoke-simulator .bespoke-nav{flex-wrap:wrap}
.sim-intro{padding:66px 0 52px;background:linear-gradient(135deg,#eee8de,#f8f5ee)}
.sim-intro-grid{display:grid;grid-template-columns:58% 42%;gap:30px;align-items:end}
.sim-intro h1{font-size:clamp(60px,6.5vw,105px);line-height:.97;margin:0}
.sim-intro h1 em{font-style:italic;font-weight:400}
.sim-intro-copy{max-width:520px;color:#736d62;font-size:15px;line-height:1.7;padding-bottom:7px}
.sim-intro-copy p{margin:0 0 13px}
.sim-workspace{padding:40px 0 65px;background:#f7f5f1}
.sim-workspace-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,.85fr);gap:clamp(28px,4vw,67px);align-items:start}
.sim-photo-container{position:relative;background:#bfb9a8;min-height:360px;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 15px 45px #302c2415;touch-action:none}
#sim-canvas,#sim-fallback{display:block;width:100%;height:auto;max-height:690px;object-fit:contain}
.sim-photo-caption{position:absolute;top:17px;left:17px;font:500 10px/1 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.17em;background:#f8f5edeb;padding:12px;color:#585348}
.sim-selection-hint{position:absolute;bottom:18px;left:18px;right:18px;padding:12px 18px;text-align:center;background:#f9f4e8ed;color:#514e45;font-size:12px;pointer-events:none}
.sim-controls{display:flex;gap:18px;justify-content:space-between;flex-wrap:wrap;padding:18px 0;border-bottom:1px solid #dad5c8}
.sim-control-cluster{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sim-control-cluster button,.sim-uploads-controls button{background:transparent;border:1px solid #c4bfaf;padding:10px 12px;color:#514c43;font-size:11px;min-height:37px}
.sim-control-cluster button:hover,.sim-uploads-controls button:hover{background:#ece7de}
.sim-control-cluster label{margin:0;font-weight:500}
.sim-control-cluster select{width:auto;font-size:12px;min-height:38px;background:#fbfaf7}
.sim-advisory{font-size:12px;color:#8b8578;line-height:1.65;max-width:790px;margin-top:18px}
.sim-palette{background:#f0ece4;padding:clamp(21px,2vw,36px);border:1px solid #e8e2d9}
.sim-palette h2{font-size:clamp(36px,3vw,51px);margin:0 0 8px}
.sim-palette>p:not(.bespoke-overline){font-size:13px;line-height:1.65;color:#746d62;margin:14px 0 18px}
.sim-colour-meta{display:flex;gap:9px;flex-wrap:wrap;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#6e6b5f}
.sim-colour-meta span:not(:last-child){border-right:1px solid #bcb6a9;padding-right:10px}
.sim-swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:22px}
.sim-swatches button{border:0;padding:0;background:none;cursor:pointer;box-shadow:none;width:auto;height:auto;text-align:left;outline:none}
.sim-swatches button i{display:block;aspect-ratio:1.35;min-height:48px;border:1px solid #ccc5b7;outline:0;transition:transform .15s}
.sim-swatches button span{font-size:10px;display:block;margin-top:5px;color:#5d584f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sim-swatches button[aria-pressed=true] i{outline:2px solid #454736;outline-offset:3px}
.sim-swatches button:hover i{transform:scale(1.04)}
.sim-divider{height:1px;background:#d9d3c7;margin:25px 0}
.sim-palette h3{font-size:26px;margin:3px 0 9px}
.sim-upload{display:inline-flex;background:#fff;border:1px solid #b4ada0;font-size:12px;padding:14px 22px;cursor:pointer;margin:0}
.sim-uploads-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.sim-status{font-size:12px!important;line-height:1.5!important;color:#68675a!important;min-height:18px}
.sim-cta{margin-top:8px;width:100%;white-space:normal}
.sim-how{background:#e7e2d7;padding:56px 0}
.sim-how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}
.sim-how-grid article{border-top:1px solid #bfb7aa;padding-top:18px}
.sim-how-grid span{font-size:12px;color:#837a68}
.sim-how-grid h3{font-size:30px;margin:5px 0 8px}
.sim-how-grid p{font-size:13px;color:#756d62;margin:0}
@media(max-width:1040px){.sim-workspace-grid{grid-template-columns:1fr}.sim-palette{max-width:none}.sim-swatches{grid-template-columns:repeat(6,1fr)}}
@media(max-width:700px){.sim-intro{padding:48px 0}.sim-intro-grid{grid-template-columns:1fr;gap:18px}.sim-intro h1{font-size:64px}.sim-swatches{grid-template-columns:repeat(4,1fr)}.sim-how-grid{grid-template-columns:1fr;gap:23px}.sim-control-cluster{width:100%}.sim-photo-container{min-height:220px}}
