/* SOTA pass (Oct 12, PREVIEW): glass card system, hover lifts, counters, launcher, asset band. */
:root{--glass:rgba(22,24,28,.62);--glass-line:rgba(255,255,255,.10);--glow:0 18px 50px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.04)}
/* consistent card system */
.vx-door,.re-card,.re-deal,.pillar-card,.lane-card,.fs-partner-card,.ts-path li,.ts-tile,.vx-founder,.person{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015)),var(--glass);border:1px solid var(--glass-line);border-radius:14px;box-shadow:var(--glow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.fs-partner-card{background:#fff;border-color:rgba(0,0,0,.08);box-shadow:0 10px 30px rgba(0,0,0,.08)}
.vx-door{overflow:hidden}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
 .vx-door,.re-card,.re-deal,.pillar-card,.lane-card,.fs-partner-card,.ts-tile,.pf-clip,.yt-lite{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s}
 .vx-door:hover,.re-card:hover,.re-deal:hover,.pillar-card:hover,.lane-card:hover,.fs-partner-card:hover,.ts-tile:hover,.pf-clip:hover{transform:translateY(-6px);box-shadow:0 26px 60px rgba(0,0,0,.55),0 0 0 1px rgba(242,0,0,.35)}
 .vx-door .hx-door-media img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
 .vx-door:hover .hx-door-media img{transform:scale(1.05)}
}
.btn-primary{box-shadow:0 10px 28px rgba(242,0,0,.28)}
h1,h2{letter-spacing:-.01em}
/* deal card with imagery */
.df-photo{position:relative;overflow:hidden;aspect-ratio:16/10}
.df-photo picture,.df-photo img{display:block;width:100%;height:100%;object-fit:cover}
.df-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 30%,rgba(0,0,0,.82)),radial-gradient(80% 70% at 90% 0%,rgba(242,0,0,.35),transparent 60%)}
.df-photo ul{position:absolute;left:1.1rem;bottom:1rem;z-index:1;list-style:none;margin:0;padding:0}
.df-photo li{font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(1rem,2vw,1.3rem);color:#fff;line-height:1.15;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.df-photo li:nth-child(2){color:#ff3b3b}
.df-photo .df-ill{position:absolute;top:.7rem;right:.8rem;z-index:1;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.75);background:rgba(0,0,0,.45);padding:.25rem .45rem;border-radius:4px}
/* real-estate hero image */
.re-hero-bg{position:absolute;inset:0;z-index:-1}
.re-hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.42}
.re-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,17,17,.96) 0%,rgba(17,17,17,.75) 45%,rgba(17,17,17,.35) 100%),linear-gradient(0deg,var(--bg) 0%,transparent 40%)}
.re-hero-bg .df-ill{position:absolute;right:.8rem;bottom:.7rem;z-index:1;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6)}
/* asset band */
.asset-band{padding:3.5rem 0;background:radial-gradient(70% 120% at 100% 0%,rgba(242,0,0,.16),transparent 60%),linear-gradient(180deg,#0e0f11,#121316);border-block:1px solid var(--glass-line)}
.asset-band h2{font-size:clamp(1.8rem,4.2vw,3rem);max-width:20ch;margin:.25rem 0 .75rem}
.asset-band .lede{max-width:44rem;opacity:.9}
.asset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1.5rem}
.asset-grid article{padding:1.2rem;border-radius:14px;border:1px solid var(--glass-line);background:var(--glass)}
.asset-grid h3{margin:.2rem 0 .4rem;font-size:1.15rem}.asset-grid p{margin:0;font-size:.93rem;opacity:.85}
.asset-grid .k{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--red)}
.asset-band .fine{margin-top:1rem;font-size:.75rem;opacity:.6}
/* stat counters */
.ht-stats strong{font-variant-numeric:tabular-nums}
/* assistant launcher */
.ax-launch{background:linear-gradient(135deg,#f20000,#a10000)!important;border:0!important;padding:.55rem 1.05rem .55rem .55rem!important;gap:.6rem!important;font-size:.9rem!important;box-shadow:0 12px 34px rgba(242,0,0,.38),0 0 0 1px rgba(255,255,255,.12) inset!important}
.ax-launch i{width:2rem!important;height:2rem!important;background:#0d0e10 url(/public/brand/ta-orig-160.webp) center/80% no-repeat!important;border:2px solid rgba(255,255,255,.85);position:relative}
.ax-launch i::after{content:"";position:absolute;right:-2px;bottom:-2px;width:.6rem;height:.6rem;border-radius:50%;background:#ffffff;border:2px solid #b00000}
.ax-launch b{font-weight:700}
@media (prefers-reduced-motion:no-preference){.ax-launch::before{content:"";position:absolute;inset:-4px;border-radius:999px;border:2px solid rgba(242,0,0,.55);animation:axPulse 2.6s ease-out 3}}
@keyframes axPulse{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(1.18)}}
.ax-teaser{position:fixed;right:1rem;bottom:4.6rem;z-index:61;max-width:270px;background:rgba(18,19,22,.96);color:#fff;border:1px solid var(--glass-line);border-radius:14px 14px 4px 14px;padding:.85rem 2rem .85rem .95rem;font-size:.88rem;line-height:1.4;box-shadow:0 18px 40px rgba(0,0,0,.5);cursor:pointer}
.ax-teaser strong{display:block;margin-bottom:.15rem}
.ax-teaser button{position:absolute;top:.35rem;right:.4rem;background:none;border:0;color:#aaa;font-size:1.1rem;cursor:pointer;min-width:28px;min-height:28px}
@media (prefers-reduced-motion:no-preference){.ax-teaser{animation:axIn .45s cubic-bezier(.2,.7,.2,1)}}
@keyframes axIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
body:has(.ax-launch) .intern-fab{bottom:5.4rem}
/* inner-page cinematic heroes */
.page-hero{isolation:isolate}
.ph-bg{position:absolute;inset:0;z-index:-1;overflow:hidden}
.ph-bg picture,.ph-bg img,.ph-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph-bg img,.ph-bg video{opacity:.4}
.ph-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,15,17,.95) 0%,rgba(14,15,17,.7) 50%,rgba(14,15,17,.35) 100%),linear-gradient(0deg,var(--bg) 0%,transparent 45%)}
.ph-plain img,.ph-plain video{opacity:1}.ph-plain::after{display:none}
.ph-bg video{opacity:0;transition:opacity 1s}.ph-bg video.on{opacity:.4}.ph-plain video.on{opacity:1}
.pf-hero.ph-tall{padding:5.5rem 0 4rem;position:relative;overflow:hidden}
@media(min-width:900px){.page-hero{padding:6rem 0 4.5rem}}
.ph-plain{z-index:0}
