/* Curb Studio V2 — interactive placement, lighting, comparison, save/share */
.curb-canvas{--compare:50%;isolation:isolate;touch-action:none}.curb-canvas #housePhoto{z-index:1}.mailbox-ground-shadow{position:absolute;z-index:2;left:50%;top:72%;width:22%;height:4.8%;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.62),rgba(0,0,0,.16) 55%,transparent 72%);filter:blur(5px);transform:translate(-50%,-50%);transform-origin:center;pointer-events:none}.curb-canvas .mailbox-overlay{z-index:3;touch-action:none;cursor:grab;transform-origin:50% 82%;will-change:left,top,width,transform,filter}.curb-canvas .mailbox-overlay:active{cursor:grabbing}.before-layer{position:absolute;z-index:4;inset:0 auto 0 0;width:var(--compare);overflow:hidden;pointer-events:none;border-right:1px solid rgba(255,255,255,.88)}.before-layer img{position:absolute;inset:0;width:100vw;height:100%;min-width:100%;object-fit:cover;object-position:center;filter:inherit}.compare-divider{position:absolute;z-index:7;left:var(--compare);top:0;bottom:0;width:1px;background:rgba(255,255,255,.85);box-shadow:0 0 18px rgba(0,0,0,.55);pointer-events:none}.compare-divider i{position:absolute;left:50%;top:50%;width:30px;height:30px;border-radius:50%;transform:translate(-50%,-50%);background:rgba(4,6,5,.82);border:1px solid rgba(255,255,255,.7);box-shadow:0 8px 22px rgba(0,0,0,.4)}.compare-divider i:before,.compare-divider i:after{content:"";position:absolute;top:10px;width:7px;height:7px;border-top:1px solid #fff;border-left:1px solid #fff}.compare-divider i:before{left:7px;transform:rotate(-45deg)}.compare-divider i:after{right:7px;transform:rotate(135deg)}.compare-divider span{position:absolute;top:13px;padding:5px 7px;border-radius:2px;background:rgba(3,5,4,.65);color:#fff;font-size:7px;letter-spacing:.18em}.compare-divider span:first-child{right:8px}.compare-divider span:last-child{left:8px}.canvas-mode-badge{position:absolute;right:14px;top:14px;z-index:9;padding:7px 9px;border:1px solid rgba(255,255,255,.16);background:rgba(4,6,5,.6);backdrop-filter:blur(8px);font-size:7px;letter-spacing:.18em;color:#ecd387}.curb-canvas.mode-sunset #housePhoto,.curb-canvas.mode-sunset .before-layer img{filter:brightness(.82) saturate(1.15) sepia(.14) hue-rotate(-8deg)}.curb-canvas.mode-night #housePhoto,.curb-canvas.mode-night .before-layer img{filter:brightness(.42) saturate(.82) contrast(1.08) hue-rotate(8deg)}.curb-canvas.mode-night:after{content:"";position:absolute;z-index:2;inset:0;background:radial-gradient(circle at 72% 20%,rgba(102,129,176,.14),transparent 35%),linear-gradient(180deg,rgba(11,22,43,.22),rgba(0,0,0,.18));pointer-events:none}.curb-canvas.mode-night .mailbox-overlay{filter:drop-shadow(0 12px 14px rgba(0,0,0,.48)) drop-shadow(0 0 13px rgba(255,225,148,.17))}.curb-canvas.mode-sunset .mailbox-overlay{filter:drop-shadow(0 14px 15px rgba(0,0,0,.45)) drop-shadow(0 0 10px rgba(255,174,85,.12))}
.curb-controls-v2{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.studio-control{padding:18px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.025)}.curb-controls-v2 .scale-control{grid-column:auto}.light-control{grid-column:1/-1;display:grid;grid-template-columns:auto repeat(3,1fr);gap:8px;align-items:center;padding:10px;border:1px solid rgba(255,255,255,.09);background:#080a09}.light-control>span{padding:0 10px;color:rgba(255,255,255,.42);font-size:8px;letter-spacing:.18em}.light-mode{min-height:42px;border:1px solid rgba(255,255,255,.09);background:transparent;color:#fff;font:inherit;font-size:9px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.light-mode.active{border-color:#d2ad57;background:rgba(210,173,87,.13);color:#f1d58d}.gesture-note{grid-column:1/-1;margin:0;color:rgba(255,255,255,.34);font-size:9px;letter-spacing:.08em}.curb-controls-v2 .reset-placement,.curb-controls-v2 .gold-button{width:100%}
.curb-verdict{max-width:1420px;margin:0 auto;padding:105px 30px 125px;display:grid;grid-template-columns:1.1fr .9fr;gap:22px;position:relative}.curb-verdict:before{content:"";position:absolute;left:30px;right:30px;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(218,184,101,.4),transparent)}.curb-verdict-copy{padding:38px 0}.curb-verdict-copy h2{font-size:clamp(48px,6vw,88px);line-height:.9;letter-spacing:-.055em;margin:16px 0 24px}.curb-verdict-copy h2 em{font-family:Georgia,serif;color:#d6b76d;font-weight:400}.curb-verdict-copy>p:last-child{max-width:650px;color:rgba(255,255,255,.52);line-height:1.75}.curb-score-card{min-height:320px;border:1px solid rgba(216,183,101,.22);background:radial-gradient(circle at 30% 30%,rgba(214,174,82,.12),transparent 45%),#080a09;display:flex;align-items:center;justify-content:center;gap:32px;padding:34px}.score-ring{width:170px;height:170px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;background:conic-gradient(#d8b762 var(--score-angle,317deg),rgba(255,255,255,.07) 0);box-shadow:0 20px 50px rgba(0,0,0,.4)}.score-ring:after{content:"";position:absolute;inset:9px;border-radius:50%;background:#070908;border:1px solid rgba(255,255,255,.05)}.score-ring strong,.score-ring small{position:relative;z-index:1}.score-ring strong{font-size:54px;letter-spacing:-.06em}.score-ring small{font-size:8px;letter-spacing:.18em;color:#bca567}.score-copy{max-width:270px}.score-copy span{font-size:8px;letter-spacing:.18em;color:#a99055}.score-copy strong{display:block;margin:9px 0 10px;font-size:27px}.score-copy p{margin:0;color:rgba(255,255,255,.49);line-height:1.55;font-size:11px}.curb-action-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.curb-action{min-height:92px;padding:18px 20px;border:1px solid rgba(255,255,255,.1);background:#090b0a;color:#fff;text-decoration:none;font:inherit;text-align:left;cursor:pointer;display:flex;flex-direction:column;justify-content:center;transition:.2s}.curb-action:hover{transform:translateY(-2px);border-color:rgba(215,181,98,.5)}.curb-action.primary{background:#d0aa55;color:#090a08;border-color:#d0aa55}.curb-action span{font-weight:800;font-size:12px;letter-spacing:.04em}.curb-action small{margin-top:5px;opacity:.55;font-size:9px;line-height:1.4}.curb-save-status{grid-column:1/-1;min-height:18px;margin:0;text-align:center;color:#d5b76e;font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.curb-toast{position:fixed;z-index:9999;left:50%;bottom:26px;transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:12px 16px;border:1px solid rgba(225,190,104,.38);background:rgba(5,7,6,.93);backdrop-filter:blur(12px);color:#f0d68d;font-size:9px;letter-spacing:.12em;text-transform:uppercase;transition:.25s}.curb-toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.curb-verdict{grid-template-columns:1fr;padding:85px 16px 105px}.curb-score-card{min-height:260px}.curb-action-grid{grid-template-columns:1fr}.curb-controls-v2{grid-template-columns:1fr 1fr}.before-layer img{width:100vw}}
@media(max-width:600px){.curb-controls-v2{grid-template-columns:1fr}.light-control,.gesture-note{grid-column:auto}.light-control{grid-template-columns:1fr 1fr 1fr}.light-control>span{grid-column:1/-1;padding:5px 3px}.curb-verdict{padding-top:70px}.curb-score-card{flex-direction:column;text-align:center}.score-ring{width:150px;height:150px}.score-copy{max-width:320px}.compare-divider span{display:none}}
