/* VV-REL-20260925-037 · VistaView Catalog · forest + champagne gold · Italiana/Inter · thin gold frames (MLS/home + Area Intel language) */
:root{--bg0:#0A1A17;--bg:#0C271F;--bg2:#12362B;--card:#0F2E25;--gold:#F0D488;--gold2:#C69A3F;--gold3:#D4AF37;--fg:#F3ECD6;--muted:#9FB3A8;--dim:#6F8A7E;--line:rgba(214,175,90,.24);--line2:rgba(214,175,90,.45);--ivory:#F7F3E6;--ok:#4FBE8C;--danger:#E2685B;
--r:14px;--r2:10px;--ease:cubic-bezier(.16,1,.3,1);--hdr:60px;--safe-b:env(safe-area-inset-bottom,0px);--disp:'Italiana','Cormorant Garamond','Times New Roman',serif;--body:'Inter',-apple-system,'SF Pro Text','Segoe UI',Roboto,Arial,sans-serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 12px)}
body{margin:0;background:radial-gradient(1200px 600px at 80% -10%,rgba(240,212,136,.07),transparent 60%),linear-gradient(180deg,var(--bg) 0,var(--bg0) 520px);background-color:var(--bg0);color:var(--fg);font:14px/1.5 var(--body);-webkit-font-smoothing:antialiased;min-height:100vh;overscroll-behavior-y:none}
a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}
img{display:block;max-width:100%}.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:6px}
/* header */
.hdr{position:sticky;top:0;z-index:50;height:var(--hdr);display:flex;align-items:center;gap:10px;padding:0 max(14px,env(safe-area-inset-left));background:rgba(10,26,23,.86);-webkit-backdrop-filter:saturate(140%) blur(14px);backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid var(--line)}
.hdr .brand{display:flex;align-items:center;gap:10px;min-width:0;flex:0 0 auto;height:44px}
.hdr .brand img{width:30px;height:32px}.hdr .brand b{font:400 22px/1 var(--disp);letter-spacing:.04em;color:var(--gold);white-space:nowrap}
.hdr .brand small{display:block;font:600 9.5px/1 var(--body);letter-spacing:.22em;color:var(--muted);text-transform:uppercase;margin-top:3px}
.sbox{flex:1 1 auto;position:relative;max-width:720px;margin:0 auto}
.sbox input{width:100%;height:44px;border-radius:999px;border:1px solid var(--line2);background:rgba(18,54,43,.75);padding:0 44px 0 42px;font-size:15px;outline:none;transition:border-color .15s,box-shadow .15s}
.sbox input::placeholder{color:var(--dim)}.sbox input::-webkit-search-cancel-button,.sbox input::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none}.sbox input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(240,212,136,.14)}
.sbox .ico{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;opacity:.8;pointer-events:none}
.sbox .clr{position:absolute;right:4px;top:4px;width:36px;height:36px;border-radius:50%;border:0;background:transparent;color:var(--muted);font-size:20px;display:none}
.sbox.has .clr{display:block}
.hbtn{flex:0 0 auto;min-width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:rgba(18,54,43,.55);display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;position:relative;font-size:13px;font-weight:600}
.hbtn svg{width:20px;height:20px}.hbtn .n{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;border-radius:9px;background:var(--gold);color:#0a1a10;font-size:10.5px;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 4px}
.hbtn .n:empty{display:none}
.suggest{position:absolute;left:0;right:0;top:50px;background:#0E2C23;border:1px solid var(--line2);border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.55);overflow:hidden;display:none;z-index:60;max-height:min(70vh,520px);overflow-y:auto}
.suggest.on{display:block}.suggest .row{display:flex;align-items:center;gap:12px;padding:8px 12px;min-height:52px;border-bottom:1px solid rgba(214,175,90,.1);cursor:pointer}
.suggest .row:hover,.suggest .row.act{background:rgba(240,212,136,.07)}.suggest .row img{width:40px;height:40px;border-radius:8px;object-fit:contain;background:var(--ivory)}
.suggest .row .tt{font-size:13.5px;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.suggest .row .mm{font-size:11.5px;color:var(--muted)}
.suggest .hd{font:700 10.5px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--gold2);padding:12px 12px 6px}
.suggest .chips{display:flex;flex-wrap:wrap;gap:8px;padding:6px 12px 12px}
/* layout */
.wrap{max-width:1360px;margin:0 auto;padding:0 max(14px,env(safe-area-inset-left)) 40px}
.hero{padding:34px 0 10px;display:grid;gap:10px}
.hero h1{font:400 clamp(34px,6vw,58px)/1.02 var(--disp);letter-spacing:.02em;margin:0;color:var(--fg)}
.hero h1 em{font-style:normal;color:var(--gold)}.hero p{margin:0;color:var(--muted);max-width:760px;font-size:15px}
.kicker{font:700 11px/1 var(--body);letter-spacing:.24em;text-transform:uppercase;color:var(--gold2)}
.sec{margin:30px 0 8px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.sec h2{font:400 clamp(24px,3.2vw,32px)/1.1 var(--disp);letter-spacing:.02em;margin:0}.sec p{margin:4px 0 0;color:var(--muted);font-size:13px}
.sec .more{flex:0 0 auto;font-weight:600;font-size:13px;color:var(--gold);min-height:44px;display:inline-flex;align-items:center;padding:0 4px}
/* gold frame w/ corner ticks */
.frame{position:relative;border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(180deg,rgba(18,54,43,.55),rgba(12,39,31,.45))}
.frame:before,.frame:after{content:"";position:absolute;width:18px;height:18px;border:2px solid var(--gold3);pointer-events:none;opacity:.75}
.frame:before{top:-1px;left:-1px;border-right:0;border-bottom:0;border-top-left-radius:var(--r)}.frame:after{bottom:-1px;right:-1px;border-left:0;border-top:0;border-bottom-right-radius:var(--r)}
/* tiles */
.tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.tile{display:flex;flex-direction:column;overflow:hidden;border-radius:var(--r);border:1px solid var(--line);background:var(--card);min-height:44px;transition:transform .25s var(--ease),border-color .2s}
.tile:hover{transform:translateY(-2px);border-color:var(--line2)}
.tile .im{aspect-ratio:4/3;background:var(--ivory);display:flex;align-items:center;justify-content:center;overflow:hidden}.tile .im img{width:100%;height:100%;object-fit:contain;padding:10px}
.tile .lb{padding:10px 12px 12px}.tile .lb b{display:block;font-weight:650;font-size:14px}.tile .lb span{font-size:12px;color:var(--muted)}
.rooms{display:grid;grid-template-columns:repeat(8,1fr);gap:10px}
.room{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--card);aspect-ratio:1/1.08;display:flex;align-items:flex-end}
.room img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--ivory);padding:14px 14px 44px}
.room span{position:relative;width:100%;padding:10px 12px;background:linear-gradient(0deg,rgba(10,26,23,.96),rgba(10,26,23,.75));font-weight:650;font-size:13px}
.room span small{display:block;font-weight:500;color:var(--muted);font-size:11px}
/* rails */
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,210px);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 12px;scrollbar-width:thin;scrollbar-color:var(--gold2) transparent;overscroll-behavior-x:contain}
.rail>*{scroll-snap-align:start}
/* cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.card{position:relative;display:flex;flex-direction:column;border-radius:var(--r);border:1px solid var(--line);background:var(--card);overflow:hidden;transition:transform .28s var(--ease),border-color .2s,box-shadow .28s var(--ease);content-visibility:auto;contain-intrinsic-size:220px 360px}
.card:hover{transform:translateY(-3px);border-color:var(--line2);box-shadow:0 18px 40px rgba(0,0,0,.35)}
.card .im{position:relative;aspect-ratio:1/1;background:var(--ivory);overflow:hidden}
.card .im img{width:100%;height:100%;object-fit:contain;padding:12px;opacity:0;transition:opacity .35s ease,transform .5s var(--ease)}
.card .im img.ld{opacity:1}.card:hover .im img{transform:scale(1.03)}
.card .im .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:400 30px var(--disp);color:#b9ab80;letter-spacing:.06em}
.card .bd{padding:10px 12px 12px;display:flex;flex-direction:column;gap:3px;flex:1}
.card .br{font:700 10.5px/1.2 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--gold2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:13px}
.card .tt{font-size:13.5px;line-height:1.35;color:var(--fg);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:36px}
.card .pr{margin-top:auto;padding-top:6px;display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.card .pr b{font-size:16px;font-weight:700;letter-spacing:-.01em}.card .pr small{font-size:11px;color:var(--muted);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.badges{position:absolute;left:8px;top:8px;display:flex;gap:6px;flex-wrap:wrap;z-index:2}
.bdg{font:700 10px/1 var(--body);letter-spacing:.06em;padding:5px 7px;border-radius:999px;background:rgba(10,26,23,.82);color:var(--gold);border:1px solid rgba(240,212,136,.45);text-transform:uppercase}
.bdg.v{color:#0a1a10;background:linear-gradient(135deg,var(--gold),var(--gold2));border:0}
.heart{position:absolute;right:6px;top:6px;z-index:2;width:40px;height:40px;border-radius:50%;border:1px solid rgba(214,175,90,.35);background:rgba(10,26,23,.7);display:flex;align-items:center;justify-content:center}
.heart svg{width:18px;height:18px;fill:none;stroke:var(--gold);stroke-width:1.8}.heart.on svg{fill:var(--gold)}
.list .grid{grid-template-columns:1fr}.list .card{flex-direction:row;contain-intrinsic-size:600px 150px}.list .card .im{width:150px;flex:0 0 150px;aspect-ratio:1/1}.list .card .tt{-webkit-line-clamp:3}.list .card .bd{padding-right:54px}
/* results */
.res{display:grid;grid-template-columns:260px 1fr;gap:22px;padding-top:18px}
.side{position:sticky;top:calc(var(--hdr) + 12px);align-self:start;max-height:calc(100vh - var(--hdr) - 24px);overflow:auto;padding:14px;scrollbar-width:thin}
.bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.bar .cnt{font-size:13px;color:var(--muted);margin-right:auto}.bar .cnt b{color:var(--fg)}
.sel{height:44px;border-radius:12px;border:1px solid var(--line);background:rgba(18,54,43,.7);padding:0 12px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:12px;overflow:hidden}.seg button{width:44px;height:42px;border:0;background:transparent;color:var(--muted)}.seg button.on{background:rgba(240,212,136,.14);color:var(--gold)}
.fbtn{display:none}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:rgba(18,54,43,.7);font-size:12.5px;font-weight:600;white-space:nowrap}
.chip.on,.chip:hover{border-color:var(--gold);color:var(--gold)}.chip.x:after{content:"×";font-size:15px;margin-left:2px;opacity:.8}
.fg{border-bottom:1px solid rgba(214,175,90,.14);padding:10px 0}.fg:last-child{border:0}
.fg>button{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:0;padding:6px 0;min-height:40px;font:700 11px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--gold2)}
.fg>button:after{content:"+";font-size:16px;color:var(--muted)}.fg.open>button:after{content:"–"}
.fg .opts{display:none;padding:4px 0 6px}.fg.open .opts{display:block}
.opt{display:flex;align-items:center;gap:10px;min-height:38px;padding:2px 2px;border-radius:8px;cursor:pointer;font-size:13.5px}
.opt input{appearance:none;-webkit-appearance:none;width:18px;height:18px;border-radius:5px;border:1.5px solid var(--line2);flex:0 0 auto;display:grid;place-content:center;margin:0}
.opt input:checked{background:var(--gold);border-color:var(--gold)}.opt input:checked:after{content:"";width:9px;height:5px;border:2px solid #0a1a10;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
.opt span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opt em{font-style:normal;color:var(--dim);font-size:12px}
.opt.zero{opacity:.4}.showall{background:none;border:0;color:var(--gold);font-weight:600;font-size:12.5px;min-height:36px;padding:0}
.prange{display:flex;gap:8px;align-items:center}.prange input{width:100%;height:40px;border-radius:10px;border:1px solid var(--line);background:rgba(18,54,43,.7);padding:0 10px}
.empty{padding:40px 20px;text-align:center}.empty h3{font:400 30px/1.1 var(--disp);margin:0 0 8px}.empty p{color:var(--muted);margin:0 0 16px}
.dym{font-size:15px;margin:0 0 14px}.dym a{color:var(--gold);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.skel{border-radius:var(--r);background:linear-gradient(90deg,rgba(240,212,136,.05),rgba(240,212,136,.13),rgba(240,212,136,.05));background-size:200% 100%;animation:sh 1.3s ease infinite}
@keyframes sh{0%{background-position:200% 0}100%{background-position:-200% 0}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:12px;border:1px solid var(--line2);background:rgba(18,54,43,.75);font-weight:700;font-size:14.5px;transition:transform .15s,filter .15s}
.btn:active{transform:scale(.98)}.btn.pri{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#0a1a10;border:0}.btn.pri:hover{filter:brightness(1.05)}.btn[disabled]{opacity:.45;pointer-events:none}
.btn.wide{width:100%}
.sentinel{height:1px}.more-row{display:flex;justify-content:center;padding:18px 0}
/* how it works */
.how{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:16px;margin-top:10px}
.how div{display:flex;gap:10px;align-items:flex-start}.how i{font-style:normal;flex:0 0 28px;height:28px;border-radius:50%;border:1px solid var(--gold3);color:var(--gold);display:flex;align-items:center;justify-content:center;font:400 15px var(--disp)}
.how b{display:block;font-size:13px}.how span{font-size:12px;color:var(--muted)}
.foot{margin-top:40px;padding:18px 0 calc(24px + var(--safe-b));border-top:1px solid var(--line);color:var(--dim);font-size:12px;display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:space-between}
.foot a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}
/* overlays */
.scrim{position:fixed;inset:0;background:rgba(3,10,8,.6);z-index:80;opacity:0;transition:opacity .25s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.scrim.on{opacity:1}
.layer{position:fixed;z-index:90;background:var(--bg);display:flex;flex-direction:column;box-shadow:0 30px 90px rgba(0,0,0,.6);transition:transform .34s var(--ease),opacity .25s ease;will-change:transform}
.layer.pdp{inset:0;transform:translateY(100%)}.layer.pdp.on{transform:none}
.layer.sheet{left:0;right:0;bottom:0;max-height:92vh;border-radius:20px 20px 0 0;border:1px solid var(--line2);border-bottom:0;transform:translateY(105%)}.layer.sheet.on{transform:none}
.layer .lh{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:10px max(12px,env(safe-area-inset-left));border-bottom:1px solid var(--line);min-height:60px;background:rgba(10,26,23,.92)}
.layer .lh h3{margin:0;flex:1;min-width:0;font:400 22px/1.1 var(--disp);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xbtn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line2);background:rgba(18,54,43,.8);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.xbtn svg{width:20px;height:20px;stroke:var(--fg);stroke-width:2}
.layer .lb{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.grab{width:42px;height:5px;border-radius:3px;background:rgba(243,236,214,.25);margin:8px auto 0}
.layer .lf{flex:0 0 auto;padding:12px max(14px,env(safe-area-inset-left)) calc(12px + var(--safe-b));border-top:1px solid var(--line);background:rgba(10,26,23,.96);display:flex;gap:10px;align-items:center}
/* pdp */
.pd{max-width:1240px;margin:0 auto;padding:18px max(14px,env(safe-area-inset-left)) 30px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:30px}
.gal{position:relative}.gal .main{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:var(--r);border:1px solid var(--line);background:var(--ivory);aspect-ratio:1/1;scrollbar-width:none}
.gal .main::-webkit-scrollbar{display:none}.gal .main img{flex:0 0 100%;width:100%;height:100%;object-fit:contain;scroll-snap-align:center;padding:18px}
.gal .th{display:flex;gap:8px;margin-top:10px;overflow-x:auto;padding-bottom:4px}
.gal .th button{flex:0 0 64px;height:64px;border-radius:10px;border:1px solid var(--line);background:var(--ivory);padding:4px}.gal .th button.on{border:2px solid var(--gold)}
.gal .th img{width:100%;height:100%;object-fit:contain}
.gal .dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:6px;pointer-events:none}.gal .dots i{width:7px;height:7px;border-radius:50%;background:rgba(10,26,23,.35)}.gal .dots i.on{background:#0a1a10}
.gal .v3d{position:absolute;right:12px;top:12px;z-index:3}
.info .br{font:700 11px/1.2 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--gold2)}
.info h1{font:400 clamp(26px,3.2vw,38px)/1.12 var(--disp);letter-spacing:.01em;margin:6px 0 6px}
.info .var{color:var(--muted);font-size:13px;margin-bottom:6px}
.price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:14px 0 4px}.price b{font-size:30px;font-weight:700;letter-spacing:-.02em}
.price span{color:var(--muted);font-size:13px}
.src{display:flex;align-items:center;gap:10px;padding:12px;border-radius:12px;border:1px solid var(--line);background:rgba(18,54,43,.5);margin:12px 0;font-size:13px}
.src svg{width:22px;height:22px;flex:0 0 auto;stroke:var(--gold);fill:none;stroke-width:1.6}
.ctas{display:grid;grid-template-columns:1fr auto auto;gap:10px;margin:14px 0}
.ctas .ib{width:48px;min-height:48px;padding:0}
.next{display:grid;gap:10px;margin:16px 0}.next a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:rgba(18,54,43,.45);min-height:56px}
.next a:hover{border-color:var(--line2)}.next a b{display:block;font-size:13.5px}.next a span{font-size:12px;color:var(--muted)}.next a svg{width:22px;height:22px;flex:0 0 auto;stroke:var(--gold);fill:none;stroke-width:1.6}
.next a:after{content:"›";margin-left:auto;color:var(--gold);font-size:22px}
.specs{width:100%;border-collapse:collapse;font-size:13.5px}.specs th,.specs td{text-align:left;padding:9px 0;border-bottom:1px solid rgba(214,175,90,.12);vertical-align:top}.specs th{color:var(--muted);font-weight:500;width:40%}
.desc{color:#D9D3BF;font-size:14px;line-height:1.6;white-space:pre-line}
.note{font-size:11.5px;color:var(--dim);line-height:1.5}
.blk{padding:16px;margin:14px 0}.blk h4{margin:0 0 10px;font:700 11px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--gold2)}
.pdrails{max-width:1240px;margin:0 auto;padding:0 max(14px,env(safe-area-inset-left)) 40px}
.buybar{display:none}
/* clickwrap */
.cw{padding:16px max(16px,env(safe-area-inset-left)) 8px;display:grid;gap:14px}
.cw .it{display:flex;gap:12px;align-items:center}.cw .it img{width:64px;height:64px;border-radius:10px;background:var(--ivory);object-fit:contain;padding:4px}
.cw .it b{display:block;font-size:14px;line-height:1.3}.cw .it span{font-size:12.5px;color:var(--muted)}
.cw ol{margin:0;padding-left:20px;color:#D9D3BF;font-size:13px;display:grid;gap:6px}
.agree{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:12px;border:1px solid var(--line2);background:rgba(240,212,136,.05);cursor:pointer;font-size:13.5px}
.agree input{margin-top:2px}.agree a{color:var(--gold);text-decoration:underline}
mv-host,model-viewer{width:100%;height:100%;background:radial-gradient(circle at 50% 40%,#fbf8ef,#e7e0cc);--poster-color:transparent}
.m3d{position:relative;flex:1 1 auto;min-height:60vh}.m3d .lbl{position:absolute;left:12px;bottom:12px;right:12px;font-size:12px;color:#2b3a33;background:rgba(255,255,255,.85);padding:8px 10px;border-radius:10px}
.prog{position:absolute;left:0;right:0;top:0;height:3px;background:rgba(0,0,0,.08)}.prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold2),var(--gold));transition:width .2s}
.toast{position:fixed;left:50%;bottom:calc(20px + var(--safe-b));transform:translate(-50%,30px);opacity:0;z-index:200;background:#0E2C23;border:1px solid var(--gold);color:var(--fg);padding:12px 16px;border-radius:12px;font-size:13.5px;box-shadow:0 12px 40px rgba(0,0,0,.5);transition:all .3s var(--ease);max-width:calc(100vw - 32px)}
.toast.on{opacity:1;transform:translate(-50%,0)}
@media (max-width:1100px){.tiles{grid-template-columns:repeat(3,1fr)}.rooms{grid-template-columns:repeat(4,1fr)}.how{grid-template-columns:repeat(2,1fr)}}
@media (max-width:860px){
 :root{--hdr:58px}.hdr .brand small,.hdr .brand b{display:none}.hbtn .t{display:none}
 .res{grid-template-columns:1fr;padding-top:12px}.side{display:none}.fbtn{display:inline-flex}
 .pd{grid-template-columns:1fr;gap:14px;padding-top:0;padding-left:0;padding-right:0}.pd .info{padding:0 16px}.gal .main{border-radius:0;border-left:0;border-right:0}.gal .th{display:none}
 .gal .v3d{top:auto;bottom:34px}
 .buybar{display:flex;position:sticky;bottom:0;z-index:5;gap:10px;align-items:center;padding:10px 14px calc(10px + var(--safe-b));background:rgba(10,26,23,.97);border-top:1px solid var(--line2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
 .buybar b{font-size:18px}.buybar small{display:block;font-size:11px;color:var(--muted);max-width:40vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.buybar .btn{flex:1}
 .ctas{display:none}
}
@media (max-width:560px){
 .wrap{padding-left:12px;padding-right:12px}.hero{padding-top:20px}.hero p{font-size:14px}
 .tiles{grid-template-columns:repeat(2,1fr);gap:10px}.rooms{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:40%;overflow-x:auto;scroll-snap-type:x mandatory}.rooms>*{scroll-snap-align:start}
 .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card .bd{padding:8px 10px 10px}.card .tt{font-size:13px}.card .pr b{font-size:15px}.card .pr{flex-wrap:wrap;gap:0 8px}.card .pr small{font-size:10.5px;text-align:left;width:100%}
 .rail{grid-auto-columns:44%}
 .how{grid-template-columns:1fr}.sec{margin-top:24px}
 .list .card .im{width:120px;flex-basis:120px}
 .layer.sheet{max-height:94vh}
}
@media (min-width:861px){.layer.sheet{left:50%;right:auto;width:560px;bottom:auto;top:50%;border-radius:18px;border-bottom:1px solid var(--line2);transform:translate(-50%,-46%);opacity:0;pointer-events:none}.layer.sheet.on{transform:translate(-50%,-50%);opacity:1;pointer-events:auto}.grab{display:none}
 .layer.pdp{inset:18px 18px 0;border-radius:20px 20px 0 0;border:1px solid var(--line2)}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.btn.heart{position:static;width:48px;height:48px;min-height:48px;padding:0;border-radius:12px;background:rgba(18,54,43,.75);border:1px solid var(--line2)}.btn.heart svg{width:20px;height:20px}
.layer:focus{outline:none}
