:root{--p-sb-w:232px;--p-sb-w-collapsed:64px;--p-density:1;--p-cell-y:calc(14px * var(--p-density));--p-cell-x:calc(20px * var(--p-density));--p-row-h:calc(56px * var(--p-density));--p-card-pad:calc(20px * var(--p-density));--p-gap:calc(20px * var(--p-density));--p-type-base:14px;--p-accent:var(--vl-highlight);--p-accent-hov:var(--vl-highlight-hov);--p-accent-soft:var(--vl-highlight-soft);--p-accent-ink:var(--vl-highlight-ink);--p-map-bg:#e8e3d7;--p-map-grid:rgba(20,19,15,0.06);--p-map-poi:rgba(20,19,15,0.4)}.p-density-compact{--p-density:0.78}.p-density-comfy{--p-density:1}.vl-dark,.vl-dark:root{--vl-bg:#111118;--vl-fg:#fafafa;--vl-fg-2:#cfcfd4;--vl-muted:#8a8a8a;--vl-muted-2:#5a5a62;--vl-border:#2a2a30;--vl-border-soft:#1f1f25;--vl-surface:#18181b;--vl-surface-hov:#232329;--vl-sidebar:#1c1c22;--vl-bg-elev:#1a1a20;--vl-bg-inset:#0e0e13;--vl-highlight:#2c5d39;--vl-highlight-ink:#6aa17a;--vl-highlight-soft:rgba(44,93,57,0.1);--vl-highlight-hov:#37714a;--vl-shadow-soft:0 4px 20px rgba(0,0,0,0.1);--p-map-bg:#14141a;--p-map-grid:rgba(255,255,255,0.04);--p-map-poi:rgba(255,255,255,0.25)}.map-panel-clip{overflow:hidden;overflow:clip}.p-shell{flex-direction:row;background:var(--vl-bg);color:var(--vl-fg);position:fixed;top:0;left:0;right:0;bottom:0;font-family:var(--vl-font-sans)}.p-sb,.p-shell{display:flex;overflow:hidden}.p-sb{flex:none;width:var(--p-sb-w);background:var(--vl-sidebar);border-right:1px solid var(--vl-border);padding:14px 12px;flex-direction:column;transition:width .2s ease-out}.p-shell.is-collapsed .p-sb{width:var(--p-sb-w-collapsed)}.p-sb__brand{display:flex;align-items:center;gap:10px;padding:4px 8px 14px}.p-sb__brand img{width:24px;height:24px;flex:none}.p-sb__brand .wm{font-family:var(--vl-font-display);font-size:1.0625rem;font-weight:700;letter-spacing:-.02em;color:var(--vl-fg);white-space:nowrap}.p-sb__group{font-family:var(--vl-font-mono);font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--vl-muted);padding:16px 12px 6px}.p-sb__item{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:8px;background:transparent;border:0;color:var(--vl-fg-2);font:500 .8125rem var(--vl-font-sans);cursor:pointer;text-align:left;white-space:nowrap;width:100%;transition:background .14s,color .14s}.p-sb__item:hover{background:color-mix(in srgb,var(--vl-fg) 5%,transparent);color:var(--vl-fg)}.p-sb__item.is-active{background:color-mix(in srgb,var(--p-accent) 12%,transparent)}.p-sb__item.is-active,.p-sb__item.is-active svg{color:var(--p-accent-ink)}.p-sb__item svg{width:16px;height:16px;flex:none;color:var(--vl-muted)}.p-sb__item .badge{margin-left:auto;font-family:var(--vl-font-mono);font-size:.625rem;padding:2px 7px;border-radius:999px;background:color-mix(in srgb,var(--p-accent) 18%,transparent);color:var(--p-accent-ink)}.p-sb__history{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:transparent transparent;margin:8px -8px 0;padding:0 8px 8px;display:flex;flex-direction:column;gap:0}.p-sb__history:hover{scrollbar-color:color-mix(in srgb,var(--vl-fg) 18%,transparent) transparent}.p-sb__history-group{display:flex;flex-direction:column;gap:0}.p-sb__history-group-label{font-family:var(--vl-font-mono);font-size:.5625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--vl-muted-2);padding:10px 10px 3px;flex-shrink:0}.p-sb__history-group-label:first-child{padding-top:2px}.p-sb__history-item{display:block;flex-shrink:0;width:100%;padding:5px 10px;border-radius:6px;color:var(--vl-fg-2);font-size:.78125rem;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:background .1s,color .1s}.p-sb__history-item:hover{background:color-mix(in srgb,var(--vl-fg) 5%,transparent);color:var(--vl-fg)}.p-sb__history-item.is-active{background:color-mix(in srgb,var(--p-accent) 10%,transparent);color:var(--p-accent-ink)}.p-sb__user{margin-top:auto;padding:12px 8px 4px;border-top:1px solid var(--vl-border-soft);gap:10px}.p-sb__user,.p-sb__user-btn{display:flex;align-items:center}.p-sb__user-btn{flex:1;min-width:0;border-radius:8px;padding:4px 6px;margin:-4px -6px;transition:background-color .15s;text-align:left;gap:.75rem;cursor:pointer;border:0;background:inherit;width:100%}.p-sb__user-btn:hover{background-color:var(--vl-surface-hov)}.p-sb__user .av-photo{width:30px;height:30px}.p-sb__user .who{line-height:1.15;min-width:0}.p-sb__user .who b{font-size:.78125rem;font-weight:600;display:block;color:var(--vl-fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p-sb__user .who span{font-size:.65625rem;color:var(--vl-muted);white-space:nowrap}.p-sb__history-toggle{display:none}.p-shell.is-collapsed .p-sb__history-toggle{display:flex}.p-shell.is-collapsed .p-sb__brand .wm,.p-shell.is-collapsed .p-sb__collapse-btn,.p-shell.is-collapsed .p-sb__group,.p-shell.is-collapsed .p-sb__history,.p-shell.is-collapsed .p-sb__item .badge,.p-shell.is-collapsed .p-sb__item span,.p-shell.is-collapsed .p-sb__user .who{display:none}.p-shell.is-collapsed .p-sb__item{justify-content:center;padding:8px}.p-shell.is-collapsed .p-sb__brand{justify-content:center}.p-acct__item svg,.p-anim-host svg,.p-sb__item svg,.p-tb__icon svg{transition:transform .2s ease;will-change:transform}.p-anim-host:hover .lucide-plus,.p-sb__item:hover .lucide-plus{transform:rotate(90deg);transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.p-anim-host:hover .lucide-search,.p-sb__item:hover .lucide-search{transform:scale(1.18)}@keyframes p-compass-seek{0%{transform:rotate(0deg)}30%{transform:rotate(-35deg)}55%{transform:rotate(25deg)}75%{transform:rotate(-12deg)}90%{transform:rotate(6deg)}to{transform:rotate(0deg)}}.p-anim-host:hover .lucide-compass,.p-sb__item:hover .lucide-compass{animation:p-compass-seek .55s ease}@keyframes p-bookmark-tuck{0%{transform:translateY(0)}30%{transform:translateY(-3.5px)}60%{transform:translateY(1.5px) scaleY(.92)}80%{transform:translateY(-.5px) scaleY(1)}to{transform:translateY(0)}}.p-anim-host:hover .lucide-bookmark,.p-sb__item:hover .lucide-bookmark{animation:p-bookmark-tuck .45s ease;transform-origin:50% 100%}@keyframes p-luggage-roll{0%{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-1.5px) rotate(-9deg)}50%{transform:translateY(0) rotate(7deg)}75%{transform:translateY(-1px) rotate(-4deg)}to{transform:translateY(0) rotate(0deg)}}.p-anim-host:hover .lucide-luggage,.p-sb__item:hover .lucide-luggage{animation:p-luggage-roll .5s ease;transform-origin:50% 100%}@keyframes p-heartbeat{0%{transform:scale(1)}28%{transform:scale(1.3)}55%{transform:scale(1)}78%{transform:scale(1.15)}to{transform:scale(1)}}.p-anim-host:hover .lucide-heart,.p-sb__item:hover .lucide-heart{animation:p-heartbeat .42s ease}@keyframes p-phone-ring{0%{transform:rotate(0deg)}15%{transform:rotate(-18deg)}35%{transform:rotate(18deg)}55%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}to{transform:rotate(0deg)}}.p-sb__item:hover .lucide-phone-call{animation:p-phone-ring .46s ease;transform-origin:50% 90%}.p-sb__history-toggle:hover .lucide-history{transform:rotate(-30deg);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.p-sb__brand button:hover .lucide-panel-left,.p-tb__icon:hover .lucide-panel-left{transform:translateX(-3px)}.p-acct__item:hover .lucide-settings{transform:rotate(45deg);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.p-acct__item:hover .lucide-credit-card{transform:translateY(-2px) rotate(-8deg) scale(1.12);transition:transform .25s cubic-bezier(.34,1.56,.64,1)}@keyframes p-help-bob{0%{transform:translateY(0)}35%{transform:translateY(-3px)}65%{transform:translateY(1px)}to{transform:translateY(0)}}.p-acct__item:hover .lucide-circle-help,.p-acct__item:hover .lucide-help-circle{animation:p-help-bob .4s ease}.p-acct__item:hover .lucide-sun{transform:rotate(180deg);transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.p-acct__item:hover .lucide-moon{transform:rotate(-25deg) scale(1.1);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.p-acct__item:hover .lucide-log-out{transform:translateX(3px);transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.p-acct__credits-link:hover{color:var(--vl-highlight-ink)!important;text-decoration:underline}.p-composer__action-btn svg{transition:transform .2s ease;will-change:transform}.p-composer__action-btn:hover .p-attach-icon{transform:rotate(45deg);transition:transform .25s cubic-bezier(.34,1.56,.64,1)}@keyframes p-mic-bob{0%{transform:translateY(0)}35%{transform:translateY(-2px)}65%{transform:translateY(1px)}to{transform:translateY(0)}}.p-composer__action-btn:hover .p-mic-icon{animation:p-mic-bob .38s ease}@media (prefers-reduced-motion:reduce){.p-acct__item svg,.p-anim-host svg,.p-composer__action-btn svg,.p-sb__brand button svg,.p-sb__history-toggle svg,.p-sb__item svg,.p-tb__icon svg{transition:none!important;animation:none!important;transform:none!important}}.p-tb{justify-content:space-between;padding:12px 24px;border-bottom:1px solid var(--vl-border);background:var(--vl-bg);position:sticky;top:0;z-index:30;min-height:56px}.p-tb,.p-tb__left{display:flex;align-items:center}.p-tb__left{gap:14px;min-width:0}.p-tb__right{display:flex;align-items:center;gap:6px}@media (max-width:767px){.p-tb__sidebar-toggle{display:none}}.p-tb__crumbs{font-family:var(--vl-font-mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--vl-muted)}.p-tb__crumbs b{color:var(--vl-fg-2);font-weight:500}.p-tb__crumbs em{color:var(--vl-fg);font-style:normal;font-weight:600}.p-tb__icon{width:34px;height:34px;border-radius:999px;background:transparent;color:var(--vl-fg-2);display:grid;place-items:center;cursor:pointer;border:0;position:relative}.p-tb__icon:hover{background:color-mix(in srgb,var(--vl-fg) 5%,transparent);color:var(--vl-fg)}.p-tb__icon svg{width:16px;height:16px}.p-tb__icon .dot{position:absolute;top:7px;right:8px;width:6px;height:6px;border-radius:999px;background:var(--p-accent);box-shadow:0 0 0 2px var(--vl-bg)}.p-tb__credits{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 6px;border:1px solid var(--vl-border);background:var(--vl-surface);border-radius:999px;font:500 .78125rem var(--vl-font-sans);color:var(--vl-fg);cursor:pointer}.p-tb__credits .bag{width:22px;height:22px;border-radius:999px;background:color-mix(in srgb,var(--p-accent) 18%,transparent);color:var(--p-accent-ink);display:grid;place-items:center}.p-tb__credits .bag svg{width:12px;height:12px}.p-tb__credits b{font-variant-numeric:tabular-nums}.p-page{padding:28px clamp(20px,3.5vw,56px) 80px;max-width:1600px;width:100%;margin:0 auto}@media (min-width:1920px){.p-page{max-width:1800px;padding:32px clamp(40px,4vw,72px) 80px}}.p-page--full{max-width:none;padding:0;margin:0;width:auto}.p-page__head{margin-bottom:24px;display:flex;align-items:end;justify-content:space-between;gap:18px}.p-page__head--actions{align-items:center}@media (max-width:767px){.p-page__head--actions{flex-direction:column;align-items:stretch;gap:14px}}.p-page__eyebrow{font-family:var(--vl-font-mono);font-size:.65625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--vl-muted);margin:0 0 8px}.p-page__h1{font-family:var(--vl-font-display);font-size:1.875rem;font-weight:700;letter-spacing:-.02em;line-height:1.05;margin:0;color:var(--vl-fg)}.p-page__h1 em{font-style:normal;font-weight:700;color:var(--p-accent-ink)}.p-page__sub{font-size:.875rem;color:var(--vl-muted);margin:6px 0 0;max-width:60ch}.p-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:10px;font:500 .84375rem var(--vl-font-sans);letter-spacing:-.003em;cursor:pointer;border:1px solid transparent;background:transparent;white-space:nowrap;text-decoration:none;transition:background .15s,border-color .15s,color .15s}.p-btn--primary{background:var(--p-accent);color:#fff;border-color:var(--p-accent)}.p-btn--primary:hover{background:var(--p-accent-hov);border-color:var(--p-accent-hov)}.p-btn--accent-outline{background:var(--vl-surface);color:var(--vl-highlight-ink);border-color:var(--vl-highlight);font-weight:600}.p-btn--accent-outline:hover{background:var(--vl-highlight-soft)}.p-btn--secondary{background:var(--vl-surface);color:var(--vl-fg);border-color:var(--vl-border)}.p-btn--secondary:hover{border-color:var(--vl-muted);background:var(--vl-surface-hov)}.p-btn--ghost{color:var(--vl-fg-2)}.p-btn--ghost:hover{color:var(--vl-fg);background:color-mix(in srgb,var(--vl-fg) 5%,transparent)}.p-btn--danger{background:rgba(239,68,68,.1);color:var(--vl-red);border-color:rgba(239,68,68,.18)}.p-btn--pill{border-radius:999px;padding:9px 18px}.p-btn--lg{padding:13px 22px;font-size:.90625rem}.p-btn--sm{padding:6px 12px;font-size:.78125rem}.p-btn svg{width:14px;height:14px}.p-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font:500 .75rem var(--vl-font-sans);background:var(--vl-bg-elev,var(--vl-surface));border:1px solid var(--vl-border);color:var(--vl-fg-2);letter-spacing:.01em;white-space:nowrap;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.p-pill:hover{border-color:var(--vl-muted);color:var(--vl-fg)}.p-pill--accent{background:var(--p-accent-soft);color:var(--p-accent-ink);border-color:color-mix(in oklch,var(--p-accent) 25%,var(--vl-bg))}.p-pill--ink{background:var(--vl-fg);color:var(--vl-bg);border-color:var(--vl-fg)}.p-pill--mono{font-family:var(--vl-font-mono);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase}.p-pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.p-card{background:var(--vl-surface);border:1px solid var(--vl-border);border-radius:var(--vl-r-3);padding:var(--p-card-pad)}.p-input{width:100%;background:transparent;border:0;border-bottom:1px solid var(--vl-border);color:var(--vl-fg);padding:10px 0;font:400 .9375rem var(--vl-font-sans);outline:0;transition:border-color .2s}.p-input::-moz-placeholder{color:var(--vl-muted);opacity:.8}.p-input::placeholder{color:var(--vl-muted);opacity:.8}.p-input:focus{border-color:var(--vl-fg)}.p-input-box{width:100%;background:var(--vl-surface);border:1px solid var(--vl-border);border-radius:var(--vl-r-2);color:var(--vl-fg);padding:10px 12px;font:400 .875rem var(--vl-font-sans);outline:0}.p-input-box:focus{border-color:var(--p-accent)}.p-seg{display:inline-flex;gap:2px;background:var(--vl-surface);border:1px solid var(--vl-border);border-radius:10px;padding:3px}.p-seg button{background:transparent;border:0;padding:6px 14px;border-radius:7px;font:500 .78125rem var(--vl-font-sans);color:var(--vl-muted);cursor:pointer}.p-seg button.is-on{background:color-mix(in srgb,var(--p-accent) 12%,transparent);color:var(--p-accent-ink)}.p-kv{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:baseline;font-size:.8125rem;color:var(--vl-fg-2)}.p-kv__dots{border-bottom:1px dotted var(--vl-border);transform:translateY(-3px)}.p-kv__v{color:var(--vl-fg);font-weight:600;font-variant-numeric:tabular-nums}.p-divider{height:1px;background:var(--vl-border);margin:16px 0;border:0}.p-amicon{display:inline-block;width:20px;height:20px;background-color:currentColor;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;flex:none}.p-amicon--bar{-webkit-mask-image:url(/assets/icons/amenities/bar.svg);mask-image:url(/assets/icons/amenities/bar.svg)}.p-amicon--business-center{-webkit-mask-image:url(/assets/icons/amenities/business-center.svg);mask-image:url(/assets/icons/amenities/business-center.svg)}.p-amicon--check{-webkit-mask-image:url(/assets/icons/amenities/check.svg);mask-image:url(/assets/icons/amenities/check.svg)}.p-amicon--concierge{-webkit-mask-image:url(/assets/icons/amenities/concierge.svg);mask-image:url(/assets/icons/amenities/concierge.svg)}.p-amicon--free-cancellation{-webkit-mask-image:url(/assets/icons/amenities/free-cancellation.svg);mask-image:url(/assets/icons/amenities/free-cancellation.svg)}.p-amicon--gym{-webkit-mask-image:url(/assets/icons/amenities/gym.svg);mask-image:url(/assets/icons/amenities/gym.svg)}.p-amicon--ironing{-webkit-mask-image:url(/assets/icons/amenities/ironing.svg);mask-image:url(/assets/icons/amenities/ironing.svg)}.p-amicon--late-checkout{-webkit-mask-image:url(/assets/icons/amenities/late-checkout.svg);mask-image:url(/assets/icons/amenities/late-checkout.svg)}.p-amicon--laundry{-webkit-mask-image:url(/assets/icons/amenities/laundry.svg);mask-image:url(/assets/icons/amenities/laundry.svg)}.p-amicon--parking{-webkit-mask-image:url(/assets/icons/amenities/parking.svg);mask-image:url(/assets/icons/amenities/parking.svg)}.p-amicon--pool{-webkit-mask-image:url(/assets/icons/amenities/pool.svg);mask-image:url(/assets/icons/amenities/pool.svg)}.p-amicon--restaurant{-webkit-mask-image:url(/assets/icons/amenities/restaurant.svg);mask-image:url(/assets/icons/amenities/restaurant.svg)}.p-amicon--room-service{-webkit-mask-image:url(/assets/icons/amenities/room-service.svg);mask-image:url(/assets/icons/amenities/room-service.svg)}.p-amicon--safe{-webkit-mask-image:url(/assets/icons/amenities/safe.svg);mask-image:url(/assets/icons/amenities/safe.svg)}.p-amicon--wifi{-webkit-mask-image:url(/assets/icons/amenities/wifi.svg);mask-image:url(/assets/icons/amenities/wifi.svg)}.p-stars{display:inline-flex;gap:1px;color:var(--p-accent)}.p-stars__star{width:12px;height:12px}.p-am-cat{font-family:var(--vl-font-mono);font-size:.65625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--vl-muted);margin:0 0 12px}.p-hcard{background:var(--vl-surface);border:1px solid var(--vl-border);border-radius:var(--vl-r-3);overflow:hidden;display:flex;transition:border-color .15s,transform .15s;cursor:pointer}.p-hcard:hover{border-color:var(--vl-muted);transform:translateY(-1px)}.p-hcard.hotel-card-horizontal{min-height:12rem}.p-hcard.hotel-card-horizontal .p-hcard__name{font-size:.875rem}.p-hcard__img{flex:0 0 200px;min-height:160px;align-self:stretch;position:relative;overflow:hidden}.p-hcard__img img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.p-hcard__body{padding:16px 18px;flex:1;min-width:0;display:flex;flex-direction:column}.p-hcard__name{font:600 .96875rem var(--vl-font-display);letter-spacing:-.01em;color:var(--vl-fg);margin:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.p-hcard__loc{font-family:var(--vl-font-mono);font-size:.65625rem;color:var(--vl-muted);letter-spacing:.08em;text-transform:uppercase;margin:4px 0 8px}.p-hcard__tags{display:flex;gap:4px;flex-wrap:wrap;margin:2px 0 6px}.p-hcard__foot{display:flex;align-items:end;justify-content:space-between;margin-top:auto}.p-hcard__price{font:700 1.125rem var(--vl-font-display);color:var(--vl-fg);letter-spacing:-.01em}.p-hcard__price small{font:500 .6875rem var(--vl-font-mono);color:var(--vl-muted);letter-spacing:.08em;text-transform:uppercase;margin-left:4px}.p-hcard__rating{font:600 .78125rem var(--vl-font-sans);color:var(--vl-fg);display:inline-flex;align-items:center;gap:4px}.p-hcard__rating small{font-weight:400;color:var(--vl-muted)}.p-hcard--v{flex-direction:column}.p-hcard--v .p-hcard__img{flex:0 0 200px;height:200px;width:100%}.p-hcard--v .p-hcard__body{padding:14px 16px}.p-liked-grid .p-hcard--v .p-hcard__img{height:240px}.p-hcard--min{padding:16px 20px;align-items:center;gap:16px}.p-hcard--min .p-hcard__img{display:none}.p-hcard--min .p-hcard__body{padding:0;flex-direction:row;align-items:center;gap:20px}.p-hcard-dots{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:4px;z-index:15;pointer-events:none}.p-hcard-dot{height:4px;width:4px;border-radius:999px;background:rgba(255,255,255,.45);transition:width .25s ease,background .25s ease;flex-shrink:0}.p-hcard-dot--active{width:16px;background:rgba(255,255,255,.9)}.p-composer{background:var(--vl-surface);border:1px solid var(--vl-border);border-radius:18px;padding:16px 18px;display:flex;flex-direction:column;gap:12px;box-shadow:0 2px 0 rgba(20,19,15,.02),0 12px 40px -16px rgba(20,19,15,.1);position:relative}.p-composer textarea{border:0;background:transparent;resize:none;width:100%;font:400 1rem var(--vl-font-sans);line-height:1.5;color:var(--vl-fg);outline:0;min-height:60px;max-height:160px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--vl-border) transparent}.p-composer textarea::-moz-placeholder{color:var(--vl-muted-2)}.p-composer textarea::placeholder{color:var(--vl-muted-2)}@media (max-width:480px){.p-composer textarea{max-height:120px}}.p-composer__filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:4px;border-top:1px dashed var(--vl-border)}.p-composer__filters--inline{flex:1;min-width:0;flex-wrap:nowrap;padding-top:0;border-top:0}.p-composer__filters--inline>*{flex-shrink:0}.p-composer__bottom--inline .p-composer__actions{margin-right:0}.p-composer__attachments{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:4px;border-top:1px dashed var(--vl-border)}.p-composer__chip{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:1px solid var(--vl-border);background:var(--vl-bg-elev,transparent);border-radius:999px;font:500 .75rem var(--vl-font-sans);color:var(--vl-fg-2);cursor:pointer}.p-composer__chip:hover{border-color:var(--vl-muted)}.p-composer__chip svg{width:14px;height:14px;color:var(--vl-muted)}.p-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--vl-border);background:var(--vl-surface);border-radius:10px;font:500 .78rem var(--vl-font-sans);color:var(--vl-fg);cursor:pointer;white-space:nowrap;transition:border-color .15s}.p-chip:hover{border-color:var(--vl-muted);background:var(--vl-surface-hov,var(--vl-surface))}.p-chip svg{width:14px;height:14px;flex-shrink:0;color:var(--vl-muted)}.p-chip--open{border-color:color-mix(in srgb,var(--vl-highlight) 40%,transparent);background:var(--vl-highlight-soft)}.p-chip--open,.p-chip--open svg{color:var(--vl-highlight-ink)}button.p-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none}.p-chip:focus{outline:none}.p-chip:focus-visible{outline:2px solid var(--vl-highlight);outline-offset:2px;border-color:color-mix(in srgb,var(--vl-highlight) 40%,transparent)}.p-chip-dropdown{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(calc(-50% + var(--p-dd-shift, 0px)));z-index:100;min-width:100%;width:-moz-max-content;width:max-content;background:var(--vl-surface);border:1px solid var(--vl-border);border-radius:12px;box-shadow:0 8px 28px -4px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.06);overflow:hidden}.p-chip-dropdown__btn,.p-chip-dropdown__stepper{display:flex;align-items:center;height:48px}.p-chip-dropdown__btn{flex:none;width:48px;justify-content:center;font-size:1.375rem;font-weight:300;line-height:1;color:var(--vl-fg);background:transparent;border:none;cursor:pointer;transition:background .12s}.p-chip-dropdown__btn:hover:not(:disabled){background:var(--vl-surface-hov,rgba(0,0,0,.04))}.p-chip-dropdown__btn:disabled{color:var(--vl-muted);opacity:.35;cursor:not-allowed}.p-chip-dropdown__val{flex:1;text-align:center;font:500 .8125rem var(--vl-font-sans);color:var(--vl-fg);padding:0 4px;white-space:nowrap;border-left:1px solid var(--vl-border);border-right:1px solid var(--vl-border);height:100%;display:flex;align-items:center;justify-content:center}.p-chip-dropdown__meta{padding:6px 14px 8px;font:400 .6875rem var(--vl-font-sans);color:var(--vl-muted);text-align:center;border-top:1px solid var(--vl-border)}.p-composer__bottom{display:flex;align-items:center;justify-content:flex-end;gap:8px}.p-composer__actions{display:flex;align-items:center;gap:4px;margin-right:auto}.p-composer__action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;background:transparent;border-radius:8px;color:var(--vl-muted);cursor:pointer;transition:background .12s,color .12s}.p-composer__action-btn:hover{background:color-mix(in srgb,var(--vl-fg) 6%,transparent);color:var(--vl-fg-2)}.p-composer__send{width:36px;height:36px;border-radius:999px;background:var(--p-accent);color:#fff;border:0;cursor:pointer;display:grid;place-items:center;flex-shrink:0}.p-composer__send:hover{background:var(--p-accent-hov)}.p-bubble{padding:10px 14px;border-radius:14px;font-size:.875rem;line-height:1.55;max-width:78%;margin-bottom:8px}.p-bubble--user{background:var(--p-accent);color:#fff;margin-left:auto;border-bottom-right-radius:4px}.p-bubble--agent{background:color-mix(in srgb,var(--vl-fg) 6%,transparent);color:var(--vl-fg);border-bottom-left-radius:4px}.p-mapsurface{position:relative;background:var(--p-map-bg);background-image:linear-gradient(0deg,var(--p-map-grid) 1px,transparent 1px),linear-gradient(90deg,var(--p-map-grid) 1px,transparent 1px);background-size:40px 40px;overflow:hidden}.p-mapsurface:before{content:"";position:absolute;inset:0;background:radial-gradient(80% 60% at 30% 35%,color-mix(in srgb,var(--p-accent) 10%,transparent),transparent 65%),radial-gradient(70% 60% at 70% 70%,rgba(20,19,15,.06),transparent 60%);pointer-events:none}.p-mapsurface__pin{position:absolute;width:32px;height:22px;border-radius:999px;background:#ffffff;border:2px solid var(--p-accent);display:grid;place-items:center;font:700 .6875rem/1 var(--vl-font-mono);color:var(--p-accent);box-shadow:0 2px 8px rgba(20,19,15,.25);cursor:pointer;z-index:1}.p-mapsurface__pin--active{background:var(--p-accent);color:#fff;border-color:var(--p-accent);box-shadow:0 2px 12px rgba(20,19,15,.4);z-index:2}@keyframes pin-fade-in{0%{opacity:0}to{opacity:1}}.p-tabs{display:flex;gap:4px;border-bottom:1px solid var(--vl-border)}.p-tabs button{background:transparent;border:0;padding:12px 16px;font:500 .84375rem var(--vl-font-sans);color:var(--vl-muted);cursor:pointer;position:relative;letter-spacing:-.005em}.p-tabs button.is-on{color:var(--vl-fg)}.p-tabs button.is-on:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--vl-fg)}.p-sect{display:grid;grid-template-columns:160px 1fr;gap:32px;align-items:baseline;margin:32px 0 24px}.p-sect__meta{display:flex;flex-direction:column;gap:4px}.p-sect__num{font-family:var(--vl-font-display);font-size:2rem;font-weight:300;color:var(--p-accent);letter-spacing:-.03em;line-height:1}.p-sect__kind{font-family:var(--vl-font-mono);font-size:.65625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--vl-muted)}.p-sect__h{font-family:var(--vl-font-display);font-size:1.375rem;font-weight:700;letter-spacing:-.02em;margin:0}.p-sect__h em{font-family:var(--vl-font-serif);font-style:italic;font-weight:400;color:var(--p-accent-ink);font-size:1.08em}.p-sect__sub{font-size:.8125rem;color:var(--vl-muted);margin:4px 0 0}.p-no-scroll::-webkit-scrollbar{width:0;height:0}.p-no-scroll{scrollbar-width:none}.pl-root{container-type:inline-size;container-name:pl;width:100%;background:var(--vl-bg);color:var(--vl-fg);font-family:var(--vl-font-sans);display:flex;flex-direction:column;min-height:100dvh;position:relative;--pl-glass:color-mix(in srgb,var(--vl-surface) 55%,transparent);--pl-glass-hov:color-mix(in srgb,var(--vl-surface) 80%,transparent)}.pl-root:before{content:"";position:absolute;top:0;left:0;right:0;height:100svh;z-index:0;background:linear-gradient(90deg,var(--vl-bg) 0,color-mix(in srgb,var(--vl-bg) 82%,transparent) 26%,color-mix(in srgb,var(--vl-bg) 52%,transparent) 55%,color-mix(in srgb,var(--vl-bg) 48%,transparent) 100%),url(/assets/landing-hero.jpg) 50% /cover no-repeat;-webkit-mask-image:linear-gradient(180deg,#000 78%,transparent);mask-image:linear-gradient(180deg,#000 78%,transparent);pointer-events:none}.pl-hero--composer{position:relative;z-index:1}.pl-nav{position:relative;z-index:3;justify-content:space-between;padding:18px 56px;flex-shrink:0}.pl-nav,.pl-nav__left{display:flex;align-items:center}.pl-nav__left{gap:22px}.vl-logo--dark{display:none}html.vl-dark .vl-logo--dark{display:inline-block}html.vl-dark .vl-logo--light{display:none}.pl-nav__right{display:flex;align-items:center;gap:10px}.pl-nav__pill{display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 13px;border-radius:8px;border:1px solid var(--vl-border);background:var(--pl-glass);backdrop-filter:blur(10px);font-size:14px;font-weight:500;color:var(--vl-fg-2);text-decoration:none;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease}.pl-nav__pill:hover{background:var(--pl-glass-hov);border-color:var(--vl-muted)}.pl-hero{flex:1;padding:24px 56px 36px;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:center;min-height:0;overflow:hidden}.pl-hero--composer{flex:none;min-height:calc(100svh - 74px);grid-template-columns:1fr 46%;gap:40px;padding:0 72px 0 56px;align-items:stretch}.pl-hero__copy{display:flex;flex-direction:column;gap:22px;max-width:660px;padding:20px 28px 32px 0;justify-content:center}.pl-hero__pill{display:inline-flex;align-items:center;gap:6px;font-weight:600;letter-spacing:.07em;color:var(--vl-highlight-ink);background:color-mix(in srgb,var(--vl-highlight) 10%,transparent);border:1px solid color-mix(in srgb,var(--vl-highlight) 22%,transparent);border-radius:999px;padding:5px 12px;width:-moz-fit-content;width:fit-content}.pl-hero__eyebrow,.pl-hero__pill{font-size:.6875rem;text-transform:uppercase}.pl-hero__eyebrow{font-family:var(--vl-font-mono);letter-spacing:.16em;color:var(--vl-muted);font-weight:500;margin:0}.pl-hero__title{display:flex;flex-direction:column;gap:12px}.pl-hero__h1{font-family:var(--vl-font-display);font-size:clamp(46px,5.7vw,82px);line-height:1.06;letter-spacing:-.032em;font-weight:700;text-transform:capitalize;text-wrap:balance;margin:0}.pl-hero__demo{position:relative;overflow:hidden;min-height:0;background:var(--vl-surface);border:1px solid var(--vl-border);border-radius:20px;box-shadow:0 24px 60px -28px rgba(18,20,15,.38);margin:22px 0;align-self:center;max-height:calc(100svh - 74px - 44px)}.pl-hero__auth{display:flex;flex-direction:column;gap:10px;max-width:660px}.pl-hero__auth .google-signin-btn,.pl-hero__auth .landing-email-btn{background-color:color-mix(in srgb,var(--vl-surface) 75%,transparent);backdrop-filter:blur(10px);border-color:var(--vl-border)}.pl-hero__auth .google-signin-btn:hover,.pl-hero__auth .landing-email-btn:hover{background-color:color-mix(in srgb,var(--vl-surface) 90%,transparent);border-color:var(--vl-muted)}.pl-hero__auth .apple-signin-btn{color:var(--text-primary)}.pl-hero__auth .apple-signin-btn:hover:not(:disabled){background-color:color-mix(in srgb,var(--vl-surface) 90%,transparent);border-color:var(--vl-muted)}.pl-hero__hint{align-self:center;margin:0;padding:5px 14px;border-radius:999px;font-size:.75rem;text-align:center;color:var(--vl-fg-2);background-color:color-mix(in srgb,var(--vl-surface) 75%,transparent);backdrop-filter:blur(10px)}.pl-values{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;width:100%;max-width:1240px;margin:0 auto;padding:72px 56px 84px;border-top:1px solid var(--vl-border-soft)}.pl-value{display:flex;flex-direction:column;gap:12px}.pl-value__icon{width:42px;height:42px;border-radius:12px;background:var(--vl-highlight-soft);color:var(--vl-highlight-ink);display:inline-flex;align-items:center;justify-content:center}.pl-value__title{font-family:var(--vl-font-display);font-size:1.0625rem;font-weight:600;letter-spacing:-.01em;color:var(--vl-fg);margin:0}.pl-value__desc{font-size:.9rem;line-height:1.6;color:var(--vl-fg-2);margin:0}.pl-photo-grid{display:grid;grid-template-columns:1.15fr 1fr;grid-template-rows:1fr 1fr;gap:5px;height:100%;width:100%}.pl-photo-grid__item{overflow:hidden;position:relative;background:var(--vl-surface-hov)}.pl-photo-grid__item--tall{grid-row:1/3}.pl-photo-grid__item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.25,.46,.45,.94)}.pl-photo-grid__item:hover img{transform:scale(1.04)}.pl-photo-badge{position:absolute;bottom:28px;left:-20px;z-index:2;background:color-mix(in srgb,var(--vl-surface) 88%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--vl-border-soft);border-radius:14px;padding:12px 16px;display:flex;align-items:flex-start;gap:10px;box-shadow:0 8px 32px rgba(0,0,0,.1),0 2px 8px rgba(0,0,0,.06);pointer-events:none;white-space:nowrap}.pl-photo-badge__icon{width:28px;height:28px;border-radius:50%;flex-shrink:0;background:color-mix(in srgb,var(--vl-highlight) 14%,transparent);display:flex;align-items:center;justify-content:center;color:var(--vl-highlight-ink);font-size:.8125rem;margin-top:1px}.pl-photo-badge__text{display:flex;flex-direction:column;gap:2px}.pl-photo-badge__title{font-size:.8125rem;font-weight:600;color:var(--vl-fg);line-height:1.2}.pl-photo-badge__sub{font-size:.6875rem;color:var(--vl-muted);line-height:1.2}.pl-foot{padding:14px 56px 20px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--vl-border-soft);font-family:var(--vl-font-mono);font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--vl-muted);gap:14px}@container pl (max-width: 1100px){.pl-nav{padding:16px 32px}.pl-hero{grid-template-columns:1fr;gap:32px;padding:24px 32px 32px;align-items:start}.pl-hero--composer{padding:16px 32px 32px;gap:24px;grid-template-columns:1fr}.pl-hero__copy{max-width:none;gap:18px;padding:0}.pl-hero__h1{font-size:clamp(40px,6vw,64px)}.pl-hero__demo{min-height:340px;border-radius:16px;border-right:1px solid var(--vl-border);margin:0;align-self:stretch;max-height:none;box-shadow:0 14px 36px -20px rgba(18,20,15,.28)}.pl-photo-badge{left:16px}.pl-values{grid-template-columns:repeat(2,1fr);gap:28px 40px;padding:56px 32px 64px}.pl-foot{padding:14px 32px 20px}}@container pl (max-width: 600px){.pl-nav{padding:14px 20px}.pl-hero,.pl-hero--composer{padding:20px 20px 24px;gap:24px}.pl-hero__h1{font-size:clamp(32px,9.5vw,44px)}.pl-hero__auth{max-width:100%}.pl-hero__demo{min-height:260px;border-radius:12px}.pl-values{grid-template-columns:1fr;gap:26px;padding:44px 20px 52px}.pl-photo-badge{display:none}.pl-foot{padding:12px 20px 18px;flex-direction:column;align-items:flex-start;gap:8px}.pl-hero__demo .p-bubble{max-width:92%;font-size:.8125rem;padding:8px 12px}.pl-hero__demo .p-hcard{flex-direction:column}.pl-hero__demo .p-hcard__img{flex:0 0 auto;width:100%;height:140px}}@media (max-width:1100px){.pl-root{height:auto;min-height:100dvh;overflow-x:hidden;overflow-y:auto;grid-template-rows:auto auto auto}.pl-hero{overflow:visible;min-height:unset}.pl-root:before{display:none}.pl-hero--composer:before{content:"";position:absolute;top:-80px;left:0;right:0;bottom:-24px;z-index:-1;background:linear-gradient(180deg,color-mix(in srgb,var(--vl-bg) 88%,transparent) 0,color-mix(in srgb,var(--vl-bg) 58%,transparent) 26%,color-mix(in srgb,var(--vl-bg) 32%,transparent) 56%,color-mix(in srgb,var(--vl-bg) 24%,transparent) 100%),url(/assets/landing-hero-mobile.jpg) 50% /cover no-repeat;-webkit-mask-image:linear-gradient(180deg,#000 90%,transparent);mask-image:linear-gradient(180deg,#000 90%,transparent);pointer-events:none}}@media (max-width:600px){.pl-nav__auth-link{display:none}}.p-empty-steps{margin-top:52px;border:1px solid var(--vl-border);border-radius:20px;overflow:hidden;display:grid;grid-template-columns:repeat(3,1fr)}.p-empty-steps__col{padding:clamp(36px,3.8vw,56px) clamp(28px,3.2vw,48px);border-right:1px solid var(--vl-border);display:flex;flex-direction:column;gap:24px}.p-empty-steps__col:last-child{border-right:0}.p-empty-steps__num{font-family:var(--vl-font-mono);font-size:.6875rem;letter-spacing:.18em;color:var(--vl-muted);text-transform:uppercase}.p-empty-steps__node{width:56px;height:56px;border-radius:14px;background:color-mix(in srgb,var(--vl-highlight) 10%,transparent);border:1px solid color-mix(in srgb,var(--vl-highlight) 22%,transparent);display:grid;place-items:center;color:var(--vl-highlight-ink);flex:none}.p-empty-steps__h{font-family:var(--vl-font-display);font-size:clamp(20px,1.9vw,28px);font-weight:600;letter-spacing:-.02em;line-height:1.12;margin:0;color:var(--vl-fg)}.p-empty-steps__p{font-size:clamp(13.5px,1.1vw,15px);color:var(--vl-fg-2);line-height:1.65;margin:0}@media (max-width:860px){.p-empty-steps{grid-template-columns:1fr}.p-empty-steps__col{border-right:0;border-bottom:1px solid var(--vl-border);padding:clamp(28px,4vw,40px) clamp(22px,4vw,36px)}.p-empty-steps__col:last-child{border-bottom:0}}.p-about-steps{border:1px solid var(--vl-border);border-radius:20px;overflow:hidden;display:grid;grid-template-columns:repeat(4,1fr);background:var(--vl-surface)}.p-about-steps__col{padding:clamp(28px,2.6vw,40px) clamp(22px,2.2vw,32px);border-inline-end:1px solid var(--vl-border);display:flex;flex-direction:column;gap:18px}.p-about-steps__col:last-child{border-inline-end:0}.p-about-steps__artifact{margin-top:auto;padding-top:18px}@media (max-width:1100px){.p-about-steps{grid-template-columns:repeat(2,1fr)}.p-about-steps__col:nth-child(2n){border-inline-end:0}.p-about-steps__col:nth-child(-n+2){border-bottom:1px solid var(--vl-border)}}@media (max-width:640px){.p-about-steps{grid-template-columns:1fr}.p-about-steps__col{border-inline-end:0!important;border-bottom:1px solid var(--vl-border)}.p-about-steps__col:last-child{border-bottom:0}}@media (prefers-reduced-motion:reduce){.p-about-steps *,.pl-hero__copy *,.pl-hero__demo *{animation:none!important;transition:none!important}}.p-credit-row{display:grid;grid-template-columns:100px 1fr auto auto;align-items:center;gap:16px}.p-credit-card{cursor:pointer;font:inherit;text-align:left;width:100%;transition:background .15s ease,box-shadow .15s ease}.p-credit-card:hover{background:color-mix(in srgb,var(--vl-fg) 4%,var(--vl-surface))!important}.p-credit-card--highlighted:hover{background:color-mix(in srgb,var(--vl-highlight) 8%,var(--vl-surface))!important}@media (max-width:767px){.p-page{padding:20px 16px 80px}.p-page__h1{font-size:1.3125rem;text-wrap:balance}.p-credit-row{grid-template-columns:1fr auto;grid-template-rows:auto auto}.p-credit-row__badges{grid-column:1/-1;order:3}}.msg-action-btn{color:var(--vl-muted);transition:color .12s ease,background-color .12s ease}.msg-action-btn:hover{color:var(--vl-fg);background:color-mix(in srgb,var(--vl-fg) 6%,transparent)}.msg-action-btn--active,.msg-action-btn--active:hover{color:var(--vl-fg)}