/* My KIVA · post-sign-in Welcome V2. Scoped to the authenticated welcome page. */
body.portal-active{background:#f5f5f4;color:#1d1d1f}
body.portal-active header{height:76px;padding:0 clamp(20px,4vw,64px);background:#fff;border-bottom:1px solid #e9e7e6}
body.portal-active header .brand-mark{font-size:23px}
body.portal-active header .header-note{display:none}
body.portal-active main{display:none!important}
body.portal-active footer{background:#f5f5f4}
#portal.welcome-v2{max-width:1340px;margin:0 auto;padding:0 clamp(20px,4vw,62px) 68px}
#portal.welcome-v2 > :not(.welcome-v2-root){display:none!important}
.welcome-v2-root{font-family:"Plus Jakarta Sans",Arial,sans-serif;font-weight:400;line-height:1.5;color:#232225}
.welcome-v2-root *{box-sizing:border-box}
.welcome-v2-root button,.welcome-v2-root a{font:inherit}
.welcome-v2-root a{text-decoration:none}
.wv-top{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:24px 0 21px}
.wv-breadcrumb{font-size:11px;letter-spacing:.17em;text-transform:uppercase;font-weight:700;color:#767478}
.wv-breadcrumb b{color:#e32032;margin:0 5px}
.wv-account{display:flex;align-items:center;gap:13px;min-width:0}
.wv-profile{display:flex;align-items:center;gap:11px;min-width:0;text-align:right}
.wv-avatar{width:38px;height:38px;border-radius:50%;background:#232225;color:white;font-weight:600;font-size:13px;display:grid;place-items:center;flex:none}
.wv-profile small{display:block;color:#79777b;font-size:10px;white-space:nowrap}
.wv-profile strong{display:block;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600}
.wv-signout{border:1px solid #dcdadd;border-radius:10px;background:#fff;color:#414044;padding:10px 15px;font-size:12px;font-weight:600;min-height:40px;cursor:pointer}
.wv-signout:hover{border-color:#e32032;color:#c72032}
.wv-hero{min-height:326px;overflow:hidden;position:relative;isolation:isolate;border-radius:20px;background:linear-gradient(115deg,#1c2020 0%,#292e2b 56%,#424b42 100%);color:#fff;padding:clamp(27px,5vw,58px);display:flex;align-items:center}
.wv-hero:before{content:"";position:absolute;right:-12%;top:-84%;width:min(58vw,730px);height:min(58vw,730px);border:1px solid rgba(255,255,255,.11);border-radius:50%;box-shadow:0 0 0 52px rgba(255,255,255,.028),0 0 0 112px rgba(255,255,255,.026),0 0 0 178px rgba(255,255,255,.022);z-index:-1}
.wv-hero:after{content:"";position:absolute;right:10%;bottom:20%;width:18px;height:18px;border-radius:50%;background:#e32032;box-shadow:0 0 0 20px rgba(227,32,50,.10),0 0 50px rgba(227,32,50,.3);z-index:-1}
.wv-hero-copy{max-width:680px;position:relative}
.wv-kicker{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.2em;font-weight:700;text-transform:uppercase;color:#f3e8e8;margin-bottom:18px}
.wv-kicker:before{content:"";width:8px;height:8px;border-radius:50%;background:#e32032}
.wv-hero h1{color:#fff;font-weight:300;letter-spacing:-.07em;line-height:1.11;font-size:clamp(38px,5.1vw,72px);margin:0 0 18px}
.wv-hero p{max-width:510px;font-weight:300;color:#d9ded9;font-size:clamp(13px,1.3vw,16px);line-height:1.7;margin:0 0 26px}
.wv-primary{display:inline-flex;gap:14px;align-items:center;justify-content:center;background:#e32032;color:#fff;padding:12px 20px;border-radius:10px;font-size:13px!important;font-weight:600!important;min-height:46px}
.wv-primary:hover,.wv-primary:focus-visible{background:#c7182a;color:#fff}
.wv-primary span{font-size:19px}
.wv-hero-meta{position:absolute;right:40px;bottom:25px;display:flex;align-items:center;gap:7px;color:rgba(255,255,255,.7);font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.wv-hero-meta b{font-size:16px;color:#e32032}
.wv-status-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:25px 0 4px;flex-wrap:wrap}
.wv-pills{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.wv-pill{display:inline-flex;gap:8px;align-items:center;padding:8px 13px;background:#fff;border:1px solid #e6e4e3;border-radius:30px;color:#5d5a60;font-size:11px;font-weight:600}
.wv-pill.primary{background:#fff1f2;color:#a71d30;border-color:#f3d1d5}
.wv-pill .wv-mini-dot{width:6px;height:6px;background:#e32032;border-radius:100%}
.wv-permissions{color:#8a8789;font-size:11px}
.wv-section{margin-top:39px}
.wv-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}
.wv-eyebrow{margin:0 0 7px;color:#cb2435;letter-spacing:.16em;font-size:10px;font-weight:700;text-transform:uppercase}
.wv-section h2{margin:0;font-size:clamp(22px,2.4vw,30px);letter-spacing:-.045em;font-weight:400}
.wv-section-head>p{margin:0;max-width:370px;font-size:12px;color:#8a8589;line-height:1.6;text-align:right}
.wv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.wv-card{background:#fff;border:1px solid #e9e7e5;border-radius:15px;display:flex;flex-direction:column;align-items:start;padding:24px;min-height:225px;position:relative;box-shadow:0 4px 16px #25252505;transition:transform .15s,box-shadow .15s,border-color .15s}
.wv-card:hover{border-color:#ded7d8;box-shadow:0 12px 26px #23232310;transform:translateY(-2px)}
.wv-icon{width:48px;height:48px;display:grid;place-items:center;background:#f7f3f3;border-radius:13px;color:#cc283a;margin-bottom:18px}
.wv-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linejoin:round;stroke-linecap:round}
.wv-card-kind{font-size:10px;letter-spacing:.1em;font-weight:700;text-transform:uppercase;color:#34815a;margin-bottom:6px}
.wv-card-kind.preview{color:#88838a}
.wv-card h3{font-size:19px;letter-spacing:-.04em;font-weight:500;line-height:1.25;margin:0 0 7px}
.wv-card p{font-size:12px;line-height:1.65;color:#77737a;margin:0 0 16px;max-width:270px}
.wv-card-bottom{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px;margin-top:auto}
.wv-detail{font-size:10px;color:#8a8589}
.wv-card-link{display:inline-flex;align-items:center;gap:7px;color:#bc1a2c;font-size:12px!important;font-weight:700!important;white-space:nowrap}
.wv-card-link:hover{text-decoration:underline}
.wv-card-link .wv-arrow{font-size:18px}
.wv-note{padding:20px 22px;border:1px dashed #dcd9d9;border-radius:13px;background:#fbfbfa;color:#716e72;font-size:12px;line-height:1.65}
.wv-access-row{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin-top:18px}
.wv-access{background:#fff;border:1px solid #e9e7e5;border-radius:15px;padding:22px 24px}
.wv-access h3{font-size:16px;font-weight:500;margin:0 0 7px}
.wv-access p{font-size:12px;color:#7b777b;margin:0}
.wv-state{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid #f0eeee}
.wv-state:first-of-type{margin-top:12px}
.wv-state strong{font-size:12px;font-weight:600}
.wv-state small{font-size:11px;color:#898489}
.wv-upgrades{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.wv-upgrade{background:#fff;border:1px solid #e9e7e5;border-radius:15px;padding:27px}
.wv-upgrade.highlight{border-color:#edc6ca;background:linear-gradient(140deg,#fff,#fff9f9)}
.wv-upgrade-top{display:flex;justify-content:space-between;align-items:start;gap:12px}
.wv-upgrade .wv-label{color:#a92738;font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:700}
.wv-upgrade h3{font-size:22px;font-weight:400;letter-spacing:-.04em;margin:6px 0}
.wv-price{font-size:24px;letter-spacing:-.05em;font-weight:500;color:#242124}
.wv-price small{font-size:11px;letter-spacing:0;font-weight:400;color:#868187}
.wv-upgrade p{font-size:12px;color:#79747a;line-height:1.65;margin:12px 0}
.wv-outline-btn{background:#fff;color:#a92031;border:1px solid #e6c6ca;border-radius:9px;min-height:40px;padding:10px 14px;font-size:12px!important;font-weight:700!important;cursor:pointer}
.wv-outline-btn:hover{background:#fff3f4;border-color:#ca6674}
.wv-benefits{border-top:1px solid #eee7e8;margin:18px 0 0;padding:13px 0 0 18px;color:#605b61;font-size:12px;line-height:1.9}
.wv-benefits[hidden]{display:none}
.wv-compliance{margin:19px 0 0;font-size:11px;color:#8b858b;line-height:1.7}
.wv-foot{border-top:1px solid #e4e1e1;margin-top:42px;padding-top:18px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:11px;color:#918c92}
.wv-foot strong{font-weight:600;color:#656168}
.welcome-v2-root :is(a,button):focus-visible{outline:3px solid #d72a3a;outline-offset:3px}
@media(max-width:1040px){.wv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wv-access-row{grid-template-columns:1fr}.wv-hero:before{right:-32%}}
@media(max-width:650px){body.portal-active header{height:65px;padding:0 19px}body.portal-active header .brand-sub{display:none}#portal.welcome-v2{padding:0 16px 40px}.wv-top{padding:15px 0}.wv-breadcrumb{font-size:9px}.wv-profile strong{max-width:106px}.wv-profile small{display:none}.wv-avatar{width:31px;height:31px;font-size:10px}.wv-account{gap:8px}.wv-signout{padding:8px 10px}.wv-hero{min-height:285px;padding:28px 25px;border-radius:15px}.wv-hero h1{font-size:clamp(34px,9vw,49px)}.wv-hero:before{right:-110%;top:-40%;height:450px;width:450px}.wv-hero:after{right:10%;bottom:16%}.wv-hero-meta{display:none}.wv-status-row{padding-top:17px}.wv-section{margin-top:32px}.wv-section-head{display:block}.wv-section-head>p{text-align:left;margin-top:7px}.wv-grid,.wv-upgrades{grid-template-columns:1fr;gap:12px}.wv-card{padding:20px;min-height:197px}.wv-access,.wv-upgrade{padding:20px}.wv-profile{display:none}}
@media(prefers-reduced-motion:reduce){.wv-card{transition:none}.wv-card:hover{transform:none}}

/* Compact light Welcome after main login — restrained Apple-like typography */
body.portal-active{background:#f7f7f9;color:#202025}
body.portal-active header{height:62px;background:#fff;border-bottom:1px solid #e9e9ed}
body.portal-active header .brand-mark{font-size:20px}
#portal.welcome-v2{max-width:1220px;padding:0 clamp(16px,3vw,40px) 35px}
.wv-top{padding:13px 0 12px}
.wv-breadcrumb{font-size:9px;letter-spacing:.12em}
.wv-avatar{width:32px;height:32px;background:#f1e8eb;color:#a82035}
.wv-signout{min-height:34px;padding:7px 13px;border-radius:8px}
.wv-hero{min-height:235px;background:#fff;border:1px solid #e7e7eb;border-radius:16px;padding:29px 34px;box-shadow:none;color:#222128;isolation:isolate}
.wv-hero:before,.wv-hero:after{display:none}
.wv-hero-copy{z-index:1;max-width:690px}
.wv-kicker{color:#b4273a;font-size:9px;letter-spacing:.14em;margin-bottom:9px}
.wv-hero h1{color:#1f1e24;font-size:clamp(30px,3.7vw,48px);line-height:1.11;font-weight:300;letter-spacing:-.055em;margin:0 0 9px}
.wv-hero h1 br{display:none}
.wv-hero p{color:#615e65;font-size:12px;line-height:1.55;max-width:540px;margin:0 0 14px;font-weight:400}
.wv-primary{min-height:38px;padding:8px 14px;border-radius:9px;font-size:11px!important;background:#e32032}
.wv-hero-meta{right:23px;bottom:16px;font-size:8px;color:#76717a}
.wv-red-orbs{position:absolute;right:18px;top:5px;width:205px;height:167px;pointer-events:none;z-index:0}
.wv-red-orbs i{display:block;position:absolute;border-radius:50%;background:radial-gradient(circle at 29% 24%,#fff3ed 0%,#ffb7b5 12%,#f94155 30%,#d90a2a 58%,#75051b 85%,#37000a 100%);box-shadow:inset -8px -12px 15px #5e001630,0 16px 22px #65142830}
.wv-red-orbs i:first-child{right:38px;top:13px;width:94px;height:94px}
.wv-red-orbs i:nth-child(2){right:11px;top:99px;width:39px;height:39px}
.wv-red-orbs i:nth-child(3){right:153px;top:10px;width:18px;height:18px}
.wv-studio-tools{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px;max-width:565px}
.wv-studio-tools a{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:10px;border:1px solid #e9e4e7;background:linear-gradient(150deg,#fff,#fdf5f6);color:#27252b;font-weight:600!important;font-size:11px!important;min-height:37px}
.wv-studio-tools a:hover,.wv-studio-tools a:focus-visible{border-color:#e32032;background:#fff}
.wv-studio-tools a b{font-size:13px;color:#ce2239;margin-left:3px}
.wv-tool-symbol{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;color:#b72037;background:linear-gradient(145deg,#fff,#ffd8dd);box-shadow:0 3px 7px #b7203733}
.wv-status-row{padding:13px 0 2px;gap:9px}
.wv-pills{gap:7px}
.wv-pill{font-size:10px;padding:6px 11px}
.wv-section{margin-top:22px}
.wv-section-head{margin-bottom:10px}
.wv-eyebrow{font-size:9px;margin-bottom:4px}
.wv-section h2{font-size:clamp(19px,2vw,25px)}
.wv-section-head>p{font-size:11px}
.wv-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.wv-card{padding:17px 18px;min-height:157px;border-radius:12px;box-shadow:none}
.wv-icon{width:42px;height:42px;border-radius:13px;margin-bottom:10px;color:#c72e44;background:linear-gradient(145deg,#fff,#ffe6e9 65%,#e9b4bd);box-shadow:inset 1px 1px 2px #fff,0 6px 12px #b2233730}
.wv-icon svg{width:24px;height:24px;filter:drop-shadow(0 2px 1px #99233a22)}
.wv-card-kind{font-size:9px;margin-bottom:3px}
.wv-card h3{font-size:16px;margin:0 0 5px}
.wv-card p{font-size:11px;line-height:1.4;margin:0 0 9px;max-width:none;color:#66626c}
.wv-card-bottom{margin-top:auto}
.wv-detail{font-size:9px}
.wv-card-link{font-size:11px!important}
.wv-access-row{gap:12px;margin-top:11px}
.wv-access{padding:17px 19px;border-radius:12px}
.wv-upgrades{gap:12px}
.wv-upgrade{padding:18px;border-radius:12px}
.wv-upgrade h3{font-size:18px}
.wv-price{font-size:21px}
.wv-foot{margin-top:24px}
@media(max-width:1040px){.wv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){
 body.portal-active header{height:60px}
 #portal.welcome-v2{padding:0 14px 30px}
 .wv-top{padding:9px 0}
 .wv-hero{min-height:215px;padding:23px 18px}
 .wv-hero h1{font-size:33px;max-width:85%}
 .wv-hero p{max-width:86%;font-size:11px}
 .wv-red-orbs{transform:scale(.63);transform-origin:top right;right:-44px;top:5px}
 .wv-studio-tools{gap:7px;margin-top:10px}
 .wv-studio-tools a{padding:6px 8px;font-size:10px!important;min-height:35px}
 .wv-hero-meta{display:none}
 .wv-section{margin-top:19px}
 .wv-grid{grid-template-columns:1fr}
 .wv-card{min-height:139px;padding:14px 16px}
 .wv-upgrades{grid-template-columns:1fr}
 .wv-status-row{padding-top:10px}
}
@media(prefers-reduced-motion:reduce){.wv-red-orbs i,.wv-studio-tools a{transition:none}}

/* Real photographs only in welcome placeholders; never substitute them for listing photos. */
.wv-card .wv-card-visual{display:none;height:122px;border-radius:12px;background-color:#e6e6e6;background-size:cover;background-position:center;margin:0 0 14px}
.wv-card-studio .wv-card-visual{display:block;background-image:url('/assets/townhouse_exterior_1792348484155-cpoqc9cb.jpg')}
.wv-card-home .wv-card-visual{display:block;background-image:url('/assets/interior_open_kitchen_1792348485213-dlp5ysud.jpg')}
@media(max-width:680px){.wv-card .wv-card-visual{height:108px}}
