.case-access{margin:64px 0 48px;padding:clamp(28px,6vw,72px);border:1px solid #e1e5eb;border-radius:24px;background:linear-gradient(125deg,#f5f8fc 0%,#fafafa 55%,#fff 100%);text-align:center;box-sizing:border-box}
.case-access *{box-sizing:border-box}.case-access[hidden],.private-gallery[hidden]{display:none!important}
.case-access__icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 20px;border:1px solid #dce3ed;border-radius:16px;background:#fff;color:#526b8b}
.case-access__eyebrow{font-size:11px!important;letter-spacing:2px;text-transform:uppercase;color:#64748b;margin:0 0 14px!important}
.case-access h2{font-size:clamp(25px,3vw,36px)!important;line-height:1.2!important;letter-spacing:-1px;font-weight:600!important;color:#15171b;margin:0 0 16px!important}
.case-access__copy{max-width:440px;margin:0 auto 28px!important;color:#67707d;font-size:15px!important;line-height:1.65!important}
.case-access__form{max-width:460px;margin:0 auto;text-align:left}.case-access__form label{display:block;font-size:12px;color:#535d6a;margin-bottom:8px}
.case-access__row{display:flex;gap:10px}.case-access__input-wrap{position:relative;flex:1;min-width:0}.case-access input{display:block;width:100%;height:52px;padding:0 64px 0 16px;border:1px solid #cfd6df;border-radius:10px;background:#fff;color:#17191e;font-size:16px;outline:none}.case-access input:focus{border-color:#6887ad;box-shadow:0 0 0 3px #6887ad20}
.case-access button{cursor:pointer;font:inherit}.case-access__toggle{position:absolute;right:8px;top:8px;height:36px;padding:0 8px;border:0;background:transparent;color:#657186;font-size:12px!important}.case-access__submit{display:flex;align-items:center;justify-content:center;gap:14px;height:52px;padding:0 22px;border:0;border-radius:10px;background:#17191e;color:white;font-size:14px!important;white-space:nowrap}.case-access__submit:hover{background:#334155}.case-access__submit:disabled{opacity:.55;cursor:wait}
.case-access__error{min-height:20px;margin:10px 0 0!important;color:#b42318;font-size:13px!important;line-height:1.5}.case-access__contact{margin:18px 0 0!important;font-size:12px!important;color:#7a8390}.case-access__contact a{color:#465c78;text-decoration:underline;text-underline-offset:3px}.case-access__footnote{margin:28px 0 0!important;font-size:10px!important;color:#8793a3;letter-spacing:1.3px;text-transform:uppercase}
.private-gallery{margin:48px 0}.private-gallery__toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-top:1px solid #e4e7eb;color:#657186;font-size:12px}.private-gallery__toolbar button{border:1px solid #dbe0e8;border-radius:8px;padding:9px 14px;background:white;color:#334155;cursor:pointer;font:inherit}
.private-gallery figure{margin:0;padding:0}.private-gallery__image-button{display:block;width:100%;padding:0;border:0;margin:0;background:transparent;cursor:zoom-in}.private-gallery img{display:block;width:100%!important;height:auto!important;padding:0!important;max-width:100%;border:0}.private-gallery figcaption{padding:8px 0 18px;text-align:right;color:#8892a0;font-size:10px;letter-spacing:1px}
.case-viewer{padding:0;border:0;border-radius:10px;width:min(95vw,1800px);max-width:95vw;max-height:94vh;background:#fff}.case-viewer::backdrop{background:#101827d9}.case-viewer img{display:block;width:100%;height:auto}.case-viewer__close{position:sticky;top:12px;float:right;margin:12px 12px -48px 0;z-index:1;width:36px;height:36px;border:1px solid #d9dfe6;border-radius:50%;background:white;color:#1f2937;font-size:23px;cursor:pointer;box-shadow:0 3px 15px #0002}
@media(max-width:520px){.case-access{margin:36px 0;border-radius:18px;padding:32px 20px}.case-access__row{flex-direction:column}.case-access__submit{width:100%}.case-access__copy{font-size:14px!important}.private-gallery__toolbar{align-items:center;font-size:11px}}
