:root{--ink:#223c34;--muted:#68746d;--cream:#f7f5ee;--line:#dddeda;--accent:#9a583c;--green:#274c3d}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,textarea{font:inherit}button{min-height:52px;padding:12px 20px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:hover:not(:disabled){border-color:var(--green);box-shadow:0 2px 8px #223c3410}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #b56b40;outline-offset:4px}.primary{background:var(--green);color:white;border-color:var(--green)}.quiet{background:transparent}header{display:flex;gap:28px;align-items:center;padding:18px 5vw;background:#fff}header img{width:185px;height:65px;object-fit:contain}.studio{border-left:1px solid var(--line);padding-left:28px;font-size:12px;letter-spacing:2px}.studio small{display:block;letter-spacing:0;font-size:15px;margin-top:4px;color:var(--muted)}header>button{margin-left:auto}.brandline{text-align:center;border-top:1px solid #eee;border-bottom:1px solid var(--line);padding:10px;font-size:10px;letter-spacing:1.5px;background:#fff}.brandline strong{font-size:16px;letter-spacing:0;margin:0 15px}.brandline span{color:#a7aaa1}#steps{display:flex;max-width:1050px;margin:24px auto;gap:8px;padding:0 20px}#steps button{flex:1;border:0;background:transparent;padding:8px;font-size:14px;min-height:48px;display:flex;align-items:center;gap:9px;justify-content:center}#steps b{display:inline-flex;border:1px solid #b9c2b9;border-radius:50%;width:28px;height:28px;align-items:center;justify-content:center}#steps button[aria-current=step]{color:var(--accent);font-weight:700}#steps button[aria-current=step] b{background:var(--accent);color:#fff;border-color:var(--accent)}main{max-width:1280px;padding:0 32px 140px;margin:auto}h1{font:normal 48px/1.12 Georgia,serif;letter-spacing:-1.5px;margin:12px 0}h2{font:normal 29px/1.2 Georgia,serif;margin:12px 0}h3{font-size:19px;margin:8px 0}.eyebrow{font-size:11px;color:var(--accent);font-weight:700;letter-spacing:2.5px}.lead{color:var(--muted);max-width:720px;margin:14px 0 24px}.topline{display:flex;align-items:end;justify-content:space-between;gap:30px}.pills{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.pills button[aria-pressed=true]{background:var(--green);color:#fff}.search{width:100%;max-width:500px;border:1px solid #ccd3cc;background:white;border-radius:10px;padding:15px 18px;min-height:54px;margin:10px 0 22px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.space{padding:0;text-align:left;overflow:hidden;background:white;border:2px solid transparent;box-shadow:0 1px 0 #d9ddd7}.space svg{display:block;width:100%;height:auto}.space span{display:block;padding:12px 16px;font-size:16px;font-weight:600}.selected{border:2px solid var(--green)!important;box-shadow:0 0 0 3px #274c3d15!important}.space.selected span:after,.style.selected h3:after{content:'✓';float:right}.upload{border:1px dashed #95a695;background:#eef2eb;padding:23px;border-radius:14px;margin:24px 0}.upload label{font-weight:600;display:block;margin-bottom:10px}.upload input{max-width:100%}.upload input::file-selector-button{padding:12px 20px;border:1px solid #abc0af;background:#fff;border-radius:8px;font:inherit;margin-right:12px;cursor:pointer}.photothumb{max-width:260px;max-height:160px;object-fit:contain;display:block;margin:12px 0}.note{font-size:13px;color:var(--muted);line-height:1.5}.stylegrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.style{text-align:left;padding:22px;min-height:155px}.style p{font-size:14px;color:var(--muted);margin:8px 0}.palette{display:flex;gap:4px;margin-bottom:15px}.palette i{height:12px;width:40px;border-radius:3px}.custom{display:block;width:100%;padding:16px;border:1px solid #c6cfc5;border-radius:12px;min-height:100px;background:#fff}.types{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.type{text-align:left;padding:26px;min-height:150px}.type .number{font:28px Georgia;color:var(--accent)}.type p{color:var(--muted);font-size:14px}.boardgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.board{background:white;border:2px solid #e1e4dd;border-radius:18px;overflow:hidden}.board>svg{display:block;width:100%}.boardbody{padding:20px}.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.product img{width:100%;height:85px;object-fit:cover;background:#f0f0e9;border-radius:7px}.product strong{display:block;font-size:12px;line-height:1.4}.product small{display:block;color:var(--muted);font-size:11px}.role{font-size:10px;letter-spacing:1px;color:var(--accent);text-transform:uppercase}.missing{background:#eee;padding:14px;font-size:12px;border-radius:8px}.board button{width:100%}.board summary{font-size:13px;cursor:pointer;padding:10px 0}.board details p{font-size:12px}.empty,.panel{background:white;border:1px solid var(--line);padding:30px;border-radius:14px;margin:22px 0}.summary{display:grid;grid-template-columns:1.3fr 1fr;gap:26px}.summary svg{width:100%;border-radius:16px;display:block}.summary .panel{margin:0}.selection-list{display:grid;gap:14px;padding:0;list-style:none}.selection-list li{border-bottom:1px solid #eee;padding-bottom:12px}.selection-list small{display:block;color:var(--muted)}.output{margin-top:22px}.output svg{display:block;width:100%;border-radius:16px}.busy{padding:20px;background:#eef2e9}.warn{color:#89572f;background:#f8efdf;padding:17px;border-radius:10px}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}footer{position:fixed;bottom:0;width:100%;background:#fffffff2;backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:15px 5vw;display:flex;align-items:center;gap:20px;z-index:5}footer .progress{flex:1;color:var(--muted);font-size:14px}#notice{position:fixed;right:24px;bottom:95px;background:#fff3e2;max-width:420px;border:1px solid #c28b4c;padding:20px;z-index:8;border-radius:12px}dialog{border:1px solid var(--line);border-radius:18px;padding:30px;max-width:480px}dialog::backdrop{background:#1c2c2470}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:absolute;left:0;top:-100px}.skip:focus{top:0;background:white;z-index:99;padding:10px}.space-note{display:inline-flex;gap:10px;color:var(--muted);font-size:13px}.tag{background:#e7ece3;border-radius:6px;padding:4px 8px}.scene-error{background:#fff1e1;padding:16px}.privacy-note{font-size:13px;color:var(--muted);margin:0}@media(max-width:900px){.grid{grid-template-columns:repeat(3,1fr)}.stylegrid,.types{grid-template-columns:repeat(2,1fr)}h1{font-size:38px}.topline{display:block}.summary{grid-template-columns:1fr}.studio{display:none}}@media(max-width:600px){header{padding:12px 20px}header img{width:150px}main{padding:0 18px 130px}.grid,.stylegrid,.types,.boardgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.boardgrid{grid-template-columns:1fr}#steps{padding:0 8px;gap:0}#steps button{font-size:10px;flex-direction:column;gap:3px}h1{font-size:34px}.brandline strong{margin:0 8px;font-size:14px}.style{padding:15px}.progress{display:none}footer{justify-content:space-between}footer button{flex:1}}
/* Photographic direction aligned with the reviewed AFS and I&S references. */
h1,h2,h3{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:-.035em}h1{font-size:clamp(30px,4vw,52px)}.brand{padding-top:16px;padding-bottom:16px}.space-photo{display:block;width:100%;height:220px;object-fit:cover}.photo-credit{display:block;font-size:11px;padding:8px 14px;color:#68726b;text-align:left}.photo-awaiting{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#edeae2;color:#34483c;gap:12px}.photo-awaiting small{font-size:13px;font-weight:400}.board-photo{margin:0}.board-photo img{width:100%;height:340px;display:block;object-fit:cover}.board-photo figcaption{font-size:12px;padding:12px 24px;color:#657167;line-height:1.5}.board-photo-unavailable{padding:30px;background:#eeeae0;font-size:22px}.render-pending{border:1px solid #d7dacf;padding:24px;border-radius:16px;background:#f5f4ed}.boardbody{background:#f1eee5}.board .products{grid-template-columns:1.2fr 1fr 1fr}.board .product img{height:190px;object-fit:cover}.summary .board-photo img{height:440px}.space>span{padding:14px}.space .photo-awaiting span{padding:0}.board.selected{outline:3px solid #35533e}
header{padding:10px 4vw}header img{height:50px;width:160px}#steps{margin:12px auto}main{padding-top:0}.lead{margin:10px 0 16px}.upload{padding:14px 18px;margin:16px 0;display:flex;gap:10px 20px;align-items:center;flex-wrap:wrap}.upload label{margin:0}.upload .privacy-note{font-size:12px;flex-basis:100%;margin:0}.upload #photo-error:empty{display:none}h1{font-size:clamp(28px,3vw,40px)}.space-photo{height:180px}.photo-awaiting{min-height:180px}
.generated-room{display:block;width:100%;height:auto;border-radius:20px}.render-pending label{display:block;line-height:1.6;margin:16px 0}.render-pending input[type=checkbox]{width:24px;height:24px;vertical-align:middle;margin-right:10px}#render-error{color:#9b291c}

/* Established Larry brand character, cropped from the original logo. */
.larry-wait[hidden]{display:none}.larry-wait{margin-top:18px;padding:18px;border-radius:14px;background:#fff;border:1px solid #d7dacf}.larry-character{position:relative;overflow:hidden;width:125px;height:165px;margin:0 auto;transform-origin:50% 100%}.larry-character img{position:absolute;width:640px!important;max-width:none;height:200px;left:-502px;top:-16px}.larry-wait.speaking .larry-character{animation:larry-talk .65s ease-in-out infinite alternate}.larry-caption{min-height:110px;font-size:16px}.larry-wait button{margin:4px;min-height:48px}.larry-wait.speaking h3:after{content:' • • •';color:#9a583c}@keyframes larry-talk{from{transform:rotate(-1deg) translateY(0)}to{transform:rotate(1deg) translateY(-3px)}}@media(prefers-reduced-motion:reduce){.larry-wait.speaking .larry-character{animation:none}}

.larry-video-overlay{position:fixed;inset:0;z-index:100;background:#172a22e8;display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}.larry-video-panel{background:#f7f5ee;color:#223c34;padding:18px;border-radius:18px;text-align:center;width:min(600px,100%);max-height:96vh;overflow:auto}.larry-video-panel h2{font-size:24px;margin:4px}.larry-video-panel p{font-size:14px;margin:8px}.larry-video-panel video{display:block;width:100%;height:56vh;object-fit:contain;background:#13251e;transition:opacity .18s ease;border-radius:10px}.larry-video-panel video.transitioning{opacity:0}.larry-video-panel button{margin:4px;min-height:48px}.larry-video-overlay video[hidden]{display:none}@media(prefers-reduced-motion:reduce){.larry-video-panel video{transition:none}}

/* Landscape presentation preserves the complete portrait recording and its one audio stream. */
.larry-video-panel{width:min(1000px,100%)}.larry-landscape{position:relative;aspect-ratio:16/9;width:100%;max-height:65vh;overflow:hidden;border-radius:12px;background:#1e3028}.larry-video-backdrop{position:absolute;inset:-4%;width:108%;height:108%;object-fit:cover;filter:blur(22px) brightness(.7);pointer-events:none}.larry-video-panel .larry-landscape video{position:relative;width:100%;height:100%;max-height:none;object-fit:contain;background:transparent;border-radius:0}.larry-landscape{max-height:none;width:min(100%,115.5vh);margin:auto}@media(max-width:600px){.larry-video-panel{padding:12px}.larry-video-panel h2{font-size:20px}.larry-video-panel button{padding:10px}}

.larry-transparent-overlay{background:#e7ebe5e8}.larry-transparent-panel{width:min(1000px,100%);max-height:95vh;text-align:center;color:#223c34;overflow:auto}.larry-transparent-panel h2{font-size:26px;margin:8px}.larry-transparent-panel p{margin:8px;font-size:15px}.larry-transparent-panel canvas{display:block;width:min(100%,105vh);height:auto;aspect-ratio:16/9;margin:auto;background:transparent}.larry-transparent-panel button{margin:5px;min-height:48px}.larry-transparent-panel video[hidden]{display:none}

/* Local guided redesign: one decision at a time. */
:root{--cream:#f5f5f7;--line:#e1e3e2;--ink:#233c33}header{padding:18px 4vw;gap:14px}header #reset{margin-left:auto}header #ask-larry{margin-left:0}h1{font-size:clamp(32px,4vw,54px);font-weight:650;letter-spacing:-.045em;margin-top:24px}.lead{font-size:19px;margin-bottom:28px}main{max-width:1360px}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.space,.style,.type,.board{border-radius:22px}.space-photo{height:230px}.style-inspiration{width:100%;height:170px;object-fit:cover;border-radius:13px;margin-bottom:15px}.stylegrid{margin-top:24px}.style{padding:16px}.style .palette{margin-top:6px}.boardgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.boardbody{background:white;padding:18px}.board .products{grid-template-columns:1fr}.board .product{display:grid;grid-template-columns:75px 1fr;gap:6px 12px;margin:12px 0}.board .product .role{grid-column:1/-1}.board .product img{width:75px;height:75px;grid-row:2/4}.board .product small{grid-column:2}.swap-actions{display:grid;gap:8px}.swap-actions button{font-size:13px;min-height:44px}.guide-dialog{width:min(720px,94vw);max-width:94vw;max-height:88vh}.swap-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-height:55vh;overflow:auto}.swap-list button{display:flex;align-items:center;gap:12px;text-align:left;font-size:14px}.swap-list img{width:64px;height:64px;object-fit:cover}.room-view{width:96vw;max-width:96vw}.room-view img{display:block;max-width:100%;max-height:75vh;object-fit:contain;margin:auto}.output>button{margin:10px 10px 10px 0}.types{max-width:1000px}.upload{background:white;border:1px solid var(--line);padding:20px}.panel{background:white}.board-photo img{height:220px}#generate-room{width:100%;min-height:64px;font-size:20px}footer{padding-top:18px;padding-bottom:18px}#steps button[aria-current=step]{color:var(--green)}#steps button[aria-current=step] b{background:var(--green);border-color:var(--green)}@media(max-width:1000px){.boardgrid{grid-template-columns:1fr}.board .products{grid-template-columns:repeat(3,1fr)}.board .product{display:block}.board .product img{width:100%;height:120px}.swap-actions{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){header{flex-wrap:wrap;gap:8px}header img{width:130px}header button{padding:10px;font-size:14px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.space-photo{height:160px}.photo-credit{font-size:10px;padding:6px}.style-inspiration{height:130px}.board .products{grid-template-columns:1fr}.board .product{display:grid}.board .product img{width:75px;height:75px}.swap-actions{grid-template-columns:1fr}.swap-list{grid-template-columns:1fr}.lead{font-size:16px}.brandline strong{font-size:13px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.exterior-candidate{border:1px solid var(--line);border-radius:12px;padding:12px}.exterior-candidate img{display:block;width:100%;height:140px;object-fit:contain}.exterior-candidate strong{display:block;font-size:14px;margin-top:10px}

/* Product fidelity review precedes the generation action. */
#product-fidelity{margin:24px 0;padding:22px}#product-fidelity>div{padding:18px 0;border-top:1px solid #d8ddd7}#product-fidelity label{display:block;margin-top:14px;font-weight:600}#product-fidelity select{display:block;width:100%;min-height:48px;margin-top:8px;padding:10px;border:1px solid #a8b7ae;border-radius:10px;background:white;font:inherit;color:inherit}#product-fidelity select:focus-visible{outline:3px solid #316953;outline-offset:3px}
/* Preserve the visible product silhouette rather than cropping formats to squares. */
.product img,.board .product img,.swap-list img{object-fit:contain;background:#f5f5f2}.swap-list span{overflow-wrap:anywhere}#dimension-reference{margin-top:20px}#dimension-reference svg{display:block}
/* Focused kiosk recovery prompt; existing brand colors and touch sizing. */
#kiosk-idle-warning{width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:32px;border:1px solid var(--line);border-radius:24px;background:#fff;color:var(--ink);box-shadow:0 24px 80px #223c3426;text-align:center;overflow:auto}#kiosk-idle-warning::backdrop{background:#223c344d}#kiosk-idle-warning h2{margin:0 0 14px;font:600 26px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.5px}#kiosk-idle-warning p{margin:0 0 24px;color:var(--muted);line-height:1.6}#kiosk-idle-warning button{width:100%;min-height:52px;border-radius:14px;background:var(--green);border-color:var(--green);color:white;font-weight:600}@media(max-width:480px){#kiosk-idle-warning{padding:28px 24px}}
