@layer ds.tokens,ds.base;@layer ds.components{.m2-plan{gap:var(--space-4);color:var(--color-text-primary);grid-template-columns:minmax(0,1fr);margin:0;display:grid;container:m2-plan/inline-size}.m2-plan--split{border-radius:var(--radius-2xl);overflow:hidden}@media (min-width:1024px){.m2-plan--split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0}}.m2-plan__photo{background:var(--color-surface-sunken);min-height:22rem;position:relative;overflow:hidden}.m2-plan__photo img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.m2-plan__hero{z-index:1;inset:auto var(--space-6) var(--space-6) var(--space-6);color:var(--color-text-on-photo);position:absolute}.m2-plan__hero-name{font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--text-display-sm);text-transform:uppercase;line-height:var(--leading-display);opacity:.85}.m2-plan__hero-area{font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--text-display-xl);font-variant-numeric:var(--numeric-display);white-space:nowrap;line-height:.86}.m2-plan__panel{gap:var(--space-5);background:var(--color-surface-page);grid-template-columns:minmax(0,1fr);align-content:start;padding:clamp(1.25rem,.5rem + 3vw,3rem);display:grid;container:m2-plan/inline-size}.m2-plan__head{justify-content:space-between;align-items:flex-end;gap:var(--space-2) var(--space-6);flex-wrap:wrap;display:flex}.m2-plan__head-value{font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--text-display-md);text-transform:uppercase;line-height:var(--leading-display);font-variant-numeric:var(--numeric-display)}.m2-plan__head-sub{font-size:var(--text-body-sm);color:var(--color-text-secondary)}.m2-plan__tiers{justify-self:start}.m2-plan__stage{aspect-ratio:4/3;border-radius:var(--radius-lg);background:var(--color-plan-paper);color:var(--color-plan-line);touch-action:pan-y pinch-zoom;position:relative;overflow:hidden}.m2-plan__stage[data-tier=blueprint]{border-radius:var(--radius-xs)}.m2-plan__stage img{object-fit:contain;width:100%;height:100%}.m2-plan__stage[data-tier=blueprint] img{mix-blend-mode:var(--illustration-blend);filter:var(--illustration-filter)}.m2-plan__stage[data-tier=furnished]{background:var(--color-plan-raster-paper);padding:var(--space-3)}.m2-plan__stage[data-tier="3d"]{background:radial-gradient(120% 90% at 50% 40%, var(--color-surface-raised), var(--color-surface-sunken))}.m2-plan__stage[aria-busy=true]:after{content:"";background:linear-gradient(100deg, transparent 30%, var(--color-surface-skeleton-shine) 50%, transparent 70%) 0 0 / 200% 100%, var(--color-surface-skeleton);animation:1.4s linear infinite m2-shimmer;position:absolute;inset:0}.m2-plan__empty{place-items:center;gap:var(--space-2);padding:var(--space-6);text-align:center;font-size:var(--text-body-sm);color:var(--color-text-muted);display:grid;position:absolute;inset:0}.m2-plan-svg{width:100%;height:100%}.m2-plan-svg .wall{fill:none;stroke:var(--color-plan-line);stroke-width:var(--plan-wall,5px);stroke-linecap:square;vector-effect:non-scaling-stroke}.m2-plan-svg .wall--thin{stroke-width:calc(var(--plan-wall,5px) * .45)}.m2-card-unit__plan,.m2-plan__thumb,.m2-hero-editorial__inset{--plan-wall:2px}.m2-plan-svg .fixture{fill:none;stroke:var(--color-plan-line);stroke-width:1px;opacity:.85}.m2-plan-svg .door{fill:none;stroke:var(--color-plan-line);stroke-width:1px}.m2-plan-svg .window{stroke:var(--color-plan-line);stroke-width:1px;fill:var(--color-plan-paper)}.m2-plan-svg .hatch{stroke:var(--color-plan-line);stroke-width:.75px;opacity:.6}.m2-plan-svg .dim-line{stroke:var(--color-plan-dimension);stroke-width:1px;stroke-dasharray:2 3;fill:none}.m2-plan-svg .dim-tick{stroke:var(--color-plan-dimension);stroke-width:1px}.m2-plan-svg .dim-label{fill:var(--color-plan-dimension);font-family:var(--font-sans);font-variant-numeric:tabular-nums;paint-order:stroke;stroke:var(--color-plan-paper);stroke-width:4px;font-size:12px}.m2-plan-svg .room-label{fill:var(--color-plan-line);font-family:var(--font-sans);font-size:13px;font-weight:600}.m2-plan-svg .room-area{fill:var(--color-plan-dimension);font-family:var(--font-sans);font-variant-numeric:tabular-nums;font-size:12px}.m2-plan-svg .marker{fill:var(--color-plan-marker)}.m2-plan-svg .marker-halo{fill:var(--color-plan-marker);opacity:.22}.m2-plan-svg .compass{fill:none;stroke:var(--color-plan-line);stroke-width:1px}.m2-plan-svg .room.is-active{fill:color-mix(in srgb, var(--color-plan-marker) 14%, transparent)}@media (hover:hover){.m2-plan-svg .room[data-room]:hover{fill:color-mix(in srgb, var(--color-plan-marker) 14%, transparent)}}.m2-plan__toolbar{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.m2-plan__nav{gap:var(--space-2);display:flex}.m2-plan__counter{font-size:var(--text-caption);color:var(--color-text-muted);font-variant-numeric:var(--numeric-data)}.m2-plan__thumbs{gap:var(--space-2);padding:0 0 var(--space-1);scrollbar-width:none;margin:0;list-style:none;display:flex;overflow-x:auto}.m2-plan__thumbs::-webkit-scrollbar{display:none}.m2-plan__thumb{aspect-ratio:1;border-radius:var(--radius-sm);border:var(--border-hairline) solid var(--color-border-default);background:var(--color-plan-paper);opacity:.7;width:4.5rem;transition:opacity var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);flex:none;overflow:hidden}.m2-plan__thumb img{object-fit:contain;width:100%;height:100%}.m2-plan__thumb:has(>img){background:var(--color-plan-raster-paper)}@media (hover:hover){.m2-plan__thumb:hover{opacity:1}}.m2-plan__thumb[aria-current=true]{opacity:1;border-color:var(--color-text-primary);box-shadow:inset 0 0 0 1px var(--color-text-primary)}.m2-plan__stats{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}@container m2-plan (max-width:30rem){.m2-plan__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.m2-plan-svg .room-label,.m2-plan-svg .room-area,.m2-plan-svg .dim-label{display:none}}.m2-plan__stat dt{font-size:var(--text-body-sm);color:var(--color-text-secondary)}.m2-plan__stat dd{margin:var(--space-1) 0 0;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--text-display-sm);line-height:var(--leading-display);font-variant-numeric:var(--numeric-display);white-space:nowrap;display:flex}.m2-plan__stat dd svg{width:var(--icon-lg);height:var(--icon-lg);flex:none}.m2-plan__rooms summary{min-height:var(--touch-min);font-size:var(--text-body-sm);font-weight:var(--weight-medium);color:var(--color-text-link);align-items:center;display:inline-flex}.m2-plan__source{font-size:var(--text-caption);color:var(--color-text-muted)}.m2-plan:fullscreen,.m2-plan.is-fullscreen{padding:var(--space-6);background:var(--color-surface-page);overflow:auto}.m2-plan:fullscreen .m2-plan__stage{aspect-ratio:auto;height:calc(var(--viewport-h) - 12rem)}.m2-gallery{gap:var(--space-2);grid-template-rows:auto;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.m2-gallery__item{border-radius:var(--radius-lg);background:var(--color-surface-sunken);aspect-ratio:4/3;position:relative;overflow:hidden}.m2-gallery__item:first-child{aspect-ratio:16/10;border-radius:var(--radius-xl);grid-column:1/-1}.m2-gallery__item:nth-child(n+4){display:none}@media (min-width:768px){.m2-gallery{aspect-ratio:16/7.5;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:2fr 1fr 1fr}.m2-gallery__item,.m2-gallery__item:first-child{aspect-ratio:auto;grid-column:auto}.m2-gallery__item:first-child{grid-row:1/span 2}.m2-gallery__item:nth-child(n+4){display:block}.m2-gallery__item:nth-child(n+6){display:none}}.m2-gallery__btn{cursor:zoom-in;width:100%;height:100%;display:block;position:absolute;inset:0}.m2-gallery__btn:focus-visible{outline:var(--border-focus) solid transparent;outline-offset:-3px;box-shadow:inset 0 0 0 3px var(--color-focus-ring)}.m2-gallery__img{object-fit:cover;width:100%;height:100%;transition:transform var(--duration-slower) var(--ease-standard)}@media (hover:hover){.m2-gallery__btn:hover .m2-gallery__img{transform:scale(1.02)}}.m2-gallery__more{background:var(--color-surface-scrim);color:var(--color-text-on-photo);font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--text-display-sm);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.m2-gallery__credit{inset-inline-end:var(--space-2);bottom:var(--space-2);border-radius:var(--radius-xs);background:var(--color-surface-glass);color:var(--color-text-primary);padding:.125rem .5rem;font-size:.6875rem;position:absolute}.m2-gallery--empty{aspect-ratio:auto;display:block}.m2-gallery--empty .m2-gallery__item,.m2-gallery--empty .m2-gallery__item:first-child{aspect-ratio:auto;border-radius:var(--radius-xl);min-height:15rem;display:grid}@media (min-width:768px){.m2-gallery--empty .m2-gallery__item:first-child{min-height:20rem}}.m2-lightbox{width:100vw;height:var(--viewport-h);background:var(--color-lightbox-bg);max-width:none;max-height:none;color:var(--color-lightbox-text);border:0;margin:0;padding:0;position:fixed;inset:0}.m2-lightbox[open]{animation:m2-fade-in var(--duration-base) var(--ease-standard);grid-template-rows:auto minmax(0,1fr) auto;display:grid}.m2-lightbox::backdrop{background:var(--color-lightbox-bg)}.m2-lightbox__bar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);display:flex}.m2-lightbox__counter{font-size:var(--text-body-sm);font-variant-numeric:var(--numeric-data);color:var(--color-lightbox-text-muted)}.m2-lightbox__stage{touch-action:pan-y pinch-zoom;place-items:center;min-height:0;display:grid;position:relative}.m2-lightbox__img{object-fit:contain;max-width:100%;max-height:100%}.m2-lightbox__prev,.m2-lightbox__next{color:var(--color-lightbox-text);background:var(--color-lightbox-control-bg);margin-top:-1.375rem;position:absolute;top:50%}.m2-lightbox__prev{inset-inline-start:var(--space-3)}.m2-lightbox__next{inset-inline-end:var(--space-3)}.m2-lightbox .m2-icon-btn{color:var(--color-lightbox-text)}@media (hover:hover){.m2-lightbox__prev:hover,.m2-lightbox__next:hover{background:var(--color-lightbox-control-bg-hover)}}.m2-lightbox .m2-icon-btn:focus-visible{outline:var(--border-focus) solid transparent;outline-offset:var(--focus-offset);box-shadow:0 0 0 2px var(--color-lightbox-bg), 0 0 0 4px var(--color-lightbox-focus)}.m2-lightbox__caption{padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));font-size:var(--text-body-sm);color:var(--color-lightbox-text-muted);text-align:center}@media (prefers-reduced-motion:reduce){@media (hover:hover){.m2-gallery__btn:hover .m2-gallery__img{transform:none}}}}@layer ds.utilities;
