*{box-sizing:border-box}html,body{margin:0;height:100%;color:#222a27;background:#f6f7f8;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #4c8069;outline-offset:4px}button{color:inherit}header{height:88px;padding:0 38px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e4e7e6;background:#fff}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:#1c4439;font-size:19px;font-weight:650;letter-spacing:3px}.brandmark{display:grid;place-items:center;width:39px;height:44px;border:1px solid #426457;border-radius:20px 20px 3px 3px;font-family:Georgia,serif;font-size:29px;font-weight:400;letter-spacing:0}.brand small{display:block;font-size:9px;letter-spacing:2.5px;margin-top:4px}.headtitle{font-family:Georgia,serif;font-size:20px;color:#66716b}.persian{font-size:20px;color:#365448}main{display:grid;grid-template-columns:280px minmax(0,1fr);height:calc(100dvh - 88px);min-height:640px}.sidebar{padding:34px 22px 20px;background:#fff;border-right:1px solid #e4e7e6;display:flex;flex-direction:column;overflow:auto}.eyebrow{font-size:11px;letter-spacing:1.65px;font-weight:600;color:#7a8780}h1{font-size:27px;font-weight:500;letter-spacing:-1px;margin:12px 0 10px}p{color:#808980;font-size:14px;line-height:1.55}.intro{padding:0 8px 18px}.intro p{margin:0}#plans{display:flex;flex-direction:column;gap:12px}.plancard{width:100%;display:flex;align-items:center;gap:12px;border:1px solid #e6e9e6;border-radius:14px;padding:10px;text-align:left;background:#fff;transition:background .2s,border .2s,transform .2s}.plancard:hover{background:#f7faf8;transform:translateY(-1px)}.plancard.active{border:1.5px solid #315d49;background:#f0f5f1;box-shadow:0 2px 6px #1c443908}.planthumb{width:77px;height:79px;border-radius:8px;background:#fff;object-fit:contain}.cardtext{min-width:0}.cardtext strong{display:block;font-size:15px;font-weight:550}.cardtext small{display:block;font-size:12px;line-height:1.5;color:#79827b;margin-top:5px}.cardtext .planid{font-size:10px;letter-spacing:1px;color:#607369;margin-bottom:4px}.asidefoot{display:flex;gap:12px;margin-top:auto;padding:30px 8px 0;color:#60786b}.asidefoot strong{font-size:13px;font-weight:500}.asidefoot p{font-size:12px;margin:6px 0 0;line-height:1.6}.line-icon{font-size:22px}.workspace{min-width:0;position:relative;display:flex;flex-direction:column;padding:28px 30px 16px;background:radial-gradient(ellipse at 50% 45%,#ffffff,#f3f5f5 75%)}.viewheader{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;z-index:2}.viewheader h2{font-size:25px;letter-spacing:-.7px;font-weight:500;margin:8px 0 0}.segmented{background:#e7ebe8;border:1px solid #e1e6e2;padding:4px;border-radius:11px;display:flex;flex-shrink:0;gap:2px}.segmented button{background:transparent;border:0;border-radius:8px;padding:9px 15px;font-size:13px;color:#67766d}.segmented button.active{background:#fff;box-shadow:0 1px 6px #213d4214;color:#28483e}#stage{position:relative;flex:1;min-height:340px;width:100%;overflow:hidden}#canvas-host,#labels{position:absolute;inset:0}#canvas-host canvas{display:block;width:100%;height:100%;touch-action:none;outline:none}#labels{pointer-events:none}.roomlabel{position:absolute;transform:translate(-50%,-50%);padding:5px 8px;font-size:11px;font-weight:500;border:1px solid #ffffffb0;border-radius:6px;background:#ffffffe0;box-shadow:0 2px 10px #213b3620;white-space:nowrap;pointer-events:auto;color:#40534a;backdrop-filter:blur(8px);transition:background .2s}.roomlabel:hover,.roomlabel.selected{background:#214d3d;color:white;border-color:#214d3d;z-index:4}#reference{position:absolute;inset:3% 0;width:100%;height:94%;object-fit:contain;mix-blend-mode:multiply}#reference[hidden]{display:none}#loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:12px;font-size:14px;color:#698175;background:#f5f7f5;z-index:8}#loading[hidden]{display:none}.spinner{width:21px;height:21px;border:2px solid #d5e2d9;border-top-color:#396b51;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#error{position:absolute;inset:25% 10%;text-align:center;z-index:9;background:#f6f7f8}#error button,#fallback{background:#254c3d;border:none;border-radius:9px;padding:12px 20px;color:#fff}.compass{position:absolute;right:10px;top:20px;display:flex;align-items:center;flex-direction:column;pointer-events:none}.compass span{font-size:12px;color:#6b7e72}.compass svg{width:35px;height:35px}.stagebadge{position:absolute;bottom:18px;left:0;font-size:12px;display:flex;gap:10px;color:#718176;pointer-events:none}.sep{color:#bcc6bf}#room-info{position:absolute;left:0;top:15px;background:#ffffffeb;border:1px solid #e3e9e4;border-radius:12px;padding:13px 45px 13px 16px;box-shadow:0 6px 24px #153e3310;max-width:75%;backdrop-filter:blur(10px)}#room-info strong{display:block;font-size:16px;font-weight:500;margin-top:7px}#room-clear{border:none;background:none;position:absolute;right:8px;top:7px;font-size:24px;color:#819088}.controls{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #dfe6e1;background:#ffffffdf;border-radius:14px;box-shadow:0 6px 24px #21453407;z-index:3;flex-wrap:wrap}.controlgroup{display:flex;align-items:center;gap:5px}.iconbutton{height:36px;min-width:36px;padding:7px 9px;border:none;border-radius:8px;background:none;display:flex;align-items:center;justify-content:center;gap:7px;font-size:13px}.iconbutton svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.iconbutton.active{background:#eaf1ed;color:#214f39}.iconbutton:hover{background:#edf1ee}.divider{width:1px;height:21px;background:#e0e6e2;margin:0 7px}.wallcontrol{display:flex;align-items:center;gap:9px;font-size:12px;color:#63756a}.wallcontrol input{width:85px;accent-color:#305f45;cursor:pointer}.wallcontrol #wall-value{font-size:11px;width:48px}.checklabel{display:flex;align-items:center;gap:5px;font-size:12px;color:#576b5e;cursor:pointer;margin:0 5px}.checklabel input{accent-color:#305f45;width:14px;height:14px}.viewfooter{padding:15px 2px 0;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:11px;color:#8a9690;line-height:1.5}.controls.disabled{opacity:.4;pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1600px){main{grid-template-columns:320px minmax(0,1fr)}.sidebar{padding:40px 28px}.plancard{padding:16px}.planthumb{width:85px;height:88px}.workspace{padding:36px 46px 22px}.controls{padding:14px}.checklabel,.wallcontrol{font-size:14px}}@media(max-width:1100px){main{grid-template-columns:240px minmax(0,1fr)}.sidebar{padding:28px 15px}.planthumb{width:61px;height:68px}.workspace{padding:25px 20px 15px}.options{width:100%;justify-content:center;padding-top:7px;border-top:1px solid #edf0ee}.controls>.controlgroup:first-child{margin:auto}.headtitle{font-size:18px}}@media(max-width:700px){header{height:66px;padding:0 20px}.headtitle{display:none}.brand{font-size:16px}.brandmark{height:35px;width:30px;font-size:25px}.brand small{font-size:8px}.persian{font-size:17px}main{display:flex;flex-direction:column;height:calc(100dvh - 66px);min-height:690px}.sidebar{padding:12px 16px;border-right:0;border-bottom:1px solid #e4e7e6;overflow:visible}.intro,.asidefoot{display:none}#plans{flex-direction:row;gap:8px}.plancard{flex:1;min-width:0;padding:7px 3px;gap:3px;flex-direction:column;text-align:center;border-radius:10px}.planthumb{height:45px;width:65px}.cardtext strong{font-size:12px}.cardtext .planid,.cardtext small{display:none}.workspace{padding:17px 15px 13px;flex:1}.viewheader{gap:8px}.viewheader .eyebrow{font-size:9px;letter-spacing:1px}.viewheader h2{font-size:20px;margin-top:5px}.segmented button{padding:8px 9px;font-size:12px}.segmented{padding:3px}#stage{min-height:300px}.stagebadge{font-size:10px;bottom:10px;gap:7px}.roomlabel{font-size:10px;padding:4px 6px}.compass{right:0;top:12px}.controls{gap:6px;padding:8px}.iconbutton{min-height:38px;min-width:40px}.controlgroup{gap:4px}.wallcontrol{gap:5px}.wallcontrol input{width:65px}.wallcontrol #wall-value{display:none}.checklabel{font-size:12px;margin:0 3px}.viewfooter{font-size:10px;gap:5px;justify-content:center;text-align:center;padding-top:9px}.viewfooter span{width:100%}.divider{margin:0 5px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.spinner{animation:none}}

/* Keep the working controls readable on touch screens. */
.segmented button,.iconbutton,.wallcontrol,.checklabel{font-size:14px}.roomlabel{font-size:12px}.viewfooter,.stagebadge{font-size:12px}.cardtext strong{font-size:15px}.brand small{font-size:10px}.eyebrow{font-size:12px}.viewheader .eyebrow{font-size:12px}.cardtext .planid{font-size:12px}@media(max-width:700px){.cardtext strong{font-size:13px}.roomlabel{font-size:12px}.segmented button{font-size:13px}.viewheader .eyebrow{font-size:10px}.viewfooter{font-size:12px}.stagebadge{font-size:12px}.controls .options{gap:3px}.checklabel{font-size:13px}.wallcontrol{font-size:13px}}

/* Refined exploration surface. */
.roomchooser{margin:24px 7px 0}.roomchooser label{display:block;font-size:12px;letter-spacing:1.3px;font-weight:600;color:#75847a;margin-bottom:10px}.roomchooser select{width:100%;min-height:44px;padding:10px 30px 10px 12px;border:1px solid #d7e1d9;border-radius:10px;color:#254a37;background:#f8faf8;font:inherit;font-size:14px;cursor:pointer}.roomsteps{display:flex;gap:8px;border-top:1px solid #ffffff24;padding-top:12px;margin-top:14px}.roomsteps button{flex:1;border:1px solid #ffffff30;color:#fff;background:#ffffff0d;border-radius:7px;padding:8px 9px;font-size:13px}.roomsteps button:hover{background:#ffffff25}#room-info{max-width:270px;background:#1c3d31f5;color:#fff;border:1px solid #dce5dd20;padding:17px 18px;box-shadow:0 10px 35px #18362a20;border-radius:15px}#room-info .eyebrow{color:#b8c9bf;font-size:11px}#room-info strong{font-size:20px;padding-right:18px;margin-top:10px}#room-description{font-size:14px;color:#d0dcd5;line-height:1.5;margin:9px 0 0}#room-clear{color:#cadbd0;right:9px}.roomlabel{border-radius:7px;padding:6px 9px;background:#fffef9ed;border-color:#e4e8dc;box-shadow:0 3px 12px #2e413314}.roomlabel.selected{box-shadow:0 0 0 3px #396b5022;background:#214b37}.workspace{background:radial-gradient(ellipse at 50% 42%,#fff 20%,#f0f3f1 90%)}.plancard.active{box-shadow:0 4px 15px #2c57360b}.intro h1{font-size:25px}.controls{border-radius:16px;box-shadow:0 8px 30px #1e3d2b09}.viewfooter{color:#738478}.headtitle{font-family:inherit;font-size:15px;font-weight:450;color:#708276}.asidefoot{padding-top:22px}.iconbutton{min-height:40px}.options{row-gap:12px}.viewheader h2{font-size:28px;font-weight:500}@media(max-width:700px){.roomchooser{margin:10px 0 0;display:flex;align-items:center;gap:12px}.roomchooser label{font-size:10px;margin:0;min-width:66px;letter-spacing:1px}.roomchooser select{font-size:14px;min-height:37px;padding:7px 10px}.viewheader h2{font-size:21px}#room-info{top:auto;bottom:34px;max-width:210px;padding:12px 14px}#room-info strong{font-size:17px;margin-top:6px}#room-description{font-size:12px;margin-top:6px}.roomsteps{padding-top:8px;margin-top:9px;gap:6px}.roomsteps button{font-size:12px;padding:7px}.roomlabel{padding:5px 7px}main{min-height:770px}.workspace{padding-top:14px}.stagebadge{font-size:11px}.viewfooter{font-size:11px}.roomchooser select:focus{outline-offset:2px}}

/* ── Site integration: Estedad, the brand palette, right-to-left layout, and no duplicate
   header when the viewer sits inside the site's iframe. ── */
@font-face{font-family:'Estedad';src:url('../assets/fonts/Vazirmatn-normal-arabic.woff2') format('woff2');font-weight:100 900;font-display:swap}
html,body{font-family:'Estedad',system-ui,sans-serif;background:#F4F0E8;color:#20211F}
[lang="en"]{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
/* Any non-zero letter-spacing breaks the joins between Persian letters. */
h1,h2,h3,.intro h1,.viewheader h2,.cardtext strong,.roomlabel,#room-info strong{letter-spacing:0}
header{background:#F4F0E8;border-bottom-color:rgba(32,33,31,.12)}
.brand{flex-direction:column;align-items:flex-start;gap:4px;color:#0B2923;letter-spacing:0;font-size:17px;font-weight:500}
.brand-en{font-size:9px;letter-spacing:.26em;text-transform:uppercase;opacity:.7}
.backlink{color:#0B2923;font-size:14px;text-decoration:none;padding-block:4px;border-bottom:1px solid rgba(11,41,35,.3)}
.backlink:hover{border-bottom-color:#0B2923}
.embedded header{display:none}
.embedded main{height:100vh;height:100dvh;min-height:0}
.sidebar{background:#FAF9F6;border-right:0;border-left:1px solid rgba(32,33,31,.1)}
.workspace{background:radial-gradient(ellipse at 50% 42%,#FAF9F6 20%,#F4F0E8 90%)}
.plancard{text-align:right;background:#FAF9F6}
.plancard.active{border-color:#0B2923;background:#EFEBE2}
.cardtext .planid{color:#76592F}
.eyebrow,.roomchooser label{color:#686866}
.segmented{background:#E8E2D6;border-color:#E1DACC}
.segmented button.active,.iconbutton.active{color:#0B2923}
.iconbutton.active{background:#E8E2D6}
.roomlabel{color:#0B2923}
.roomlabel.selected,#room-info{background:#0B2923}
#error button,#fallback{background:#0B2923}
.wallcontrol input,.checklabel input{accent-color:#0B2923}
#room-clear{right:auto;left:9px}
#room-info strong{padding-right:0;padding-left:18px}
.stagebadge,.viewfooter{color:#686866}

/* ── Walkthrough, evening mood and gallery links ── */
#walk-hud[hidden],.roomphoto[hidden],.walkphoto[hidden]{display:none}
#walk-hud{position:absolute;inset:auto 0 14px 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 12px;padding:0 12px;pointer-events:none;z-index:6}
#walk-hud>*{pointer-events:auto}
.walkroom{padding:7px 14px;border-radius:999px;background:#0B2923e8;color:#F4F0E8;font-size:14px;font-weight:500}
.walkroom:empty{display:none}
.walkhelp{margin:0;padding:7px 12px;border-radius:9px;background:#fffef9e8;color:#20211F;font-size:12px;line-height:1.6}
.walkphoto{padding:8px 12px;border-radius:9px;background:#76592F;color:#F4F0E8;font-size:13px;text-decoration:none}
#walk-exit{padding:8px 14px;border:1px solid #0B2923;border-radius:9px;background:#F4F0E8;color:#0B2923;font-size:13px}
.is-walking #canvas-host canvas{cursor:grab}
.is-walking .stagebadge,.is-walking #room-info{display:none}
.controlgroup.modes{gap:5px}
.roomphoto{display:flex;align-items:center;gap:10px;margin-top:12px;padding:8px;border-radius:10px;background:#ffffff14;color:#F4F0E8;text-decoration:none}
.roomphoto:hover{background:#ffffff24}
.roomphoto img{width:64px;height:48px;object-fit:cover;border-radius:6px;flex-shrink:0}
.roomphoto span{font-size:13px;line-height:1.5}
.roomphoto small{display:block;font-size:11px;opacity:.72}
.is-night .workspace{background:radial-gradient(ellipse at 50% 42%,#1f3b34 10%,#0B2923 85%)}
.is-night .viewheader h2,.is-night .viewheader .eyebrow,.is-night .stagebadge,.is-night .viewfooter,.is-night .compass span{color:#E8E2D6}
.is-night .segmented{background:#ffffff1a;border-color:#ffffff24}
.is-night .segmented button{color:#E8E2D6}
.is-night .segmented button.active{background:#F4F0E8;color:#0B2923}
@media(max-width:700px){.walkhelp{font-size:11px}#walk-hud{bottom:10px}#fullscreen span{display:none}}
main:fullscreen,main:-webkit-full-screen{width:100%;height:100%;min-height:0;background:#F4F0E8}
.langbtn{font:inherit;font-size:13px;font-weight:600;min-width:42px;height:34px;border:1px solid rgba(11,41,35,.3);border-radius:99px;background:transparent;color:#0B2923;cursor:pointer;padding:0 12px}
.langbtn:hover{background:#0B2923;color:#F4F0E8}
html[lang="en"] body{font-family:Inter,"Vazirmatn",system-ui,sans-serif}
