.password-page{min-height:calc(100vh - 88px);padding:55px 0 90px;background:linear-gradient(180deg,#e8f8ffad,#eff9f1ad),url('../images/hero-scene.png') center 35%/cover no-repeat}
.password-heading{text-align:center;margin:0 auto 32px}
.password-heading .eyebrow{color:#348b58;letter-spacing:.24em;font-size:13px}
.password-heading h1{font:700 clamp(42px,5vw,67px)/1.1 'Playfair Display',Georgia,serif;letter-spacing:-.035em;margin:0 0 12px;color:#07333a}
.password-heading>p:last-child{font-size:19px;color:#395b62;margin:0}
.password-card{max-width:1020px;margin:auto;padding:42px;display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;background:#fffffff0;backdrop-filter:blur(14px);border:1px solid #e1eee7;border-radius:30px;box-shadow:0 24px 58px #143f2c29}
.password-guidance{border-right:1px solid #dae8df;padding-right:38px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.lock-art{width:min(100%,275px);aspect-ratio:1;filter:drop-shadow(0 14px 12px #0c603329)}.lock-art svg{width:100%;height:100%}
.password-guidance h2{font:700 26px 'Playfair Display',Georgia,serif;margin:0 0 12px}
.password-guidance ul{list-style:none;padding:0;margin:0;width:100%}
.password-guidance li{padding:9px 0 9px 35px;position:relative;font-size:14px;color:#264c46}
.password-guidance li:before{content:'✓';position:absolute;left:0;top:6px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#49ac65;color:white;font-weight:700}
.password-form{min-width:0}.password-form h2{font:700 27px 'Playfair Display',Georgia,serif;margin:0 0 20px}
.password-form label{display:block;font-weight:700;font-size:14px;margin:18px 0 8px}
.password-input{position:relative;display:flex;align-items:center;border:1px solid #cadbd2;border-radius:15px;background:#fff;min-height:57px;transition:border-color .2s,box-shadow .2s}
.password-input:focus-within{border-color:#21865d;box-shadow:0 0 0 4px #d7f0e2}
.password-input>span{position:relative;width:50px;flex:none;font-size:0}
.password-input>span:before{content:'';position:absolute;left:21px;top:-8px;width:13px;height:12px;border:2px solid #0b5d45;border-bottom:0;border-radius:8px 8px 0 0}
.password-input>span:after{content:'';position:absolute;left:19px;top:1px;width:17px;height:13px;border:2px solid #0b5d45;border-radius:3px}
.password-input input{border:0!important;box-shadow:none!important;background:transparent;min-width:0;flex:1;height:54px;padding:0 5px;font:inherit;outline:0}
.password-toggle{border:0;background:transparent;color:#0b674b;font:700 12px 'DM Sans',Arial,sans-serif;padding:12px;cursor:pointer}.password-toggle:hover{text-decoration:underline}
.password-hint{font-size:12px;color:#668278;margin:6px 0 0}.password-match{font-size:12px;min-height:18px;margin:7px 0 8px}.password-match.ok{color:#08754c}.password-match.error{color:#a6322b}
.password-form .button{font-size:16px;margin-top:12px;min-height:55px}.password-form .notice{margin:0 0 16px}
@media(max-width:750px){.password-page{padding:32px 0 60px}.password-card{grid-template-columns:1fr;padding:25px;gap:20px}.password-guidance{border-right:0;border-bottom:1px solid #dae8df;padding:0 0 20px}.lock-art{width:150px}.password-guidance h2{font-size:21px}.password-guidance ul{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.password-guidance li{font-size:12px}.password-heading>p:last-child{font-size:15px}}
/* Desktop: keep the complete form within the available viewport. */
@media(min-width:751px){.password-screen .footer{display:none}.password-page{min-height:0;height:calc(100dvh - 130px);padding:20px 0 24px;display:flex;align-items:center}.password-page>.container{width:100%}.password-heading{margin:0 auto 18px}.password-heading .eyebrow{margin:0 0 6px;font-size:11px}.password-heading h1{font-size:clamp(36px,3.2vw,49px);margin:0 0 5px}.password-heading>p:last-child{font-size:15px}.password-card{max-width:920px;padding:24px 30px;gap:28px;border-radius:24px}.password-guidance{padding-right:25px}.lock-art{width:155px}.password-guidance h2{font-size:21px;margin:2px 0 7px}.password-guidance li{padding-top:5px;padding-bottom:5px;font-size:12px}.password-guidance li:before{top:3px}.password-form h2{font-size:22px;margin:0 0 8px}.password-form label{font-size:12px;margin:10px 0 5px}.password-input{min-height:44px;border-radius:11px}.password-input input{height:43px;font-size:13px}.password-hint{font-size:11px;margin:3px 0 0}.password-match{margin:4px 0;min-height:15px}.password-form .button{min-height:44px;font-size:14px;margin-top:5px}}
@media(min-width:751px) and (max-height:760px){.password-screen .site-header{min-height:68px}.password-screen .site-header .nav{min-height:68px}.password-page{height:calc(100dvh - 110px);padding:10px 0}.password-heading{margin-bottom:10px}.password-card{padding:16px 25px}.lock-art{width:115px}.password-guidance h2{font-size:18px}.password-guidance li{padding-top:3px;padding-bottom:3px}.password-form label{margin:7px 0 4px}}
