:root{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#173e34;background:#f6f5f0;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ca9a77;outline-offset:4px}.login-layout{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh}.login-panel{display:flex;flex-direction:column;padding:44px 54px 27px;min-width:0}.brand{display:inline-flex;gap:12px;align-items:center;font-family:Georgia,serif;font-size:25px;letter-spacing:-.8px;align-self:flex-start}.brand b{font-weight:400}.brand small{display:block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:7px;letter-spacing:1.7px;color:#8c9981;margin-top:7px}.brand-mark{position:relative;display:block;width:37px;height:44px;border:1px solid #97aa95;border-radius:17px 17px 3px 3px;text-align:center;font-size:31px;line-height:38px;font-style:italic;flex:none}.brand-mark>span{font-size:14px;position:absolute;right:2px;bottom:-4px;font-style:normal;background:#f6f5f0;line-height:17px}.login-content{width:100%;max-width:360px;margin:auto; padding:55px 0 65px}.eyebrow{font-size:8px;letter-spacing:1.7px;font-weight:500;color:#8b977c;margin:0 0 20px}h1{font-family:Georgia,serif;font-size:47px;line-height:1.1;font-weight:400;letter-spacing:-1.8px;margin:0 0 21px}.intro{font-size:12px;line-height:1.9;color:#8b947f;max-width:300px;margin:0 0 35px}fieldset{border:0;padding:0;margin:0 0 24px}legend,.password-label{font-size:10px;font-weight:500;color:#77866b;margin-bottom:11px;padding:0;display:block}.name-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.name-options label{position:relative;cursor:pointer}.name-options input{position:absolute;opacity:0;width:1px;height:1px}.name-options label>span{border:1px solid #dce2d3;border-radius:9px;padding:13px 14px;display:flex;align-items:center;gap:11px;font-size:12px;background:#fff;color:#809074;transition:.18s}.name-options i{font-size:10px;font-style:normal;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#e6eadd;color:#71865f}.name-options label:nth-child(2) i{background:#ecdcca;color:#9a8061}.name-options input:checked+span{border-color:#7c9b70;background:#eaf0e2;color:#173e34}.name-options input:focus-visible+span{outline:3px solid #ca9a77;outline-offset:4px}.selected-dot{height:6px;width:6px;border-radius:50%;margin-left:auto;background:transparent}.name-options input:checked+span>.selected-dot{background:#628653}.password-wrap{display:flex;align-items:center;border:1px solid #dce2d3;border-radius:8px;background:#fff;overflow:hidden}.password-wrap:focus-within{outline:3px solid #ca9a77;outline-offset:3px}.password-wrap input{border:0;padding:15px 14px;width:100%;min-width:0;background:none;font-size:12px;color:#173e34;outline:none}.password-wrap input:focus-visible{outline:none}.password-wrap input::placeholder{font-size:11px;color:#a6ae9b}.password-wrap button{border:0;background:none;padding:13px 14px;color:#a2ae95}.password-wrap svg{height:17px;width:17px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round}.submit-button{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#173e34;border:1px solid #173e34;color:#f7f8f2;padding:16px 20px;width:100%;border-radius:8px;font-size:11px;font-weight:500;margin-top:22px;min-height:49px;transition:background .18s}.submit-button:hover{background:#285548}.submit-button:disabled{opacity:.65;cursor:wait}.submit-button>span:last-child{font-size:17px;line-height:14px}.privacy-note{display:flex;align-items:center;gap:7px;justify-content:center;color:#a2aa95;font-size:8px;margin:18px 0 0}.privacy-note svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.3;flex:none}.login-error{font-size:10px;line-height:1.7;color:#a46a47;background:#f8eadd;border-radius:6px;padding:10px 13px;margin:13px 0 0}.login-error[hidden]{display:none}footer{display:flex;justify-content:space-between;gap:20px;font-size:8px;color:#a5ad99;line-height:1.7}footer>span{text-align:right}.house-panel{position:relative;min-width:0;min-height:100dvh;overflow:hidden;background:#d5dfd0}.house-panel>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}.house-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#173e3425,transparent 35%,#173e3466 75%,#173e34b8)}.photo-top{position:absolute;top:44px;left:40px;right:40px;z-index:1}.location-pill{background:#ffffff18;color:#fff;border:1px solid #ffffff50;border-radius:6px;backdrop-filter:blur(6px);font-size:7px;letter-spacing:1.3px;padding:10px 13px;display:inline-block}.photo-copy{position:absolute;bottom:70px;left:56px;right:40px;color:#fff;z-index:1}.photo-copy p{font-size:8px;letter-spacing:2px;opacity:.85;margin:0 0 21px}.photo-copy h2{font-family:Georgia,serif;font-size:45px;letter-spacing:-1.4px;font-weight:400;line-height:1.16;margin:0 0 20px}.photo-copy>span{font-size:11px;opacity:.76;line-height:1.8}@media(min-width:1600px){.login-panel{padding:55px 75px 32px}.login-content{max-width:410px}h1{font-size:56px}.intro{font-size:13px}.photo-copy h2{font-size:60px}.photo-copy{left:70px;bottom:90px}.photo-top{top:55px;left:50px}}
@media(max-width:1050px){.login-panel{padding:35px 35px 25px}.login-content{max-width:330px}h1{font-size:42px}.photo-copy{left:35px;right:25px;bottom:60px}.photo-copy h2{font-size:38px}.photo-top{left:30px;top:35px;right:25px}.location-pill{font-size:6px;letter-spacing:1px}.name-options label>span{padding:12px}.brand{font-size:23px}}
@media(max-width:760px){.login-layout{grid-template-columns:1fr}.login-panel{padding:25px 25px 24px;min-height:100dvh}.login-content{padding:50px 0 55px;max-width:370px}h1{font-size:47px}.brand{font-size:23px}.brand small{font-size:6px}.brand-mark{width:33px;height:39px;line-height:33px;font-size:28px}.eyebrow{font-size:8px;margin-bottom:18px}.intro{font-size:12px;margin-bottom:31px}.house-panel{display:none}.privacy-note{font-size:8px}.name-options label>span{padding:13px 14px}footer{font-size:7px}.login-error{font-size:10px}}
@media(max-height:720px) and (min-width:761px){.login-content{padding:30px 0}h1{font-size:39px}.eyebrow{margin-bottom:14px}.intro{margin-bottom:25px}.login-panel{padding-top:28px}.photo-copy h2{font-size:37px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Labels and supporting text remain readable at every screen size. */
body{font-size:15px}legend,.password-label{font-size:12px}.intro{font-size:13px}.privacy-note,.login-error{font-size:11px;line-height:1.7}.submit-button{font-size:12px}.password-wrap input{font-size:14px}.password-wrap input::placeholder{font-size:12px}.name-options label>span{font-size:13px}
