/* Cadenza America — "Make it yours" studio (finish + dedication plaque). Additive file, v25. */
.am-studio{background:#f4f4f5;color:#111214}
.am-studio .am-section-label{color:#6b6f78;border-color:#dcdde1}
.am-studio .am-heading-row h2 em{color:#7b808a}
.am-studio .am-heading-row>p{color:#5d616a}
.am-studio-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.9fr);gap:clamp(32px,5vw,72px);align-items:start}
.am-studio-view{min-width:0;position:sticky;top:112px} /* desktop: the piano stays in view beside the controls, in its own column */
.am-studio-stage{position:relative;aspect-ratio:1800/1192;overflow:hidden;border-radius:2px;background:radial-gradient(120% 90% at 50% 40%,#ffffff 0%,#eceef1 70%,#e3e5e9 100%)}
.am-studio-scene{position:absolute;inset:0;transform-origin:0 0;transition:transform 1.1s cubic-bezier(.22,1,.36,1);will-change:transform}
.am-studio-shadow{position:absolute;left:8%;right:4%;bottom:1%;height:16%;background:radial-gradient(closest-side,rgba(10,12,16,.32),rgba(10,12,16,0));filter:blur(2px)}
.am-studio-canvas,.am-studio-fallback{position:absolute;inset:0;width:100%;height:100%;display:block}
.am-studio-canvas-next{opacity:0;transition:opacity .6s ease}
.am-studio-canvas-next.is-in{opacity:1}
.am-studio-fallback{object-fit:contain}
.am-studio.is-ready .am-studio-fallback{visibility:hidden}
.am-studio-zoom{position:absolute;right:14px;bottom:14px;z-index:2;min-height:40px;padding:9px 16px;border:1px solid #c9ccd2;background:#ffffffe6;color:#111214;font:500 11px/1.2 var(--ui,'DM Sans',Arial,sans-serif);letter-spacing:.06em;cursor:pointer;border-radius:999px;transition:background .25s,border-color .25s}
.am-studio-zoom:hover{background:#fff;border-color:#111214}

/* plaque */
.am-plaque{--m1:#d9a77a;--m2:#8a5530;--engrave:rgba(48,26,8,.78);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:18px 22px;background:linear-gradient(135deg,var(--m1) 0%,var(--m2) 55%,var(--m1) 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),inset 0 0 0 5px rgba(0,0,0,.07),0 2px 6px rgba(0,0,0,.25);color:var(--engrave);overflow:hidden}
.am-plaque[data-metal=silver]{--m1:#f1f3f5;--m2:#9aa1aa;--engrave:rgba(30,34,40,.78)}
.am-plaque[data-metal=gold]{--m1:#f0d98f;--m2:#a8822f;--engrave:rgba(60,40,6,.8)}
.am-plaque span{display:block;max-width:100%;overflow-wrap:anywhere;text-shadow:0 1px 0 rgba(255,255,255,.35)}
.am-plaque-line{font:600 11px/1.2 var(--ui,'DM Sans',Arial,sans-serif);letter-spacing:.22em;text-transform:uppercase}
.am-plaque-name{font:500 26px/1.12 var(--display,'Manrope',Arial,sans-serif);letter-spacing:-.01em}
.am-plaque-msg{font:400 12px/1.4 var(--ui,'DM Sans',Arial,sans-serif)}
.am-plaque-msg:empty{display:none}
.am-plaque-scene{position:absolute;left:0;top:0;width:400px;height:230px;transform-origin:0 0;box-sizing:border-box;pointer-events:none;transition:background .4s}
.am-plaque-proof{display:grid;gap:10px;margin-top:6px}
.am-plaque-proof-label{font:500 11px/1.6 var(--ui,'DM Sans',Arial,sans-serif);letter-spacing:.18em;text-transform:uppercase;color:#6b6f78}
.am-plaque-flat{width:100%;max-width:420px;aspect-ratio:400/230;border-radius:2px}

/* controls */
.am-studio-controls{display:grid;gap:30px;min-width:0}
.am-studio-group{border:0;margin:0;padding:0;display:grid;gap:16px;min-width:0}
.am-studio-group legend{font:500 11px/1.6 var(--ui,'DM Sans',Arial,sans-serif);letter-spacing:.18em;text-transform:uppercase;color:#6b6f78;padding:0 0 14px;border-bottom:1px solid #dcdde1;width:100%;margin-bottom:6px}
.am-swatches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.am-swatch{display:grid;justify-items:center;gap:9px;cursor:pointer;text-align:center;font-size:11px;line-height:1.3;color:#3d4048;min-width:0}
.am-swatch input,.am-metal input{position:absolute;opacity:0;width:1px;height:1px}
.am-swatch-chip{width:44px;height:44px;border-radius:50%;background:var(--chip);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12),0 0 0 3px #f4f4f5,0 0 0 4px transparent;transition:box-shadow .25s,transform .25s}
.am-chip-gold{background:linear-gradient(135deg,#f0d98f 0%,#a8822f 55%,#e7c873 100%)}.am-chip-white{box-shadow:inset 0 0 0 1px rgba(0,0,0,.18),0 0 0 3px #f4f4f5,0 0 0 4px transparent}
.am-swatch-custom{background:conic-gradient(from 0deg,var(--chip) 0 50%,#e9e2d6 0 75%,#6b7f8e 0)}
.am-swatch input:checked+.am-swatch-chip{box-shadow:inset 0 0 0 1px rgba(0,0,0,.12),0 0 0 3px #f4f4f5,0 0 0 4px #111214}
.am-swatch input:focus-visible+.am-swatch-chip{outline:2px solid #111214;outline-offset:6px}
.am-swatch:hover .am-swatch-chip{transform:scale(1.05)}
.am-swatch-name{overflow-wrap:anywhere}
.am-custom-color[hidden]{display:none}
.am-custom-color{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:12px;padding:10px 0;border-top:1px solid #dcdde1}
.am-custom-color input{width:56px;height:36px;padding:0;border:1px solid #c9ccd2;background:none;cursor:pointer}
.am-studio .field{display:grid;gap:7px}
.am-studio .field label{font-size:11px;color:#3d4048}
.am-studio .am-optional{color:#8a8e97}
.am-studio .field input,.am-studio .field select{width:100%;min-width:0;min-height:48px;padding:12px;background:#fff;border:1px solid #c9ccd2;border-radius:0;font-size:16px;color:#111214}
.am-studio .field input:focus,.am-studio .field select:focus{outline:1px solid #111214;outline-offset:0}
.am-metals{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #c9ccd2;background:#fff}
.am-metal{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;min-height:46px;font-size:12px;cursor:pointer;color:#3d4048;transition:background .2s,color .2s}
.am-metal+.am-metal{border-left:1px solid #c9ccd2}
.am-metal span{width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,var(--m1),var(--m2));box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.am-metal:has(input:checked){background:#111214;color:#fff}
.am-metal:has(input:focus-visible){outline:2px solid #111214;outline-offset:2px;z-index:1}
.am-studio-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 28px}
.am-studio-note{font-size:11px;color:#7a7e87;line-height:1.7;max-width:46ch}

@media(max-width:900px){.am-studio-layout{grid-template-columns:1fr;gap:26px}.am-studio-controls{gap:30px}.am-studio-view{position:static}}
@media(max-width:760px){.am-studio-stage{margin-inline:-10px}.am-swatch-chip{width:40px;height:40px}.am-swatch{font-size:11px}.am-studio-zoom{right:10px;bottom:10px}}
@media(prefers-reduced-motion:reduce){.am-studio-scene,.am-studio-canvas-next,.am-swatch-chip{transition:none}}

/* Approved source sheet: same photographed pixels for all eight finishes. */
.am-studio-stage{aspect-ratio:512/337;background:#e9e7e3}
.am-studio-fallback{width:400%;height:215.430267%;max-width:none;left:0;top:-7.715134%;object-fit:fill}
.am-chip-gold,.am-swatch-custom{background:var(--chip)}
.am-studio-zoom:focus-visible{outline:2px solid #111214;outline-offset:3px}

.am-studio-actions .am-studio-legacy{background:#293d31;border-color:#293d31;color:#fff}.am-studio-actions .am-studio-legacy:hover{background:#3e5645}.am-studio-legacy>span:first-child{display:grid;gap:4px}.am-studio-legacy small{font:400 11px/1.3 var(--ui);color:#d4dfd1;letter-spacing:.04em}

/* Phase 2: readable labels and plaque text. */
.am-studio-group legend,.am-plaque-proof-label{font-size:11px}.am-studio .am-swatch{font-size:12px}.am-studio .field label,.am-studio-note,.am-custom-color,.am-metal{font-size:14px}.am-plaque-msg{font-size:14px}
@media(max-width:760px){.am-studio .am-swatch{font-size:12px}}
