/* Shared public welcome and access styling. These classes never select or grant an auth role. */
.portal-welcome{--portal-dark:#182a30;--portal-accent:#ccad77;--portal-light:#f6f3ed;--portal-text:#203237;--portal-muted:#606b70;--portal-line:#dedfd9;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);min-height:100dvh;background:var(--portal-light);color:var(--portal-text);font-size:15px;line-height:1.55}
.portal-team{--portal-dark:#172f48;--portal-accent:#a9cee0;--portal-light:#f1f5f9;--portal-text:#213d54;--portal-muted:#596b7b;--portal-line:#d6e0e8}
.portal-resident{--portal-dark:#173f37;--portal-accent:#d4c59c;--portal-light:#f7f6ef;--portal-text:#224138;--portal-muted:#63726a;--portal-line:#dce1d6}
.portal-tenant{--portal-dark:#693e30;--portal-accent:#f2c9a0;--portal-light:#fbf5ed;--portal-text:#55392e;--portal-muted:#7c695d;--portal-line:#e8dacf}
.portal-owner{--portal-dark:#332c48;--portal-accent:#dbbfdc;--portal-light:#f6f3f9;--portal-text:#3f3650;--portal-muted:#71677c;--portal-line:#e3dce9}
.portal-guest{--portal-dark:#1f545b;--portal-accent:#efd397;--portal-light:#f7f5ee;--portal-text:#23494d;--portal-muted:#607777;--portal-line:#d8e2de}
.portal-story{padding:42px clamp(28px,4vw,68px) 28px;background:var(--portal-dark);color:#fffdf6;display:flex;flex-direction:column;min-width:0;position:relative;overflow:hidden}
.portal-story-header{display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:1}.portal-brand{display:inline-flex;align-items:center;gap:13px;text-decoration:none;white-space:nowrap;color:inherit;font-size:21px;font-weight:550;letter-spacing:-.03em}.portal-brand img{width:52px;height:52px;border-radius:12px;display:block}.portal-brand small{display:block;margin-top:2px;font-size:9px;letter-spacing:.22em;font-weight:500;color:var(--portal-accent)}.portal-role{font-size:11px;border:1px solid #ffffff35;padding:7px 11px;border-radius:30px;white-space:nowrap;color:#fffdf6}
.portal-story-content{max-width:560px;width:100%;margin:auto;padding:45px 0 28px;position:relative}.portal-kicker{font-size:10px;letter-spacing:.18em;color:var(--portal-accent);margin:0 0 21px;font-weight:600}.portal-story h1{font:400 clamp(38px,3.85vw,60px)/1.12 Georgia,"Times New Roman",serif;letter-spacing:-.035em;margin:0 0 22px;color:#fffdf6}.portal-story-intro{max-width:420px;font-size:15px;line-height:1.8;margin:0;color:#f5f4edde}.portal-promises{list-style:none;padding:0;margin:27px 0 0;display:grid;gap:13px}.portal-promises li{display:flex;align-items:center;gap:14px;font-size:13px;color:#f8f7f1}.portal-promises li>span{font-size:9px;letter-spacing:.1em;display:grid;place-items:center;width:25px;height:25px;border:1px solid #ffffff30;border-radius:50%;flex-shrink:0;color:var(--portal-accent)}
.portal-scene{height:142px;position:relative;margin:24px 0 0;max-width:430px;opacity:.85}.portal-scene-building{position:absolute;bottom:8px;border:1px solid var(--portal-accent);display:grid;grid-template-columns:repeat(2,1fr);gap:13px;padding:18px 14px;border-radius:4px 4px 0 0;background:var(--portal-dark)}.portal-scene-building i{display:block;border:1px solid #f8f4e65e;min-height:14px}.building-one{width:97px;height:103px;left:18%;transform:skewY(-5deg)}.building-two{width:112px;height:135px;left:39%;transform:skewY(4deg)}.building-three{width:95px;height:80px;left:65%;transform:skewY(-4deg)}.portal-scene-ground{position:absolute;bottom:5px;inset-inline:3%;height:1px;background:linear-gradient(90deg,transparent,var(--portal-accent),transparent)}.portal-scene-sun{width:55px;height:55px;border:1px solid var(--portal-accent);border-radius:50%;position:absolute;top:0;left:8%;background:#ffffff08}.portal-guest .portal-scene-sun{background:var(--portal-accent)}.portal-guest .building-one{border-radius:48px 48px 0 0}.portal-guest .building-two{height:106px;border-radius:55px 55px 0 0}.portal-owner .portal-scene-building{border-radius:42px 42px 0 0}.portal-tenant .building-three{height:112px}
.portal-story-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #ffffff26;padding-top:22px;z-index:1}.portal-maker{display:flex;align-items:center;gap:9px;white-space:nowrap;color:#f6f1e4;font-size:8px;letter-spacing:.15em}.portal-maker img{width:42px;height:42px;object-fit:contain}.portal-maker strong{display:block;font-size:10px;letter-spacing:.16em;font-weight:550;margin-top:2px}.portal-story-footer>p{font-size:10px;max-width:190px;text-align:end;color:#f0f1e6c7;margin:0}
.portal-form-area{min-width:0;display:flex;flex-direction:column;padding:34px clamp(25px,5.6vw,86px) 24px}.portal-form-top{display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--portal-muted);font-size:12px}.portal-form-top>a{text-decoration:none;padding-block:10px}.portal-welcome .language-toggle{background:transparent;border-color:var(--portal-line);color:var(--portal-text);border-radius:30px;font-size:12px;padding:8px 15px;min-height:40px}.portal-form-card{width:100%;max-width:430px;margin:auto; padding:43px 0 28px}.portal-form-eyebrow{font-size:10px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--portal-muted);margin:0 0 14px}.portal-form-card h2{font-size:clamp(28px,2.5vw,38px);font-weight:500;line-height:1.18;letter-spacing:-.035em;margin:0 0 15px;color:var(--portal-text)}.portal-form-intro{font-size:14px;line-height:1.8;color:var(--portal-muted);margin:0 0 27px;max-width:400px}.portal-welcome .field{margin-bottom:19px}.portal-welcome .field label{font-size:12px;font-weight:550;color:var(--portal-text);margin-bottom:8px}.portal-welcome .field input{height:49px;border:1px solid var(--portal-line);border-radius:8px;background:#ffffffb8;color:var(--portal-text);font-size:15px;padding:12px 14px}.portal-welcome .field small{font-size:11px;color:var(--portal-muted);line-height:1.6;margin-top:7px}.portal-welcome .field input:focus{outline:2px solid var(--portal-dark);outline-offset:2px}.portal-welcome .button{min-height:44px;font-size:13px;border-radius:8px;white-space:normal}.portal-welcome .button.primary{background:var(--portal-dark);border-color:var(--portal-dark);color:white}.portal-welcome .button.wide{min-height:49px;justify-content:space-between;padding:12px 17px;font-size:14px}.portal-welcome .link-button{color:var(--portal-text);font-size:12px;min-height:40px}.portal-welcome .login-switch{border-top:1px solid var(--portal-line);padding-top:15px;margin-top:15px;font-size:12px;color:var(--portal-muted)}.portal-welcome .form-message{font-size:13px;line-height:1.65;color:#8a381f;background:#fff0e8;border-color:#e7c7b4}.portal-welcome .form-message.success{background:#eaf3e7;color:#30583b;border-color:#ccdec7}.portal-form-footer{font-size:10px;text-align:center;line-height:1.8;color:var(--portal-muted);padding-top:14px}.portal-form-footer a{display:inline-block;min-height:36px;padding-top:6px;color:var(--portal-text)}.portal-scope-note{font-size:11px;line-height:1.75;color:var(--portal-muted);margin:20px 0 0}.portal-guest-help{padding:20px;border:1px solid var(--portal-line);border-radius:9px;margin-top:24px;background:#ffffff60}.portal-guest-help strong{font-size:13px;font-weight:600}.portal-guest-help p{font-size:12px;line-height:1.8;color:var(--portal-muted);margin:7px 0 0}.portal-welcome .portal-current{border:1px solid var(--portal-line);border-radius:9px;padding:20px;background:#ffffff80;margin:23px 0}.portal-welcome .portal-current>span{font-size:12px;color:var(--portal-muted)}.portal-welcome .portal-current>strong{color:var(--portal-text);font-size:21px;margin:6px 0}.portal-welcome .portal-entry-actions{display:grid;gap:12px}.portal-welcome .portal-entry-actions .button{width:100%}.portal-welcome a:focus-visible,.portal-welcome button:focus-visible{outline:2px solid var(--portal-accent);outline-offset:3px}
html[dir=rtl] .portal-story h1{font-family:inherit;font-size:clamp(32px,3.5vw,51px);letter-spacing:0;line-height:1.45}html[dir=rtl] .portal-kicker,html[dir=rtl] .portal-form-eyebrow{letter-spacing:0}html[dir=rtl] .portal-form-card h2{letter-spacing:0;line-height:1.4}
@media(min-width:1500px){.portal-story{padding-inline:calc((100vw - 1350px)/4 + 65px)}.portal-story-content{padding-block:58px}.portal-scene{height:165px}}
@media(max-width:1050px){.portal-welcome{grid-template-columns:1fr 1fr}.portal-story{padding-inline:28px}.portal-form-area{padding-inline:30px}.portal-role{display:none}.portal-story h1{font-size:40px}.portal-story-footer{flex-wrap:wrap;gap:12px}.portal-story-footer>p{text-align:start;max-width:none}.portal-story-content{padding-top:45px}.portal-promises li{font-size:12px}}
@media(max-width:760px){.portal-welcome{display:flex;flex-direction:column;min-height:100dvh}.portal-story{padding:22px 24px 26px}.portal-story-header{gap:12px}.portal-brand{font-size:20px}.portal-brand img{width:44px;height:44px}.portal-brand small{font-size:8px}.portal-role{display:block;font-size:10px;padding:5px 9px}.portal-story-content{padding:28px 0 0;margin:0;max-width:none}.portal-kicker{font-size:9px;margin-bottom:12px}.portal-story h1{font-size:35px;margin-bottom:12px}.portal-story h1 br{display:none}.portal-story h1 br:after{content:' '}.portal-story-intro{font-size:13px;line-height:1.7;max-width:520px}.portal-scene,.portal-promises{display:none}.portal-story-footer{padding-top:16px;margin-top:22px;flex-wrap:nowrap}.portal-story-footer>p{font-size:9px;max-width:180px;text-align:end}.portal-maker img{width:33px;height:33px}.portal-maker strong{font-size:9px}.portal-form-area{padding:17px 24px 24px}.portal-form-top{font-size:11px}.portal-form-card{max-width:520px;padding:25px 0 20px}.portal-form-card h2{font-size:30px}.portal-form-intro{font-size:14px;max-width:none;margin-bottom:24px}.portal-form-footer{font-size:10px}.portal-welcome .field input{font-size:16px}.portal-form-eyebrow{font-size:10px}.portal-welcome .login-switch{gap:10px}.portal-welcome .login-switch .link-button{flex-shrink:0}html[dir=rtl] .portal-story h1{font-size:30px}}
@media(max-width:380px){.portal-story,.portal-form-area{padding-inline:18px}.portal-role{font-size:9px}.portal-brand{font-size:18px;gap:9px}.portal-brand img{width:39px;height:39px}.portal-story h1{font-size:32px}.portal-story-footer>p{max-width:140px;font-size:9px}.portal-form-card h2{font-size:27px}}
