/* Website VI layer. Original layout, animation and payment styles stay intact.
   Never set inherited website tokens: the #pricing section must retain its design. */
body.vi-home,body.vi-checkout,body.vi-reset,body.vi-legal{--vi-ink:#1f1f21;--vi-gray:#edecea;--vi-gold:#b89a5c;--vi-muted:#686762;--vi-line:#d9d6cf}
.vi-home .site-banner,.vi-checkout .site-banner,.vi-reset .site-banner{background:rgba(248,247,244,.9);border-bottom-color:rgba(31,31,33,.07)}
.vi-home .site-banner__link,.vi-checkout .site-banner__link,.vi-reset .site-banner__link{color:#5d5c58}
.vi-home .site-banner__link.is-active,.vi-home .site-banner__link:hover,.vi-checkout .site-banner__link:hover{color:#1f1f21}
.vi-home .site-banner__link::after,.vi-checkout .site-banner__link::after{background:#b89a5c}
.vi-home .site-banner__experience,.vi-checkout .site-banner__experience{background:#1f1f21;box-shadow:none}
.vi-home .site-banner__shell{width:min(1400px,calc(100% - 160px))}
.vi-home .site-banner__brand:hover .site-banner__logo,.vi-checkout .site-banner__brand:hover .site-banner__logo,.vi-reset .site-banner__brand:hover .site-banner__logo{filter:none}

/* Approved homepage: quiet material backdrop and two real product previews. */
#home{background:#edecea url('assets/website-vi/home-background-v4.jpg') center/cover no-repeat!important;color:#1f1f21}
#home .hero-v17-bg{background:none!important}
#home .hero-v17-shell{width:min(1400px,calc(100% - 120px));grid-template-columns:.88fr 1.12fr!important;gap:34px!important;min-height:calc(100dvh - var(--header) - 40px)}
#home .hero-v17-copy{max-width:640px}
#home .vi-eyebrow{color:#967741;font-size:14px;line-height:1.6;font-weight:650;letter-spacing:.16em}
#home .hero-v17-title{font-size:clamp(46px,4.15vw,68px)!important;line-height:1.25!important;letter-spacing:-.055em!important;margin:24px 0 22px!important}
#home .hero-v17-title span{color:#303033!important;background:none!important;-webkit-text-fill-color:#303033!important}
#home .hero-v17-title span+span{margin-top:0!important}
#home .hero-subtitle-v17{display:block!important;min-height:0!important;width:auto!important;max-width:100%!important;margin:0!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;font-size:18px!important;line-height:1.8!important;white-space:normal!important;color:#686762!important}
#home .hero-subtitle-v17::before{content:none!important}
#home .hero-v17-actions{display:flex!important;flex-direction:row!important;gap:16px!important;flex-wrap:nowrap!important;margin:34px 0 0!important}
#home .hero-v17-actions .button-hero-neutral{width:220px!important;min-height:56px!important;padding:0 18px!important;border-radius:9px!important;font-size:16px!important;box-shadow:none!important}
#home .hero-v17-actions .hero-cta-property,#home .hero-v17-actions .hero-cta-stock{background:rgba(255,255,255,.25)!important;border-color:#777570!important;color:#1f1f21!important}
#home .hero-v17-actions .hero-cta-property:hover,#home .hero-v17-actions .hero-cta-stock:hover{background:#b89a5c!important;border-color:#b89a5c!important;color:#fff!important}
.vi-product-summary{display:flex;gap:28px;margin-top:44px}
.vi-product-summary>div{display:flex;gap:12px;align-items:center}
.vi-product-summary>div+div{border-left:1px solid #cfcbc3;padding-left:24px}
.vi-product-summary img{width:28px;height:28px;flex:none;filter:brightness(0)}
.vi-product-summary p{margin:0;display:grid;gap:5px;font-size:14px;color:#1f1f21}
.vi-product-summary span{font-size:12px;color:#686762}
#home .hero-v17-stage{height:min(72vh,670px)!important;min-height:500px!important;overflow:visible!important}
#home .dual-product-showcase,#home .dual-product-showcase.is-focus-property,#home .dual-product-showcase.is-focus-stock{position:relative;inset:auto!important;width:100%!important;height:100%!important;min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;overflow:visible!important}
#home .app-window{position:absolute!important;width:96%!important;max-width:none!important;inset:auto!important;padding:0!important;height:auto!important;aspect-ratio:1.34;border:3px solid #343436!important;border-radius:12px!important;overflow:hidden;background:#edecea!important;color:#1f1f21!important;box-shadow:0 22px 48px rgba(31,31,33,.2)!important;transition:transform .55s ease,opacity .4s ease,filter .4s ease,box-shadow .4s ease}
#home .app-window-property{left:-3%!important;top:0!important;width:92%!important;z-index:2;transform:none!important;opacity:1!important;filter:none!important}
#home .app-window-stock{left:22%!important;top:29%!important;width:78%!important;z-index:3;transform:none!important;opacity:1!important;filter:none!important}
#home .dual-product-showcase.is-focus-property .app-window-property{z-index:7;transform:translate(-12px,-12px) scale(1.035)!important}
#home .dual-product-showcase.is-focus-property .app-window-stock{z-index:2;transform:translate(16px,16px) scale(.95)!important;opacity:.72!important}
#home .dual-product-showcase.is-focus-stock .app-window-stock{z-index:7;transform:translate(-12px,-12px) scale(1.035)!important}
#home .dual-product-showcase.is-focus-stock .app-window-property{z-index:2;transform:translate(-10px,10px) scale(.95)!important;opacity:.72!important}
.vi-preview-header{height:34px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px;background:#1f1f21;color:white;font-size:7px;white-space:nowrap;position:relative;z-index:5}
.vi-preview-brand{display:flex;align-items:center;gap:12px;font-size:7px;flex:none}
.vi-preview-brand img{width:54px;height:auto;filter:brightness(0) invert(1)}
.vi-preview-brand>span{padding-left:9px;border-left:1px solid #77746d}
.vi-preview-nav{display:flex!important;gap:14px!important;margin:0!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;flex:none}
.vi-preview-nav>span,.vi-preview-nav>button{display:flex!important;align-items:center;min-height:34px!important;padding:0 3px!important;font-size:7px!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;background:none!important;color:#bbb8b0!important;box-shadow:none!important;cursor:default}
.vi-preview-nav>button{cursor:pointer}
.vi-preview-nav>button:focus-visible{outline:2px solid #b89a5c!important;outline-offset:-3px}
[data-product-preview] [hidden]{display:none!important}
.property-preview-stage{height:calc(100% - 34px);overflow:hidden}
.property-page-card{height:100%}
[data-product-preview] [role="tabpanel"] .vi-screen-body{height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
[data-product-preview="property"] .vi-screen-body{overflow-y:scroll!important;scrollbar-color:#9b958a #e4e1da}
[data-product-preview="property"] .vi-screen-body::-webkit-scrollbar{width:7px}
[data-product-preview="property"] .vi-screen-body::-webkit-scrollbar-track{background:#e4e1da}
[data-product-preview="property"] .vi-screen-body::-webkit-scrollbar-thumb{background:#9b958a;border:1px solid #e4e1da;border-radius:5px}
#home .app-window-stock,#home .app-window-stock .stock-page-card,#stock .stock-app-shell-v33,[data-product-preview="stock"] .vi-screen-body{background:#121316!important;color:#eee!important;color-scheme:dark}
[data-product-preview="stock"] .vi-preview-header{background:#1b1c20}
.vi-preview-nav .is-active{color:#fff!important;border-bottom-color:#b89a5c!important}
.vi-preview-account{padding:3px 5px;border:1px solid #b89a5c;border-radius:3px;font-size:6px;color:#dbc794}
.vi-screen-body{width:100%;overflow:hidden;background:#edecea}
.vi-screen-body>img{display:block;width:100%!important;max-width:none!important;height:auto!important;margin-top:-5.76%;object-fit:contain;object-position:top}
#home .stock-three-view-stage{position:relative!important;height:calc(100% - 34px)!important;min-height:0!important;padding:0!important;margin:0!important}
#home .stock-page-card{inset:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:#edecea!important;box-shadow:none!important}

/* Product overview screens: existing demo navigation and parallax hooks. */
#property,#stock{background:#f6f5f2 url('assets/website-vi/stone-background-lossless.webp') center bottom/cover no-repeat!important;color:#1f1f21!important}
#stock{background:#edecea url('assets/website-vi/finance-background-v3.jpg') center bottom/cover no-repeat!important}
#stock .stock-v17-bg{background:none!important}
#property .property-v16-shell,#stock .stock-v17-shell{width:min(1320px,calc(100% - 112px));grid-template-columns:.78fr 1.22fr!important;gap:64px!important;align-items:center!important}
#stock .stock-v17-shell{grid-template-columns:1.16fr .84fr!important}
#stock .stock-v17-copy{grid-column:2;grid-row:1}
#stock .stock-v17-stage{grid-column:1;grid-row:1}
#property .property-v16-copy h2,#stock .stock-v17-copy h2{color:#1f1f21!important;font-size:clamp(34px,3.15vw,50px)!important;line-height:1.4!important;letter-spacing:-.035em!important}
#stock .stock-v17-copy h2{font-size:clamp(32px,2.6vw,42px)!important}
#property .property-v16-copy>p,#stock .stock-v17-copy>p{color:#686762!important;font-size:15px!important;line-height:1.9!important;max-width:500px}
#property .product-kicker,#stock .product-kicker{background:none!important;border:0!important;padding:0!important;color:#8a6e37!important;box-shadow:none!important;gap:12px}
#property .product-kicker small,#stock .product-kicker small{color:#686762!important}
.vi-kicker-icon{width:22px;height:22px;display:block;filter:brightness(0)}
.vi-feature-row{display:flex;align-items:center;gap:22px;margin:28px 0 22px}
.vi-feature-row>div{display:grid;justify-items:center;gap:12px;min-width:58px;font-size:13px;color:#686762}
.vi-feature-row>div+div{padding-left:18px;border-left:1px solid #d9d6cf}
.vi-feature-row img{width:30px;height:30px;filter:grayscale(1) sepia(.7);opacity:.8}
#property .property-v16-copy>.vi-platform-note,#stock .stock-v17-copy>.vi-platform-note{font-size:13px!important;letter-spacing:.05em;margin:0 0 22px!important}
#property .property-v16-actions .button,#stock .stock-v17-actions .button{border-radius:8px!important;min-height:52px!important;padding:0 26px!important;font-size:16px!important;box-shadow:none!important}
#property .button-property{background:#b89a5c!important;color:white!important}
#stock .button-stock{background:#1f1f21!important;color:white!important}
#stock .stock-v17-actions{align-items:flex-start!important;flex-direction:column!important;gap:24px!important}
#stock .stock-v17-actions small,#stock .stock-v17-actions b{color:#686762!important}
#property .property-v16-stage,#stock .stock-v17-stage{width:100%!important;min-height:0!important;height:auto!important;overflow:visible!important}
#property .vi-product-display,#stock .vi-product-display{position:relative!important;display:block!important;inset:auto!important;width:100%!important;height:auto!important;min-height:0!important;padding:0!important;background:none!important;box-shadow:none!important;border:0!important;transform:translateY(0)!important;transition:transform .35s ease!important}
#property .vi-product-screen,#stock .vi-product-screen{display:block!important;position:relative;inset:auto!important;width:100%!important;min-height:0!important;height:auto!important;aspect-ratio:1.25;padding:0!important;border:4px solid #343436!important;border-radius:12px!important;background:#edecea!important;overflow:hidden!important;box-shadow:0 24px 48px rgba(31,31,33,.18)!important}
#property .vi-product-screen,#stock .vi-product-screen{transform:none!important;animation:none!important;transition:box-shadow .35s ease!important}
@media(hover:hover) and (pointer:fine){
  #property .property-v16-stage:hover .vi-product-display,#stock .stock-v17-stage:hover .vi-product-display{transform:translateY(-3px)!important}
}
@media(prefers-reduced-motion:reduce){
  #property .vi-product-display,#stock .vi-product-display,#property .vi-product-screen,#stock .vi-product-screen{transition:none!important}
  #property .property-v16-stage:hover .vi-product-display,#stock .stock-v17-stage:hover .vi-product-display{transform:none!important}
}
#stock .stock-dashboard-v33{position:relative!important;height:calc(100% - 34px)!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}
#stock .stock-screen-v35{position:absolute!important;inset:0!important;height:100%!important;padding:0!important;overflow:hidden!important;animation:none!important;transition:none!important;transform:none!important}
/* Keep the dark preview's clipping layers dark during fractional-pixel lift frames. */
#stock .vi-product-screen,#stock .stock-dashboard-v33,#stock .stock-screen-v35{background:#121316!important}
.vi-demo-caption{margin:18px 0 0!important;padding:0!important;font-size:12px!important;line-height:1.7!important;text-align:center;color:#686762!important;background:none!important}

/* FAQ: color properties only. Existing dimensions and layout are protected. */
body.vi-home main>#faq.faq-section{background:#edecea!important;color:#1f1f21!important}
#faq .faq-heading-v46,#faq .faq-hero-v46{background:none!important;color:#1f1f21!important}
#faq .section-label{background:#e8e3d8!important;border-color:#d5c5a1!important;color:#826731!important}
#faq .faq-heading-v46 h2{color:#1f1f21!important}
#faq .faq-heading-v46 p,#faq .faq-answer p,#faq .faq-legal-v46 p{color:#686762!important}
#faq .faq-list-v46{background:rgba(255,255,255,.7)!important;border-color:#d9d6cf!important;box-shadow:0 18px 50px rgba(31,31,33,.04)!important}
#faq .faq-item,#faq .faq-legal-v46 article{background:#fff!important;border-color:#d9d6cf!important;box-shadow:0 8px 24px rgba(31,31,33,.03)!important}
#faq .faq-item,#faq .faq-item.is-open{background:linear-gradient(120deg,#ffffff 0%,#f5f5f3 65%,#eeefed 100%)!important;border-color:#d5d6d2!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 24px rgba(31,31,33,.04)!important}
#faq .faq-item button{color:#303334!important}
#faq .faq-item .faq-answer p{color:#5d6262!important}
#faq .faq-item button::before{background:linear-gradient(135deg,#e9ebe7,#d9ddd6)!important;color:#505957!important;border-color:#c9d0c7!important}
#faq .faq-item button i{background:#e7eae4!important;color:#5c6560!important;border-color:#c9d0c7!important}
#faq .faq-item:hover{background:linear-gradient(120deg,#fffdf8 0%,#f8f0df 65%,#f0e2c5 100%)!important;border-color:#b89a5c!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 8px 24px rgba(132,102,46,.04)!important}
#faq .faq-item:hover button{color:#3b3020!important}
#faq .faq-item:hover .faq-answer p{color:#56482f!important}
#faq .faq-item:hover button::before{background:linear-gradient(135deg,#f1e5ca,#e5d3ab)!important;color:#72592f!important;border-color:#d5bf95!important}
#faq .faq-item:hover button i{background:#f3e9d3!important;color:#806636!important;border-color:#d5bf95!important}
#faq .faq-legal-v46 article::after{background:#b89a5c!important}
#faq .faq-legal-v46 span{color:#8a6e37!important}
#faq .faq-legal-v46 b{color:#1f1f21!important}
#faq .site-footer{background:#1f1f21!important;border-color:#343436!important}
#faq .footer-brand p,#faq .footer-cols a,#faq .footer-contact-line,#faq .footer-bottom{color:#bdbab2!important}
#faq .footer-cols b,#faq .footer-service-trigger{color:#f5f3ed!important}
.vi-home .experience-dialog{background:#fff;color:#1f1f21}

/* Existing auth markup and form behavior; neutral surfaces, gold accents. */
.auth-dialog{color:#1f1f21;border:1px solid #d5c5a1;border-radius:12px;max-height:calc(100dvh - 36px);overflow-y:auto;width:min(500px,calc(100% - 32px));box-shadow:0 28px 90px rgba(31,31,33,.2)}
.auth-dialog::backdrop{background:rgba(31,31,33,.42);backdrop-filter:blur(3px)}
.auth-shell{padding:36px 40px 34px}
.auth-heading h2{font-size:29px}
.auth-heading p{font-size:13px;color:#85817a}
.auth-close{background:transparent;color:#686762}
.auth-tabs{padding:0;background:none;border-bottom:1px solid #d9d6cf;border-radius:0;gap:0;margin-bottom:24px}
.auth-tabs button{font-size:16px;min-height:48px;border-radius:0}
.auth-tabs button.is-active{color:#1f1f21;background:none;box-shadow:none;border-bottom:3px solid #b89a5c}
.auth-field>span{font-size:13px;color:#686762}
.auth-field input{border-color:#d9d6cf;border-radius:9px;font-size:14px;height:49px}
.auth-field input:focus{border-color:#b89a5c;box-shadow:0 0 0 3px rgba(184,154,92,.12)}
.auth-form{gap:18px}
.auth-submit{background:#b89a5c;box-shadow:none;border-radius:9px;min-height:50px;font-size:15px}
.auth-submit:hover{background:#a88a4e;box-shadow:none}
.auth-text-button,.auth-terms a{color:#8a6e37;font-size:12px}
.auth-terms{font-size:12px;color:#686762}
.auth-terms input{accent-color:#b89a5c}
.auth-account-badge,.auth-status{background:#f3f1eb}
.auth-status{font-size:13px;color:#686762}
.auth-status[data-type="error"]{background:#fff1f0;color:#a33b32}
.auth-status[data-type="success"]{background:#edf8f3;color:#267257}
@media(min-width:761px){
  .auth-shell{padding:40px 40px 44px}
  .auth-brand{margin-bottom:30px}
  .auth-heading{margin-bottom:26px}
  .auth-tabs{margin-bottom:28px}
  .auth-tabs button{min-height:54px}
  .auth-form{gap:24px}
  .auth-field input{height:52px}
  .auth-submit{min-height:54px}
  .auth-dialog:has(#authLoginPanel:not([hidden])) .auth-shell{min-height:600px}
  .auth-dialog:has(#authForgotPanel:not([hidden])) .auth-shell{min-height:560px}
}

/* Shared compact authentication: existing email handlers and recovery stay intact. */
.auth-dialog.auth-compact{width:min(400px,calc(100% - 32px));border-radius:14px}
#authDialog.auth-compact .auth-shell{padding:32px 39px;min-height:0}
.auth-compact .auth-brand{justify-content:center;padding:0;margin:0 0 14px}
.auth-compact .auth-brand img{width:80px;height:48px;object-fit:contain}
.auth-compact .auth-heading{text-align:center;margin:0 0 28px}
.auth-compact .auth-heading h2{font-size:20px;line-height:28px}
.auth-compact .auth-heading p{display:none}
.auth-method-tabs{display:flex;gap:24px;border-bottom:1px solid #d9d6cf;margin-bottom:20px}
.auth-method-tabs button{position:relative;background:none;border:0;border-radius:0;padding:0 0 10px;font-size:13px;line-height:20px;color:#76736d;cursor:pointer}
.auth-method-tabs button[aria-pressed=true]{color:#1f1f21;font-weight:600}
.auth-method-tabs button[aria-pressed=true]::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:3px;background:#b89a5c;border-radius:2px}
.auth-compact .auth-form{gap:12px}
.auth-compact .auth-field>span:not(.auth-password-row){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.auth-compact .auth-password-row b{display:none}
.auth-compact .auth-password-row{justify-content:flex-end}
.auth-compact .auth-field input{height:40px;border-radius:8px;font-size:13px}
.auth-compact .auth-submit{height:40px;min-height:40px;font-size:14px;border-radius:8px;transform:none}
.auth-number-line,.auth-code-line{display:flex;align-items:center;height:40px;border:1px solid #d9d6cf;border-radius:8px;overflow:hidden;background:#fff}
.auth-compact .auth-field .auth-number-line input,.auth-compact .auth-field .auth-code-line input{border:0;box-shadow:none;min-width:0;flex:1;width:0;background:transparent}
.auth-number-line>span{font-size:12px;padding:0 10px 0 12px;border-right:1px solid #d9d6cf}
.auth-number-line:focus-within,.auth-code-line:focus-within{border-color:#b89a5c;box-shadow:0 0 0 2px #b89a5c14}
.auth-code-line .auth-phone-send{height:32px;min-height:32px;max-width:125px;margin-right:3px;padding:0 7px;border:0;border-radius:5px;background:#f3f1eb;color:#8a6e32;font-size:12px;white-space:nowrap}
.auth-compact .auth-phone-open,.auth-compact #authPhoneBack{display:none}
.auth-compact .auth-phone-actions:has(#authPhoneEdit[hidden]){display:none}
.auth-compact .auth-phone-actions{order:1}
.auth-compact .auth-terms{font-size:11px;line-height:20px}
.auth-compact .auth-terms input{flex-shrink:0;margin-top:2px}
.auth-compact .auth-phone-note{font-size:11px;color:#76736d;line-height:1.6}
.auth-mode-switch{display:flex;justify-content:center;gap:4px;margin-top:18px;font-size:12px;line-height:20px;color:#76736d}
.auth-mode-switch button{border:0;background:none;padding:0;color:#8a6e32;font:inherit;cursor:pointer}
@media(max-width:520px){#authDialog.auth-compact .auth-shell{padding:28px 24px}.auth-compact .auth-field input{font-size:16px}}

/* Website auth follows the approved stock form rhythm, within the original modal. */
#authDialog.auth-compact{width:min(490px,calc(100% - 32px));height:600px;max-height:calc(100dvh - 32px);margin: max(16px,calc((100dvh - 600px)/2)) auto 0;overflow-y:auto;box-sizing:border-box}
#authDialog.auth-compact[data-auth-view=account]{height:auto}
#authDialog.auth-compact:is([data-auth-view=account],[data-auth-view=phone-bind],[data-auth-view=phone-identity]){height:auto;inset-block-end:auto;margin-top:max(16px,calc((100dvh - 540px)/2))}
#authDialog.auth-compact:is([data-auth-view=account],[data-auth-view=phone-bind],[data-auth-view=phone-identity]) .auth-heading{margin-bottom:24px}
#authDialog.auth-compact .auth-account-badge,#authDialog.auth-compact .auth-account>h3{display:none}
#authDialog.auth-compact .auth-account{padding:0;background:transparent;border:0}
#authDialog.auth-compact .auth-contact-list{display:grid;gap:0;margin:4px 0 28px;border-block:1px solid #e4e0d8;text-align:left}
#authDialog.auth-compact .auth-contact-row{display:flex;align-items:center;gap:12px;padding:19px 0;font-size:14px;line-height:22px}
#authDialog.auth-compact .auth-contact-row+ .auth-contact-row{border-top:1px solid #e4e0d8}
#authDialog.auth-compact .auth-contact-row>span:first-child{min-width:48px;color:#76736d}
#authDialog.auth-compact .auth-contact-value{min-width:0;flex:1;overflow-wrap:anywhere;color:#252525}
#authDialog.auth-compact #authAccountEmail{font:inherit;color:inherit;margin:0}
#authDialog.auth-compact .auth-contact-state{color:#76736d;font-size:12px;white-space:nowrap}
#authDialog.auth-compact #authBindOpen{font-size:14px;white-space:nowrap}
#authDialog.auth-compact .auth-account-actions{display:grid;gap:12px}
#authDialog.auth-compact .auth-account-actions .button{min-height:46px;border:1px solid #d9d6cf;border-radius:8px;background:transparent;box-shadow:none;color:#76736d;font-size:14px}
#authDialog.auth-compact .auth-account-actions .button-stock{background:#b89a5c;border-color:#b89a5c;color:#fff}
#authDialog.auth-compact .auth-binding-copy{margin:0 0 24px;color:#76736d;font-size:14px;line-height:22px;text-align:left}
#authDialog.auth-compact .auth-binding-back{display:block;margin:22px auto 0;font-size:14px;line-height:22px;color:#8a6e32}
#authDialog.auth-compact #authPhoneBindingForm>.auth-phone-actions{margin:0;order:0}
#authDialog.auth-compact .auth-shell{padding:36px 39px;min-height:0!important}
#authDialog.auth-compact .auth-brand{margin-bottom:20px}
#authDialog.auth-compact .auth-brand img{width:56px;height:56px}
#authDialog.auth-compact .auth-heading{margin-bottom:30px}
#authDialog.auth-compact .auth-heading h2{font-size:24px;line-height:32px;letter-spacing:normal}
#authDialog.auth-compact .auth-method-tabs{gap:30px;margin-bottom:24px}
#authDialog.auth-compact .auth-method-tabs button{font-size:16px;line-height:24px;padding-bottom:12px}
#authDialog.auth-compact .auth-form{gap:16px}
#authDialog.auth-compact #authPhoneForm>.auth-phone-actions{display:none}
#authDialog.auth-compact .auth-account-actions[hidden]{display:none!important}
#authDialog.auth-compact #authPhoneBindingForm>.auth-phone-actions:has(#authBindEdit[hidden]){display:none}
#authDialog.auth-compact .auth-password-row{display:none}
#authDialog.auth-compact .auth-field input{height:50px;border-radius:8px;font-family:inherit;font-size:16px;font-weight:400;letter-spacing:normal}
#authDialog.auth-compact .auth-field input::placeholder{font-family:inherit;font-size:16px;font-weight:400;color:#76736d;opacity:1}
#authDialog.auth-compact .auth-submit{height:50px;min-height:50px;font-size:16px;font-weight:500;border-radius:8px}
#authDialog.auth-compact .auth-number-line,#authDialog.auth-compact .auth-code-line{height:50px;background:#f6f5f3}
#authDialog.auth-compact .auth-number-line>span{font-size:14px;font-weight:400;padding-left:16px}
#authDialog.auth-compact .auth-field .auth-number-line input:focus,#authDialog.auth-compact .auth-field .auth-code-line input:focus{outline:none;border:0;box-shadow:none}
#authDialog.auth-compact .auth-code-line .auth-phone-send{height:40px;min-height:40px;max-width:145px;padding:0 12px;font-size:14px;font-weight:400}
#authDialog.auth-compact .auth-entry-agreement,#authDialog.auth-compact .auth-terms{font-family:inherit;font-size:14px;font-weight:400;line-height:22px;color:#76736d;margin:0 0 8px}
#authDialog.auth-compact .auth-entry-agreement a,#authDialog.auth-compact .auth-terms a{font-family:inherit;font-size:14px;font-weight:400;line-height:22px;color:#8a6e32;text-decoration:none}
#authDialog.auth-compact .auth-agreement-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}
#authDialog.auth-compact #authForgotPassword{margin-left:auto;white-space:nowrap;font-size:12px;font-weight:400}
#authDialog.auth-compact .auth-mode-switch{font-size:14px;line-height:22px;margin-top:24px;gap:8px}
@media(max-width:520px){#authDialog.auth-compact .auth-shell{padding:28px 24px}#authDialog.auth-compact{margin-top:16px;height:620px}}
@media(max-width:520px){#authDialog.auth-compact:is([data-auth-view=account],[data-auth-view=phone-bind],[data-auth-view=phone-identity]){margin-top:16px}}

/* Checkout styling only: IDs, providers, amount, consent and controller untouched. */
body.vi-checkout{background:#edecea url('assets/website-vi/home-background-v4.jpg') center/cover fixed no-repeat;color:#1f1f21}
html:has(body.vi-checkout){overflow-y:auto;scrollbar-gutter:auto}
@media(min-width:761px){
.vi-checkout .checkout-main{width:min(1240px,calc(100% - 64px));height:100dvh;min-height:0;padding:calc(var(--checkout-header) + 14px) 0 14px;display:grid;grid-template-rows:auto auto;align-content:start;gap:16px}
.vi-checkout .checkout-intro{max-width:none;margin:0;text-align:center}
.vi-checkout .checkout-eyebrow{min-height:24px;padding:0;font-size:12px;gap:8px}
.vi-checkout .checkout-eyebrow i{width:7px;height:7px}
.vi-checkout .checkout-intro h1{margin:6px 0;font-size:clamp(28px,3vw,38px);line-height:1.2}
.vi-checkout .checkout-intro p{font-size:13px;line-height:1.5}
.vi-checkout .checkout-grid{min-height:0;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:18px;align-items:stretch}
.vi-checkout .checkout-card{min-height:0;padding:24px;display:flex;flex-direction:column}
.vi-checkout .card-label{font-size:17px}
.vi-checkout .product-summary{gap:16px;margin:22px 0 20px}
.vi-checkout .product-mark{width:56px;height:56px;font-size:17px}
.vi-checkout .product-summary h3{font-size:21px}
.vi-checkout .product-period{margin:5px 0 0;font-size:13px}
.vi-checkout .price-row{padding:18px 0}
.vi-checkout .price-row strong{font-size:36px}
.vi-checkout .price-row span{font-size:13px}
.vi-checkout .order-promises{gap:16px;margin-top:22px}
.vi-checkout .order-promises b{font-size:14px}
.vi-checkout .order-promises small{font-size:12px}
.vi-checkout .order-promises li>span{width:26px;height:26px}
.vi-checkout .card-heading h2{font-size:21px}
.vi-checkout .order-validity{font-size:12px}
.vi-checkout .payment-methods{gap:12px;margin-top:18px}
.vi-checkout .payment-method{min-height:72px;padding:12px 16px;gap:14px}
.vi-checkout .payment-method.is-selected{padding:11px 15px}
.vi-checkout .payment-icon{width:44px;height:44px;border-radius:11px}
.vi-checkout .payment-icon img{width:26px;height:26px}
.vi-checkout .payment-method b{font-size:17px}
.vi-checkout .payment-method small{font-size:12px}
.vi-checkout .method-radio{width:22px;height:22px}
.vi-checkout .payment-method.is-selected .method-radio{border-width:6px}
.vi-checkout .payment-confirmation{margin-top:18px;padding-top:18px}
.vi-checkout .payment-consent{gap:10px;font-size:13px;line-height:1.6}
.vi-checkout .payment-consent input{width:22px;height:22px}
.vi-checkout .payment-proceed{min-height:50px;margin-top:18px;font-size:17px}
.vi-checkout .checkout-help{margin-top:0;padding-top:16px;font-size:12px;line-height:1.5}
.vi-checkout .checkout-help>img{width:18px;height:18px}
.vi-checkout .checkout-state{min-height:0;margin-top:16px;padding:16px;gap:6px}
.vi-checkout .state-orbit{width:32px;height:32px;margin-bottom:0}
.vi-checkout .checkout-state h3{font-size:16px}
.vi-checkout .checkout-state p{margin:0;font-size:12px;line-height:1.5}
.vi-checkout .qr-panel{grid-template-columns:180px minmax(0,1fr);gap:12px;margin-top:18px;padding:16px}
.vi-checkout .order-number{padding-top:10px;overflow-wrap:anywhere}
.vi-checkout .checkout-success{margin-top:18px;padding:24px 12px}
}
@media(min-width:1100px){
  .vi-checkout .site-banner__shell{width:min(1400px,calc(100% - 160px))}
  .vi-checkout .checkout-main{width:min(1240px,calc(100% - 112px))}
}
@media(min-width:761px) and (max-height:760px){
  .vi-checkout .checkout-main{gap:10px;padding-top:calc(var(--checkout-header) + 8px);padding-bottom:10px}
  .vi-checkout .checkout-intro h1{font-size:30px;margin:3px 0}
  .vi-checkout .checkout-card{padding:18px 22px}
  .vi-checkout .payment-methods{margin-top:12px;gap:10px}
  .vi-checkout .payment-method{min-height:62px;padding:8px 14px}
  .vi-checkout .payment-method.is-selected{padding:7px 13px}
  .vi-checkout .payment-icon{width:40px;height:40px}
  .vi-checkout .payment-confirmation{margin-top:12px;padding-top:12px}
  .vi-checkout .payment-consent{font-size:12px;line-height:1.5}
  .vi-checkout .payment-proceed{min-height:46px;margin-top:12px}
  .vi-checkout .checkout-help{padding-top:10px}
  .vi-checkout .checkout-state{margin-top:10px;padding:10px}
}
@media(max-width:760px){
  .vi-checkout .checkout-main{padding-top:calc(var(--checkout-header) + 38px)}
}
.vi-checkout .checkout-intro h1{color:#1f1f21}
.vi-checkout .checkout-intro p,.vi-checkout .checkout-help{color:#686762}
.vi-checkout .checkout-eyebrow{background:transparent;border-color:transparent;color:#8a6e37}
.vi-checkout .checkout-eyebrow i{background:#b89a5c;box-shadow:0 0 0 4px rgba(184,154,92,.12)}
.vi-checkout .checkout-card{border-color:#e0ddd6;border-radius:12px;box-shadow:0 15px 40px rgba(31,31,33,.05)}
.vi-checkout .card-label,.vi-checkout .card-heading h2,.vi-checkout .product-summary h3{color:#1f1f21}
.vi-checkout .product-mark,.vi-checkout .product-mark.is-permanent,.vi-checkout .product-mark.is-monthly,.vi-checkout .product-mark.is-yearly{background:#eee8dc;color:#8a6e37;box-shadow:none;border-radius:12px}
.vi-checkout .price-row strong{color:#a38343}
.vi-checkout .product-period,.vi-checkout .price-row span,.vi-checkout .order-promises small,.vi-checkout .no-refund-note,.vi-checkout .payment-consent,.vi-checkout .order-validity{color:#686762}
.vi-checkout .no-refund-note{background:#f6f4ef;border-color:#ded9ce}
.vi-checkout .payment-method{border-color:#d9d6cf;border-radius:10px;background:#fff;color:#1f1f21}
.vi-checkout .payment-method small{color:#686762}
.vi-checkout .payment-method:hover,.vi-checkout .payment-method.is-selected{border-color:#b89a5c;background:#faf8f2;box-shadow:none}
.vi-checkout .payment-method.is-selected .method-radio{border-color:#b89a5c}
.vi-checkout .method-radio,.vi-checkout .payment-consent input{border-color:#c5c1b8}
.vi-checkout .payment-consent input:checked{border-color:#b89a5c;background:#b89a5c}
.vi-checkout .payment-consent a,.vi-checkout .checkout-change-payment{color:#8a6e37}
.vi-checkout .payment-confirmation,.vi-checkout .price-row{border-color:#ded9ce}
.vi-checkout .payment-proceed{background:#b89a5c;border-radius:9px}
.vi-checkout .payment-proceed:disabled{background:#d4d1ca;color:#fff}
.vi-checkout .checkout-state,.vi-checkout .qr-panel{background:#f5f3ee;border-color:#ded9ce}
.vi-checkout .state-orbit i{background:#b89a5c;box-shadow:0 0 0 8px rgba(184,154,92,.12)}
.vi-checkout .checkout-state[data-kind="error"] .state-orbit i{background:#d24d45;box-shadow:0 0 0 8px rgba(210,77,69,.1)}

/* Password recovery preserves all loading, success and invalid-link states. */
body.vi-reset{background:#edecea url('assets/website-vi/stone-background-lossless.webp') center/cover fixed no-repeat;color:#1f1f21}
.vi-reset .password-reset-card{border-color:#d5c5a1;border-radius:12px;box-shadow:0 18px 50px rgba(31,31,33,.08)}
.vi-reset .password-reset-eyebrow{color:#8a6e37;background:#f6f3eb;border-color:#dfd2b7}
.vi-reset .password-reset-eyebrow i{background:#b89a5c;box-shadow:0 0 0 4px rgba(184,154,92,.12)}
.vi-reset .password-reset-copy,.vi-reset .password-reset-form label{color:#686762}
.vi-reset .password-reset-form input{border-color:#d9d6cf;border-radius:9px}
.vi-reset .password-reset-form input:focus{border-color:#b89a5c;box-shadow:0 0 0 3px rgba(184,154,92,.12)}
.vi-reset .password-reset-submit{background:#b89a5c;border-radius:9px}
.vi-reset .password-reset-submit:hover{background:#a88a4e}
.vi-reset .password-reset-home{color:#8a6e37}
.vi-reset .password-reset-status:not([data-type="error"]):not([data-type="success"]){background:#f3f1eb;color:#686762}

/* Formal policy content remains verbatim. */
body.vi-legal{color:#1f1f21;background:#edecea}
.vi-legal .legal-page{width:min(1180px,calc(100% - 64px));margin-top:32px}
.vi-legal .legal-topbar{padding-bottom:22px;border-bottom:1px solid #d9d6cf;flex-wrap:wrap}
.vi-legal-brand{margin-right:auto}
.vi-legal-brand img{width:138px;height:auto}
.vi-legal .back,.vi-legal .legal-links a{color:#686762}
.vi-legal .legal-hero,.vi-legal .legal-content{border-color:#dfdcd5;border-radius:12px;box-shadow:none}
.vi-legal .legal-hero{margin-top:26px;padding:38px 44px}
.vi-legal .legal-content{padding:14px 44px 44px}
.vi-legal h1,.vi-legal h2,.vi-legal h3{color:#1f1f21}
.vi-legal h2{border-left:3px solid #b89a5c;padding-left:14px}
.vi-legal .legal-section+.legal-section{border-color:#ded9ce}
.vi-legal p,.vi-legal li,.vi-legal .meta{color:#686762}
.vi-legal .legal-content a{color:#8a6e37}
.vi-legal .important{background:#f6f2e9;border-color:#b89a5c;color:#765b2e}
.vi-legal .contact-card{background:#f4f2ec}
.vi-legal .vi-risk-card{padding:38px 44px;background:#fff;border:1px solid #dfdcd5;border-radius:12px}
.vi-risk-card>.back{display:inline-block;margin-bottom:28px}
.vi-risk-card>.notice{padding:18px;background:#f6f2e9;border-left:3px solid #b89a5c}
.vi-risk-card>h2{margin-top:30px}
@media(min-width:821px){
  .vi-legal h1{font-size:42px}
  .vi-legal h2{font-size:24px}
  .vi-legal h3{font-size:18px}
  .vi-legal p,.vi-legal li,.vi-legal .legal-lead{font-size:16px;line-height:1.9}
  .vi-legal .meta{font-size:14px}
}

@media(min-width:1100px) and (max-width:1599px){
  #home .hero-v17-shell{width:calc(100% - 140px)!important;grid-template-columns:.84fr 1.16fr!important;gap:24px!important}
  #home .hero-v17-title{font-size:clamp(46px,4vw,64px)!important}
  #home .hero-v17-actions .button-hero-neutral{width:200px!important;font-size:15px!important}
  #home .hero-v17-stage{height:650px!important;min-height:0!important}
}
@media(max-width:1099px){
  #stock{background:linear-gradient(180deg,#edecea 0%,rgba(237,236,234,.55) 20%,rgba(237,236,234,0) 45%) center bottom/100% 540px no-repeat,#edecea url('assets/website-vi/finance-background-v3.jpg') center bottom/auto 540px no-repeat!important}
  #home .hero-v17-shell{width:calc(100% - 64px)!important;grid-template-columns:1fr!important;gap:34px!important;padding:20px 0 40px}
  #home .hero-v17-title{font-size:56px!important}
  #home .hero-v17-stage{height:600px!important;min-height:0!important;width:min(720px,100%);margin:auto}
  #home .hero-v17-copy{max-width:720px;margin:auto;width:100%}
  #home .app-window{width:82%!important}
  #home .app-window-property{left:0!important}
  #home .app-window-stock{left:18%!important;top:27%!important;width:82%!important}
  #property .property-v16-shell,#stock .stock-v17-shell{width:calc(100% - 64px);grid-template-columns:1fr!important;gap:32px!important}
  #stock .stock-v17-copy,#stock .stock-v17-stage{grid-column:auto;grid-row:auto}
  #property .vi-product-display,#stock .vi-product-display{max-width:800px;margin:auto}
}
@media(max-width:760px){
  #home{background-position:70% bottom!important}
  #home .hero-v17-shell{width:calc(100% - 40px)!important;padding:8px 0 24px;gap:30px!important}
  #home .hero-v17-copy{text-align:left!important}
  #home .vi-eyebrow{font-size:10px;line-height:1.6}
  #home .hero-v17-title{font-size:clamp(32px,8.6vw,46px)!important;line-height:1.3!important;margin:18px 0 14px!important}
  #home .hero-subtitle-v17{font-size:14px!important;line-height:1.8!important}
  #home .hero-v17-actions{gap:10px!important;margin-top:24px!important;flex-direction:column!important;flex-wrap:nowrap!important}
  #home .hero-v17-actions .button-hero-neutral{width:100%!important;min-height:48px!important;font-size:14px!important;padding:0 8px!important}
  .vi-product-summary{gap:16px;margin-top:28px}
  .vi-product-summary>div{gap:7px}
  .vi-product-summary>div+div{padding-left:12px}
  .vi-product-summary img{width:21px;height:21px}
  .vi-product-summary p{font-size:12px}
  .vi-product-summary span{font-size:9px}
  #home .hero-v17-stage{height:auto!important;aspect-ratio:.96;width:100%!important;padding:0!important}
  .vi-home .site-banner__shell{width:calc(100% - 32px)}
  #home .dual-product-showcase{position:relative!important}
  #home .app-window{width:89%!important;aspect-ratio:1.34;position:absolute!important;margin:0!important;border-width:2px!important;border-radius:7px!important;transform:none!important}
  #home .app-window-property{left:0!important;top:0!important}
  #home .app-window-stock{left:10%!important;top:30%!important}
  .vi-preview-header{height:24px;gap:4px;padding:0 6px;font-size:5px}
  .vi-preview-brand{gap:4px;font-size:5px}
  .vi-preview-brand img{width:34px}
  .vi-preview-brand>span{padding-left:4px}
  .vi-preview-nav{gap:5px!important}
  .vi-preview-nav>span,.vi-preview-nav>button{min-height:24px!important;font-size:5px!important;padding:0 2px!important;border-bottom-width:1px!important}
  .vi-preview-account{font-size:5px;padding:2px}
  #home .stock-three-view-stage,#stock .stock-dashboard-v33{height:calc(100% - 24px)!important}
  .property-preview-stage{height:calc(100% - 24px)}
  #property .property-v16-shell,#stock .stock-v17-shell{width:calc(100% - 40px)!important;gap:28px!important}
  #property .property-v16-copy h2,#stock .stock-v17-copy h2{font-size:30px!important;line-height:1.4!important}
  #property .property-v16-copy>p,#stock .stock-v17-copy>p{font-size:14px!important;line-height:1.9!important}
  .vi-feature-row{gap:14px;margin:24px 0}
  .vi-feature-row>div{font-size:11px;min-width:50px}
  .vi-feature-row>div+div{padding-left:12px}
  #property .vi-product-screen,#stock .vi-product-screen{border-width:2px!important;border-radius:7px!important}
  #property .property-v16-actions .button,#stock .stock-v17-actions .button{min-height:48px!important;font-size:14px!important}
  .auth-shell{padding:28px 24px}
  .auth-heading h2{font-size:25px}
  .auth-field input{font-size:16px}
  .vi-legal .legal-page{width:calc(100% - 28px);margin-top:20px}
  .vi-legal .legal-topbar{gap:14px}
  .vi-legal-brand{width:100%}
  .vi-legal-brand img{width:118px}
  .vi-legal .legal-hero{padding:26px 22px}
  .vi-legal .legal-content{padding:8px 22px 28px}
  .vi-legal .vi-risk-card{padding:26px 22px}
}

/* A complete first screen, sized to the available browser viewport. */
#home{height:100dvh!important;min-height:100dvh!important;padding:calc(var(--site-banner-height) + 20px) 0 20px!important}
#home .hero-v17-shell{height:100%!important;min-height:0!important;padding:0!important;grid-template-rows:minmax(0,1fr)}
#home .hero-v17-stage{height:100%!important;min-height:0!important;width:100%!important;margin:0!important;padding:0!important;aspect-ratio:auto!important;display:flex!important;align-items:center;justify-content:center;container-type:size}
#home .dual-product-showcase,#home .dual-product-showcase.is-focus-property,#home .dual-product-showcase.is-focus-stock{width:min(calc(100% - 24px),calc((100cqh - 36px) * 1.12))!important;height:auto!important;aspect-ratio:1.12;flex:none}
@media(min-width:761px) and (max-width:1099px){
  #home{padding:calc(var(--site-banner-height) + 16px) 0 16px!important}
  #home .hero-v17-shell{grid-template-rows:auto minmax(0,1fr);gap:16px!important}
  #home .hero-v17-title{font-size:clamp(34px,5vw,48px)!important;line-height:1.25!important;margin:16px 0 12px!important}
  #home .vi-eyebrow{font-size:12px}
  #home .hero-subtitle-v17{font-size:15px!important}
  #home .hero-v17-actions{margin-top:20px!important}
  #home .hero-v17-actions .button-hero-neutral{min-height:50px!important}
}
@media(max-width:760px){
  #home{padding:calc(var(--site-banner-height) + 12px) 0 12px!important}
  #home .hero-v17-shell{grid-template-rows:auto minmax(0,1fr);gap:12px!important}
  #home .hero-v17-title{font-size:clamp(28px,8.6vw,40px)!important;line-height:1.25!important;margin:14px 0 10px!important}
  #home .hero-subtitle-v17{font-size:13px!important;line-height:1.7!important}
  #home .hero-v17-actions{margin-top:16px!important;gap:8px!important}
  #home .hero-v17-actions .button-hero-neutral{min-height:44px!important}
}



