.hh24-register-wrap { width:min(920px,calc(100% - 32px)); margin:70px auto 110px; color:#555; font-size:16px; }
.hh24-register-wrap > header { max-width:760px; margin:0 auto 34px; text-align:center; }
.hh24-register-wrap h1 { margin:8px 0 14px; color:#000; font:500 clamp(44px,7vw,76px)/1.05 "Playfair Display Variable",Georgia,serif; letter-spacing:-.04em; }
.hh24-register-wrap > header > p:last-child { margin:0; font-size:18px; }
.hh24-register-form { overflow:hidden; border:1px solid #e7e3e1; border-radius:28px; background:#fff; box-shadow:0 24px 80px rgba(0,0,0,.08); }
.hh24-onboarding-progress { display:grid; grid-template-columns:repeat(3,1fr); margin:0; padding:0; list-style:none; background:#fef4f3; counter-reset:step; }
.hh24-onboarding-progress li { position:relative; padding:18px; color:#555; font-size:13px; font-weight:650; text-align:center; }
.hh24-onboarding-progress li::before { display:inline-grid; width:26px; height:26px; place-items:center; margin-right:8px; border:1px solid #d6b471; border-radius:50%; content:counter(step); counter-increment:step; }
.hh24-onboarding-progress li.is-active,.hh24-onboarding-progress li.is-complete { background:#000; color:#fff; }
.hh24-onboarding-progress li.is-complete::before { content:"✓"; }
.hh24-register-form fieldset { margin:0; padding:42px 46px 46px; border:0; }
.hh24-register-form legend { width:100%; margin:0 0 26px; padding:0; color:#000; font:500 32px/1.2 "Playfair Display Variable",Georgia,serif; text-align:center; }
.hh24-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.hh24-form-grid label,.hh24-field-label { display:grid; gap:7px; color:#222; font-size:14px; font-weight:600; }
.hh24-form-grid .is-wide { grid-column:1/-1; }
.hh24-form-grid input { width:100%; min-height:52px; padding:12px 14px; border:1px solid #d9d5d2; border-radius:12px; background:#fff; color:#111; font:16px/1.4 inherit; }
.hh24-form-grid input:focus { border-color:#000; outline:3px solid rgba(0,0,0,.2); }
.hh24-form-grid small { color:#555; font-weight:400; }
.hh24-style-choice { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:8px; }
.hh24-style-choice label { cursor:pointer; }
.hh24-style-choice input { position:absolute; opacity:0; }
.hh24-style-choice span { display:grid; min-height:92px; place-content:center; padding:12px; border:1px solid #ddd7d3; border-radius:14px; background:#fff; color:#111; text-align:center; }
.hh24-style-choice small { display:block; margin-top:4px; font-size:11px; }
.hh24-style-choice input:checked + span { border-color:#000; background:#000; color:#fff; box-shadow:0 0 0 3px #d6b471; }
.hh24-onboarding-actions { display:flex; justify-content:flex-end; gap:12px; margin-top:30px; }
.hh24-onboarding-actions button,.hh24-register-card .hh24-primary-button { display:inline-flex; min-height:50px; align-items:center; justify-content:center; gap:12px; padding:12px 22px; border:1px solid #000; border-radius:999px; background:#000; color:#fff; font:650 15px/1 inherit; text-decoration:none; cursor:pointer; }
.hh24-onboarding-actions button:hover { border-color:#d6b471; background:#d6b471; color:#000; }
.hh24-onboarding-actions button.is-secondary { background:#fff; color:#000; }
.hh24-onboarding-summary { max-width:640px; margin:auto; text-align:center; }
.hh24-onboarding-summary > i { color:#f78f82; font-size:34px; }
.hh24-onboarding-summary h2 { margin:12px 0; color:#000; font:500 34px/1.2 "Playfair Display Variable",Georgia,serif; }
.hh24-check-list { display:grid; gap:12px; max-width:680px; margin:28px auto 0; }
.hh24-check-list label { display:flex; align-items:flex-start; gap:10px; padding:13px 15px; border-radius:12px; background:#fef4f3; color:#333; }
.hh24-check-list input { width:20px; height:20px; flex:0 0 auto; margin-top:2px; }
.hh24-check-list a,.hh24-register-login a { color:#000; font-weight:650; text-underline-offset:3px; }
.hh24-register-login { margin:18px 0 0; text-align:center; }
.hh24-form-errors { margin:0 0 20px; padding:16px 20px; border-left:4px solid #b42318; background:#fff3f2; color:#7a271a; }
.hh24-form-errors ul { margin:7px 0 0; }
.hh24-honeypot { position:absolute!important; left:-10000px!important; }
.hh24-register-card { max-width:680px; margin:80px auto; padding:50px; border-radius:24px; background:#fff; box-shadow:0 24px 70px rgba(0,0,0,.08); text-align:center; }
@media(max-width:700px){.hh24-register-wrap{margin-top:38px}.hh24-register-form fieldset{padding:30px 20px 34px}.hh24-form-grid,.hh24-style-choice{grid-template-columns:1fr}.hh24-style-choice{grid-template-columns:1fr 1fr}.hh24-onboarding-progress li{padding:13px 5px;font-size:11px}.hh24-onboarding-progress li::before{display:grid;margin:0 auto 4px}.hh24-onboarding-actions{flex-direction:column-reverse}.hh24-onboarding-actions button{width:100%}}

/* Frontend onboarding and authentication */
.hh24-account-page { padding:0; background:#fff; }
.hh24-account-article { margin:0; }
.hh24-onboarding-page { width:min(1380px,calc(100% - 64px)); margin-inline:auto; padding:74px 0 120px; }
.hh24-register-intro { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr); gap:58px; align-items:center; padding:56px; border:1px solid #e7e3e1; border-radius:32px; background:linear-gradient(135deg,#fff 0 58%,#fef4f3 58%); }
.hh24-eyebrow { margin:0 0 14px; color:#000; font-size:14px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.hh24-register-intro h1 { max-width:760px; margin:0; color:#000; font:500 clamp(46px,5.3vw,76px)/1.06 "Playfair Display Variable",Georgia,serif; letter-spacing:-.04em; }
.hh24-register-intro > div > p:not(.hh24-eyebrow) { max-width:760px; margin:24px 0 0; color:#4d4846; font-size:19px; line-height:1.65; }
.hh24-register-intro ul,.hh24-auth-story ul { display:grid; gap:13px; margin:28px 0 0; padding:0; list-style:none; }
.hh24-register-intro li,.hh24-auth-story li { display:flex; gap:11px; align-items:flex-start; color:#252322; font-size:16px; }
.hh24-register-intro li i,.hh24-auth-story li i { display:grid; width:24px; height:24px; flex:0 0 24px; place-items:center; border-radius:50%; background:#fef4f3; color:#000; font-size:11px; }
.hh24-register-intro aside { padding:42px; border-radius:26px; background:#111; color:#fff; box-shadow:0 24px 70px rgba(0,0,0,.14); }
.hh24-register-intro aside .hh24-eyebrow { color:#f3bbb4; }
.hh24-register-intro aside strong { display:block; color:#fff; font:500 34px/1.2 "Playfair Display Variable",Georgia,serif; }
.hh24-register-intro aside > p:not(.hh24-eyebrow) { margin:20px 0; color:#e8e3e0; font-size:16px; line-height:1.65; }
.hh24-register-intro aside > div { display:flex; flex-wrap:wrap; gap:10px; }
.hh24-register-intro aside span { padding:9px 12px; border:1px solid rgba(255,255,255,.22); border-radius:999px; color:#fff; font-size:13px; }
.hh24-register-wrap { width:min(960px,100%); margin:84px auto 110px; }
.hh24-register-wrap > header h2 { margin:8px 0 14px; color:#000; font:500 clamp(40px,5.2vw,64px)/1.08 "Playfair Display Variable",Georgia,serif; letter-spacing:-.035em; }
.hh24-register-assurance { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 24px; margin:20px 0 0; }
.hh24-register-assurance span { color:#444; font-size:14px; }
.hh24-register-assurance i { margin-right:6px; color:#000; }
.hh24-register-benefits,.hh24-register-faq { width:min(1180px,100%); margin:0 auto 110px; }
.hh24-register-benefits > header { max-width:760px; margin:0 auto 42px; text-align:center; }
.hh24-register-benefits h2,.hh24-register-reassurance h2,.hh24-register-faq h2 { margin:5px 0 15px; color:#000; font:500 clamp(38px,4.5vw,58px)/1.1 "Playfair Display Variable",Georgia,serif; letter-spacing:-.035em; }
.hh24-register-benefits > header > p:last-child { color:#555; font-size:18px; }
.hh24-register-benefits > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.hh24-register-benefits article { padding:30px; border:1px solid #e7e3e1; border-radius:22px; background:#fff; box-shadow:0 16px 42px rgba(0,0,0,.05); }
.hh24-register-benefits article > i { display:grid; width:48px; height:48px; place-items:center; border-radius:14px; background:#fef4f3; color:#000; font-size:19px; }
.hh24-register-benefits h3 { margin:20px 0 9px; color:#000; font:500 25px/1.2 "Playfair Display Variable",Georgia,serif; }
.hh24-register-benefits article p { margin:0; color:#555; font-size:16px; line-height:1.6; }
.hh24-register-reassurance { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:50px; align-items:center; width:min(1180px,100%); margin:0 auto 110px; padding:48px; border-radius:28px; background:#fef4f3; }
.hh24-register-reassurance p:not(.hh24-eyebrow) { margin:0; color:#4d4846; font-size:17px; line-height:1.65; }
.hh24-register-reassurance ul { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0; padding:0; list-style:none; }
.hh24-register-reassurance li { display:grid; gap:3px; padding:20px; border:1px solid rgba(0,0,0,.08); border-radius:18px; background:#fff; }
.hh24-register-reassurance strong { color:#000; font-size:21px; }
.hh24-register-reassurance span { color:#555; font-size:14px; }
.hh24-register-faq { max-width:900px; }
.hh24-register-faq > .hh24-eyebrow,.hh24-register-faq > h2 { text-align:center; }
.hh24-register-faq details { margin-top:12px; border:1px solid #e7e3e1; border-radius:16px; background:#fff; }
.hh24-register-faq summary { padding:19px 22px; color:#111; font-size:17px; font-weight:650; cursor:pointer; }
.hh24-register-faq details p { margin:0; padding:0 22px 21px; color:#555; font-size:16px; line-height:1.65; }

.hh24-auth-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(380px,.78fr); width:min(1120px,calc(100% - 64px)); margin:76px auto 120px; overflow:hidden; border:1px solid #e7e3e1; border-radius:30px; background:#fff; box-shadow:0 26px 85px rgba(0,0,0,.09); }
.hh24-auth-story { padding:66px 58px; background:#111; color:#fff; }
.hh24-auth-story .hh24-eyebrow { color:#f3bbb4; }
.hh24-auth-story h1 { margin:0; color:#fff; font:500 clamp(48px,5vw,72px)/1.04 "Playfair Display Variable",Georgia,serif; letter-spacing:-.04em; }
.hh24-auth-story > p:not(.hh24-eyebrow) { max-width:570px; margin:22px 0 0; color:#e8e3e0; font-size:18px; line-height:1.65; }
.hh24-auth-story li { color:#fff; }
.hh24-auth-story li i { background:#f78f82; color:#111; }
.hh24-auth-story small { display:block; margin-top:34px; color:#d9d3d0; font-size:13px; }
.hh24-auth-card { padding:58px 48px; background:#fff; }
.hh24-auth-card h1,.hh24-auth-card h2 { margin:0 0 16px; color:#000; font:500 clamp(36px,4vw,50px)/1.12 "Playfair Display Variable",Georgia,serif; letter-spacing:-.035em; }
.hh24-auth-card > p { color:#555; font-size:16px; line-height:1.6; }
.hh24-auth-card form { display:grid; gap:18px; margin-top:28px; }
.hh24-auth-card form > label { display:grid; gap:7px; color:#222; font-size:14px; font-weight:650; }
.hh24-auth-card input[type="email"],.hh24-auth-card input[type="password"] { width:100%; min-height:54px; padding:12px 14px; border:1px solid #d4cfcc; border-radius:12px; background:#fff; color:#111; font-size:16px; }
.hh24-auth-card input:focus { border-color:#000; outline:3px solid rgba(0,0,0,.15); }
.hh24-auth-options { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; align-items:center; }
.hh24-auth-options label { display:flex; gap:8px; align-items:center; color:#444; font-size:14px; }
.hh24-auth-card a { color:#000; font-weight:650; text-underline-offset:3px; }
.hh24-auth-card button,.hh24-auth-card .hh24-primary-button { display:inline-flex; min-height:52px; align-items:center; justify-content:center; gap:11px; padding:12px 22px; border:1px solid #000; border-radius:999px; background:#000; color:#fff; font-size:16px; font-weight:650; text-decoration:none; cursor:pointer; }
.hh24-auth-card button:hover,.hh24-auth-card button:focus-visible { border-color:#f78f82; background:#f78f82; color:#000; }
.hh24-form-success { padding:15px 17px; border-left:4px solid #28663e; border-radius:8px; background:#edf8f0; color:#174d2a!important; }
.hh24-auth-simple { width:min(620px,calc(100% - 40px)); margin:76px auto 120px; border:1px solid #e7e3e1; border-radius:28px; background:#fff; box-shadow:0 24px 80px rgba(0,0,0,.08); }
.hh24-auth-simple .hh24-auth-card { padding:54px; }

@media(max-width:900px){.hh24-onboarding-page{width:min(100% - 40px,760px);padding-top:45px}.hh24-register-intro,.hh24-auth-layout,.hh24-register-reassurance{grid-template-columns:1fr}.hh24-register-intro{padding:38px;background:#fff}.hh24-register-benefits>div{grid-template-columns:1fr 1fr}.hh24-auth-layout{width:min(100% - 40px,760px)}.hh24-auth-story{padding:48px 40px}.hh24-auth-card{padding:45px 38px}}
@media(max-width:620px){.hh24-onboarding-page{width:100%;padding:28px 16px 80px}.hh24-register-intro{padding:28px 22px;border-radius:22px}.hh24-register-intro aside{padding:28px 22px}.hh24-register-wrap{margin:58px auto 78px}.hh24-register-benefits,.hh24-register-faq{margin-bottom:78px}.hh24-register-benefits>div{grid-template-columns:1fr}.hh24-register-reassurance{padding:28px 20px;margin-bottom:78px}.hh24-register-reassurance ul{grid-template-columns:1fr}.hh24-auth-layout{width:calc(100% - 32px);margin:34px auto 80px;border-radius:22px}.hh24-auth-story,.hh24-auth-card,.hh24-auth-simple .hh24-auth-card{padding:34px 22px}.hh24-auth-simple{width:calc(100% - 32px);margin:34px auto 80px}.hh24-auth-options{align-items:flex-start;flex-direction:column}.hh24-register-intro h1{font-size:43px}}
