#brick-app{--navy:#193449;--rust:#a95037;--cream:#fcfaf5;--line:#e5dfd4;--ink:#243b4b;--soft:#eeeadf;color:var(--ink);background:var(--cream);font:15px/1.5 Arial,sans-serif;border-radius:16px;overflow:hidden;max-width:1100px;margin:auto;box-sizing:border-box}#brick-app *{box-sizing:border-box}#brick-app [hidden]{display:none!important}#brick-app button,#brick-app input,#brick-app select,#brick-app textarea{font:inherit}#brick-app button{cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--navy);padding:10px 16px;border-radius:8px;min-height:44px}#brick-app button:disabled{opacity:.5;cursor:default}#brick-app button.primary,#brick-app button[aria-pressed=true]{color:#fff;background:var(--navy);border-color:var(--navy)}#brick-app button.danger{color:#8c302e}#brick-app button:focus-visible,#brick-app input:focus-visible,#brick-app select:focus-visible{outline:3px solid #447f9e;outline-offset:3px}#brick-app input:not([type=checkbox]),#brick-app select,#brick-app textarea{width:100%;padding:10px;border:1px solid #b8b5ad;border-radius:6px;background:#fff;color:var(--ink);min-height:44px;font-size:16px}#brick-app input[type=checkbox]{width:18px;height:18px;vertical-align:middle}#brick-app label{display:block;margin:8px 0}#brick-app label>span{display:block;font-size:13px;margin-bottom:5px}#brick-app h1,#brick-app h2,#brick-app h3{font-family:Georgia,serif;line-height:1.2;font-weight:400;color:var(--navy)}#brick-app h1{font-size:clamp(24px,4vw,38px);margin:10px 0}#brick-app h2{font-size:25px;margin:0 0 12px}#brick-app h3{font-size:21px;margin:0 0 8px}#brick-app p{margin:8px 0 14px}#brick-app .testbar{background:var(--navy);color:white;text-align:center;padding:8px 15px;font-size:12px;letter-spacing:.06em}#brick-app header{display:flex;align-items:center;gap:14px;padding:20px 30px;border-bottom:1px solid var(--line)}#brick-app .brand-logo{width:73px;height:73px;border-radius:50%;object-fit:contain}#brick-app .brandname{font:23px Georgia,serif}#brick-app .brandname em{color:var(--rust)}#brick-app .subbrand{font-size:10px;letter-spacing:.15em;margin-top:5px}#brick-app .view-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-left:auto}#brick-app .view-tabs button{padding:9px 12px;font-size:13px}#brick-app .content{padding:25px 30px}#brick-app .intro{text-align:center;margin-bottom:22px}#brick-app .tagline{font:italic 19px Georgia,serif;color:var(--rust)}#brick-app .heritage{font-size:13px;color:#526470}#brick-app .eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.16em;margin-bottom:7px}#brick-app .row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}#brick-app .row.start{justify-content:flex-start}#brick-app .badge{display:inline-block;font-size:12px;padding:5px 10px;background:#e9edf0;border-radius:20px}#brick-app .badge.founding{background:#f2e4c5;color:#634820}#brick-app .badge.vip{background:#e1ece8;color:#285548}#brick-app .muted{color:#596b77;font-size:13px}#brick-app .panel{border:1px solid var(--line);background:#fffefa;border-radius:12px;padding:20px;margin:15px 0}#brick-app .wall-panel{position:relative;overflow:hidden;background:#f5f0e7;padding:24px 25px 22px;border-radius:12px;margin:16px 0}#brick-app .wall-panel>*:not(.abbey){position:relative}#brick-app .abbey{position:absolute;inset:0 0 auto auto;width:145px;height:210px;background-image:linear-gradient(90deg,#f5f0e7,transparent 75%),var(--wall-image);background-size:auto,auto 560px;background-position:left,100% 15%;opacity:.5;pointer-events:none}#brick-app .wall-head{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;margin-bottom:15px}#brick-app .wall-head strong{font:27px Georgia,serif}#brick-app .wall-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:24px auto 18px;max-width:610px;padding:7px;background:#d8c9b7;border-radius:5px;border-bottom:7px solid #c4b39c}#brick-app .brick{height:58px;border-radius:4px;position:relative;display:flex;align-items:center;justify-content:center;font:23px Georgia,serif;color:#6d3f2b;background:#ddd2c4;box-shadow:inset 0 1px 3px #c5b6a3;transition:background .3s}#brick-app .brick.filled{background:radial-gradient(ellipse at 15% 15%,#df906450,transparent 70%),repeating-linear-gradient(167deg,#a34e3518 0 1px,transparent 1px 4px),linear-gradient(140deg,#c36b45,#ae5238 65%,#bf6845);color:#fff4e5;text-shadow:0 1px #733620;box-shadow:inset 1px 2px 2px #e9a480,inset -2px -3px 3px #763b2d,0 1px 2px #8b705c}#brick-app .brick.final{font-size:13px}#brick-app .mark-frame{position:relative;width:min(67px,100%);aspect-ratio:74/64;overflow:hidden;mix-blend-mode:multiply}#brick-app .mark-frame img{position:absolute;width:200%;height:auto;max-width:none;left:-52.7%;top:-101.6%;filter:grayscale(1) sepia(1) contrast(1.8);clip-path:polygon(36% 43%,39% 43%,43% 55%,48% 55%,64% 46%,68% 45%,66% 53%,62% 58%,76% 57%,76% 76%,66% 76%,66% 82%,50% 81%,45% 87%,38% 85%,32% 80%,33% 76%,38% 70%,40% 66%,33% 65%,26% 64%,26% 58%,34% 55%,27% 52%,27% 49%,35% 51%)}#brick-app .complete .brick.final{animation:brick-place .75s ease-out both}#brick-app .complete .mark-frame{animation:mark-impress .7s .75s both}@keyframes brick-place{from{transform:translateY(-35px) rotate(-5deg);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes mark-impress{from{opacity:0;transform:scale(1.4);filter:blur(2px)}to{opacity:1;transform:scale(1);filter:blur(0)}}#brick-app .reduced *{animation:none!important;transition:none!important}#brick-app.reduced *{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){#brick-app *{animation:none!important;transition:none!important}}#brick-app .wall-foot{text-align:center;font-size:13px}#brick-app .stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}#brick-app .stat{border-right:1px solid var(--line);padding:2px 12px 2px 0}#brick-app .stat:last-child{border:0}#brick-app .stat b{display:block;font:28px Georgia,serif}#brick-app .stat span{font-size:12px}#brick-app .rewards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}#brick-app .reward-card{padding:18px;border:1px solid var(--line);border-radius:10px;background:#fff;display:flex;flex-direction:column;gap:5px}#brick-app .reward-card p{font-size:13px;flex:1}#brick-app .reward-card button{width:100%}#brick-app .reward-sign{font:29px Georgia,serif;color:var(--rust);margin-bottom:5px}#brick-app .split{display:grid;grid-template-columns:1fr 1fr;gap:18px}#brick-app details{border-top:1px solid var(--line);padding:16px 0}#brick-app summary{cursor:pointer;font-weight:600;min-height:30px}#brick-app .entry{display:flex;gap:14px;justify-content:space-between;border-bottom:1px solid var(--line);padding:11px 0;font-size:13px;overflow-wrap:anywhere}#brick-app .entry:last-child{border:0}#brick-app .entry b{white-space:nowrap}#brick-app .notice{background:#eef3f5;border-left:3px solid #5b8092;padding:12px 15px;font-size:13px;margin:14px 0}#brick-app .error{color:#842929;background:#fff1eb;padding:12px;border-radius:8px}#brick-app .success{color:#225143;background:#e5f1e9;padding:12px;border-radius:8px}#brick-app .message:empty{display:none}#brick-app .demo-action{background:#e7eef0;color:var(--navy);border-style:dashed}#brick-app .profile-select{max-width:320px}#brick-app .controls-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}#brick-app .full{grid-column:1/-1}#brick-app .auth{max-width:470px;margin:20px auto}#brick-app .auth-switch{display:flex;gap:8px;margin-bottom:15px}#brick-app footer{text-align:center;font:italic 17px Georgia,serif;padding:22px;border-top:1px solid var(--line);color:#59665d}#brick-app .close-complete{display:block;margin:auto}#brick-app .tiny{font-size:12px}#brick-app .no-wrap{white-space:nowrap}#brick-app .quote{font-size:15px;background:#f2efe8;padding:14px;border-radius:8px}#brick-app .quote strong{font-size:22px}#brick-app .admin-label{color:#6e5131}#brick-app .list{list-style:none;padding:0;margin:8px 0}#brick-app .check{display:flex;gap:9px;align-items:flex-start;font-size:13px}#brick-app .check input{flex:none;margin-top:3px}#brick-app .check span{font-size:13px;margin:0}
@media(max-width:700px){#brick-app header{padding:16px;flex-wrap:wrap}#brick-app .view-tabs{margin:0;width:100%}#brick-app .view-tabs button{flex:1}#brick-app .content{padding:18px 16px}#brick-app .rewards,#brick-app .split{grid-template-columns:1fr}#brick-app .wall-panel{padding:18px 12px}#brick-app .brick{height:45px;font-size:18px}#brick-app .complete .mark-frame{animation:mark-impress .7s .75s both}#brick-app .wall-grid{gap:4px;padding:5px}#brick-app .brand-logo{width:60px;height:60px}#brick-app .brandname{font-size:21px}#brick-app .stat b{font-size:24px}#brick-app .controls-grid{grid-template-columns:1fr}#brick-app .full{grid-column:auto}#brick-app .entry{flex-wrap:wrap}#brick-app .abbey{width:100px}}

/* Heritage presentation: original approved artwork is reused as photographic sprites. */
#brick-app{--cream:#f9f5eb;--line:#d7cbb7;--navy:#1c3448;--rust:#98432f;border-radius:0;background:radial-gradient(ellipse at 50% 5%,#fffdf7,transparent 65%),#f5efdf;font-size:15px}
#brick-app header{padding:12px 28px;justify-content:center;border-bottom:1px solid #d8ccb7;background:#eee6d8}
#brick-app .view-tabs{margin:0;justify-content:center}
#brick-app button{border-radius:3px;background:#fffaf0;border-color:#cbbda6}
#brick-app .view-tabs button{min-width:130px}
#brick-app .content{padding:26px 42px 32px}
#brick-app .intro{position:relative;padding:0 0 27px;margin:0 0 30px;border-bottom:1px solid #9a8c75}
#brick-app .brand-logo{display:block;width:150px;height:153px;border-radius:0;margin:0 auto 18px;object-fit:contain;mix-blend-mode:multiply}
#brick-app h1{font-size:clamp(28px,4.3vw,44px);max-width:780px;margin:0 auto 15px;letter-spacing:-.025em}
#brick-app .tagline{font:italic 21px/1.45 Georgia,serif;color:var(--navy);margin:0 0 16px}
#brick-app .heritage{font:16px/1.6 Georgia,serif;color:#635846;margin:0 auto;max-width:540px}
#brick-app .badge{border-radius:3px;letter-spacing:.05em;padding:9px 13px;background:#e6e8e4}
#brick-app .badge.founding{background:#e9d7ab;color:#574023;border:1px solid #b7995b}
#brick-app .notice{background:#eee3ce;border-left-color:#a37b3b;color:#57472e;line-height:1.65}
#brick-app .wall-panel{border-radius:0;background:linear-gradient(180deg,#f8f2e700,#e8ddc955);padding:30px 12px 24px;margin:8px 0 20px;isolation:isolate;overflow:hidden}
#brick-app .abbey{z-index:-1;inset:0 0 auto auto;width:230px;height:190px;background-image:var(--wall-image);background-size:724px 543px;background-position:right -92px;opacity:.34;mask-image:linear-gradient(90deg,transparent,black 35%),linear-gradient(180deg,black 70%,transparent);mask-composite:intersect}
#brick-app .wall-head{margin:0 6px 0;gap:12px;min-height:58px}
#brick-app .wall-head strong{font-size:29px;text-shadow:0 1px #fff}
#brick-app .wall-grid{max-width:850px;gap:7px;padding:8px;margin:28px auto 20px;border-radius:0;background:linear-gradient(155deg,#e9dfcd,#c6b9a2 60%,#e4daca);border-bottom:7px solid #b7aa91;box-shadow:0 9px 13px -8px #5b433e88,inset 0 1px 4px #988972}
#brick-app .brick{height:auto;aspect-ratio:2.15;border-radius:0;font:clamp(17px,2.8vw,30px) Georgia,serif;color:#7b6b55;background:#dfd5c3;box-shadow:inset 1px 2px 6px #9e8f7790;transition:none}
#brick-app .brick.filled{background-image:linear-gradient(180deg,#ffffff0a,#541e1829),var(--wall-image);background-size:100% 100%,650% 2400%;background-position:0 0,70.2% 48.5%;color:#603625;text-shadow:0 1px 1px #f4ac77,0 -1px 1px #522316;box-shadow:inset 0 2px 2px #e6a079, inset 1px -3px 4px #602e24b0,0 1px 3px #77604f;clip-path:polygon(1% 1%,23% 0,25% 2%,54% 1%,75% 0,98% 2%,100% 6%,99% 38%,100% 67%,99% 96%,94% 99%,74% 97%,42% 100%,17% 98%,1% 99%,0 83%,1% 58%,0 21%)}
#brick-app .brick.filled:nth-child(3n+1){background-position:0 0,7.4% 48.5%}
#brick-app .brick.filled:nth-child(3n+2){background-position:0 0,28.5% 48.5%}
#brick-app .brick.final{font-size:12px;text-align:center;padding:3px}
#brick-app .mark-frame{width:min(92px,94%);max-height:100%;aspect-ratio:74/64;filter:drop-shadow(0 1px 0 #e4a575);mix-blend-mode:multiply}
#brick-app .mark-frame img{filter:grayscale(1) sepia(1) contrast(2.4)}
#brick-app .complete .brick.final{animation:heritage-place 1.1s cubic-bezier(.18,.7,.25,1) both}
#brick-app .complete .mark-frame{animation:heritage-impress 1s 1.15s both}
#brick-app .complete .wall-foot{animation:heritage-reveal .5s 2.1s both}
@keyframes heritage-place{0%{transform:translateY(-100%) rotate(-4deg);opacity:0}30%{opacity:1}85%{transform:translateY(2px) rotate(0)}100%{transform:translateY(0)}}
@keyframes heritage-impress{0%{opacity:0;transform:scale(1.22);filter:blur(3px) drop-shadow(0 0 8px #e9c777)}65%{opacity:1;transform:scale(.98);filter:blur(0) drop-shadow(0 0 8px #e9c777)}100%{opacity:1;transform:scale(1);filter:drop-shadow(0 1px 0 #e4a575)}}
@keyframes heritage-reveal{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
#brick-app .wall-foot{font:italic 16px/1.5 Georgia,serif;color:#5e4c39;margin:0 0 12px}
#brick-app .stats{padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:8px 0 20px}
#brick-app .stat b{font-size:33px;margin-bottom:4px}
#brick-app .row.start{margin-bottom:18px}
#brick-app .reward-card{border:1px solid #34495b;border-radius:3px;background:#fffcf4;box-shadow:0 3px 0 #d5c8ae;padding:23px 20px 20px;text-align:center;gap:8px}
#brick-app .reward-card h3{font-size:24px}
#brick-app .reward-card p{line-height:1.65;color:#5b615e}
#brick-app .reward-sign{font:italic 16px Georgia,serif;color:#845234;margin:0}
#brick-app .reward-art{width:64px;height:64px;margin:0 auto 5px;border-radius:50%;background-image:var(--wall-image);background-size:724px 543px;background-position:-36px -434px}
#brick-app .reward-art.physical{background-position:-268px -434px}
#brick-app .reward-art.digital{background-position:-502px -434px}
#brick-app .reward-card button{border-color:var(--navy);margin-top:8px}
#brick-app .panel{border-radius:3px;background:#fffcf4}
#brick-app details{padding:20px 0}
#brick-app summary{font-weight:400;color:var(--navy);line-height:1.5}
#brick-app .split>section{min-width:0}
#brick-app footer{font-size:20px;color:var(--navy);padding:28px;background:#eee5d5}
#brick-app .demo-action{background:#ede9de;border-style:solid;font-size:13px}
#brick-app .entry{background:#fffcf440;padding:14px 10px}
#brick-app input:not([type=checkbox]),#brick-app select,#brick-app textarea{border-radius:3px}
@media(max-width:700px){#brick-app .content{padding:24px 18px}#brick-app header{padding:10px}#brick-app .view-tabs{width:100%}#brick-app .view-tabs button{min-width:0;padding:9px;flex:1}#brick-app .brand-logo{width:125px;height:128px}#brick-app .wall-panel{padding:20px 0}#brick-app .wall-grid{gap:5px;padding:5px}#brick-app .brick{height:auto;aspect-ratio:1.55}#brick-app .brick.final{font-size:11px}#brick-app .wall-head strong{font-size:24px}#brick-app .abbey{width:170px}#brick-app .tagline{font-size:19px}#brick-app .stat b{font-size:27px}#brick-app .heritage{font-size:15px}}
@media(prefers-reduced-motion:reduce){#brick-app *{animation:none!important;transition:none!important}}
#brick-app.reduced *{animation:none!important;transition:none!important}
#brick-app .abbey{height:350px;background-size:1448px 1086px;background-position:right -90px}
#brick-app .reward-art{background-position:-33px -441px}
#brick-app .reward-art.physical{background-position:-263px -441px}
#brick-app .reward-art.digital{background-position:-487px -441px}
/* Three courses of bonded masonry; 15 whole bricks, staggered bed joints. */
#brick-app .wall-grid{position:relative;grid-template-columns:repeat(11,minmax(0,1fr));gap:0;padding:0;border:0;background:none;box-shadow:none;filter:drop-shadow(0 10px 5px #59432c35);margin:28px auto 24px;isolation:isolate}
#brick-app .brick{grid-column:span 2;aspect-ratio:2.1;margin:4px 3px;isolation:isolate;background:#e7decd;box-shadow:inset 0 2px 4px #ad9c8255;border-radius:0}
#brick-app .brick:nth-child(6){grid-column:2/span 2}
#brick-app .brick:nth-child(11){grid-column:1/span 2}
#brick-app .brick:before{content:"";position:absolute;inset:-4px -3px;z-index:-2;background:repeating-linear-gradient(173deg,#c6bca9 0px,#e3dac8 1px,#cec4b0 2px,#dcd1ba 4px);box-shadow:inset 0 2px 2px #b6a78e}
#brick-app .brick.filled{clip-path:none;background:none;box-shadow:none;color:#542b20;text-shadow:0 1px 1px #eeb188}
#brick-app .brick.filled:after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(180deg,#ffffff08,#59231825),var(--wall-image);background-size:100% 100%,650% 2400%;background-position:0 0,70.2% 48.5%;box-shadow:inset 1px 2px 2px #edb28c,inset 0 -4px 3px #763f2ba6,inset -2px 0 3px #8d4d33;clip-path:polygon(1% 1%,24% 0,26% 1.8%,54% .5%,75% 0,98% 2%,100% 6%,99% 38%,100% 67%,99% 96%,94% 99%,74% 97%,42% 100%,17% 98%,1% 99%,0 83%,1% 58%,0 21%)}
#brick-app .brick.filled:nth-child(3n+1):after{background-position:0 0,7.4% 48.5%}
#brick-app .brick.filled:nth-child(3n+2):after{background-position:0 0,28.5% 48.5%}
#brick-app .brick.filled:nth-child(4n):after{filter:brightness(.94) saturate(.91)}
#brick-app .brick.filled:nth-child(5n+2):after{filter:brightness(1.05)}
#brick-app .mark-frame{mix-blend-mode:normal;filter:none;width:min(88px,90%);opacity:.92}
#brick-app .mark-frame img{filter:url(#brick-engraving)}
#brick-app .complete .mark-frame{animation:clay-impression 1.05s 1.1s both}
@keyframes clay-impression{0%{opacity:0;transform:scale(1.09);filter:blur(1px)}35%{opacity:.35}68%{opacity:1;transform:scale(.97);filter:none}100%{opacity:.92;transform:scale(1);filter:none}}
#brick-app .managed-child{background:#f0e7d5;padding:22px;margin-top:12px;border:1px solid #d7cbb7}
@media(max-width:700px){#brick-app .wall-grid{gap:0;padding:0}#brick-app .brick{aspect-ratio:1.35;margin:3px 2px}#brick-app .brick:before{inset:-3px -2px}#brick-app .brick.final{font-size:10px}}
@media(prefers-reduced-motion:reduce){#brick-app *{animation:none!important;transition:none!important}}
#brick-app.reduced *{animation:none!important;transition:none!important}
/* Customer-only refinement. The approved carving and other views are untouched. */
#brick-app .customer-wall .wall-grid{gap:0;filter:drop-shadow(0 5px 3px #44352822);align-items:stretch}
#brick-app .customer-wall .brick{aspect-ratio:2.1;margin:3px 3px;background:#d7cdbb;box-shadow:inset 0 1px 2px #a99c86;font-size:clamp(15px,2.5vw,27px)}
#brick-app .customer-wall .brick:before{inset:-3px;box-shadow:none;background:repeating-radial-gradient(ellipse at 23% 39%,#d7cdbb 0 1px,#cec4b1 1.5px 2px,#ded4c1 2.5px 4px)}
#brick-app .customer-wall .brick.filled{background:none;box-shadow:none}
#brick-app .customer-wall .brick.filled:after{inset:0;background-image:linear-gradient(180deg,#ffffff05,#451e1910),var(--customer-clay);background-size:100% 100%,110% 110%;background-position:center;filter:saturate(.85) brightness(.93);box-shadow:inset 0 1px 1px #d79066,inset 0 -1px 1px #6c3a2e66;clip-path:polygon(.5% 1%,23% 0,26% 1%,52% .3%,75% 0,99% 1%,100% 12%,99.5% 39%,100% 68%,99% 99%,72% 98%,42% 100%,17% 99%,.5% 100%,0 81%,.5% 58%,0 20%)}
#brick-app .customer-wall .brick.filled:nth-child(3n+1):after{background-position:0 0,10% 25%;filter:saturate(.9) brightness(.87)}
#brick-app .customer-wall .brick.filled:nth-child(3n+2):after{background-position:0 0,85% 70%;filter:saturate(.8) brightness(.98)}
#brick-app .customer-wall .brick.filled:nth-child(4n):after{background-size:100% 100%,125% 125%;filter:saturate(.82) brightness(.9)}
#brick-app .customer-referral{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}
#brick-app .customer-referral strong{font:22px Georgia,serif;letter-spacing:.08em}
#brick-app .customer-referral span:last-child{flex-basis:100%;font-size:13px;color:#596b77}
@media(max-width:700px){#brick-app .customer-wall .brick{aspect-ratio:1.6;margin:2px}#brick-app .customer-wall .brick:before{inset:-2px}}
/* Approved picture, preserved as contiguous windows. Customer view only. */
#brick-app .approved-customer-wall{position:relative;isolation:isolate;padding:24px 0;margin:8px 0 20px;overflow:hidden}
#brick-app .approved-customer-wall .wall-head{position:relative;z-index:1}
#brick-app .approved-wall-art{position:relative;width:100%;aspect-ratio:1019/521;margin:20px 0;isolation:isolate}
#brick-app .art-brick{position:absolute;overflow:hidden;margin:0;padding:0;border:0;border-radius:0;background:#d8cdb7}
#brick-app .art-brick img{position:absolute;height:auto;max-width:none;display:block;margin:0;padding:0;filter:none}
#brick-app .art-brick.unearned img{opacity:.12;filter:grayscale(1)}
#brick-app .art-brick.unearned span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:clamp(12px,2vw,24px) Georgia,serif;color:#695944;background:#e8dfd155}
#brick-app .art-brick.art-final.unearned img{visibility:hidden}
#brick-app .art-brick.art-final.unearned span{font-size:clamp(11px,1.5vw,16px)}
#brick-app .art-complete .art-final{animation:approved-brick-place 1.1s cubic-bezier(.2,.8,.2,1) both}
@keyframes approved-brick-place{0%{transform:translateY(-28%);opacity:0}40%{opacity:1}85%{transform:translateY(1%)}100%{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){#brick-app .art-complete .art-final{animation:none}}
#brick-app.reduced .art-complete .art-final{animation:none}

/* Wider Customer bricks. The centre of the final brick scales uniformly. */
#brick-app .approved-wall-art{aspect-ratio:3.25;max-width:100%}
#brick-app .final-art-slice{position:absolute;top:0;height:100%;overflow:hidden}
#brick-app .art-brick img{object-fit:fill}
@media(max-width:480px){#brick-app .approved-customer-wall{margin-left:-8px;margin-right:-8px}#brick-app .approved-customer-wall .wall-head,#brick-app .approved-customer-wall .wall-foot{margin-left:8px;margin-right:8px}#brick-app .art-brick.art-final.unearned span{font-size:11px}}
/* Founding-only recognition; approved Customer presentation remains unchanged. */
#brick-app .founding-experience .founding-recognition{background:#f0e5ce;border-top:1px solid #ad8c50;border-bottom:1px solid #ad8c50;padding:26px 24px;margin:22px 0;text-align:center}
#brick-app .founding-experience .founding-recognition h2{font-size:30px}
#brick-app .founding-experience .founding-recognition p{max-width:620px;margin:12px auto;color:#5b4b36}
#brick-app .founding-experience .founding-gift{border-top:1px solid var(--line);padding:22px 0 12px}
#brick-app .founding-experience .founding-privileges{margin:24px 0;padding:20px;background:#eee5d5;border-left:3px solid #ad8c50}
#brick-app .founding-experience .founding-privileges p{font-size:14px;line-height:1.65}
@media(max-width:480px){#brick-app .founding-experience .stat b{font-size:23px}#brick-app .founding-experience .founding-recognition{padding:22px 16px}}

/* Customer completion: place (0–1.1s), impress (1.1–1.8s), celebrate (after 1.8s).
   The approved picture includes sparks spilling onto bricks 10 and 14.
   Matching texture windows conceal that spill until the celebration phase. */
#brick-app .customer-completion-sequence .completion-spill-cover,
#brick-app .customer-completion-sequence .completion-bare,
#brick-app .customer-completion-sequence .completion-plain-face,
#brick-app .customer-completion-sequence .completion-carving,
#brick-app .customer-completion-sequence .completion-celebration{position:absolute;inset:0;overflow:hidden}
#brick-app .customer-completion-sequence .spill-above{top:74%}
#brick-app .customer-completion-sequence .spill-left{left:91%}
/* Feather the temporary plain texture; it must never form a rectangular patch. */
#brick-app .customer-completion-sequence .completion-plain-face{inset:30% 13% 15%;mask-image:radial-gradient(ellipse at center,#000 38%,transparent 72%);-webkit-mask-image:radial-gradient(ellipse at center,#000 38%,transparent 72%)}
/* Original carving pixels stay opaque, including every tail. Only the surrounding
   texture fades into the brick; no hard rectangular crop or image panel. */
#brick-app .customer-completion-sequence .completion-carving{opacity:0;filter:url(#customer-carving-ink);mask-image:linear-gradient(to right,transparent 24%,#000 31%,#000 70%,transparent 77%),linear-gradient(to bottom,transparent 5%,#000 14%,#000 87%,transparent 96%);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent 24%,#000 31%,#000 70%,transparent 77%),linear-gradient(to bottom,transparent 5%,#000 14%,#000 87%,transparent 96%);-webkit-mask-composite:source-in}
#brick-app .customer-completion-sequence .completion-celebration{opacity:0}
#brick-app .customer-completion-sequence.art-complete .completion-carving{animation:customer-mark-impress .7s 1.1s both}
#brick-app .customer-completion-sequence.art-complete .completion-celebration{animation:customer-celebrate .35s 1.8s both}
#brick-app .customer-completion-sequence.art-complete .completion-spill-cover{animation:customer-clear-spill .35s 1.8s both}
@keyframes customer-mark-impress{from{opacity:0}to{opacity:1}}
@keyframes customer-celebrate{from{opacity:0}to{opacity:1}}
@keyframes customer-clear-spill{from{opacity:1}to{opacity:0}}
/* Reduced motion keeps the same ordered reveals, without travel, fades or flashes. */
#brick-app.reduced .customer-completion-sequence.art-complete .completion-carving{animation:customer-mark-impress .001s 1.1s step-end both}
#brick-app.reduced .customer-completion-sequence.art-complete .completion-celebration{animation:customer-celebrate .001s 1.801s step-end both}
#brick-app.reduced .customer-completion-sequence.art-complete .completion-spill-cover{animation:customer-clear-spill .001s 1.801s step-end both}
@media(prefers-reduced-motion:reduce){
#brick-app .customer-completion-sequence.art-complete .completion-carving{animation:customer-mark-impress .001s 1.1s step-end both}
#brick-app .customer-completion-sequence.art-complete .completion-celebration{animation:customer-celebrate .001s 1.801s step-end both}
#brick-app .customer-completion-sequence.art-complete .completion-spill-cover{animation:customer-clear-spill .001s 1.801s step-end both}
}

/* Administration only: one task at a time, comfortable phone controls. */
#brick-app .admin-experience .split{display:block}
#brick-app .admin-experience summary{padding:16px 4px;min-height:48px;font-weight:600}
#brick-app .admin-experience button{min-height:44px;white-space:normal}
#brick-app .admin-experience input,#brick-app .admin-experience select{font-size:16px;min-height:44px;max-width:100%}
#brick-app .admin-experience .entry{overflow-wrap:anywhere}
#brick-app .admin-experience .entry>div{min-width:0;width:100%}
@media(max-width:600px){#brick-app .admin-experience .controls-grid{grid-template-columns:1fr}#brick-app .admin-experience .row{align-items:flex-start}#brick-app .admin-experience .entry form button{width:100%;margin-top:8px}}

#brick-app .admin-experience textarea{width:100%;max-width:100%;box-sizing:border-box;font:16px/1.6 system-ui,sans-serif;padding:12px;background:#fffdf7;color:#183246;border:1px solid #c8bba2;border-radius:6px;resize:vertical}
#brick-app .admin-experience .request-original{white-space:pre-wrap}
#brick-app .admin-section-tabs{margin-bottom:24px;gap:8px}
