 * {
     box-sizing: border-box;
     margin: 0;
     padding: 0
 }

 :root {
     --sage: #929f7a;
     --sage-dark: #7d895f;
     --cream: #f8f2e5;
     --brown: #79502f;
     --gold: #c79a52;
     --text: #2c2925;
     --muted: #77736b;
     --border: #d9d0c0;
 }

 html,
 body {
     width: 100%;
     height: 100%
 }

 body {
     overflow: hidden;
     font-family: Segoe UI, sans-serif;
     color: var(--text);
     background: var(--cream)
 }

 .login-page {
     width: 100vw;
     height: 100vh;
     min-height: 620px;
     display: flex;
     position: relative;
     overflow: hidden;
     background: var(--cream);
 }

 /* LEFT PHOTO PANEL */
 .left {
     width: 56%;
     height: 100%;
     position: relative;
     overflow: hidden;
     color: #fff;
     background-image: url(../images/ariyana-store.png);
     background-size: cover;
     background-position: center;
 }

 .left-photo {
     position: absolute;
     inset: 0;
     background:
         linear-gradient(125deg, rgba(48, 52, 36, .60), rgba(77, 77, 53, .10) 65%, rgba(72, 75, 51, .42)),
         url("login-store-bg.jpg") center center/cover no-repeat;
     transform: scale(1.02);
 }

 /* Olive lower wedge */
 /* .left::before {
            content: "";
            position: absolute;
            z-index: 2;
            left: 0;
            bottom: 0;
            width: 61%;
            height: 30%;
            background: rgba(77, 82, 57, .94);
            clip-path: polygon(0 100%, 0 44%, 100% 0, 100% 100%);
        } */

 /* Cream diagonal cut */
 .diagonal {
     position: absolute;
     z-index: 5;
     top: -3%;
     right: -1px;
     width: 42%;
     height: 108%;
     background: var(--cream);
     clip-path: polygon(62% 0, 100% 0, 100% 100%, 0 100%);
 }

 /* Thin gold diagonal */
 .diagonal-line {
     position: absolute;
     z-index: 7;
     top: -3%;
     right: 0;
     width: 42%;
     height: 108%;
     pointer-events: none;
     clip-path: polygon(62% 0, 63.1% 0, 2% 100%, 0 100%);
     background: var(--gold);
 }

 /* BRAND */
 .brand {
     position: absolute;
     z-index: 10;
     top: 55px;
     left: 58px
 }

 .logo-mark {
     width: 70px;
     height: 70px;
     border: 1px solid rgba(224, 177, 90, .9);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     color: #d9aa5a;
     font-family: "Segoe UI", serif;
     font-size: 35px;
     margin-bottom: -58px;
     margin-left: -7px;
 }

 .brand-name {
     margin-left: 78px;
     font-family: "Segoe UI", serif;
     font-size: 52px;
     line-height: .8;
     letter-spacing: .5px;
 }

 .brand-name small {
     display: block;
     font-family: "Segoe UI", serif;
     font-size: 22px;
     letter-spacing: 2px;
     margin-top: 8px;
     margin-left: 17px;
 }

 .brand-tag {
     margin-top: 18px;
     margin-left: 18px;
     font-size: 10px;
     letter-spacing: 2px;
     font-weight: 500;
 }

 .left-bottom {
     position: absolute;
     z-index: 12;
     left: 31%;
     bottom: 46px;
     max-width: 260px;
 }

 .left-bottom .ornament {
     color: #d9aa5a;
     font-size: 50px;
     line-height: .7;
     margin-bottom: 20px
 }

 .left-bottom p {
     font-family: "Segoe UI", serif;
     font-size: 22px;
     line-height: 1.05;
     margin-bottom: 15px
 }

 .left-bottom .rule {
     width: 155px;
     height: 1px;
     background: #d9aa5a;
     position: relative
 }

 .left-bottom .rule::after {
     content: "";
     position: absolute;
     right: -3px;
     top: -4px;
     width: 8px;
     height: 8px;
     border-radius: 50%;
     background: #d9aa5a;
 }

 /* RIGHT */
 .right {
     width: 44%;
     height: 100%;
     background: var(--cream);
     display: flex;
     align-items: center;
     justify-content: center;
     position: relative;
     z-index: 4;
     padding: 40px 5vw 35px 1.5vw;
 }

 .login-card {
     width: min(100%, 600px);
     padding: 25px 20px 10px
 }

 .flower {
     color: var(--gold);
     text-align: center;
     line-height: 1;
     margin-bottom: 8px
 }

 h1 {
     text-align: center;
     font-family: "Segoe UI", serif;
     font-size: 52px;
     line-height: 1;
     font-weight: 600;
     color: var(--brown)
 }

 .subtitle {
     text-align: center;
     color: var(--muted);
     font-size: 14px;
     margin-top: 11px
 }

 .header-rule {
     width: 230px;
     height: 1px;
     background: #d9c8ac;
     margin: 20px auto 20px;
     position: relative
 }

 .header-rule::before,
 .header-rule::after {
     content: "✦";
     position: absolute;
     top: 50%;
     transform: translateY(-50%);
     color: var(--gold);
     font-size: 17px;
     background: var(--cream);
     padding: 0 8px
 }

 .header-rule::before {
     left: -20px
 }

 .header-rule::after {
     right: -20px
 }

 .form-group {
     margin-bottom: 8px
 }

 label {
     display: block;
     font-size: 14px;
     font-weight: 500;
     margin-bottom: 9px;
     color: #292621
 }

 .input-wrap {
     position: relative
 }

 .input-wrap>.icn {
     position: absolute;
     left: 18px;
     top: 50%;
     transform: translateY(-50%);
     color: #7b7a74;
     font-size: 17px
 }

 input {
     width: 100%;
     height: 56px;
     border: 1px solid #cec5b6;
     border-radius: 7px;
     background: rgba(255, 255, 255, .78);
     outline: none;
     padding: 0 50px;
     font-family: Montserrat, sans-serif;
     font-size: 14px;
     color: #28251f;
     transition: .2s
 }

 input:focus {
     border-color: var(--sage-dark);
     box-shadow: 0 0 0 3px rgba(125, 137, 95, .10)
 }

 input::placeholder {
     color: #a29e96
 }

 .eye {
     position: absolute;
     right: 18px;
     top: 50%;
     transform: translateY(-50%);
     border: 0;
     background: none;
     color: #55534f;
     cursor: pointer;
     font-size: 16px
 }

 .captcha-row {
     display: grid;
     grid-template-columns: 1fr 146px 48px;
     gap: 10px;
 }

 .captcha-box {
     height: 56px;
     border: 1px solid #cec5b6;
     border-radius: 7px;
     background: #f8f5ea;
     display: flex;
     align-items: center;
     justify-content: center;
     letter-spacing: 6px;
     font-family: "Segoe UI", serif;
     font-size: 27px;
     font-weight: 600;
     color: #72774f;
     text-decoration: line-through;
     text-decoration-color: #bba979;
     user-select: none
 }

 #captchaImg {
     height: 56px;
 }

 .refresh {
     height: 56px;
     border: 1px solid #cec5b6;
     border-radius: 7px;
     background: #fffdf8;
     color: #57564f;
     cursor: pointer;
     font-size: 17px;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .refresh:hover {
     background: #eee8d9
 }

 .forgot {
     text-align: right;
     margin-bottom: 10px
 }

 .forgot a {
     color: #78502f;
     font-size: 13px;
     text-decoration: none
 }

 .forgot a:hover {
     text-decoration: underline
 }

 .sign-in {
     width: 100%;
     height: 57px;
     border: 0;
     border-radius: 8px;
     background: var(--sage-dark);
     color: #fff;
     font-family: Montserrat, sans-serif;
     font-size: 14px;
     font-weight: 600;
     letter-spacing: 2px;
     cursor: pointer;
     transition: .25s;
     box-shadow: 0 5px 14px rgba(70, 77, 50, .15);
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .sign-in:hover {
     background: var(--brown);
     transform: translateY(-1px)
 }

 .footer {
     text-align: center;
     color: #888278;
     font-size: 11px;
     position: relative;
     padding-top: 15px;
 }

 .dev-footer {
     text-align: center;
     color: #888278;
     font-size: 11px;
     position: relative;
 }



 .footer .diamond {
     color: var(--gold);
     position: absolute;
     top: 17px;
     left: 50%;
     transform: translateX(-50%);
     background: var(--cream);
     padding: 0 8px;
     font-size: 15px
 }

 /* RESPONSIVE */
 @media(max-width:1050px) {
     .left {
         width: 51%
     }

     .right {
         width: 49%;
         padding-right: 35px
     }

     .brand {
         left: 35px
     }

     .brand-name {
         font-size: 44px
     }

     .captcha-row {
         grid-template-columns: 1fr 170px 45px
     }
 }

 @media(max-width:760px) {
     body {
         overflow: auto
     }

     .login-page {
         height: auto;
         min-height: 100vh
     }

     .left {
         display: none
     }

     .right {
         width: 100%;
         min-height: 100vh;
         padding: 30px 20px
     }

     .login-card {
         max-width: 520px
     }

     h1 {
         font-size: 45px
     }
 }

 @media(max-width:480px) {
     .captcha-row {
         grid-template-columns: 1fr 130px 42px
     }

     .captcha-box {
         font-size: 21px;
         letter-spacing: 3px
     }

     .footer::before,
     .footer::after {
         width: 45px
     }
 }