/* Magrade architectural depth; presentation layer only. */
.public-mode{background:radial-gradient(ellipse at 100% 0,#e3e6dd,transparent 65%),var(--paper)}
.public-mode header{background:var(--deep);color:#f2eee5;border-bottom:1px solid #4b574c;height:88px}
.public-mode .brand img{filter:brightness(0) invert(1)}
.public-mode main{max-width:1220px}
.public-mode .stepper{background:var(--paper);position:sticky;top:0;z-index:20;box-shadow:0 6px 18px #17251d08}
.public-mode .stepper li{transition:background .35s,color .35s}
.public-mode .stepper li.is-active{background:var(--deep);color:#f2eee5}
.public-mode .flow-panel.is-entering{animation:space-arrive .55s cubic-bezier(.2,.8,.2,1) both}
@keyframes space-arrive{from{opacity:0;transform:translateY(12px) scale(.995)}to{opacity:1;transform:none}}
.photo-drop{background:linear-gradient(135deg,#e6e8df,#cbd2c4);box-shadow:inset 0 0 0 10px #ffffff30,0 14px 35px -25px #17251d66;transition:box-shadow .3s,background .3s;min-height:360px}
.photo-drop::after{content:'';position:absolute;inset:18px;border:1px solid #83917c80;pointer-events:none}
.photo-drop.is-dragover{background:#cbd7c8;box-shadow:inset 0 0 0 3px #35533f}
.room-frame-icon{display:grid;place-items:center;width:78px;height:62px;border:1px solid #81907c;font:300 30px Georgia,serif;position:relative;margin-bottom:10px;box-shadow:8px 8px 0 -1px #dce0d7,8px 8px 0 #81907c}
#photo-prompt em{padding:11px 16px;border:1px solid #81907c;background:var(--deep);color:#f2eee5;font-size:11px}
.photo-drop.has-photo img{animation:space-arrive .5s ease-out}
.primary,.secondary{transition:transform .18s,background .2s,box-shadow .2s}.primary:active,.secondary:active{transform:translateY(1px)}
.stone-card{transition:transform .25s,border-color .25s,box-shadow .25s,background .25s;transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));box-shadow:0 6px 18px -15px #17251d66}
.stone-card.is-selected{box-shadow:0 0 0 1px #294432,0 10px 22px -16px #17251d80}
@media(hover:hover) and (pointer:fine){.stone-card:hover{transform:perspective(900px) translateY(-3px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));box-shadow:0 15px 24px -18px #17251d80}.primary:hover{box-shadow:0 8px 20px -14px #17251d}}
.stone-card:active{scale:.99}.selected-preview{background:#e5e8df;animation:space-arrive .3s ease-out}
.verification-box{width:100%;background:linear-gradient(120deg,#e5e8df,#f3f3ed);box-shadow:0 18px 36px -30px #17251d80}
.concept-stage{width:100%;padding:24px 0;display:grid;gap:12px;justify-items:center;text-align:center}.concept-stage[hidden]{display:none}.concept-stage strong{font:400 24px Georgia,serif}.concept-stage small{font-size:12px;color:var(--muted);line-height:1.6}
.concept-slabs{position:relative;width:160px;height:120px;margin-bottom:14px;perspective:700px}
.concept-slabs i{position:absolute;top:4px;width:72px;height:108px;border:1px solid #7f8e7b;background:url('/static/materials/statuario-turkey.webp') center/cover;box-shadow:8px 14px 20px -8px #17251d55;transform:rotateY(-18deg);animation:slab-breathe 5s ease-in-out infinite}
.concept-slabs i:nth-child(1){left:12px}.concept-slabs i:nth-child(2){left:44px;top:0;animation-delay:-1s}.concept-slabs i:nth-child(3){left:76px;top:-4px;animation-delay:-2s}
.concept-slabs i::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent,#fff8,transparent);animation:stone-light 7s ease-in-out infinite;opacity:.4}
@keyframes stone-light{0%,100%{opacity:.1}50%{opacity:.65}}
@keyframes slab-breathe{0%,100%{translate:0 0}50%{translate:0 -5px}}
.comparison{box-shadow:0 20px 36px -24px #17251d80;border:1px solid #bac4b5}.comparison-divider span{box-shadow:0 3px 14px #0004;transition:scale .2s}.comparison-divider:hover span,.comparison-divider:active span{scale:1.12}
.result-meta{margin-top:10px;background:#e5e8df}.result-meta b{font:400 18px/1.3 Georgia,serif}.result-meta>div:first-child{grid-column:auto}.history-area{padding:18px 0}#result-allowance{font-size:13px;color:#35533f}
@media(max-width:760px){.public-mode header{height:74px}.public-mode #intro{padding:24px 0 18px}.public-mode .public-intro h1{font-size:32px}.panel-heading h2{font-size:29px}.flow-panel{padding:20px 0 32px}.photo-drop{min-height:252px}.space-grid{gap:24px}.stepper li{min-height:54px}.space-fields,.contact-fields{gap:16px}.concept-stage strong{font-size:21px}.result-meta b{font-size:13px}.verification-box{padding:16px}.room-frame-icon{width:64px;height:50px}.stone-card{transform:none!important}.result-actions{gap:10px}}
@media(max-width:350px){.public-mode main{padding-inline:16px}.public-mode .public-intro h1{font-size:29px}.public-mode .header-note{font-size:7px}.public-mode .brand{font-size:15px}.stepper li b{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.stone-card{transform:none!important}}
