/* Public entry and persistent login host use the shared design tokens. */
.site.home-page.psd-home { --psd-green:var(--dj-primary); --psd-ink:var(--dj-text); position:relative; isolation:isolate; min-height:100svh; display:flex; flex-direction:column; color:var(--dj-text); background:#f7faf8; font-family:var(--dj-font); }
.site.psd-home[hidden],.site.psd-home [hidden] { display:none!important; }
.site.psd-home .psd-court-motion { position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; background:url('/assets/home/garden/garden-background.webp') center top/cover no-repeat; }
.site.psd-home[data-background-role="LAWYER"] .psd-court-motion { background-image:url('/assets/home/garden/lawyer-background.png'); }
.site.psd-home .psd-court { width:min(1200px,100%); min-height:0; margin-inline:auto; padding:28px 32px 48px; zoom:var(--psd-design-scale,1); }
.site.psd-home .psd-header { display:flex; align-items:center; gap:32px; position:static; }
.site.psd-home .psd-brand { flex:none; display:flex; align-items:center; min-height:44px; }
.site.psd-home .psd-brand img { display:block; width:44px; height:64px; object-fit:contain; }
.site.psd-home .psd-nav { display:flex; gap:24px; flex-wrap:wrap; margin:0; }
.site.psd-home .psd-nav a { display:inline-flex; align-items:center; min-height:44px; color:var(--dj-primary); font-size:16px; font-weight:600; text-decoration:none; }
.site.psd-home .psd-hero { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr); align-items:start; gap:48px; margin:0; padding:56px 0 16px; width:100%; }
.site.psd-home .psd-copy { padding:0; min-width:0; }
.site.psd-home .psd-product-name { margin:0 0 24px; font-size:14px; color:var(--dj-muted); }
.site.psd-home #psd-hero-title { position:static; margin:0; font:600 clamp(36px,4vw,56px)/1.25 var(--dj-font); letter-spacing:-.025em; color:var(--dj-primary); width:auto; height:auto; clip:auto; }
.site.psd-home #psd-hero-title span { display:block; white-space:nowrap; }
.site.psd-home .psd-slogan { margin:24px 0 0; font:400 20px/1.7 var(--dj-font); color:var(--dj-primary); }
.site.psd-home .home-intake-entry { padding:28px; background:#fffdf8f2; border:1px solid var(--dj-line); border-radius:16px; }
.site.psd-home .home-intake-entry h2 { font-size:28px; margin:0 0 12px; }
.site.psd-home .home-intake-entry p { font-size:16px; line-height:1.7; margin:0 0 20px; }
.site.psd-home .home-intake-entry>.button { display:flex; justify-content:center; align-items:center; min-height:48px; text-decoration:none; }
.home-common-cases { display:flex; flex-wrap:wrap; gap:8px 16px; margin:12px 0; }
.home-common-cases :is(a,button) { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:4px 0; background:transparent; border:0; color:var(--dj-primary); font:inherit; text-underline-offset:4px; cursor:pointer; }
.site.psd-home .home-entry-note { color:var(--dj-muted); font-size:14px; margin:8px 0; }
.site.psd-home .home-login-link,.site.psd-home .home-lawyer-link { display:inline-flex; align-items:center; min-height:44px; color:var(--dj-primary); font-size:14px; }
.site.psd-home .home-support { width:min(1136px,calc(100% - 64px)); margin:0 auto 40px; padding:24px; background:#fffdf8f2; border-radius:16px; }
.dj-capabilities { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.dj-capabilities h2 { font-size:20px; margin:0 0 8px; }
.dj-capabilities p { margin:0; line-height:1.7; }
.home-workflow { padding-top:24px; border-top:1px solid var(--dj-line); margin-top:16px; }
.home-workflow h2 { font-size:20px; }
.home-workflow ol { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; list-style:decimal; padding-left:24px; }
.home-workflow p { font-size:14px; line-height:1.7; margin:8px 0 0; }
.site.psd-home .psd-auth { width:100%; min-width:0; margin:0; padding:0; }
.site.psd-home .psd-auth-card { position:relative; overflow:visible; width:100%; border:1px solid var(--dj-line); border-radius:16px; background:#fffdf8f5; padding:28px; box-shadow:none; }
.site.psd-home .psd-card-background { display:none; }
.site.psd-home .psd-welcome { margin:0 0 24px; text-align:center; font-size:20px; font-weight:600; }
.site.psd-home #login-page .login-role-switch { position:relative; isolation:isolate; display:grid; grid-template-columns:1fr 1fr; gap:4px; border:1px solid var(--dj-line); border-radius:8px; padding:4px; margin-bottom:20px; background:var(--dj-soft); }
.site.psd-home #login-page .login-role-switch a { position:relative; z-index:1; min-height:44px; display:flex; align-items:center; justify-content:center; padding:4px 8px; font-size:16px; color:var(--dj-primary); text-decoration:none; }
.site.psd-home #login-page .login-role-switch::before { content:""; position:absolute; z-index:0; inset:4px auto 4px 4px; width:calc(50% - 6px); background:var(--dj-primary); border-radius:5px; transform:translateX(0); }
.site.psd-home #login-page[data-portal="LAWYER"] .login-role-switch::before { transform:translateX(calc(100% + 4px)); }
.site.psd-home #login-page .login-role-switch[data-transition-ready="true"]::before { transition:transform 240ms cubic-bezier(.2,.7,.2,1); }
.site.psd-home #login-page .login-role-switch a[aria-current="page"] { color:#fff; }
.site.psd-home #login-page .login-field-row { display:flex; align-items:center; gap:8px; min-height:48px; border:1px solid var(--dj-line); background:#fff; border-radius:8px; padding:0 12px; margin:0 0 16px; }
.site.psd-home #login-page .login-field-icon { width:20px; height:20px; flex:none; fill:none; stroke:currentColor; }
.site.psd-home #login-page .login-field-row input { width:100%; min-width:0; height:48px; padding:8px 0; border:0; border-radius:0; font-size:16px; background:transparent; }
.site.psd-home #login-page .login-field-row button:not(.code-button) { display:flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:0; background:transparent; border:0; }
.site.psd-home #login-page .login-field-row button img { width:20px; height:20px; }
.site.psd-home #login-page .password-options { display:flex; justify-content:flex-end; min-height:44px; }
.site.psd-home #login-page .password-options button { background:none; border:0; font-size:14px; min-height:44px; color:var(--dj-primary); }
.site.psd-home #login-page .login-submit { display:flex; align-items:center; justify-content:center; width:100%; min-height:48px; font-size:16px; margin:12px 0 0; border:1px solid var(--dj-primary); background:var(--dj-primary); color:#fff; }
.site.psd-home #login-page .login-error { font-size:14px; line-height:1.7; color:var(--dj-danger); margin:8px 0; }
.site.psd-home #login-page .email-login-panel summary { display:flex; justify-content:center; align-items:center; min-height:44px; margin:8px 0; cursor:pointer; list-style:none; font-size:16px; }
.site.psd-home #login-page .email-login-panel summary::-webkit-details-marker { display:none; }
.site.psd-home #login-page .psd-otp-content { display:flow-root; }
.site.psd-home #login-page .psd-method-exit { pointer-events:none; animation:psd-method-exit 240ms cubic-bezier(.2,.7,.2,1) both; }
.site.psd-home #login-page .psd-method-enter { animation:psd-method-enter 240ms cubic-bezier(.2,.7,.2,1) both; }
@keyframes psd-method-exit { from { opacity:var(--psd-method-opacity,1); } to { opacity:0; } }
@keyframes psd-method-enter { from { opacity:0; } to { opacity:1; } }
.site.psd-home #login-page .register-line { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px; border-top:1px solid var(--dj-line); padding-top:12px; margin:12px 0 0; font-size:14px; }
.site.psd-home #login-page .register-line :is(button,a) { display:inline-flex; align-items:center; min-height:44px; border:0; background:none; color:var(--dj-primary); font-size:16px; padding:0 4px; }
.site.psd-home #login-page .agreement-line { display:flex; align-items:flex-start; gap:8px; font-size:14px; line-height:1.7; }
.site.psd-home #login-page .agreement-line input { flex:none; width:18px; height:18px; }
.site.psd-home #login-page .code-button { flex:none; min-height:44px; padding:6px 8px; font-size:14px; border:1px solid var(--dj-primary); border-radius:6px; }
.site.psd-home .psd-accessible-text { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.site.psd-home .psd-footer { margin-top:auto; padding:16px 24px; text-align:center; border-top:1px solid #ffffff66; }
.site.psd-home .psd-footer a { display:inline-flex; align-items:center; min-height:44px; padding:4px; color:#52685f; background:transparent; font:400 12px/1.7 var(--dj-font); }
@media(max-width:1000px) { .site.psd-home .psd-hero { gap:28px; } .site.psd-home #psd-hero-title { font-size:clamp(36px,4vw,40px); } }
@media(max-width:760px) {
 .site.psd-home .psd-court { padding:20px 20px 24px; }
 .site.psd-home .psd-header { gap:20px; align-items:center; flex-wrap:wrap; }
 .site.psd-home .psd-brand img { width:34px; height:50px; }
 .site.psd-home .psd-nav { gap:8px 20px; justify-content:space-between; flex:1; }
 .site.psd-home .psd-nav a { font-size:14px; }
 .site.psd-home .psd-hero { display:flex; flex-direction:column; gap:28px; padding-top:28px; }
 .site.psd-home #psd-hero-title { font-size:36px; letter-spacing:-.035em; }
 .site.psd-home .psd-product-name { font-size:12px; margin-bottom:16px; }
 .site.psd-home .psd-slogan { font-size:16px; margin-top:16px; }
 .site.psd-home .home-intake-entry { width:100%; padding:24px; }
 .site.psd-home .home-intake-entry h2 { font-size:20px; }
 .site.psd-home .home-support { width:calc(100% - 40px); margin-bottom:24px; padding:24px; }
 .dj-capabilities,.home-workflow ol { grid-template-columns:1fr; gap:20px; }
 .site.psd-home .psd-auth-card { padding:24px 20px; }
}
@media(max-width:359px) { .site.psd-home #psd-hero-title { font-size:28px; } }
