.gs-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:32px}
.gs-heading .eyebrow{color:var(--muted);margin-bottom:22px}
.gs-heading h1{font-size:var(--sidus-font-size-page-title);line-height:1;letter-spacing:var(--sidus-tracking-heading)}
.gs-heading>p{max-width:340px;font-size:var(--sidus-font-size-body);line-height:var(--sidus-leading-body);color:var(--muted)}
.dr-note{font-size:var(--sidus-font-size-label);color:var(--muted);line-height:1.6;margin-bottom:24px;max-width:780px}
.dr-controls{display:grid;grid-template-columns:1fr 2fr;gap:20px;border-block:1px solid var(--line);padding:20px 0;margin-bottom:20px;font-size:var(--sidus-font-size-label)}
.dr-controls input,.dr-controls select{display:block;width:100%;min-height:44px;background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:10px;margin-top:8px;font:inherit}
[data-dr-status]{font-size:var(--sidus-font-size-label);color:var(--muted);margin-bottom:20px}
.dr-grid .gs-card-stone img{width:64%;height:74%;object-fit:contain}.dr-detail-thumb{max-width:100%;object-fit:contain}
.dr-pages{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:32px;font-size:var(--sidus-font-size-label)}.dr-pages[hidden]{display:none}.dr-pages button:disabled{opacity:.45;cursor:default}
.dr-spec{margin-top:24px}.dr-spec dd{overflow-wrap:anywhere;max-width:70%}.dr-grid .gs-card-copy h2{font-size:var(--sidus-font-size-input)}
.dr-grid .gs-card-copy p{overflow-wrap:anywhere}.dr-controls label{min-width:0}
@media(max-width:700px){.dr-controls{grid-template-columns:1fr;gap:16px}.dr-pages{gap:12px}.dr-pages .secondary-button{padding-inline:12px}.dr-grid .gs-card-copy h2{font-size:var(--sidus-font-size-label)}}
.gs-filters{display:grid;gap:24px;border-block:1px solid var(--line);padding:24px 0}
.gs-filters fieldset,.gs-sizes{border:0;padding:0;margin:0;min-width:0}
.gs-filters legend,.gs-sizes legend{font-size:var(--sidus-font-size-label);line-height:var(--sidus-leading-label);font-weight:500}
.gs-colors,.gs-cuts,.gs-materials,.gs-tones{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.gs-colors label,.gs-cuts label,.gs-materials label,.gs-tones label,.gs-sizes label{position:relative;cursor:pointer}
.gs-colors input,.gs-cuts input,.gs-materials input,.gs-tones input,.gs-sizes input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}
.gs-colors label>span,.gs-cuts label>span,.gs-materials label>span,.gs-tones label>span,.gs-sizes label>span{display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 12px;border:1px solid var(--line);background:var(--paper);font-size:var(--sidus-font-size-label);line-height:1.4}
.gs-cuts label>span{width:52px;height:52px;padding:7px;color:var(--ink)}
.gs-cuts svg{display:block;width:36px;height:36px;pointer-events:none}
.gs-cuts label:hover>span{border-color:var(--muted)}
.gs-colors i{width:13px;height:13px;border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 1px #181a1d14}
.gs-colors input:checked+span,.gs-cuts input:checked+span,.gs-materials input:checked+span,.gs-tones input:checked+span,.gs-sizes input:checked+span{border-color:var(--blue);background:var(--sidus-color-current);color:var(--blue)}
.gs-colors input:focus-visible+span,.gs-cuts input:focus-visible+span,.gs-materials input:focus-visible+span,.gs-tones input:focus-visible+span,.gs-sizes input:focus-visible+span{outline:2px solid var(--blue);outline-offset:3px}
.gs-results{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:20px 0;font-size:var(--sidus-font-size-label);color:var(--muted)}
.gs-results>span{margin-left:auto}.gs-results button{text-decoration:underline;text-underline-offset:4px;color:var(--ink)}
.gs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gs-card{min-width:0;border:1px solid var(--line);background:var(--sidus-color-surface);transition:border-color var(--sidus-motion-quick)}
.gs-card:hover{border-color:var(--muted)}.gs-card-open{display:block;width:100%;text-align:left;color:var(--ink)}
.gs-card-open:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.gs-card-stone{aspect-ratio:4/3;position:relative;display:grid;place-items:center;background:var(--sidus-color-image-surface);overflow:hidden}
.gs-card-stone .lc-stone-illustration{width:48%;height:64%;filter:drop-shadow(0 12px 9px #181a1d15);transition:transform var(--sidus-motion-quick)}
.gs-card-open:hover .lc-stone-illustration{transform:translateY(-4px)}
.gs-card-stone>span{position:absolute;bottom:14px;left:18px;font-size:var(--sidus-font-size-meta);color:var(--muted)}
.gs-card-copy{padding:18px}.gs-card-copy h2{font-size:var(--sidus-font-size-component-title);font-weight:500;line-height:1.4;letter-spacing:0;overflow-wrap:anywhere}
.gs-card-copy p{font-size:var(--sidus-font-size-label);color:var(--muted);line-height:1.5;margin-top:6px}
.gs-card-action{display:flex;align-items:center;justify-content:space-between;margin-top:20px;font-size:var(--sidus-font-size-label)}
.gs-card-action .icon{width:18px;height:18px}.gs-more{display:block;margin:32px auto 0}.gs-more[hidden]{display:none}
.gs-empty{padding:60px 20px;text-align:center;border:1px solid var(--line)}.gs-empty h2{font-size:var(--sidus-font-size-panel-title);letter-spacing:0}.gs-empty p{margin:12px 0 24px;color:var(--muted);font-size:var(--sidus-font-size-body)}
.gs-note{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;border-top:1px solid var(--line);padding-top:40px;margin-top:64px}
.gs-note h2{font-size:28px;line-height:1.2;letter-spacing:var(--sidus-tracking-panel);font-weight:500}
.gs-note p{color:var(--muted);font-size:var(--sidus-font-size-body);line-height:var(--sidus-leading-body)}.gs-note p+p{font-size:var(--sidus-font-size-label);margin-top:16px}
.gs-detail-open{overflow:hidden}.gs-detail{width:min(920px,calc(100vw - 40px));max-height:calc(100dvh - 40px);border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:0;overflow:auto}
.gs-detail::backdrop{background:var(--sidus-color-dialog-backdrop)}
.gs-detail-head{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--line)}.gs-detail-head .eyebrow{color:var(--muted)}.gs-detail-head button{width:44px;height:44px;font-size:28px}
.gs-detail-body{display:grid;grid-template-columns:1fr 1fr}.gs-detail-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--sidus-color-image-surface);padding:32px;min-width:0}
.gs-detail-visual>[data-gs-illustration]{width:100%;height:260px;display:grid;place-items:center}.gs-detail-visual .lc-stone-illustration{width:70%;height:85%;filter:drop-shadow(0 16px 12px #181a1d16)}
.gs-detail-visual p{font-size:var(--sidus-font-size-label);color:var(--muted);margin:16px 0}.gs-detail-visual .secondary-button{background:transparent}
.gs-detail-copy{padding:32px;min-width:0}.gs-detail-copy h2{font-size:28px;line-height:1.2;letter-spacing:var(--sidus-tracking-panel);font-weight:500}.gs-detail-copy>p{color:var(--muted);font-size:var(--sidus-font-size-body);line-height:var(--sidus-leading-body);margin-top:12px}
.gs-sizes{margin:28px 0}.gs-sizes>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.gs-sizes label>span{flex-direction:column;gap:2px;min-width:114px;min-height:60px}.gs-sizes label>span>span,.gs-sizes small{white-space:nowrap}.gs-sizes small{font-size:var(--sidus-font-size-meta);color:var(--muted)}.gs-sizes input:checked+span small{color:inherit}
.gs-spec{border-block:1px solid var(--line);padding:16px 0;margin:0 0 24px;display:grid;gap:12px;font-size:var(--sidus-font-size-input)}.gs-spec>div{display:flex;justify-content:space-between;gap:16px}.gs-spec dt{color:var(--muted)}.gs-spec dd{margin:0;text-align:right}
.gs-use{display:flex;justify-content:space-between;width:100%;gap:16px}.gs-detail-copy>.gs-detail-note{font-size:var(--sidus-font-size-label);line-height:1.6}
.gs-back{font-size:var(--sidus-font-size-label);color:var(--muted);margin-bottom:24px;text-underline-offset:4px}.gs-back:hover{text-decoration:underline}
.gs-destinations{display:grid;gap:12px;margin:24px 0}
.gs-destination-option{display:flex;align-items:center;gap:20px;justify-content:space-between;padding:18px;border:1px solid var(--line);background:var(--paper);text-align:left;color:var(--ink)}
.gs-destination-option strong,.gs-project-choice strong{display:block;font-size:var(--sidus-font-size-input);font-weight:500;overflow-wrap:anywhere}
.gs-destination-option small,.gs-project-choice small{display:block;font-size:var(--sidus-font-size-meta);line-height:1.5;color:var(--muted);margin-top:5px}
.gs-destination-option .icon,.gs-project-choice .icon{width:18px;height:18px;flex-shrink:0}
.gs-destination-option:hover,.gs-destination-option[aria-expanded=true]{border-color:var(--blue)}
.gs-destination-option:focus-visible,.gs-project-choice:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.gs-project-search{display:block;font-size:var(--sidus-font-size-label)}.gs-project-search input{display:block;width:100%;padding:12px;margin:8px 0 12px;border:1px solid var(--line);font:inherit;background:var(--paper);color:var(--ink)}
.gs-project-choices{display:grid;max-height:280px;overflow-y:auto;border:1px solid var(--line)}
.gs-project-choice{display:flex;align-items:center;gap:12px;padding:14px;text-align:left;width:100%;color:var(--ink)}.gs-project-choice+button{border-top:1px solid var(--line)}.gs-project-choice:hover{background:var(--sidus-color-current)}.gs-project-choice>span:not(.gs-project-placeholder){flex:1;min-width:0}
.gs-project-choice img,.gs-project-placeholder{width:44px;height:44px;flex-shrink:0;object-fit:cover;background:var(--sidus-color-image-surface)}.gs-project-placeholder{display:grid;place-items:center;font-size:24px;color:var(--muted)}
.gs-picker-message{font-size:var(--sidus-font-size-label);line-height:1.6;color:var(--muted);margin:12px 0}
.gs-detail-copy[aria-busy=true]{opacity:.65}.gs-detail-copy[aria-busy=true] a{pointer-events:none}
@media(max-width:1200px){.gs-grid{gap:18px}.gs-filters{gap:20px}.gs-heading{align-items:start}.gs-heading>p{max-width:270px}}
@media(max-width:700px){.gs-heading{flex-direction:column;gap:20px;margin-bottom:28px}.gs-heading>p{max-width:100%}.gs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gs-card-copy{padding:14px 12px}.gs-card-copy h2{font-size:var(--sidus-font-size-input)}.gs-card-copy p{font-size:var(--sidus-font-size-meta)}.gs-card-stone>span{left:12px;bottom:10px;font-size:10px}.gs-results>span{margin-left:0;width:100%}.gs-note{grid-template-columns:1fr;gap:20px;margin-top:40px}.gs-detail{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.gs-detail-body{grid-template-columns:1fr}.gs-detail-visual{padding:20px}.gs-detail-visual>[data-gs-illustration]{height:160px}.gs-detail-visual p{margin:8px 0}.gs-detail-copy{padding:24px}}
@media(prefers-reduced-motion:reduce){.gs-card,.gs-card-stone .lc-stone-illustration{transition:none}.gs-card-open:hover .lc-stone-illustration{transform:none}}

.gs-library [data-design-references] { margin-top:56px; padding:40px 0 0; border-top:1px solid var(--line); }
.gs-library [data-design-references] .gs-heading h2 { font-size:clamp(28px,4vw,48px); margin:0; }
.gs-search{display:block;font-size:var(--sidus-font-size-label);max-width:460px}
.gs-search input{display:block;width:100%;min-height:44px;padding:10px;margin-top:8px;font:inherit;background:var(--paper);border:1px solid var(--line);color:var(--ink)}
.gs-reference-card .gs-card-stone img { width:64%; height:74%; object-fit:contain; }.gs-reference-card h2 { font-size:var(--sidus-font-size-input); }
.gs-card-open { height:100%; display:flex; flex-direction:column; }.gs-card-stone { width:100%; }.gs-card-copy { flex:1; display:flex; flex-direction:column; width:100%; }.gs-card-action { padding-top:18px; margin-top:auto; }

.gs-canvas-step{width:min(560px,calc(100vw - 24px))}.gs-canvas-step .gs-detail-body{grid-template-columns:1fr}.gs-canvas-step .gs-detail-head{position:sticky;top:0;z-index:2;background:var(--paper)}
.gs-change-canvas{display:block;margin:14px auto 0;padding:8px;font-size:var(--sidus-font-size-label);text-decoration:underline;text-underline-offset:4px}.gs-change-canvas[hidden]{display:none}
