/* Cinematic public homepage; keep account/editor styling scoped to its existing surfaces. */
.welcome-page{--brand-green:#527351;--brand-dark:#215e43;color:#173b32;background:#fff}
.welcome-page header{padding:16px 32px;min-height:80px;border-bottom:0;gap:24px}
.welcome-page header .brand{font-size:23px;letter-spacing:-.7px;gap:10px;white-space:nowrap}
.welcome-page header .brand-logo{width:36px;height:36px}
.welcome-page #public-nav{gap:30px}
.welcome-page #public-nav a{font-size:15px;color:#173b32}
.welcome-page #public-nav .button{display:inline-flex;align-items:center;justify-content:center;gap:24px;border:1px solid #527351;background:#527351;color:#fff;padding:12px 20px;border-radius:4px;min-height:44px}
.welcome-page #public-nav .button:hover{background:#3f5c3e;border-color:#3f5c3e}
.welcome-page .welcome-hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;max-width:none;width:calc(100% - 40px);min-height:570px;height:600px;max-height:760px;margin:0 20px;padding:44px;border-radius:12px;overflow:hidden;background:#102321}
.hero-image{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;object-position:center}
.welcome-page .welcome-copy{max-width:900px;color:white}
.welcome-page .welcome-copy h1{font-size:clamp(44px,4.5vw,72px);font-weight:550;line-height:1.02;letter-spacing:-2.7px;color:white;margin:0 0 24px}
.welcome-page .welcome-copy p{max-width:none;color:#fff;font-size:20px;line-height:1.5;margin:0}
.welcome-page .welcome-actions{margin-top:28px;gap:30px}
.welcome-page .welcome-actions .button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;background:#527351;border:1px solid #527351;border-radius:4px;padding:14px 22px;color:#fff;font-size:16px;min-height:50px}
.welcome-page .welcome-actions .button:hover{background:#3f5c3e;border-color:#3f5c3e}
.welcome-page .welcome-actions>a:not(.button){font-size:15px;font-weight:500;color:white;text-decoration:underline;text-underline-offset:5px}
.welcome-page .welcome-actions>a span{margin-left:10px}
.welcome-page .welcome-workflow{max-width:none;margin:0;padding:58px 48px 54px;scroll-margin-top:28px}
.workflow-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;margin-bottom:38px}
.workflow-heading h2{font-size:clamp(32px,3.1vw,48px);line-height:1.06;letter-spacing:-1.7px;font-weight:550;margin:0}
.workflow-heading>p{font-size:22px;line-height:1.4;letter-spacing:-.5px;margin:8px 0 0;color:#527351}
.welcome-page .workflow-columns{border:0;padding-top:0;gap:0}
.welcome-page .workflow-step{padding:0 30px;display:block}
.welcome-page .workflow-step:first-child{padding-left:0}
.welcome-page .workflow-step:last-child{padding-right:0}
.welcome-page .workflow-step+.workflow-step{border-left:1px solid #d3dfd7}
.workflow-step h3{font-size:22px;line-height:1.3;letter-spacing:-.6px;font-weight:600;margin:0 0 12px}
.workflow-step h3 span{color:#527351;margin-right:6px;font-weight:500}
.welcome-page .workflow-step p{font-size:16px;line-height:1.5;max-width:none;margin:0}
.welcome-page .welcome-footer{margin:0 32px;padding:22px 0;border-top:1px solid #d3dfd7}
.welcome-page .welcome-footer .brand{font-size:18px;gap:8px}
.welcome-page .welcome-footer .brand-logo{width:28px;height:28px}
.welcome-page .legal-links{gap:24px;font-size:13px}
.auth-popup{box-sizing:border-box;width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:42px 36px 30px;border:1px solid #d3dfd7;border-radius:12px;background:#fff;color:#173b32;overflow:auto;overscroll-behavior:contain;box-shadow:0 24px 100px #0b211c40}
.auth-popup::backdrop{background:#0a211a88;backdrop-filter:blur(5px)}
.auth-popup .auth{border:0;padding:0;margin:0;width:100%;max-width:none;border-radius:0}
.auth-popup .auth h1{font-size:32px;font-weight:600;letter-spacing:-1px;line-height:1.1;margin:0 0 26px;color:#173b32}
.auth-popup .auth-intro{display:none}
.auth-popup .auth form{max-width:none}
.auth-popup input{border-radius:5px;min-height:44px}
.auth-popup .auth-links{gap:12px 20px;flex-wrap:wrap;margin-top:18px}
.auth-popup .link{font-size:13px;min-height:32px}
.auth-popup #forgot-link{display:block;margin-top:5px;margin-bottom:8px}
.auth-popup form>.primary{width:100%;background:#527351;border-color:#527351;color:#fff;min-height:46px;border-radius:5px;margin-top:16px}
.auth-popup form>.primary:hover{background:#3f5c3e}
.auth-popup .auth-close{position:absolute;top:9px;right:10px;width:36px;height:36px;border:0;background:transparent;font-size:28px;line-height:1;font-weight:400;color:#527351;padding:0}
.auth-popup .legal-link{font-size:12px;margin-top:22px;color:#65756b}
.auth-popup .setup-link{font-size:12px;margin:16px 0 0}
.auth-popup .field-hint{font-size:12px;margin:8px 0}
.auth-popup .notice{font-size:14px;line-height:1.5}
.auth-popup :focus-visible,.welcome-page a:focus-visible{outline:2px solid #527351;outline-offset:4px}
.welcome-page .legal-links a,.auth-popup .legal-link a{color:inherit}
@media(min-width:1600px){.welcome-page .welcome-hero{padding:56px}.welcome-page .welcome-workflow{padding:64px 64px 58px}}
@media(max-width:900px){.welcome-page header{padding:16px 24px;gap:16px}.welcome-page #public-nav{gap:20px}.welcome-page header .brand{font-size:21px}.welcome-page .welcome-hero{padding:36px;min-height:530px;max-height:680px}.welcome-page .welcome-copy h1{font-size:54px}.welcome-page .welcome-copy p{font-size:18px}.welcome-page .welcome-workflow{padding:44px 32px}.workflow-heading>p{font-size:19px}.welcome-page .workflow-step{padding:0 20px}.workflow-step h3{font-size:19px}.welcome-page .workflow-step p{font-size:15px}}
@media(max-width:600px){.welcome-page header{padding:14px 18px;gap:10px;min-height:76px;flex-wrap:wrap}.welcome-page header .brand{font-size:20px;gap:6px}.welcome-page header .brand-logo{width:30px;height:30px}.welcome-page #public-nav{gap:16px;margin-left:auto}.welcome-page #public-nav .intro-link{display:none}.welcome-page #public-nav a{font-size:14px}.welcome-page #public-nav .button{padding:9px 14px;gap:14px}.welcome-page .welcome-hero{width:calc(100% - 24px);margin:0 12px;min-height:570px;height:calc(100svh - 160px);max-height:700px;padding:28px 24px;border-radius:10px}.hero-image{object-position:60% center}.welcome-page .welcome-copy h1{font-size:46px;letter-spacing:-1.9px;line-height:1.05;margin-bottom:18px}.welcome-page .welcome-copy p{font-size:17px;max-width:300px}.welcome-page .welcome-actions{align-items:flex-start;gap:20px;margin-top:24px;flex-direction:column}.welcome-page .welcome-actions .button{padding:13px 20px;min-height:48px}.welcome-page .welcome-workflow{padding:38px 24px}.workflow-heading{display:block;margin-bottom:24px}.workflow-heading h2{font-size:34px;letter-spacing:-1.3px}.workflow-heading>p{font-size:18px;margin-top:20px}.welcome-page .workflow-columns{grid-template-columns:1fr}.welcome-page .workflow-step,.welcome-page .workflow-step:first-child,.welcome-page .workflow-step:last-child{padding:22px 0}.welcome-page .workflow-step+.workflow-step{border-left:0;border-top:1px solid #d3dfd7}.workflow-step h3{font-size:21px}.welcome-page .workflow-step p{font-size:16px}.welcome-page .welcome-footer{margin:0 24px;padding:22px 0;gap:16px;flex-wrap:wrap}.auth-popup{padding:42px 24px 26px}.auth-popup .auth h1{font-size:30px}}
@media(max-width:380px){.welcome-page header .brand{font-size:18px}.welcome-page #public-nav{width:100%;justify-content:flex-end}.welcome-page .welcome-copy h1{font-size:39px}.welcome-page .welcome-hero{padding:26px 20px;min-height:550px}.welcome-page .welcome-copy p{font-size:16px}.workflow-heading h2{font-size:30px}}
