/* Branded front-end account experience */
body.is-account-page { background: var(--color-cream); }
.site-main.account-page { min-height: 0; overflow: hidden; }
.account-page { background: var(--color-cream); padding: clamp(28px, 5vw, 54px) 0; }
.account-shell { background: #fff; border: 1px solid var(--color-line); border-radius: 28px; box-shadow: 0 24px 70px rgba(3, 31, 57, 0.12); display: grid; grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr); isolation: isolate; margin: 0 auto; max-width: 1080px; min-height: min(560px, calc(100vh - 190px)); overflow: hidden; width: 100%; }
.account-intro { background: var(--color-navy); color: #d7e4ef; overflow: hidden; padding: clamp(30px, 4vw, 50px); position: relative; }
.account-intro__content { position: relative; z-index: 1; }
.account-intro__shape { border: 68px solid rgba(238, 97, 35, 0.9); border-radius: 50%; height: 270px; position: absolute; right: -155px; top: -135px; width: 270px; }
.account-intro h1 { color: #fff; font-size: clamp(2.25rem, 4vw, 3.65rem); margin-bottom: 19px; }
.account-intro > .account-intro__content > p:not(.eyebrow) { color: #c9d8e7; font-size: 1rem; max-width: 360px; }
.account-intro .eyebrow { color: #ffb38e; }
.account-intro__list { align-items: flex-start; flex-direction: column; gap: 14px; margin-top: 36px; }
.account-intro__list li { color: #e0eaf3; }
.account-intro__list svg { color: #75e4bd; }
.account-intro__security { align-items: center; border-top: 1px solid rgba(255, 255, 255, 0.15); color: #9fb4c9; display: flex; font-size: 0.75rem; gap: 8px; margin-top: 54px; padding-top: 19px; }
.account-intro__security svg { color: #ffb38e; height: 16px; width: 16px; }
.account-card { align-self: center; padding: clamp(32px, 6vw, 70px); }
.account-form__heading { margin-bottom: 30px; }
.account-form__heading h2 { font-size: clamp(1.8rem, 3vw, 2.55rem); margin-bottom: 11px; }
.account-form__heading > p:last-child { font-size: 0.92rem; margin-bottom: 0; }
.account-form__row { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.account-field { margin-bottom: 19px; }
.account-field label { color: var(--color-ink); display: block; font-size: 0.79rem; font-weight: 750; margin-bottom: 7px; }
.account-field label span { color: var(--color-muted); font-size: 0.72rem; font-weight: 500; }
.account-field input[type="text"],
.account-field input[type="email"],
.account-field input[type="password"] { appearance: none; background: #fff; border: 1px solid #cbd5e1; border-radius: 9px; color: var(--color-ink); display: block; font-size: 0.95rem; min-height: 51px; padding: 12px 13px; transition: border-color 160ms ease, box-shadow 160ms ease; width: 100%; }
.account-field input:-webkit-autofill,
.account-field input:-webkit-autofill:hover,
.account-field input:-webkit-autofill:focus { -webkit-box-shadow: 0 0 0 1000px #fff inset; -webkit-text-fill-color: var(--color-ink); }
.account-field input[type="text"]:focus,
.account-field input[type="email"]:focus,
.account-field input[type="password"]:focus { border-color: var(--color-accent); box-shadow: 0 0 0 4px rgba(0, 102, 255, 0.11); outline: 0; }
.account-field__label-row { align-items: center; display: flex; justify-content: space-between; }
.account-field__label-row label { margin-bottom: 7px; }
.account-field__label-row a { font-size: 0.73rem; font-weight: 650; text-decoration: none; }
.account-remember { align-items: center; color: var(--color-body); display: flex; font-size: 0.78rem; gap: 7px; margin: 2px 0 23px; }
.account-remember input { accent-color: var(--color-accent); height: 16px; margin: 0; width: 16px; }
.account-form__submit { border: 0; min-height: 53px; width: 100%; }
.account-form__fine-print { color: var(--color-muted); font-size: 0.8rem; margin: 24px 0 0; text-align: center; }
.account-form__fine-print a { font-weight: 700; overflow-wrap: anywhere; text-decoration: none; }
.account-card, .account-intro { min-width: 0; }
.account-card a, .account-field__label-row a { text-decoration-thickness: 1px; }
.account-message { border-radius: 9px; font-size: 0.82rem; margin-bottom: 22px; padding: 12px 14px; }
.account-message p:last-child { margin-bottom: 0; }
.account-message--error { background: #fff1ec; border: 1px solid #ffd0bf; color: #8a3517; }
.account-message--success { background: var(--color-mint); border: 1px solid #bde9da; color: #14634e; }
.linkly-captcha { margin: 0 0 20px; }
.linkly-captcha label { color: var(--color-ink); display: block; font-size: 0.79rem; font-weight: 750; margin-bottom: 7px; }
.linkly-captcha input { background: #fff; border: 1px solid #cbd5e1; border-radius: 9px; color: var(--color-ink); min-height: 49px; padding: 11px 13px; width: 100%; }
.linkly-captcha input:focus { border-color: var(--color-accent); box-shadow: 0 0 0 4px rgba(0, 102, 255, 0.11); outline: 0; }
.cf-turnstile { margin-bottom: 20px; }

@media (hover: hover) {
	.account-form__submit:hover { transform: translateY(-2px); }
}

@media (min-width: 821px) and (max-height: 760px) {
	.account-page { padding: 22px 0 30px; }
	.account-shell { min-height: 0; }
	.account-intro { padding: 30px 40px; }
	.account-intro h1 { font-size: clamp(2.1rem, 3.5vw, 3.1rem); }
	.account-intro__list { gap: 10px; margin-top: 24px; }
	.account-card { padding: 30px 44px; }
	.account-intro__security { margin-top: 24px; }
	.account-form__heading { margin-bottom: 22px; }
	.account-form__heading h2 { font-size: 2rem; }
	.account-field { margin-bottom: 14px; }
	.account-form__fine-print { margin-top: 17px; }
}

@media (max-width: 820px) {
	.account-shell { grid-template-columns: minmax(0, 1fr); max-width: 620px; }
	.account-intro { min-height: 0; padding: 42px 34px 38px; }
	.account-intro__security { margin-top: 30px; }
	.account-card { padding: 40px 34px 45px; }
}

@media (max-width: 480px) {
	.account-page { padding: 25px 0 38px; }
	.account-shell { border-radius: 20px; }
	.account-intro { padding: 34px 23px 31px; }
	.account-intro h1 { font-size: 2.35rem; }
	.account-card { padding: 32px 21px 36px; }
	.account-form__row { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.account-field input[type="text"],
	.account-field input[type="email"],
	.account-field input[type="password"] { font-size: 16px; }
}
