/* Four-view collection: shared logic, dedicated visual layer. */
#photo-capture{--capture-ink:#182b43;--capture-muted:#66778b;--capture-blue:#0867ed;color:var(--capture-ink)}
#photo-capture .capture-heading{align-items:center;gap:32px;padding:7px 0 0}
#photo-capture .eyebrow{font-size:12px;font-weight:550;letter-spacing:2px;color:var(--capture-blue)}
#photo-capture .capture-heading h2{font-size:32px;line-height:1.4;font-weight:600;letter-spacing:-1px;margin:12px 0 10px}
#photo-capture .capture-heading p{font-size:14px;margin:0;color:var(--capture-muted)}
#photo-capture .capture-count{align-self:center;text-align:right;padding-left:28px;border-left:1px solid #e6ebf1;min-width:138px}
#photo-capture .capture-count-label{display:block;font-size:12px;color:#53677f;margin:0}
#photo-capture .capture-count strong{font-size:44px;letter-spacing:-1.8px;line-height:1.25;font-weight:500;font-variant-numeric:tabular-nums}
#photo-capture .capture-count div>span{font-size:17px;color:#8b99a9;margin-left:3px}
#photo-capture .capture-count-status{font-size:11px;display:block;color:#778698;margin:4px 0 0}
#photo-capture .capture-count.is-complete strong{color:var(--capture-blue)}
#photo-capture .capture-progress{height:3px;margin:26px 0 0;background:#edf1f5}
#photo-capture .capture-progress i{background:var(--capture-blue)}
#photo-capture .capture-guide{margin:0 0 24px;border-bottom:1px solid #e9edf2}
#photo-capture .capture-guide>summary{align-items:center;min-height:70px;padding:14px 0;font-size:13px;gap:12px}
#photo-capture .capture-guide>summary::-webkit-details-marker{display:none}
#photo-capture .capture-quick-tips{display:flex;gap:30px;color:#55677d;font-size:13px}
#photo-capture .capture-quick-tips>span{display:flex;align-items:center;gap:9px;white-space:nowrap}
#photo-capture .capture-quick-tips svg{width:20px;height:20px;color:#7188a5}
#photo-capture .capture-guide-toggle{font-size:12px;white-space:nowrap;color:#33659d;display:flex;gap:12px;align-items:center}
#photo-capture .capture-guide-toggle>span{font-size:19px;transition:transform .2s}
#photo-capture .capture-guide[open] .capture-guide-toggle>span{transform:rotate(45deg)}
#photo-capture .capture-guide ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;list-style:none;padding:0 0 6px;margin:0 0 18px;counter-reset:tips}
#photo-capture .capture-guide li{counter-increment:tips;font-size:12px;line-height:1.9;padding:0;color:#68788c}
#photo-capture .capture-guide b{font-size:13px;font-weight:550;margin-bottom:7px;color:#233b57}
#photo-capture .capture-guide b:before{content:'0' counter(tips);font-size:11px;color:#7a92af;margin-right:9px;font-variant-numeric:tabular-nums}
#photo-capture .capture-grid{gap:18px;align-items:start}
#photo-capture .capture-card{padding:15px;border:1px solid #e1e7ee;border-radius:18px;box-shadow:0 3px 12px #18395303;transition:border-color .2s,box-shadow .2s;position:relative}
#photo-capture .capture-card.is-next{border-color:#b2cef4;box-shadow:0 0 0 1px #d9e8fc55}
#photo-capture .capture-card.has-photo{border-color:#bed5ef}
#photo-capture .capture-card-title{gap:8px;margin:1px 1px 15px;min-height:24px}
#photo-capture .capture-index{color:#71859d;font-size:11px;letter-spacing:.3px}
#photo-capture .capture-card h3{font-size:18px;font-weight:600;letter-spacing:.2px}
#photo-capture .capture-state{font-size:11px;color:#728196;display:flex;gap:5px;align-items:center;white-space:nowrap}
#photo-capture .capture-state:before{content:'';width:5px;height:5px;background:#b9c4d1;border-radius:50%}
#photo-capture .has-photo .capture-state{color:#0861df}
#photo-capture .has-photo .capture-state:before{background:#0861df}
#photo-capture .capture-image{height:300px;border-radius:11px;background:#f4f6f8;isolation:isolate}
#photo-capture .capture-silhouette{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;width:100%;height:100%}
#photo-capture .capture-mannequin{height:100%;aspect-ratio:3/8;background-image:url('assets/capture/posture-views.png');background-size:400% 100%;background-position:var(--view-position) center;background-repeat:no-repeat;position:relative;z-index:1}
#photo-capture .capture-example-label{position:absolute;top:12px;left:12px;font-size:10px;letter-spacing:.5px;color:#8491a2;z-index:2}
#photo-capture .capture-floor{position:absolute;bottom:19px;left:22%;right:22%;height:1px;background:#dde4ec}
#photo-capture .capture-uploaded{display:block;width:100%;height:100%;object-fit:contain;position:absolute;inset:0}
#photo-capture .capture-preview{cursor:zoom-in;display:flex;align-items:flex-end;justify-content:center;padding:14px;background:transparent}
#photo-capture .capture-preview>span{display:flex;align-items:center;gap:6px;font-size:11px;background:#fffffff0;border:1px solid #e5eaf0;border-radius:20px;padding:7px 11px;color:#34516f;box-shadow:0 2px 6px #14283f0a}
#photo-capture .capture-preview svg{width:14px;height:14px}
#photo-capture .capture-remove{position:absolute;top:4px;right:4px;display:grid;place-items:center;background:transparent;margin:0;padding:0;width:44px;height:44px;min-height:44px;border-radius:50%;z-index:6}
#photo-capture .capture-remove svg{width:28px;height:28px;background:#fffffff2;border:1px solid #e1e7ed;border-radius:50%;padding:5px;color:#52677f}
#photo-capture .capture-card-caption{margin:14px 0 16px;min-height:43px}
#photo-capture .capture-card-caption p{font-size:12px;line-height:1.7;margin:0 0 4px;color:#425a75}
#photo-capture .capture-card-caption>span{font-size:11px;line-height:1.7;color:#8491a1}
#photo-capture .capture-buttons{gap:7px}
#photo-capture .capture-buttons button{min-width:0;min-height:44px;display:flex;justify-content:center;align-items:center;gap:6px;flex:1;border:1px solid #d6e5fa;border-radius:9px;background:#eef5ff;color:#185aa8;font-size:12px;line-height:1.4;font-weight:500;white-space:nowrap;transition:background .15s,border-color .15s}
#photo-capture .capture-buttons button:last-child{flex:0 0 73px;background:#fff;border-color:#e0e6ef;color:#50667f}
#photo-capture .capture-buttons svg{width:16px;height:16px;flex-shrink:0}
#photo-capture .capture-grid-foot{display:flex;align-items:center;gap:18px;margin:16px 1px 28px;color:#7b899b;font-size:11px;line-height:1.8}
#photo-capture .capture-grid-foot>span:last-child{margin-left:auto}
#photo-capture .capture-grid-foot .capture-desktop-hint{color:#98a3b1}
#photo-capture .capture-submit-panel{display:grid;grid-template-columns:minmax(0,1fr) 278px;gap:40px;border:1px solid #e7ecf2;border-radius:16px;padding:22px 24px;background:#fafbfd;align-items:center}
#photo-capture .capture-note{margin:0;gap:10px}
#photo-capture .capture-note>svg{width:20px;height:20px;color:#5b7fa7;fill:none;stroke:currentColor;margin:2px 0 0}
#photo-capture .capture-note b{font-size:13px;font-weight:550;color:#334e6d}
#photo-capture .capture-note p{font-size:11px;line-height:1.8;margin:4px 0 0;color:#75859a}
#photo-capture .capture-consent{margin:13px 0 0;font-size:12px;line-height:1.8;gap:10px;color:#516880;cursor:pointer;min-height:44px;align-items:center;max-width:none}
#photo-capture .capture-consent input{width:18px;height:18px;margin:0;accent-color:var(--capture-blue)}
#photo-capture .capture-analyze-row{flex-direction:column;align-items:stretch;gap:8px;margin:0}
#photo-capture .capture-analyze{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-width:0;font-size:13px;padding:0 18px;min-height:50px;border-radius:10px;box-shadow:none}
#photo-capture .capture-analyze svg{width:18px;height:18px;flex-shrink:0}
#photo-capture .capture-analyze:disabled{opacity:1;color:#8696aa;background:#eaf0f7;border-color:#e3eaf3;cursor:not-allowed}
#photo-capture .capture-service{text-align:center;font-size:11px;line-height:1.8;margin-top:10px;color:#7b8c9f}
#photo-capture .capture-boundary{margin:15px 0 0;font-size:11px;line-height:1.8;color:#8b97a7;text-align:center}
#photo-capture .capture-close{display:flex;align-items:center;justify-content:center;gap:7px;padding:0 14px}
#photo-capture .capture-close svg{width:15px;height:15px}
#photo-capture .capture-loading{position:absolute;inset:0;z-index:4;background:#f4f6f8ed;display:grid;place-items:center;color:#426d9b;font-size:12px}
#photo-capture .capture-drop-hint{display:none;position:absolute;inset:0;background:#eaf3fff5;z-index:5;place-items:center;text-align:center;padding:12px;color:#0861df;font-size:13px}
#photo-capture .is-dragging{border-color:var(--capture-blue);box-shadow:0 0 0 3px #d6e7ff}
#photo-capture .is-dragging .capture-drop-hint{display:grid}
#photo-capture button:focus-visible,#photo-capture summary:focus-visible{outline:3px solid #72a9f5;outline-offset:3px}
#photo-capture button:disabled{cursor:not-allowed}
@media(hover:hover){#photo-capture .capture-buttons button:not(:disabled):hover{background:#dfedff;border-color:#bad4f8}#photo-capture .capture-buttons button:last-child:not(:disabled):hover{background:#f2f6fb;border-color:#b8cbe4}#photo-capture .capture-remove:hover svg{background:#fff;color:#c15d50}}
@media(min-width:900px){
 .intake.capture-layout{grid-template-columns:1fr 1fr;gap:22px 40px;padding-top:24px}
 .intake.capture-layout .intake-brand{grid-column:1;grid-row:1;align-self:center}
 .intake.capture-layout .intake-brand>span:not(.brand-mark){display:none}
 .intake.capture-layout .intake-steps{grid-column:2;grid-row:1;border-bottom:0;justify-content:flex-end;gap:30px;margin:0}
 .intake.capture-layout .intake-steps li{padding:14px 0}
 .intake.capture-layout .intake-mode-choice{margin-bottom:24px;padding-bottom:16px}
 #photo-capture .capture-heading h2{font-size:30px}
 #photo-capture .capture-heading{padding-top:0}
 #photo-capture .capture-guide>summary{min-height:62px}
 #photo-capture .capture-progress{margin-top:22px}
}
@media(min-width:1100px){.intake.capture-layout{max-width:1240px;padding-left:40px;padding-right:40px}}
@media(max-width:1099px) and (min-width:900px){#photo-capture .capture-grid{gap:12px}#photo-capture .capture-card{padding:12px}#photo-capture .capture-buttons button:last-child{flex-basis:62px}#photo-capture .capture-buttons button{font-size:11px;gap:4px}#photo-capture .capture-card-title{gap:6px}#photo-capture .capture-card h3{font-size:17px}#photo-capture .capture-image{height:278px}}
@media(max-width:899px){
 #photo-capture .capture-heading h2{font-size:28px}#photo-capture .capture-image{height:300px}
 #photo-capture .capture-grid{gap:16px}#photo-capture .capture-submit-panel{grid-template-columns:1fr;gap:20px;padding:22px}
 #photo-capture .capture-submit-action{max-width:none}#photo-capture .capture-analyze{font-size:14px}
 #photo-capture .capture-guide ol{gap:20px}#photo-capture .capture-desktop-hint{display:none}
}
@media(max-width:600px){
 .intake.capture-layout{padding-left:18px;padding-right:18px}.intake.capture-layout .intake-steps{gap:16px;margin:18px 0 24px}
 .intake.capture-layout .intake-mode-choice{gap:4px;margin-bottom:24px;padding-bottom:14px}
 .intake.capture-layout .intake-mode-choice button{font-size:12px;padding:10px 12px}
 #photo-capture .capture-heading{align-items:flex-start;gap:15px;padding-top:0}
 #photo-capture .eyebrow{font-size:11px;letter-spacing:1.2px}#photo-capture .capture-heading h2{font-size:24px;letter-spacing:-.8px;line-height:1.5;margin:10px 0 8px;max-width:210px}
 #photo-capture .capture-heading p{font-size:12px;line-height:1.9;max-width:215px}
 #photo-capture .capture-count{border-left:0;min-width:66px;padding-left:0;padding-top:30px;align-self:flex-start}
 #photo-capture .capture-count strong{font-size:34px;letter-spacing:-1px}#photo-capture .capture-count div>span{font-size:14px}
 #photo-capture .capture-count-label{font-size:10px}#photo-capture .capture-count-status{display:none}
 #photo-capture .capture-progress{margin:20px 0 0}#photo-capture .capture-guide{margin-bottom:18px}
 #photo-capture .capture-guide>summary{min-height:62px;padding:12px 0;gap:6px}
 #photo-capture .capture-quick-tips{gap:13px;font-size:11px}#photo-capture .capture-quick-tips>span{gap:4px}
 #photo-capture .capture-quick-tips svg{width:15px;height:15px}#photo-capture .capture-quick-tips>span:last-child{display:none}
 #photo-capture .capture-guide-toggle{font-size:11px;gap:6px}#photo-capture .capture-guide-toggle>span{font-size:17px}
 #photo-capture .capture-guide ol{grid-template-columns:1fr;gap:14px}
 #photo-capture .capture-grid{gap:12px}#photo-capture .capture-card{padding:10px;border-radius:15px}
 #photo-capture .capture-card-title{gap:6px;margin:1px 0 10px}#photo-capture .capture-card h3{font-size:16px}
 #photo-capture .capture-index{font-size:10px}#photo-capture .capture-state{font-size:10px;gap:4px}
 #photo-capture .capture-image{height:230px;border-radius:8px}#photo-capture .capture-example-label{top:9px;left:9px;font-size:9px}
 #photo-capture .capture-floor{bottom:14px}#photo-capture .capture-card-caption{margin:11px 0 12px;min-height:57px}
 #photo-capture .capture-card-caption p{font-size:12px;line-height:1.65;margin-bottom:4px}#photo-capture .capture-card-caption>span{font-size:10px;letter-spacing:-.2px}
 #photo-capture .capture-buttons{flex-direction:column;gap:6px}#photo-capture .capture-buttons button{font-size:12px;min-height:44px;flex:auto}
 #photo-capture .capture-buttons button:last-child{flex:auto;min-height:44px}#photo-capture .capture-buttons svg{width:15px;height:15px}
 #photo-capture .capture-grid-foot{font-size:10px;gap:10px;flex-wrap:wrap;margin:14px 0 22px}
 #photo-capture .capture-submit-panel{padding:18px 16px;gap:18px;border-radius:14px}#photo-capture .capture-note{gap:9px}
 #photo-capture .capture-note p{font-size:11px}#photo-capture .capture-consent{font-size:11px;align-items:flex-start;margin-top:16px}
 #photo-capture .capture-consent input{margin-top:2px}#photo-capture .capture-boundary{font-size:10px;text-align:left;padding:0 2px}
 #photo-capture .capture-file-error{font-size:11px;padding:9px 10px}
}
@media(max-width:360px){#photo-capture .capture-heading h2{font-size:22px}#photo-capture .capture-index{display:none}#photo-capture .capture-image{height:205px}#photo-capture .capture-card-caption{min-height:75px}#photo-capture .capture-state{font-size:10px}.intake.capture-layout .intake-mode-choice button{padding-left:10px;padding-right:10px}}
@media(prefers-reduced-motion:reduce){#photo-capture *,#photo-capture *:before{transition:none!important;animation:none!important}}
