.rm-band-ai { padding: clamp(48px,7vw,90px) 0; border-bottom: 1px solid var(--rm-line); scroll-margin-top: 90px; }
.rm-band-ai-intro { margin-bottom:20px; }
.rm-band-ai-intro h2 { margin:0 0 8px; font-size:clamp(1.55rem,2.5vw,2.1rem); line-height:1.3; letter-spacing:-.04em; word-break:keep-all; }
.rm-band-ai-intro p:not(.rm-shop-kicker) { max-width:39rem; color:var(--muted); line-height:1.8; word-break:keep-all; }
.rm-band-ai-usage { padding:14px 18px; border-radius:12px; line-height:1.7; background:color-mix(in srgb,var(--rm-purple) 8%,var(--surface)); }
.rm-band-ai-usage:empty { display:none; }
.rm-band-ai-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr); gap:22px; align-items:stretch; margin-top:22px; }
.rm-band-ai-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:clamp(20px,3vw,34px); background:var(--surface); border:1px solid var(--line); border-radius:20px; }
.rm-band-ai-form label, .rm-band-ai-upload label { display:grid; gap:8px; font-weight:750; line-height:1.5; }
.rm-band-ai-form .is-wide { grid-column:1 / -1; }
.rm-band-ai-form input:not([type=checkbox]), .rm-band-ai-form select, .rm-band-ai-form textarea { box-sizing:border-box; width:100%; min-height:46px; border:1px solid var(--line); border-radius:9px; padding:10px 12px; background:var(--bg); color:var(--text); font:inherit; }
.rm-band-ai-form textarea { resize:vertical; }
.rm-band-ai-form .rm-band-ai-consent { display:flex; gap:10px; align-items:flex-start; font-weight:500; color:var(--muted); }
.rm-band-ai-consent input { margin-top:5px; }
.rm-band-ai-stage { display:grid; align-content:center; gap:16px; padding:clamp(22px,3vw,38px); background:color-mix(in srgb,var(--rm-purple) 10%,var(--surface)); border-radius:20px; }
.rm-band-ai-stage p { margin:0; color:var(--muted); line-height:1.7; }
.rm-band-ai-art { min-height:280px; border-radius:12px; background:linear-gradient(145deg,#6a42e6,#9a6dec 48%,#ef7aaa); color:white; padding:28px; display:flex; flex-direction:column; align-items:start; justify-content:space-between; box-shadow:0 18px 40px #5c3bc52b; transform:rotate(-2deg); }
.rm-band-ai-art span, .rm-band-ai-art i { font-size:.75rem; font-style:normal; font-weight:800; letter-spacing:.12em; }
.rm-band-ai-art strong { font-size:clamp(1.5rem,2.5vw,2.2rem); line-height:1.35; }
.rm-band-ai-result-heading { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; align-items:end; margin:45px 0 20px; }
.rm-band-ai-result-heading h3 { margin:0; font-size:clamp(1.5rem,3vw,2rem); }
.rm-band-ai-result-heading > span { color:var(--muted); }
.rm-band-ai-variants { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.rm-band-ai-variant { display:grid; gap:10px; min-width:0; padding:10px; border:2px solid var(--line); border-radius:14px; background:var(--surface); color:var(--text); text-align:left; font:inherit; font-weight:750; cursor:pointer; transition:transform .2s ease,border-color .2s ease; }
.rm-band-ai-variant:hover { transform:translateY(-3px); }
.rm-band-ai-variant[aria-pressed=true] { border-color:var(--rm-purple); }
.rm-band-ai-variant:focus-visible, .rm-band-ai :focus-visible { outline:3px solid var(--rm-purple); outline-offset:3px; }
.rm-band-ai-variant img { width:100%; aspect-ratio:4/1; object-fit:cover; border-radius:7px; background:var(--bg); }
.rm-band-ai-slogan-section { margin-top:24px; padding:24px; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
.rm-band-ai-slogan-section h4 { margin:0; font-size:1.15rem; }
.rm-band-ai-slogan-section p { color:var(--muted); line-height:1.7; }
.rm-band-ai-slogans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:20px; }
.rm-band-ai-slogans button { min-width:0; padding:13px; border:1px solid var(--line); border-radius:10px; background:var(--bg); color:var(--text); text-align:left; font:inherit; line-height:1.6; cursor:pointer; }
.rm-band-ai-slogans button[aria-pressed="true"] { border-color:var(--rm-purple); background:color-mix(in srgb,var(--rm-purple) 10%,var(--surface)); }
.rm-band-ai-slogan-section label { display:grid; gap:8px; font-weight:750; }
.rm-band-ai-slogan-section input { box-sizing:border-box; width:100%; min-height:46px; border:1px solid var(--line); border-radius:9px; padding:10px 12px; background:var(--bg); color:var(--text); font:inherit; }
.rm-band-ai-result-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr); gap:24px; margin-top:24px; }
.rm-band-ai-result-layout > div { min-width:0; padding:24px; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
.rm-band-ai-result-layout canvas { display:block; max-width:100%; height:auto; border-radius:8px; }
.rm-band-ai-result-layout p { color:var(--muted); line-height:1.7; }
.rm-band-ai-upload input { max-width:100%; font:inherit; font-size:.9rem; }
.rm-band-ai-upload canvas { max-height:330px; margin:auto; }
.rm-band-ai [data-band-ai-progress] { margin:20px 0; padding:18px; border:1px solid var(--line); border-radius:14px; background:var(--surface); color:var(--text); }
.rm-band-ai [data-band-ai-progress] progress { display:block; width:100%; height:14px; accent-color:var(--rm-purple); }
.rm-band-ai [data-band-ai-progress] p { margin:10px 0 0; color:var(--muted); font-size:.95rem; line-height:1.6; }
.rm-band-ai [hidden] { display:none !important; }
@media(max-width:760px) { .rm-band-ai-layout,.rm-band-ai-result-layout { grid-template-columns:1fr; } .rm-band-ai-stage { order:-1; } .rm-band-ai-art { min-height:180px; } }
@media(max-width:520px) { .rm-band-ai-form { grid-template-columns:1fr; } .rm-band-ai-form .is-wide { grid-column:auto; } .rm-band-ai-variants, .rm-band-ai-slogans { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .rm-band-ai-variant { transition:none; } .rm-band-ai-variant:hover { transform:none; } }

/* Band atelier editorial and product collection. */
.rm-band-edition-copy > span { color:var(--rm-purple); font-size:.8rem; font-weight:800; letter-spacing:.12em; }
.rm-bands-page .rm-band-ai-stage { display:flex; flex-direction:column; align-items:stretch; justify-content:center; gap:0; padding:0; overflow:hidden; border:1px solid var(--line); background:color-mix(in srgb,var(--rm-purple) 6%,var(--surface)); }
.rm-band-atelier-image { display:block; width:100%; height:auto; }
.rm-band-ai-stage > div { padding:24px 28px 30px; }
.rm-band-ai-stage > div > span { color:var(--rm-purple); font-size:.76rem; font-weight:800; letter-spacing:.13em; }
.rm-band-ai-stage > div > strong { display:block; margin:10px 0; font-size:clamp(1.45rem,2.4vw,2rem); line-height:1.3; letter-spacing:-.04em; }
.rm-band-ai-stage > div > p { margin:0; }
.rm-band-compare-art { position:relative; aspect-ratio:1.12; overflow:hidden; border-radius:14px; background:#eee8d9; }
.rm-band-compare-book { position:relative; height:100%; width:auto; aspect-ratio:1086 / 1448; max-width:100%; margin:auto; }
.rm-band-compare-book > img { display:block; width:100%; height:100%; object-fit:contain; }
.rm-bands-page .rm-band-compare-art .rm-shop-sample-band { inset:auto 8.6% 20% 7.6%; height:14%; box-sizing:border-box; display:flex; align-items:center; justify-content:center; padding:4px 12%; background:#efe5d0 url("../img/band-compare-botanical-20261105.webp") center / cover; color:#164c4a; text-align:center; font-size:clamp(.65rem,1.05vw,.9rem); font-weight:800; line-height:1.35; word-break:keep-all; box-shadow:0 3px 8px #102b2b55; }
.rm-bands-page .rm-band-compare-art .rm-shop-sample-band[hidden] { display:none; }
.rm-band-demo-message { margin:0; color:var(--text); font-size:1.15rem; font-weight:750; line-height:1.6; word-break:keep-all; }
.rm-band-collection-lead { margin:0 0 24px; font-size:clamp(1.1rem,2vw,1.4rem); line-height:1.7; word-break:keep-all; }
.rm-bands-page .rm-band-finish-cards { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.rm-bands-page .rm-band-finish-cards article { display:flex; flex-direction:column; padding:12px 12px 20px; }
.rm-finish-photo { width:100%; aspect-ratio:1; margin-bottom:18px; border-radius:10px; background-image:url('../img/band-finishes-20261104.webp'); background-size:200% 200%; background-repeat:no-repeat; }
.rm-finish-photo.is-flat { background-position:left top; }
.rm-finish-photo.is-cut { background-position:right top; }
.rm-finish-photo.is-texture { background-position:left bottom; }
.rm-finish-photo.is-layer { background-position:right bottom; }
.rm-bands-page .rm-band-finish-cards article > span, .rm-bands-page .rm-band-finish-cards article h3, .rm-bands-page .rm-band-finish-cards article p, .rm-bands-page .rm-band-finish-cards article button { margin-left:8px; margin-right:8px; }
.rm-bands-page .rm-band-finish-cards article > span { color:var(--rm-purple); font-size:.76rem; font-weight:800; letter-spacing:.1em; }
.rm-bands-page .rm-band-finish-cards h3 { font-size:1.2rem; }
.rm-bands-page .rm-band-finish-cards p { flex:1; margin-top:0; font-size:.94rem; line-height:1.7; word-break:keep-all; }
.rm-bands-page .rm-band-finish-cards button { align-self:flex-start; padding:7px 0; border:0; background:transparent; color:var(--rm-purple); font:inherit; font-weight:750; cursor:pointer; line-height:1.6; }
.rm-bands-page .rm-band-finish-cards button:focus-visible { outline:3px solid var(--rm-purple); outline-offset:3px; }
.rm-bands-page .rm-band-finish-cards button[aria-pressed="true"] { text-decoration:underline; text-underline-offset:4px; }
.rm-band-collection-caption { color:var(--muted); font-size:.85rem; line-height:1.7; }
.rm-bands-page .rm-band-production-layout { margin-top:24px; grid-template-columns:repeat(2,minmax(0,1fr)); }
/* Showcase a finished cover and dimensional band beside the inquiry form. */
.rm-band-edition-copy { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:20px; background:var(--surface); }
.rm-band-topper-visual { margin:0; }
.rm-band-topper-visual img { display:block; width:100%; height:auto; aspect-ratio:3 / 2; object-fit:cover; background:var(--rm-warm); }
.rm-band-topper-visual figcaption { padding:9px 20px 0; color:var(--muted); font-size:.8rem; line-height:1.5; }
.rm-band-topper-copy { padding:clamp(22px,3vw,38px); }
.rm-band-topper-copy > span { color:var(--rm-purple); font-size:.8rem; font-weight:800; letter-spacing:.12em; }
.rm-band-topper-copy h3 { margin:12px 0; font-size:clamp(1.5rem,2.4vw,2rem); line-height:1.35; letter-spacing:-.05em; word-break:keep-all; }
.rm-band-topper-copy p { margin:0; color:var(--muted); line-height:1.8; word-break:keep-all; }
.rm-band-topper-copy a { display:inline-flex; align-items:center; gap:8px; margin-top:18px; color:var(--rm-purple); font-weight:800; line-height:1.6; text-underline-offset:4px; }
@media(max-width:900px) { .rm-bands-page .rm-band-finish-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .rm-bands-page .rm-band-production-layout { grid-template-columns:1fr; } .rm-bands-page .rm-band-finish-cards { gap:10px; } .rm-bands-page .rm-band-finish-cards article { padding:8px 8px 16px; } .rm-bands-page .rm-band-finish-cards h3 { font-size:1.05rem; } }

/* Composition controls and a local, account-scoped finished-band library. */
.rm-band-editor h4, .rm-band-editor-library h3 { margin:0 0 8px; font-size:1.2rem; }
.rm-band-editor-preview { max-width:100%; overflow:auto; background:var(--bg); border:1px solid var(--line); border-radius:8px; }
.rm-band-editor-preview canvas { width:100%; }
.rm-band-editor.is-zoomed .rm-band-editor-preview canvas { width:900px; max-width:none; }
.rm-band-editor-zoom { display:flex; align-items:center; gap:8px; margin:12px 0; font-weight:600; }
.rm-band-editor-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:18px 0; }
.rm-band-editor-controls label, .rm-band-editor-photo label { display:grid; gap:6px; min-width:0; font-weight:700; }
.rm-band-editor-controls input[type=range] { width:100%; accent-color:var(--rm-purple); }
.rm-band-editor-controls input[type=color] { width:100%; height:42px; padding:3px; border:1px solid var(--line); border-radius:8px; background:var(--bg); }
.rm-band-editor-controls select { min-width:0; width:100%; min-height:42px; padding:8px; border:1px solid var(--line); border-radius:8px; background:var(--bg); color:var(--text); font:inherit; }
.rm-band-editor-controls output { color:var(--muted); font-size:.85rem; }
.rm-band-editor-photo { min-width:0; margin:20px 0; padding:16px; border:1px solid var(--line); border-radius:12px; }
.rm-band-editor-photo legend { padding:0 6px; font-weight:800; }
.rm-band-editor-photo input[type=file] { box-sizing:border-box; width:100%; min-width:0; max-width:100%; font:inherit; }
.rm-band-editor-photo button, .rm-band-editor-library button { margin:10px 10px 0 0; padding:8px 12px; border:1px solid var(--line); border-radius:8px; background:var(--bg); color:var(--text); font:inherit; cursor:pointer; }
.rm-band-editor-actions { display:flex; flex-wrap:wrap; gap:10px; }
.rm-band-editor-library { margin-top:32px; padding:24px; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
.rm-band-editor-library p, .rm-band-ai-form small { color:var(--muted); font-size:.9rem; line-height:1.6; }
.rm-band-editor-library article { padding:14px 0; border-top:1px solid var(--line); }
.rm-band-editor-library article strong { display:block; overflow-wrap:anywhere; }
@media(max-width:520px) { .rm-band-editor-controls { grid-template-columns:1fr; } .rm-band-editor-actions .rm-shop-button { width:100%; } }

/* BAND offer typography follows the surrounding reading size. */
.rm-bands-page [data-shop-band] .rm-shop-purpose,
.rm-bands-page [data-shop-band] .rm-shop-price span { font-size:1rem; line-height:1.6; }
.rm-bands-page [data-shop-band] .rm-shop-description,
.rm-bands-page [data-shop-band] .rm-shop-features { font-size:1.125rem; line-height:1.7; }
.rm-bands-page [data-shop-band] .rm-shop-card h3 { font-size:1.75rem; }
.rm-bands-page [data-shop-band] .rm-shop-features li + li { margin-top:10px; }
