/* Public Visualizer flow: additive styles; brand foundation comes from style.css. */
.public-mode{min-width:320px}
.public-mode main{max-width:1440px}
.public-mode .public-intro{padding:clamp(34px,6vw,78px) 0 36px;max-width:800px}
.public-intro .eyebrow{margin-bottom:16px;color:#59645d}
.public-intro h1{font-size:clamp(40px,6vw,72px)}
.public-intro>p:last-child{font-size:16px;line-height:1.7;max-width:540px;color:var(--muted)}
.stepper{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:30px;overflow:hidden}
.stepper ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.stepper li{position:relative;display:flex;align-items:center;gap:11px;min-height:68px;padding:12px 16px;color:#737c75;border-right:1px solid var(--line);font-size:12px}
.stepper li:last-child{border:0}.stepper li>span{font-size:10px;letter-spacing:.12em}.stepper li b{font-weight:500}.stepper li.is-active{color:var(--ink);background:#e3e6dd}.stepper li.is-active b{font-weight:700}.stepper li.is-done{color:#31443a}
.flow-panel{padding:clamp(24px,4vw,52px) 0 58px;border-bottom:1px solid var(--line)}
.panel-heading{margin-bottom:30px}.panel-heading .eyebrow{margin-bottom:14px;color:#59645d}.panel-heading h2{font-size:clamp(32px,4vw,48px)}.panel-heading>p:last-child{font-size:14px;color:var(--muted);line-height:1.6;margin:14px 0 0}
.space-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(250px,.8fr);gap:clamp(24px,5vw,68px);align-items:start}
.photo-drop{display:flex;position:relative;align-items:center;justify-content:center;min-height:350px;background:#dce0d7;border:1px solid #bcc4b7;cursor:pointer;text-align:center;overflow:hidden}
.photo-drop:focus-within{outline:2px solid #35533f;outline-offset:3px}.photo-drop input{position:absolute;width:1px;height:1px;opacity:0}.photo-drop>span{display:grid;justify-items:center;gap:10px;padding:24px}.photo-drop b{font:400 25px Georgia,serif}.photo-drop small{font-size:12px;color:var(--muted)}.photo-drop em{font-style:normal;font-size:10px;color:var(--muted)}.photo-drop img{position:absolute;width:100%;height:100%;object-fit:contain;background:#d6dacf}
.photo-drop img[hidden],#photo-prompt[hidden]{display:none}
.space-fields,.contact-fields{display:grid;gap:20px;align-content:start}.space-fields label,.contact-fields>label:not(.consent),.search-label,.next-material label{display:grid;gap:8px;font-size:13px}.space-fields select,.contact-fields input:not([type=checkbox]),.material-tools input[type=search],.next-material select{width:100%;min-height:48px;background:#f7f7f2;border:1px solid #bfc7bd;border-radius:0;padding:11px 12px;color:var(--ink);font:inherit}.space-fields select:focus,.contact-fields input:focus,.material-tools input:focus,.next-material select:focus{outline:2px solid #35533f;outline-offset:2px}.field-note{margin:0;color:var(--muted);font-size:12px;line-height:1.6}
.primary,.secondary{min-height:48px;display:inline-flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 17px;border:1px solid var(--deep);border-radius:0;background:var(--deep);color:#fff;text-decoration:none;font:600 13px Arial,sans-serif;cursor:pointer}.primary:hover,.secondary:hover{background:#2d4035}.primary:focus-visible,.secondary:focus-visible,.history-item:focus-visible,.comparison-divider:focus-visible{outline:3px solid #8a9f88;outline-offset:3px}.primary:disabled,.secondary:disabled{opacity:.5;cursor:not-allowed}.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.secondary:hover{background:#e3e6dd}.space-fields .primary{margin-top:12px}
.notice{margin:0 0 22px;padding:14px 16px;border-left:3px solid #58725d;background:#e2e8df;color:var(--ink);font-size:13px;line-height:1.5}.notice.is-error{border-color:#a34a39;background:#f2e3de;color:#55281f}
.material-tools{display:grid;grid-template-columns:minmax(200px,.8fr) 1.5fr;gap:26px;align-items:end;margin:0 0 24px}.tone-filter{min-width:0;margin:0;padding:0;border:0}.tone-filter legend{font-size:13px;margin-bottom:8px}.tone-filter>div{display:flex;gap:7px;flex-wrap:wrap}.tone-choice{position:relative;cursor:pointer}.tone-choice input{position:absolute;opacity:0;inset:0}.tone-choice span{display:block;border:1px solid var(--line);padding:9px 12px;font-size:11px;background:transparent}.tone-choice input:checked+span{border-color:var(--deep);background:var(--deep);color:white}.tone-choice input:focus-visible+span{outline:2px solid #35533f;outline-offset:2px}
.material-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.stone-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);background:#f4f4ee;cursor:pointer;min-width:0;transition:border-color .15s,background-color .15s}.stone-card:hover{border-color:#758376}.stone-card.is-selected{border:2px solid #294432;background:#e7ebe2}.stone-card>img{display:block;width:100%;height:clamp(145px,18vw,240px);object-fit:cover;background:#dce0d7}.stone-meta{display:grid;gap:6px;padding:13px 14px 16px}.stone-meta b{font:400 18px Georgia,serif;overflow-wrap:anywhere}.stone-meta small{font-size:11px;color:var(--muted)}.stone-card>input{position:absolute;right:13px;bottom:15px;width:19px;height:19px;accent-color:#294432}.image-unavailable{min-height:130px;display:grid;place-items:center;padding:14px;text-align:center;background:#e2e4dd;color:var(--muted);font-size:12px}.unsupported{padding:20px;background:#e4e7df;color:#354137;font-size:14px;line-height:1.6}.step-actions{display:flex;justify-content:space-between;gap:12px;margin-top:32px}
.verify-grid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(280px,1fr);gap:clamp(25px,5vw,70px);align-items:start}.chosen-summary{display:flex;gap:16px;align-items:center;background:#e2e5dc;padding:14px}.chosen-summary img{width:96px;height:92px;object-fit:cover}.chosen-summary>div{display:grid;gap:8px}.chosen-summary span,.result-meta span{font-size:9px;letter-spacing:.14em;color:var(--muted)}.chosen-summary b{font:400 18px Georgia,serif}.chosen-summary small{font-size:11px;color:var(--muted)}.consent{display:grid;grid-template-columns:20px 1fr;gap:11px;align-items:start;font-size:12px;line-height:1.55;color:var(--muted)}.consent input{width:18px;height:18px;margin:1px 0;accent-color:#294432}.verification-box{display:grid;justify-items:start;gap:15px;max-width:600px;margin:28px 0 0;padding:20px;border:1px solid var(--line);background:#e7e9e1}.verification-box p{margin:0;font-size:14px;line-height:1.6}.link-button{box-sizing:border-box}.verification-box .secondary{min-width:220px}
.result-panel{padding-bottom:42px}.comparison{position:relative;width:100%;height:min(67vw,690px);min-height:280px;overflow:hidden;background:#d6dacf;touch-action:pan-y;user-select:none}.comparison>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#d6dacf}.comparison>img:last-of-type{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.compare-tag{position:absolute;top:14px;padding:7px 9px;background:rgba(23,37,29,.85);color:white;font-size:9px;letter-spacing:.12em}.before-tag{left:14px}.after-tag{right:14px}.comparison-divider{position:absolute;left:var(--split);top:0;bottom:0;width:44px;margin-left:-22px;border:0;background:transparent;cursor:ew-resize;touch-action:none}.comparison-divider::before{content:"";position:absolute;top:0;bottom:0;left:21px;width:2px;background:#fff;box-shadow:0 0 3px #17251d}.comparison-divider span{position:absolute;top:50%;left:0;display:grid;place-items:center;width:44px;height:44px;margin-top:-22px;border:1px solid #fff;border-radius:50%;background:#17251d;color:#fff;font-size:20px}.range-label{display:grid;gap:9px;max-width:440px;margin:17px auto 32px;text-align:center;font-size:11px;color:var(--muted)}.range-label input{width:100%;accent-color:#294432}.result-meta{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.result-meta>div{display:grid;gap:9px;padding:16px;border-right:1px solid var(--line);min-width:0}.result-meta>div:last-child{border:0}.result-meta b{font-size:13px;overflow-wrap:anywhere}.history-area{padding:22px 0}.history-area h3,.next-material h3{font:400 24px Georgia,serif;margin:0 0 15px}.history-area>div{display:flex;flex-wrap:wrap;gap:9px}.history-item{display:grid;gap:5px;min-width:130px;padding:12px;border:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;cursor:pointer}.history-item:hover{background:#e3e6dd}.history-item span{font-size:9px;letter-spacing:.12em;color:var(--muted)}.history-item b{font:400 15px Georgia,serif}.result-actions{display:flex;gap:12px;flex-wrap:wrap}.result-actions>*{min-width:180px}.next-material{display:grid;justify-items:start;gap:14px;margin-top:30px;padding:22px;background:#e3e6dd}.next-material .eyebrow{margin:0}.next-material label{width:min(100%,460px)}.disclaimer{max-width:740px;margin:24px 0 0;color:var(--muted);font-size:11px;line-height:1.7}
.public-mode footer{max-width:1440px;margin:auto;padding:25px 5vw;display:flex;justify-content:space-between;gap:18px;color:var(--muted);font-size:10px;letter-spacing:.07em}
@media(max-width:760px){.public-mode header{height:78px;padding:0 5vw}.public-mode .brand{font-size:19px}.public-mode .brand img{width:38px;height:38px}.public-mode .header-note{font-size:8px}.public-mode .header-note i{display:none}.stepper li{padding:10px 7px;gap:6px;min-height:60px;flex-direction:column;align-items:flex-start;justify-content:center;font-size:10px}.space-grid,.verify-grid{grid-template-columns:1fr}.photo-drop{min-height:300px}.material-tools{grid-template-columns:1fr;gap:17px}.material-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stone-card>img{height:clamp(135px,33vw,230px)}.chosen-summary{max-width:100%}.comparison{height:70vw;min-height:250px}.public-mode footer{flex-direction:column}}
@media(max-width:420px){.public-mode main{padding-inline:20px}.public-mode header{padding-inline:20px}.public-mode .brand{gap:9px;font-size:17px}.stepper li{font-size:9px;padding-inline:5px}.stepper li>span{font-size:9px}.material-grid{gap:9px}.stone-meta{padding:11px 10px 14px}.stone-meta b{font-size:16px}.stone-meta small{font-size:10px}.stone-card>input{right:9px;bottom:12px;width:17px;height:17px}.photo-drop{min-height:250px}.comparison{min-height:220px}.result-meta>div{padding:11px 8px}.result-meta b{font-size:11px}.result-actions>*{width:100%;justify-content:center}.step-actions .primary,.step-actions .secondary{flex:1;justify-content:center}.chosen-summary img{width:76px;height:76px}}
.public-mode .comparison{height:auto;min-height:0;max-width:760px;margin-inline:auto}
.public-mode .stone-card>img,.public-mode .chosen-summary img{object-fit:contain}
.public-mode .stone-meta{padding-right:32px}
.public-mode #intro{display:block;padding:28px 0 20px}.public-mode .public-intro h1{font-size:clamp(30px,4vw,48px)}
.public-mode .stone-card>input{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:0!important;opacity:0;right:0;bottom:0}
.stone-card.is-selected::after{content:'✓ Selected';position:absolute;top:8px;right:8px;background:var(--deep);color:white;font-size:10px;padding:5px 7px}
.selected-preview{display:flex;align-items:center;gap:16px;padding:12px;border:1px solid var(--line);margin-bottom:16px}.selected-preview img{width:128px;height:90px;object-fit:contain}.selected-preview strong{font-size:14px}
.public-mode .stone-card:focus-within{outline:2px solid var(--deep);outline-offset:2px}
@media(max-width:760px){.public-mode .material-grid{display:block;max-height:440px;overflow-y:auto;overscroll-behavior:contain;padding:3px}.public-mode .stone-card{display:grid;grid-template-columns:96px 1fr;min-height:88px;margin-bottom:8px;align-items:center}.public-mode .stone-card>img{width:96px;height:84px;object-fit:contain}.public-mode .stone-meta{padding:10px 34px 10px 12px}.public-mode .stone-meta b{font:600 14px/1.35 Arial,sans-serif;overflow-wrap:normal}.public-mode .stone-meta small{font-size:11px}.stone-card.is-selected::after{content:'✓';top:8px;right:8px}.public-mode .material-tools{gap:8px;margin-bottom:12px}.public-mode .tone-filter>div{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.tone-choice{flex-shrink:0}.public-mode .selected-preview img{width:100px;height:76px}.public-mode .step-actions{position:sticky;bottom:0;background:var(--paper);padding:12px 0;margin-top:12px}.public-mode .panel-heading{margin-bottom:16px}}
.public-mode .result-meta span,.public-mode .field-note{color:#566057}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
